@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";.queens-game{display:flex;flex-direction:column;gap:13px;margin:20px 0;color:#272331}.queens-game-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.queens-game-header h3{font-size:1.3rem;color:#252333}.queens-timer{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:800;color:#312b31;background:#f3eadc;border:1px solid #ded2c1;padding:8px 13px;border-radius:10px}.queens-instructions{margin:0;color:#7d7781}.queens-status{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#514c55;font-size:.86rem;font-weight:800}.queens-status span{font-size:.78rem;font-weight:500;color:#77717c}.queens-board{display:grid;gap:0;width:min(100%,640px);margin:4px auto;background:#f4eee5;border:2px solid #322d35;border-radius:12px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 8px 25px #0002}.queens-cell{display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:0;margin:0;border-style:solid;border-color:#38333a;background:#eee;color:#151419;border-radius:0!important;transition:transform .12s,filter .12s,opacity .12s}.queens-cell:not(:disabled):hover{filter:brightness(.96);z-index:1}.queens-cell:disabled{opacity:1;cursor:not-allowed}.queens-cell.has-queen{z-index:2}.queens-cell.has-dot .queens-dot{width:clamp(6px,1.1vw,11px);height:clamp(6px,1.1vw,11px);border-radius:50%;background:#171519;animation:queens-dot-in .12s ease-out}.queens-crown-icon{width:clamp(22px,5vw,39px);height:clamp(22px,5vw,39px);color:#171519;filter:drop-shadow(0 1px 1px #fff8);animation:queens-crown-in .16s ease-out}.queens-cell.line-excluded{box-shadow:inset 0 0 0 3px #12101855}.queens-cell.hint-cell{outline:3px solid #f39337;outline-offset:-4px;z-index:3;animation:queens-hint .65s ease-in-out infinite alternate}.queens-cell.context-flash{filter:brightness(.8)}.queens-toolbar{display:flex;gap:8px;flex-wrap:wrap}.queens-toolbar .btn{min-height:38px;padding:8px 12px;font-size:.82rem}.queens-notice{margin:0;padding:9px 12px;border-radius:9px;background:#f1eadf;color:#504753;font-size:.86rem}.queens-settings{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:13px;border:1px solid #ded5c9;border-radius:10px;background:#faf7f1;color:#49434e;font-size:.83rem}.queens-settings label{display:flex;align-items:center;gap:7px}.queens-settings select{border:1px solid #d4cabc;border-radius:8px;background:#fff;color:#272331;padding:8px}.queens-results{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:1px solid #b7ceaa;border-radius:12px;background:#eef5e9;color:#29382b}.queens-results>strong{font-size:1.1rem;letter-spacing:.035em}.queens-results>span{font-size:.84rem}.queens-no-animation .queens-cell,.queens-no-animation .queens-cell *{animation:none!important;transition:none!important}@keyframes queens-dot-in{0%{transform:scale(.2);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes queens-crown-in{0%{transform:scale(.6);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes queens-hint{to{filter:brightness(1.12);outline-offset:-2px}}@media(max-width:540px){.queens-game{gap:10px}.queens-board{width:min(100%,540px);border-radius:8px}.queens-toolbar .btn{flex:1 1 42%;font-size:.76rem;padding:7px}.queens-status{font-size:.8rem}.queens-settings{gap:9px}.queens-settings label:first-child{width:100%;justify-content:space-between}}.snap-game{--snap-ink:#242321;--snap-muted:#77756f;display:flex;flex-direction:column;align-items:center;gap:14px;color:#f0f2f9}.snap-game-top{width:min(100%,640px);display:flex;align-items:center;gap:14px;padding:10px 4px}.snap-timer-wrap{display:flex;flex-direction:column;min-width:74px}.snap-timer-label{font-size:.63rem;font-weight:800;letter-spacing:.16em;color:#a9a9ac}.snap-timer{font-family:Outfit,sans-serif;font-variant-numeric:tabular-nums;font-size:1.4rem;letter-spacing:.06em}.snap-top-stats{display:flex;flex:1;justify-content:center;gap:9px;flex-wrap:wrap}.snap-top-stats span{font-size:.76rem;color:#d0d1d9;background:#ffffff0d;border:1px solid #ffffff13;border-radius:24px;padding:5px 9px}.snap-icon-button{width:39px;height:39px;border:1px solid #ffffff22;border-radius:50%;display:grid;place-items:center;color:#eee9ff;background:#ffffff0a}.snap-instructions{width:min(100%,640px);margin:0;color:#b7bbca;font-size:.86rem;text-align:center}.snap-practice-banner{width:min(100%,640px);margin:0;padding:9px 12px;border:1px solid #8f7544;border-radius:9px;background:#42351e;color:#f5d99b;font-size:.8rem;text-align:center;display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.snap-practice-banner button{border:0;border-bottom:1px solid #f5d99b;padding:2px 0;background:transparent;color:#ffe9b8;font-size:.77rem;font-weight:700}.snap-board{position:relative;width:min(100%,620px);aspect-ratio:1/1;overflow:hidden;border:5px solid #494843;border-radius:18px;background:#e9dfc9;box-shadow:0 14px 44px #0005;touch-action:none;user-select:none;-webkit-user-select:none}.snap-board.snap-disabled{opacity:.7}.snap-cells,.snap-path-layer,.snap-markers{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.snap-cells{display:grid;grid-template-columns:repeat(var(--snap-size),minmax(0,1fr));grid-template-rows:repeat(var(--snap-size),minmax(0,1fr))}.snap-cell{border-right:1px solid #a9a49a;border-bottom:1px solid #a9a49a;background:#efe6d4}.snap-cell:nth-child(2n){background:#e9dfca}.snap-cell-last-row{border-bottom:0}.snap-cell-last-col{border-right:0}.snap-path-layer{z-index:2;pointer-events:none;overflow:visible}.snap-markers{z-index:3;display:grid;grid-template-columns:repeat(var(--snap-size),minmax(0,1fr));grid-template-rows:repeat(var(--snap-size),minmax(0,1fr))}.snap-cell-button{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:0;border-radius:0;padding:0;background:transparent;color:var(--snap-ink);touch-action:none}.snap-cell-button:focus-visible{z-index:1;outline:3px solid #5b4bda;outline-offset:-5px}.snap-number{display:grid;place-items:center;width:clamp(25px,6.1vw,43px);height:clamp(25px,6.1vw,43px);border-radius:50%;background:#252423;color:#fff;font-family:Outfit,sans-serif;font-size:clamp(.75rem,2.5vw,1.18rem);font-weight:800;box-shadow:0 2px 5px #0003;transition:transform .18s ease,background .18s ease}.snap-number.visited{background:#292725;transform:scale(.91);box-shadow:0 0 0 3px #ffffff78,0 2px 6px #0003}.snap-step-number{font-size:clamp(.61rem,1.7vw,.88rem);font-weight:800;color:#423a33;background:#fff9;border-radius:20px;padding:2px 5px;pointer-events:none}.snap-hint-marker{position:absolute;right:8%;top:8%;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff4ad;color:#715400;box-shadow:0 2px 8px #0003;animation:snap-hint-pulse 1.1s ease-in-out infinite alternate}.snap-erase-mode .snap-cell-button{cursor:crosshair}.snap-progress-line{width:min(100%,640px);min-height:23px;display:flex;justify-content:center;gap:10px;color:#aaaec0;font-size:.79rem;text-align:center}.snap-progress-line span:first-child{max-width:530px}.snap-controls{width:min(100%,640px);display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.snap-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #ffffff20;border-radius:9px;padding:7px 10px;background:#ffffff08;color:#e6e5ef;font-size:.75rem;font-weight:700}.snap-tool:hover:not(:disabled),.snap-tool.selected{border-color:#a58cff;background:#a58cff21;color:#e0d4ff}.snap-settings{width:min(100%,640px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #ffffff20;border-radius:12px;background:#111522}.snap-settings label{display:flex;align-items:center;gap:8px;color:#c5c8d6;font-size:.8rem}.snap-settings label:has(select){flex-direction:column;align-items:flex-start}.snap-settings select{width:100%;min-height:37px;border:1px solid #3a4058;border-radius:8px;background:#0d1220;color:#f3f1fc;padding:7px 9px}.snap-settings input{accent-color:#aa91ff}.snap-settings p{grid-column:1/-1;margin:0;color:#b7bbca;font-size:.8rem}.snap-new-game-controls{width:min(100%,640px);display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.snap-new-game-controls .btn,.snap-results .btn{min-height:38px;padding:8px 13px;font-size:.8rem}.snap-new-game-controls span{width:100%;text-align:center;color:#e8c989;font-size:.78rem}.snap-results{width:min(100%,640px);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;border:1px solid #746342;border-radius:15px;background:linear-gradient(135deg,#382e22,#211e22);text-align:center;animation:snap-result-in .38s ease-out both}.snap-results h3{font-size:clamp(1rem,3vw,1.35rem);color:#ffe3ac}.snap-results p{margin:0;color:#d6d1c8}.snap-win-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#a27c38;color:#fff;box-shadow:0 0 0 8px #b88a3522}.snap-results dl{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:5px 0}.snap-results dl div{padding:8px 4px;border:1px solid #ffffff16;border-radius:9px;background:#ffffff08}.snap-results dt{font-size:.68rem;color:#c0b9aa}.snap-results dd{margin:5px 0 0;font-weight:800;font-variant-numeric:tabular-nums;font-size:.82rem}.snap-no-animation *{animation:none!important;transition:none!important}@keyframes snap-hint-pulse{0%{transform:scale(.9)}to{transform:scale(1.1)}}@keyframes snap-result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.snap-game{gap:11px}.snap-game-top{gap:7px;padding:3px 1px}.snap-timer{font-size:1.2rem}.snap-top-stats{gap:5px}.snap-top-stats span{font-size:.66rem;padding:4px 7px}.snap-board{width:min(100%,440px);border-width:4px;border-radius:13px}.snap-controls{gap:5px}.snap-tool{min-height:35px;padding:6px 8px;font-size:.69rem}.snap-tool svg{width:15px;height:15px}.snap-settings{grid-template-columns:1fr}.snap-settings p{grid-column:auto}.snap-results{padding:14px 9px}.snap-results dl{gap:4px}.snap-results dl div{padding:7px 2px}.snap-results dt{font-size:.61rem}.snap-results dd{font-size:.72rem}}@media(prefers-reduced-motion:reduce){.snap-game *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.pipes-game{--pipe-ink:#343434;display:flex;flex-direction:column;align-items:center;gap:13px;color:#eff1f7}.pipes-game-top{width:min(100%,680px);display:flex;align-items:center;gap:12px}.pipes-timer-wrap{display:flex;flex-direction:column;min-width:69px}.pipes-timer-wrap span{font-size:.62rem;font-weight:800;letter-spacing:.15em;color:#a9a9ac}.pipes-timer-wrap strong{font-family:Outfit,sans-serif;font-size:1.35rem;font-variant-numeric:tabular-nums}.pipes-stat-pills{display:flex;flex:1;justify-content:center;flex-wrap:wrap;gap:7px}.pipes-stat-pills span{padding:5px 9px;border:1px solid #ffffff18;border-radius:25px;background:#ffffff0b;color:#d3d4dd;font-size:.75rem}.pipes-timer-button{width:38px;height:38px;border:1px solid #ffffff24;border-radius:50%;background:#ffffff0a;color:#f0f0f5;font-weight:800}.pipes-instructions{width:min(100%,680px);margin:0;text-align:center;color:#b8bbca;font-size:.86rem}.pipes-practice-banner{width:min(100%,680px);padding:8px 12px;border:1px solid #8f7544;border-radius:9px;background:#42351e;color:#f5d99b;text-align:center;font-size:.79rem}.pipes-practice-banner button{margin-left:8px;border:0;border-bottom:1px solid #f5d99b;background:none;color:#ffe9b8;font-weight:700}.pipes-board-frame{width:min(100%,680px);padding:10px;border:1px solid #c7c1b2;border-radius:16px;background:#e7decb;box-shadow:0 12px 36px #0005}.pipes-board{display:grid;grid-template-columns:repeat(var(--pipes-size),minmax(0,1fr));grid-template-rows:repeat(var(--pipes-size),minmax(0,1fr));width:100%;aspect-ratio:1/1;overflow:hidden;border:1px solid #bbb5a8;background:#f3eddf;touch-action:manipulation;user-select:none;-webkit-user-select:none}.pipe-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:0;border-right:1px solid #d0cabd;border-bottom:1px solid #d0cabd;padding:0;background:#f0eadc;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pipe-cell:nth-child(2n){background:#ede6d7}.pipe-cell:hover:not(:disabled){background:#e5dfd1}.pipe-cell:focus-visible{z-index:2;outline:3px solid #24899a;outline-offset:-3px}.pipe-svg{width:100%;height:100%;overflow:visible;pointer-events:none}.pipe-rotation{transform-box:fill-box;transform-origin:center;transition:transform .15s cubic-bezier(.2,.8,.25,1)}.pipe-outline{fill:none;stroke:var(--pipe-ink);stroke-width:25;stroke-linecap:round;stroke-linejoin:round}.pipe-interior{fill:none;stroke:#817f79;stroke-width:15;stroke-linecap:round;stroke-linejoin:round;transition:stroke .18s ease}.pipe-active .pipe-interior{stroke:#a7e3e6}.pipe-water-flow{fill:none;stroke:#36adc0;stroke-width:4;stroke-linecap:round;stroke-dasharray:3 13;animation:pipe-water-flow 1.3s linear infinite}.pipe-end-cap{fill:#494844;stroke:#343434;stroke-width:4}.pipe-end-cap-active{fill:#9ce0e4;stroke:#333;stroke-width:2}.pipe-source-cell .pipe-water-source{pointer-events:none}.pipe-water-source circle:first-child{fill:#2eabc1;stroke:#2f3738;stroke-width:4}.pipe-water-source .pipe-source-core{fill:#fff}.pipe-hint-cell{z-index:1;box-shadow:inset 0 0 0 3px #f5c44f,0 0 10px #e1ab30;animation:pipe-hint-pulse .8s ease-in-out infinite alternate}.pipe-active-marker{position:absolute;right:3px;top:2px;color:#176c76;font-size:clamp(.47rem,1.2vw,.75rem);line-height:1}.pipes-colorblind .pipe-active .pipe-water-flow{stroke-dasharray:2 7;stroke-width:6}.pipes-progress-message{width:min(100%,680px);min-height:22px;text-align:center;color:#b8bbca;font-size:.8rem}.pipes-controls,.pipes-new-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px}.pipes-controls button,.pipes-new-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 11px;border:1px solid #ffffff20;border-radius:9px;background:#ffffff09;color:#e9e8f0;font-size:.76rem;font-weight:700}.pipes-controls button:hover:not(:disabled),.pipes-new-controls button:hover:not(:disabled){border-color:#61bfc6;background:#61bfc61a}.pipes-controls button:disabled,.pipes-new-controls button:disabled{opacity:.5;cursor:not-allowed}.pipes-settings{width:min(100%,680px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:14px;border:1px solid #ffffff20;border-radius:12px;background:#111522}.pipes-settings label{display:flex;align-items:center;gap:8px;color:#c8cad5;font-size:.8rem}.pipes-settings label:has(select){flex-direction:column;align-items:flex-start}.pipes-settings input{accent-color:#54b8c3}.pipes-settings select{width:100%;min-height:37px;padding:7px 9px;border:1px solid #3a4058;border-radius:8px;background:#0d1220;color:#f3f1fc}.pipes-results{width:min(100%,680px);display:flex;flex-direction:column;align-items:center;gap:11px;padding:20px 15px;border:1px solid #39777c;border-radius:15px;background:linear-gradient(140deg,#183c41,#1c2931);text-align:center;animation:pipe-results-in .38s ease-out both}.pipes-results h3{font-size:clamp(1rem,3vw,1.35rem);color:#bcf4ed}.pipes-win-icon{display:grid;place-items:center;width:51px;height:51px;border-radius:50%;background:#42a9a1;color:#fff;box-shadow:0 0 0 8px #42a9a122}.pipes-result-stats{display:grid;width:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.pipes-result-stats span{display:flex;flex-direction:column;gap:5px;padding:8px 4px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff08;color:#c0d5d4;font-size:.68rem}.pipes-result-stats strong{color:#f2fffe;font-size:.82rem}.pipes-results .btn{min-height:38px;padding:8px 13px;font-size:.8rem}.pipes-no-animation *{animation:none!important;transition:none!important}@keyframes pipe-water-flow{to{stroke-dashoffset:-32}}@keyframes pipe-hint-pulse{0%{box-shadow:inset 0 0 0 2px #f5c44f,0 0 4px #e1ab30}to{box-shadow:inset 0 0 0 4px #ffe18a,0 0 14px #e1ab30}}@keyframes pipe-results-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.pipes-game{gap:10px}.pipes-game-top{gap:7px}.pipes-stat-pills{gap:4px}.pipes-stat-pills span{font-size:.64rem;padding:4px 6px}.pipes-board-frame{padding:5px;width:min(100%,520px);border-radius:12px}.pipe-outline{stroke-width:27}.pipe-interior{stroke-width:16}.pipes-settings{grid-template-columns:1fr}.pipes-result-stats{gap:3px}.pipes-result-stats span{font-size:.6rem;padding:7px 2px}.pipes-result-stats strong{font-size:.72rem}}@media(prefers-reduced-motion:reduce){.pipes-game *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.pipe-rotation{transform-box:view-box;transform-origin:50% 50%}.pipes-result-stats{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:600px){.pipes-result-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.atmos-game{display:flex;flex-direction:column;align-items:center;gap:12px;color:#eff1f7}.atmos-topbar{width:min(100%,760px);display:flex;align-items:center;gap:14px}.atmos-timer{display:flex;min-width:68px;flex-direction:column}.atmos-timer span{color:#a9a9ac;font-size:.62rem;font-weight:800;letter-spacing:.15em}.atmos-timer strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.atmos-stats{display:flex;flex:1;justify-content:center;flex-wrap:wrap;gap:7px}.atmos-stats span{padding:5px 9px;border:1px solid #ffffff18;border-radius:25px;background:#ffffff0b;color:#d3d4dd;font-size:.75rem}.atmos-instructions{width:min(100%,760px);margin:0;text-align:center;color:#b8bbca;font-size:.84rem;line-height:1.5}.atmos-practice-banner{width:min(100%,760px);padding:8px 12px;border:1px solid #8f7544;border-radius:9px;background:#42351e;color:#f5d99b;text-align:center;font-size:.8rem}.atmos-practice-banner button{margin-left:8px;border:0;border-bottom:1px solid #f5d99b;background:none;color:#ffe9b8;font-weight:700}.atmos-board-frame{width:min(100%,760px);overflow:auto;padding:10px;border:1px solid #c7c1b2;border-radius:15px;background:#ede8dd;box-shadow:0 12px 36px #0005}.atmos-board{display:block;width:100%;height:auto;max-height:75vh;overflow:visible;background:#f5f1e8;touch-action:none;user-select:none;-webkit-user-select:none}.atmos-bridge{cursor:pointer}.atmos-bridge-line{stroke:#454643;stroke-width:5;stroke-linecap:round;animation:atmos-bridge-in .18s ease-out both;pointer-events:none}.atmos-candidate-line{stroke:#758278;stroke-width:2;stroke-dasharray:5 8;opacity:.55;pointer-events:none}.atmos-bridge-line.connected{stroke:#343936}.atmos-hit-area{stroke:transparent;stroke-width:24;pointer-events:stroke}.atmos-node{cursor:pointer}.atmos-node circle{fill:#fff;stroke:#4b4c49;stroke-width:4;transition:fill .15s,stroke .15s,transform .15s}.atmos-node text{fill:#262724;font-size:29px;font-weight:750;pointer-events:none}.atmos-node.complete circle{fill:#454743;stroke:#343633}.atmos-node.complete text{fill:#fff}.atmos-node.selected circle{stroke:#49aeb4;stroke-width:7}.atmos-node.overfull circle{fill:#aa4949;stroke:#f09999}.atmos-node.overfull text{fill:#fff}.atmos-node:focus-visible{outline:none}.atmos-node:focus-visible circle{stroke:#e2b74f;stroke-width:7}.atmos-status{width:min(100%,760px);min-height:22px;margin:0;text-align:center;color:#b8bbca;font-size:.82rem}.atmos-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px}.atmos-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:7px 11px;border:1px solid #ffffff20;border-radius:9px;background:#ffffff09;color:#e9e8f0;font-size:.76rem;font-weight:700}.atmos-controls button:hover:not(:disabled){border-color:#61bfc6;background:#61bfc61a}.atmos-controls button:disabled{opacity:.5;cursor:not-allowed}.atmos-settings{width:min(100%,760px);display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:13px;border:1px solid #ffffff20;border-radius:12px;background:#111522}.atmos-settings label{display:flex;align-items:center;gap:8px;color:#c8cad5;font-size:.8rem}.atmos-settings label:first-child{flex-direction:column;align-items:flex-start}.atmos-settings input{accent-color:#54b8c3}.atmos-settings select{min-height:36px;padding:6px 9px;border:1px solid #3a4058;border-radius:8px;background:#0d1220;color:#f3f1fc}.atmos-results{width:min(100%,760px);display:flex;flex-direction:column;align-items:center;gap:11px;padding:20px 15px;border:1px solid #39777c;border-radius:15px;background:linear-gradient(140deg,#183c41,#1c2931);text-align:center;animation:atmos-results-in .38s ease-out both}.atmos-results h3{color:#bcf4ed;font-size:clamp(1rem,3vw,1.35rem)}.atmos-win-icon{display:grid;place-items:center;width:51px;height:51px;border-radius:50%;background:#42a9a1;color:#fff;box-shadow:0 0 0 8px #42a9a122}.atmos-result-stats{display:grid;width:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.atmos-result-stats span{display:flex;flex-direction:column;gap:5px;padding:8px 4px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff08;color:#c0d5d4;font-size:.68rem}.atmos-result-stats strong{color:#f2fffe;font-size:.82rem}.atmos-results .btn{min-height:38px;padding:8px 13px;font-size:.8rem}.atmos-no-animation *{animation:none!important;transition:none!important}@keyframes atmos-bridge-in{0%{opacity:0;stroke-dasharray:1 100%}to{opacity:1}}@keyframes atmos-results-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.atmos-game{gap:9px}.atmos-topbar{gap:7px}.atmos-stats{gap:4px}.atmos-stats span{padding:4px 6px;font-size:.64rem}.atmos-board-frame{padding:5px;border-radius:11px}.atmos-node circle{stroke-width:4.5}.atmos-node text{font-size:32px}.atmos-bridge-line{stroke-width:6}.atmos-result-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.atmos-result-stats span{font-size:.6rem;padding:7px 2px}.atmos-result-stats strong{font-size:.72rem}}@media(prefers-reduced-motion:reduce){.atmos-game *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.mambo-game{display:flex;flex-direction:column;align-items:center;gap:13px;width:100%;color:#f0f2f9}.mambo-game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100%,620px);padding:9px 4px}.mambo-game-toolbar>div:first-child{display:grid;gap:1px}.mambo-toolbar-label{color:#a9a9ac;font-size:.62rem;font-weight:800;letter-spacing:.15em}.mambo-timer{font-family:Outfit,sans-serif;font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:.05em}.mambo-progress{color:#d0d1d9;font-size:.78rem}.mambo-strict-toggle{display:flex;align-items:center;gap:6px;color:#d0d1d9;font-size:.75rem}.mambo-strict-toggle input{accent-color:#aa91ff}.mambo-settings-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff22;border-radius:9px;background:#ffffff08;color:#e6e5ef}.mambo-settings{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;width:min(100%,620px);padding:10px;border:1px solid #ffffff20;border-radius:10px;background:#111522;color:#d0d1d9;font-size:.74rem}.mambo-settings>strong{color:#fff}.mambo-settings label{display:flex;align-items:center;gap:5px}.mambo-settings input{accent-color:#aa91ff}.mambo-instructions{width:min(100%,620px);margin:0;color:#b7bbca;font-size:.84rem;text-align:center}.mambo-rules{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;width:min(100%,620px)}.mambo-rules span{padding:5px 8px;border:1px solid #ffffff18;border-radius:18px;background:#ffffff08;color:#d0d1d9;font-size:.7rem}.mambo-rules b{color:#d6c5ff;font-size:.8rem}.mambo-board-wrap{width:min(100%,620px);padding:5px;border:1px solid #ffffff20;border-radius:13px;background:#171b28}.mambo-board-wrap.is-disabled{opacity:.7}.mambo-board{--mambo-gap:3px;display:grid;grid-template-columns:repeat(var(--mambo-size),minmax(0,1fr));gap:var(--mambo-gap);aspect-ratio:1/1}.mambo-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:1px solid #687087;border-radius:4px;padding:0;background:#e8e1d3;color:#252321;touch-action:manipulation}.mambo-cell:nth-child(4n+1){background:#ede6d8}.mambo-cell.has-circle{background:#cfe6fa}.mambo-cell.has-square{background:#d4edcf}.mambo-cell:hover:not(:disabled){background:#f8f0dd}.mambo-cell:focus-visible{z-index:4;outline:3px solid #a78bfa;outline-offset:1px}.mambo-cell.is-given{border-color:#ae8a35;cursor:default;box-shadow:inset 0 0 0 1px #f1d797}.mambo-cell.has-error{background:repeating-linear-gradient(135deg,#cf53622a 0 4px,transparent 4px 9px),#f4d7d9;border-color:#e34858;color:#242321}.mambo-cell.is-hinted{outline:3px solid #f5d76e;outline-offset:-3px}.mambo-circle{width:48%;height:48%;border:clamp(2px,.5vw,4px) solid #26262b;border-radius:50%;background:#fffaf0}.mambo-square{width:43%;height:43%;border:clamp(2px,.5vw,4px) solid #26262b;border-radius:3px;background:#8fcf96}.mambo-empty-mark{width:12%;height:12%;border-radius:50%;background:#b8ad9a;opacity:.45}.mambo-relation{position:absolute;z-index:3;display:grid;place-items:center;width:clamp(13px,2.6vw,22px);height:clamp(13px,2.6vw,22px);border:1px solid #8574ae;border-radius:50%;background:#211b32;color:#e6dfff;font-size:clamp(8px,1.6vw,12px);font-weight:900;line-height:1;pointer-events:none}.mambo-relation-right{top:50%;right:calc(var(--mambo-gap) * -1 - 1px);transform:translate(50%,-50%)}.mambo-relation-below{bottom:calc(var(--mambo-gap) * -1 - 1px);left:50%;transform:translate(-50%,50%)}.mambo-actions{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;width:min(100%,620px)}.mambo-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #ffffff20;border-radius:9px;padding:7px 10px;background:#ffffff08;color:#e6e5ef;font-size:.75rem;font-weight:700}.mambo-tool:hover:not(:disabled),.mambo-tool.selected{border-color:#a58cff;background:#a58cff21;color:#e0d4ff}.mambo-tool:disabled,.mambo-check:disabled{opacity:.45;cursor:not-allowed}.mambo-feedback{width:min(100%,620px);min-height:22px;margin:0;color:#b7bbca;font-size:.78rem;text-align:center}.mambo-feedback.has-error{color:#ff9eac}.mambo-results{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(100%,620px);padding:18px;border:1px solid #746342;border-radius:15px;background:linear-gradient(135deg,#382e22,#211e22);text-align:center;animation:mambo-result-in .38s ease-out both}.mambo-results>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#a27c38;color:#fff;font-size:1.4rem}.mambo-results h3{margin:0;color:#ffe3ac;font-size:clamp(.95rem,3vw,1.25rem)}.mambo-results dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin:5px 0}.mambo-results dl div{padding:8px 4px;border:1px solid #ffffff16;border-radius:9px;background:#ffffff08}.mambo-results dt{color:#c0b9aa;font-size:.68rem}.mambo-results dd{margin:5px 0 0;font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}.mambo-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}@keyframes mambo-result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mambo-no-animation .mambo-results{animation:none}@media(max-width:560px){.mambo-game{gap:10px}.mambo-game-toolbar{gap:7px;padding:4px 1px}.mambo-timer{font-size:1.15rem}.mambo-progress,.mambo-strict-toggle{font-size:.68rem}.mambo-board-wrap{padding:3px;border-radius:9px}.mambo-board{--mambo-gap:2px}.mambo-cell{border-radius:2px}.mambo-rules{gap:4px}.mambo-rules span{padding:4px 6px;font-size:.64rem}.mambo-actions{gap:5px}.mambo-tool{min-height:35px;padding:6px 8px;font-size:.68rem}.mambo-tool svg{width:15px;height:15px}.mambo-results{padding:14px 9px}.mambo-results dl{gap:4px}.mambo-results dl div{padding:7px 2px}.mambo-results dt{font-size:.61rem}.mambo-results dd{font-size:.72rem}.mambo-settings{gap:8px;padding:8px;font-size:.67rem}}@media(prefers-reduced-motion:reduce){.mambo-game *{scroll-behavior:auto!important}}.sets-game{--sets-ink:#28282b;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;color:#f0f2f9}.sets-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100%,700px);padding:5px 2px}.sets-topbar>div:first-child{display:grid;gap:2px}.sets-eyebrow{color:#a9a9ac;font-size:.65rem;font-weight:800;letter-spacing:.13em}.sets-timer{font-family:Outfit,sans-serif;font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:.06em}.sets-top-stats{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.sets-top-stats span{padding:5px 9px;border:1px solid #ffffff18;border-radius:18px;background:#ffffff08;color:#d0d1d9;font-size:.74rem}.sets-icon-button{display:grid;place-items:center;width:37px;height:37px;border:1px solid #ffffff22;border-radius:10px;background:#ffffff08;color:#eee9ff}.sets-settings{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;width:min(100%,700px);padding:11px;border:1px solid #ffffff20;border-radius:11px;background:#111522;color:#c5c8d6;font-size:.75rem}.sets-settings label{display:flex;align-items:center;gap:7px}.sets-settings select{min-height:34px;border:1px solid #3a4058;border-radius:8px;background:#0d1220;color:#f3f1fc;padding:5px 8px}.sets-progress-area{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,700px)}.sets-progress-slot{display:grid;place-items:center;min-height:112px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff05}.sets-found-empty{display:grid;place-items:center;width:100%;height:100%;min-height:112px}.sets-found-empty span{width:30px;height:3px;border-radius:3px;background:#737586}.sets-found-stack{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:7px}.sets-found-mini-card{display:grid;place-items:center;width:31%;max-width:72px;aspect-ratio:1.35;border:1px solid #454753;border-radius:5px;background:#fffdf8}.sets-board{display:grid;grid-template-columns:repeat(var(--sets-columns),minmax(0,1fr));gap:9px;width:min(100%,700px)}.sets-board.is-disabled{opacity:.7}.sets-board.has-invalid-set{animation:sets-invalid .32s ease-in-out}.sets-card{display:grid;place-items:center;min-width:0;aspect-ratio:1.48;border:1px solid #434653;border-radius:12px;padding:8px;background:#fffdf8;box-shadow:0 4px 10px #0002;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.sets-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 18px #0003}.sets-card:focus-visible{outline:3px solid #b8a7ff;outline-offset:2px}.sets-card.selected{border:3px solid #9b84f0;background:#f4efff;box-shadow:0 0 0 3px #9b84f045,0 7px 17px #0003;transform:translateY(-3px)}.sets-card.hinted{border-color:#f1c94c;box-shadow:0 0 0 4px #f1c94c54;animation:sets-hint-pulse .8s ease-in-out infinite alternate}.sets-card:disabled{cursor:default}.sets-card-art{display:grid;place-items:center;width:100%;height:100%;min-height:0}.sets-card-art svg{display:block;width:100%;height:100%;max-height:90px;overflow:visible}.sets-card-art.compact svg{max-height:42px}.sets-message{width:min(100%,700px);min-height:20px;margin:0;color:#c6c8d3;font-size:.82rem;text-align:center}.sets-message.error{color:#ff9eac}.sets-message.success{color:#a7e6b7}.sets-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;width:min(100%,700px)}.sets-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;border:1px solid #ffffff20;border-radius:9px;padding:7px 11px;background:#ffffff08;color:#e6e5ef;font-size:.76rem;font-weight:700}.sets-control:hover:not(:disabled){border-color:#a58cff;background:#a58cff21;color:#e0d4ff}.sets-control:disabled,.sets-submit:disabled{opacity:.45;cursor:not-allowed}.sets-control small{display:grid;place-items:center;min-width:17px;height:17px;border-radius:50%;background:#a58cff35;color:#d8cdff;font-size:.63rem}.sets-submit{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:7px 14px;font-size:.76rem}.sets-footer{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;width:min(100%,700px);color:#999eb1;font-size:.72rem}.sets-results{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(100%,700px);padding:19px;border:1px solid #746342;border-radius:15px;background:linear-gradient(135deg,#382e22,#211e22);text-align:center;animation:sets-result-in .38s ease-out both}.sets-victory-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#a27c38;color:#fff;font-size:1.5rem;box-shadow:0 0 0 7px #b88a3522}.sets-results h3{margin:3px 0;color:#ffe3ac;font-size:clamp(1rem,3vw,1.3rem)}.sets-results p{margin:0;color:#d6d1c8}.sets-results dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;margin:3px 0}.sets-results dl div{padding:8px 4px;border:1px solid #ffffff16;border-radius:9px;background:#ffffff08}.sets-results dt{color:#c0b9aa;font-size:.68rem}.sets-results dd{margin:5px 0 0;font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}.sets-result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}@keyframes sets-invalid{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes sets-hint-pulse{0%{box-shadow:0 0 0 2px #f1c94c36}to{box-shadow:0 0 0 6px #f1c94c6e}}@keyframes sets-result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.sets-game{gap:11px}.sets-topbar{gap:7px}.sets-timer{font-size:1.18rem}.sets-top-stats{gap:4px}.sets-top-stats span{padding:4px 7px;font-size:.64rem}.sets-progress-area{gap:5px}.sets-progress-slot{min-height:70px;border-radius:7px}.sets-found-empty{min-height:70px}.sets-found-mini-card{border-radius:4px}.sets-board{gap:6px}.sets-card{aspect-ratio:1.22;border-radius:8px;padding:4px}.sets-card-art svg{max-height:66px}.sets-card-art.compact svg{max-height:30px}.sets-controls{gap:5px}.sets-control{min-height:36px;padding:6px 8px;font-size:.68rem}.sets-control svg,.sets-submit svg{width:15px;height:15px}.sets-submit{min-height:36px;padding:6px 10px;font-size:.68rem}.sets-results{padding:14px 9px}.sets-results dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.sets-results dl div{padding:7px 2px}.sets-results dt{font-size:.62rem}.sets-results dd{font-size:.74rem}}@media(prefers-reduced-motion:reduce){.sets-game *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.mosaic-game{--mosaic-ink: #343642;--mosaic-muted: #6f6b65;--mosaic-paper: #fffdf8;--mosaic-line: rgba(36, 37, 46, .72);width:min(100%,860px);margin:1rem auto;padding:clamp(1rem,3vw,1.7rem);color:var(--mosaic-ink);background:var(--mosaic-paper);border:1px solid rgba(70,66,57,.12);border-radius:22px;box-shadow:0 16px 46px #26221917}.mosaic-header,.mosaic-toolbar,.mosaic-board-meta,.mosaic-controls,.mosaic-result-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mosaic-header{margin-bottom:1.1rem}.mosaic-eyebrow{color:#80715f;font-size:.72rem;font-weight:800;letter-spacing:.14em}.mosaic-header h2{margin:.15rem 0;font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:.08em}.mosaic-header p{margin:0;color:var(--mosaic-muted);font-size:.92rem}.mosaic-scoreboard{display:grid;justify-items:end;gap:.2rem;white-space:nowrap}.mosaic-clock{font-size:clamp(1.45rem,5vw,2rem);font-variant-numeric:tabular-nums}.mosaic-scoreboard>span,.mosaic-board-meta{color:var(--mosaic-muted);font-size:.82rem}.mosaic-toolbar{justify-content:flex-start;flex-wrap:wrap;margin-bottom:.8rem}.mosaic-difficulty{display:flex;align-items:center;gap:.55rem;color:var(--mosaic-muted);font-size:.85rem}.mosaic-difficulty select{min-height:40px;padding:0 .65rem;color:var(--mosaic-ink);background:#fff;border:1px solid rgba(70,66,57,.22);border-radius:9px}.mosaic-utility-button,.mosaic-control-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:.42rem;padding:.5rem .75rem;color:var(--mosaic-ink);background:#fff;border:1px solid rgba(70,66,57,.19);border-radius:10px;font:inherit;font-size:.83rem;font-weight:650;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.mosaic-utility-button:hover:not(:disabled),.mosaic-control-button:hover:not(:disabled){transform:translateY(-1px);border-color:#9c866d;background:#faf6ee}.mosaic-utility-button:disabled,.mosaic-control-button:disabled{opacity:.52;cursor:not-allowed}.mosaic-board-shell{max-width:100%;margin:0 auto}.mosaic-board-meta{margin:0 0 .5rem}.mosaic-board{display:grid;grid-template-columns:repeat(var(--mosaic-columns),minmax(0,1fr));width:100%;overflow:hidden;border:3px solid #343642;border-radius:9px;background:#343642;box-shadow:0 5px 16px #1e1f2833}.mosaic-cell{display:grid;aspect-ratio:1;place-items:center;min-width:0;min-height:0;border:1px solid var(--mosaic-line);color:#ffffffeb;transition:background-color .26s ease}.mosaic-cell.is-active{box-shadow:inset 0 0 0 1px #ffffff2b}.mosaic-cell>span{font-size:clamp(.48rem,1.6vw,.82rem);font-weight:900;line-height:1;text-shadow:0 1px 3px rgba(20,20,25,.7)}.mosaic-board.is-won{animation:mosaic-win-glow .85s ease-in-out 2 alternate}@keyframes mosaic-win-glow{0%{box-shadow:0 5px 16px #1e1f2833}to{box-shadow:0 0 28px 8px #63ebc47a}}.mosaic-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.4rem,1.8vw,.75rem);margin:1rem auto .85rem}.mosaic-color-choice{display:grid;min-width:0;min-height:62px;place-items:center;gap:.18rem;padding:.4rem .2rem;color:#fff;background:var(--mosaic-color);border:3px solid transparent;border-radius:13px;box-shadow:0 3px 8px #1e1f2824;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.mosaic-color-choice:hover:not(:disabled){transform:translateY(-2px)}.mosaic-color-choice.is-current{border-color:#292a34;box-shadow:0 0 0 2px var(--mosaic-paper),0 0 0 4px #292a34}.mosaic-color-choice.is-hinted{animation:mosaic-hint-pulse 1.15s ease-in-out infinite alternate}.mosaic-color-choice:disabled{cursor:default}.mosaic-color-choice>span{min-height:1rem;font-size:1.05rem;font-weight:900;line-height:1}.mosaic-color-choice small{overflow:hidden;max-width:100%;font-size:clamp(.58rem,1.8vw,.72rem);font-weight:750;text-overflow:ellipsis;white-space:nowrap}@keyframes mosaic-hint-pulse{0%{box-shadow:0 0 #34364226}to{box-shadow:0 0 0 5px #3436424d}}.mosaic-controls{justify-content:flex-start;flex-wrap:wrap}.mosaic-colorblind-toggle{display:inline-flex;min-height:40px;align-items:center;gap:.4rem;color:var(--mosaic-muted);font-size:.82rem;cursor:pointer}.mosaic-colorblind-toggle input{width:18px;height:18px;accent-color:#57596f}.mosaic-message{min-height:1.4em;margin:.65rem 0;color:#645340;font-size:.88rem}.mosaic-stats{display:flex;flex-wrap:wrap;gap:.55rem 1.15rem;padding-top:.7rem;border-top:1px solid rgba(70,66,57,.14);color:var(--mosaic-muted);font-size:.78rem}.mosaic-stats strong{color:var(--mosaic-ink)}.mosaic-result{margin-top:1rem;padding:1rem;border:1px solid rgba(70,66,57,.16);border-radius:15px}.mosaic-result.is-victory{background:#f0fbf5;border-color:#3793663b}.mosaic-result.is-defeat{background:#fff5f1;border-color:#bd5b4138}.mosaic-result-mark{display:grid;width:34px;height:34px;place-items:center;color:#fff;background:#3b9d6d;border-radius:50%;font-weight:900}.mosaic-result h3{margin:.5rem 0 .3rem;text-transform:uppercase}.mosaic-result p{margin:.35rem 0 .75rem;color:var(--mosaic-muted);font-size:.9rem}.mosaic-approved{color:#28754e!important;font-weight:750}.mosaic-result-actions{justify-content:flex-start;flex-wrap:wrap}@media(max-width:520px){.mosaic-game{padding:.85rem;border-radius:15px}.mosaic-header{align-items:flex-start}.mosaic-header p{max-width:17rem;font-size:.78rem}.mosaic-toolbar{gap:.45rem}.mosaic-difficulty{width:100%;justify-content:space-between}.mosaic-utility-button{flex:1 1 auto;padding-inline:.5rem;font-size:.73rem}.mosaic-board-meta{font-size:.69rem}.mosaic-cell{border-width:.75px}.mosaic-color-choice{min-height:56px;border-radius:10px}.mosaic-color-choice small{font-size:.57rem}}@media(prefers-reduced-motion:reduce){.mosaic-cell,.mosaic-utility-button,.mosaic-control-button,.mosaic-color-choice{transition:none}.mosaic-board.is-won,.mosaic-color-choice.is-hinted{animation:none}}:root{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#f0f2f9;background:#0a0d16;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse 900px 600px at 50% -280px,#27204a 2%,transparent 75%),#0a0d16}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:#c6b4ff}p{line-height:1.58}h1,h2,h3,h4{font-family:Outfit,sans-serif;margin:0;line-height:1.15}h1{font-size:clamp(2.15rem,4.9vw,4.1rem);letter-spacing:-.04em}h2{font-size:1.45rem}h3{font-size:1.16rem}small,.small{font-size:.82rem}.muted{color:#929ab1}.container{max-width:1210px;margin:0 auto;padding-left:24px;padding-right:24px}.content-narrow{max-width:790px;margin:28px auto 80px;padding:0 22px}.nav{border-bottom:1px solid #ffffff13;background:#0d101ac7;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.nav-inner{min-height:79px;display:flex;align-items:center;justify-content:space-between;gap:12px}.logo-button{padding:0;border:0;background:none;color:inherit;text-align:left}.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:44px;height:44px;background:linear-gradient(135deg,#9579ff,#5e41ab);display:grid;place-items:center;border-radius:12px;color:#fff;box-shadow:0 6px 28px #6557d766}.brand strong{display:block;letter-spacing:.16em;font-size:16px;font-family:Outfit,sans-serif}.brand small{display:block;font-size:9px;letter-spacing:.23em;color:#a99cc9;margin-top:2px;font-weight:700}.nav-right{display:flex;align-items:center;gap:15px}.nav-email{font-size:.8rem;color:#8690aa;max-width:200px;overflow:hidden;text-overflow:ellipsis}.nav-role{color:#d5c7ff;font-size:.76rem;padding:6px 10px;background:#8b72ee18;border-radius:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:11px;min-height:43px;padding:10px 17px;font-weight:700;white-space:normal;text-align:center;transition:.15s ease}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.primary{background:#a087ff;color:#101026;box-shadow:0 8px 23px #8068ee22}.secondary{background:#272039;color:#e2d8ff;border-color:#6f5b9f}.ghost{background:#ffffff08;color:#efebff;border-color:#fff2}.danger{background:#3c202c;color:#ffb6c5;border-color:#653444}.icon-plain{background:transparent;color:#ccd1dd;padding:7px;min-height:35px}.icon-button{padding:10px;width:45px;flex-shrink:0}.link-btn{display:inline-flex;gap:7px;align-items:center;color:#baa6fc;background:none;border:0;padding:8px 0;font-size:.85rem;font-weight:700}.link-btn:hover{text-decoration:underline}.surface{border:1px solid #292d40;border-radius:19px;background:linear-gradient(145deg,#171b2a,#151927);padding:23px;box-shadow:0 10px 45px #00000015}.notice{border:1px solid #53694d;background:#1c3024;color:#c8ead3;border-radius:10px;padding:12px 14px;font-size:.87rem;margin:8px 0}.notice-error{border-color:#6a404e;background:#301e2b;color:#ffb9c1}.label{display:block;color:#c3c8d8;font-weight:700;font-size:.82rem;letter-spacing:.015em}.form{display:flex;flex-direction:column;gap:12px}.form input,.form textarea,.form select,.solve-form input,.compose input{display:block;width:100%;border:1px solid #3a4058;border-radius:10px;background:#0d1220;color:#f3f1fc;padding:12px 14px;outline:none;min-height:45px}.form textarea{resize:vertical;min-height:90px}.form input:focus,.form textarea:focus,.form select:focus,.solve-form input:focus,.compose input:focus{border-color:#9e81f5;box-shadow:0 0 0 3px #8c77e120}.form input::placeholder,.form textarea::placeholder,.solve-form input::placeholder,.compose input::placeholder{color:#6f7894}.form select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.eyebrow{font-weight:800;letter-spacing:.2em;font-size:.7rem;color:#aa91ff;margin-bottom:10px}.landing{min-height:calc(100vh - 145px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;padding-top:70px;padding-bottom:70px}.landing-copy h1 span,.hero-panel h1 span{color:#b19aff}.landing-copy p{color:#a0a6bc;font-size:1.07rem;max-width:555px;margin:24px 0}.feature-row{display:flex;flex-wrap:wrap;gap:20px;color:#c9c5da;font-size:.85rem}.feature-row span{display:flex;align-items:center;gap:8px}.feature-row svg{color:#b19aff}.auth-box{width:100%;max-width:425px;justify-self:end;padding:30px}.auth-box h2{font-size:1.7rem}.auth-box p{margin-top:8px}.tabs{display:flex;padding:4px;background:#0f1320;border-radius:12px;margin:24px 0}.tabs button{flex:1;color:#8b91a9;padding:10px;border:0;background:transparent;border-radius:8px}.tabs button.active{color:#f1ecff;background:#29243e}.auth-box .form .primary{margin-top:12px}.page-title{margin:20px 0 25px}.page-title h1{font-size:2.7rem}.page-title p{color:#a5aabe}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:flex;align-items:flex-start;flex-direction:column;gap:7px;text-align:left;color:#d5d8e7;background:#111625;border:1px solid #34384d;border-radius:12px;padding:17px}.choice small{color:#989fb4}.choice svg{color:#a890ff}.choice.selected{border-color:#ab91ff;background:#28233c}.dashboard{padding-top:35px;padding-bottom:80px}.hero-panel{display:flex;justify-content:space-between;align-items:center;min-height:290px;border-radius:23px;padding:40px 48px;overflow:hidden;background:radial-gradient(circle at 83% 46%,#684ba880,transparent 41%),linear-gradient(125deg,#231e3d,#14182b);border:1px solid #4d426e}.hero-panel h1{font-size:clamp(2rem,4vw,3.7rem)}.hero-panel p{color:#bbb5d1;margin:12px 0 22px}.hero-icon{transform:rotate(-11deg);color:#d8ccff44;margin:0 55px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr);gap:26px;margin-top:34px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-head h3{display:flex;align-items:center;gap:8px}.count{padding:2px 8px;font-size:.8rem;background:#332b51;color:#c3b4ff;border-radius:30px}.games-list{display:flex;flex-direction:column;gap:11px}.game-card{display:flex;align-items:center;gap:17px;width:100%;text-align:left;border:1px solid #292e43;border-radius:15px;padding:17px;background:#161a29;color:#ebedf8}.game-card:hover{border-color:#7e64cd;background:#202038}.game-icon{width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:#443b6c;color:#c9b2ff}.game-icon.dnd{background:#40303d;color:#f2aeb4}.game-card-text{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.game-card-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-card-text small{color:#9a9db1}.status{display:inline-flex;align-items:center;width:max-content;font-size:.72rem;font-weight:800;letter-spacing:.04em;padding:5px 10px;border-radius:25px;background:#3b3951;color:#d1caef}.status-live{color:#83e6b5;background:#17352e}.status-paused{color:#f0cd83;background:#44371e}.status-finished{color:#afb9cf;background:#303744}.join-card p{margin:6px 0 21px}.empty{text-align:center;padding:50px 20px;color:#a8aec4}.empty svg{color:#ac96fc}.empty h3{color:#fff;margin:10px}.room{padding-top:24px;padding-bottom:55px}.back{margin-bottom:18px}.room-header{display:flex;align-items:center;justify-content:space-between;gap:17px;margin-bottom:27px}.room-header h1{font-size:clamp(1.85rem,3vw,2.8rem)}.room-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:13px;color:#959db4;font-size:.81rem}.room-meta span:not(.status){display:flex;align-items:center;gap:5px}.room-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:22px}.room-main,.room-sidebar{display:flex;flex-direction:column;gap:20px;min-width:0}.chapter-panel{padding:30px}.chapter-panel h2{font-size:2rem;margin:9px 0 15px}.chapter-story{font-size:1rem;color:#cdd0df;line-height:1.75}.text-preline{white-space:pre-wrap;overflow-wrap:anywhere}.center-state{text-align:center;padding:35px 10px;color:#c0c4d5}.center-state svg{color:#b29cf7}.center-state h2{margin:12px 0}.campaign-hint{display:flex;align-items:flex-start;gap:12px;color:#d7ccff;background:#272039;border-radius:11px;margin-top:20px;padding:13px}.campaign-hint p{margin:0}.puzzle-box{border-color:#76609c}.puzzle-box h3{font-size:1.45rem;margin:14px 0}.puzzle-box p{color:#c6cadc}.puzzle-header{display:flex;align-items:center;gap:8px;color:#bba8fb;font-size:.73rem;font-weight:800;letter-spacing:.15em}.solve-form{display:flex;gap:10px;margin:19px 0 9px}.solve-form input{min-width:0}.hint{background:#2c263e;padding:12px;border-radius:10px;color:#dbd4fa!important}.feed .events{max-height:420px;overflow:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.event{background:#101522;border-radius:12px;padding:13px 14px;border:1px solid #252a3d}.event-narration{border-left:3px solid #9c83ff}.event-hint{border-left:3px solid #e0b96f}.event-system{border-left:3px solid #65c39d}.event-meta{display:flex;justify-content:space-between;gap:10px;font-size:.78rem;color:#bfb6e3}.event-meta span{color:#81899c}.event p{font-size:.87rem;margin:6px 0 0;line-height:1.5;color:#d7d9e6}.compose{display:flex;gap:8px}.compose input{min-width:0}.gm-panel{border-color:#544379;background:linear-gradient(150deg,#251f39,#161827)}.gm-heading{display:flex;align-items:center;gap:10px;color:#c5b2ff}.gm-heading h3{font-size:1rem;letter-spacing:.09em}.live-dot{height:8px;width:8px;background:#6ddbad;border-radius:50%;margin-left:auto;box-shadow:0 0 12px #69e2ae}.gm-panel p{margin:10px 0 16px}.gm-buttons{display:flex;flex-direction:column;gap:9px}.gm-buttons .btn{width:100%}.editor .section-head{align-items:flex-start}.editor .section-head h3{margin-bottom:6px}.editor .section-head .btn{padding:9px;font-size:.78rem;min-height:36px}.member{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #ffffff0c;font-size:.88rem}.member svg{color:#a68af0}.invite{display:flex;flex-direction:column;align-items:flex-start;gap:11px;margin-top:16px}.invite strong{font-size:.82rem;color:#aeb3c7}.invite code{font-size:1.5rem;letter-spacing:.17em;color:#d5bfff}.chapter-list{display:flex;flex-direction:column;gap:13px;margin-top:18px}.chapter-list-item{display:flex;align-items:center;gap:9px;font-size:.85rem}.chapter-list-item span:nth-child(2){flex:1}.chapter-list-item small{color:#a8aec2}.dot{width:9px;height:9px;border-radius:50%;background:#65718b}.dot.open{background:#bb98ff}.dot.completed{background:#6fddaa}.mobile-role-tabs{display:none}.footer{min-height:68px;display:flex;align-items:center;justify-content:center;gap:6px;color:#697188;font-size:.76rem;text-align:center;padding:15px}.setup-screen,.loading{max-width:650px;margin:70px auto;padding:25px;display:flex;flex-direction:column;gap:25px}.setup-screen code{color:#d6bcfc}@media(max-width:900px){.landing{grid-template-columns:1fr;gap:30px}.auth-box{justify-self:stretch;max-width:none}.hero-icon{display:none}.dashboard-grid,.room-grid{grid-template-columns:1fr}.room-main,.room-sidebar{gap:16px}.mobile-role-tabs{display:flex;gap:7px;margin-bottom:16px}.mobile-role-tabs:empty{display:none}.mobile-role-tabs button{flex:1;padding:13px 7px;border:1px solid #35384d;border-radius:10px;background:#171b29;color:#b9bad2;font-weight:700}.mobile-role-tabs button.active{background:#383055;border-color:#9580e0;color:#fff}.mobile-hidden,.nav-email{display:none}}@media(max-width:540px){.container{padding-left:15px;padding-right:15px}.nav-inner{min-height:69px}.brand strong{font-size:13px}.brand-mark{width:38px;height:38px}.nav-role{display:none}.landing{padding-top:36px}.feature-row{gap:12px}.auth-box{padding:21px}.hero-panel{padding:24px 20px;min-height:280px}.dashboard{padding-top:16px}.dashboard-grid{margin-top:23px}.surface{padding:17px;border-radius:15px}.room-header{align-items:flex-start;flex-direction:column}.room-header .btn{width:100%}.room-meta{gap:9px}.chapter-panel{padding:20px}.chapter-panel h2{font-size:1.7rem}.solve-form{flex-direction:column}.choice{padding:12px}.editor .section-head{flex-direction:column}.editor .section-head .btn{align-self:flex-start}}.shikaku-game{display:flex;flex-direction:column;gap:13px;margin:20px 0}.shikaku-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.shikaku-header h3{font-size:1.3rem}.shikaku-timer{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:800;color:#d7caff;background:#302744;padding:8px 13px;border-radius:10px}.shikaku-instructions{margin:0;color:#bdc2d4}.shikaku-progress{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#a8afc5;font-size:.82rem}.shikaku-board{display:grid;gap:3px;width:min(100%,680px);margin:4px auto;touch-action:none;user-select:none;-webkit-user-select:none}.shikaku-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;border:1px solid #ffffff23;background:#22283a;color:#f2f0fb;font-weight:800;font-size:clamp(.68rem,2.2vw,1rem);transition:background-color .12s,border-color .12s,transform .12s}.shikaku-cell:not(.placed){background:#202538}.shikaku-cell.placed{color:#171a26;border-color:#11182742}.shikaku-cell.preview-valid{outline:2px solid #7fe6ad;outline-offset:-2px;background:#36845b!important}.shikaku-cell.preview-invalid{outline:2px solid #ff8595;outline-offset:-2px;background:#9c3949!important}.shikaku-cell.invalid-flash{animation:shikaku-error .48s ease-in-out 2}.shikaku-cell-won{animation:shikaku-win .35s ease-out both}.shikaku-toolbar{display:flex;gap:8px;flex-wrap:wrap}.shikaku-toolbar .btn{min-height:38px;padding:8px 12px;font-size:.82rem}.shikaku-notice{margin:0;padding:9px 12px;border-radius:9px;background:#24253a;color:#d5ccff;font-size:.86rem}.shikaku-notice.error{background:#3a202a;color:#ffc4ca}.shikaku-settings{display:flex;gap:14px;flex-wrap:wrap;padding:12px;border:1px solid #343950;border-radius:10px;background:#111725}.shikaku-settings label{display:flex;align-items:center;gap:7px;color:#c4c9da;font-size:.82rem}.shikaku-victory{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:14px;border:1px solid #546b55;border-radius:12px;background:#1b3027;color:#d5f3db}.shikaku-victory span{font-size:.84rem}.shikaku-chapter-settings{display:flex;flex-direction:column;gap:9px;padding:13px;border:1px solid #343950;border-radius:11px;background:#101624}.shikaku-chapter-controls{display:flex;gap:9px;flex-wrap:wrap}.shikaku-chapter-controls select{flex:1;min-width:180px;border:1px solid #3a4058;border-radius:10px;background:#0d1220;color:#f3f1fc;padding:12px 14px}.no-animations .shikaku-cell{transition:none;animation:none!important}@keyframes shikaku-error{50%{transform:scale(.92);background:#b94353!important}}@keyframes shikaku-win{50%{transform:scale(1.05)}}@media(max-width:540px){.shikaku-game{gap:10px}.shikaku-toolbar .btn{flex:1 1 42%}.shikaku-board{gap:2px}.shikaku-cell{border-radius:3px!important}.shikaku-chapter-controls{flex-direction:column}.shikaku-chapter-controls .btn{width:100%}}.minigame-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #30364a;border-radius:12px;background:#111522;color:#f0f2f9;font:inherit;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.minigame-option:hover,.minigame-option:focus-visible{border-color:#8c73db;background:#19182a}.minigame-option.selected{border-color:#7357df;background:#211a35}.minigame-option-mark{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:#28233d;color:#c4b5fd;font-size:19px;font-weight:700}.minigame-option-copy{display:grid;flex:1;gap:3px;min-width:0}.minigame-option-copy strong{color:#f0f2f9}.minigame-option-copy small{color:#9ba4b8;line-height:1.45}.minigame-option-action{flex:0 0 auto;color:#b9a8ff;font-size:12px;font-weight:600}.minigame-library{display:grid;gap:8px}.minigame-dialog-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow-y:auto;padding:20px;background:#05070bd9}.minigame-dialog{display:grid;gap:14px;width:min(620px,100%);max-height:min(900px,calc(100dvh - 40px));overflow-y:auto;padding:22px;border:1px solid #414963;border-radius:18px;background:#171c2b;box-shadow:0 24px 80px #000b}.minigame-dialog-header,.minigame-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.minigame-dialog-header h2,.minigame-dialog-how h3{margin:4px 0 0}.minigame-dialog-summary{margin:0;color:#d6dbea;line-height:1.6}.minigame-dialog-visual{display:grid;place-items:center;min-height:190px;overflow:hidden;padding:12px;border:1px solid #30364a;border-radius:14px;background:#0c101b}.minigame-example-art{display:block;width:min(100%,360px);height:auto}.minigame-example-board{display:grid;justify-items:center;width:100%;max-height:290px;overflow:auto;pointer-events:none}.minigame-example-board .minigame-instructions,.minigame-example-board .sr-only,.minigame-example-board>.btn{display:none}.minigame-example-board .logic-grid{grid-template-columns:repeat(4,minmax(38px,54px));gap:4px;margin:0}.minigame-example-board .logic-cell{min-width:38px}.minigame-example-board .region-picker{display:none}.minigame-example-board .set-cards{gap:6px}.minigame-example-board .set-card{min-height:84px;padding:8px}.minigame-example-atoms .atmos-game{gap:4px;width:min(100%,360px)}.minigame-example-atoms .atmos-topbar,.minigame-example-atoms .atmos-instructions,.minigame-example-atoms .atmos-controls,.minigame-example-atoms .atmos-status{display:none}.minigame-example-atoms .atmos-board-frame{padding:4px}.minigame-dialog-how h3{margin-bottom:8px}.minigame-dialog-how ol{display:grid;gap:7px;margin:0;padding-left:22px;color:#c5ccda;line-height:1.5}.minigame-dialog-actions{justify-content:flex-end;flex-wrap:wrap;padding-top:12px;border-top:1px solid #30364a}.minigame-info-link{justify-self:start}.minigame-answers{display:grid;gap:8px;width:100%}.minigame-instructions{color:#c5ccda;line-height:1.6}.logic-grid{display:grid;grid-template-columns:repeat(4,minmax(44px,64px));gap:6px;width:fit-content;margin:12px 0}.logic-cell{display:grid;place-items:center;aspect-ratio:1;min-width:44px;padding:4px;border:1px solid #424b62;border-radius:8px;background:#171c2b;color:#f0f2f9;font-weight:700;cursor:pointer}.logic-cell:hover{border-color:#c4b5fd}.shikaku-cell{display:grid;place-items:center;width:100%;height:100%;border-radius:5px}.region-A{background:#49365f}.region-B{background:#34566b}.region-C{background:#66502e}.region-D{background:#3d614e}.region-empty{color:#8792a9}.region-picker,.tower-guess,.set-cards{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.path-point{display:grid;place-items:center;width:100%;height:100%;border-radius:6px;color:#8792a9;font-size:11px}.path-active{background:#574587;color:#fff}.path-start{background:#24664b;color:#fff}.path-end{background:#8b394d;color:#fff}.path-checkpoint{outline:2px solid #efc66d;outline-offset:-3px}.tower-guess select{min-width:88px}.tower-history{display:grid;gap:4px;padding-left:24px;color:#d5c7ff}.set-card{display:grid;min-width:120px;gap:8px;padding:12px;border:1px solid #424b62;border-radius:10px;background:#171c2b;color:#f0f2f9;text-align:left}.set-card.selected{border-color:#c4b5fd;background:#29213e}.kings-grid{grid-template-columns:repeat(6,minmax(36px,58px));gap:4px}.kings-grid .logic-cell{min-width:36px;padding:2px}.minigame-example-board .kings-grid{grid-template-columns:repeat(6,minmax(30px,48px))}.minigame-example-board .kings-grid .logic-cell{min-width:30px}.kings-grid .logic-cell:disabled{cursor:not-allowed}.kings-status{color:#c5ccda}.kings-actions{display:flex;justify-content:flex-end}.king-cell{display:grid;place-items:center;width:100%;height:100%;border-radius:5px}.king-region-A{background:#49365f}.king-region-B{background:#34566b}.king-region-C{background:#66502e}.king-region-D{background:#3d614e}.king-region-E{background:#713f5a}.king-region-F{background:#786326}.king-cell{font-size:11px}.king-cell .king-blocked-dot{color:#101010;font-size:10px;line-height:1}.king-cell .king-crown{font-size:20px;line-height:1}.atom-edges{display:flex;flex-wrap:wrap;gap:6px;max-width:440px;margin:12px 0}.atom-edge{padding:8px;border:1px solid #424b62;border-radius:8px;background:#171c2b;color:#c5ccda;cursor:pointer}.atom-edge.selected{border-color:#c4b5fd;background:#29213e;color:#fff}.atom-degrees{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:6px;margin:10px 0;color:#c5ccda}.mosaic-clues{color:#c5ccda}.mambo-clues{max-width:420px;color:#c5ccda;line-height:1.6}.mosaic-R{color:#ff758f}.mosaic-G{color:#70d99c}.mosaic-B{color:#7cb6ff}.mosaic-empty{color:#8792a9}.answer-option{cursor:pointer}.answer-option.selected{border-color:#a78bfa;background:#211a38}.game-rules .text-preline{color:#c5ccda}.floor-editor{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;width:min(100%,440px);padding:10px;border:1px solid #30364a;border-radius:14px;background-color:#0c101b;background-image:linear-gradient(#252b3b 1px,transparent 1px),linear-gradient(90deg,#252b3b 1px,transparent 1px);background-size:12.5% 12.5%}.floor-cell{min-width:0;min-height:34px;overflow:hidden;padding:5px;border:1px dashed #454d62;border-radius:8px;background:#131927cc;color:#8792a9;font-size:12px}.floor-editor-interactive{touch-action:none;user-select:none;-webkit-user-select:none}.floor-editor-interactive .floor-cell{display:grid;place-items:center;min-height:42px;cursor:crosshair}.floor-editor-interactive{gap:3px}.floor-editor-interactive .floor-cell.occupied{cursor:grab}.floor-editor-interactive .floor-cell:active{cursor:grabbing}.floor-cell.draw-preview{border:2px solid #c4b5fd;background:#49365f;color:#fff}.floor-cell.erase-preview{border:2px solid #ff9aa8;background:#743644;color:#fff}.floor-cell.no-go-cell{border:1px solid #e28c5b;background:repeating-linear-gradient(135deg,#583b30,#583b30 6px,#382923 6px,#382923 12px);color:#ffd0ae}.floor-cell.no-go-preview{border:2px solid #ffbd8a;background:#74452f;color:#fff}.floor-cell.occupied{border:1px solid #7462a5;background:#29213e;color:#f0eaff;font-weight:700}.floor-cell.selected{outline:2px solid #c4b5fd;outline-offset:1px}.floor-cell:disabled{cursor:default;opacity:.45}.room-plan-editor,.room-plan-details{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid #30364a;border-radius:12px;background:#111522}.room-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-template-controls{display:grid;gap:8px;padding:12px;border:1px solid #30364a;border-radius:12px;background:#111522}.room-template-load,.room-template-save{display:flex;flex-wrap:wrap;gap:8px}.room-template-load select,.room-template-save input{flex:1 1 190px;min-width:0}.room-template-controls p{margin:0}.room-timer{display:grid;gap:12px;padding:14px;border:1px solid #30364a;border-radius:12px}.room-timer label{display:flex;align-items:center;gap:9px}.room-timer input[type=checkbox]{width:18px;height:18px;accent-color:#a78bfa}.timer-length select{margin-left:auto}.floor-view-grid{max-width:360px;aspect-ratio:1;grid-template-rows:repeat(8,minmax(0,1fr))}.floor-view-grid .floor-cell:disabled{opacity:.25}.floor-view-grid .floor-cell.no-go-cell:disabled{opacity:.9}.room-plan-details h4,.room-plan-details p{margin:0}.room-plan-details{line-height:1.55}.game-timer{color:#d5c7ff;font-weight:700}.game-timer.expired{color:#ff9aa8}.floor-controls,.floor-tabs,.room-size-fields,.no-go-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.room-size-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.room-size-fields label{display:grid;gap:6px;color:#c5ccda;font-size:13px}.room-size-fields select{width:100%}.room-color-field{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;color:#c5ccda;font-size:13px}.room-color-field input[type=color]{width:56px;height:36px;padding:3px;border:1px solid #454d62;border-radius:8px;background:#131927;cursor:pointer}.game-sequence-builder,.game-sequence-overview{display:grid;gap:12px;margin:16px 0}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-advice-button{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #62558c;border-radius:8px;background:#211a38;color:#d8caff;font-size:12px;cursor:pointer}.sequence-field-help{align-self:end;padding-bottom:4px}.advice-panel{position:fixed;z-index:999;right:24px;bottom:92px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:10px;width:min(420px,calc(100vw - 32px));height:min(600px,calc(100dvh - 120px));max-height:700px;overflow:hidden;padding:16px;border:1px solid #414963;border-radius:16px;background:#171c2b;box-shadow:0 24px 80px #0009}.game-chat-fab{position:fixed;z-index:1000;right:24px;bottom:24px;display:grid;place-items:center;width:56px;height:56px;border:1px solid #9b83f5;border-radius:50%;background:linear-gradient(135deg,#7357df,#4b36a4);color:#fff;box-shadow:0 8px 28px #0008;cursor:pointer;font-size:30px;line-height:1}.game-chat-fab:hover{filter:brightness(1.12)}.advice-panel h2{display:flex;align-items:center;gap:8px;margin:0}.advice-panel .section-head p{margin:4px 0 0}.advice-messages{display:grid;align-content:start;gap:10px;min-height:0;overflow:auto;padding:10px;border:1px solid #30364a;border-radius:10px;background:#0c101b}.advice-message{max-width:94%;padding:10px 12px;border-radius:10px;background:#20283a}.advice-message.user{justify-self:end;background:#30264a}.advice-message p{margin:5px 0 0;color:#e3e7f0}.advice-insert-actions{display:flex;flex-wrap:wrap;gap:8px}.advice-composer{gap:7px;padding-top:10px;border-top:1px solid #30364a}.advice-input-row{display:flex;align-items:end;gap:8px}.advice-input-row textarea{min-width:0;flex:1;resize:vertical}.advice-send{min-width:46px;min-height:46px;padding:10px}.builder-chat-launch{margin:-10px 0 16px}.sequence-step{padding:12px;border:1px solid #30364a;border-radius:12px;background:#101522}.sequence-step-heading,.sequence-step-actions,.sequence-use-controls>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.sequence-step-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.sequence-step-fields label,.sequence-use-controls{display:grid;gap:6px;color:#c5ccda;font-size:13px}.sequence-step-fields .sequence-description,.sequence-step-fields .sequence-help{grid-column:1 / -1}.sequence-step-fields .sequence-description textarea,.sequence-use-controls select{width:100%}.sequence-help{margin:0}.sequence-use-controls{padding:12px;border:1px solid #30364a;border-radius:10px;background:#101522}.game-sequence-overview ol{display:grid;gap:10px;margin:0;padding-left:24px}.game-sequence-overview li{padding-left:4px}.game-sequence-overview li small{display:block;margin-top:3px;color:#aab3c6}.game-sequence-overview li p{margin:6px 0 0;color:#c5ccda}.game-floor-plan .floor-tabs{margin-bottom:10px}@media(max-width:480px){.minigame-dialog-backdrop{align-items:end;padding:8px}.minigame-dialog{width:100%;max-height:calc(100dvh - 16px);padding:16px;border-radius:16px}.minigame-option{flex-wrap:wrap;gap:8px;padding:10px}.minigame-option-action{width:100%;padding-left:36px}.floor-editor{gap:4px;padding:6px}.floor-cell{padding:2px;font-size:10px}.sequence-step-fields{grid-template-columns:minmax(0,1fr)}.advice-panel{right:12px;bottom:80px;width:calc(100vw - 24px);height:min(600px,calc(100dvh - 96px));padding:14px}.game-chat-fab{right:16px;bottom:16px}}.dnd-settings{display:grid;gap:10px}.quick-dnd-fieldset{display:grid;gap:10px;min-width:0;margin:4px 0;padding:12px;border:1px solid #34394e;border-radius:12px}.quick-dnd-fieldset legend{padding:0 7px;color:#c3c8d8;font-size:.82rem;font-weight:700}.quick-dnd-style-grid,.quick-dnd-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-dnd-style{min-width:0}.quick-dnd-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-dnd-label{display:grid;gap:6px;color:#c3c8d8;font-size:.82rem;font-weight:700}.quick-dnd-label input,.quick-dnd-label select{width:100%;min-height:45px;border:1px solid #3a4058;border-radius:10px;background:#0d1220;color:#f3f1fc;padding:10px 12px}.campaign-lobby-status{display:grid;gap:12px;margin:18px 0;border-color:#514475}.campaign-lobby-status .section-head,.campaign-lobby-status h2,.campaign-lobby-status p{margin:0}.campaign-lobby-status .section-head>div{display:grid;gap:4px}.campaign-generation-review{margin-top:8px}.dnd-lobby-characters{display:grid;gap:12px;margin:18px 0}.dnd-lobby-characters .section-head,.dnd-lobby-characters h2,.dnd-lobby-characters h3,.dnd-lobby-characters p{margin:0}.dnd-character-form{margin-top:4px}.dnd-companion-form{padding:14px;border:1px solid #34394e;border-radius:12px;background:#111522}.dnd-companion-form h3{display:flex;align-items:center;gap:8px}.ai-companion-actions{display:grid;gap:8px;margin-top:8px}.ai-companion-suggestion{display:grid;gap:10px;padding:12px;border:1px solid #514475;border-radius:10px;background:#171426}.ai-companion-suggestion p{margin:0}.dnd-ability-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:12px;border:1px solid #34394e;border-radius:12px}.dnd-ability-scores legend{padding:0 6px;color:#c9b8ff;font-weight:700}.dnd-character-roster{display:grid;gap:10px;margin-top:4px}.dnd-character-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #34394e;border-radius:10px;background:#111522}.dnd-character-summary>div{display:grid;gap:3px}.dnd-character-summary span,.dnd-character-summary small{color:#aeb5ca;font-size:.82rem}.dnd-character-summary dl{display:flex;gap:8px;margin:0}.dnd-character-summary dl>div{text-align:center}.dnd-character-summary dt{color:#aeb5ca;font-size:.68rem}.dnd-character-summary dd{margin:0;font-weight:750}@media(max-width:620px){.dnd-ability-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.dnd-character-summary{grid-template-columns:1fr}.dnd-character-summary dl{justify-content:space-between}}.dnd-settings>.muted{margin:0}.dnd-settings-accordion{overflow:hidden;border:1px solid #34394e;border-radius:12px;background:#111522}.dnd-settings-accordion>summary{padding:14px 16px;color:#e6e2f4;font-weight:750;cursor:pointer}.dnd-settings-accordion[open]>summary{border-bottom:1px solid #34394e;color:#c9b8ff}.dnd-settings-group{display:grid;gap:10px;padding:14px}.dnd-settings-group+.dnd-settings-group{border-top:1px solid #292f40}.dnd-settings-group h4{color:#dcd7ec;font-size:.95rem}.dnd-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.dnd-setting-field{display:grid;align-content:start;gap:6px;color:#c5ccda;font-size:13px}.dnd-setting-field input,.dnd-setting-field select,.dnd-setting-field textarea{width:100%;min-width:0;border:1px solid #3a4058;border-radius:9px;background:#0d1220;color:#f3f1fc;padding:10px 12px;font:inherit}.dnd-setting-field input[type=range]{padding:7px 0;accent-color:#a78bfa}.dnd-setting-toggle{display:flex;align-items:center;gap:9px;min-height:36px;color:#c5ccda;font-size:13px}.dnd-setting-toggle input{width:17px;height:17px;flex:0 0 17px;accent-color:#a78bfa}.dnd-setting-help{grid-column:1 / -1;margin:0}.dnd-settings-dice{display:grid;gap:8px;color:#c5ccda;font-size:13px}.dnd-settings-inline-toggles{display:flex;flex-wrap:wrap;gap:4px 12px}.dnd-settings-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#050711d9}.dnd-settings-dialog{display:grid;gap:16px;width:min(900px,100%);max-height:min(92dvh,1000px);overflow:auto;padding:22px;border:1px solid #40395e;border-radius:18px;background:#151927;box-shadow:0 22px 80px #0009}.dnd-settings-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dnd-settings-dialog-header .eyebrow{margin-bottom:4px}.dnd-settings-dialog .form{min-height:0}@media(max-width:600px){.dnd-settings-grid,.quick-dnd-style-grid,.quick-dnd-choice-grid,.quick-dnd-fields{grid-template-columns:minmax(0,1fr)}.dnd-settings-dialog{max-height:calc(100dvh - 20px);padding:15px}.dnd-settings-backdrop{align-items:end;padding:10px}}.room-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.tv-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;padding:2.5vw 3vw;background:radial-gradient(circle at top,#1b1740,#07060f 70%);color:#f5f1ff;overflow:hidden}.tv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.tv-header h1{margin:.2em 0 0;font-size:clamp(2rem,3.5vw,4rem)}.tv-header-right{display:flex;align-items:center;gap:2rem}.tv-timer{font-size:clamp(2rem,4vw,5rem);font-variant-numeric:tabular-nums;font-weight:700}.tv-timer.expired{color:#ff6b6b}.tv-controls{display:flex;gap:.5rem;opacity:.25;transition:opacity .2s}.tv-controls:hover,.tv-controls:focus-within{opacity:1}.tv-main{flex:1;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:3vw;min-height:0;margin-top:2vw}.tv-story{overflow:hidden;display:flex;flex-direction:column;gap:1.2rem}.tv-story h2{font-size:clamp(1.5rem,2.6vw,3rem);margin:0;color:#c9b6ff}.tv-big{font-size:clamp(1.6rem,3vw,3.6rem);line-height:1.35;margin:0}.tv-small{font-size:clamp(1rem,1.6vw,2rem);opacity:.7}.tv-code{letter-spacing:.2em;color:#ffd166}.tv-puzzle{padding:1.2rem 1.6rem;border-radius:1rem;background:#ffffff14;font-size:clamp(1.2rem,2vw,2.4rem)}.tv-puzzle h3{margin:.3em 0}.tv-puzzle.solved{background:#50c87833}.tv-event{font-size:clamp(1.1rem,1.8vw,2.2rem);opacity:.8;margin:0}.tv-hint{color:#ffd166}.tv-side{overflow:hidden;background:#ffffff0d;border-radius:1rem;padding:1.5rem}.tv-side h3{margin:0 0 .8rem;font-size:clamp(1.2rem,1.8vw,2.2rem)}.tv-party,.tv-chat{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.8rem;font-size:clamp(1rem,1.5vw,1.8rem)}.tv-party li{display:flex;flex-direction:column}.tv-party span{opacity:.7;font-size:.8em}@media(max-width:900px){.tv-main{grid-template-columns:1fr;overflow:auto}}.tv-join{display:flex;align-items:center;gap:3vw}.tv-qr{background:#fff;padding:.6rem;border-radius:1rem;line-height:0;flex:none}.tv-qr svg{width:min(24vw,38vh);height:auto}.tv-qr-small{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-bottom:1rem;line-height:1.2;color:#111;font-weight:700}.tv-qr-small svg{width:min(9vw,16vh)}.presence-badges{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-items:center}.presence-badge{display:inline-flex;gap:.3rem;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#ffffff14;color:inherit;white-space:nowrap}.presence-online{background:#3cc87833}.presence-editing{background:#ffbe4640}.presence-away{background:#788cff33}.presence-offline{opacity:.6}.presence-ready{background:#3cc87847}.presence-waiting{opacity:.75}.lobby-presence-list{list-style:none;margin:.8rem 0;padding:0;display:grid;gap:.5rem}.lobby-presence-list li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.tv-party .presence-badges{margin-top:.3rem}.tv-party .presence-badge{font-size:clamp(.8rem,1.1vw,1.3rem)}.dnd-character-summary.is-dead,.tv-party li.is-dead{opacity:.55;filter:grayscale(1)}.gen-progress{position:relative;height:24px;margin:12px 0;border-radius:12px;background:#ffffff1a;overflow:hidden}.gen-progress-bar{height:100%;background:linear-gradient(90deg,#7c5cff,#38bdf8);transition:width .5s ease}.gen-progress span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600}.tv-cast-help{margin:0 2rem 1rem;padding:1rem 1.25rem;border-radius:12px;background:#ffffff14;font-size:1rem}.tv-cast-help p{margin:.4rem 0}.tv-gen{margin:0 2rem 1rem}.tv-gen .gen-progress{height:36px;font-size:1.1rem}.campaign-generation-review{display:grid;gap:16px;padding:18px;border:1px solid #3a4058;border-radius:14px;background:#0f1424}.campaign-generation-review .quick-dnd-label textarea{width:100%;border:1px solid #3a4058;border-radius:10px;background:#0d1220;color:#f3f1fc;padding:12px;font:inherit;line-height:1.5;resize:vertical}.campaign-generation-review .quick-dnd-label input:focus,.campaign-generation-review .quick-dnd-label textarea:focus{outline:2px solid #7c5cff;outline-offset:1px}.review-head{display:grid;gap:4px}.review-head p{margin:0}.review-steps-title{display:flex;align-items:center;gap:8px;margin:4px 0 0}.review-steps-title span{padding:2px 10px;border-radius:999px;background:#2a2450;color:#c9bcff;font-size:.8rem}.review-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.review-step{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:14px;border:1px solid #34394e;border-radius:12px;background:#131829}.review-step-no{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7c5cff,#38bdf8);font-weight:800}.review-step-fields{display:grid;gap:10px}@media(max-width:600px){.review-step{grid-template-columns:1fr}}.character-sheet{display:grid;gap:14px}.sheet-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sheet-header h2,.sheet-header p{margin:0}.sheet-avatar{font-size:34px;width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:#ffffff12}.sheet-gold{margin-left:auto;display:flex;align-items:baseline;gap:6px;padding:8px 14px;border-radius:12px;background:#f0be3c24;color:#f0be3c}.sheet-gold strong{font-size:22px}.sheet-bars{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.sheet-bar-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.sheet-bar-row{display:flex;align-items:center;gap:6px}.sheet-bar-track{flex:1;height:14px;border-radius:99px;background:#ffffff1a;overflow:hidden}.sheet-bar-fill{height:100%;border-radius:99px;transition:width .3s}.sheet-bar-hp .sheet-bar-fill{background:#e5484d}.sheet-bar-mana .sheet-bar-fill{background:#4a8df6}.sheet-bar-stamina .sheet-bar-fill{background:#46b86a}.sheet-step{width:28px;height:28px;border-radius:8px;border:0;cursor:pointer;background:#ffffff1f;color:inherit;font-size:16px}.sheet-body{display:grid;gap:16px;grid-template-columns:minmax(220px,300px) 1fr}@media(max-width:760px){.sheet-body{grid-template-columns:1fr}}.sheet-body h3{margin:0 0 8px}.doll-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.doll-slot{display:flex;flex-direction:column;gap:2px;min-height:58px;padding:6px;border-radius:10px;border:1px dashed rgba(255,255,255,.2);background:#ffffff0a;color:inherit;cursor:pointer;text-align:left;font-size:12px}.doll-slot.filled{border-style:solid;background:#ffffff17}.doll-slot.selected,.bag-slot.selected{outline:2px solid #f0be3c}.doll-slot-label{opacity:.6;font-size:10px;text-transform:uppercase}.doll-figure{display:none}.bag-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}@media(max-width:480px){.bag-grid{grid-template-columns:repeat(6,1fr)}}.bag-slot{position:relative;aspect-ratio:1;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:inherit;cursor:pointer;padding:0;font-size:20px}.bag-slot.filled{background:#ffffff1f}.bag-slot.drop-target{border-style:dashed;border-color:#f0be3c}.bag-qty{position:absolute;right:3px;bottom:1px;font-size:10px;font-weight:700}.sheet-inventory-head{display:flex;justify-content:space-between;align-items:baseline}.item-detail{margin-top:10px;min-height:52px}.item-actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.sheet-weapons ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.weapon-equipped{margin-left:8px;font-size:11px;padding:2px 8px;border-radius:99px;background:#46b86a33;color:#46b86a}.gm-characters summary{cursor:pointer}.gm-characters-body{display:grid;gap:12px;margin-top:12px}.gm-stats-form,.gm-give-form{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end}.gm-give-form h4{grid-column:1/-1;margin:0}.choice-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.choice-option{width:100%;display:grid;gap:2px;text-align:left;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:inherit;cursor:pointer}.choice-option:hover{background:#ffffff1a}.choice-option.chosen{border-color:#f0be3c;background:#f0be3c24}.choice-label{font-size:11px;text-transform:uppercase;opacity:.6}.choice-text{font-weight:600}.choice-count{font-size:12px;opacity:.75}.choice-custom{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:10px}.choice-custom label{flex:1;min-width:200px}.choice-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.quest-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}.quest{padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d}.quest p{margin:6px 0}.quest-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.quest-status{font-size:12px;opacity:.8}.quest-review{border-color:#f0be3c}.quest-done{opacity:.7}.quest-failed{opacity:.55}.quest-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.quest-foot .muted{margin-right:auto}.side-quest-form{margin-top:10px}.quest-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1000;display:flex;gap:14px;align-items:center;max-width:min(92vw,460px);padding:14px 18px;border-radius:14px;background:#2a2412;border:2px solid #f0be3c;box-shadow:0 10px 30px #00000080;animation:quest-pop .35s ease-out}.quest-toast-item{font-weight:600;margin:4px 0}.food-panel-body{display:grid;gap:14px;padding-top:16px}.food-form,.food-filters{display:grid;gap:12px;padding:12px 0}.food-panel label{display:grid;gap:6px}.food-panel input[type=checkbox]{width:auto;justify-self:start}.food-recipe,.food-nutrition{padding:14px;border:1px solid #8271b055;border-radius:12px;background:#ffffff05;overflow-wrap:anywhere}.food-recipe p{margin:8px 0}.food-panel .item-actions{flex-wrap:wrap}.food-panel select,.food-panel input,.food-panel textarea{max-width:100%;min-width:0}.recovery-request{margin-top:14px;padding:14px;border:1px solid #8271b055;border-radius:12px;background:#ffffff05}.recovery-panel .item-actions{flex-wrap:wrap}.inventory-item-dialog label{display:grid;gap:6px}.inventory-item-dialog{padding:0;border:1px solid #8271b0;border-radius:18px;background:#1d1930;color:inherit;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 24px 80px #0009}.inventory-item-dialog::backdrop{background:#090713b8}.inventory-item-dialog-body{padding:22px}.inventory-item-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.inventory-item-dialog h2{margin:8px 0;font-size:1.35rem;overflow-wrap:anywhere}.inventory-item-dialog p{line-height:1.6;overflow-wrap:anywhere}.inventory-item-note{padding:12px;border-radius:10px;background:#ffffff09}.inventory-item-note p{margin-bottom:0}.inventory-item-dialog dl{display:grid;gap:10px}.inventory-item-dialog dl>div{padding-bottom:10px;border-bottom:1px solid #ffffff15}.inventory-item-dialog dt{font-size:.85rem;color:#c5b9e2}.inventory-item-dialog dd{margin:4px 0 0;overflow-wrap:anywhere}.inventory-item-dialog .item-actions{flex-wrap:wrap}.level-up-toast{position:fixed;top:16px;right:16px;z-index:1200;display:grid;gap:12px;width:min(calc(100% - 32px),380px);max-height:calc(100dvh - 32px);overflow-y:auto}.level-up-toast-item{padding:18px;border:2px solid #bba2ff;border-radius:16px;background:#231b3b;box-shadow:0 10px 30px #00000080}.level-up-toast-item strong{font-size:1.3rem;color:#e1d3ff}.level-up-toast-item p{margin:8px 0 12px}@keyframes quest-pop{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.dice-controls{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:10px}.dice-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.dice-btn{min-width:56px;font-weight:700}.dice-request{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin:8px 0;border-radius:12px;border:2px solid #f0be3c;background:#f0be3c1f}.dice-result{margin:10px 0;padding:12px 14px;border-radius:12px;background:#ffffff12;text-align:center}.dice-total{font-size:44px;font-weight:800;line-height:1}.dice-win{background:#46b86a33}.dice-fail{background:#e5484d33}.dice-rolling{animation:dice-shake .25s linear infinite;font-size:20px}@keyframes dice-shake{0%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}to{transform:rotate(-4deg)}}.dice-demand{margin-top:10px}.dice-toast{position:fixed;z-index:1100;display:grid;gap:8px;pointer-events:none}.dice-toast-phone{left:8px;right:8px;bottom:12px}.dice-toast-tv{left:50%;bottom:6vh;transform:translate(-50%);width:min(90vw,1100px)}.dice-toast-item{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:14px;background:#1d1a3a;border:2px solid #8b7cf6;box-shadow:0 10px 30px #0000008c;animation:quest-pop .35s ease-out;font-weight:600}.dice-toast-item.dice-win{border-color:#46b86a;background:#12301e}.dice-toast-item.dice-fail{border-color:#e5484d;background:#34161a}.dice-toast-icon{font-size:26px}.dice-toast-tv .dice-toast-item{font-size:clamp(22px,2.6vw,40px);padding:22px 28px;border-radius:22px}.dice-toast-tv .dice-toast-icon{font-size:clamp(36px,4vw,60px)}.dice-toast-tv{animation:none}.dice-toast-item{animation:dice-pop .35s ease-out}@keyframes dice-pop{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}.combat-order{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.25rem}.combat-order li{display:flex;justify-content:space-between;padding:.35rem .6rem;border-radius:8px;background:#ffffff0a}.combat-order li.combat-current{background:#ef444440;font-weight:700;outline:2px solid #ef4444}.combat-order li.combat-dead{opacity:.4;text-decoration:line-through}.combat-yourturn{font-weight:700;color:#fca5a5}.combat-tv{position:fixed;right:1rem;top:5rem;z-index:20;min-width:230px;max-width:300px}.combat-tv .combat-order li{font-size:1.2rem}.feed .events{max-height:55vh;overflow-y:auto}.bag-slot[draggable=true],.doll-slot[draggable=true]{cursor:grab}.bag-slot.drop-over,.doll-slot.drop-over{outline:2px dashed #a78bfa;background:#a78bfa2e}.crafting summary{cursor:pointer;list-style:none}.crafting summary h2{display:inline;margin:0}.craft-mats li{background:#a78bfa26;border-radius:8px;padding:2px 8px;font-size:.85rem}.craft-give,.craft-filter,.craft-stations{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.craft-list{display:grid;gap:8px;max-height:60vh;overflow-y:auto}.craft-row{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px;display:grid;gap:4px}.craft-row.ready{border-color:#34d399}.craft-row.locked{opacity:.8}.craft-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.craft-ingredients{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:4px 0;list-style:none;font-size:.85rem}.craft-ingredients .have{color:#34d399}.craft-ingredients .lack{color:#f87171}.trade-qty{display:grid;gap:4px;max-height:180px;overflow-y:auto;margin:6px 0}.trade-qty label{display:flex;gap:8px;align-items:center}.trade-qty input,.trading label input[type=number]{width:70px}.trade-actions{display:flex;gap:8px}.trade-summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.trade-summary h2{margin:0}.trade-badge{background:#a78bfa;color:#0b0b14;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700}.trade-section{margin-top:14px;display:grid;gap:10px}.trade-section h3{margin:0;font-size:1rem}.trade-card{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px;background:#ffffff08;display:grid;gap:10px}.trade-card.incoming{border-color:#a78bfa;background:#a78bfa14}.trade-card footer{display:flex;gap:8px;flex-wrap:wrap}.trade-swap,.trade-preview{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.trade-preview{border:1px dashed rgba(255,255,255,.2);border-radius:12px;padding:10px;margin-top:10px}.trade-arrow{font-size:1.4rem;opacity:.7}.trade-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-weight:700}.trade-label.give{color:#f87171}.trade-label.get{color:#34d399}.trade-chips{display:flex;flex-wrap:wrap;gap:6px}.trade-chip{background:#ffffff14;border-radius:999px;padding:3px 10px;font-size:.85rem}.trade-chip.gold{background:#facc152e}.trade-chip.material{background:#34d39929}.trade-who{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.trade-pill{border-radius:999px;padding:6px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:inherit;cursor:pointer}.trade-pill.active{background:#a78bfa;color:#0b0b14;border-color:#a78bfa;font-weight:700}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trade-col{border-radius:14px;padding:10px;display:grid;gap:8px;align-content:start;border:1px solid rgba(255,255,255,.12)}.trade-col.give{background:#f871710f}.trade-col.get{background:#34d3990f}.trade-col h4{margin:0}.trade-tiles{display:grid;gap:6px}.trade-tile{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:10px;background:#ffffff0d;border:1px solid transparent}.trade-tile.on{border-color:#a78bfa;background:#a78bfa24}.trade-tile.gold{background:#facc1514}.trade-icon{font-size:1.3rem}.trade-name{flex:1;display:grid;line-height:1.2;min-width:0;overflow-wrap:anywhere}.trade-name small{opacity:.6;font-size:.72rem}.trade-empty{margin:0}.stepper{display:flex;align-items:center;gap:4px}.stepper button{width:28px;height:28px;padding:0;border-radius:8px;line-height:1}.stepper input{width:46px;text-align:center;padding:4px 2px}@media(max-width:640px){.trade-columns,.trade-swap,.trade-preview{grid-template-columns:1fr}.trade-arrow{text-align:center;transform:rotate(90deg)}}.town-gm{display:grid;gap:4px;margin:8px 0}.trade-tile button{white-space:nowrap}.skill-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.skill-points{background:#2b2410;border:1px solid #c9a227;border-radius:999px;padding:2px 10px;font-size:.85rem}.skill-focus{max-height:96px;overflow:auto}.skill-map-wrap{position:relative;border:1px solid #2a3142;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#161c2e,#080b13)}.skill-map{width:100%;height:min(62vh,520px);display:block;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.skill-map:active{cursor:grabbing}.skill-node{cursor:pointer;outline:none}.skill-node.selected circle{stroke:#fff;stroke-width:4}.skill-node:focus-visible circle{stroke:#fff}.skill-label{fill:#cfd6e4;paint-order:stroke;stroke:#080b13;stroke-width:3px}.skill-rank{fill:#f0d060}.skill-zoom{position:absolute;right:8px;top:8px;display:grid;gap:6px}.skill-zoom button{width:38px;height:38px;padding:0;font-size:1.1rem}.skill-detail{margin-top:10px}.skill-status{font-size:.75rem;border-radius:999px;padding:1px 8px;border:1px solid #4a5260}.skill-status.available{border-color:#6fae4b;color:#9fe07a}.skill-status.unlocked,.skill-status.maxed{border-color:#c9a227;color:#f0d060}.skill-effects{list-style:none;padding:0;display:grid;gap:4px}.skill-gm{display:grid;gap:10px}.skill-gm label{display:grid;gap:4px}.skill-gm .check{display:flex;gap:8px;align-items:center}.skill-gm fieldset{max-height:220px;overflow:auto;display:grid;gap:4px}.skill-grant{display:flex;gap:8px;align-items:end}.craft-hero{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#c9a2272e,#78501e1f);border:1px solid rgba(201,162,39,.35)}.craft-gold{font-weight:700;color:#f0d060}.craft-toast{animation:craft-pop .5s ease}@keyframes craft-pop{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}.craft-mats{display:flex;flex-wrap:wrap;gap:6px;padding:0;list-style:none}.craft-mats li{border:1px solid var(--rc,#6b7280);background:color-mix(in srgb,var(--rc,#6b7280) 16%,transparent);border-radius:999px;padding:3px 10px;font-size:.85rem}.craft-gm{border:1px dashed rgba(255,255,255,.2);border-radius:10px;padding:8px 12px;margin:10px 0}.craft-gm summary{cursor:pointer;font-weight:600}.craft-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 12px;cursor:pointer;font-size:.85rem}.craft-chip.on{border-color:#34d399;background:#34d39924}.craft-chip input{accent-color:#34d399}.craft-filter select,.craft-filter input[type=text],.craft-filter input:not([type]){min-width:0;flex:1 1 180px}.craft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;max-height:70vh;overflow-y:auto;padding:4px}.craft-card{--rc:#6b7280;position:relative;display:grid;gap:8px;align-content:start;padding:12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--rc) 55%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--rc) 14%,#10131c),#10131c 70%);transition:transform .15s,box-shadow .15s}.craft-card.ready{box-shadow:0 0 0 1px var(--rc),0 6px 18px color-mix(in srgb,var(--rc) 35%,transparent)}.craft-card.ready:hover{transform:translateY(-2px)}.craft-card.locked{opacity:.78}.craft-card header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.craft-card header strong{display:block;line-height:1.2}.craft-card header small{color:var(--rc);font-weight:600}.craft-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;font-size:1.4rem;background:color-mix(in srgb,var(--rc) 22%,#0b0d14);border:1px solid var(--rc)}.craft-note{margin:0;font-size:.82rem;opacity:.8}.craft-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.78rem;opacity:.85}.craft-ingredients{display:grid;gap:5px;padding:0;margin:0;list-style:none}.craft-ingredients li{position:relative;display:flex;justify-content:space-between;gap:8px;padding:3px 8px;border-radius:6px;font-size:.82rem;overflow:hidden;background:#ffffff0d}.craft-ingredients li i{position:absolute;left:0;bottom:0;height:3px;border-radius:2px}.craft-ingredients li.have{color:#6ee7b7}.craft-ingredients li.have i{background:#34d399}.craft-ingredients li.lack{color:#fca5a5}.craft-ingredients li.lack i{background:#f87171}.craft-why{margin:0;font-size:.78rem;color:#fca5a5}.craft-card button{width:100%}.r-common{--rc:#9ca3af}.r-uncommon{--rc:#4ade80}.r-rare{--rc:#60a5fa}.r-epic{--rc:#c084fc}.r-legendary{--rc:#fb923c}.r-mythic{--rc:#f87171}.skill-groups{margin-bottom:0}.skill-focus .trade-pill.small{font-size:.78rem;padding:3px 10px}.skill-next{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}.skill-branch-label{font-weight:700;opacity:.55;pointer-events:none;paint-order:stroke;stroke:#080b13;stroke-width:4px}.skill-legend{position:absolute;left:8px;top:8px;display:flex;gap:6px;align-items:center;font-size:.7rem;background:#080b13bf;padding:4px 8px;border-radius:8px}.skill-legend .lg{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid #4a5260}.skill-legend .lg.available{border-color:#6fae4b;box-shadow:0 0 6px #6fae4b}.skill-legend .lg.on{border-color:#c9a227;background:#c9a22780}.skill-sheet{position:absolute;left:8px;right:8px;bottom:8px;margin:0;max-height:55%;overflow:auto;background:#0c0f18f5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2}.skill-close{position:absolute;right:6px;top:6px;width:32px;height:32px;padding:0}.skill-map-wrap.full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;border-radius:0;border:0}.skill-map-wrap.full .skill-map{height:100vh}body.skill-fullscreen{overflow:hidden}.skill-zoom button{width:44px;height:44px}@media(min-width:800px){.skill-sheet{left:auto;width:360px}}.player-hud{position:sticky;top:0;z-index:50;margin:0 0 12px;padding:8px 12px;border-radius:12px;background:#0a0d16f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(201,162,39,.35)}.hud-main{display:flex;align-items:center;gap:12px}.hud-level{font-weight:800;font-size:1.05rem;color:#f2c94c;white-space:nowrap;background:#c9a22726;padding:4px 10px;border-radius:99px}.hud-xp{flex:1;min-width:0}.hud-xp-head{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;flex-wrap:wrap}.hud-xp-head span{opacity:.8}.hud-xp-track{height:12px;margin-top:4px;border-radius:99px;background:#ffffff1a;overflow:hidden}.hud-xp-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#c9a227,#f2e08a);transition:width .6s}.hud-party{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.hud-chip{font-size:.72rem;padding:2px 8px;border-radius:99px;background:#ffffff14}.hud-chip.dead{opacity:.5}.quick-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-direction:column;gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#0a0d16f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(201,162,39,.35)}.quick-nav button{flex:1;max-width:160px;min-height:44px;padding:6px 8px;font-size:.85rem}body:has(.quick-nav) .container.room{padding-bottom:130px}body.skill-fullscreen .quick-nav,body.skill-fullscreen .player-hud{display:none}.choice-kind{font-style:normal;opacity:.85}.choice-hints{display:flex;flex-direction:column;gap:6px;margin-top:6px;width:100%}.choice-hint{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 8px;border-radius:8px;border-left:4px solid #6b7280;background:#ffffff0d;font-size:.78rem;text-align:left}.choice-hint.good{border-left-color:#46b86a}.choice-hint.bad{border-left-color:#e5484d}.choice-hint strong b{margin-left:4px}.choice-hint.good strong b{color:#5be08a}.choice-hint.bad strong b{color:#ff7b80}.choice-hint-lines{display:flex;flex-wrap:wrap;gap:4px}.choice-hint-lines span{padding:1px 7px;border-radius:99px;background:#ffffff12}.choice-hint-lines .good{color:#5be08a;background:#46b86a26}.choice-hint-lines .bad{color:#ff7b80;background:#e5484d26}.hud-abilities{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}.hud-ability{display:flex;flex-direction:column;align-items:center;padding:4px 2px;border-radius:8px;background:#ffffff0f;border-bottom:3px solid #6b7280;line-height:1.15}.hud-ability small{font-size:.62rem;opacity:.8}.hud-ability b{font-size:1rem}.hud-ability em{font-style:normal;font-size:.72rem}.hud-ability.good{border-bottom-color:#46b86a}.hud-ability.good em{color:#5be08a}.hud-ability.bad{border-bottom-color:#e5484d}.hud-ability.bad em{color:#ff7b80}@media(max-width:520px){.hud-abilities{grid-template-columns:repeat(3,1fr)}}.hud-toggle{margin-top:6px;background:none;border:0;color:inherit;opacity:.8;font-size:.78rem;cursor:pointer;padding:2px 4px}.hud-toggle:hover{opacity:1}.quick-buttons{display:flex;justify-content:center;gap:6px}.quick-vitals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:560px;width:100%;margin:0 auto}.vital{font-size:.72rem;display:flex;flex-direction:column;gap:2px}.vital-track{height:7px;border-radius:99px;background:#ffffff1f;overflow:hidden}.vital-fill{height:100%;border-radius:99px;transition:width .4s}.vital.hp .vital-fill{background:#e5484d}.vital.mana .vital-fill{background:#4a8cff}.vital.stamina .vital-fill{background:#e0b341}.tv-vitals{display:flex;flex-direction:column;gap:4px;margin-top:6px;width:100%}.tv-vitals-head{display:flex;justify-content:space-between;font-size:.95rem}.tv-vitals .vital{font-size:.9rem}.tv-vitals .vital-track{height:10px}.vital.xp .vital-fill{background:#a66bff}.tv-party .is-dead .tv-vitals{opacity:.45}.tv-choices{margin-top:18px;padding:16px 20px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(201,162,39,.4)}.tv-choices ol{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.tv-choice-row{display:flex;justify-content:space-between;gap:12px;font-size:1.35rem}.tv-choice-row strong{font-size:1.6rem}.tv-choice-bar{height:10px;border-radius:99px;background:#ffffff1f;overflow:hidden;margin-top:4px}.tv-choice-bar div{height:100%;background:#6b7280;border-radius:99px;transition:width .4s}.tv-choices li.leading .tv-choice-bar div{background:#46b86a}.tv-choices li.leading .tv-choice-row{color:#5be08a}.combat-panel.card{padding:18px;border:1px solid rgba(239,102,91,.3);background:radial-gradient(ellipse at 0 0,rgba(174,65,57,.13),transparent 58%),linear-gradient(145deg,#191a29,#141725);box-shadow:0 12px 34px #0003}.combat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.combat-title{display:flex;align-items:center;gap:11px}.combat-title-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(244,111,100,.25);border-radius:11px;background:#b1403b29;color:#ffaaa0}.combat-title h3{font-size:1.12rem}.combat-title p{margin:3px 0 0;color:#9da3b7;font-size:.78rem}.combat-live{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(239,102,91,.24);border-radius:30px;background:#b23a361f;color:#ffb6ad;font-size:.72rem;font-weight:700}.combat-live span{width:7px;height:7px;border-radius:50%;background:#f47769;box-shadow:0 0 10px #f47769b3}.combat-enemies{display:grid;gap:9px;margin:14px 0}.combat-enemy{display:flex;flex-direction:column;gap:10px;width:100%;padding:12px 14px;border:1px solid #323448;border-radius:12px;background:#ffffff06;color:#f0f2f9;font:inherit;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease}.combat-enemy:hover{border-color:#6d4550;background:#be4a4414}.combat-enemy:focus-visible,.combat-roll:focus-visible,.combat-end:focus-visible{outline:2px solid #ff9a8f;outline-offset:2px}.combat-enemy.selected{border-color:#ed6f63bf;background:linear-gradient(110deg,#ac3d392b,#ffffff06);box-shadow:inset 3px 0 #f47769,0 5px 16px #00000021}.combat-enemy-top{display:flex;align-items:center;gap:10px;min-width:0}.combat-enemy-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid rgba(238,117,104,.2);border-radius:10px;background:#bc453e21;color:#f29185}.combat-enemy-name{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.combat-enemy-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.93rem}.combat-enemy-name small{color:#969db2;font-size:.75rem}.combat-defense{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#ffffff09;color:#c6cadd;font-size:.75rem;font-weight:700}.combat-target-icon{flex:none;color:#ff9a8f}.combat-hp-row{display:flex;align-items:center;justify-content:space-between;color:#c3c6d5;font-size:.75rem}.combat-hp-label{display:inline-flex;align-items:center;gap:5px;color:#aab0c2}.combat-hp-label svg{color:#f27d72}.combat-hp-row>strong{font-variant-numeric:tabular-nums;color:#f2d9d6}.combat-hp-row>strong span{color:#8990a5;font-weight:500}.combat-hp{display:block;height:7px;border-radius:99px;background:#ffffff17;overflow:hidden}.combat-hp>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d94e54,#ff8971);box-shadow:0 0 10px #ef5c5340;transition:width .35s ease}.combat-actions{margin:14px 0 10px}.combat-turns{margin-top:14px}.combat-yourturn{margin:0 0 8px;color:#ffd2c9;font-size:.88rem;font-weight:700}.combat-panel .combat-order li{gap:12px;padding:8px 10px;font-size:.82rem}.combat-panel .combat-order small{margin-left:6px;color:#aab0c2;font-size:.7rem;font-weight:400}.combat-victim{margin-bottom:10px}.combat-victim select{width:100%;margin-top:5px;padding:10px;border:1px solid #3a4058;border-radius:10px;background:#0d1220;color:#f3f1fc;font:inherit}.combat-pass.btn{margin-top:8px;min-height:36px;font-size:.78rem}.group-check{margin:12px 0;padding:15px;border:1px solid #67528b;border-radius:12px;background:linear-gradient(120deg,#30253e,#1b2032)}.group-check .section-head{flex-wrap:wrap;margin-bottom:8px}.group-check p{margin:8px 0}.group-check-candidates{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.group-check-candidates .btn{flex:1 1 160px;min-height:48px}.combat-roll.btn{display:flex;justify-content:center;gap:10px;width:100%;min-height:52px;padding:10px 14px;border:1px solid rgba(239,117,104,.42);border-radius:11px;background:linear-gradient(110deg,#af3d3745,#763b4733);color:#ffe8e5;font-size:.9rem;font-weight:800;transition:background .15s ease,border-color .15s ease,transform .15s ease}.combat-roll>svg{flex:none;color:#ff9a8f}.combat-roll:hover:not(:disabled){transform:translateY(-1px);border-color:#df7067;background:linear-gradient(110deg,#af3d3766,#763b474d)}.combat-roll.rolling>svg{animation:combat-dice-roll .65s ease-in-out infinite}.combat-roll-result{display:flex;align-items:flex-start;gap:10px;margin:10px 0 14px;padding:11px 12px;border:1px solid rgba(239,117,104,.2);border-radius:10px;background:#ffffff09;color:#e4e6f0}.combat-roll-result>svg{flex:none;margin-top:2px;color:#ff9a8f}.combat-roll-result p{margin:0;white-space:pre-line;font-size:.83rem;line-height:1.55}.combat-roll-result p:first-line{color:#fff;font-weight:700}@keyframes combat-dice-roll{50%{transform:rotate(22deg) scale(1.13)}}.combat-end.btn{min-height:35px;padding:6px 10px;border-color:#ffffff1a;background:#ffffff09;font-size:.77rem}.combat-end.btn:hover:not(:disabled){border-color:#ffffff38;background:#ffffff12}.combat-panel>.muted{margin:12px 0;color:#a7adbf;font-size:.83rem}.combat-panel>.error{margin:10px 0}@media(max-width:540px){.combat-panel.card{padding:14px}.combat-roll.btn{min-height:48px}}.skill-owned{list-style:none;margin:6px 0 12px;padding:0;display:flex;flex-direction:column;gap:4px}.skill-owned details{background:#ffffff0d;border-radius:8px;padding:6px 10px}.skill-owned summary{cursor:pointer}.skill-owned p{margin:4px 0}.skill-party{margin-top:12px}.skill-party-row{background:#ffffff0d;border-radius:8px;padding:6px 10px;margin:4px 0}.skill-party-row summary{cursor:pointer}.skill-party-row ul{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:3px}.profession-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}.profession-card{display:flex;flex-direction:column;gap:9px;text-align:left;padding:16px;border:1px solid #634a88;border-radius:14px;color:inherit;background:#1b1529;cursor:pointer}.profession-card.selected{border-color:#c094ff;box-shadow:0 0 18px #9861e940}.profession-card progress{width:100%;accent-color:#b983ff}.profession-node-info{padding:16px;border:1px solid #634a88;background:#171020;border-radius:12px}.professions-panel .skill-map-wrap{border-color:#634a88}.professions-panel .food-form{margin:16px 0}.professions-panel .food-form input,.professions-panel .food-form select,.professions-panel textarea{min-width:0;max-width:100%}
