.app{width:100%;height:100%;position:relative;--hand-dock-space: calc(min(max(100vw / 6.2, 72px), 118px)*1.5 + 26px + env(safe-area-inset-bottom, 0px)) }@media(min-width:1440px){.app{--hand-dock-space: calc(min(max(100vw / 6.2, 72px), 132px)*1.5 + 26px + env(safe-area-inset-bottom, 0px)) }}.scene-container{width:100%;height:100%}.lobby-bg,.leader-pick-bg{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));background:radial-gradient(ellipse at center,#1a1a2e,#0a0a12)}.lobby-bg:has(.title-splash){padding:0;overflow:hidden;background:#07060a}.leader-pick-bg{overflow:hidden;justify-content:center;padding:max(.65rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) max(.65rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px))}.lobby-panel{background:#1a1a2ef2;border:2px solid #f1c40f;border-radius:16px;padding:2.5rem;text-align:center;min-width:340px;flex-shrink:0;margin:auto;box-shadow:0 8px 32px #00000080}.lobby-panel h1{font-size:2.2rem;color:#f1c40f;margin-bottom:.25rem}.title-splash{position:relative;width:100%;min-height:100%;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}.title-splash-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 70% at 50% 18%,rgba(201,162,75,.16) 0%,transparent 55%),radial-gradient(ellipse 70% 55% at 12% 78%,rgba(120,40,28,.28) 0%,transparent 50%),radial-gradient(ellipse 65% 50% at 88% 72%,rgba(40,55,90,.35) 0%,transparent 48%),linear-gradient(180deg,#12101a,#07060a 55%,#050408);animation:title-atmosphere-pulse 10s ease-in-out infinite alternate}@keyframes title-atmosphere-pulse{0%{opacity:.88}to{opacity:1}}.title-splash-cards{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.title-splash-card{position:absolute;top:50%;left:50%;width:min(22vw,210px);aspect-ratio:512 / 768;object-fit:cover;border-radius:10px;border:1.5px solid rgba(201,162,75,.55);box-shadow:0 18px 48px #000000a6,0 0 0 1px #00000073;transform-origin:center bottom;animation:title-card-drift 7.5s ease-in-out infinite alternate;will-change:transform}.title-splash-card-1{--tx: -148%;--ty: -18%;--rot: -18deg;animation-delay:0s;z-index:2}.title-splash-card-2{--tx: -78%;--ty: -38%;--rot: -8deg;animation-delay:.4s;z-index:3}.title-splash-card-3{--tx: -50%;--ty: -52%;--rot: 0deg;animation-delay:.8s;z-index:4;width:min(24vw,230px)}.title-splash-card-4{--tx: 8%;--ty: -38%;--rot: 8deg;animation-delay:1.1s;z-index:3}.title-splash-card-5{--tx: 78%;--ty: -18%;--rot: 18deg;animation-delay:1.5s;z-index:2}@keyframes title-card-drift{0%{transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) translateY(0)}to{transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) translateY(-10px)}}.title-splash-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:linear-gradient(180deg,#07060a26,#07060a59 38%,#07060ae0 68%,#07060a),radial-gradient(ellipse 55% 45% at 50% 58%,rgba(7,6,10,.55) 0%,transparent 70%);pointer-events:none}.title-splash-content{position:relative;z-index:6;width:min(420px,92vw);margin-top:min(18vh,140px);padding:1.25rem max(1rem,env(safe-area-inset-right,0px)) max(1.5rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));text-align:center;display:flex;flex-direction:column;align-items:center}.title-splash-brand{margin:0 0 .65rem;line-height:0}.title-splash-logo{width:min(92vw,520px);height:auto;display:block;filter:drop-shadow(0 8px 28px rgba(0,0,0,.75)) drop-shadow(0 0 24px rgba(201,162,75,.22));animation:title-logo-reveal 1.1s ease-out both}@keyframes title-logo-reveal{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.title-splash-tagline{margin:0 0 .85rem;max-width:28rem;color:#c8b89a;font-family:Crimson Pro,Libre Baskerville,Georgia,serif;font-size:clamp(1rem,2.6vw,1.2rem);letter-spacing:.02em;line-height:1.35;text-shadow:0 2px 12px rgba(0,0,0,.85);animation:title-logo-reveal 1.1s ease-out .12s both}.title-splash-status{margin-bottom:.85rem;animation:title-logo-reveal 1.1s ease-out .2s both}.title-splash .title-menu-nav{width:100%;max-width:340px;animation:title-logo-reveal 1.1s ease-out .28s both}.title-splash .title-menu-btn{border:1px solid rgba(201,162,75,.35);box-shadow:0 6px 20px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin-top:0}.title-splash .title-menu-btn.primary{border-color:#f1c40fb3}.title-splash .title-menu-btn.secondary,.title-splash .title-menu-btn.solo{background:#1a1622c7;color:#f0e6d2}.title-splash .title-menu-btn.solo{border-color:#2ecc7173}.title-splash .title-menu-btn.solo:hover:not(:disabled){background:#243028eb}.title-splash-waiting{margin-top:.75rem;color:#a89880;font-size:.85rem}.title-splash-audio{position:absolute;z-index:7;top:max(.75rem,env(safe-area-inset-top,0px));right:max(.75rem,env(safe-area-inset-right,0px))}@media(max-width:720px){.title-splash-card{width:min(28vw,118px)}.title-splash-card-3{width:min(30vw,128px)}.title-splash-card-1{--tx: -128%;--ty: -8%}.title-splash-card-2{--tx: -72%;--ty: -22%}.title-splash-card-3{--tx: -50%;--ty: -34%}.title-splash-card-4{--tx: 4%;--ty: -22%}.title-splash-card-5{--tx: 62%;--ty: -8%}.title-splash-content{margin-top:min(22vh,120px)}.title-splash-logo{width:min(94vw,420px)}}@media(max-width:420px){.title-splash-card-1,.title-splash-card-5{opacity:.55}.title-splash-veil{background:linear-gradient(180deg,#07060a40,#07060a80 36%,#07060aeb 64%,#07060a),radial-gradient(ellipse 70% 50% at 50% 55%,rgba(7,6,10,.65) 0%,transparent 72%)}}@media(max-height:520px)and (orientation:landscape){.title-splash-card{width:min(16vw,120px);opacity:.72}.title-splash-card-3{width:min(18vw,132px)}.title-splash-card-1{--tx: -160%;--ty: -42%}.title-splash-card-2{--tx: -90%;--ty: -58%}.title-splash-card-3{--tx: -50%;--ty: -68%}.title-splash-card-4{--tx: 12%;--ty: -58%}.title-splash-card-5{--tx: 90%;--ty: -42%}.title-splash-content{margin-top:0;width:min(360px,88vw);padding-top:.35rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px))}.title-splash-logo{width:min(52vw,360px)}.title-splash-tagline{margin-bottom:.45rem;font-size:.95rem}.title-splash-status{margin-bottom:.45rem}.title-splash .title-menu-nav{max-width:280px;gap:.35rem}.title-splash .title-menu-btn{padding:.65rem 1.1rem;font-size:.95rem}}@media(prefers-reduced-motion:reduce){.title-splash-atmosphere,.title-splash-card,.title-splash-logo,.title-splash-tagline,.title-splash-status,.title-splash .title-menu-nav{animation:none}}.title-menu-nav{display:flex;flex-direction:column;gap:.55rem;margin-top:.5rem}.title-menu-btn{margin-bottom:0;padding:.95rem 1.5rem;font-size:1.05rem;letter-spacing:.02em}.title-menu-subheader{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:.75rem;text-align:left}.title-menu-subheader h2{margin:0;color:#f1c40f;text-align:center;font-size:1.6rem}.title-menu-back{align-self:flex-start;width:auto;margin:0}.subtitle{color:#95a5a6;margin-bottom:1.5rem}.status{font-size:.85rem;margin-bottom:1rem;padding:.25rem .75rem;border-radius:12px;display:inline-block}.status.online{background:#2ecc7133;color:#2ecc71}.status.offline{background:#e74c3c33;color:#e74c3c}.input{width:100%;padding:.75rem 1rem;margin-bottom:.75rem;border:1px solid #34495e;border-radius:8px;background:#0a0a12;color:#ecf0f1;font-size:1rem;outline:none}.input:focus{border-color:#f1c40f}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%;margin-bottom:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:#f1c40f;color:#1a1a2e}.btn.primary:hover:not(:disabled){background:#f39c12}.btn.secondary{background:#34495e;color:#ecf0f1}.btn.secondary:hover:not(:disabled){background:#4a6278}.btn.danger{background:#e74c3c;color:#fff}.btn.small{width:auto;padding:.4rem .8rem;font-size:.85rem;margin:0 .25rem}.btn.action{width:auto;margin:0 .25rem;padding:.6rem 1rem;font-size:.9rem;background:#2980b9;color:#fff}.equip-hint{flex:1 1 100%;order:-1;align-self:stretch;color:#f1c40f;font-size:.8rem;line-height:1.3;margin:0;padding:.15rem .2rem .25rem;white-space:normal;overflow-wrap:anywhere;text-align:center}.divider{color:#7f8c8d;margin:1rem 0;font-size:.85rem}.player-list{margin:1rem 0;text-align:left}.player-item{padding:.5rem 1rem;background:#34495e80;border-radius:6px;margin-bottom:.4rem}.waiting{color:#95a5a6;margin-top:1rem}.btn.solo{background:#8e44ad;color:#fff;margin-top:.5rem}.btn.solo:hover:not(:disabled){background:#9b59b6}.solo-hint{font-size:.8rem;color:#7f8c8d;margin-bottom:1rem}.solo-badge{color:#9b59b6!important;font-weight:600}.visibility-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.visibility-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem;border-radius:8px;border:2px solid #34495e;background:#0a0a12d9;color:#ecf0f1;cursor:pointer;font-weight:600;transition:border-color .2s,background .2s}.visibility-option:hover:not(:disabled){border-color:#7f8c8d}.visibility-option.active{border-color:#f1c40f;background:#f1c40f14}.visibility-option:disabled{opacity:.5;cursor:not-allowed}.visibility-option-hint{font-size:.75rem;font-weight:400;color:#95a5a6;text-align:left}.public-lobby-section{margin:1rem 0;text-align:left}.public-lobby-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.public-lobby-header .expansion-section-label{margin:0}.lobby-refresh-btn{width:auto;margin:0}.public-lobby-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.5rem}.public-lobby-item{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;padding:.65rem .75rem;border-radius:8px;background:#34495e73;border:1px solid #34495e}.public-lobby-item:has(.public-lobby-password){grid-template-columns:1fr}.public-lobby-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.public-lobby-host{font-weight:700;color:#ecf0f1}.public-lobby-meta,.public-lobby-expansions{font-size:.8rem;color:#95a5a6}.public-lobby-password{margin:0}.public-lobby-join{width:auto;margin:0;padding:.5rem 1rem;white-space:nowrap}.lobby-panel-wide{min-width:min(520px,92vw);max-width:560px;width:100%}@media(max-height:900px){.lobby-bg,.leader-pick-bg{padding-top:max(.75rem,env(safe-area-inset-top,0px));padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px))}.lobby-panel{padding:1.25rem 1rem}.lobby-panel h1{font-size:1.75rem}.subtitle{margin-bottom:.75rem}.expansion-section-label{margin:.5rem 0 .35rem}.expansion-card-grid{gap:.5rem;margin-bottom:.75rem}.expansion-card{padding:.65rem .85rem}.divider{margin:.65rem 0}.music-controls{margin-top:.75rem}}.expansion-section-label{color:#bdc3c7;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:.75rem 0 .5rem}.expansion-card-grid{display:grid;gap:.65rem;margin-bottom:1rem;text-align:left}.expansion-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;padding:.85rem 1rem;border-radius:10px;border:2px solid #34495e;background:#0a0a12d9;color:#ecf0f1;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}.expansion-card:hover:not(:disabled){border-color:#7f8c8d}.expansion-card.enabled{border-color:#f1c40f;background:#f1c40f14;box-shadow:0 0 0 1px #f1c40f40}.expansion-card.read-only{cursor:default;opacity:.92}.expansion-card.locked{cursor:not-allowed;opacity:.55;border-style:dashed}.expansion-card.locked:hover{border-color:#34495e}.expansion-card.locked .expansion-card-state{color:#e67e22}.expansion-card-title{font-weight:700;font-size:1rem;color:#f1c40f}.expansion-card-desc{font-size:.85rem;color:#95a5a6;line-height:1.35}.expansion-card-hint{font-size:.78rem;color:#e67e22;line-height:1.3}.expansion-card-state{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#2ecc71}.expansion-card:not(.enabled) .expansion-card-state{color:#7f8c8d}.expansion-badge{font-size:.9rem;color:#2ecc71}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);pointer-events:none;z-index:10}.hud-top:has(.music-controls-compact.open){z-index:16}.turn-info{display:flex;align-items:center;gap:.75rem;min-width:0;flex-shrink:0}.turn-label{font-size:1.1rem;font-weight:700;color:#f1c40f;white-space:nowrap}.hud-top-left{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;flex-shrink:1}.turn-order-strip{display:flex;align-items:center;gap:.5rem;max-width:min(100vw - 12rem,42rem);overflow-x:auto;scrollbar-width:none;pointer-events:auto}.turn-order-strip::-webkit-scrollbar{display:none}.turn-order-heading{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#95a5a6;white-space:nowrap;flex-shrink:0}.turn-order-list{display:flex;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none}.turn-order-item{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .45rem;border-radius:999px;background:#34495ed9;border:1px solid rgba(127,140,141,.45);color:#ecf0f1;font:inherit;font-size:.72rem;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.turn-order-item:hover{border-color:#95a5a6}.turn-order-item:focus-visible{outline:2px solid #f1c40f;outline-offset:2px}.turn-order-item.me{border-color:#85c1e98c}.turn-order-item.active{background:#f1c40f2e;border-color:#f1c40f;box-shadow:0 0 10px #f1c40f40}.turn-order-item.disconnected{opacity:.55}.turn-order-index{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;border-radius:50%;background:#00000059;font-size:.62rem;font-weight:700;color:#bdc3c7}.turn-order-item.active .turn-order-index{background:#f1c40f;color:#1a1a2e}.turn-order-name{font-weight:600}.turn-order-now{font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#f1c40f}.player-seat-order{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:50%;background:#0a0a12eb;border:2px solid rgba(236,240,241,.45);color:#ecf0f1;font-family:Segoe UI,system-ui,sans-serif;font-size:.82rem;font-weight:800;line-height:1;box-shadow:0 2px 10px #00000073;-webkit-user-select:none;user-select:none}.player-seat-order.active{border-color:#f1c40f;color:#f1c40f;background:#1a1608f2}.ap-display{display:flex;gap:.4rem}.ap-pip{width:14px;height:14px;border-radius:50%;background:#34495e;border:2px solid #7f8c8d}.ap-pip.active{background:#f1c40f;border-color:#f39c12;box-shadow:0 0 8px #f1c40f80}.room-badge{background:#34495ecc;padding:.35rem .65rem;border-radius:6px;font-size:.8rem;color:#bdc3c7;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.room-badge-code{font-weight:600;letter-spacing:.04em}.hud-top-right{display:flex;align-items:center;flex-wrap:nowrap;gap:.4rem;min-width:0;flex-shrink:1;pointer-events:auto}.discard-btn{margin:0;width:auto}.dice-roll-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:30;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1.75rem;background:#141626eb;border:2px solid #f1c40f;border-radius:14px;box-shadow:0 8px 32px #00000080}.dice-roll-banner span{color:#f1c40f;font-size:1.05rem;font-weight:600}.dice-roll-btn{margin:0;width:auto;font-size:1.1rem;padding:.65rem 1.5rem}.discard-overlay{position:absolute;top:4rem;right:1rem;width:340px;max-height:70vh;background:#141626f7;border:1px solid #d9b13b;border-radius:12px;z-index:25;pointer-events:auto;display:flex;flex-direction:column;overflow:hidden}.discard-overlay-wide{width:min(92vw,720px);max-height:82vh;left:50%;right:auto;transform:translate(-50%)}.discard-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.discard-header h3{font-size:1rem;color:#f1c40f}.discard-header .btn{margin:0;width:auto}.card-type-filter-bar{display:flex;flex-wrap:wrap;gap:.35rem;padding:.55rem 1rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.card-type-filter-btn{margin:0;width:auto;padding:.28rem .55rem;font-size:.72rem;font-weight:600;line-height:1.2;border-radius:999px;border:1px solid color-mix(in srgb,var(--type-color, #95a5a6) 55%,transparent);background:color-mix(in srgb,var(--type-color, #95a5a6) 18%,rgba(20,22,38,.95));color:#ecf0f1;cursor:pointer;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.card-type-filter-btn:hover{background:color-mix(in srgb,var(--type-color, #95a5a6) 30%,rgba(20,22,38,.95))}.card-type-filter-btn.is-inactive{opacity:.42;background:#ffffff0a;border-color:#ffffff1f}.card-type-filter-btn.is-active{box-shadow:0 0 0 1px color-mix(in srgb,var(--type-color, #95a5a6) 70%,#fff)}.card-type-filter-all{--type-color: #f1c40f}.choice-filter-empty{margin:.75rem 0 0;text-align:center}.discard-list{overflow-y:auto;padding:.5rem 1rem 1rem}.discard-grid{overflow-y:auto;padding:.75rem 1rem 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.65rem;align-items:start}.discard-card-tile{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;border:none;background:transparent;padding:.25rem;cursor:pointer;border-radius:10px;transition:transform .15s ease,box-shadow .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.discard-card-tile:hover{transform:scale(1.08)}.discard-card-tile:hover img,.discard-card-tile:hover canvas{box-shadow:0 8px 20px #f1c40f59}}@media(hover:none){.discard-card-tile:active{transform:scale(1.08)}.discard-card-tile:active img,.discard-card-tile:active canvas{box-shadow:0 8px 20px #f1c40f59}}.discard-card-tile:focus-visible{outline:2px solid #f1c40f;outline-offset:2px}.discard-card-tile img,.discard-card-tile canvas{border-radius:4px;box-shadow:0 2px 8px #0006;transition:transform .15s ease,box-shadow .15s ease}.discard-card-name{font-size:.65rem;color:#bdc3c7;line-height:1.2;max-width:92px;overflow:hidden;text-overflow:ellipsis}.discard-entry{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:.1rem}.discard-name{font-weight:600;font-size:.9rem}.discard-type{font-size:.7rem;text-transform:uppercase;color:#7f8c8d}.discard-effect{font-size:.78rem;color:#aab7c4;line-height:1.3}.card-preview{filter:drop-shadow(0 8px 24px rgba(0,0,0,.7));display:flex;flex-direction:column;align-items:center;gap:.65rem}.card-preview-face-stack{display:flex;flex-direction:column;align-items:center;gap:inherit;cursor:default}.card-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;background:#04060e99;pointer-events:none;animation:preview-backdrop-in .15s ease}.app:has(.card-preview-inspect:not(.card-preview-passive) .card-preview-confirm) .hand-dock{z-index:37;pointer-events:none}@keyframes preview-backdrop-in{0%{opacity:0}to{opacity:1}}.card-preview.card-preview-inspect{position:fixed;left:50%;top:44%;transform:translate(-50%,-50%);z-index:50;pointer-events:auto;cursor:pointer;gap:.5rem;animation:preview-inspect-in .16s ease}.card-preview.card-preview-inspect.card-preview-passive{pointer-events:none;cursor:default}@keyframes preview-inspect-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.card-preview-close{position:absolute;top:-.9rem;right:-.9rem;z-index:2;width:2.25rem;height:2.25rem;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#0c101cf2;color:#ecf0f1;font-size:1.35rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card-preview-hint{font-size:.72rem;font-weight:600;color:#ecf0f1d9;background:#0c101cd1;padding:.25rem .6rem;border-radius:999px}.card-preview-confirm{margin:0;width:auto;min-width:60%;padding:.7rem 1.4rem;font-size:1rem;font-weight:700;background:#f1c40f;color:#1a1a2e;border:2px solid #f9e79f;box-shadow:0 4px 18px #0000008c,0 0 14px #f1c40f59;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card-preview-confirm-timer{margin-left:.5rem;padding:.1rem .45rem;border-radius:999px;background:#1a1a2e2e;font-size:.85rem;font-variant-numeric:tabular-nums}.class-token-badge{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.45rem .55rem;border-radius:12px;border:2px solid;background:#0c121ceb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:140px}.class-token-badge img,.class-token-badge canvas{border-radius:8px;display:block}.class-token-fallback{width:64px;height:96px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.class-token-label{font-size:.78rem;font-weight:600;text-align:center;line-height:1.2}.card-preview img,.card-preview canvas,.card-preview .card-face-wrap{border-radius:14px;display:block}.card-face-wrap{position:relative;overflow:visible;flex-shrink:0}.card-face-wrap>img,.card-face-wrap>canvas{display:block;width:100%;height:100%;border-radius:inherit}.card-class-sigil-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.card-class-sigil-hotspot{position:absolute;display:inline-block;transform:translate(-50%,-50%);margin:0;padding:0;border:none;border-radius:50%;background:transparent;pointer-events:auto;cursor:help;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card-class-sigil-tooltip{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%) translateY(4px);padding:.2rem .5rem;border-radius:999px;background:#0c101cf0;border:1px solid var(--sigil-color, #f1c40f);color:#f5e9c8;font-family:Cinzel,Georgia,serif;font-size:.72rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;box-shadow:0 4px 12px #00000073;z-index:3}.card-class-sigil-hotspot:hover .card-class-sigil-tooltip,.card-class-sigil-hotspot:focus-visible .card-class-sigil-tooltip,.card-class-sigil-hotspot.open .card-class-sigil-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.card-class-sigil-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:none;background:transparent;pointer-events:auto;cursor:default}.hand-dock{position:fixed;left:0;right:0;bottom:0;z-index:39;display:flex;justify-content:center;padding:0 10px calc(.3rem + env(safe-area-inset-bottom,0px));pointer-events:none;background:linear-gradient(to top,rgba(4,6,14,.88) 55%,transparent)}.hand-dock-cards{display:flex;align-items:flex-end;overflow-x:auto;scrollbar-width:none;pointer-events:auto;padding-top:20px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.hand-dock-cards::-webkit-scrollbar{display:none}.hand-dock-card{position:relative;z-index:1;flex-shrink:0;border:none;background:transparent;padding:0;border-radius:8px;transition:transform .15s ease;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:hand-card-in .3s ease}@keyframes hand-card-in{0%{transform:translateY(36px);opacity:0}to{transform:translateY(0);opacity:1}}.hand-dock-card img,.hand-dock-card canvas,.hand-dock-card .card-face-wrap{display:block;border-radius:7px;box-shadow:0 3px 12px #0009}.hand-dock-card.selected{transform:translateY(-16px);z-index:6}.hand-dock-card.selected img,.hand-dock-card.selected canvas,.hand-dock-card.selected .card-face-wrap{box-shadow:0 0 0 3px #f1c40f,0 10px 24px #000000a6}.hand-dock-card.glow-challenge img,.hand-dock-card.glow-challenge canvas,.hand-dock-card.glow-challenge .card-face-wrap{box-shadow:0 0 0 2px #e74c3c,0 0 14px #e74c3cbf}.hand-dock-card.glow-modifier img,.hand-dock-card.glow-modifier canvas,.hand-dock-card.glow-modifier .card-face-wrap{box-shadow:0 0 0 2px #3498db,0 0 14px #3498dbbf}.app:has(.choice-panel:not(.choice-panel-keep-hand)) .hand-dock,.app:has(.discard-overlay) .hand-dock,.app:has(.win-overlay) .hand-dock,.app:has(.rules-overlay) .hand-dock{display:none}.app:has(.choice-panel-keep-hand) .hand-dock{z-index:20;pointer-events:none}.hand-dock-empty{justify-content:center;align-items:flex-end;padding-bottom:calc(.55rem + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,rgba(4,6,14,.72) 40%,transparent)}.hand-dock-empty-hint{pointer-events:none;color:#ecf0f1d1;font-size:.85rem;font-weight:600;text-align:center;padding:.45rem .9rem;border-radius:999px;background:#0c101cc7;border:1px solid rgba(255,255,255,.12);max-width:min(92vw,420px)}.hand-refresh-toast{background:#3498dbf2}.turn-plays-panel{position:absolute;right:1rem;top:50%;transform:translateY(-50%);z-index:22;pointer-events:none;text-align:center;filter:drop-shadow(0 8px 24px rgba(0,0,0,.7));max-height:85vh;max-width:min(168px,22vw);display:flex;flex-direction:column;gap:.65rem;overflow-y:auto}.turn-plays-peek{position:absolute;right:max(.4rem,env(safe-area-inset-right,0px));bottom:calc(var(--hand-dock-space, 160px) + .45rem);z-index:22;pointer-events:auto;border:1px solid rgba(241,196,15,.4);border-radius:999px;background:#08080ee0;color:#f1c40f;font-size:.65rem;font-weight:700;padding:.35rem .55rem;cursor:pointer;touch-action:manipulation}.turn-plays-panel-phone{pointer-events:auto;padding-top:1.1rem}.turn-plays-collapse{position:absolute;top:0;right:0;z-index:1;pointer-events:auto;width:1.5rem;height:1.5rem;border:none;border-radius:999px;background:#000000bf;color:#ecf0f1;font-size:1rem;line-height:1;cursor:pointer}.turn-plays-group{display:flex;flex-direction:column;gap:.35rem;pointer-events:auto}.turn-plays-label{background:#f1c40ff2;color:#1a1a2e;font-weight:700;font-size:.85rem;padding:.35rem .65rem;border-radius:8px;flex-shrink:0}.turn-play-card{position:relative;cursor:pointer;border:none;background:transparent;padding:0;border-radius:12px;max-width:100%;overflow:hidden}.turn-play-mod-badge,.turn-play-kind-badge,.turn-play-target-badge{position:absolute;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:6px;pointer-events:none}.turn-play-mod-badge{top:.35rem;right:.35rem;background:#1a1a2eeb;color:#ecf0f1}.turn-play-mod-badge.positive{color:#2ecc71}.turn-play-mod-badge.negative{color:#e74c3c}.turn-play-kind-badge{bottom:.35rem;left:.35rem;background:#f1c40ff2;color:#1a1a2e}.turn-play-target-badge{bottom:.35rem;right:.35rem;background:#3498dbeb;color:#fff}.turn-plays-cards{display:flex;flex-direction:column;gap:.5rem;overflow-x:hidden;overflow-y:auto;padding:.15rem 0;max-width:100%}.turn-plays-cards img,.turn-plays-cards canvas{border-radius:12px;display:block;max-width:100%;height:auto}.turn-play-card:hover img,.turn-play-card:hover canvas{transform:scale(1.12);box-shadow:0 12px 28px #f1c40f59}.randomize-btn{width:auto;margin:.5rem 1rem 0}.leave-game-btn{width:auto;margin:0;white-space:nowrap;flex-shrink:0}.leave-game-label-short{display:none}@media(max-width:1100px){.hud-top{padding:.5rem .75rem;padding-top:max(.5rem,env(safe-area-inset-top,0px))}.turn-label{font-size:1rem}.turn-order-strip{max-width:min(100vw - 8rem,100%)}.turn-order-heading{display:none}.turn-order-item{font-size:.66rem;padding:.14rem .35rem}.room-badge-meta,.leave-game-label-full{display:none}.leave-game-label-short{display:inline}}.action-bar{position:relative;flex:0 1 auto;min-width:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;align-content:flex-start;gap:.5rem;z-index:2;pointer-events:auto;background:#1a1a2ee6;padding:.75rem 1rem;border-radius:12px;border:1px solid #34495e;transition:border-color .25s,box-shadow .25s;max-height:min(40vh,280px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.action-bar.my-turn{border-color:#f1c40f;box-shadow:0 0 18px #f1c40f59}.action-bar.my-turn.ap-spent{border-color:#34495ed9;box-shadow:none;opacity:.78}.end-turn-fab{margin-left:auto;margin-bottom:0;align-self:flex-end;flex-shrink:0;width:auto;padding:.85rem 1.6rem;font-size:1rem;font-weight:700;letter-spacing:.03em;border-radius:999px;background:#1a1a2ee6;color:#95a5a6;border:2px solid #34495e;cursor:not-allowed;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s,padding .25s,font-size .25s}.end-turn-fab:disabled{opacity:.9}.end-turn-fab.ready{background:linear-gradient(180deg,#f7d56a,#f1c40f 55%,#d4ac0d);color:#1a1a2e;border-color:#f9e79f;box-shadow:0 4px 20px #00000080,0 0 0 2px #f1c40f59,0 0 22px #f1c40f8c;cursor:pointer;opacity:1;padding:.95rem 1.85rem;font-size:1.08rem;letter-spacing:.04em;text-transform:none;animation:end-turn-pulse 1.7s ease-in-out infinite}.end-turn-fab.ready:hover{background:linear-gradient(180deg,#f9e079,#f4d03f 55%,#e0b90f);transform:translateY(-1px)}.end-turn-fab.ready:active{transform:translateY(0)}@keyframes end-turn-pulse{0%,to{box-shadow:0 4px 20px #00000080,0 0 0 2px #f1c40f47,0 0 14px #f1c40f66}50%{box-shadow:0 4px 22px #00000080,0 0 0 3px #f1c40f80,0 0 32px #f1c40fb3}}.banner-toast{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);z-index:30;pointer-events:none;background:#27ae60f2;color:#fff;font-size:1.45rem;font-weight:800;padding:.75rem 1.75rem;border-radius:14px;box-shadow:0 12px 40px #00000073;animation:turn-toast-fade 2.5s ease forwards}@keyframes turn-toast-fade{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}12%{opacity:1;transform:translate(-50%,-50%) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.interrupt-stack{position:absolute;top:3.75rem;left:50%;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:min(720px,calc(100vw - 2rem));pointer-events:none}.interrupt-panel{display:flex;align-items:stretch;gap:.75rem;width:auto;max-width:min(520px,100%);background:#1a1a2eeb;border:1px solid #34495e;border-radius:14px;padding:.6rem .8rem;pointer-events:auto;animation:interrupt-panel-in .2s ease-out}@keyframes interrupt-panel-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.interrupt-panel-challenge{border-color:#c0392b;background:#341818f0;box-shadow:0 0 14px #c0392b59}.interrupt-panel-modifier{border-color:#2980b9;background:#142434f0;box-shadow:0 0 14px #3498db59}.interrupt-panel-card{flex-shrink:0;align-self:center;padding:0;border-radius:8px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.interrupt-panel-card img,.interrupt-panel-card canvas{display:block;border-radius:8px;transition:transform .15s ease,box-shadow .15s ease}@media(hover:hover){.interrupt-panel-card:hover img,.interrupt-panel-card:hover canvas{transform:scale(1.08);box-shadow:0 8px 20px #f1c40f59}}.interrupt-panel-info{display:flex;flex-direction:column;gap:.3rem;min-width:0;flex:1}.interrupt-panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.interrupt-panel-title{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#ecf0f1}.interrupt-panel-icon{width:15px;height:15px;flex-shrink:0}.interrupt-panel-challenge .interrupt-panel-icon{color:#e74c3c}.interrupt-panel-modifier .interrupt-panel-icon{color:#5dade2}.interrupt-ring{position:relative;width:36px;height:36px;flex-shrink:0}.interrupt-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.interrupt-ring-track{fill:none;stroke:#ffffff26;stroke-width:3}.interrupt-ring-fill{fill:none;stroke:#f1c40f;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .2s linear}.interrupt-ring-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:#f1c40f}.interrupt-tally{display:flex;align-items:baseline;gap:.5rem}.interrupt-tally-num{font-size:1.7rem;font-weight:800;color:#f1c40f;line-height:1}.interrupt-tally-math{font-size:.75rem;font-weight:600;color:#95a5a6}.interrupt-tally-req{font-size:.7rem;font-weight:700;color:#ecf0f1;background:#ffffff1f;border-radius:999px;padding:.15rem .5rem;white-space:nowrap}.interrupt-tally-duel{align-items:center;gap:.6rem}.interrupt-tally-side{display:flex;align-items:center;gap:.4rem;min-width:0}.interrupt-tally-name{font-size:.72rem;font-weight:600;color:#bdc3c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:7rem}.interrupt-tally-vs{font-size:.7rem;font-weight:700;text-transform:uppercase;color:#7f8c8d}.interrupt-panel-headline{font-size:.78rem;font-weight:600;color:#ecf0f1;margin:0;line-height:1.3;max-width:26rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.interrupt-panel-context{font-size:.75rem;color:#bdc3c7;margin:0;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.interrupt-panel-waiting{font-size:.78rem;font-weight:600;color:#f1c40f;margin:0;background:#1a1a2ed9;border-radius:999px;padding:.3rem .85rem;pointer-events:none}.interrupt-panel-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;pointer-events:auto;background:#1a1a2ed9;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.4rem .6rem;max-width:min(520px,100%)}.interrupt-actions-hint{font-size:.72rem;font-weight:600;color:#95a5a6;text-transform:uppercase;letter-spacing:.04em}.interrupt-pick-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.interrupt-card-row{display:flex;flex-wrap:wrap;gap:.5rem}.interrupt-challenge-confirm{display:flex;align-items:center;gap:.65rem;width:100%;justify-content:center;flex-wrap:wrap}.interrupt-challenge-confirm canvas,.interrupt-challenge-confirm img{display:block;border-radius:8px;box-shadow:0 4px 14px #00000073;flex-shrink:0}.interrupt-challenge-confirm-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}.interrupt-challenge-play{background:#c0392b!important;color:#fff!important;border:1px solid #e74c3c;font-weight:700}.interrupt-challenge-timer{margin-left:.4rem;padding:.05rem .4rem;border-radius:999px;background:#00000047;font-variant-numeric:tabular-nums;font-size:.85em}.interrupt-card-btn{position:relative;display:flex;flex-direction:column;align-items:center;padding:.25rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;color:#ecf0f1}.interrupt-card-btn:hover{background:#ffffff29;border-color:#f1c40f}.interrupt-card-btn.selected{border-color:#f1c40f;box-shadow:0 0 10px #f1c40f73;animation:none}@keyframes interrupt-card-pulse{0%,to{box-shadow:0 0 #f1c40f00}50%{box-shadow:0 0 9px 2px #f1c40f59}}.interrupt-card-row .interrupt-card-btn{animation:interrupt-card-pulse 1.8s ease-in-out infinite}.interrupt-card-row .interrupt-card-btn:hover{animation:none;box-shadow:0 0 9px 2px #f1c40f73}.interrupt-card-value{position:absolute;bottom:-.35rem;left:50%;transform:translate(-50%);font-size:.62rem;font-weight:800;color:#1a1a2e;background:#f1c40f;border-radius:999px;padding:.05rem .4rem;white-space:nowrap}.interrupt-pass{margin:0;width:auto}.rules-btn{font-weight:700;min-width:2rem;padding:.25rem .5rem}.rules-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.rules-modal{background:#1a1a2e;border:1px solid rgba(255,255,255,.15);border-radius:12px;max-width:32rem;max-height:85vh;overflow:auto;padding:1.25rem;color:#ecf0f1}.rules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.rules-header h2{margin:0;font-size:1.25rem}.rules-body section{margin-bottom:1rem}.rules-body h3{margin:0 0 .4rem;font-size:.95rem;color:#f1c40f}.rules-body ul{margin:0;padding-left:1.25rem;font-size:.85rem;line-height:1.5}.roll-breakdown-modal{max-width:28rem}.roll-breakdown-body{font-size:.9rem;line-height:1.45}.roll-breakdown-section{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.roll-breakdown-section:last-of-type{border-bottom:none}.roll-breakdown-section h3{margin:0 0 .5rem;font-size:.95rem;color:#f1c40f}.roll-breakdown-dice{display:flex;gap:.75rem;margin-bottom:.5rem}.roll-breakdown-dice-label{color:#ffffff8c;min-width:3.5rem}.roll-breakdown-subhead{font-size:.8rem;color:#ffffff8c;margin:.35rem 0 .25rem}.roll-breakdown-modifiers{list-style:none;margin:0;padding:0}.roll-breakdown-modifier{display:flex;gap:.5rem;align-items:baseline;padding:.2rem 0}.roll-breakdown-mod-value{font-weight:700;min-width:2rem;font-variant-numeric:tabular-nums}.roll-breakdown-mod-value.positive{color:#2ecc71}.roll-breakdown-mod-value.negative{color:#e74c3c}.roll-breakdown-mod-player{color:#ffffff8c}.roll-breakdown-mod-side{color:#ffffff73;font-size:.85em}.roll-breakdown-total{margin-top:.5rem;font-variant-numeric:tabular-nums}.roll-breakdown-req{color:#ffffffa6;font-size:.9em}.roll-breakdown-success{color:#2ecc71;font-weight:600}.roll-breakdown-fail{color:#e74c3c;font-weight:600}.roll-breakdown-verdict{margin-top:.75rem;padding:.6rem .75rem;background:#f1c40f1f;border-radius:6px;font-weight:600;text-align:center}.roll-breakdown-empty{margin:0;color:#ffffff73;font-size:.85rem}.roll-breakdown-note,.roll-breakdown-outcome{margin:.75rem 0 0;font-size:.85rem}.roll-breakdown-outcome{font-weight:600;color:#f1c40ff2}.roll-breakdown-mask-bands{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .75rem;font-size:.8rem;color:#ffffffb8}.roll-breakdown-mask-bands li{display:flex;gap:.4rem;align-items:baseline}.roll-breakdown-mask-range{min-width:2.5rem;color:#ffffff73;font-variant-numeric:tabular-nums}.roll-breakdown-mask-class{font-weight:600}.observed-choice-banner{position:absolute;top:4.5rem;left:50%;transform:translate(-50%);z-index:28;pointer-events:none;display:flex;align-items:center;gap:.45rem;padding:.55rem 1rem;background:#141626f0;border:1px solid rgba(231,76,60,.55);border-radius:999px;box-shadow:0 4px 20px #0006;max-width:min(90vw,28rem)}.observed-choice-label{font-weight:700;color:#e74c3c;white-space:nowrap}.observed-choice-text{color:#ecf0f1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-hand-reveal{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;max-height:14rem;overflow-y:auto}.choice-hand-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;max-width:7rem;font-size:.7rem;text-align:center}.choice-hand-name{font-weight:600;color:#fff}.choice-hand-type{color:#95a5a6;text-transform:capitalize}.choice-hand-effect{color:#bdc3c7;line-height:1.2}.modifier-preview{font-size:.75rem;color:#f1c40f;flex:1 1 100%}.roll-context-banner{position:absolute;top:8.5rem;left:50%;transform:translate(-50%);background:#2980b9eb;padding:.75rem 1.25rem;border-radius:10px;z-index:14;text-align:center;font-weight:600;pointer-events:auto;display:flex;flex-direction:column;gap:.5rem;align-items:center;max-width:min(640px,calc(100vw - 2rem))}.roll-context-dismiss{position:absolute;top:.35rem;right:.45rem;width:1.75rem;height:1.75rem;border:none;border-radius:50%;background:#00000059;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.roll-context-dismiss:hover{background:#c0392bd9}.roll-context-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center}.roll-context-skip{background:#f39c12;color:#1a1a1a;border:2px solid #fef5e7;font-weight:700;padding:.55rem 1.1rem;min-width:5.5rem}.roll-context-skip:hover:not(:disabled){background:#f1c40f;border-color:#fff}.choice-card-grid-readonly{pointer-events:auto}.choice-card-tile-readonly{cursor:pointer;border:1px solid rgba(255,255,255,.12);background:#00000040;padding:.5rem;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:.35rem;max-width:140px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.choice-card-tile-readonly:hover{transform:scale(1.04)}}@media(hover:none){.choice-card-tile-readonly:active{transform:scale(1.04)}}.roll-context-banner-muted{background:#2c3e50e0;pointer-events:none}.roll-context-wait{font-size:.85rem;color:#bdc3c7;font-weight:500}.choice-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1a1a2ef2;border:2px solid #3498db;border-radius:12px;padding:1.5rem;z-index:35;pointer-events:auto;min-width:300px;max-width:min(92vw,720px);max-height:85vh;overflow-y:auto}.choice-panel-wide{min-width:min(92vw,520px)}.choice-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.75rem;align-items:start;margin-top:.75rem}.choice-card-tile{display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center;border:none;background:transparent;padding:.2rem;min-height:44px;cursor:pointer;border-radius:10px;transition:transform .15s ease,box-shadow .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.choice-card-tile:hover{transform:scale(1.06);box-shadow:0 0 0 2px #3498db8c}}@media(hover:none){.choice-card-tile:active{transform:scale(1.04)}}.choice-card-tile img,.choice-card-tile canvas{border-radius:10px;display:block;width:100%;height:auto;max-width:110px}.choice-card-name{font-size:.68rem;color:#ecf0f1;line-height:1.2;max-width:110px}.choice-card-owner{font-size:.65rem;font-weight:600;color:#bdc3c7;line-height:1.2;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-equipment-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem;margin-top:.15rem}.choice-equipment-row img,.choice-equipment-row canvas{border-radius:6px;opacity:.92}.choice-equipment-preview{pointer-events:auto;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:6px}.choice-preview-card{display:flex;justify-content:center;margin-top:.75rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.choice-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.choice-btn{text-align:left}.game-log{position:relative;flex-shrink:0;width:min(280px,32vw);max-height:min(220px,28vh);overflow-y:auto;background:#000000bf;border-radius:8px;padding:.5rem .75rem .75rem;font-size:.8rem;color:#bdc3c7;z-index:1;pointer-events:auto;border:1px solid rgba(255,255,255,.08);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.game-log.expanded{max-height:min(45vh,360px);width:min(320px,38vw)}.log-header{display:flex;align-items:center;gap:.25rem;margin-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.4rem}.log-toggle{flex:1;min-width:0;text-align:left;background:transparent;border:none;color:#f1c40f;font-size:.75rem;font-weight:600;cursor:pointer;padding:.15rem 0}.log-hide-btn{flex-shrink:0;background:transparent;border:none;color:#95a5a6;font-size:1.1rem;line-height:1;cursor:pointer;padding:.15rem .35rem;border-radius:4px}.log-hide-btn:hover{color:#ecf0f1;background:#ffffff14}.log-restore-btn{flex-shrink:0;margin-left:auto;pointer-events:auto;background:#000000bf;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#f1c40f;font-size:.75rem;font-weight:600;cursor:pointer;padding:.45rem .65rem}.log-restore-btn:hover{background:#000000e6}.pile-chips{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;pointer-events:auto}.pile-chip{border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#000000b8;color:#d9b13b;font-size:.7rem;font-weight:600;padding:.35rem .6rem;cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pile-chip-log{color:#f1c40f}.hud-bottom{position:absolute;bottom:max(1rem,env(safe-area-inset-bottom,0px));left:max(1rem,env(safe-area-inset-left,0px));right:max(1rem,env(safe-area-inset-right,0px));display:flex;align-items:flex-end;gap:.75rem;z-index:12;pointer-events:none}.hud-bottom>*{pointer-events:auto}.hud-bottom:not(:has(.action-bar)){justify-content:flex-end}.hud-bottom-right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;flex-shrink:0;pointer-events:none}.hud-bottom-right>*{pointer-events:auto}.app:has(.hand-dock) .hud-bottom{bottom:calc(var(--hand-dock-space, 130px) + .35rem)}.log-entry{padding:.2rem 0;border-bottom:1px solid rgba(255,255,255,.05);line-height:1.35}.log-entry.log-error{color:#ff8a80;font-weight:600}.log-entry.log-warn{color:#ffe082}.log-entry-clickable .log-entry-btn{display:block;width:100%;margin:0;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:4px}.log-entry-clickable .log-entry-btn:hover,.log-entry-clickable .log-entry-btn:focus-visible{background:#f1c40f1f;outline:none}.log-entry-clickable .log-entry-btn:after{content:" ⓘ";opacity:.45;font-size:.75em}.log-accent{font-weight:600}.win-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:55;pointer-events:auto;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));background:radial-gradient(ellipse 90% 70% at 50% 40%,rgba(28,70,50,.55) 0%,transparent 58%),radial-gradient(ellipse at center,#1a1a2ee0,#06080ef0);animation:win-overlay-in .45s ease-out}.win-overlay-defeat{background:radial-gradient(ellipse 90% 70% at 50% 40%,rgba(70,28,32,.4) 0%,transparent 58%),radial-gradient(ellipse at center,#1a1a2ee6,#06080ef2)}.win-overlay-glow{position:absolute;top:18%;right:10%;bottom:28%;left:10%;pointer-events:none;background:radial-gradient(ellipse at center,rgba(241,196,15,.14) 0%,transparent 68%);animation:win-glow-pulse 3.2s ease-in-out infinite}.win-overlay-defeat .win-overlay-glow{background:radial-gradient(ellipse at center,rgba(192,57,43,.12) 0%,transparent 68%)}.win-panel{position:relative;width:min(420px,92vw);padding:2.4rem 1.75rem 1.85rem;text-align:center;background:linear-gradient(165deg,#242a3af5,#121622fa);border:1px solid rgba(241,196,15,.55);border-radius:18px;box-shadow:0 0 0 1px #00000059 inset,0 18px 48px #0000008c;animation:win-panel-in .5s cubic-bezier(.2,.85,.25,1)}.win-eyebrow{margin:0 0 .55rem;font-family:Cinzel,Georgia,Times New Roman,serif;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#f1c40fbf}.win-title{margin:0;font-family:Cinzel,Georgia,Times New Roman,serif;font-size:clamp(2.4rem,8vw,3.4rem);font-weight:700;letter-spacing:.04em;line-height:1.05;color:#f1c40f;text-shadow:0 2px 18px rgba(241,196,15,.28)}.win-overlay-defeat .win-title{color:#f5d0a9;text-shadow:0 2px 16px rgba(192,57,43,.25)}.win-rule{width:min(12rem,55%);height:1px;margin:1rem auto 1.1rem;background:linear-gradient(90deg,transparent 0%,rgba(241,196,15,.85) 50%,transparent 100%);animation:win-rule-draw .7s ease-out .15s both}.win-winner{margin:0;display:flex;flex-direction:column;gap:.2rem;font-family:Cinzel,Georgia,Times New Roman,serif;letter-spacing:.03em}.win-winner-name{font-size:clamp(1.15rem,3.4vw,1.35rem);font-weight:700;color:#ecf0f1}.win-winner-note{font-size:.82rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#f1c40fb3}.win-overlay-defeat .win-winner-note{color:#f5d0a9a6}.win-reason{margin:.55rem auto 0;max-width:28rem;font-family:Crimson Pro,Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.4;color:#bdc3c7}.win-actions{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;margin-top:1.6rem}.win-action-primary,.win-action-secondary{width:100%;margin:0;font-family:Cinzel,Georgia,Times New Roman,serif;letter-spacing:.03em}.win-action-primary{padding:.85rem 1.25rem;font-size:1.02rem}.win-waiting{margin:0;padding:.65rem .75rem;font-family:Crimson Pro,Georgia,Times New Roman,serif;font-size:.95rem;color:#95a5a6;border:1px dashed rgba(149,165,166,.35);border-radius:10px;background:#0000002e}@keyframes win-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes win-panel-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes win-glow-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes win-rule-draw{0%{opacity:0;transform:scaleX(.35)}to{opacity:1;transform:scaleX(1)}}.error-toast{position:absolute;top:1rem;left:50%;transform:translate(-50%);background:#e74c3c;color:#fff;padding:.75rem 1.5rem;border-radius:8px;z-index:50;cursor:pointer;font-size:.9rem}.overlay-panel.leader-pick{background:#1a1a2eeb;border:2px solid rgba(241,196,15,.85);border-radius:20px;padding:1.1rem 1.25rem 1.25rem;max-width:min(1180px,98vw);width:100%;max-height:min(96vh,100%);flex-shrink:1;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.65rem;box-shadow:0 18px 48px #00000073;overflow:hidden}.leader-pick-header{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex-shrink:0}.leader-pick h2{color:#f1c40f;font-size:clamp(1.25rem,2.4vw,1.7rem);margin:0;letter-spacing:.02em}.leader-pick-turn{display:inline-block;padding:.3rem .85rem;border-radius:999px;background:#f1c40f1f;border:1px solid rgba(241,196,15,.45);color:#f9e79f;font-weight:600;font-size:.88rem;margin:0}.leader-pick-turn.waiting{background:#34495e80;border-color:#34495e;color:#bdc3c7}.leader-pick-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.leader-pick-actions .btn{width:auto;margin:0;padding:.45rem .95rem;font-size:.9rem}.leader-grid{display:grid;gap:.75rem .9rem;justify-content:center;justify-items:center;align-content:center;width:100%;flex:1 1 auto;min-height:0;overflow:hidden;padding:.15rem .1rem}.leader-card{background:transparent;border:2px solid transparent;border-radius:12px;padding:.2rem;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.leader-card img,.leader-card canvas,.leader-card .card-face-wrap{display:block;border-radius:8px;box-shadow:0 6px 18px #00000080;transition:box-shadow .18s ease;pointer-events:none}.leader-card:hover:not(:disabled){border-color:#f1c40f;transform:translateY(-5px) scale(1.02);box-shadow:0 14px 28px #f1c40f38}.leader-card:hover:not(:disabled) img,.leader-card:hover:not(:disabled) canvas,.leader-card:hover:not(:disabled) .card-face-wrap{box-shadow:0 10px 24px #f1c40f4d}.leader-card:focus-visible{outline:2px solid #f1c40f;outline-offset:2px}.leader-card:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.overlay-panel.leader-pick{padding:.85rem .65rem 1rem;border-radius:16px}.leader-grid{gap:.55rem .55rem}}@media(max-height:700px){.overlay-panel.leader-pick{padding:.65rem .75rem .85rem;gap:.4rem}.leader-pick h2{font-size:1.15rem}.leader-pick-turn{font-size:.78rem;padding:.22rem .7rem}}.music-controls{display:flex;align-items:center;gap:.5rem;margin-top:1rem;flex-wrap:wrap;justify-content:center}.hud-top-right .music-controls{margin-top:0;flex-wrap:nowrap}.music-controls-compact{position:relative}.music-toggle-compact{font-size:1rem;line-height:1;padding:.35rem .45rem;min-width:2.25rem}.music-controls-popover{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:.65rem .75rem;background:#1a1a2ef7;border:1px solid rgba(127,140,141,.35);border-radius:8px;box-shadow:0 8px 24px #00000073;min-width:11rem}.music-controls-popover-fixed{position:fixed;z-index:100;pointer-events:auto}.music-controls-popover .music-toggle{width:100%}.music-controls-popover .audio-slider-label{width:100%;justify-content:space-between}.music-controls-popover .music-volume{flex:1;min-width:5rem}.music-toggle{margin:0;width:auto;white-space:nowrap}.music-toggle-icon{min-width:2.5rem;padding-left:.55rem;padding-right:.55rem;font-size:1.15rem;line-height:1}.music-toggle-icon.off{opacity:.75}.music-volume{width:72px;accent-color:#f1c40f;cursor:pointer}.audio-slider-label{display:inline-flex;align-items:center;gap:.35rem}.audio-slider-name{font-size:.7rem;color:#aaa;min-width:2.25rem;text-align:right}.sfx-volume{accent-color:#5dade2}.music-retry{margin:0;width:auto;background:#2980b9;color:#fff;font-size:.75rem;padding:.35rem .6rem}@media(max-width:900px),(max-height:700px){.hud-bottom{flex-direction:column-reverse;align-items:stretch}.hud-bottom:not(:has(.action-bar)){align-items:flex-end}.hud-bottom-right{align-self:stretch;width:100%;max-width:none;align-items:stretch}.hud-bottom:not(:has(.action-bar)) .hud-bottom-right{align-self:flex-end;width:auto;align-items:flex-end}.action-bar{width:100%;max-width:none;max-height:min(45vh,320px)}.game-log,.game-log.expanded,.log-restore-btn{align-self:flex-end;width:min(280px,calc(100vw - 2rem))}.game-log{max-height:min(140px,20vh)}.game-log.expanded{width:min(320px,calc(100vw - 2rem));max-height:min(30vh,220px)}.equip-hint{white-space:normal;flex-basis:100%;text-align:center;margin:0}.action-bar .btn.action{font-size:.82rem;padding:.5rem .75rem}.hud-bottom-right:not(.phone-dock-toolbar) .end-turn-cluster.ready{align-self:flex-end;align-items:stretch;width:auto;max-width:min(220px,100%)}.hud-bottom-right:not(.phone-dock-toolbar) .end-turn-fab.ready{width:auto;justify-content:center;padding:.7rem 1.1rem;font-size:.95rem}}@media(min-width:980px){.hud-bottom{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;grid-template-areas:"log . right";align-items:end;gap:.5rem;z-index:40}.app:has(.hand-dock) .hud-bottom{bottom:max(.75rem,env(safe-area-inset-bottom,0px))}.hud-bottom-right{grid-area:right;justify-self:end;align-items:flex-end;max-width:min(176px,22vw);gap:.35rem}.action-bar{flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;width:100%;max-width:168px;padding:.4rem;gap:.3rem;max-height:min(28vh,220px)}.action-bar .btn.action{width:100%;margin:0;font-size:.72rem;padding:.4rem .45rem;white-space:normal;line-height:1.25}.action-bar .equip-hint{flex-basis:auto;font-size:.68rem;padding:.1rem .15rem .2rem}.game-log,.game-log.expanded{grid-area:log;align-self:end;width:min(260px,26vw)}.game-log{max-height:min(160px,22vh)}.log-restore-btn{grid-area:log;justify-self:start;width:auto;margin-left:0}.hand-dock{justify-content:center;padding-left:max(168px,env(safe-area-inset-left,0px));padding-right:max(168px,env(safe-area-inset-right,0px))}.hand-dock-cards{max-width:min(720px,calc(100vw - 336px));margin:0 auto}.turn-plays-panel{top:6.5rem;right:max(.65rem,env(safe-area-inset-right,0px));transform:none;max-width:min(112px,14vw);max-height:calc(100vh - 6.5rem - var(--hand-dock-space, 130px) - 10rem)}.end-turn-fab{padding:.65rem 1.1rem;font-size:.9rem}.end-turn-fab.ready{padding:.85rem 1.45rem;font-size:1.02rem}.pile-chip{font-size:.65rem;padding:.3rem .5rem}}@media(min-width:980px)and (max-width:1180px),(min-width:980px)and (max-height:820px){.interrupt-stack{top:3.25rem;width:min(560px,calc(100vw - 12rem));gap:.35rem}.interrupt-panel{max-width:min(420px,100%);padding:.45rem .6rem;gap:.5rem}.interrupt-panel-card img,.interrupt-panel-card canvas{width:48px!important;height:auto!important}.interrupt-panel-headline{font-size:.85rem}.interrupt-panel-context{font-size:.72rem}.interrupt-tally-num{font-size:1.55rem}.interrupt-panel-actions{padding:.35rem .5rem;gap:.35rem;max-width:min(520px,100%)}.card-preview.card-preview-inspect{top:42%;gap:.35rem}.card-preview-confirm{min-width:50%;padding:.55rem 1rem;font-size:.9rem}.hand-dock-cards{max-width:calc(100vw - 720px)}.turn-plays-panel{max-width:min(96px,12vw)}}@media(max-width:700px){.app{--hand-dock-cards: calc(min(max(100vw / 5.5, 68px), 88px)*1.5 + 20px + env(safe-area-inset-bottom, 0px)) ;--phone-dock-toolbar: 2.85rem;--hand-dock-space: calc(var(--hand-dock-cards) + var(--phone-dock-toolbar) + .35rem)}.hand-dock{padding-left:max(.35rem,env(safe-area-inset-left,0px));padding-right:max(.35rem,env(safe-area-inset-right,0px));padding-bottom:max(.2rem,env(safe-area-inset-bottom,0px))}.hand-dock-cards{max-width:100%}.app:has(.turn-plays-panel) .hand-dock{padding-right:max(.35rem,env(safe-area-inset-right,0px))}.hud-top.hud-top-phone{flex-wrap:nowrap;flex-direction:column;align-items:stretch;gap:.3rem;padding:.4rem .55rem .45rem;padding-top:max(.4rem,env(safe-area-inset-top,0px))}.hud-top.hud-top-phone.menu-open{z-index:40}.hud-top-phone .hud-top-left{flex:1 1 auto;width:100%;gap:.3rem}.hud-top-primary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;pointer-events:auto}.hud-top-phone .turn-info{gap:.45rem;min-width:0}.hud-top-phone .turn-label{font-size:.95rem}.ap-pip{width:11px;height:11px}.hud-more{position:relative;flex-shrink:0}.hud-more-btn{width:2.25rem;min-width:2.25rem;padding:.35rem .4rem;font-size:1.15rem;line-height:1;letter-spacing:.05em}.hud-more-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:50;min-width:11.5rem;max-width:min(14rem,calc(100vw - 1rem));max-height:min(55vh,320px);overflow-y:auto;padding:.45rem;display:flex;flex-direction:column;gap:.35rem;background:#0e0e16f7;border:1px solid rgba(201,162,75,.4);border-radius:12px;box-shadow:0 10px 28px #0000008c}.hud-more-item{display:block;width:100%;text-align:left;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#202030e6;color:#f0e6d2;font-size:.82rem;font-weight:600;padding:.55rem .7rem;cursor:pointer}.hud-more-item.hud-more-leave{border-color:#e74c3c73;color:#f5b7b1}.hud-more-audio{padding:.35rem .45rem .5rem;border-radius:8px;background:#1a1a28d9}.hud-more-audio .music-controls{margin-top:0;flex-direction:column;align-items:stretch;gap:.4rem}.hud-top-phone .turn-order-strip{max-width:100%;width:100%}.turn-order-progress{font-size:.65rem;font-weight:800;color:#f1c40f;background:#00000059;border-radius:999px;padding:.08rem .35rem;margin-left:.1rem}.hud-top-phone .turn-order-name{max-width:4.5rem;overflow:hidden;text-overflow:ellipsis}.room-badge{display:none}.class-token-badge{max-width:110px;padding:.3rem .4rem}.class-token-label{font-size:.68rem}.hud-bottom.hud-bottom-phone{bottom:calc(var(--hand-dock-cards, 150px) + .15rem);left:max(.35rem,env(safe-area-inset-left,0px));right:max(.35rem,env(safe-area-inset-right,0px));gap:.3rem;z-index:40;flex-direction:column;align-items:stretch}.app:has(.hand-dock) .hud-bottom.hud-bottom-phone{bottom:calc(var(--hand-dock-cards, 150px) + .15rem)}.app:has(.discard-overlay) .hud-bottom{display:none}.hud-bottom-phone .hud-bottom-right.phone-dock-toolbar{align-self:stretch;width:100%;max-width:none;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.3rem;padding:.28rem .35rem;background:#08080ed1;border:1px solid rgba(201,162,75,.28);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:visible;max-height:none}.hud-bottom-phone .action-bar{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-start;align-items:center;align-content:center;width:auto;min-width:0;max-width:none;max-height:none;min-height:0;padding:0;gap:.28rem;background:transparent;border:none;box-shadow:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.hud-bottom-phone .action-bar .btn.action{font-size:.68rem;padding:.4rem .55rem;white-space:nowrap;flex-shrink:0;margin:0;line-height:1.15}.hud-bottom-phone .equip-hint{display:none}.hud-bottom-phone .end-turn-cluster{flex-shrink:0;margin-left:auto;align-items:center}.hud-bottom-phone .end-turn-cluster.ready{align-self:center;width:auto}.hud-bottom-phone .end-turn-fab{padding:.4rem .7rem;font-size:.72rem;white-space:nowrap}.hud-bottom-phone .end-turn-fab.ready{width:auto;padding:.45rem .8rem;font-size:.75rem}.hud-bottom-phone .phone-dock-log{flex-shrink:0;font-size:.65rem;padding:.35rem .5rem}.hud-bottom-phone .game-log,.hud-bottom-phone .game-log.expanded,.hud-bottom-phone .log-restore-btn{align-self:flex-end;width:min(280px,calc(100vw - 1rem))}.turn-plays-panel{top:auto;bottom:calc(var(--hand-dock-space, 160px) + .5rem);right:.3rem;transform:none;max-width:72px;max-height:min(28vh,200px);gap:.3rem}.app:has(.action-bar) .turn-plays-panel{bottom:calc(var(--hand-dock-space, 160px) + .5rem);max-height:min(24vh,180px)}.turn-plays-label{font-size:.58rem;padding:.2rem .3rem}.turn-play-mod-badge,.turn-play-kind-badge,.turn-play-target-badge{font-size:.58rem;padding:.1rem .28rem}.roll-context-banner{top:5.5rem;padding:.4rem .7rem;font-size:.78rem;max-width:calc(100vw - 1rem)}.interrupt-stack{top:max(7.25rem,calc(env(safe-area-inset-top,0px) + 6.5rem));width:calc(100vw - .6rem);gap:.3rem}.interrupt-panel{padding:.4rem .5rem;gap:.45rem}.interrupt-panel-card img,.interrupt-panel-card canvas{width:44px!important;height:auto!important}.interrupt-panel-headline{font-size:.8rem}.interrupt-panel-context{font-size:.66rem}.interrupt-tally-num{font-size:1.25rem}.interrupt-ring{width:28px;height:28px}.interrupt-ring-num{font-size:.66rem}.interrupt-panel-actions{padding:.3rem .4rem;gap:.3rem}.interrupt-challenge-confirm{gap:.4rem}.interrupt-challenge-confirm-actions{gap:.25rem}.observed-choice-banner{top:max(7.25rem,calc(env(safe-area-inset-top,0px) + 6.5rem));max-width:calc(100vw - 1rem)}.dice-roll-banner{padding:.55rem .85rem;gap:.45rem;width:max-content;max-width:calc(100vw - 2rem)}.dice-roll-banner span{font-size:.82rem}.dice-roll-btn{font-size:.95rem;padding:.5rem 1.1rem}.card-preview.card-preview-inspect{top:40%;gap:.3rem}.card-preview-confirm{min-width:52%;padding:.5rem .9rem;font-size:.88rem}.card-preview-hint{font-size:.65rem;padding:.2rem .5rem}.card-preview-close{width:2rem;height:2rem;top:-.7rem;right:-.7rem;font-size:1.2rem}.banner-toast{font-size:1rem;padding:.55rem 1.1rem;max-width:calc(100vw - 2rem);text-align:center}.error-toast{max-width:calc(100vw - 1.5rem);font-size:.82rem;padding:.6rem 1rem}.game-log{font-size:.72rem;max-height:min(120px,18vh)}.discard-overlay,.discard-overlay-wide{top:3.25rem;width:calc(100vw - .75rem);max-height:calc(100dvh - 4.5rem)}.choice-panel,.choice-panel-wide{max-width:calc(100vw - .75rem);max-height:calc(100dvh - 3rem);padding:1rem .75rem}.choice-card-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.55rem}.choice-card-tile img,.choice-card-tile canvas{max-width:96px}.win-panel{padding:1.75rem 1.25rem 1.4rem}.win-title{font-size:clamp(2rem,9vw,2.6rem)}.win-reason{font-size:.98rem}.win-actions{margin-top:1.25rem}.challenge-rolloff{gap:.6rem}.challenge-rolloff-panels{flex-direction:column;gap:.5rem;width:min(420px,94vw)}.challenge-rolloff-panel{padding:.6rem .9rem}.challenge-rolloff-total{font-size:2.4rem;margin:.25rem 0}.challenge-rolloff-card img,.challenge-rolloff-card canvas{width:84px!important;height:auto!important}.challenge-rolloff-vs{align-self:center}.challenge-slam-card img,.challenge-slam-card canvas{width:160px!important;height:auto!important}.challenge-slam-x{font-size:6rem}.roll-cinematic-body{flex-direction:column;gap:1rem}.roll-cinematic-card img,.roll-cinematic-card canvas{width:140px!important;height:auto!important}}@media(min-width:701px)and (max-width:979px){.app{--hand-dock-cards: calc(min(max(100vw / 6.2, 72px), 104px)*1.5 + 20px + env(safe-area-inset-bottom, 0px)) ;--phone-dock-toolbar: 2.85rem;--hand-dock-space: calc(var(--hand-dock-cards) + var(--phone-dock-toolbar) + .35rem)}.hud-bottom.hud-bottom-phone{bottom:calc(var(--hand-dock-cards, 160px) + .15rem);left:max(.45rem,env(safe-area-inset-left,0px));right:max(.45rem,env(safe-area-inset-right,0px));gap:.3rem;z-index:40;flex-direction:column;align-items:stretch}.app:has(.hand-dock) .hud-bottom.hud-bottom-phone{bottom:calc(var(--hand-dock-cards, 160px) + .15rem)}.hud-bottom-phone .hud-bottom-right.phone-dock-toolbar{align-self:stretch;width:100%;max-width:none;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.35rem;padding:.32rem .4rem;background:#08080ed1;border:1px solid rgba(201,162,75,.28);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:visible;max-height:none}.hud-bottom-phone .action-bar{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-start;align-items:center;width:auto;min-width:0;max-width:none;max-height:none;min-height:0;padding:0;gap:.3rem;background:transparent;border:none;box-shadow:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.hud-bottom-phone .action-bar .btn.action{font-size:.72rem;padding:.42rem .6rem;white-space:nowrap;flex-shrink:0;margin:0}.hud-bottom-phone .equip-hint{display:none}.hud-bottom-phone .end-turn-cluster{flex-shrink:0;margin-left:auto;align-items:center}.hud-bottom-phone .end-turn-cluster.ready{align-self:center;width:auto}.hud-bottom-phone .end-turn-fab,.hud-bottom-phone .end-turn-fab.ready{width:auto;padding:.45rem .85rem;font-size:.78rem;white-space:nowrap}.hud-bottom-phone .game-log,.hud-bottom-phone .game-log.expanded,.hud-bottom-phone .log-restore-btn{align-self:flex-end;width:min(300px,calc(100vw - 1.25rem))}}.ap-display{display:inline-flex;align-items:center;gap:.35rem}.ap-display-count{font-weight:700;color:#f1c40f;font-size:.95rem;margin-right:.15rem}.hud-icon-btn{width:2.1rem;height:2.1rem;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;border-radius:8px}.end-turn-cluster{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;pointer-events:auto;flex-shrink:0}.end-turn-cluster.ready{gap:.5rem}.end-turn-ap{display:inline-flex;align-items:center;gap:.3rem;color:#f1c40f;font-weight:700;font-size:.95rem;background:#1a1a2ed9;padding:.35rem .65rem;border-radius:999px;border:1px solid #34495e;transition:opacity .25s,color .25s,border-color .25s}.end-turn-ap.spent{color:#95a5a6;border-color:#2c3e50;opacity:.75}.end-turn-cluster .end-turn-fab{margin:0;position:static}.pile-chip-static{cursor:default;opacity:.95}.pile-chips{pointer-events:auto}.turn-banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:hidden}.turn-banner-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;animation:turn-banner-dim 2.2s ease forwards}.turn-banner-text{position:relative;font-size:clamp(2.2rem,8vw,4.5rem);font-weight:800;letter-spacing:.08em;color:#f9e79f;text-shadow:0 4px 24px rgba(0,0,0,.75),0 0 40px rgba(241,196,15,.35);transform:skew(-8deg) translate(-120%);white-space:nowrap;animation:turn-banner-sweep 2.2s cubic-bezier(.22,1,.36,1) forwards}@keyframes turn-banner-sweep{0%{transform:skew(-8deg) translate(-120%);opacity:0}18%{opacity:1}55%{transform:skew(-8deg) translate(0);opacity:1}to{transform:skew(-8deg) translate(120%);opacity:0}}@keyframes turn-banner-dim{0%,70%{opacity:1}to{opacity:0}}.challenge-slam{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;gap:1rem}.challenge-slam-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6}.challenge-slam-card{position:relative;z-index:1;animation:challenge-slam-in .45s cubic-bezier(.2,1.4,.4,1) forwards;filter:drop-shadow(0 12px 40px rgba(231,76,60,.55))}.challenge-slam-x{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10rem;font-weight:900;color:#e74c3c;text-shadow:0 0 20px rgba(0,0,0,.8);animation:challenge-x-pop .5s .25s cubic-bezier(.2,1.6,.4,1) both;pointer-events:none}.challenge-slam-text{position:relative;z-index:1;color:#ecf0f1;font-size:1.35rem;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.8)}.challenge-slam-text strong{color:#f1c40f}@keyframes challenge-slam-in{0%{transform:scale(1.6) rotate(-6deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes challenge-x-pop{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:.9}}.challenge-rolloff{position:fixed;top:0;right:0;bottom:0;left:0;z-index:84;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;pointer-events:auto}.challenge-rolloff.results-only{pointer-events:none}.challenge-rolloff-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8}.challenge-rolloff-card{position:relative;z-index:1;filter:drop-shadow(0 10px 26px rgba(0,0,0,.65))}.challenge-rolloff-card img,.challenge-rolloff-card canvas{border-radius:8px}.challenge-rolloff-caption{position:relative;z-index:1;color:#bdc3c7;font-size:1rem;margin:0}.challenge-rolloff-panels{position:relative;z-index:1;display:flex;align-items:stretch;gap:1rem;width:min(920px,94vw)}.challenge-rolloff-panel{flex:1;background:#1a1a2ef2;border:2px solid #34495e;border-radius:16px;padding:1.5rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-height:220px;transition:border-color .3s,box-shadow .3s}.challenge-rolloff-panel.winner{border-color:#f1c40f;box-shadow:0 0 28px #f1c40f73}.challenge-rolloff-role{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#95a5a6}.challenge-rolloff-name{font-size:1.25rem;font-weight:700;color:#ecf0f1}.challenge-rolloff-total{font-size:3.5rem;font-weight:800;color:#f1c40f;line-height:1;margin:.5rem 0}.challenge-rolloff-vs{position:relative;z-index:1;align-self:center;font-size:1.6rem;font-weight:900;color:#e74c3c;text-shadow:0 0 16px rgba(231,76,60,.6)}.challenge-rolloff-result{position:relative;z-index:1;color:#f9e79f;font-size:1.2rem;font-weight:700;margin:0}.challenge-rolloff-ack{position:relative;z-index:1;width:auto;min-width:160px}.challenge-rolloff-panel .btn{width:auto;min-width:140px;margin-top:auto}.roll-cinematic{position:fixed;top:0;right:0;bottom:0;left:0;z-index:82;display:flex;align-items:center;justify-content:center;pointer-events:auto}.roll-cinematic-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.roll-cinematic-body{position:relative;z-index:1;display:flex;align-items:center;gap:2rem;max-width:min(900px,94vw);animation:roll-cinematic-in .35s ease-out}.roll-cinematic-card{flex-shrink:0;filter:drop-shadow(0 10px 30px rgba(0,0,0,.6));animation:roll-cinematic-card-in .45s cubic-bezier(.2,1.2,.4,1)}.roll-cinematic-center{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-width:200px}.roll-cinematic-title{color:#ecf0f1;font-size:1.35rem;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.7)}.roll-cinematic-highlight{color:#f1c40f;font-weight:700}.roll-cinematic-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.roll-cinematic-throw,.roll-cinematic-skip{width:auto;min-width:140px;margin:0;font-size:1.05rem;padding:.85rem 1.4rem}.roll-cinematic-waiting{color:#95a5a6;margin:0}.roll-cinematic.linger{pointer-events:none;animation:roll-cinematic-out 1.6s ease forwards}@keyframes roll-cinematic-out{0%,62%{opacity:1}to{opacity:0}}.rolling-dice{display:flex;gap:.6rem;align-items:center}.die-slot{border-radius:10px;border:2px dashed rgba(255,255,255,.22);background:#ffffff0a}.die-wrap{display:inline-flex}.die-face{display:grid;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:17%;box-sizing:border-box;border-radius:10px;background:linear-gradient(150deg,#fbf8ef,#ddd6c2);box-shadow:0 6px 18px #00000073,inset 0 -2px 4px #0000001f}.die-pip{width:62%;height:62%;border-radius:50%;background:#14141f;place-self:center}.rolling-dice.tumbling .die-wrap{animation:die-tumble .28s ease-in-out infinite}.rolling-dice.settled .die-wrap{animation:die-land .32s cubic-bezier(.2,1.4,.4,1)}@keyframes die-tumble{0%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-9px) rotate(9deg)}to{transform:translateY(0) rotate(-8deg)}}@keyframes die-land{0%{transform:scale(1.35) rotate(6deg)}70%{transform:scale(.94) rotate(-1deg)}to{transform:scale(1) rotate(0)}}.roll-total-badge{display:flex;align-items:center;gap:.55rem;animation:total-pop .35s cubic-bezier(.2,1.5,.4,1)}.roll-total-num{font-size:2.6rem;font-weight:900;line-height:1;color:#f1c40f;text-shadow:0 0 22px rgba(241,196,15,.45)}.roll-total-badge.success .roll-total-num{color:#2ecc71;text-shadow:0 0 22px rgba(46,204,113,.5)}.roll-total-badge.fail .roll-total-num{color:#e74c3c;text-shadow:0 0 22px rgba(231,76,60,.5)}.roll-total-mark{font-size:1.6rem;font-weight:900}.roll-total-badge.success .roll-total-mark{color:#2ecc71}.roll-total-badge.fail .roll-total-mark{color:#e74c3c}.roll-total-req{font-size:.72rem;font-weight:700;color:#ecf0f1;background:#ffffff1f;border-radius:999px;padding:.2rem .55rem;white-space:nowrap}@keyframes total-pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes roll-cinematic-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes roll-cinematic-card-in{0%{opacity:0;transform:translate(-40px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.leader-progress-rail{position:fixed;left:max(.5rem,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%);z-index:24;display:flex;flex-direction:column;gap:.65rem;pointer-events:none;max-height:min(70vh,520px);overflow-y:auto}.leader-progress-chip{display:flex;align-items:center;gap:.45rem;background:#1a1a2ee0;border:1px solid #34495e;border-radius:12px;padding:.35rem .5rem .35rem .35rem;min-width:168px;pointer-events:auto;cursor:pointer;color:inherit;font:inherit;text-align:left;transition:border-color .2s,box-shadow .2s,transform .15s}.leader-progress-chip:hover{border-color:#7f8c8d}.leader-progress-chip:focus-visible{outline:2px solid #f1c40f;outline-offset:2px}.leader-progress-chip.me{border-color:#f1c40f8c}.leader-progress-chip.active{box-shadow:0 0 14px #f1c40f59;border-color:#f1c40f}.leader-progress-face{position:relative;flex-shrink:0;width:72px;height:108px;border-radius:6px;overflow:hidden;line-height:0;background:#12121f;border:1px solid rgba(241,196,15,.35)}.leader-progress-face img,.leader-progress-face canvas{display:block;width:72px!important;height:108px!important;object-fit:cover}.leader-progress-slain{position:absolute;top:2px;right:2px;background:#f1c40f;color:#1a1a2e;font-size:.65rem;font-weight:800;min-width:1.1rem;height:1.1rem;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 .2rem;z-index:1}.leader-progress-meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}.leader-progress-name{font-size:.72rem;font-weight:700;color:#ecf0f1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:88px}.leader-progress-bar{font-size:.85rem;font-weight:800;color:#f1c40f;line-height:1.15}.leader-progress-unit{font-size:.62rem;font-weight:700;color:#f9e79f;text-transform:lowercase}.leader-progress-sub{font-size:.58rem;font-weight:600;color:#95a5a6;white-space:nowrap}.card-preview-play{margin-top:.75rem}.party-status-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:42;display:flex;align-items:center;justify-content:center;padding:max(.75rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px));background:#04060eb8;animation:preview-backdrop-in .15s ease}.party-status-panel{width:min(920px,100%);max-height:min(88vh,860px);overflow-y:auto;background:linear-gradient(165deg,#161828f7,#0c0e1afa);border:2px solid rgba(241,196,15,.45);border-radius:14px;padding:1rem 1.15rem 1.1rem;box-shadow:0 18px 48px #0000008c;color:#ecf0f1;scrollbar-width:thin}.party-status-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.party-status-header-text h2{margin:0;font-family:Cinzel,Times New Roman,serif;font-size:1.35rem;color:#f1c40f;letter-spacing:.02em}.party-status-header-text p{margin:.25rem 0 0;font-size:.85rem;color:#bdc3c7}.party-status-close{min-width:2.25rem;font-size:1.35rem;line-height:1;padding:.25rem .55rem}.party-status-section{margin-bottom:.95rem}.party-status-section h3{margin:0 0 .45rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#95a5a6}.party-status-row{display:flex;gap:.65rem;align-items:flex-start}.party-status-row.wrap{flex-wrap:wrap}.party-status-empty{margin:0;font-size:.85rem;color:#7f8c8d}.party-status-card-tile{position:relative;display:block;padding:0;border:2px solid rgba(241,196,15,.35);border-radius:8px;background:#12121f;cursor:pointer;line-height:0;overflow:hidden;transition:border-color .15s,transform .15s,box-shadow .15s}.party-status-card-tile:hover,.party-status-card-tile:focus-visible{border-color:#f1c40f;box-shadow:0 0 0 1px #f1c40f59;transform:translateY(-2px);outline:none}.party-status-card-tile img,.party-status-card-tile canvas{display:block}.party-status-hero-stack{display:flex;flex-direction:column;gap:.3rem;align-items:center}.party-status-equipment{display:flex;gap:.25rem}.party-status-class-list{display:flex;flex-wrap:wrap;gap:.4rem}.party-status-class-chip{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2)}.party-status-class-chip.on-card{position:absolute;left:4px;bottom:4px;max-width:calc(100% - 8px);font-size:.58rem;padding:.15rem .35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-status-hint{margin:.25rem 0 0;font-size:.72rem;color:#7f8c8d;text-align:center}@media(max-width:700px){.party-status-panel{width:100%;max-height:min(92vh,100%);padding:.75rem .8rem .9rem;border-radius:12px}.party-status-header-text h2{font-size:1.1rem}.party-status-header-text p{font-size:.78rem}.party-status-row{gap:.45rem}}@media(max-width:1180px){.leader-progress-rail{left:max(.35rem,env(safe-area-inset-left,0px));top:42%;gap:.4rem;max-height:min(48vh,calc(100vh - 14rem))}.leader-progress-chip{min-width:0;width:min(148px,22vw);gap:.35rem;padding:.25rem .4rem .25rem .25rem;border-radius:10px}.leader-progress-face{width:48px;height:72px}.leader-progress-face canvas,.leader-progress-face img{width:48px!important;height:72px!important}.leader-progress-slain{font-size:.55rem;min-width:.95rem;height:.95rem}.leader-progress-name{font-size:.64rem;max-width:84px}.leader-progress-bar{font-size:.72rem}.leader-progress-unit{font-size:.55rem}.leader-progress-sub{font-size:.52rem;line-height:1.2;white-space:normal}.hand-dock{padding-left:max(148px,env(safe-area-inset-left,0px));padding-right:max(148px,env(safe-area-inset-right,0px))}.hand-dock-cards{max-width:min(640px,calc(100vw - 296px))}}@media(max-width:700px){.hand-dock{padding-left:max(.35rem,env(safe-area-inset-left,0px));padding-right:max(.35rem,env(safe-area-inset-right,0px))}.hand-dock-cards{max-width:100%}.app:has(.turn-plays-panel) .hand-dock{padding-right:max(.35rem,env(safe-area-inset-right,0px))}}@media(max-width:700px){.hud-bottom-right:not(.phone-dock-toolbar){align-self:stretch;width:100%;max-width:none;align-items:stretch}}@media(max-width:700px){.hand-dock-card.selected{transform:translateY(-8px)}}@media(max-height:520px)and (max-width:979px){.app{--hand-dock-cards: calc(134px + env(safe-area-inset-bottom, 0px)) ;--phone-dock-toolbar: 2.5rem;--hand-dock-space: calc(var(--hand-dock-cards) + var(--phone-dock-toolbar) + .25rem)}.hud-top{padding:.3rem .5rem}.app:has(.leader-progress-rail) .turn-order-strip{display:none}.leader-progress-sub{display:none}.turn-plays-panel{max-width:72px;max-height:48vh;right:.3rem}.game-log{max-height:90px}.action-bar{flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;overflow-x:auto;overflow-y:auto;max-height:min(28vh,120px);padding:.3rem .4rem;gap:.28rem;scrollbar-width:thin}.action-bar::-webkit-scrollbar{height:3px}.action-bar .btn.action{font-size:.68rem;padding:.35rem .5rem;white-space:nowrap;flex-shrink:0;margin:0;line-height:1.2}.equip-hint{flex:0 0 100%;order:-1;white-space:normal;overflow-wrap:anywhere;font-size:.62rem;line-height:1.2;text-align:center}.card-preview.card-preview-inspect{top:42%;gap:.25rem}.card-preview-confirm{min-width:48%;padding:.4rem .75rem;font-size:.82rem}.dice-roll-banner{padding:.45rem .75rem;gap:.35rem}.dice-roll-banner span{font-size:.78rem}.interrupt-stack{top:2.6rem}.interrupt-challenge-confirm{gap:.35rem}.challenge-rolloff{gap:.5rem}.challenge-rolloff-card{display:none}.challenge-rolloff-panels{width:min(680px,94vw)}.challenge-rolloff-panel{padding:.6rem .9rem}.challenge-rolloff-total{font-size:2rem;margin:.2rem 0}.challenge-rolloff-name{font-size:1rem}.challenge-slam-card img,.challenge-slam-card canvas{width:140px!important;height:auto!important}.challenge-slam-x{font-size:5rem}.roll-cinematic-body{gap:1rem}.roll-cinematic-card img,.roll-cinematic-card canvas{width:130px!important;height:auto!important}}@media(hover:none),(pointer:coarse){.class-token-badge,.roll-cinematic-dim{backdrop-filter:none;-webkit-backdrop-filter:none}}.perf-overlay{position:fixed;left:max(.5rem,env(safe-area-inset-left,0px));top:max(.5rem,env(safe-area-inset-top,0px));z-index:9500;padding:.35rem .55rem;border-radius:6px;border:1px solid rgba(201,162,75,.45);background:#0a080ed1;color:#c8f5d0;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none;letter-spacing:.02em}.feedback-widget{position:fixed;top:max(3.85rem,calc(env(safe-area-inset-top,0px) + 3.25rem));right:max(.75rem,env(safe-area-inset-right,0px));z-index:9200;font-family:Cinzel,Georgia,serif;display:flex;flex-direction:column;align-items:flex-end;max-width:min(360px,calc(100vw - 1.5rem))}.feedback-widget-fab{padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(201,162,75,.55);background:#120e16e0;color:#f0e6d2;font:inherit;font-size:.82rem;letter-spacing:.04em;cursor:pointer;box-shadow:0 8px 24px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.feedback-widget-fab:hover{border-color:#f1c40fd9;color:#fff8e8}.feedback-widget-panel{width:min(360px,calc(100vw - 1.5rem));padding:.9rem 1rem 1rem;border-radius:14px;border:1.5px solid rgba(201,162,75,.55);background:#0e0c12f5;box-shadow:0 16px 40px #0000008c;color:#e8e0d0}.feedback-widget-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.feedback-widget-header h2{margin:0;font-size:1.05rem;color:#f1c40f;font-weight:600}.feedback-widget-close{border:none;background:transparent;color:#a89880;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 .2rem}.feedback-widget-hint{margin:0 0 .65rem;font-family:Crimson Pro,Georgia,serif;font-size:.9rem;color:#b8a890;line-height:1.35}.feedback-widget-input{width:100%;resize:vertical;min-height:110px;padding:.65rem .75rem;border-radius:8px;border:1px solid #34495e;background:#0a0a12;color:#ecf0f1;font-family:Crimson Pro,Georgia,serif;font-size:.95rem;outline:none;box-sizing:border-box}.feedback-widget-input:focus{border-color:#f1c40f}.feedback-widget-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.65rem}.feedback-widget-count{font-size:.75rem;color:#7f8c8d;font-family:system-ui,sans-serif}.feedback-widget-submit{width:auto;margin:0;padding:.55rem 1.1rem;font-size:.9rem}.feedback-widget-error{margin:.5rem 0 0;color:#e74c3c;font-size:.85rem;font-family:Crimson Pro,Georgia,serif}@media(max-width:700px){.feedback-widget{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);align-items:center;max-width:min(360px,calc(100vw - 1.25rem))}.feedback-widget-fab{padding:.45rem .75rem;font-size:.75rem}.app:has(.hand-dock) .feedback-widget:not(:has(.feedback-widget-panel)){display:none}.app:has(.interrupt-stack) .feedback-widget,.app:has(.challenge-rolloff) .feedback-widget,.app:has(.roll-cinematic) .feedback-widget{display:none}}
