@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(fonts/prata-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(fonts/prata-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/manrope-cyrillic-wght-normal.woff2) format("woff2-variations"),url(fonts/manrope-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/manrope-latin-wght-normal.woff2) format("woff2-variations"),url(fonts/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Manrope,Arial,sans-serif;color:#f2eddf;background:#142a35;font-synthesis:none;--gold:#efbe80;--muted:#aebfbd;--line:#b8ccc224;--surface:#14272dee;--teal:#9bddd3;--shadow:0 18px 60px #0005;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ffe0aa;outline-offset:5px}button svg{width:22px;height:22px;flex-shrink:0}button{transition:background .2s,transform .2s,color .2s}button:active:not(:disabled){transform:translateY(1px)}button span{white-space:nowrap}button:hover:not(:disabled){color:#fff}button.primary:hover:not(:disabled){background:#ffce90;color:#222e30}#app,#world,#ui,.vignette{position:fixed;top:0;right:0;bottom:0;left:0}#app{background:radial-gradient(ellipse at 60% 30%,#3a5861 0,#203c49 43%,#111f2b)}#world canvas{display:block;touch-action:none}#ui,.vignette{pointer-events:none}#ui button,#ui input,#ui a{pointer-events:auto}.vignette{background:linear-gradient(0deg,#0c1c28aa,transparent 22%),radial-gradient(ellipse at center,transparent 40%,#101d2566);z-index:1}#ui{z-index:2}svg{display:block}button{display:inline-flex;align-items:center;justify-content:center;gap:13px}header{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:800;letter-spacing:2px;line-height:1.6}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:3.8px;color:var(--gold)}.brand-mark{width:39px;height:43px;display:grid;place-items:center;color:var(--gold);border:1px solid #efbe8055;border-radius:11px}.brand-mark svg{width:24px;height:24px;transform:rotate(-12deg)}.edition{text-align:right;font-size:12px;letter-spacing:2.3px;color:#d7dfd4}.edition span{display:block;color:#a9b8b5;font-size:12px;letter-spacing:1.6px;margin-top:7px}.menu-screen{height:100%;padding:34px 4.2vw 25px;background:linear-gradient(90deg,#10232ef2 0,#10232ed6 18%,#10232e9f 32%,transparent 62%);display:flex;flex-direction:column}.menu-screen header{flex:none}.menu-body{margin:auto 0;max-width:510px;padding:30px 0}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--gold);display:block}.eyebrow i{display:inline-block;width:22px;height:1px;background:var(--gold);vertical-align:middle;margin-right:8px}h1{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-3px;font-size:clamp(56px,6.3vw,99px);line-height:.99;margin:24px 0 38px;color:#f7efdc;text-shadow:0 5px 22px #10212b66}h1 span{font-size:.93em}h1 em{display:block;font-family:Manrope,Arial,sans-serif;font-size:13px;letter-spacing:13px;font-weight:600;font-style:normal;color:var(--gold);margin-top:20px;margin-left:4px}.menu-actions{display:flex;align-items:flex-start;flex-direction:column;gap:4px}.primary{background:var(--gold);color:#243332;min-height:52px;padding:14px 24px;border-radius:7px;font-size:14px;font-weight:800;box-shadow:0 5px 22px #0e1d2140}.menu-primary{min-width:260px;min-height:60px;justify-content:flex-start;padding-left:24px;margin-bottom:10px}.menu-primary svg{margin-right:6px;fill:currentColor;stroke-width:1}.text-button{font-size:14px;font-weight:600;min-height:43px;padding:9px 4px;color:#c6d2cf;justify-content:flex-start}.text-button svg{width:19px;height:19px;color:#a7b4ae}.menu-players{display:flex;align-items:center;gap:14px;margin-top:30px;font-size:12px;color:#dce1d7;line-height:1.7}.menu-players small{display:block;color:#9caeaa;font-size:12px}.overlap-portraits{display:flex;padding-right:4px}.portrait{position:relative;overflow:hidden;width:50px;height:50px;border-radius:50%;background:linear-gradient(145deg,#90664a,#3f3534);border:1px solid #ffd8a95c;flex:none}.portrait img{position:absolute;max-width:none;width:390%;left:-52%;top:-8%}.portrait.p1{background:linear-gradient(145deg,#5f807b,#2c424a);border-color:#b9e5d466}.portrait.p1 img{left:-245%}.overlap-portraits .portrait{width:42px;height:42px}.overlap-portraits .portrait+.portrait{margin-left:-8px}.menu-screen footer{display:flex;justify-content:space-between;color:#9eaead;font-size:12px;letter-spacing:1.7px;flex:none}.menu-screen footer i{font-style:normal;padding:0 9px;color:#637b80}.menu-footer-right{font-size:12px;letter-spacing:2px}.island-caption{position:absolute;right:8%;bottom:18%;display:flex;align-items:center;gap:16px;text-shadow:0 1px 4px #0005}.island-caption>span{font-family:Georgia,serif;font-size:42px;color:#e5c191;border-right:1px solid #e5c19155;padding-right:16px}.island-caption>div{font-size:15px;font-weight:500;letter-spacing:.5px}.island-caption small{display:block;font-size:12px;font-weight:400;margin-top:6px;color:#d6ddd0}.game-screen{height:100%;padding:26px 32px}.game-screen header{gap:20px}.brand.compact{font-size:12px;letter-spacing:1.2px}.compact .brand-mark{width:33px;height:37px}.compact small{font-size:12px;letter-spacing:2.7px}.game-location{display:flex;align-items:center;gap:25px}.location-name{font-size:12px;letter-spacing:2px;border-left:1px solid #adbeb540;padding:12px 0 12px 25px;color:#bfcac3}.round{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;border-bottom:1px solid #e9d4a94a;padding:4px 17px 8px}.round span{font-size:12px;letter-spacing:2px;color:#c0c9bb}.round strong{font-family:Georgia,serif;font-weight:400;font-size:28px;color:#eed7b0}.toolbar{display:flex;gap:8px}.icon-button{width:42px;height:42px;border-radius:7px;background:#112831b3;border:1px solid #b8c5b626;color:#d1d8ce}.icon-button svg{width:19px;height:19px}.icon-button:hover{background:#335057}.players{position:absolute;top:104px;left:32px;display:flex;flex-direction:column;gap:10px;max-width:330px;width:25vw;min-width:265px}.player-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #b8c5b621;background:#112831cf;border-radius:9px;box-shadow:0 7px 25px #101d2433;transition:border-color .4s,background .4s}.player-card.active{border-color:#efbe8070;background:linear-gradient(110deg,#5d4e39d6,#142b32e8);box-shadow:inset 3px 0 #efbe80,0 7px 25px #101d2433}.player-card.active.player-1{border-color:#92d6cd80;background:linear-gradient(110deg,#355653d6,#142b32e8);box-shadow:inset 3px 0 #a0dcd2,0 7px 25px #101d2433}.player-details{min-width:0;flex:1}.player-label{font-size:12px;letter-spacing:1.3px;color:#b2c1ba;display:block;white-space:nowrap}.player-label b{color:var(--gold);font-size:12px;letter-spacing:1px;margin-left:8px}.player-1 .player-label b{color:var(--teal)}.player-details strong{display:block;font-size:14px;font-weight:700;margin-top:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player-track{margin-top:8px;height:2px;background:#c4d9c922;border-radius:2px;overflow:hidden}.player-track div{height:100%;background:var(--gold);transition:width .5s}.player-1 .player-track div{background:var(--teal)}.position{min-width:33px;text-align:center}.position strong{font-size:24px;font-family:Georgia,serif;font-weight:400;color:#f1d29f}.player-1 .position strong{color:#ade0d7}.position span{display:block;font-size:12px;color:#9ab0ad;margin-top:2px}.view-pill{position:absolute;top:93px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;font-size:12px;background:#18313d70;border:1px solid #bbcbbc15;border-radius:25px;padding:7px 13px;color:#d1d9cf}.view-pill svg{width:13px;height:13px}kbd{font-family:inherit;font-size:12px;color:#b6c3bc;background:#b6c3bc16;border:1px solid #bbcdc02a;border-radius:4px;padding:3px 6px;line-height:1.2}.bottom-hud{position:absolute;bottom:26px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;min-width:350px}.turn-status{display:flex;align-items:center;gap:8px;font-size:12px;color:#f1eddd;text-shadow:0 2px 8px #000}.turn-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px #efbe8077}.turn-dot.p1{background:var(--teal)}.roll-button{background:linear-gradient(140deg,#ffce8b,#deb178);color:#253333;min-height:64px;padding:15px 23px;border:1px solid #ffda9f;border-radius:9px;min-width:300px;box-shadow:0 8px 40px #060f2077,inset 0 1px #fff5;font-size:16px;font-weight:800;pointer-events:auto}.roll-button>svg{width:27px;height:27px}.roll-button kbd{margin-left:8px;color:#4d534a;background:#785b2220;border-color:#4d4c322a;font-size:12px;padding:5px 7px}.roll-button:hover:not(:disabled){color:#172522;background:#fbd29a;box-shadow:0 9px 42px #ebba6633}.roll-button:disabled{opacity:.82}.bottom-hint{font-size:12px;color:#b1c0bc;min-height:15px;white-space:nowrap}.bottom-left{position:absolute;bottom:35px;left:32px;font-size:12px;color:#b3c1bb;display:flex;flex-direction:column;gap:5px}.subtle-label{font-size:12px;letter-spacing:1.6px;color:#809996}.game-screen>[data-action=full]{position:absolute;right:32px;bottom:32px}.roll-result{position:absolute;left:50%;bottom:180px;transform:translate(-50%) translateY(10px);opacity:0;display:flex;align-items:center;gap:14px;padding:14px 22px;border-radius:10px;background:#102a32df;border:1px solid #dac79b3d;box-shadow:var(--shadow);transition:.3s}.roll-result.visible{opacity:1;transform:translate(-50%) translateY(0)}.die-face{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:46px;height:46px;padding:9px;background:#f4dfbd;border-radius:8px;box-shadow:0 3px #947f60;color:#3a332d}.die-face i{display:block;border-radius:50%}.die-face i.dot{background:currentColor}.plus{color:#d8b579;font-size:18px}.result-divider{width:1px;height:34px;background:#d8b57933;margin:0 3px}.total{display:flex;flex-direction:column;text-align:center;min-width:30px}.total strong{font-size:29px;font-family:Georgia,serif;font-weight:400;color:#f1cb8d}.total span{font-size:12px;letter-spacing:1px;color:#b8c7bd}.map-title{text-align:center}.map-title .eyebrow{font-size:12px;color:#c3cfc2;letter-spacing:2.7px;margin-bottom:6px}.map-title strong{font-size:14px;font-weight:600;letter-spacing:2px}.glass-button{min-height:42px;padding:10px 16px;font-size:13px;background:#102a34cc;border:1px solid #afc0b429;border-radius:7px}.glass-button svg{width:18px;height:18px}.explore-bottom{position:absolute;bottom:32px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.map-guide{display:flex;align-items:center;gap:13px;font-size:13px;text-shadow:0 1px 4px #000}.map-guide>svg{width:24px;height:24px;color:var(--gold)}.map-guide small{display:block;font-size:12px;color:#9fb4b0;margin-top:5px}.tile-info{position:absolute;bottom:178px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;background:#172f37f2;border:1px solid #b8cbc340;border-radius:9px;padding:16px 18px;pointer-events:auto;box-shadow:var(--shadow);max-width:90vw}.tile-info[hidden]{display:none}.tile-number{font-family:Georgia,serif;font-size:32px;color:var(--gold)}.tile-info strong{font-size:12px;display:block}.tile-info div>span{font-size:12px;color:#b0c2b9;display:block;margin-top:5px}.tile-info .icon-button{width:28px;height:28px;background:none;border:0}.game-dialog{background:linear-gradient(155deg,#213b42,#10272e);color:#f2eddf;border:1px solid #d9c6993d;border-radius:16px;padding:30px;width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-shadow:0 25px 120px #0008;overflow:auto}.game-dialog::backdrop{background:#091b28b8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-header .eyebrow{font-size:12px;letter-spacing:2.4px}.dialog-header h2{font-family:Georgia,serif;font-weight:400;font-size:32px;margin:9px 0 0}.dialog-header .icon-button{width:32px;height:32px;border:0;background:#ffffff07}.dialog-header .icon-button svg{width:17px;height:17px}.dialog-intro{font-size:13px;line-height:1.7;color:#aabfbb;max-width:400px;margin:15px 0 0}.character-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 20px}.character-choice{display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#8d624f4a,transparent 80%),#0c202751;border:1px solid #d6b77d42;border-radius:11px;padding:0 14px 15px;overflow:hidden}.choice-1{border-color:#7cbcaf48;background:radial-gradient(ellipse at 50% 40%,#5e8d893f,transparent 80%),#0c202751}.character-art{background-image:url(/assets/hero-acne.webp);background-size:200% 100%;background-repeat:no-repeat;aspect-ratio:3/4;width:100%;max-height:255px;background-position:left center}.art-1{background-position:right center}.character-number{font-size:12px;letter-spacing:2px;color:var(--gold);margin:8px 0 10px}.choice-1 .character-number{color:var(--teal)}.character-choice input{width:100%;min-width:0;background:#071e2866;border:1px solid #acbcac33;padding:10px 12px;color:#f5f0de;font-size:14px;border-radius:5px}.rules-note{display:flex;align-items:flex-start;gap:13px;margin:16px 0 24px;color:#a6bbb5}.rules-note>svg{width:21px;height:21px;flex:none;color:#e2b577;margin-top:2px}.rules-note p{margin:0;font-size:12px;line-height:1.8}.rules-note b{color:#d5dccd}.wide{width:100%}.settings-section{border-top:1px solid var(--line);margin-top:24px;padding-top:6px}.settings-section h3{font-size:12px;font-weight:600;letter-spacing:1.5px;color:#c6b795;margin:15px 0 12px;text-transform:uppercase}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;font-size:13px}.setting small{display:block;color:#8fa9a4;font-size:12px;margin-top:4px}.setting input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:37px;height:22px;border:1px solid #8eb6a93a;border-radius:20px;background:#071e26;position:relative;cursor:pointer;transition:.2s}.setting input[type=checkbox]:before{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:#74918e;border-radius:50%;transition:transform .2s}.setting input[type=checkbox]:checked{background:#e4b478;border-color:#e4b478}.setting input[type=checkbox]:checked:before{background:#213832;transform:translate(15px)}.range-setting{display:grid;grid-template-columns:1fr auto;gap:12px 20px;margin-bottom:15px}.range-setting input{grid-column:1/-1;width:100%;accent-color:var(--gold);height:4px;cursor:pointer}.range-setting output{color:var(--gold);font-size:12px}.setting select{background:#132c33;color:#e5e5d5;border:1px solid #a4bca83b;border-radius:5px;font-size:12px;padding:8px 10px}.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px}.settings-footer .text-button{font-size:12px}.settings-footer .primary{min-height:44px;padding:10px 20px;font-size:12px}.pause-dialog{width:380px}.pause-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:30px}.pause-actions .text-button{padding:10px 15px}.victory-dialog{text-align:center;width:430px;padding:38px}.victory-crown{margin:0 auto 20px;color:var(--gold);width:48px;height:48px}.victory-dialog .eyebrow{font-size:12px}.victory-dialog h2{font-family:Georgia,serif;font-weight:400;line-height:1.25;font-size:32px;margin:18px 0}.victory-dialog h2 em{color:var(--gold);font-style:normal}.victory-portrait .portrait{width:86px;height:86px;margin:20px auto}.victory-dialog p{color:#aec3b8;font-size:12px;line-height:1.8}.victory-actions{display:flex;align-items:center;flex-direction:column;gap:10px;margin-top:25px}#loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#172e38;transition:opacity .6s;color:var(--gold)}#loading.done{opacity:0;pointer-events:none}#loading p{font-size:12px;letter-spacing:1.5px}.loading-die{border:1px solid #edbd7677;width:65px;height:65px;border-radius:17px;display:grid;place-items:center;font-family:Georgia,serif;font-size:34px;transform:rotate(-8deg)}#loading p span{animation:pulse 1s infinite alternate}#toast{position:fixed;z-index:20;bottom:30px;left:50%;transform:translate(-50%,20px);background:#18343bf5;padding:14px 22px;border:1px solid #d1be8766;border-radius:8px;box-shadow:var(--shadow);font-size:12px;opacity:0;pointer-events:none;transition:.25s;max-width:90vw}#toast.shown{opacity:1;transform:translate(-50%)}#fatal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;background:#142a35;padding:10%;text-align:center}#fatal[hidden]{display:none}#fatal h1{font-size:36px;letter-spacing:0}#fatal p{font-size:16px;line-height:1.7}#fatal button{padding:15px 25px;background:var(--gold);color:#142a35;border-radius:7px;margin-top:20px}.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}@keyframes pulse{to{opacity:.3}}@media(min-width:1600px){.menu-body{padding-left:2vw}.menu-screen{padding:42px 4.5vw 30px}.menu-actions{gap:7px}.menu-players{margin-top:38px}.players{width:300px}}@media(max-height:720px)and (min-width:701px){h1{font-size:68px;margin:18px 0 26px}h1 em{font-size:12px;margin-top:16px}.menu-body{padding:15px 0}.menu-primary{min-height:50px}.menu-players{margin-top:16px}.menu-screen{padding-top:23px;padding-bottom:20px}.bottom-hud{bottom:18px}.roll-button{min-height:55px}.roll-result{bottom:155px}.game-dialog{padding:24px}.character-art{max-height:210px}.character-grid{margin:16px 0}.players{top:87px}}@media(max-width:1000px){.location-name,.menu-footer-right{display:none}.island-caption{right:6%;bottom:14%}.players{min-width:250px;left:22px;top:92px}.game-screen{padding:22px}.player-card .portrait{width:40px;height:40px}.player-label b{font-size:12px;letter-spacing:.5px;margin-left:4px}.bottom-left{left:22px}.menu-body{max-width:420px}.game-screen>[data-action=full]{right:22px;bottom:25px}}@media(max-width:700px){.menu-screen{padding:23px 24px;background:linear-gradient(90deg,#10232eea 0,#10232e99 55%,transparent),linear-gradient(0deg,#10232eaa,transparent 70%)}.menu-screen header .edition{display:none}.menu-body{padding:20px 0}.eyebrow{font-size:12px}h1{font-size:65px;letter-spacing:-2px;margin:22px 0 32px}h1 em{font-size:12px;letter-spacing:10px}.menu-primary{min-width:245px}.island-caption{display:none}.menu-players{margin-top:26px}.menu-screen footer{font-size:12px;letter-spacing:1px}.game-screen{padding:16px}.brand.compact>span:nth-child(2){display:none}.compact .brand-mark{width:37px;height:37px}.round{gap:7px;padding:4px 10px}.round span{font-size:12px}.round strong{font-size:24px}.toolbar{gap:5px}.toolbar .icon-button{width:36px;height:36px}.players{left:14px;right:14px;top:73px;width:auto;min-width:0;max-width:none;flex-direction:row;gap:8px}.player-card{padding:9px;gap:8px;width:100%;min-width:0;border-radius:7px}.player-card .portrait{width:35px;height:35px}.player-details strong{font-size:12px;max-width:135px}.player-label{font-size:12px;letter-spacing:1px}.player-label b{display:none}.player-track{margin-top:6px}.position strong{font-size:20px}.position{min-width:21px}.position span{font-size:12px}.view-pill{top:148px;font-size:12px;padding:6px 10px}.bottom-hud{bottom:max(20px,env(safe-area-inset-bottom));min-width:0;width:90%;gap:10px}.roll-button{width:285px;min-width:0;min-height:58px;font-size:15px;padding:14px 17px}.roll-button kbd{display:none}.turn-status{font-size:12px}.bottom-hint{font-size:12px;max-width:100%;text-overflow:ellipsis;overflow:hidden}.bottom-left{display:none}.game-screen>[data-action=full]{display:none}.roll-result{bottom:169px;padding:12px 17px;gap:10px}.game-dialog{padding:23px 20px;max-height:calc(100dvh - 26px);width:calc(100vw - 28px);border-radius:12px}.dialog-header h2{font-size:29px}.character-grid{gap:10px}.character-choice{padding:0 10px 12px}.character-art{max-height:240px}.character-choice input{font-size:16px;padding:9px}.rules-note p{font-size:12px}.setting{font-size:13px}.settings-footer .text-button{font-size:12px}.explore-bottom{bottom:24px;left:20px;right:20px;flex-direction:column;align-items:stretch;gap:18px}.map-guide,.map-guide small{font-size:12px}.explore-bottom .primary{width:100%}.map-title strong,.map-title .eyebrow{font-size:12px;letter-spacing:1px}.glass-button{padding:9px 11px;font-size:12px;gap:7px}.game-screen>header{gap:10px}.tile-info{bottom:190px;padding:12px;gap:12px;min-width:280px}.tile-info strong{font-size:12px}.tile-info div>span{font-size:12px}.settings-section{margin-top:18px}.setting{min-height:44px}}@media(max-width:390px){h1{font-size:58px}.brand{font-size:12px}.menu-players{margin-top:20px}.game-dialog{padding:20px 16px}.player-card{padding:8px 6px;gap:6px}.player-card .portrait{width:29px;height:29px}.player-details strong{font-size:12px}.position strong{font-size:18px}.character-art{max-height:190px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:1000px){.player-label b{display:none}}@media(max-width:700px){.player-label{font-size:12px;letter-spacing:0}.player-card .portrait{display:none}.player-details strong{font-size:14px}.bottom-hint{font-size:12px}.menu-screen footer{letter-spacing:.4px}}.tile-art{width:76px;height:76px;flex:none;background-image:url(/assets/tile-stories-v4.webp);background-size:300% 300%;border-radius:8px;border:1px solid #e5bd7955;box-shadow:0 4px 14px #091a2633}.player-condition{display:block;min-height:0;font-size:12px;line-height:1.35;color:#d9bf92;margin-top:4px}.player-condition:empty{display:none}.player-1 .player-condition{color:#add7cd}.player-label{font-size:12px;letter-spacing:.7px}.player-label b{display:none}.player-card.active .player-label{color:var(--gold)}.player-card.active.player-1 .player-label{color:var(--teal)}.performance-hud{position:fixed;right:33px;bottom:89px;font-size:12px;letter-spacing:.5px;color:#bdcfc7;background:#10262f90;padding:6px 10px;border-radius:5px;font-variant-numeric:tabular-nums}.performance-hud[hidden]{display:none}#fps-value{font-weight:700;color:#e1d1af}#graphics-warning{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(390px,calc(100vw - 32px));display:flex;flex-direction:column;gap:12px;padding:25px;color:#f2eddf;background:#142c35;border:1px solid #efbe80;border-radius:12px;box-shadow:0 25px 90px #0009;font-size:14px;line-height:1.5;text-align:center}#graphics-warning strong{font-size:18px}#graphics-warning button{background:#efbe80;color:#20312f;padding:12px 18px;border-radius:7px;font-weight:700}.event-banner{position:absolute;right:30px;top:41%;width:340px;display:flex;align-items:center;gap:14px;padding:15px;background:#142e37f5;border:1px solid #e9c58677;border-radius:11px;box-shadow:0 15px 60px #07141c66}.event-banner .eyebrow{font-size:12px;letter-spacing:1px}.event-banner strong{display:block;font-size:17px;margin:6px 0;color:#f4d6a2}.event-banner p{font-size:13px;line-height:1.5;margin:0;color:#bfcfc4}.event-banner .tile-art{width:89px;height:89px}.tile-info{min-width:380px;max-width:490px;bottom:178px;align-items:flex-start;padding:16px}.tile-info .tile-art{width:100px;height:100px}.tile-info p{font-size:13px;line-height:1.55;color:#c5d4c7;margin:7px 0 0}.tile-info strong{font-size:16px;margin-top:5px}.tile-info .tile-kicker{font-size:12px;letter-spacing:1px;color:#e1bb84}.tile-info>.icon-button{position:absolute;right:7px;top:6px}.tile-info>div:nth-child(2){padding-right:14px}.rules-dialog{width:min(680px,calc(100vw - 32px))}.rule-list{display:flex;flex-direction:column;margin:22px 0;gap:13px}.rule-row{display:flex;gap:16px;align-items:center;border-bottom:1px solid #b8c7b724;padding-bottom:13px}.rule-row .tile-art{width:66px;height:66px}.rule-row strong{font-size:15px;color:#ebd0a4}.rule-row p{font-size:13px;line-height:1.6;color:#aec4bb;margin:5px 0 0}.rules-footnote{font-size:12px;line-height:1.7;color:#9fb7ae}.rules-dialog .wide{margin-top:16px}.rescue-note{font-size:14px;line-height:1.8;background:#e7bb7310;border-left:2px solid #d2ae71;padding:16px;margin-top:23px;color:#c1d2c9}.rescue-note b{color:#f0d2a0}.map-zoom{position:absolute;right:32px;bottom:154px;display:flex;flex-direction:column;gap:7px}.map-zoom button{font-size:23px;width:38px;height:38px;background:#112b34d9;border:1px solid #c5bc9650;border-radius:6px}@media(max-width:1100px){.event-banner{right:22px;width:300px;top:38%}.event-banner .tile-art{width:70px;height:70px}.event-banner strong{font-size:15px}.menu-screen footer{font-size:12px;letter-spacing:.5px}}@media(max-width:700px){.performance-hud{right:16px;bottom:155px;padding:4px 7px}.event-banner{right:auto;left:50%;transform:translate(-50%);top:197px;width:calc(100% - 36px);max-width:380px;padding:12px}.event-banner .tile-art{width:64px;height:64px}.event-banner p{font-size:12px}.event-banner strong{font-size:14px;margin:4px 0}.event-banner .eyebrow{font-size:12px}.tile-info{min-width:0;width:calc(100% - 32px);bottom:178px;gap:12px;padding:13px}.tile-info .tile-art{width:78px;height:78px}.tile-info strong{font-size:14px}.tile-info p,.tile-info .tile-kicker,.player-condition{font-size:12px}.player-card{align-items:flex-start}.player-details strong{max-width:150px}.players{align-items:flex-start}.view-pill{top:174px}.toolbar .icon-button{width:32px;height:36px}.toolbar{gap:4px}.game-location{max-width:37px}.round{left:36%;font-size:12px}.rule-row{gap:12px}.rule-row .tile-art{width:54px;height:54px}.rule-row strong{font-size:14px}.rule-row p{font-size:12px}.map-zoom{right:16px;bottom:199px}.menu-body{padding-top:12px;padding-bottom:12px}.menu-players{margin-top:18px}.menu-actions{gap:1px}.menu-screen footer{font-size:12px;letter-spacing:0}.menu-footer-right{display:none}}@media(max-height:750px){.menu-body h1{font-size:58px;margin:15px 0 23px}.menu-primary{min-height:48px}.menu-players{margin-top:14px}.menu-screen .text-button{min-height:37px}.menu-screen{padding-top:22px;padding-bottom:20px}}.solo-choices .character-choice{position:relative;cursor:pointer;padding-bottom:16px;transition:border-color .2s,background .2s}.solo-choices .character-choice:has(input:checked){border-color:var(--gold);background:linear-gradient(150deg,#56493688,#182f36);box-shadow:inset 0 0 0 1px #efbe8055}.solo-choices .choice-1:has(input:checked){border-color:var(--teal);background:linear-gradient(150deg,#355c5888,#182f36)}.solo-choices input[type=radio]{position:absolute;top:15px;left:15px;z-index:1;width:20px;height:20px;accent-color:var(--gold);margin:0;padding:0}.solo-choices .character-number{font-size:14px;letter-spacing:.3px}.choice-state{display:flex;align-items:center;justify-content:center;gap:6px;min-height:24px;font-size:13px;color:var(--gold);visibility:hidden}.choice-state svg{width:15px;height:15px}.character-choice:has(input:checked) .choice-state{visibility:visible}.solo-name{display:flex;flex-direction:column;gap:9px;font-size:14px;color:#dae1d9}.solo-name input{border:1px solid #9abeb638;background:#10262e;border-radius:7px;padding:12px 14px;color:#f1eddd;width:100%;font-size:16px}.players .player-card:only-child{width:100%}.players .player-card:only-child .portrait{display:block}@media(max-width:700px){.players{max-width:310px}.view-pill{top:157px}.solo-choices .character-art{max-height:200px}.solo-choices .character-number{font-size:14px}.solo-choices .character-choice{padding-bottom:10px}.solo-name,.rules-note p{font-size:14px}}.portrait.solo-portrait img{width:130%;height:auto;left:-15%;top:-3%;max-width:none}.portrait.solo-portrait{background:#213b43}.solo-hero-preview{display:flex;align-items:center;gap:25px;margin:22px 0}.solo-hero-preview img{width:44%;max-width:230px;border-radius:14px;border:1px solid #d9c58a55}.solo-hero-preview strong{display:block;font-size:22px;margin:13px 0 8px;line-height:1.3}.solo-hero-preview p{font-size:14px;color:#b5c5bd;line-height:1.6}.storm-caption{position:absolute;top:21%;left:50%;transform:translate(-50%);text-align:center;text-shadow:0 3px 25px #000,0 0 40px #b1783077;pointer-events:none;color:#ffe1a1}.storm-caption>span{font-size:13px;letter-spacing:4px}.storm-caption strong{font:400 clamp(32px,4vw,58px)/1.2 Georgia,serif;display:block;margin:10px 0}.storm-caption small{font-size:14px;letter-spacing:2px;color:#d4dce0}.roll-result.golden-result{border:1px solid #f7d270;background:linear-gradient(140deg,#594122ee,#1f292bee);box-shadow:0 0 55px #ffc34b44,0 10px 40px #0008;padding-top:30px;bottom:185px}.golden-result .die-face{background:linear-gradient(135deg,#fff2b4,#dfaa35);box-shadow:0 3px #99701f;color:#473014}.golden-result .total strong{color:#ffe79a}.golden-result-title{position:absolute;top:9px;left:0;width:100%;text-align:center;font-size:12px;font-weight:800;letter-spacing:2px;color:#ffe5a4}.golden-result .total span{font-size:11px}.last-golden{display:flex;align-items:center;gap:7px;color:#f4d58e;margin-top:5px}.last-golden svg{width:18px;height:18px}@media(max-width:700px){.solo-hero-preview{gap:16px}.solo-hero-preview strong{font-size:18px}.solo-hero-preview .eyebrow{font-size:12px;letter-spacing:1px}.storm-caption{top:24%;width:95%}.storm-caption strong{font-size:34px}.storm-caption small{font-size:12px}.roll-result.golden-result{bottom:170px}.golden-result .total span{font-size:11px}}.location-art{display:block;background-image:url(/assets/location-atlas.webp);background-size:200% 200%;aspect-ratio:1;border-radius:10px;background-color:#18333e}.location-intro,.location-description p{font-size:16px;line-height:1.65;color:#c1d1ca}.locations-dialog{width:min(1000px,calc(100vw - 32px))}.location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:25px 0 20px}.location-card{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border:1px solid #b4c8c332;background:#142a33;border-radius:12px;color:#eee6d6;transition:border-color .2s,transform .2s}.location-card:hover,.location-card:focus-visible{border-color:var(--location-color);transform:translateY(-3px);outline:2px solid transparent}.location-card:focus-visible{outline-color:var(--location-color);outline-offset:3px}.location-card .location-art{width:100%;border-radius:0}.location-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:16px;flex:1;width:100%}.location-card-body small{font-size:14px;color:var(--location-color);line-height:1.4}.location-card-body strong{font:500 21px/1.3 Georgia,serif;overflow-wrap:anywhere}.location-card-body .location-status{margin-top:auto;padding-top:13px}.location-status{font-size:14px;color:#a4b7b4;line-height:1.4}.location-status.available{color:#eed19a}.location-stage-note{padding:15px 18px;border-left:2px solid #b8aa7b;background:#d9bd7410;color:#b8c9c2;font-size:14px;line-height:1.65}.location-dialog{width:min(790px,calc(100vw - 32px))}.location-dialog .dialog-header h2{font-size:clamp(25px,3vw,36px)}.location-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:25px;align-items:start;margin-top:24px}.location-detail>.location-art{width:100%;border:1px solid #e2c38144}.location-range{display:inline-block;border:1px solid #b8c6c43b;border-radius:5px;padding:6px 10px;color:var(--location-color);font-size:14px;line-height:1.4}.location-description p{margin:13px 0}.location-description .future-event{font-size:14px;color:#a5bbb3;border-top:1px solid #c0ccbf25;padding-top:13px}.location-actions{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:24px}.location-actions .primary{font-size:15px;min-height:48px;gap:9px}.location-actions svg{width:19px;height:19px}.journey-panel{position:absolute;top:198px;left:33px;width:300px;border-left:2px solid var(--region);padding:13px 15px;background:linear-gradient(110deg,#10262eee,#10262e9c);border-radius:0 8px 8px 0;pointer-events:auto}.journey-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.journey-heading>span{font-size:12px;letter-spacing:1.2px;color:#98b1ac}.journey-heading button{display:flex;align-items:center;gap:6px;background:transparent;color:#d4c6a6;font-size:14px;padding:3px}.journey-heading svg{width:16px;height:16px}.journey-panel>strong{display:block;font-size:16px;font-weight:500;line-height:1.4;color:#e1dfcd;margin:7px 0 11px}.journey-route{display:flex;gap:4px;height:4px;margin:12px 0}.journey-route i{background:var(--segment);opacity:.24;border-radius:2px}.journey-route i.current{opacity:1;box-shadow:0 0 8px #f0d88a33}.journey-visits{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#dac9a8;margin:9px 0}.journey-visits span{color:#92aaa2;font-size:12px}.library-invitation,.nearby-location{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;color:#f1d29a;font-size:14px;line-height:1.4;text-align:left;padding:10px 0 2px;background:transparent;border-top:1px solid #e4c4882b}.library-invitation small{display:block;font-size:12px;line-height:1.5;color:#b3c4bc;margin-top:2px}.library-invitation svg,.nearby-location svg{width:18px;height:18px;flex:none}.library-invitation.seen{color:#b6c5bf}.nearby-location{color:var(--region);padding:10px 0 1px;margin-top:10px}.location-focus{position:absolute;top:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;padding:11px 16px;background:#102a34eb;border:1px solid #d9bf8155;border-radius:8px;max-width:calc(100% - 32px);font-size:14px;pointer-events:auto}.location-focus>span{color:#f0d5a1}.location-focus button{display:flex;align-items:center;gap:7px;background:transparent;color:#cadbd2;font-size:14px;white-space:nowrap}.location-focus svg{width:17px;height:17px}.view-pill[hidden]{display:none}.location-inline{display:flex;align-items:center;gap:6px;margin-top:12px;background:transparent;color:#f0d2a0;font-size:14px;padding:0}.location-inline svg{width:16px;height:16px}.tile-info .tile-visits{color:#e0c695;font-size:14px}.tile-info .location-art{background-size:200% 200%}.tile-info p{font-size:14px}@media(max-width:1100px){.journey-panel{left:22px;top:190px;width:250px}.location-card-body{padding:12px}.location-card-body strong{font-size:19px}}@media(max-width:780px){.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.locations-dialog{width:min(620px,calc(100vw - 28px))}.location-card .location-art{aspect-ratio:1}.location-card-body strong{font-size:21px}}@media(max-width:700px){.journey-panel{top:152px;left:14px;width:min(310px,calc(100% - 28px));padding:9px 12px;background:#10262edb}.journey-heading>span{font-size:12px}.journey-panel>strong{font-size:14px;margin:3px 0 5px}.journey-route{margin:7px 0;height:3px}.journey-visits{display:none}.library-invitation{padding-top:7px;font-size:14px}.library-invitation small{font-size:12px}.library-invitation.seen small{display:none}.nearby-location{font-size:14px;padding-top:7px;margin-top:7px}.view-pill{display:none}.location-focus{top:auto;bottom:150px;gap:12px;padding:10px 12px;font-size:14px;width:max-content}.location-detail{grid-template-columns:1fr;gap:17px}.location-detail>.location-art{width:min(100%,280px);justify-self:center}.location-actions{flex-wrap:wrap;gap:10px}.location-actions .primary,.location-actions .text-button{width:100%;justify-content:center}.location-intro{font-size:15px}.location-card-body{padding:11px}.location-card-body strong{font-size:18px}.location-card-body small,.location-status,.location-stage-note{font-size:14px}.location-grid{gap:10px}.location-dialog .dialog-header .eyebrow{letter-spacing:1px;font-size:12px}}@media(max-height:620px)and (min-width:701px){.journey-panel{top:175px}.journey-route,.journey-visits{display:none}.journey-panel>strong{margin-bottom:7px}.library-invitation{padding-top:5px}.location-focus{top:84px}}.location-card{gap:0;justify-content:flex-start}.location-card span,.location-card-body strong{white-space:normal}.roll-result.golden-result .die-face.golden-face{background:linear-gradient(145deg,#fff0a6,#ddb04a);color:#523618;box-shadow:0 3px #956520,0 0 23px #ffd56188}.roll-result.golden-result .die-face:not(.golden-face){background:#f4dfbd}.roll-result.golden-result{flex-direction:column;gap:12px;min-width:265px;padding:34px 20px 18px}.golden-result-hint{font-size:12px;line-height:1.4;text-align:center;color:#ffedbe;white-space:normal}.graphics-note{font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:#aebfbd;border-top:1px solid var(--line);padding-top:12px;margin-top:20px}.golden-active{display:inline-flex;align-self:flex-start;padding:5px 8px;border:1px solid #f4d58e77;border-radius:6px;background:#241c18c7;color:#ffe1a1;font-size:12px;font-weight:700}.challenge-dialog{width:min(620px,calc(100vw - 28px))}.challenge-note{font-size:14px;line-height:1.65;color:#b8cbc6}.challenge-clock{margin:22px 0;color:#9de2c4;text-align:center;font-size:clamp(56px,10vw,82px);font-family:Georgia,serif;line-height:1.1;font-variant-numeric:tabular-nums}.challenge-clock small{display:block;margin-top:8px;font-family:Arial,sans-serif;font-size:14px;letter-spacing:3px;color:#b8cbc6}.challenge-actions{display:flex;gap:12px;flex-direction:column;margin-top:22px}.challenge-actions button{white-space:normal;text-align:center;justify-content:center}.gate-attempts{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:24px 0;color:#dfc5ff}.gate-attempts i{width:18px;height:18px;border:1px solid #907e9e;border-radius:50%}.gate-attempts i.remaining{background:#ad8bd9;box-shadow:0 0 15px #ad8bd940}.gate-attempts strong{display:block;flex-basis:100%;margin-top:9px;font-size:16px}.event-cta{display:flex;justify-content:flex-start;width:100%;gap:10px;padding:12px 0 0;border-top:1px solid #b7c7c32b;margin-top:12px;font-size:14px;text-align:left;color:#e8cfb0}.event-cta span{white-space:normal}.event-cta small{display:block;margin-top:4px;font-size:12px;color:#b6cbc5}.event-cta svg{width:20px;height:20px}.forest-cta{color:#a5e3c3}.portal-state{margin-top:10px;font-size:14px;line-height:1.4;color:#a3e4cf}.curse-active{color:#eea9c1}.quiz-clock{text-align:center;font-size:48px;font-variant-numeric:tabular-nums;color:#efd097;margin:14px}.quiz-answers{display:grid;gap:10px}.quiz-answers button{justify-content:flex-start;text-align:left;white-space:normal;min-height:50px;font-size:16px}.event-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;animation:event-fade .65s ease-out forwards}.death-flash{background:radial-gradient(ellipse at center,transparent 15%,#6e164caa)}.portal-flash{background:radial-gradient(ellipse at center,#aaf9d980,transparent 72%)}@keyframes event-fade{0%{opacity:.8}to{opacity:0}}@media(max-width:700px){.journey-panel{max-height:calc(100dvh - 340px);overflow:auto;pointer-events:auto}.event-cta{padding-top:8px;margin-top:8px}.portal-state{font-size:12px}.challenge-actions .text-button,.challenge-note{font-size:14px}}@media(prefers-reduced-motion:reduce){.event-flash{display:none}}.quiz-rewards{display:grid;gap:8px;margin:22px 0;font-size:16px;color:#ecd29f}.quiz-progress{width:100%;height:5px;accent-color:#d6b570;margin:8px 0 15px}.quiz-score{font-size:64px;text-align:center;margin:18px 0;color:#f0d29b;font-variant-numeric:tabular-nums}.quiz-score small{font-size:24px;color:#a9bfb6}.potion-reward{text-align:center;color:#a8f1d0;margin:22px}.potion-reward svg{width:64px;height:64px;filter:drop-shadow(0 0 12px #9bf5c355)}.potion-inventory{display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px 0;border-top:1px solid #a5d7be33;color:#b0eed3;font-size:14px}.potion-inventory small{display:block;color:#a6bdb5;font-size:12px;margin-top:4px}.potion-symbol svg{width:28px;height:28px}.content-template{display:flex;text-decoration:none;margin:18px 0;justify-content:center;font-size:16px;color:#ecd29f}.content-upload{display:grid;gap:12px;font-size:16px;color:#e3d5b6;margin:20px 0}.content-upload input{width:100%;font-size:14px}.content-upload input::file-selector-button{border:1px solid #91b09e66;background:#14342c;color:#d4eade;padding:10px;margin-right:10px;border-radius:7px}.content-dialog [role=status]{font-size:14px;line-height:1.6;color:#b1dec4}.quiz-dialog .dialog-intro{min-height:52px}.reroll-dialog .primary{display:flex;align-items:center;justify-content:center;gap:10px}.quiz-rewards span{white-space:normal}.roll-face-label{font-size:12px;letter-spacing:1px;color:#d7c6a1}.roll-result:has(.move-explanation){flex-wrap:wrap;max-width:min(560px,calc(100vw - 28px))}.move-explanation{flex-basis:100%;white-space:normal;text-align:center;font-size:14px;line-height:1.5;color:#efd5a4}.total span{white-space:nowrap}@media(max-width:700px){.move-explanation{font-size:12px;max-width:300px}.roll-face-label{font-size:12px}}.quiz-answers button.correct-answer,.quiz-answers button.correct-answer:disabled{background:#17543c;border:2px solid #74dba2;color:#effff4;opacity:1;cursor:default}.quiz-answers button.wrong-answer,.quiz-answers button.wrong-answer:disabled{background:#632d36;border:2px solid #ef8994;color:#fff0f2;opacity:1;cursor:default}.quiz-feedback{font-size:16px;line-height:1.5;margin:15px 0;color:#efb3b3}.quiz-feedback.correct{color:#91e8b5}.obs-timer-link{margin-top:24px;padding-top:18px;border-top:1px solid #b9caba33}.obs-timer-link strong{color:#a2debc}.obs-timer-link p{color:#b4c7c0;font-size:14px;line-height:1.6}.obs-timer-link input{width:100%;border:1px solid #9abdaf55;border-radius:6px;background:#0c2029;color:#e2eddf;padding:10px;font-size:13px}.obs-timer-link .challenge-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px}.obs-timer-link a{display:inline-flex;align-items:center;text-decoration:none}.obs-timer-link [data-obs-status]{display:block;margin-top:8px;color:#d5e9d9;font-size:14px}
.forecast{display:flex;align-items:center;gap:5px;pointer-events:none;flex-wrap:wrap;justify-content:center}.forecast>span{display:flex;align-items:center;gap:3px;padding:5px 8px;border-radius:7px;background:#0f262de6;border:1px solid #c9d6c624;font-size:12px;font-weight:700;color:#e9e4d2;font-variant-numeric:tabular-nums;box-shadow:0 4px 14px #0004}.forecast>span i{font-style:normal;opacity:.5;font-weight:500}.forecast>span em{font-style:normal;font-size:10px;margin-left:2px;color:#ffe3a0}.forecast .forecast-label{background:none;border:0;box-shadow:none;font-size:10px;letter-spacing:1.6px;color:#a7bab4;padding:0 4px 0 0}.forecast .fc-double{border-color:#ffd98a77;color:#ffe3a0}.forecast .fc-death{border-color:#e078c4cc;background:#4d1a3cf0;color:#ffd0f0}.forecast .fc-win{border-color:#9be6a8cc;background:#1d4a2cf0;color:#d2ffd9}.forecast .fc-portal{border-color:#b49cffaa;color:#e1d6ff}.has-forecast .roll-result{bottom:200px}.forecast-label{text-shadow:0 1px 6px #000c}.game-dialog{scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}
.journal-dialog{width:min(620px,calc(100vw - 32px))}.journal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.journal-stats div{background:#ffffff09;border:1px solid #ffffff10;border-radius:10px;padding:10px 6px;text-align:center}.journal-stats strong{display:block;font-size:24px;color:#ffe2b0;font-variant-numeric:tabular-nums}.journal-stats span{font-size:11px;color:#a9bbb6}.journal-bars{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.jb-row{display:grid;grid-template-columns:30px 1fr 92px;align-items:center;gap:12px;font-size:13px;font-variant-numeric:tabular-nums;color:#dfe6df}.jb-bar{position:relative;height:12px;border-radius:6px;background:#ffffff10}.jb-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,#c99a50,#ffd98a);transition:width .4s}.jb-bar b,.jb-legend b{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#9fe8d2}.jb-legend{font-size:11px;color:#a9bbb6;display:flex;align-items:center;gap:8px}.jb-legend b{position:static;display:inline-block;height:12px}.jb-face.die-face{width:26px;height:26px}.jb-face.small.die-face{width:20px;height:20px}.journal-log{display:flex;flex-direction:column;gap:5px;max-height:240px;overflow:auto;margin-bottom:18px}.jl-row{display:grid;grid-template-columns:64px 24px 92px 1fr;align-items:center;gap:10px;font-size:13px;padding:6px 10px;border-radius:8px;background:#ffffff07;color:#d6ded8;font-variant-numeric:tabular-nums}.jl-row em{font-style:normal;font-size:12px;color:#a9bbb6}.jl-death{background:#4d1a3c88}.jl-death em{color:#ffc6ec}.jl-double em{color:#ffe3a0}.jl-win{background:#1d4a2c88}
@media(max-width:700px){.forecast>span{padding:4px 6px;font-size:11px}.forecast .forecast-label{width:100%;text-align:center;padding:0}.has-forecast .roll-result{bottom:222px}.journal-stats{grid-template-columns:repeat(2,1fr)}.jl-row{grid-template-columns:54px 22px 1fr}.jl-row em{grid-column:1/-1}}
.jb-face.die-face{padding:5px;gap:2px;box-shadow:0 2px #947f60}.jb-face.small.die-face{padding:4px;gap:1px}
.settings-section .obs-timer-link{margin-top:0;padding-top:0;border-top:0}.obs-timer-link .challenge-actions>*{flex:1 1 auto;justify-content:center}
.tip-card{margin-top:10px;padding:10px 12px;border-radius:9px;background:#ffffff08;border:1px solid #9fe8d22e;border-left:3px solid #9fe8d2}.tip-card span{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#9fe8d2}.tip-card p{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:#dbe6df}.tip-card button{margin-top:7px;font-size:12px;font-weight:700;color:#ffe2b0;gap:6px}.tip-card button svg{width:15px;height:15px}.tip-card.hot{border-color:#ffd98a55;border-left-color:#ffd98a;background:#ffd98a0d}.tip-card.hot span{color:#ffd98a}
.journey-panel{max-height:calc(100dvh - 300px);overflow:auto;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}
.settings-section .obs-timer-link>strong{display:none}.obs-timer-link a.glass-button{color:inherit}
.m-screen{position:relative;height:100%;display:flex;align-items:center;padding:0 5vw;background:linear-gradient(90deg,#0c1d26eb 0,#0c1d26b0 28%,transparent 56%)}.m-card{width:min(360px,100%);display:flex;flex-direction:column;gap:12px;pointer-events:auto}.m-logo{display:flex;align-items:center;gap:15px;margin-bottom:20px}.m-mark{width:54px;height:54px;flex:none;display:grid;place-items:center;border-radius:15px;color:var(--gold);background:#efbe8012;border:1px solid #efbe8055}.m-mark svg{width:28px;height:28px;transform:rotate(-12deg)}.m-logo h1{margin:0;font-family:Prata,Georgia,serif;font-weight:400;font-size:40px;line-height:1.05;color:#f6eedc;letter-spacing:-.5px}.m-logo small{display:block;margin-top:7px;font-size:11px;letter-spacing:2.6px;text-transform:uppercase;color:var(--gold)}.m-play{min-height:58px;justify-content:flex-start;padding:0 22px;font-size:16px;font-weight:800;border-radius:12px}.m-play svg{fill:currentColor;stroke-width:1}.m-link{justify-content:flex-start;padding:4px 2px;font-size:14px;font-weight:600;color:#c8d4cd}.m-link svg{width:17px;height:17px}.m-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px}.m-nav button{flex-direction:column;gap:8px;padding:13px 4px;border-radius:12px;background:#10262ed9;border:1px solid #c9d6c61f;font-size:12px;font-weight:600;color:#d6dfd8}.m-nav button svg{width:21px;height:21px;color:var(--gold)}.m-nav button:hover{background:#18343de6;border-color:#efbe8066}.m-version{position:absolute;left:5vw;bottom:22px;font-size:11px;letter-spacing:1.5px;color:#7f9794}
.h-screen{position:relative;height:100%;padding:0}.h-side{position:absolute;top:20px;left:20px;width:290px;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;background:#0f242be0;border:1px solid #c9d6c61c;border-top:3px solid var(--region);box-shadow:0 10px 30px #0004;pointer-events:auto;max-height:calc(100dvh - 220px);overflow:auto;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}.h-player{display:flex;align-items:center;gap:12px}.h-player .portrait{width:44px;height:44px}.h-who{flex:1;min-width:0}.h-who strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h-who span{display:block;font-size:12px;color:#a9bbb6;margin-top:2px}.h-pos{text-align:right}.h-pos strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:30px;color:#f3d8a8;line-height:1}.h-pos small{display:block;font-size:11px;color:#8ea5a1;margin-top:2px}.h-track{height:4px;border-radius:4px;background:#ffffff14;overflow:hidden}.h-track i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--region));border-radius:4px;transition:width .5s}.h-chips{display:flex;flex-wrap:wrap;gap:6px}.h-chips span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:700;background:#ffffff0e;color:#cfdad4}.h-chips svg{width:13px;height:13px}.h-chips .c-good{background:#9fe8d21c;color:#bff3e2}.h-chips .c-bad{background:#e078c422;color:#ffc6ec}.h-chips .c-gold{background:#ffd98a20;color:#ffe3a0}.h-actions{display:flex;flex-direction:column;gap:6px}.h-actions:empty{display:none}.h-act{justify-content:flex-start;gap:10px;width:100%;padding:9px 11px;border-radius:10px;background:#ffffff08;border:1px solid #ffffff12;text-align:left;font-size:13px;font-weight:700;color:#e9e4d2}.h-act span{white-space:normal}.h-act svg{width:18px;height:18px;color:var(--gold)}.h-act small{display:block;font-size:11.5px;font-weight:500;color:#a9bbb6;margin-top:2px}.h-act.hot{border-color:#ffd98a55;background:#ffd98a12}.h-act:hover{background:#ffffff14}.h-actions .tip-card{margin-top:2px}.h-actions .tip-card p{margin:0}.h-tools{position:absolute;top:20px;right:20px;display:flex;gap:6px;pointer-events:auto}.h-tools .icon-button{width:42px;height:42px;border-radius:10px;background:#0f242be0;border:1px solid #c9d6c61c;color:#d6dfd8}.h-tools .icon-button:hover{border-color:#efbe8066}.h-back{position:absolute;top:20px;left:20px;padding:10px 15px;border-radius:10px;background:#0f242be0;border:1px solid #c9d6c61c;font-size:13px;font-weight:700;pointer-events:auto}.x-bottom{position:absolute;bottom:26px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px}.x-bottom .primary{min-width:240px;min-height:52px;border-radius:12px;font-weight:800}.x-guide{font-size:12px;color:#c3d0ca;text-shadow:0 1px 6px #000;white-space:nowrap}.h-screen .bottom-hud{bottom:22px;gap:10px}.h-screen .bottom-hint{text-shadow:0 1px 6px #000c}.h-screen .roll-result{bottom:150px}.h-screen.has-forecast .roll-result{bottom:186px}
.tile-pops{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}.tile-pop{position:absolute;left:0;top:0;padding:6px 11px;border-radius:9px;font-size:13px;font-weight:700;white-space:nowrap;color:#f2eddf;background:#0f242bee;border:1px solid #ffffff2a;box-shadow:0 6px 18px #0007;animation:pop-in .3s ease-out;transition:opacity .4s}.tile-pop b{font-weight:800;margin-right:3px}.tile-pop.used{border-color:#ffd98a;color:#ffe9bd;background:#3a2c12f0}.tile-pop.skip{color:#b9c7c2}.tile-pop.skip b{text-decoration:line-through;text-decoration-thickness:2px;opacity:.85}.tile-pop.bad{border-color:#e078c4;background:#4d1a3cf0;color:#ffd0f0}.tile-pop.lucky{border-color:#9be6a8;background:#1d4a2cf0;color:#d2ffd9}.tile-pop.out{opacity:0}@keyframes pop-in{from{opacity:0;margin-top:12px}to{opacity:1;margin-top:0}}
.rules-list{display:grid;grid-template-columns:max-content 1fr;gap:9px 18px;margin:18px 0 22px;font-size:13.5px;line-height:1.5}.rules-list dt{font-weight:800;color:#ffe2b0;white-space:nowrap}.rules-list dd{margin:0;color:#cfdad4}
@media(max-width:700px){.m-screen{align-items:flex-end;padding:0 16px 56px;background:linear-gradient(0deg,#0c1d26f0 0,#0c1d26b0 45%,transparent 75%)}.m-logo h1{font-size:32px}.m-version{left:16px;bottom:18px}.h-side{top:62px;left:10px;width:calc(100% - 20px);max-height:32dvh;padding:10px}.h-tools{top:10px;right:10px}.h-tools .icon-button{width:38px;height:38px}.rules-list{grid-template-columns:1fr;gap:2px}.rules-list dd{margin-bottom:8px}}
.tile-pop{font-size:15px;padding:7px 13px;border-radius:10px}
.obs-link-mask{width:100%;justify-content:space-between;padding:10px 12px;border:1px dashed #9abdaf66;border-radius:6px;background:#0c2029;color:#8fa9a2;font-size:13px}.obs-link-mask span{letter-spacing:2px;overflow:hidden;white-space:nowrap}.obs-link-mask small{color:#a2debc;font-weight:700;font-size:12px;flex:none}.obs-link-mask:hover{border-color:#a2debc}
.obs-timer-link .challenge-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.golden-reveal{position:fixed;inset:0;z-index:4;display:grid;place-items:center;overflow:hidden;pointer-events:none;animation:gr-in .45s ease-out both}.golden-reveal::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,var(--grBg) 0,#06121a99 48%,#06121ad9 100%)}.golden-reveal::after{content:"";position:absolute;inset:0;background:#fff8e0;animation:gr-flash .5s ease-out forwards}.gr-rays{position:absolute;left:50%;top:50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;background:repeating-conic-gradient(from 0deg,var(--grRay) 0 5deg,transparent 5deg 15deg);-webkit-mask-image:radial-gradient(circle,#000 0,#000 6%,transparent 40%);mask-image:radial-gradient(circle,#000 0,#000 6%,transparent 40%);animation:gr-spin 10s linear infinite,gr-in .8s ease-out both}.gr-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:300px;padding:26px 48px 28px;border-radius:22px;background:linear-gradient(160deg,var(--grCard),#11232af5);border:1px solid var(--gr);box-shadow:0 0 90px var(--grGlow),0 24px 70px #000b,inset 0 1px #ffffff22;animation:gr-pop .75s cubic-bezier(.2,1.5,.4,1) both}.gr-kicker{font-size:12px;letter-spacing:5px;font-weight:800;color:var(--gr2)}.gr-card .die-face.gr-die{width:118px;height:118px;padding:21px;gap:9px;border-radius:20px;background:linear-gradient(145deg,#fff3b8,#e2ae3f);box-shadow:0 6px #9a6a1f,0 0 50px var(--grGlow);animation:gr-die 1s cubic-bezier(.2,1.35,.4,1) .08s both}.gr-card strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:46px;line-height:1.1;color:var(--gr2);letter-spacing:1px;text-shadow:0 0 34px var(--grGlow);animation:gr-up .6s ease-out .35s both}.gr-card small{font-size:15px;font-weight:600;color:#ece6d3;animation:gr-up .6s ease-out .5s both}.gr-luck{--gr:#ffd36b;--gr2:#fff0c0;--grRay:#ffd36b38;--grGlow:#ffc34b77;--grBg:#ffc34b40;--grCard:#4a3512f5}.gr-neutral{--gr:#9fe8d2;--gr2:#dcfff4;--grRay:#9fe8d22e;--grGlow:#5fd3b266;--grBg:#5fd3b230;--grCard:#173b37f5}.gr-slow{--gr:#e078c4;--gr2:#ffd3f1;--grRay:#e078c42e;--grGlow:#c44fa066;--grBg:#c44fa033;--grCard:#3d1834f5}.golden-reveal.out{animation:gr-out .6s ease-in forwards}.golden-reveal.calm,.golden-reveal.calm *,.golden-reveal.calm::after{animation:none!important}.golden-reveal.calm::after{display:none}
@keyframes gr-spin{to{transform:rotate(360deg)}}@keyframes gr-in{from{opacity:0}}@keyframes gr-flash{from{opacity:.9}to{opacity:0}}@keyframes gr-pop{from{transform:scale(.35);opacity:0}to{transform:none;opacity:1}}@keyframes gr-die{from{transform:rotate(-220deg) scale(.15)}to{transform:none}}@keyframes gr-up{from{transform:translateY(14px);opacity:0}}@keyframes gr-out{to{opacity:0;transform:scale(1.05)}}
@media(max-width:700px){.gr-card{min-width:0;padding:22px 30px}.gr-card strong{font-size:34px}.gr-card .die-face.gr-die{width:92px;height:92px;padding:16px}}
.task-warn{margin:16px 0 4px;padding:12px 14px;border-radius:10px;border:1px solid #e078c4aa;background:#4d1a3c99;color:#ffd0f0;font-size:13.5px;line-height:1.5}.task-warn strong{display:block;font-size:15px;color:#ffe2f4;margin-bottom:4px}.task-left{font-size:12px;color:#9fb3ad;margin:12px 0 0}.task-penalty{border-color:#e078c4}.task-penalty .eyebrow{color:#ff9ad6}
.task-emoji{font-size:54px;line-height:1.2;text-align:center;margin:16px 0 4px;letter-spacing:6px}.task-hidden{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:14px;padding:14px;border-radius:10px;border:1px dashed #ffd98a77;background:#ffffff08;color:#ffe9bd}.task-hidden span{font-size:20px;font-weight:800;filter:blur(9px);transition:filter .35s;user-select:none}.task-hidden small{font-size:12px;color:#a9bbb6}.task-hidden.revealed{border-style:solid;cursor:default}.task-hidden.revealed span{filter:none;user-select:text}.task-hidden.revealed small{display:none}.task-steps{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 12px;border-radius:10px;background:#ffffff08}.task-steps>span{font-size:13px;font-weight:700;color:#cfdad4}.task-steps strong{min-width:28px;text-align:center;font-size:24px;color:#ffe2b0;font-family:Prata,Georgia,serif}.task-steps .icon-button{width:34px;height:34px;font-size:20px;background:#ffffff12;border-radius:8px}.task-steps small{width:100%;font-size:12px;color:#a9bbb6}
.task-left{margin-bottom:14px!important}.task-dialog .eyebrow{text-transform:uppercase}
.gr-death{--gr:#e0607a;--gr2:#ffd0da;--grRay:#d0405e2e;--grGlow:#c0304f77;--grBg:#9c1f3b40;--grCard:#3a0f1cf5}
.gr-death::after{background:#ff4060!important}
.gr-card .die-face.death-face.gr-die{background:linear-gradient(145deg,#4a1a2a,#1d0a12);box-shadow:0 6px #0c0408,0 0 50px var(--grGlow)}
.gr-card .die-face.death-face i.dot{background:#ffd0da;box-shadow:0 0 8px #ff7090}
/* ---- Task card (v0.23) ---- */
.game-dialog.tk-dialog{padding:0;width:min(600px,calc(100vw - 32px));border-radius:22px;border:1px solid color-mix(in srgb,var(--tkc,#e4b56c) 40%,transparent);background:#0f262c;overflow:auto;box-shadow:0 30px 120px #000a,0 0 0 1px #ffffff08 inset;animation:tk-deal .55s cubic-bezier(.2,1.1,.35,1) both}
.tk-dialog::backdrop{background:#04101599;backdrop-filter:blur(3px)}
.tk{--tkc:var(--tk);position:relative;padding:26px 30px 24px;overflow:hidden;background:radial-gradient(120% 70% at 100% 0,color-mix(in srgb,var(--tk) 17%,transparent),transparent 60%),linear-gradient(170deg,#183840,#0e2329 70%);font-family:Manrope,Arial,sans-serif}
.tk::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--tk) 25%,var(--tk) 75%,transparent)}
.tk-mark{position:absolute;right:-34px;top:-26px;width:230px;height:230px;color:var(--tk);opacity:.07;stroke-width:1.1;pointer-events:none}
.tk-head{position:relative;display:flex;align-items:center;gap:11px}
.tk-suit{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;color:var(--tk);background:color-mix(in srgb,var(--tk) 16%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--tk) 40%,transparent) inset}
.tk-suit svg{width:21px;height:21px}
.tk-cat{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--tk);letter-spacing:.01em}
.tk-mult{flex:none;font-family:Prata,Georgia,serif;font-size:21px;line-height:1;padding:6px 11px 7px;border-radius:9px;color:#ffb39c;border:1.5px solid #ff8f73;background:#ff6a4a1c;transform:rotate(-4deg)}
.tk-x{flex:none;width:34px!important;height:34px!important;border:0!important;background:#ffffff0d!important;border-radius:50%!important}
.tk-title{position:relative;margin:20px 0 0;font-family:Prata,Georgia,serif;font-weight:400;font-size:clamp(27px,4.4vw,38px);line-height:1.17;color:#f8f1df;letter-spacing:-.005em;text-wrap:balance}
.tk-n{font-weight:inherit;color:var(--tk);white-space:nowrap}
.tk-desc .tk-n,.tk-warn .tk-n{font-weight:800;color:#ffe2a6}
.tk-desc{position:relative;margin:14px 0 0;max-width:54ch;font-size:16.5px;line-height:1.6;color:#d6e3dd;text-wrap:pretty}
.tk-emoji{display:flex;justify-content:center;gap:12px;margin:24px 0 4px}
.tk-emoji span{display:grid;place-items:center;width:84px;height:84px;font-size:46px;line-height:1;border-radius:18px;background:linear-gradient(160deg,#ffffff12,#ffffff05);box-shadow:0 0 0 1px color-mix(in srgb,var(--tk) 38%,transparent) inset,0 10px 24px #0005}
.tk-secret.task-hidden{position:relative;display:grid;place-items:center;width:100%;min-height:66px;margin-top:18px;padding:12px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--tk) 55%,transparent);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--tk) 20%,#11292f) 0 9px,color-mix(in srgb,var(--tk) 9%,#11292f) 9px 18px);color:var(--tk);cursor:pointer;overflow:hidden;transition:background .3s}
.tk-secret>*{grid-area:1/1}
.tk-secret .tk-secret-cover{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:#f3ede0}
.tk-secret .tk-secret-cover svg{width:20px;height:20px;color:var(--tk)}
.tk-secret strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:25px;color:#fff6e2;opacity:0;transform:scale(.92);filter:none;transition:opacity .35s,transform .45s cubic-bezier(.2,1.4,.4,1)}
.tk-secret:hover .tk-secret-cover{text-decoration:underline;text-underline-offset:4px}
.tk-secret.revealed{background:color-mix(in srgb,var(--tk) 10%,#0f262c);cursor:default}
.tk-secret.revealed .tk-secret-cover{visibility:hidden}
.tk-secret.revealed strong{opacity:1;transform:none}
.tk-steps{margin-top:18px}
.tk-steps-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.tk-steps-head span{font-size:14px;font-weight:700;color:#c7d6cf}
.tk-steps-head strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:22px;color:var(--tk)}
.tk-pips{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.tk-pips.numbered{grid-template-columns:repeat(auto-fill,minmax(54px,1fr))}
.tk-pip{position:relative;min-height:44px;padding:9px 12px 9px 38px;border-radius:11px;border:1px solid #ffffff1c;background:#ffffff08;color:#e3ece7;font:600 13.5px/1.3 Manrope,Arial,sans-serif;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}
.tk-pip::before{content:"";position:absolute;left:12px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;box-shadow:0 0 0 2px #ffffff4d inset;transition:background .2s,box-shadow .2s}
.tk-pips.numbered .tk-pip{padding:9px 0 9px 26px;text-align:center;font-size:16px}
.tk-pips.numbered .tk-pip::before{left:9px;width:12px;height:12px;margin-top:-6px}
.tk-pip[aria-pressed=true]{background:color-mix(in srgb,var(--tk) 20%,transparent);border-color:var(--tk);color:#fff}
.tk-pip[aria-pressed=true]::before{background:var(--tk);box-shadow:0 0 0 2px var(--tk) inset,0 0 10px color-mix(in srgb,var(--tk) 70%,transparent)}
.tk-pip:hover{border-color:color-mix(in srgb,var(--tk) 60%,transparent)}
.tk-warn{position:relative;display:grid;gap:4px;margin:18px 0 0;padding:12px 16px;border-left:3px solid #ff7c72;border-radius:0 12px 12px 0;background:linear-gradient(90deg,#ff5a4f26,#ff5a4f08)}
.tk-warn strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:19px;color:#ffd9d4}
.tk-warn span{font-size:14px;line-height:1.5;color:#f2cdc8}
.tk-foot{position:relative;display:flex;align-items:center;gap:18px;margin-top:24px;padding-top:18px;border-top:1px solid #ffffff14}
.tk-deck{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;gap:7px 10px;align-items:baseline}
.tk-deck span{font-size:13px;color:#9fb5ae}
.tk-deck b{font-size:14px;font-weight:700;color:#e8efe9;font-variant-numeric:tabular-nums}
.tk-deck i{grid-column:1/-1;height:4px;border-radius:4px;background:#ffffff14;overflow:hidden}
.tk-deck em{display:block;height:100%;border-radius:4px;background:var(--tk)}
.tk-done.primary{flex:none;width:auto;min-width:230px;margin:0;min-height:52px;border-radius:13px;font-size:15px}
.tk-dialog.tk-penalty{border-color:#ff7a7288}
.tk-penalty .tk{background:radial-gradient(120% 80% at 100% 0,#ff5a4f30,transparent 60%),linear-gradient(170deg,#3a1a20,#1c0d12 75%)}
.tk-penalty .tk-mark{opacity:.1}
.tk-penalty .tk-done.primary{flex:1;background:#ff7a72;color:#2a0c0c}
@keyframes tk-deal{from{opacity:0;transform:perspective(900px) rotateX(16deg) translateY(36px) scale(.95)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.game-dialog.tk-dialog{animation:none}.tk-secret strong{transition:none}}
@media (max-width:520px){.tk{padding:22px 18px 18px}.tk-foot{flex-direction:column;align-items:stretch}.tk-done.primary{min-width:0}.tk-emoji span{width:70px;height:70px;font-size:38px}.tk-desc{font-size:15.5px}}
.tk-secret .tk-secret-cover{filter:none;user-select:none}
.tk-pip{display:flex;align-items:center;justify-content:flex-start}
.tk-pips.numbered .tk-pip{justify-content:center}
.roll-button.roll-pending{background:linear-gradient(180deg,#9fe0b8,#6fc596);color:#10302a;animation:roll-pending 1.6s ease-in-out infinite}
.roll-button.roll-pending svg{width:20px;height:20px}
@keyframes roll-pending{50%{box-shadow:0 0 0 6px #8fdcae33,0 8px 26px #0006}}
@media (prefers-reduced-motion:reduce){.roll-button.roll-pending{animation:none}}
.tk-scratch{position:relative;display:grid;place-items:center;margin-top:18px;height:80px;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--tk) 22%,#10282e),#0f262c 75%);box-shadow:0 0 0 1px color-mix(in srgb,var(--tk) 55%,transparent) inset;user-select:none}
.tk-scratch strong{padding:0 16px;font-family:Prata,Georgia,serif;font-weight:400;font-size:25px;line-height:1.15;color:#fff6e2;text-align:center;text-shadow:0 0 22px color-mix(in srgb,var(--tk) 60%,transparent)}
.tk-scratch canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Ccircle cx='17' cy='17' r='13' fill='%23e8b64c' stroke='%237a5512' stroke-width='2'/%3E%3Ccircle cx='17' cy='17' r='9' fill='none' stroke='%23fff3c4' stroke-width='1.5' opacity='.7'/%3E%3Ctext x='17' y='21.5' font-size='12' font-family='Arial' font-weight='bold' text-anchor='middle' fill='%237a5512'%3E%E2%82%BD%3C/text%3E%3C/svg%3E") 17 17,crosshair;transition:opacity .5s ease}
.tk-scratch:focus-visible{outline:2px solid var(--tk);outline-offset:3px}
.tk-scratch.revealed{user-select:none}
.tk-scratch.revealed canvas{opacity:0;pointer-events:none}
.tk-scratch.revealed strong{animation:tk-win .6s cubic-bezier(.2,1.5,.4,1)}
@keyframes tk-win{from{transform:scale(.9)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.tk-scratch canvas{transition:none}.tk-scratch.revealed strong{animation:none}}
/* ---- Task kits (v0.24) ---- */
.kx{position:relative;margin-top:18px;display:grid;gap:12px}
.kx-lab{font-size:14px;font-weight:600;color:#c3d3cc}
.kx-lab b{color:#fff3d6;font-weight:800;font-variant-numeric:tabular-nums}
.kx-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:#ffffff08;box-shadow:0 0 0 1px #ffffff12 inset}
.kx-line .kx-lab{flex:1;min-width:150px}
.kx-input{width:150px;height:42px;padding:0 12px;border-radius:10px;border:1px solid #ffffff24;background:#08191e;color:#fff6e4;font:700 16px/1 Manrope,Arial,sans-serif;font-variant-numeric:tabular-nums;text-align:right;outline:none;transition:border-color .2s,box-shadow .2s}
.kx-input::placeholder{color:#7f948e;font-weight:500;font-size:13.5px}
.kx-input:focus{border-color:var(--tk);box-shadow:0 0 0 3px color-mix(in srgb,var(--tk) 25%,transparent)}
.kx-input.name{text-align:left}
.kx-input.wide{flex:1;min-width:160px}
.kx output{display:contents}
.kx-net{display:inline-flex;align-items:baseline;gap:8px;min-width:118px;justify-content:flex-end;padding:7px 11px;border-radius:999px;font-size:13.5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.kx-net b{font-family:Prata,Georgia,serif;font-weight:400;font-size:18px}
.kx-net.up{background:#2f8a5a2e;color:#9fecb9;box-shadow:0 0 0 1px #6fd49a55 inset}
.kx-net.down{background:#b03a3a26;color:#ffaaa2;box-shadow:0 0 0 1px #ff8a8044 inset}
.kx-net.idle{font-weight:600;font-size:12.5px;color:#869b95;background:none;min-width:0;padding:0}
.kx-payoff{margin:0;padding:10px 14px;border-radius:12px;background:#2f8a5a2e;color:#b8f3cc;font-weight:700;font-size:15px;text-align:center}
.kx-list{display:grid;gap:8px}
.kx-slot{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;min-height:56px;padding:7px 10px 7px 14px;border-radius:13px;background:#ffffff07;box-shadow:0 0 0 1px #ffffff12 inset;transition:background .25s,box-shadow .25s}
.kx-slot .kx-name{grid-column:2;font-size:15px;font-weight:700;color:#eef4ef;line-height:1.25}
.kx-slot .kx-name small{display:block;font-size:12px;font-weight:600;color:#8ea39d}
.kx-slot:not(:has(.kx-tick)):not(:has(.kx-crown)) .kx-name{grid-column:1/3}
.kx-tick{width:26px;height:26px;border-radius:50%;border:0;background:none;box-shadow:0 0 0 2px #ffffff40 inset;cursor:pointer;transition:background .2s,box-shadow .2s}
.kx-tick[aria-pressed=true]{background:var(--tk) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310302a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:0 0 12px color-mix(in srgb,var(--tk) 60%,transparent)}
.kx-slot.done{background:color-mix(in srgb,var(--tk) 12%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--tk) 60%,transparent) inset}
.kx-crown{width:26px;text-align:center;font-size:20px;color:#ffffff22;transition:color .25s,transform .35s cubic-bezier(.2,1.6,.4,1)}
.kx-slot.lead{background:color-mix(in srgb,#ffd36b 12%,transparent);box-shadow:0 0 0 1.5px #ffd36bbb inset,0 8px 26px #ffc34b1f}
.kx-slot.lead .kx-crown{color:#ffd36b;transform:scale(1.15)}
.kx-total{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:#00000026}
.kx-total span{font-size:13.5px;color:#a9bcb5}
.kx-total b{color:#fff3d6;font-variant-numeric:tabular-nums}
.kx-total .kx-net{margin-left:auto}
.kx-verdict{display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap;padding:14px;border-radius:14px;background:radial-gradient(120% 140% at 50% 0,#ffd36b22,#00000022);text-align:center}
.kx-verdict span{font-size:14px;color:#d4ddd6}
.kx-verdict strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:25px;color:#ffe3a3}
.kx-verdict strong.sum{color:#fff6e2}
.kx-verdict .idle{font-size:13.5px;color:#8ea39d}
.kx-btn{height:40px;padding:0 16px;border-radius:10px;border:1px solid #ffffff26;background:#ffffff10;color:#f2efe4;font:700 14px Manrope,Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .1s}
.kx-btn:hover{border-color:var(--tk)}
.kx-btn:active{transform:scale(.97)}
.kx-btn.gold{background:#f0c27a;border-color:#f0c27a;color:#2a1d08}
.kx-btn.ghost{width:40px;padding:0}
.kx-chase{display:grid;gap:12px}
.kx-chase-top{display:flex;align-items:baseline;justify-content:space-between}
.kx-chase-top strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:24px;color:var(--tk);font-variant-numeric:tabular-nums}
.kx-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(20px,1fr));gap:5px}
.kx-cells i{height:20px;border-radius:5px;background:#ffffff0f;box-shadow:0 0 0 1px #ffffff14 inset;transition:background .2s}
.kx-cells i.on{background:var(--tk);box-shadow:0 0 8px color-mix(in srgb,var(--tk) 50%,transparent)}
.kx-chase-actions{display:flex;gap:8px;flex-wrap:wrap}
.kx-chase-actions .gold{margin-left:auto}
.kx-hit .kx-chase-actions .gold{background:#8fe0a8;border-color:#8fe0a8;color:#10302a;box-shadow:0 0 22px #8fe0a866}
.kx-hit .kx-cells i.on{background:#8fe0a8}
.kx-bomb{justify-self:start;height:40px;padding:0 16px;border-radius:999px;border:1px dashed #ffd36b88;background:none;color:#ffe3a3;font:700 14px Manrope,Arial,sans-serif;cursor:pointer}
.kx-bomb[aria-pressed=true]{border-style:solid;background:#ffd36b;color:#2a1d08;box-shadow:0 0 26px #ffc34b88}
.kx-boom .kx-total{box-shadow:0 0 0 1.5px #ffd36b inset}
.kx-ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.kx-step{display:grid;gap:3px;padding:10px 4px;border-radius:12px;border:1px solid #ffffff1c;background:#ffffff07;color:#e9efe9;cursor:pointer;text-align:center;transition:background .2s,border-color .2s}
.kx-step small{font-size:11.5px;color:#8ea39d;font-weight:600}
.kx-step b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.kx-step[aria-pressed=true]{background:color-mix(in srgb,var(--tk) 22%,transparent);border-color:var(--tk)}
.kx-step[aria-pressed=true] small{color:var(--tk)}
.kx-duel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.kx-fighter{position:relative;display:grid;gap:8px;padding:14px;border-radius:14px;background:#ffffff07;box-shadow:0 0 0 1px #ffffff14 inset;transition:opacity .25s,box-shadow .25s,background .25s}
.kx-fighter small{font-size:12.5px;font-weight:700;color:var(--tk)}
.kx-fighter .kx-input{width:100%}
.kx-fighter.won{background:#ffd36b17;box-shadow:0 0 0 1.5px #ffd36b inset,0 10px 30px #ffc34b26}
.kx-fighter.won::before{content:"♛";position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:24px;color:#ffd36b;text-shadow:0 0 12px #ffc34b}
.kx-fighter.won .kx-btn{background:#ffd36b;color:#2a1d08;border-color:#ffd36b}
.kx-fighter.lost{opacity:.45}
.kx-vs{font-family:Prata,Georgia,serif;font-size:22px;color:var(--tk)}
.kx-timer{display:grid;justify-items:center;gap:6px;padding:16px;border-radius:16px;background:#00000026;box-shadow:0 0 0 1px #ffffff12 inset}
.kx-timer strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:56px;line-height:1;color:#fff3d6;font-variant-numeric:tabular-nums}
.kx-timer span{font-size:14px;color:#a9bcb5;margin-bottom:6px}
.kx-run strong{color:var(--tk)}
.kx-over strong{color:#ff9a8f}
@media (max-width:520px){.kx-slot{grid-template-columns:auto 1fr;row-gap:8px}.kx-slot .kx-input{grid-column:1/-1;width:100%}.kx-slot:not(:has(.kx-tick)):not(:has(.kx-crown)) .kx-name{grid-column:1/-1}.kx-ladder{grid-template-columns:repeat(3,1fr)}.kx-duel{grid-template-columns:1fr}.kx-vs{text-align:center}.kx-input{width:100%}}
.kx [hidden]{display:none!important}
.mx-fly{position:absolute;z-index:20;pointer-events:none;font-family:Prata,Georgia,serif;font-size:120px;line-height:1;color:#ffcf6b;text-shadow:0 0 30px #ff9d3c,0 0 80px #ff7a2a99,0 6px 0 #7a3d0a;-webkit-text-stroke:2px #fff1c2}
.tk-mult.pending{opacity:0}
.tk-n.tk-mx{color:#ffb39c}
.tk-desc .tk-n.tk-mx{color:#ffc2ad}
.tk-n{display:inline-block}
/* tile info (map / spectate) takes priority over the last-roll panel */
.roll-result{transition:opacity .2s}
.h-screen:has(#tile-info:not([hidden])) .roll-result{opacity:0!important;visibility:hidden;pointer-events:none}
#tile-info:not([hidden]){z-index:6}
.roll-result.under-tile{opacity:0!important;visibility:hidden}
/* ---- Creators intro ---- */
.go-intro{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:radial-gradient(80% 70% at 50% 45%,#0d2229 0,#050d11 70%,#020507 100%);color:#f6efdc;font-family:Manrope,Arial,sans-serif;transition:opacity .9s ease;overflow:hidden}
.go-intro.gi-out{opacity:0;pointer-events:none}
.gi-gate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:none;border:0;color:#f6efdc;cursor:pointer;transition:opacity .5s}
.gi-gate span{font-family:Prata,Georgia,serif;font-size:30px;animation:gi-breathe 2.4s ease-in-out infinite}
.gi-gate small{font-size:13px;color:#7f958f}
.gi-play .gi-gate{opacity:0;pointer-events:none}
@keyframes gi-breathe{50%{opacity:.45}}
.gi-stage{position:relative;display:flex;flex-direction:column;align-items:center;opacity:0;cursor:pointer}
.gi-play .gi-stage{opacity:1;animation:gi-push 7.4s linear both}
@keyframes gi-push{from{transform:scale(1)}to{transform:scale(1.045)}}
.gi-light{position:absolute;left:50%;top:120px;width:900px;height:520px;margin:-260px 0 0 -450px;background:radial-gradient(closest-side,#ffcf7a2e,#ffcf7a0d 55%,transparent);opacity:0;pointer-events:none}
.gi-play .gi-light{animation:gi-light 7s ease both}
@keyframes gi-light{0%,8%{opacity:0;transform:scale(.6)}35%{opacity:1;transform:scale(1)}60%{opacity:.75}66%{opacity:1.2;transform:scale(1.15)}100%{opacity:.6;transform:scale(1.2)}}
.gi-duo{position:relative;display:flex;gap:clamp(36px,7vw,96px)}
.gi-person{margin:0;display:flex;flex-direction:column;align-items:center;gap:18px;opacity:0}
.gi-play .gi-person{animation:gi-emerge 1.7s cubic-bezier(.2,.7,.2,1) both}
.gi-play .gi-person:nth-child(1){animation-delay:.55s}
.gi-play .gi-person:nth-child(2){animation-delay:.85s}
@keyframes gi-emerge{from{opacity:0;transform:scale(1.14);filter:blur(10px) brightness(.3)}to{opacity:1;transform:none;filter:none}}
.gi-ava{position:relative;width:clamp(120px,15vw,176px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px #efbe80aa,0 0 0 8px #efbe8014,0 20px 60px #000a,0 0 70px #ffcf7a33}
.gi-ava img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05)}
.gi-ava::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#fff7 50%,transparent 65%);transform:translateX(-120%)}
.gi-play .gi-ava::after{animation:gi-sweep 1.4s ease-in-out 2.1s both}
.gi-play .gi-person:nth-child(2) .gi-ava::after{animation-delay:2.3s}
@keyframes gi-sweep{to{transform:translateX(120%)}}
.gi-letter{display:grid;place-items:center;background:linear-gradient(180deg,#fdb255,#f78639)}
.gi-letter b{font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:clamp(56px,7vw,82px);color:#fff;line-height:1}
.gi-person figcaption{display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0}
.gi-play .gi-person figcaption{animation:gi-up .9s ease both}
.gi-play .gi-person:nth-child(1) figcaption{animation-delay:1.55s}
.gi-play .gi-person:nth-child(2) figcaption{animation-delay:1.8s}
.gi-person strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:clamp(22px,2.4vw,30px);color:#fbf3df}
.gi-person span{font-size:14px;font-weight:600;color:#e2b577}
@keyframes gi-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.gi-present{margin:42px 0 0;font-size:16px;letter-spacing:.32em;color:#9fb4ae;opacity:0}
.gi-play .gi-present{animation:gi-up 1s ease 3.25s both}
.gi-title{margin:14px 0 0;display:flex;flex-direction:column;align-items:center;font-family:Prata,Georgia,serif;font-weight:400;letter-spacing:-.01em;line-height:1;opacity:0}
.gi-title span{font-size:clamp(44px,6.2vw,82px);color:#f7efdc;text-shadow:0 0 40px #ffcf7a55}
.gi-title small{margin-top:14px;font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:.9em;margin-right:-.9em;color:#efbe80}
.gi-play .gi-title{animation:gi-title 1.3s cubic-bezier(.2,.8,.2,1) 4.35s both}
@keyframes gi-title{0%{opacity:0;transform:scale(1.18);filter:blur(12px) brightness(3)}35%{opacity:1;filter:blur(0) brightness(1.8)}100%{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){.gi-play .gi-stage,.gi-play .gi-light,.gi-play .gi-ava::after{animation:none}.gi-play .gi-person,.gi-play .gi-person figcaption,.gi-play .gi-present,.gi-play .gi-title{animation-name:gi-fade;animation-duration:.6s}}
@keyframes gi-fade{from{opacity:0}to{opacity:1}}
@media (max-width:560px){.gi-duo{gap:28px}.gi-person span{font-size:12.5px}}
.gi-gate{z-index:2}.gi-stage{pointer-events:none}.gi-play .gi-stage{pointer-events:auto}
.tk-copy{cursor:copy;-webkit-user-select:none;user-select:none}
.tk-copied{position:absolute;z-index:30;transform:translate(-50%,-100%);padding:5px 10px;border-radius:8px;background:#f0c27a;color:#2a1d08;font:700 12.5px Manrope,Arial,sans-serif;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px #0006;animation:tk-copied 1.3s ease both}
@keyframes tk-copied{0%{opacity:0;transform:translate(-50%,-80%)}15%{opacity:1;transform:translate(-50%,-100%)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-125%)}}
.tk-scratch .tk-n{color:inherit}.tk-scratch .tk-n.tk-mx{color:#ffc2ad}
/* four people: the two creators, then the two interns a beat later and a size smaller */
.gi-duo{align-items:flex-start}
.gi-interns{display:flex;gap:clamp(24px,4vw,56px);margin-left:clamp(0px,1vw,16px);padding-top:clamp(18px,2.4vw,30px)}
.gi-intern .gi-ava{width:clamp(88px,10.5vw,124px);box-shadow:0 0 0 2px #ffffff66,0 0 0 7px #ffffff0d,0 16px 44px #000a}
.gi-intern strong{font-size:clamp(18px,1.9vw,24px)}
.gi-intern span{color:#9fb4ae}
.gi-play .gi-intern{animation-name:gi-emerge}
.gi-play .gi-interns .gi-person:nth-child(1){animation-delay:1.45s}
.gi-play .gi-interns .gi-person:nth-child(2){animation-delay:1.7s}
.gi-play .gi-interns .gi-person:nth-child(1) figcaption{animation-delay:2.3s}
.gi-play .gi-interns .gi-person:nth-child(2) figcaption{animation-delay:2.5s}
.gi-play .gi-interns .gi-person .gi-ava::after{animation:none}
@media (max-width:760px){.gi-duo{flex-wrap:wrap;justify-content:center}.gi-interns{margin:0;padding-top:0}}
/* ---- Finale credits ---- */
.go-finale{position:fixed;inset:0;z-index:99999;background:#000;color:#f3ecda;overflow:hidden;opacity:0;transition:opacity .35s ease-in;font-family:Manrope,Arial,sans-serif}
.go-finale.on{opacity:1}
.go-finale.out{opacity:0;transition:opacity 1s ease}
.gf-roll{position:absolute;top:0;left:0;right:0;margin:0 auto;width:min(760px,92vw);text-align:center;transform:translateY(100vh);will-change:transform}
.gf-kicker{margin:0;font-size:14px;letter-spacing:.3em;color:#8a9a95}
.gf-name{margin:28px 0 0;font-family:Prata,Georgia,serif;font-weight:400;font-size:clamp(46px,7vw,84px);line-height:1.05;color:#fff6e2}
.gf-sub{margin:12px 0 0;font-size:18px;color:#e2b577}
.gf-list{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:16px;margin:90px 0 0;font-size:19px;line-height:1.35}
.gf-list dt{text-align:right;color:#8fa29c}
.gf-list dd{margin:0;text-align:left;color:#fbf5e6;font-weight:600}
.gf-head{margin:120px 0 34px;font-family:Prata,Georgia,serif;font-weight:400;font-size:30px;color:#efbe80}
.gf-team{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 20px}
.gf-team figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.gf-team img{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #efbe8066}
.gf-team strong{display:block;font-family:Prata,Georgia,serif;font-weight:400;font-size:24px;color:#fff6e2}
.gf-team span{display:block;margin-top:4px;font-size:14px;color:#9fb4ae}
.gf-song{margin:100px 0 0;font-size:16px;color:#8fa29c}
.gf-end{margin:140px 0 0;font-family:Prata,Georgia,serif;font-size:clamp(34px,4.6vw,52px);color:#fff6e2}
.gf-skip{position:absolute;right:24px;bottom:22px;padding:8px 14px;border-radius:999px;border:1px solid #ffffff22;background:#ffffff0a;color:#8fa29c;font:600 13px Manrope,Arial,sans-serif;cursor:pointer;opacity:.6;transition:opacity .2s}
.gf-skip:hover{opacity:1;color:#fff}
.song-actions{display:flex;align-items:center;gap:8px}
.song-actions label{cursor:pointer}
@media (max-width:560px){.gf-list{font-size:16px;column-gap:16px}}
.tk-emo{width:52px;height:52px;display:block;-webkit-user-drag:none;user-select:none}@media (max-width:520px){.tk-emo{width:44px;height:44px}}
.gf-small{margin:28px 0 0;font-size:13px;color:#5f716c}
.h-emo{display:inline-flex;gap:2px;vertical-align:-3px;margin-right:6px}.h-emo .tk-emo{width:15px;height:15px}
.tk-why{position:relative;margin:14px 0 -6px;font-size:13.5px;font-weight:600;color:#ffb39c}.tk-mult{white-space:nowrap}.mx-fly{white-space:nowrap}
/* quiz widget */
.quiz-widget{position:absolute;top:84px;right:26px;z-index:3;display:flex;align-items:center;gap:12px;width:300px;padding:12px 12px 12px 14px;border-radius:14px;background:#11262ce8;box-shadow:0 0 0 1px #ffffff14 inset,0 12px 34px #0007;pointer-events:auto;font-family:Manrope,Arial,sans-serif}
.quiz-widget .qw-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#efbe8022;color:#efbe80}
.quiz-widget .qw-icon svg{width:20px;height:20px}
.quiz-widget .qw-text{flex:1;min-width:0;display:grid;gap:3px}
.quiz-widget strong{font-size:14.5px;color:#f6efdc}
.quiz-widget small{font-size:12.5px;color:#9fb4ae;line-height:1.35}
.quiz-widget.locked{opacity:.78}
.quiz-widget.locked .qw-icon{background:#ffffff10;color:#8fa29c}
.quiz-widget.open{box-shadow:0 0 0 1.5px #efbe80aa inset,0 12px 34px #0007,0 0 28px #efbe8033}
.qw-go{flex:none;height:38px;padding:0 16px;border-radius:10px;background:#efbe80;color:#243332;font-weight:800;font-size:13.5px}
.qw-go:hover{background:#ffce90}
.quiz-widget.qw-new{animation:qw-pulse 1.1s ease-in-out 4}
@keyframes qw-pulse{50%{transform:scale(1.04);box-shadow:0 0 0 2px #ffd36b inset,0 12px 34px #0007,0 0 48px #ffc34b77}}
@media (max-width:760px){.quiz-widget{top:auto;bottom:250px;right:12px;width:min(300px,calc(100vw - 24px))}}
/* potion button */
.potion-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid #8fdcae55;background:#0f2a2ccc;color:#bfeccf;font:700 13px Manrope,Arial,sans-serif;pointer-events:auto;cursor:pointer}
.potion-btn svg{width:17px;height:17px}
.potion-btn.armed{background:#8fdcae;color:#10302a;border-color:#8fdcae;box-shadow:0 0 22px #8fdcae66}
.kx-duel-cost{display:grid;gap:6px}
.kx-duel-cost span{font-size:12.5px;color:#a9bcb5}
.kx-duel-cost .kx-net{justify-content:center}
.kx-note{flex:none!important;min-width:0!important;font-size:12.5px;color:#8fa29c}
/* three locations: one row, no empty slot */
.location-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:560px){.location-grid{grid-template-columns:1fr!important}}
/* emoji-guess cards: centred like the emoji row */
.tk-dialog:has(.tk-emoji) .tk-title{text-align:center}
.tk-title{-webkit-user-select:none;user-select:none}
/* quiz widget: hard to miss once the quiz is open */
.quiz-widget.open{overflow:hidden;background:linear-gradient(135deg,#4a3714f2,#1a2e2ff2 70%);box-shadow:0 0 0 1.5px #ffd36b inset,0 12px 34px #0007,0 0 26px #ffc34b55;animation:qw-glow 2.4s ease-in-out infinite}
.quiz-widget.open::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#fff3c955 48%,transparent 66%);transform:translateX(-110%);animation:qw-shine 4.2s ease-in-out 1s infinite;pointer-events:none}
.quiz-widget.open .qw-icon{background:#ffd36b;color:#3a2a08;box-shadow:0 0 16px #ffc34b99;animation:qw-bob 2.4s ease-in-out infinite}
.quiz-widget.open strong{color:#ffe3a3}
.quiz-widget.open small{color:#e4d6b4}
.quiz-widget.open .qw-go{position:relative;z-index:1;box-shadow:0 0 0 0 #ffd36b88;animation:qw-btn 2.4s ease-out infinite}
@keyframes qw-glow{50%{box-shadow:0 0 0 2px #ffe08a inset,0 12px 34px #0007,0 0 46px #ffc34b99}}
@keyframes qw-shine{0%{transform:translateX(-110%)}45%,100%{transform:translateX(110%)}}
@keyframes qw-bob{50%{transform:rotate(-8deg) scale(1.08)}}
@keyframes qw-btn{0%{box-shadow:0 0 0 0 #ffd36b99}70%,100%{box-shadow:0 0 0 12px #ffd36b00}}
@media (prefers-reduced-motion:reduce){.quiz-widget.open,.quiz-widget.open::after,.quiz-widget.open .qw-icon,.quiz-widget.open .qw-go{animation:none}}
.kx-hands{display:grid;gap:12px}
.kx-hands-top{display:flex;align-items:baseline;gap:10px}
.kx-hands-top strong{font-family:Prata,Georgia,serif;font-weight:400;font-size:24px;color:var(--tk);margin-right:18px;font-variant-numeric:tabular-nums}
.kx-hand-list{display:flex;gap:8px;flex-wrap:wrap}
.kx-hand-list:empty{display:none}
.kx-hand{display:grid;gap:2px;min-width:92px;padding:8px 12px;border-radius:12px;background:#ffffff08;box-shadow:0 0 0 1px #ffffff14 inset}
.kx-hand small{font-size:11.5px;color:#8ea39d;font-weight:600}
.kx-hand b{font-size:15px;font-variant-numeric:tabular-nums;color:#f2efe4}
.kx-hand i{font-style:normal;font-size:12px;font-weight:700}
.kx-hand.won{box-shadow:0 0 0 1.5px #8fe0a8 inset;background:#2f8a5a22}.kx-hand.won i{color:#9fecb9}
.kx-hand.lost{box-shadow:0 0 0 1.5px #ff8a8066 inset;background:#b03a3a1c}.kx-hand.lost i{color:#ffaaa2}
.kx-btn:disabled{opacity:.4;cursor:default}
.kx-payoff.bad{background:#b03a3a26;color:#ffc2bb}
.kx-note-line{margin:0;font-size:14px;color:#c7d6cf}.kx-note-line:empty{display:none}.kx-note-line b{color:#ffe2a6;font-variant-numeric:tabular-nums}
