:root{color-scheme:dark;--cream:#f5edcc;--gold:#ebbd73;--muted:#b5c5a3;--serif:Georgia,'Times New Roman',serif;--shade:#17382e}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#18372e;color:var(--cream)}body{font:15px 'Segoe UI',system-ui,sans-serif;user-select:none}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-shell,.game-layout,.game{position:absolute;inset:0;width:100%;height:100%}.game{isolation:isolate;overflow:hidden}.game>#sky,.game>#scene,.vignette,.film-grain{position:absolute;inset:0;width:100%;height:100%;display:block}.vignette{z-index:1;pointer-events:none;background:linear-gradient(90deg,#102b24da 0%,#15392b77 31%,transparent 65%),linear-gradient(0deg,#102f2d99,transparent 30%,transparent 75%,#17392b22)}.film-grain{z-index:2;pointer-events:none;box-shadow:inset 0 0 160px #0d2f2838}.game-bar{position:absolute;top:26px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;z-index:4}.corner-brand{font:italic 25px var(--serif);color:#f1e6b988;letter-spacing:-3px}.corner-brand>span{font-size:9px;margin-left:8px;color:var(--gold)}.game-bar nav{display:flex;gap:16px;align-items:center}.hud-link,.connection{background:transparent;color:#dfdfbd;font-size:11px;border:0;padding:6px 0}.hud-link{display:none}.connection{display:flex;align-items:center;gap:7px;margin-right:10px}.connection i{width:5px;height:5px;background:#b1cf8a;border-radius:50%}.icon-button{background:#1c403037;border:1px solid #e1e7c235;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:18px;color:#e2e6c4}.icon-button:hover{background:#e6e7bf20}.world-heading,.game-top-right,.game-bottom{display:none}.welcome{position:absolute;z-index:4;left:8.5%;top:22%;color:var(--cream);width:430px;max-width:43%}.game-title{font:900 clamp(54px,7.6vw,130px)/.85 'Segoe UI',system-ui,sans-serif;letter-spacing:-8px;margin:0;text-shadow:0 5px 0 #183e2c,0 12px 25px #14392c33;transform:rotate(-4deg);transform-origin:left center;white-space:nowrap}.game-title>span{display:block;color:#efc17b;font:italic 900 1.05em/.95 var(--serif);letter-spacing:-8px;margin:0 0 0 45px;transform:rotate(3deg)}.title-star{position:absolute;left:81%;top:-26px;font-size:28px;color:#e4c38a;transform:rotate(12deg)}.title-caption{font-size:9px;font-weight:600;letter-spacing:3.4px;color:#d4d8b4;margin:21px 0 36px;padding-left:6px}.welcome-actions{display:flex;flex-direction:column;align-items:start;gap:8px;margin-left:-18px}.home-action{position:relative;border:0;background:transparent;text-align:left;font-size:clamp(20px,2vw,30px);font-weight:650;letter-spacing:-.7px;padding:4px 14px 5px 30px;min-width:240px;color:#dbe2bf;transition:color .15s,transform .15s;line-height:1.3;text-shadow:0 2px 8px #16392b55}.home-action>i{position:absolute;left:5px;top:0;font-size:37px;font-style:normal;opacity:0;line-height:1}.home-action:hover,.home-action:focus-visible,.home-action.selected{color:#f5ce89;transform:translateX(6px);outline:none}.home-action:focus-visible{outline:1px solid #efcb7955;outline-offset:2px;border-radius:5px}.home-action:hover>i,.home-action:focus-visible>i,.home-action.selected>i{opacity:1}.home-action.minor{font-size:17px;font-weight:400;color:#a6b69c;margin-top:8px}.home-action.minor>i{font-size:25px}.home-input-hint{display:flex;gap:8px;align-items:center;color:#abbf9e;font-size:9px;margin:27px 0 0 12px}.home-input-hint>span{margin:0 5px;color:#799f84}kbd{font-family:inherit;font-size:10px;display:inline-block;color:#d8dfb7;background:#c7d4a910;border:1px solid #d5dfb52e;border-radius:4px;padding:4px 7px;white-space:nowrap}.home-caption{position:absolute;bottom:49px;right:5.5%;z-index:4;text-align:right;color:#d5dfb8}.home-caption>span{font-size:9px;letter-spacing:2px;display:block}.home-caption>small{font-size:10px;color:#aabd9e;display:block;margin-top:10px}.version-mark{position:absolute;left:5%;bottom:26px;color:#b6c7a16b;letter-spacing:1.5px;font-size:7px;z-index:3}.playing .welcome,.playing .home-caption,.playing .version-mark,.playing .corner-brand{display:none}.playing .game-bar{left:auto;right:29px;top:22px}.playing .game-bar .hud-link{display:block}.playing .game-bar .connection{display:none}.playing .game-bar #fullBtn{display:none}.playing .game-bar nav{gap:10px}.playing .game-bar .icon-button{width:28px;height:28px;font-size:16px}.playing .vignette{background:linear-gradient(0deg,#12342c80,transparent 23%,transparent 78%,#16392a33)}.playing .world-heading{display:block;position:absolute;z-index:3;left:33px;top:25px;max-width:55%;text-shadow:0 2px 12px #173e2d4d}.chapter{font-size:8px;letter-spacing:2px;color:#dce2be8c}.chapter>span{color:#f0e5b9;margin-left:7px;font-size:9px;letter-spacing:1px}.world-heading h1{font:24px var(--serif);letter-spacing:-.3px;margin:9px 0 5px;font-weight:400;color:#f8f0d1}.world-heading p{font-size:10px;line-height:1.5;max-width:520px;color:#d5dfbbab;margin:0}.playing .game-top-right{display:flex;position:absolute;top:64px;right:32px;z-index:3;align-items:center;gap:12px}.run-clock{font-size:12px;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#eee4bf}.controller-state{font-size:7px;letter-spacing:1px;color:#d7dfb776}.game-top-right #pauseBtn{width:26px;height:26px;font-size:12px}.playing .game-bottom{display:flex;position:absolute;left:30px;right:30px;bottom:25px;justify-content:space-between;align-items:flex-end;pointer-events:none;z-index:3}.hand-status{display:flex;gap:17px;align-items:center;background:#183a2b72;border:1px solid #dce3b91f;border-radius:9px;padding:11px 14px;backdrop-filter:blur(8px)}.hand-status>div{display:flex;align-items:center;gap:10px}.hand-icon{font-size:18px;opacity:.8}.hand-icon.left{transform:scaleX(-1)}.hand-status p{font-size:7px;letter-spacing:1.1px;margin:0;color:#b9cba6}.hand-status strong{display:block;letter-spacing:0;font-size:11px;font-weight:500;color:#f6eac6;margin-top:5px}.hand-divider{height:27px;width:1px;background:#d7dfb926}.hand-status kbd{font-size:8px;min-width:23px;padding:4px 5px;text-align:center}.exit-hint{text-align:right}.exit-hint>span{font-size:7px;letter-spacing:1.5px;color:#b6c8a5}.exit-hint strong{display:block;font-size:12px;font-weight:400;margin-top:7px;color:#efe5c2}.exit-hint b{font-size:16px;color:#edc67d;margin-left:7px}.nameplate{position:absolute;z-index:3;transform:translate(-50%,-100%);color:#eee6bd;font-size:7px;font-weight:700;letter-spacing:1px;text-shadow:0 1px 5px #173a2a;pointer-events:none}.nameplate:before{content:'';display:block;width:5px;height:5px;transform:rotate(45deg);background:#eec885;margin:0 auto 7px}.catalog-open .world-heading,.catalog-open .game-bar,.catalog-open .game-top-right,.catalog-open .game-bottom,.catalog-open .welcome,.catalog-open .home-caption,.catalog-open .version-mark,.catalog-open #nameplates,.character-open .world-heading,.character-open .game-bar,.character-open .game-top-right,.character-open .game-bottom,.character-open .welcome,.character-open .home-caption,.character-open .version-mark,.character-open #nameplates{visibility:hidden}.catalog-open .vignette,.character-open .vignette{background:transparent}.overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#112e257a;backdrop-filter:blur(7px)}.overlay-card{width:420px;max-width:90%;padding:32px;text-align:center}.eyebrow{font-size:8px;letter-spacing:2px;font-weight:650;color:#c0cda2}.overlay-card h2{font:44px var(--serif);letter-spacing:-1px;margin:15px 0;color:#f5e7c5}.overlay-card>p{font-size:12px;line-height:1.8;color:#bcc9aa;margin:10px 0 20px}.menu-action{display:flex;align-items:center;justify-content:center;gap:20px;min-height:45px;width:100%;font-size:17px;font-weight:500;color:#ece7c6;background:#b6c18e0c;border:1px solid #dae2b732;border-radius:6px;margin-top:10px;padding:11px 16px;transition:background .15s,border-color .15s}.menu-action:hover,.menu-action:focus{background:#d8c58622;border-color:#d9bd7c;color:#f4cc87}.text-button{display:inline-block;border:0;background:none;font-size:12px;color:#bbcca6;padding:12px 5px;margin-top:12px}.text-button:hover{color:#f3ce87}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:44px;padding:12px 20px;border-radius:5px;font-size:14px;font-weight:650;transition:background .15s,transform .15s;border:1px solid transparent}.button.primary{background:#eabe79;color:#283e2b;border-color:#f1d29b;box-shadow:0 4px 18px #19362c22}.button.primary:hover{background:#f7d397;transform:translateY(-1px)}.button.secondary{background:#d8dfb40e;color:#e3dfb7;border-color:#c6d3a845}.finish-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0 15px;border-top:1px solid #d9dfb72a;border-bottom:1px solid #d9dfb72a;padding:18px 0}.finish-stats small{font-size:7px;letter-spacing:1.3px;color:#b5c59e;display:block}.finish-stats strong{font:30px var(--serif);margin-top:7px;display:block;font-variant-numeric:tabular-nums}.overlay-card .finish-record{font-size:11px;color:#e5c381;margin-bottom:22px}.toast{position:absolute;z-index:40;bottom:115px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;background:#1b3e31ed;border:1px solid #d1d5a64d;border-radius:7px;color:#ebe1b9;padding:13px 19px;box-shadow:0 5px 30px #15392b33;font-size:12px;transition:opacity .2s,transform .2s;max-width:85%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.level-transition{position:absolute;inset:0;z-index:45;background:#183a2f;color:#eee2b8;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:arrival .7s ease-out both;pointer-events:none}.level-transition>span{font:italic 56px var(--serif);color:#e9c68a}.level-transition h2{font:35px var(--serif);margin:17px 0 7px}.level-transition p{font-size:10px;letter-spacing:1px;color:#adbf9a}@keyframes arrival{0%,28%{opacity:1}100%{opacity:0}}dialog{color:var(--cream);border:0;padding:0;background:transparent}dialog::backdrop{background:#112f2577;backdrop-filter:blur(6px)}.close-dialog{width:34px;height:34px;flex:none;border-radius:50%;background:#173b2a30;border:1px solid #e1dfb64d;color:#e0dfb7;font-size:24px;line-height:1;display:grid;place-items:center}.close-dialog:hover{background:#d1dab526}.panel-dialog{width:500px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 60px);overflow:auto;padding:34px 38px;border:1px solid #b7c8993d;border-radius:10px;background:#193d30f5;box-shadow:0 30px 100px #102e2533;scrollbar-width:thin}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-heading h2{font:36px var(--serif);letter-spacing:-.7px;margin:10px 0 24px}.panel-note{font-size:10px;line-height:1.7;color:#a3bc98;margin:20px 0 0}.option-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;border-bottom:1px solid #a3bc8e26;font-size:13px;color:#d7dfb8}.option-row input[type=range]{width:150px;accent-color:#dfbd79}.option-row input[type=checkbox]{width:18px;height:18px;accent-color:#d7bf80}select{font-size:11px;color:#e4dfb5;border:1px solid #a9c18c4d;border-radius:5px;background:#224936;padding:7px 9px;max-width:170px}.panel-dialog>.menu-action{margin-top:25px;font-size:12px}.panel-dialog>.text-button{width:100%;text-align:center}.help-dialog{width:680px}.help-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.help-columns h3{font-size:13px;font-weight:600;color:#e5d9ae;margin:0 0 12px}.help-columns p{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#bbcda7;margin:0;border-bottom:1px solid #d1dbb31a;padding:12px 0}.help-columns kbd{font-size:9px;padding:4px}.layout-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#a9c096;margin:0 0 7px}.layout-row select{font-size:9px;padding:5px}.help-tip{font-size:11px;color:#c4cba6;line-height:1.8;border-top:1px solid #becb9d37;padding-top:18px;margin:25px 0 0}.room-intro{font-size:12px;color:#b8c7a4;line-height:1.8;margin:0 0 20px}.code-label{display:block;font-size:8px;letter-spacing:1.6px;color:#a7bd93;margin:25px 0 9px}.code-row{display:flex;align-items:stretch;gap:10px}.code-row input{min-width:0;width:100%;border:1px solid #c6d49d45;border-radius:5px;background:#13322588;color:#eee2b9;padding:11px;font-size:18px;letter-spacing:3px;user-select:text}.code-row .button{font-size:11px;padding:10px 14px;min-height:42px}.code-row #inviteLink{font-size:10px;letter-spacing:0}#roomStatus{font-size:11px;color:#e9c98e;min-height:10px}
@media(max-width:1100px){.welcome{top:21%;left:8%}.game-title{font-size:90px;letter-spacing:-6px}.game-title>span{letter-spacing:-6px;margin-left:33px}.title-caption{font-size:7px;letter-spacing:2.8px}.home-action{font-size:26px}.home-caption{right:6%;bottom:40px}.home-caption>span{font-size:7px;max-width:220px;line-height:1.8}.home-input-hint{font-size:8px;gap:6px}.game-bar{left:25px;right:25px;top:22px}.welcome-actions{gap:8px}}
@media(max-height:720px) and (min-width:701px){.welcome{top:17%}.game-title{font-size:84px}.title-caption{margin:16px 0 23px;font-size:7px}.home-action{font-size:23px;padding-top:2px;padding-bottom:3px}.welcome-actions{gap:6px}.home-input-hint{margin-top:18px}.home-action.minor{font-size:15px;margin-top:5px}.home-caption{bottom:31px}.version-mark{bottom:18px}.title-star{top:-15px;font-size:21px}}
@media(max-width:700px){.welcome{top:20%;left:7%;max-width:78%;width:350px}.game-title{font-size:78px;letter-spacing:-5px}.game-title>span{letter-spacing:-5px;margin-left:31px}.title-caption{font-size:7px;letter-spacing:2px;margin-bottom:30px}.home-action{font-size:25px;min-width:190px}.home-action.minor{font-size:16px}.home-input-hint{font-size:7px;gap:5px;margin-top:25px}.home-input-hint kbd{font-size:8px;padding:3px 4px}.home-caption{bottom:28px;right:6%;max-width:45%}.home-caption>span{font-size:6px;letter-spacing:1.3px;line-height:1.8}.home-caption>small{font-size:8px}.version-mark{font-size:5px;max-width:35%;line-height:1.7}.game-bar{left:21px;right:18px;top:18px}.game-bar nav{gap:9px}.corner-brand{font-size:22px}.icon-button{height:28px;width:28px;font-size:15px}.connection{font-size:9px;margin-right:3px}.playing .game-bar{right:17px;top:17px}.playing .game-bar #levelsBtn{font-size:9px}.playing .world-heading{left:18px;top:20px;max-width:57%}.chapter{font-size:6px;letter-spacing:1.3px}.chapter>span{font-size:7px;margin-left:4px}.world-heading h1{font-size:18px;margin:7px 0}.world-heading p{display:none}.playing .game-top-right{right:18px;top:56px;gap:8px}.controller-state{display:none}.playing .game-bottom{left:16px;right:16px;bottom:17px}.hand-status{padding:8px 10px;gap:10px}.hand-status>div{gap:6px}.hand-icon{display:none}.hand-status p{font-size:6px}.hand-status strong{font-size:10px}.hand-status kbd{font-size:7px;min-width:20px}.hand-divider{height:23px}.exit-hint{display:none}.panel-dialog{max-width:calc(100vw - 30px);padding:25px 22px;max-height:calc(100dvh - 32px)}.dialog-heading h2{font-size:30px}.option-row{font-size:12px}.option-row input[type=range]{width:125px}.help-columns{grid-template-columns:1fr;gap:25px}.help-columns p{font-size:11px}.toast{bottom:90px;font-size:11px}.overlay-card{padding:25px}.overlay-card h2{font-size:36px}.menu-action{font-size:15px}.title-star{left:74%;font-size:20px}.level-transition h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.level-transition{display:none!important}}

#nameplates{display:none}.playing #nameplates{display:block}
