:root{--bg:#0a0c10;--bg-2:#0e1117;--s1:#13161d;--s2:#191d26;--s3:#20252f;--s4:#2a303c;--border:#ffffff12;--border-2:#ffffff1f;--border-3:#fff3;--text:#ecebe7;--text-2:#a9a8a3;--text-3:#74736f;--accent:#d8b36a;--accent-2:#f0d49a;--accent-soft:#d8b36a24;--accent-ring:#d8b36a73;--accent-ink:#1c1406;--good:#5fcf8a;--good-soft:#5fcf8a1f;--bad:#ef6b5e;--bad-soft:#ef6b5e1f;--magic:#a78bfa;--magic-soft:#a78bfa24;--r:10px;--r-lg:14px;--r-xl:20px;--e1:0 1px 2px #0006;--e2:0 4px 12px #00000059, 0 1px 2px #0006;--e3:0 12px 32px #00000080, 0 2px 6px #0006;--e4:0 24px 64px #0009, 0 4px 12px #0006;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display:"Cormorant Garamond", "Cormorant", Georgia, serif;--topbar-h:60px;--dock-h:212px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;font-size:14px;line-height:1.45;overflow:hidden}button{font:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff1a padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{appearance:none;border-radius:var(--r);border:1px solid var(--border-2);background:var(--s3);height:36px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13.5px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s,transform 80ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--s4);border-color:var(--border-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{color:var(--accent-ink);box-shadow:0 1px 0 #ffffff40 inset, var(--e1);background:linear-gradient(#e7c47c,#cda154);border-color:#e9cb8a;font-weight:600}.btn.primary:hover:not(:disabled){box-shadow:0 0 0 3px var(--accent-soft), var(--e2);background:linear-gradient(#efcf8b,#d6ab5e)}.btn.ghost{border-color:var(--border);color:var(--text-2);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--s2);color:var(--text)}.btn.danger{background:var(--bad-soft);color:#ffb3aa;border-color:#ef6b5e66}.btn.danger:hover:not(:disabled){background:#ef6b5e38}.btn.magic{background:var(--magic-soft);color:#d7cbff;border-color:#a78bfa66}.btn.magic:hover:not(:disabled){background:#a78bfa3d}.btn.sm{border-radius:8px;height:30px;padding:0 11px;font-size:12.5px}.btn.lg{border-radius:12px;height:46px;padding:0 22px;font-size:15px}.icon-btn{appearance:none;border-radius:var(--r);border:1px solid var(--border);width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.icon-btn:hover{background:var(--s3);color:var(--text);border-color:var(--border-2)}.icon-btn.active{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent-ring)}.chip{--chip:var(--text-3);height:22px;color:color-mix(in srgb, var(--chip) 70%, white);background:color-mix(in srgb, var(--chip) 16%, transparent);border:1px solid color-mix(in srgb, var(--chip) 35%, transparent);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.pill{border:1px solid var(--border);background:var(--s2);height:28px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;display:inline-flex}.pill b{color:var(--text);font-weight:600}.pill svg{color:var(--accent)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.muted{color:var(--text-2)}.subtle{color:var(--text-3)}.panel{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--e2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#13161df0}.counter{background:var(--s2);border:1px solid var(--border);font-variant-numeric:tabular-nums;height:28px;color:var(--text-2);border-radius:8px;align-items:center;padding:0 10px;font-size:12.5px;display:inline-flex}.crest{filter:drop-shadow(0 2px 4px #00000073);flex-shrink:0}.kbd{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-mark{width:32px;height:32px;color:var(--accent);background:linear-gradient(#2a2418,#16130d);border:1px solid #d8b36a66;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.brand-name{font-family:var(--display);font-size:19px;font-weight:700;line-height:1}.brand-sub{color:var(--text-3);letter-spacing:.04em;margin-top:2px;font-size:11px}.lobby{height:100%;position:relative;overflow:auto}.lobby-bg{filter:brightness(.32)saturate(.85)blur(3px);background:url(/art/castle-map.webp) 50%/cover no-repeat;position:fixed;inset:0;transform:scale(1.05)}.lobby-bg:after{content:"";background:radial-gradient(1100px 600px at 50% 0,#0000,#0a0c10eb 70%);position:absolute;inset:0}.lobby-inner{max-width:1140px;margin:0 auto;padding:22px 24px 56px;position:relative}.lobby-nav{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.hero{text-align:center;margin-bottom:34px}.hero h1{font-family:var(--display);background:linear-gradient(#fff6e0 0%,#e3bf78 60%,#b58a3e 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:12px 0 14px;font-size:clamp(44px,6.4vw,78px);font-weight:700;line-height:1}.hero p{color:var(--text-2);max-width:640px;margin:0 auto;font-size:16px}.hero-badges{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.lobby-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=920px){.lobby-grid{grid-template-columns:1fr}}.section{padding:20px}.section-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.section-head h3{font-size:16px}.section-head p{color:var(--text-2);margin:3px 0 0;font-size:13px}.presets{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=620px){.seats{grid-template-columns:1fr}}.seat{border-radius:var(--r-lg);border:1px solid var(--border-2);background:var(--s2);flex-direction:column;justify-content:flex-end;min-height:140px;transition:opacity .2s,filter .2s;display:flex;position:relative;overflow:hidden}.seat.off{opacity:.5;filter:grayscale(.9)}.seat-bg{background-position:50%;background-size:cover;position:absolute;inset:0}.seat-bg:after{content:"";background:linear-gradient(180deg, #0a0c1073, #0a0c10f0 62%), linear-gradient(90deg, color-mix(in srgb, var(--hc) 35%, transparent), transparent 60%);position:absolute;inset:0}.seat-body{flex-direction:column;gap:10px;padding:12px;display:flex;position:relative}.seat-title{align-items:center;gap:10px;display:flex}.seat-title h4{font-family:var(--display);font-size:22px;font-weight:700;line-height:1}.seat-title small{color:var(--text-2);font-size:12px}.seat-title>div{min-width:0}.seat-sig{flex-direction:column;margin-top:4px;line-height:1.3;display:flex}.seat-sig>span:first-child{color:var(--text);font-size:12.5px;font-weight:600}.seat-sig-meta{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.seat-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seat-controls .input{flex:130px;min-width:0}.seg{border:1px solid var(--border-2);background:#00000080;border-radius:9px;flex-shrink:0;gap:2px;padding:3px;display:inline-flex}.seg button{appearance:none;cursor:pointer;height:26px;color:var(--text-2);background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.seg button.on{background:var(--text);color:#111}.input{border:1px solid var(--border-2);min-width:0;height:32px;color:var(--text);font:inherit;background:#00000080;border-radius:8px;flex:1;padding:0 10px;font-size:13px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.boss-list{flex-direction:column;gap:6px;display:flex}.boss-opt{appearance:none;text-align:left;border:1px solid var(--border);border-radius:var(--r);cursor:pointer;width:100%;color:var(--text);background:0 0;align-items:flex-start;gap:12px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.boss-opt:hover{background:var(--s2)}.boss-opt.on{border-color:var(--accent-ring);background:var(--accent-soft)}.boss-ico{background:var(--s3);width:32px;height:32px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.boss-opt.on .boss-ico{background:var(--accent);color:var(--accent-ink)}.boss-opt b{font-size:13.5px;font-weight:600;display:block}.boss-opt small{-webkit-line-clamp:2;color:var(--text-2);-webkit-box-orient:vertical;margin-top:2px;font-size:12.5px;display:-webkit-box;overflow:hidden}.boss-opt small em{color:var(--text);font-style:normal}.boss-opt.on small{display:block}.lobby-cta{z-index:20;padding:26px 24px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg, transparent, #0a0c10eb 34%, var(--bg));pointer-events:none;position:sticky;bottom:0}.lobby-cta-inner{pointer-events:auto;border:1px solid var(--border-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:1092px;box-shadow:var(--e4);background:#13161df0;border-radius:16px;align-items:center;gap:12px;margin:0 auto;padding:10px 10px 10px 18px;display:flex}.cta-summary{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.cta-summary b{font-size:14.5px}.cta-summary span{color:var(--text-2);font-size:12.5px}.cta-summary.bad{color:var(--bad);font-weight:600}@media (width<=560px){.lobby-cta{padding:18px 10px calc(10px + env(safe-area-inset-bottom))}.lobby-cta-inner{flex-wrap:wrap;gap:8px;padding:10px}.lobby-cta-inner .btn.lg{flex:100%;order:3;justify-content:center}.lobby-cta .seed{height:38px}}.seed{border:1px solid var(--border-2);background:var(--s1);height:46px;color:var(--text-3);border-radius:12px;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;display:inline-flex}.seed input{width:84px;color:var(--text);font:inherit;background:0 0;border:0}.seed input:focus{outline:none}.lobby-foot{text-align:center;color:var(--text-3);margin-top:28px;font-size:12.5px}.game{grid-template-rows:var(--topbar-h) minmax(0, 1fr) auto;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);background:var(--bg);grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0}.main{grid-template-columns:minmax(0,1fr) 292px;min-height:0;display:grid}@media (width<=1150px){.main{grid-template-columns:minmax(0,1fr) 244px}}.topbar{background:var(--bg-2);border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:0 14px;display:flex}.calendar{flex:auto;align-items:center;min-width:0;height:40px;display:flex;container-type:inline-size}.stepper{align-items:center;width:100%;min-width:0;display:flex;overflow:hidden}.step-group{flex:auto;align-items:center;min-width:0;display:flex}.step-group:first-child{flex:none}.step{min-width:30px;height:30px;color:var(--text-2);white-space:nowrap;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .2s,color .2s;display:flex}.step svg{flex-shrink:0}.step .crest{filter:none}.step .label{display:none}.step.now .label{display:inline}.step.done{opacity:.4}.step.now{color:var(--accent-ink);background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);padding:0 11px;font-weight:600}.step.boss:not(.now){color:#e8978d}.step-line{background:var(--border-2);flex:4px;min-width:4px;max-width:28px;height:1px;margin:0 2px}.step-line.done{background:var(--accent-ring)}.stepper-mini{align-items:center;gap:10px;width:100%;min-width:0;display:none}.stepper-mini .step{flex:0 auto;min-width:0;overflow:hidden}.stepper-mini .label{text-overflow:ellipsis;overflow:hidden}.mini-progress{flex:1 0 auto;align-items:center;gap:8px;display:flex}@container (width<=230px){.stepper-mini .label,.mini-bar{display:none}}.mini-count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.mini-bar{background:var(--s3);border-radius:2px;flex:1;max-width:120px;height:4px;overflow:hidden}.mini-bar i{background:var(--accent);border-radius:2px;height:100%;display:block}@container (width>=890px){.stepper .step .label{display:inline}.stepper .step{gap:5px;padding:0 7px}.stepper .step.now{padding:0 10px}}@container (width<=470px){.stepper{display:none}.stepper-mini{display:flex}}.threat{flex-shrink:0;align-items:center;gap:8px;display:flex}.threat-label{color:var(--text-3);text-align:right;font-size:11px;line-height:1.15}.threat-label b{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px}.threat-bar{gap:3px;display:flex}.threat-bar span{background:var(--s3);border-radius:3px;width:8px;height:22px}.threat-bar span.on{background:#f0a35a}.threat-bar span.doom{border:1px dashed var(--bad);background:0 0}.threat.hot .threat-bar span.on{background:var(--bad);animation:1s infinite pulse}.boss-chip{appearance:none;cursor:pointer;height:40px;color:var(--text);text-align:left;background:#ef6b5e12;border:1px solid #ef6b5e4d;border-radius:10px;flex-shrink:0;align-items:center;gap:9px;padding:0 12px 0 5px;display:flex}.boss-chip:hover{background:#ef6b5e21}.boss-chip .ico{color:#ffa89d;background:#ef6b5e2e;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.boss-chip b{font-size:12.5px;font-weight:600;line-height:1.2;display:block}.boss-chip small{color:var(--text-3);font-size:11px}.top-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.select{height:36px;color:var(--text-2);border:1px solid var(--border);border-radius:var(--r);font:inherit;cursor:pointer;background:0 0;padding:0 8px;font-size:12.5px}.select option{background:var(--s2);color:var(--text)}.narrow-only{display:none!important}.menu-wrap{position:relative}.menu{z-index:200;background:var(--s2);border:1px solid var(--border-2);width:240px;box-shadow:var(--e4);border-radius:12px;flex-direction:column;gap:4px;padding:8px;animation:.15s ease-out pop;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:4px 6px 2px;font-size:11px;font-weight:600}.menu-seg{width:100%;margin-bottom:4px}.menu-seg button{flex:1;justify-content:center;padding:0 4px}.menu-item{appearance:none;height:36px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;display:flex}.menu-item:hover{background:var(--s3)}.menu-item.danger{color:#ffb3aa}.results-btn{z-index:50;box-shadow:var(--e3);position:fixed;top:72px;left:50%;transform:translate(-50%)}@media (width<=1500px){.boss-text{display:none}.boss-chip{padding:0 5px}}@media (width<=1600px){.topbar .brand-text{display:none}}.menu-wrap{display:none}@media (width<=1400px){.speed-inline{display:none!important}.menu-wrap{display:block}}.menu-item.narrow-item{display:none}@media (width<=900px){.menu-item.narrow-item{display:flex}}@media (width<=1180px){.threat-label{display:none}}.stage{background:radial-gradient(900px 500px at 50% 40%, #151922, var(--bg) 75%);min-height:0;position:relative;overflow:clip}.map{place-items:center;display:grid;position:absolute;inset:0;container-type:size}.board-frame{aspect-ratio:3/2;width:min(100cqw - 20px,150cqh - 30px);box-shadow:0 0 0 1px #d8b36a59, var(--e4);border-radius:10px;position:relative;overflow:hidden}.map-frame{position:absolute;inset:0}.map-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.map-shade{pointer-events:none;background:radial-gradient(#0000 60%,#05060973);position:absolute;inset:0}.loc-wrap{position:absolute}.loc{appearance:none;cursor:default;z-index:2;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex;position:relative;transform:translate(-50%,-50%)}.loc-badge{color:#f3dca4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0e1016e0;border:1.5px solid #f0d49a8c;border-radius:50%;place-items:center;width:40px;height:40px;transition:transform .15s,background .2s,border-color .2s;display:grid;position:relative;box-shadow:0 4px 12px #0009}.loc-num{min-width:18px;height:18px;color:var(--accent-ink);font-variant-numeric:tabular-nums;background:#f0d49a;border-radius:9px;place-items:center;padding:0 4px;font-size:10.5px;font-weight:700;display:grid;position:absolute;top:-5px;right:-7px}.loc-name{color:#efe9dc;white-space:nowrap;background:#0e1016d9;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.loc.clickable{cursor:pointer}.loc.clickable .loc-badge{color:var(--accent-ink);background:linear-gradient(#e7c47c,#c99a48);border-color:#fff1cc;box-shadow:0 0 0 4px #d8b36a4d,0 0 22px #f0d49a99}.loc.clickable .loc-badge:before{content:"";border:2px solid #f0d49acc;border-radius:50%;animation:1.6s ease-out infinite ring;position:absolute;inset:-8px}.loc.clickable .loc-name{background:var(--accent);color:var(--accent-ink)}.loc.clickable:hover .loc-badge{transform:scale(1.1)}.loc.unavailable .loc-badge{color:#777;border-color:#ffffff26}.loc.unavailable .loc-name{color:#888}.loc.visited .loc-badge:after{content:"";background:var(--good) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23062' stroke-width='4'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 9px no-repeat;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-3px;left:-3px}.adv-marker{background:var(--s1);width:128px;box-shadow:0 0 0 3px #f0965a2e, var(--e3);z-index:3;cursor:pointer;border:1px solid #f0965acc;border-radius:10px;position:absolute;top:30px;overflow:hidden;transform:translate(-50%)}.adv-marker img{object-fit:cover;width:100%;height:46px;display:block}.adv-marker .t{padding:5px 7px 3px;font-size:11px;font-weight:600;line-height:1.2}.adv-marker .r{flex-wrap:wrap;gap:3px;padding:0 7px 7px;display:flex}.adv-marker .tag{letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#e66e3cf2;border-radius:4px;padding:1px 6px;font-size:9.5px;font-weight:700;position:absolute;top:5px;left:5px}.recipe-dot{color:#fff;white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.phase{z-index:7;align-items:center;gap:9px;max-width:230px;padding:7px 12px 7px 8px;display:flex;position:absolute;top:10px;left:10px}.phase b{font-size:12.5px;font-weight:600;line-height:1.25;display:block}.ticker{z-index:15;pointer-events:none;flex-direction:column;align-items:flex-end;gap:5px;display:flex;position:absolute;top:10px;right:10px}.ticker-item{border:1px solid var(--border-2);max-width:290px;box-shadow:var(--e2);background:#13161df2;border-radius:10px;align-items:flex-start;gap:8px;padding:7px 10px;font-size:12.5px;animation:.25s ease-out slideIn;display:flex}.ticker-item .dot,.feed .dot{background:var(--text-3);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.good>.dot{background:var(--good)}.bad>.dot{background:var(--bad)}.event>.dot{background:var(--magic)}.idle-card{z-index:5;text-align:center;padding:22px 32px;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.idle-card h2{font-family:var(--display);font-size:32px;font-weight:700}.idle-card p{color:var(--text-2);margin:6px 0 0}.peek-btn{z-index:20;position:absolute;top:12px;right:12px}.card{--w:108px;--cc:#888;width:var(--w);aspect-ratio:5/7;border-radius:calc(var(--w) * .075);background:var(--s2);border:1px solid color-mix(in srgb, var(--cc) 55%, #000);box-shadow:inset 0 0 0 1px #ffffff0d, var(--e2);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;transition:transform .16s,box-shadow .18s,filter .18s,border-color .18s;display:flex;position:relative}.card:before{content:"";border-radius:calc(var(--w) * .075) calc(var(--w) * .075) 0 0;background:var(--cc);z-index:2;height:3px;position:absolute;inset:0 0 auto}.card.sm{--w:76px}.card.md{--w:108px}.card.lg{--w:148px}.card.xl{--w:188px}.card-art{border-radius:calc(var(--w) * .075) calc(var(--w) * .075) 0 0;background-position:50%;background-size:cover;flex:60%;min-height:0;position:relative}.card-art:after{content:"";border-radius:inherit;background:linear-gradient(#0000 55%,#191d26fa);position:absolute;inset:0}.card-power{top:calc(var(--w) * .06);left:calc(var(--w) * .06);z-index:2;min-width:calc(var(--w) * .24);height:calc(var(--w) * .24);border-radius:calc(var(--w) * .12);font-weight:700;font-size:calc(var(--w) * .14);font-variant-numeric:tabular-nums;color:#fff;background:color-mix(in srgb, var(--cc) 80%, #000);place-items:center;padding:0 4px;display:grid;position:absolute;box-shadow:0 0 0 1.5px #ffffff8c,0 2px 6px #00000080}.card-power.boosted{background:var(--good);color:#052610;box-shadow:0 0 0 1.5px #c9f7d9,0 0 12px #5fcf8acc}.card-body{padding:calc(var(--w) * .03) calc(var(--w) * .07) calc(var(--w) * .07);gap:calc(var(--w) * .035);background:var(--s2);border-radius:0 0 calc(var(--w) * .075) calc(var(--w) * .075);flex-direction:column;flex:none;display:flex}.card-name{font-family:var(--display);font-weight:700;font-size:calc(var(--w) * .13);color:var(--text);min-height:calc(var(--w) * .27);align-items:flex-end;line-height:1.05;display:flex}.card-meta{font-size:calc(var(--w) * .074);justify-content:space-between;align-items:center;gap:4px;min-width:0;font-weight:600;display:flex}.card-class{color:color-mix(in srgb, var(--cc) 70%, white);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:3px;min-width:0;display:inline-flex;overflow:hidden}.card-type{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.card.sm .card-name{min-height:0;font-size:calc(var(--w) * .135)}.card.selectable{cursor:pointer}.card.selectable:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--e3);transform:translateY(-6px)}.card.selected{border-color:var(--accent-2);box-shadow:0 0 0 2px var(--accent-2), 0 0 26px #f0d49a8c, var(--e3);transform:translateY(-14px)}.card.selected:hover{transform:translateY(-16px)}.card.disabled{filter:grayscale(.85)brightness(.5)}.card.accepted{border-color:var(--good);box-shadow:0 0 0 2px var(--good), 0 0 20px #5fcf8a73}.card.rejected{filter:grayscale(.7)brightness(.55)}.card .flag{z-index:3;white-space:nowrap;background:var(--s4);color:var(--text);border:1px solid var(--border-3);box-shadow:var(--e1);border-radius:6px;padding:2px 7px;font-size:10.5px;font-weight:600;position:absolute;bottom:-21px;left:50%;transform:translate(-50%)}.card .flag.hint{color:var(--accent-2);background:#2b2616;border-color:#d8b36a99}.card .flag.exact{color:#bff3d1;background:#15301f;border-color:#5fcf8ab3}.card .flag.blocked{color:#ffc1ba;background:#33171a;border-color:#ef6b5e99}.card.favor{--cc:var(--hc)}.favor-art{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--hc) 45%, #111), #0e1016 80%);place-items:center;display:grid}.favor-art:after{display:none}.card.injury{--cc:#c4544a}.injury-art{color:#ffb3aa;background:repeating-linear-gradient(135deg,#c4544a2e 0 6px,#0000 6px 12px),radial-gradient(circle at 50% 40%,#4a1d1b,#0e1016 80%);place-items:center;display:grid}.injury-art:after{display:none}.card.back{background:linear-gradient(145deg,#1d2130,#10131a);border-color:#d8b36a59}.card.back:before{display:none}.back-pattern{margin:calc(var(--w) * .06);border-radius:calc(var(--w) * .05);background:repeating-linear-gradient(45deg,#d8b36a0f 0 5px,#0000 5px 10px);border:1px solid #d8b36a4d;flex:1;place-items:center;display:grid}.tile{--s:92px;--tc:#d8b36acc;width:var(--s);height:var(--s);border-radius:calc(var(--s) * .12);background:var(--s2);border:1.5px solid var(--tc);box-shadow:var(--e2);-webkit-user-select:none;user-select:none;flex-shrink:0;transition:box-shadow .15s,transform .12s;position:relative;overflow:hidden}.tile.encounter{--tc:#aabeff8c}.tile.dangerous{--tc:#ef6b5ed9}.tile.inactive{filter:grayscale()brightness(.45)}.tile-art{background-color:#1a1e28;background-position:50%;background-size:cover;place-items:center;display:grid;position:absolute;inset:0}.tile.encounter .tile-art:not([style]){background:radial-gradient(circle at 50% 35%,#2c3552,#12151d)}.tile.dangerous .tile-art:not([style]){background:radial-gradient(circle at 50% 35%,#512521,#16100f)}.tile.reward .tile-art:not([style]){background:radial-gradient(circle at 50% 35%,#4d3d1d,#15120b)}.tile-mono{font-family:var(--display);font-weight:700;font-size:calc(var(--s) * .34);color:#ffffffd9;margin-top:calc(var(--s) * -.16)}.tile-name{padding:calc(var(--s) * .2) 5px 4px;font-size:max(9px, calc(var(--s) * .105));text-align:center;color:#fff;background:linear-gradient(#0000,#08090ceb 45%);font-weight:600;line-height:1.15;position:absolute;inset:auto 0 0}.tile-kind{width:18px;height:18px;color:var(--tc);background:#08090ccc;border-radius:5px;place-items:center;display:grid;position:absolute;top:4px;left:4px}.tile.reward .tile-kind{color:var(--accent-2)}.tile-cost{color:#ffe1dc;background:#8e2a20;border-radius:5px;padding:1px 5px;font-size:9.5px;font-weight:700;position:absolute;top:4px;right:4px}.tile.lg{--s:148px}.tile.sm{--s:62px}.tile.sm .tile-kind{width:14px;height:14px;top:3px;left:3px}.tile.sm .tile-cost{display:none}.tile.xs{--s:22px;border-width:1px;border-radius:4px}.tile.xs .tile-mono{margin:0;font-size:9px}.tile.clickable{cursor:pointer}.tile.clickable:hover{box-shadow:0 0 0 2px var(--accent), var(--e3)}.tile.picked{box-shadow:0 0 0 3px var(--accent-2), 0 0 20px #f0d49ab3;transform:scale(1.04)}.tooltip{z-index:300;border:1px solid var(--border-2);width:280px;box-shadow:var(--e4);pointer-events:none;background:#1b1f29;border-radius:12px;padding:12px 14px;font-size:13px;position:fixed}.tip-kind{letter-spacing:.08em;text-transform:uppercase;color:#aebdff;font-size:10.5px;font-weight:700}.tip-kind.reward{color:var(--accent)}.tip-kind.dangerous{color:var(--bad)}.tip-title{font-family:var(--display);margin:2px 0 4px;font-size:19px;font-weight:700}.tip-when{color:var(--text-3);margin-top:8px;font-size:12px}.tip-warn{color:#ffb3aa;margin-top:6px;font-size:12px}.hearth{background:linear-gradient(#ff8c3c14,#ff8c3c05);border:1px solid #ffaa642e;border-radius:12px;grid-template-columns:repeat(3,auto);gap:5px;width:max-content;padding:6px;display:grid;position:relative}.hearth-slot{--s:62px;width:var(--s);height:var(--s);background:#00000040;border:1px dashed #ffffff1a;border-radius:9px;place-items:center;display:grid}.hearth-slot .tile{--s:62px}.hearth-slot.target{cursor:pointer;border:1.5px solid var(--accent);background:var(--accent-soft);animation:1.6s ease-in-out infinite glow}.hearth-slot.target:hover{background:#d8b36a47}.hearth.big .hearth-slot,.hearth.big .hearth-slot .tile{--s:112px}.hearth.mini{border-radius:5px;gap:2px;padding:2px}.hearth.mini .hearth-slot{--s:22px;border-radius:4px}.hearth.mini .hearth-slot .tile{--s:22px}.shieldwall-line{border-top:2px dashed #ef6b5ee6;position:absolute;top:50%;left:4px;right:4px}.sidebar{border-left:1px solid var(--border);background:var(--bg-2);flex-direction:column;gap:8px;padding:12px;display:flex;overflow:hidden auto}.sidebar>*{flex-shrink:0}.side-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:2px;font-size:11px;font-weight:600}.pcard{border:1px solid var(--border);background:var(--s1);cursor:pointer;border-radius:12px;padding:10px 12px 10px 14px;transition:border-color .15s,background .15s,box-shadow .2s;position:relative;overflow:hidden}.pcard:before{content:"";background:var(--hc);width:3px;position:absolute;inset:0 auto 0 0}.pcard:hover{background:var(--s2);border-color:var(--border-2)}.pcard.active{border-color:var(--accent-ring);box-shadow:0 0 0 3px var(--accent-soft)}.pcard.thinking{animation:1.2s ease-in-out infinite thinking}.pcard-top{align-items:center;gap:10px;display:flex}.pcard-name{flex:1;min-width:0}.pcard-name b{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex;overflow:hidden}.pcard-name small{color:var(--text-3);align-items:center;gap:4px;font-size:11.5px;display:flex}.first-badge{letter-spacing:.08em;background:var(--accent);color:var(--accent-ink);border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.hp{text-align:right;line-height:1}.hp b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:24px;font-weight:700;display:block}.hp small{letter-spacing:.1em;color:var(--text-3);font-size:10px;font-weight:600}.pcard-stats{color:var(--text-2);align-items:center;gap:10px;margin-top:9px;font-size:12px;display:flex}.stat{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.stat svg{color:var(--text-3)}.stat b{color:var(--text);font-weight:600}.feed{flex-direction:column;gap:1px;font-size:12.5px;display:flex}.feed div{color:var(--text-2);border-radius:6px;gap:8px;padding:4px 6px;display:flex}.feed .good,.feed .bad,.feed .event{color:var(--text)}.dock{border-top:1px solid var(--border);background:var(--bg-2);min-height:var(--dock-h);grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:18px;padding:10px 16px 12px;display:grid}.dock-block{flex-direction:column;gap:6px;min-width:0;display:flex}.dock-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;height:24px;font-size:11px;font-weight:600;display:flex}.dock-label .who{letter-spacing:0;text-transform:none;color:var(--text);font-size:13px}.hand{flex:1;align-items:flex-end;gap:10px;padding:14px 4px 12px;display:flex;overflow:auto visible}.hand-empty{color:var(--text-3);padding:40px 8px}.zones{grid-template-columns:repeat(2,92px);align-content:end;gap:6px;display:grid}.zone{appearance:none;border:1px solid var(--border);background:var(--s1);color:var(--text);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;display:flex}button.zone{cursor:pointer}button.zone:hover:not(:disabled){background:var(--s2);border-color:var(--border-2)}.zone .zl{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:flex}.zone b{font-variant-numeric:tabular-nums;font-size:19px;font-weight:700}.zone.favor b{color:var(--accent-2)}.zone.wide{flex-direction:row;grid-column:span 2;justify-content:space-between;align-items:center}.zone.wide b{font-size:13px;font-weight:600}@media (height<=820px){:root{--dock-h:186px}.hand .card.md{--w:92px}.hearth-slot,.hearth-slot .tile{--s:54px}.zones{grid-template-columns:repeat(2,84px)}.zone{padding:4px 9px}.zone .zl{font-size:9.5px}.zone b{font-size:15px;line-height:1.2}.zones{grid-template-columns:repeat(3,80px);gap:5px}}.actionbar{z-index:30;border:1px solid var(--border-2);width:min(860px,100% - 24px);box-shadow:var(--e4), 0 0 0 1px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#181c25f7;border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px;animation:.2s ease-out rise;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.actionbar:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.ab-row{align-items:center;gap:12px;padding-left:4px;display:flex}.ab-text{flex:1;min-width:0}.ab-text h3{font-size:14.5px;font-weight:600}.ab-text p{color:var(--text-2);-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;margin:1px 0 0;font-size:12.5px;display:-webkit-box;overflow:hidden}.ab-main{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ab-row2{flex-wrap:wrap;align-items:center;gap:6px;padding-left:50px;display:flex}.waiting{z-index:25;border:1px solid var(--border-2);height:40px;color:var(--text-2);box-shadow:var(--e3);background:#181c25f2;border-radius:999px;align-items:center;gap:10px;padding:0 16px 0 8px;font-size:13px;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.dots span{background:var(--accent);border-radius:50%;width:4px;height:4px;margin:0 1.5px;animation:1.2s infinite blink;display:inline-block}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}.modal-back{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050609b8;place-items:center;padding:20px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--s1);border:1px solid var(--border-2);border-radius:var(--r-xl);width:min(940px,100%);max-height:calc(100vh - 40px);box-shadow:var(--e4);padding:22px 24px;animation:.18s ease-out pop;overflow:auto}.modal.narrow{width:min(540px,100%)}.modal-head{align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.modal-head h2{font-family:var(--display);font-size:27px;font-weight:700;line-height:1.1}.modal-head p{color:var(--text-2);margin:4px 0 0;font-size:13.5px}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.card-grid{flex-wrap:wrap;justify-content:center;gap:16px;padding:14px 4px 16px;display:flex}.class-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}@media (width<=820px){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.class-opt{--cc:#888;appearance:none;border:1px solid var(--border-2);background:linear-gradient(180deg, color-mix(in srgb, var(--cc) 20%, var(--s2)), var(--s2) 70%);color:var(--text);cursor:pointer;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px 14px;transition:transform .15s,border-color .15s,box-shadow .2s;display:flex}.class-opt:hover:not(:disabled){border-color:var(--cc);box-shadow:0 0 0 3px color-mix(in srgb, var(--cc) 25%, transparent), var(--e3);transform:translateY(-3px)}.class-opt:disabled{opacity:.35;cursor:not-allowed}.class-opt .ci{background:color-mix(in srgb, var(--cc) 25%, transparent);width:46px;height:46px;color:color-mix(in srgb, var(--cc) 70%, white);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}.class-opt b{font-size:14px;font-weight:600}.class-opt small{color:var(--text-2);font-size:12px}.class-opt .needs{background:var(--accent-soft);color:var(--accent-2);border-radius:6px;margin-top:2px;padding:3px 7px;font-size:11px;font-weight:600}.opt-list{flex-direction:column;gap:6px;display:flex}.opt{appearance:none;text-align:left;border:1px solid var(--border);background:var(--s2);cursor:pointer;color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:11px 14px;transition:border-color .15s,background .15s;display:flex}.opt:hover:not(:disabled){border-color:var(--accent-ring);background:var(--s3)}.opt:disabled{opacity:.4;cursor:not-allowed}.opt .oi{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.opt b{font-size:14px;font-weight:600;display:block}.opt small{color:var(--text-2);font-size:12.5px}.quest-card{appearance:none;text-align:left;background:linear-gradient(180deg, #a78bfa1a, var(--s2) 60%);cursor:pointer;width:250px;color:var(--text);border:1px solid #a78bfa4d;border-radius:14px;flex-direction:column;gap:6px;padding:16px;transition:border-color .15s,box-shadow .2s;display:flex}.quest-card:hover{border-color:#a78bfa99}.quest-card.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--e3)}.quest-card.static{cursor:default}.quest-card .fam{letter-spacing:.1em;text-transform:uppercase;color:#c4b3ff;font-size:10.5px;font-weight:700}.quest-card b{font-family:var(--display);font-size:21px;font-weight:700;line-height:1.1}.quest-card .qt{color:var(--text-2);font-size:13px}.quest-card .hp-line{color:var(--accent-2);align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-size:13px;font-weight:600;display:flex}.curtain{z-index:150;background:radial-gradient(800px 500px at 50% 40%, color-mix(in srgb, var(--hc) 35%, #0a0c10), #07080b 75%);place-items:center;display:grid;position:fixed;inset:0}.curtain-inner{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.curtain h2{font-family:var(--display);font-size:46px;font-weight:700}.curtain p{color:var(--text-2);max-width:440px;margin:0;font-size:15px}.drawer{z-index:120;background:var(--s1);border-left:1px solid var(--border-2);width:min(460px,100%);box-shadow:var(--e4);flex-direction:column;animation:.2s ease-out slideLeft;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.drawer-head h2{align-items:center;gap:8px;font-size:16px;display:flex}.drawer-body{flex:1;padding:10px 18px 30px;overflow-y:auto}.log-line{border-bottom:1px solid var(--border);gap:10px;padding:7px 0;font-size:13px;display:flex}.log-line .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.log-line.system{color:var(--text-3)}.log-line.good{color:#c3f0d3}.log-line.bad{color:#ffc1ba}.log-line.event{color:#ddd3ff}.scene-overlay{z-index:10;background:radial-gradient(1000px 600px at 50% 0%, #171b24, var(--bg) 70%);animation:.2s ease-out fade;position:absolute;inset:0;overflow:hidden}.scene-scroll{inset:0 0 var(--ab-h,0px) 0;padding:18px 22px 24px;position:absolute;overflow:auto}.scene-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;padding-right:48px;display:flex}.scene-head h2{font-family:var(--display);margin-top:4px;font-size:34px;font-weight:700;line-height:1.05}.scene-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stage-grid{grid-template-columns:minmax(250px,320px) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1150px){.stage-grid{grid-template-columns:1fr}}.adv-card{border-radius:var(--r-lg);background:var(--s1);border:1px solid var(--border-2);box-shadow:var(--e3);overflow:hidden}.adv-card img{aspect-ratio:16/8;object-fit:cover;width:100%;display:block}.adv-card .body{padding:14px 16px 16px}.adv-card h3{font-family:var(--display);font-size:23px;font-weight:700}.adv-card .desc{color:var(--text-2);margin:6px 0 12px;font-size:13px;font-style:italic}.reward-box{background:var(--accent-soft);border:1px solid #d8b36a40;border-radius:10px;align-items:center;gap:10px;padding:8px;font-size:12.5px;display:flex}.block-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px;font-size:11px;font-weight:600}.slots{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.slot{border:1px solid var(--border);background:var(--s1);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.slot.ok{background:var(--good-soft);border-color:#5fcf8a8c}.slot.miss{background:var(--bad-soft);border-color:#ef6b5e8c}.slot .sn{font-family:var(--display);font-size:18px;font-weight:700}.slot .or{color:var(--text-2);align-items:center;gap:6px;margin-top:4px;font-size:12.5px;display:flex}.slot .res{align-items:center;gap:5px;margin-top:6px;font-size:12.5px;font-weight:600;display:flex}.offer-row{flex-direction:column;gap:8px;margin-top:16px;display:flex}.offer-seat{background:var(--s1);border:1px solid var(--border);border-radius:12px;align-items:center;gap:14px;min-height:76px;padding:10px 12px 10px 14px;display:flex;position:relative;overflow:hidden}.offer-seat:before{content:"";background:var(--hc);width:3px;position:absolute;inset:0 auto 0 0}.offer-seat .who{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:5px;width:104px;display:flex}.offer-seat .who b{font-size:13px;font-weight:600}.offer-seat .who small{color:var(--text-3);font-size:11.5px}.offer-cards{flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:10px;display:flex}.result{border-radius:12px;align-items:center;gap:14px;margin-top:14px;padding:14px 16px;animation:.25s ease-out fadeUp;display:flex}.result.good{background:var(--good-soft);border:1px solid #5fcf8a73}.result.bad{background:var(--bad-soft);border:1px solid #ef6b5e73}.result .ri{border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.result.good .ri{color:var(--good);background:#5fcf8a33}.result.bad .ri{color:var(--bad);background:#ef6b5e33}.result h3{font-size:15px}.result p{color:var(--text-2);margin:2px 0 0;font-size:13px}.boss-card{border-radius:var(--r-lg);background:linear-gradient(180deg, #ef6b5e14, var(--s1) 40%);box-shadow:var(--e3);border:1px solid #ef6b5e59;overflow:hidden}.boss-hero{align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.boss-hero .bi{color:#ffa89d;background:#ef6b5e2e;border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.boss-hero h3{font-family:var(--display);font-size:23px;font-weight:700;line-height:1.05}.boss-hero .fl{color:var(--text-2);font-size:12.5px;font-style:italic}.boss-rule{background:#ef6b5e14;border:1px solid #ef6b5e40;border-radius:10px;margin:0 12px 12px;padding:10px 12px;font-size:12.5px}.boss-rule .eyebrow{color:#ff9d91;margin-bottom:3px}.bands{border-collapse:collapse;width:100%;font-size:12.5px}.bands td{border-top:1px solid var(--border);vertical-align:top;padding:7px 12px}.bands td:first-child{font-variant-numeric:tabular-nums;width:52px;color:var(--text-2);white-space:nowrap;font-weight:700}.bands .lens{letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;font-size:10px;font-weight:600;display:block}.bands tr.now td{background:var(--accent-soft);color:var(--text)}.bands tr.now td:first-child{color:var(--accent-2);box-shadow:inset 3px 0 0 var(--accent)}.track{align-items:center;gap:6px;display:flex}.track-step{border:1px solid var(--border-2);background:var(--s1);width:36px;height:36px;color:var(--text-3);border-radius:10px;place-items:center;font-size:14px;font-weight:700;display:grid}.track-step.ok{background:var(--good-soft);color:var(--good);border-color:#5fcf8a99}.track-step.fail{background:var(--bad-soft);color:var(--bad);border-color:#ef6b5e99}.track-step.now{border-color:var(--accent);color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-soft)}.panic{letter-spacing:.08em;border:1px solid var(--border-2);height:36px;color:var(--text-3);background:var(--s1);border-radius:10px;align-items:center;gap:7px;padding:0 14px;font-size:12.5px;font-weight:700;display:inline-flex}.panic.on{border-color:var(--bad);color:#fff;background:linear-gradient(#c8463a,#8f2a21);animation:1.1s infinite pulse}.challenge{border:1px solid var(--accent-ring);background:linear-gradient(180deg, var(--accent-soft), var(--s1));border-radius:14px;margin-bottom:4px;padding:14px 16px}.challenge.boon{background:linear-gradient(180deg, var(--good-soft), var(--s1));border-color:#5fcf8a80}.challenge .req{margin:6px 0 10px;font-size:19px;font-weight:600;line-height:1.3}.challenge .chips{flex-wrap:wrap;gap:6px;display:flex}.duel{grid-template-columns:1fr auto 1fr;align-items:start;gap:16px;display:grid}.duel-side{border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--hc) 22%, var(--s1)), var(--s1) 65%);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.duel-side h3{font-family:var(--display);font-size:23px;font-weight:700}.duel-wins{gap:5px;display:flex}.duel-wins span{border:1.5px solid var(--accent);border-radius:50%;width:12px;height:12px}.duel-wins span.on{background:var(--accent-2);box-shadow:0 0 8px #f0d49acc}.duel-mid{flex-direction:column;align-items:center;gap:10px;padding-top:10px;display:flex}.triangle{width:150px}.rounds{flex-direction:column;gap:8px;margin-top:14px;display:flex}.round{background:var(--s1);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 190px 1fr;align-items:center;gap:12px;padding:10px;display:grid}.round .l{justify-content:flex-end;display:flex}.round .mid{text-align:center;color:var(--text-2);font-size:12.5px}.round .mid b{color:var(--text);font-size:13px;display:block}.pitch{box-shadow:inset 0 0 60px #00000073, var(--e3);background:radial-gradient(#2f6e38 0%,#22552b 55%,#173d1e 100%);border:2px solid #ffffff40;border-radius:220px/130px;padding:30px 40px;position:relative}.pitch-line{border-left:1.5px solid #ffffff4d;position:absolute;top:10%;bottom:10%;left:50%}.pitch-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid;position:relative}.team{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.team b{font-weight:600}.team .score{font-variant-numeric:tabular-nums;text-shadow:0 4px 16px #00000080;font-size:60px;font-weight:700;line-height:1}.team .skill{background:#00000059;border-radius:999px;padding:3px 10px;font-size:12px}.snitch{background:radial-gradient(circle at 35% 30%,#fff3b0,#d9a520 60%,#8a6100);border-radius:50%;width:30px;height:30px;margin:0 20px;animation:2.4s ease-in-out infinite float;position:relative;box-shadow:0 0 20px #ffd75acc}.snitch:before,.snitch:after{content:"";background:#ffffffbf;border-radius:50%;width:24px;height:11px;position:absolute;top:6px}.snitch:before{right:24px;transform:rotate(-18deg)}.snitch:after{left:24px;transform:rotate(18deg)}.roll-log{flex-wrap:wrap;justify-content:center;gap:5px;margin-top:16px;display:flex}.roll-chip{background:var(--s1);border:1px solid var(--border);height:24px;color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:12px;display:inline-flex}.roll-chip.goal{color:var(--good);border-color:#5fcf8a80}.roll-chip.snitch{color:var(--accent-2);background:var(--accent-soft);border-color:#f0d49a99}.placement{z-index:8;width:300px;padding:14px;position:absolute;bottom:36px;left:12px}.placement h3{font-size:14px}.placement-row{align-items:center;gap:10px;margin-top:10px;display:flex}.placement-row img{object-fit:cover;border-radius:6px;width:64px;height:38px}.placement-row b{font-size:13px;display:block}.placement-row small{color:var(--text-2);font-size:12px}.dice-wrap{z-index:40;border:1px solid var(--border-2);box-shadow:var(--e4);pointer-events:none;background:#181c25f7;border-radius:14px;align-items:center;gap:12px;padding:8px 18px 8px 8px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.d12{place-items:center;width:56px;height:56px;display:grid;position:relative}.d12 svg{position:absolute;inset:0}.d12 b{color:#2a1a06;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;position:relative}.d12.rolling svg{animation:.45s linear infinite spin}.dice-label{color:var(--text);max-width:320px;font-size:13px}.end-hero{text-align:center;padding:6px 0 4px}.end-hero .ei{border-radius:18px;place-items:center;width:64px;height:64px;margin:0 auto 12px;display:grid}.end-hero.win .ei{background:var(--accent-soft);color:var(--accent-2)}.end-hero.lose .ei{background:var(--bad-soft);color:var(--bad)}.end-hero h2{font-family:var(--display);font-size:40px;font-weight:700}.end-hero p{color:var(--text-2);max-width:600px;margin:6px auto 0}.standings{flex-direction:column;gap:6px;margin:20px 0;display:flex}.standing{border:1px solid var(--border);background:var(--s2);border-radius:12px;grid-template-columns:26px 40px 1fr auto;align-items:center;gap:12px;padding:10px 14px 10px 16px;display:grid;position:relative;overflow:hidden}.standing:before{content:"";background:var(--hc);width:3px;position:absolute;inset:0 auto 0 0}.standing .rank{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.standing:first-child .rank{color:var(--accent-2)}.standing .pts{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.standing small{color:var(--text-3);font-size:12px}.preview-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=820px){.preview-grid{grid-template-columns:1fr}}.preview-box{border:1px solid var(--border);background:var(--s2);border-radius:12px;padding:14px}.preview-box .eyebrow{margin-bottom:10px}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.table th,.table td{border-bottom:1px solid var(--border);text-align:center;padding:6px 8px}.table th{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.table th:first-child,.table td:first-child{text-align:left}.inspect-grid{grid-template-columns:auto 1fr;gap:24px;display:grid}@media (width<=820px){.inspect-grid{grid-template-columns:1fr}}.mini-cards{flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.howto{z-index:180;background:var(--bg);grid-template-rows:60px minmax(0,1fr);grid-template-columns:minmax(0,1fr);animation:.2s ease-out fade;display:grid;position:fixed;inset:0}.howto-top{border-bottom:1px solid var(--border);background:var(--bg-2);justify-content:space-between;align-items:center;padding:0 18px;display:flex}.howto-body{grid-template-columns:250px minmax(0,1fr);min-height:0;display:grid}@media (width<=900px){.howto-body{grid-template-columns:1fr}.toc{display:none}}.toc{border-right:1px solid var(--border);padding:22px 14px;overflow-y:auto}.toc-link{appearance:none;width:100%;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:13.5px;transition:background .15s,color .15s;display:flex}.toc-link:hover{background:var(--s2);color:var(--text)}.toc-link.on{background:var(--accent-soft);color:var(--accent-2)}.toc-link .n{background:var(--s2);width:22px;height:22px;color:var(--text-3);border-radius:6px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.toc-link.on .n{background:var(--accent);color:var(--accent-ink)}.doc{scroll-behavior:smooth;overflow-y:auto}.doc-inner{max-width:900px;margin:0 auto;padding:32px 32px 140px}.doc-hero{border-radius:var(--r-xl);min-height:230px;box-shadow:var(--e3);background:url(/art/castle-map.webp) 50% 35%/cover;flex-direction:column;justify-content:flex-end;margin-bottom:30px;padding:28px;display:flex;position:relative;overflow:hidden}.doc-hero:after{content:"";background:linear-gradient(#0a0c100d,#0a0c10eb);position:absolute;inset:0}.doc-hero>*{z-index:1;position:relative}.doc-hero h1{font-family:var(--display);margin-top:6px;font-size:50px;font-weight:700;line-height:1}.doc-hero p{color:#dcd9d2;max-width:580px;margin:10px 0 0;font-size:15px}.doc section{margin-bottom:40px;padding-top:20px}.doc h2{font-family:var(--display);align-items:center;gap:12px;margin-bottom:12px;font-size:31px;font-weight:700;display:flex}.doc h2 .n{width:34px;height:34px;font-family:var(--font);background:var(--accent-soft);color:var(--accent-2);border:1px solid var(--accent-ring);border-radius:10px;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.doc h3{margin:22px 0 8px;font-size:15px}.doc p,.doc li{color:#cfcdc7;font-size:14.5px;line-height:1.65}.doc p{margin:0 0 12px}.doc ul,.doc ol{margin:0 0 12px;padding-left:20px}.doc li{margin-bottom:4px}.doc b{color:var(--text)}.doc .lead{color:var(--text);font-size:16px}.callout{background:var(--s1);border:1px solid var(--border-2);color:var(--text-2);border-radius:12px;gap:12px;margin:16px 0;padding:13px 16px;font-size:14px;line-height:1.55;display:flex}.callout>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.callout.warn{background:var(--bad-soft);border-color:#ef6b5e59}.callout.warn>svg{color:var(--bad)}.callout.good{background:var(--good-soft);border-color:#5fcf8a59}.callout.good>svg{color:var(--good)}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0;display:grid}.feature{border:1px solid var(--border);background:var(--s1);border-radius:12px;padding:14px}.feature .fi{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-2);border-radius:9px;place-items:center;margin-bottom:10px;display:grid}.feature.bad .fi{background:var(--bad-soft);color:var(--bad)}.feature>b{margin-bottom:3px;font-size:14px;display:block}.feature span{color:var(--text-2);font-size:13px;line-height:1.5}.showcase{border:1px solid var(--border);background:var(--s1);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;padding:20px;display:flex}.showcase.center{justify-content:center}.anatomy{grid-template-columns:auto 1fr;align-items:center;gap:28px;display:grid}@media (width<=700px){.anatomy{grid-template-columns:1fr}}.timeline{flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0;display:flex}.timeline .tl{background:var(--s2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;height:32px;padding:0 11px;font-size:12.5px;font-weight:500;display:flex}.timeline .tl.key{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent-2)}.timeline .tl.boss{background:var(--bad-soft);color:#ffb3aa;border-color:#ef6b5e66}.timeline .arr{color:var(--text-3)}.loc-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin:14px 0;display:grid}.loc-item{border:1px solid var(--border);background:var(--s1);border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.loc-item .li{color:#f3dca4;background:#0e1016e6;border:1.5px solid #f0d49a8c;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid;position:relative}.loc-item .li i{min-width:16px;height:16px;color:var(--accent-ink);background:#f0d49a;border-radius:8px;place-items:center;font-size:9.5px;font-style:normal;font-weight:700;display:grid;position:absolute;top:-5px;right:-7px}.loc-item b{font-size:13.5px;display:block}.loc-item span{color:var(--text-2);font-size:12.5px;line-height:1.45}.doc-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:12px;width:100%;margin:12px 0 16px;font-size:13.5px;overflow:hidden}.doc-table th,.doc-table td{text-align:left;border-bottom:1px solid var(--border);padding:9px 12px}.doc-table th{background:var(--s2);color:var(--text-2);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;font-weight:600}.doc-table tr:last-child td{border-bottom:0}.doc-table td{color:#d6d4ce}.steps{counter-reset:s;list-style:none;padding:0!important}.steps li{counter-increment:s;margin-bottom:12px;padding-left:38px;position:relative}.steps li:before{content:counter(s);background:var(--s3);width:24px;height:24px;color:var(--text);border-radius:7px;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;top:1px;left:0}.kbd-key{background:var(--s3);border:1px solid var(--border-2);min-width:22px;height:22px;color:var(--text);border-bottom-width:2px;border-radius:6px;place-items:center;padding:0 6px;font-size:11.5px;font-weight:600;display:inline-grid}.doc-nav{border-top:1px solid var(--border);justify-content:space-between;gap:10px;margin-top:30px;padding-top:20px;display:flex}@keyframes glow{0%,to{box-shadow:0 0 0 2px #d8b36a40}50%{box-shadow:0 0 0 4px #d8b36a73,0 0 18px #d8b36a66}}@keyframes ring{0%{opacity:1;transform:scale(.85)}to{opacity:0;transform:scale(1.4)}}@keyframes thinking{0%,to{box-shadow:0 0 0 1px #d8b36a33}50%{box-shadow:0 0 0 2px #d8b36ab3,0 0 16px #d8b36a40}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.65}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.97)}}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}}@keyframes slideLeft{0%{opacity:0;transform:translate(30px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.waiting-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.waiting-text b{color:var(--text);white-space:nowrap;font-weight:500}.waiting-text small{color:var(--text-3);white-space:nowrap;font-size:11px}.side-backdrop{display:none}.side-head{justify-content:space-between;align-items:center;display:flex}@media (width<=1100px){.topbar{gap:10px;padding:0 10px}.ticker{display:none}}@media (width<=900px){.wide-only{display:none!important}.narrow-only{display:grid!important}.main{grid-template-columns:minmax(0,1fr)}.sidebar{top:var(--topbar-h);z-index:90;width:min(330px,88vw);box-shadow:var(--e4);transition:transform .22s;position:fixed;bottom:0;right:0;transform:translate(105%)}.sidebar.open{transform:none}.side-backdrop{inset:var(--topbar-h) 0 0 0;z-index:85;background:#0506098c;animation:.15s ease-out fade;display:block;position:fixed}.dock{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"hearth zones""hand hand";gap:8px 14px;min-height:0;padding:8px 12px 10px}.dock>.dock-block:first-child{grid-area:hearth}.dock>.dock-block:nth-child(2){grid-area:hand}.dock>.zones{grid-area:zones;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;justify-self:end;width:min(100%,330px)}.zone.wide{grid-column:span 2}.hand{padding:12px 2px}.hand .card.md{--w:86px}.hearth-slot,.hearth-slot .tile{--s:44px}.scene-scroll{padding:14px 14px 20px}.scene-head h2{font-size:26px}.scene-head{padding-right:44px}.duel{grid-template-columns:1fr 1fr}.duel-mid{flex-direction:row;grid-area:2/1/auto/-1;justify-content:center}.round{grid-template-columns:1fr minmax(110px,150px) 1fr}.offer-seat .who{width:84px}.pitch{padding:22px 20px}.team .score{font-size:44px}.actionbar{width:calc(100% - 16px);bottom:12px}.waiting{bottom:12px}.ab-row{flex-wrap:wrap}.ab-main{justify-content:flex-end;width:100%}.ab-row2{padding-left:4px}.placement{width:min(300px,100% - 24px);bottom:12px}.modal{padding:18px 16px}.modal-head h2{font-size:22px}}@media (width<=560px){:root{--topbar-h:54px}.topbar{gap:8px;padding:0 8px}.threat-bar span{width:5px}.brand-mark{width:30px;height:30px}.top-actions{gap:2px}.icon-btn{width:34px;height:34px}.hand .card.md{--w:78px}.dock>.zones{width:auto}.zone{padding:4px 8px}.zone b{font-size:14px}.zone .zl{font-size:9px}.scene-head h2{font-size:22px}.scene-meta .pill{height:24px;font-size:11.5px}.duel{grid-template-columns:1fr}.duel-mid{grid-row:auto}.round{grid-template-columns:1fr;justify-items:center}.round .l{justify-content:center}.offer-seat{flex-direction:column;align-items:flex-start;min-height:0}.offer-seat .who{flex-direction:row;gap:8px;width:auto}.card-grid{gap:10px}.loc-name{display:none}.loc-badge{width:30px;height:30px}.loc-badge svg{width:14px;height:14px}.adv-marker{width:92px;top:18px}.adv-marker .r{display:none}.hero h1{font-size:40px}.lobby-inner{padding:16px 14px 40px}.section{padding:14px}.section-head{flex-direction:column;align-items:flex-start}.doc-inner{padding:20px 16px 100px}.doc-hero h1{font-size:34px}.doc h2{font-size:25px}}.waiting{max-width:calc(100% - 24px)}.waiting-text b{text-overflow:ellipsis;overflow:hidden}.waiting .dots{flex-shrink:0}@media (width<=560px){.idle-card{width:calc(100% - 32px);padding:16px 18px}.idle-card h2{font-size:24px}.idle-card p{font-size:13px}.threat{gap:0}.threat-bar{gap:2px}.threat-bar span{width:4px;height:18px}}.term-chip{background:var(--s3);border:1px solid var(--border-2);height:26px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:7px;flex-shrink:0;align-items:baseline;gap:1px;padding:4px 9px 0;font-size:13px;font-weight:700;display:inline-flex}.term-chip small{color:var(--text-3);font-size:10px;font-weight:600}.boss-chip.missing{border-color:var(--border-2);background:var(--s2)}.boss-chip.missing .ico{background:var(--s3);color:var(--text-3)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:10px;display:flex}.tab{appearance:none;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:7px 12px;font-size:13px;font-weight:500}.tab.on{color:var(--text);border-bottom-color:var(--accent)}.boss-empty{border-radius:var(--r);border:1px dashed var(--border-2);color:var(--text-2);flex-direction:column;gap:4px;padding:14px;font-size:13px;display:flex}.boss-empty b{color:var(--text)}.adv-noart{background:repeating-linear-gradient(45deg, #d8b36a14 0 6px, transparent 6px 12px), var(--s2);height:46px}.adv-noart.lg{aspect-ratio:16/8;height:auto;font-family:var(--display);text-align:center;place-items:center;padding:16px;font-size:22px;font-weight:700;display:grid}.year-end{width:min(1000px,100%)}.winner-crests{filter:drop-shadow(0 0 24px #d8b36a73);justify-content:center;gap:10px;margin-bottom:10px;display:flex}.hp-legend{color:var(--text-2);flex-wrap:wrap;justify-content:center;gap:14px;margin-top:18px;font-size:12px;display:flex}.hp-legend span{align-items:center;gap:6px;display:inline-flex}.hp-legend i{border-radius:3px;width:10px;height:10px}.standings{margin-top:10px}.standing.year{grid-template-columns:26px 40px minmax(0,1fr) auto}.standing-main{flex-direction:column;gap:5px;min-width:0;display:flex}.hp-bar{background:var(--s3);border-radius:4px;height:8px;display:flex;overflow:hidden}.hp-bar span{height:100%}.exam-top{color:var(--accent-2);font-weight:700}.exam-hp{color:var(--accent);margin-left:4px;font-size:11px}.quest-reveal{margin-bottom:10px}.quest-reveal>b{align-items:center;gap:6px;margin-bottom:4px;font-size:13px;display:flex}.qr{color:var(--text-2);grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;padding:2px 0 2px 22px;font-size:12.5px;display:grid}.qr svg{color:var(--text-3)}.qr.done{color:var(--text)}.qr.done svg,.qr.done>b{color:var(--good)}.year-terms{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.year-term{border:1px solid var(--border);background:var(--s2);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;font-size:12.5px;display:flex}.year-term span{align-items:center;gap:6px;display:inline-flex}@media (width<=640px){.year-terms{grid-template-columns:1fr}}.facedown-stack{padding:0 8px 6px 0;position:relative}.facedown-stack:before,.facedown-stack:after{content:"";z-index:-1;background:#161a24;border:1px solid #d8b36a40;border-radius:6px;position:absolute;inset:4px 0 2px 4px}.facedown-stack:after{z-index:-2;inset:8px -4px -2px 8px}.stack-count{background:var(--accent);min-width:30px;height:22px;color:var(--accent-ink);border-radius:11px;place-items:center;padding:0 7px;font-size:12px;font-weight:700;display:grid;position:absolute;bottom:-2px;right:-6px}.offer-cards{isolation:isolate}.loc-taken{z-index:3;pointer-events:auto;position:absolute;top:-8px;left:-10px}.peek-btn{touch-action:none;-webkit-user-select:none;user-select:none}@media (width<=900px){.map{bottom:var(--ab-h,0px);transition:bottom .15s}}@media (width<=560px){.actionbar{border-width:1px 0 0;border-radius:14px 14px 0 0;gap:6px;width:100%;max-height:55%;padding:8px 10px 10px;bottom:0;left:0;overflow-y:auto;transform:none}.actionbar:before,.actionbar .ab-row>.crest{display:none}.ab-row{gap:8px;padding-left:0}.ab-text h3{font-size:14px}.ab-text p{font-size:12px}.ab-row2{scrollbar-width:none;flex-wrap:nowrap;margin:0 -10px;padding:0 10px 2px;overflow-x:auto}.ab-row2>*{flex-shrink:0}.actionbar .btn{min-height:36px}.waiting{bottom:8px}.stepper-mini .step.now .label{display:none}.dock{padding:6px 10px calc(8px + env(safe-area-inset-bottom));gap:4px 10px}.dock-label{height:18px;font-size:10px}.dock-label .who{font-size:12px}.dock-label .chip{display:none}.dock .hearth{gap:3px;padding:4px}.dock .hearth-slot,.dock .hearth-slot .tile{--s:36px}.dock .hearth-slot .tile-name,.dock .hearth-slot .tile-kind{display:none}.dock>.zones{grid-template-columns:repeat(2,minmax(0,1fr));align-content:end;gap:4px}.dock .zone{flex-direction:row;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px}.dock .zone b{font-size:14px;line-height:1.2}.hand{gap:8px;padding:8px 2px 6px}.hand .card.md{--w:72px}.doc-table{white-space:nowrap;display:block;overflow-x:auto}.hearth.big .hearth-slot,.hearth.big .hearth-slot .tile{--s:84px}}@media (height<=500px) and (orientation:landscape){.game{grid-template-rows:var(--topbar-h) minmax(0, 1fr);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:minmax(0,1fr) min(300px,38vw)}.topbar{grid-column:1/-1}.main{grid-area:2/1}.dock{border-top:0;border-left:1px solid var(--border);grid-area:2/2;grid-template-columns:minmax(0,1fr);grid-template-areas:"hearth""zones""hand";align-content:start;gap:8px;min-height:0;padding:8px 10px;overflow-y:auto}.dock>.zones{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;width:100%}.dock .zone{flex-direction:row;justify-content:space-between;align-items:center;padding:3px 8px}.dock .zone b{font-size:14px}.dock .hearth-slot,.dock .hearth-slot .tile{--s:40px}.dock .hearth-slot .tile-name{display:none}.hand{flex-wrap:wrap;padding:6px 0;overflow-x:visible}.hand .card.md{--w:76px}.scene-head h2{font-size:22px}}.board-frame{container:board/inline-size}.loc:after{content:"";border-radius:50%;position:absolute;inset:-8px}@container board (width<=560px){.loc-name{display:none}.loc-badge{width:30px;height:30px}.loc-badge svg{width:14px;height:14px}.adv-marker{width:92px;top:18px}.adv-marker .r{display:none}}@container board (width<=300px){.loc:after{inset:-6px}.loc-badge{border-width:1px;width:24px;height:24px}.loc-badge svg{width:12px;height:12px}.loc-num{min-width:14px;height:14px;padding:0 3px;font-size:9px;top:-4px;right:-6px}.adv-marker{width:64px;top:13px}}@media (pointer:coarse){.btn.sm{min-height:36px}.menu-seg button{min-height:34px}.modal{max-height:calc(100dvh - 40px)}}.howto-top .brand,.howto-top .brand>div{min-width:0}.howto-top .brand-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.howto-top>.btn{flex-shrink:0}@media (height<=500px) and (orientation:landscape){.actionbar{border-width:1px 0 0;border-radius:14px 14px 0 0;gap:5px;width:100%;max-height:60%;padding:6px 10px 8px;bottom:0;left:0;overflow-y:auto;transform:none}.actionbar:before,.actionbar .ab-row>.crest{display:none}.ab-row{gap:8px;padding-left:0}.ab-text h3{font-size:13.5px}.ab-text p{-webkit-line-clamp:1;font-size:12px}.ab-row2{scrollbar-width:none;flex-wrap:nowrap;margin:0 -10px;padding:0 10px 2px;overflow-x:auto}.ab-row2>*{flex-shrink:0}.waiting{bottom:6px}.dock .zone{min-height:32px}.modal-back{padding:8px}.modal{max-height:calc(100dvh - 16px);padding:14px 16px}.scene-scroll{padding:10px 14px 16px}}.howto-body>*{min-width:0}@media (width<=900px){.howto-body{grid-template-columns:minmax(0,1fr)}}@media (height<=500px) and (orientation:landscape){.hearth.big .hearth-slot,.hearth.big .hearth-slot .tile{--s:70px}.modal .tile.lg{--s:120px}}@media (width<=420px){.howto-top .brand-sub{display:none}}@media (pointer:coarse){.seg button{min-height:34px}}.loc-wrap.edge-l .adv-marker{transform:translate(-22%)}.loc-wrap.edge-r .adv-marker{transform:translate(-78%)}.loc-wrap.edge-b .adv-marker{top:auto;bottom:24px}@container board (width<=560px){.loc-wrap.edge-b .adv-marker{bottom:18px}}.waiting{width:max-content;max-width:calc(100% - 24px);margin:0 auto;left:0;right:0;transform:none}@media (width<=400px){.topbar{gap:5px;padding:0 6px}.calendar{overflow:hidden}.stepper-mini{gap:6px}.threat-bar{gap:2px}.threat-bar span{width:4px}}@keyframes riseSheet{0%{opacity:0;transform:translateY(8px)}}@media (width<=560px),(height<=500px) and (orientation:landscape){.actionbar{animation-name:riseSheet}}@media (width<=560px){.presets{scrollbar-width:none;flex-wrap:nowrap;margin:0 -14px;padding:0 14px 2px;overflow-x:auto}.presets>.btn{flex-shrink:0}}.hand{padding-bottom:26px}@media (width<=560px){.hand{padding-bottom:24px}}@media (width>=901px){.ticker{display:none}}@media (width<=900px){.dock .hearth-slot .tile-name{display:none}}.pcard-stats{flex-wrap:wrap;row-gap:6px}@media (width<=1150px){.pcard-stats{gap:8px}}.pcard-nm{text-overflow:ellipsis;min-width:0;overflow:hidden}.first-badge{flex-shrink:0}.scene-scroll{-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),#0000);mask-image:linear-gradient(#000 calc(100% - 22px),#0000)}@media (width<=1150px){.adv-card img{object-fit:cover;max-height:200px}}@media (width<=560px){.adv-card img{max-height:150px}}.deck-summary{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.deck-summary .pill b{color:var(--text);font-variant-numeric:tabular-nums}.deck-summary .pill.bad{color:#ffb3aa;border-color:#ef6b5e73}.deck-tabs{scrollbar-width:none;max-width:100%;margin-bottom:12px;overflow-x:auto}.deck-tabs button{white-space:nowrap}.deck-tabs .n{opacity:.6;font-variant-numeric:tabular-nums;margin-left:2px}.deck-note{margin:-4px 0 10px;font-size:12.5px}.deck-grid{row-gap:30px;padding-bottom:14px}.where-seg{width:fit-content;margin:0 auto 18px;display:flex}.where-seg button{gap:7px;min-height:36px;padding:0 16px}.online-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:18px;max-width:920px;margin:0 auto;display:grid}@media (width<=820px){.online-grid{grid-template-columns:1fr}}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span{color:var(--text-2);font-size:12px;font-weight:600}.field .input{flex:none;height:42px;font-size:15px}.online-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.online-actions>.btn.lg{flex:200px;justify-content:center}.join-form{flex:220px;gap:8px;display:flex}.code-input{letter-spacing:.3em;text-align:center;text-transform:uppercase;min-width:0;height:46px;font-size:20px;font-weight:700}.hint{margin-top:10px;font-size:12.5px}.rejoin{background:var(--accent-soft);border:1px solid #d8b36a66;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.account-row{align-items:center;gap:12px;display:flex}.avatar{background:var(--accent);width:38px;height:38px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.account-who{flex-direction:column;flex:1;min-width:0;display:flex}.account-who small{color:var(--text-3);text-overflow:ellipsis;overflow:hidden}.auth-tabs{margin-bottom:16px;display:flex}.auth-tabs button{flex:1;justify-content:center;min-height:34px}.form-error{color:#ffb3aa;background:#ef6b5e1f;border:1px solid #ef6b5e66;border-radius:8px;margin:0 0 12px;padding:8px 10px;font-size:13px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}@media (width<=420px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-box{border:1px solid var(--border);background:var(--s2);border-radius:10px;flex-direction:column;align-items:center;padding:10px;display:flex}.stat-box b{font-variant-numeric:tabular-nums;font-size:22px}.stat-box small{color:var(--text-3);font-size:11.5px}.recent-list{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.recent-row{border:1px solid var(--border);border-left:3px solid var(--hc);background:var(--s1);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.recent-main{flex-direction:column;flex:1;min-width:0;display:flex}.recent-main small{color:var(--text-3)}.rename{align-items:flex-end;gap:8px;display:flex}.rename .field{flex:1;margin-bottom:0}.rename .btn{height:42px}.room-inner{padding-bottom:20px}.room-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin:10px 0 20px;display:flex}.room-code{font-family:var(--display);letter-spacing:.12em;color:var(--accent-2,#f0d49a);margin:4px 0 6px;font-size:64px;font-weight:700;line-height:1}.room-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.seat.mine{outline:2px solid var(--hc);outline-offset:2px}.member-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.member-list li{background:var(--s1);border:1px solid var(--border);border-radius:9px;align-items:center;gap:8px;padding:7px 10px;font-size:13.5px;display:flex}.member-house{margin-left:auto}.dot{background:var(--text-3);border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot.on{background:#4fc27a;box-shadow:0 0 0 3px #4fc27a2e}.pill.tiny{gap:4px;height:20px;padding:0 7px;font-size:11px}.waiting-host{color:var(--text-2);padding:0 8px;font-size:13.5px}.conn-badge{border:1px solid var(--border-2);border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;display:inline-flex}.conn-badge.ok{color:#8fe0ab}.conn-badge.bad{color:#ffb3aa;border-color:#ef6b5e73}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:400;color:#ffd2cc;max-width:min(480px,100% - 24px);box-shadow:var(--e4);cursor:pointer;background:#3a1b1b;border:1px solid #ef6b5e8c;border-radius:12px;padding:10px 16px;font-size:13.5px;position:fixed;transform:translate(-50%)}.net-banner{top:calc(var(--topbar-h) + 8px + env(safe-area-inset-top));z-index:60;max-width:min(720px,100% - 16px);box-shadow:var(--e4);color:var(--text-2);background:#181c25f7;border:1px solid #d8b36a73;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.net-banner.bad{border-color:#ef6b5e8c}.connecting{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100%;padding:24px;display:flex;position:relative}.connecting h2{font-family:var(--display);font-size:30px}.spinner{border:3px solid var(--s3);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@media (width<=560px){.room-code{font-size:48px}.where-seg{width:100%}.where-seg button{flex:1;justify-content:center}}.cta-summary b{white-space:nowrap}@media (width<=560px){.lobby-cta-inner .waiting-host{text-align:center;flex:100%;order:3;padding:6px 0 2px}}.online-grid>*{min-width:0}.link-btn{appearance:none;color:var(--accent);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin:-4px 0 12px;padding:4px 0;font-size:13px;text-decoration:underline}.link-btn.danger{color:#ff9f94}.account-link{margin:4px 0 8px;display:block}.account-sub{border:1px solid var(--border-2);background:var(--s1);border-radius:12px;margin:10px 0 14px;padding:12px 14px 10px}.account-sub.danger{border-color:#ef6b5e73}.account-sub .small{margin:0 0 12px;font-size:12.5px}.row-end{justify-content:flex-end;gap:8px;display:flex}.notice{color:#c9f0d6;background:#4fc27a1f;border:1px solid #4fc27a59;border-radius:8px;margin:0 0 12px;padding:8px 10px;font-size:13px}.nav-actions{align-items:center;gap:8px;display:flex}.account-btn{appearance:none;border:1px solid var(--border-2);background:var(--s1);height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 4px;font-size:13.5px;font-weight:600;display:inline-flex}.account-btn:hover{background:var(--s2)}.avatar.sm{width:28px;height:28px;font-size:13px}@media (width<=480px){.hide-xs{display:none}.account-btn{padding:0 4px}}.online-grid.single{grid-template-columns:minmax(0,1fr);max-width:560px}.group-reward-reveal{text-align:left;background:linear-gradient(160deg,#d4af3729,#a78bfa1a);border:1px solid #d4af378c;border-radius:14px;margin-top:12px;padding:14px 16px;animation:.7s cubic-bezier(.2,.8,.2,1) grr-flip}.group-reward-reveal .grr-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#d4af37;align-items:center;gap:6px;font-size:11px;display:flex}.group-reward-reveal .grr-name{margin:6px 0 4px;font-size:20px;display:block}.group-reward-reveal p{margin:0;line-height:1.45}.group-reward-reveal .grr-note{opacity:.65;margin-top:8px;font-size:11px;display:block}@keyframes grr-flip{0%{opacity:0;transform:perspective(600px)rotateY(80deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.group-reward-reveal{animation:none}}.group-rewards{gap:6px;display:grid}.group-reward{background:#d4af3714;border:1px solid #d4af3766;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.35}.group-reward b{color:#d4af37;margin-bottom:2px;font-size:12.5px;display:block}:root{--gold:#e3bf78;--gold-2:#f6dfa6;--glass:#0f1118b3;--glass-border:#d8b36a33}.cine{color:var(--text);background:#07080b;position:fixed;inset:0;overflow:hidden}.cine-bg{filter:brightness(.5)saturate(.95);background:url(/art/castle-map.webp) 50%/cover no-repeat;animation:60s ease-in-out infinite alternate cine-drift;position:absolute;inset:-4%}.cine-bg:after{content:"";background:radial-gradient(120% 80% at 50% 30%,#0000 0%,#07080b8c 55%,#07080bf5 100%),linear-gradient(#07080b59,#07080b1a 30%,#07080bd9 85%);position:absolute;inset:0}@keyframes cine-drift{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.12)translate(-1.5%,1%)}}@media (prefers-reduced-motion:reduce){.cine-bg{animation:none}}.cine-scroll{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);position:relative;overflow-y:auto}.cine-top{z-index:30;background:linear-gradient(#07080bbf,#0000);justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.cine-top-actions{align-items:center;gap:8px;display:flex}.cine-back,.cine-chip{appearance:none;border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:38px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:13.5px;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.cine-chip{padding:0 14px}.cine-back:hover,.cine-chip:hover{background:#181b24d9;border-color:#d8b36a80}.cine-main{max-width:980px;margin:0 auto;padding:8px clamp(16px,4vw,32px) 140px;position:relative}.cine-main.narrow{max-width:640px}.cine-main.wide{max-width:1160px}.cine-head{text-align:center;margin:18px 0 28px}.cine-head h1,.home-title h1,.end-content h1{font-family:var(--display);background:linear-gradient(180deg, #fff6e0 0%, var(--gold) 60%, #b58a3e 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700;line-height:1.02}.cine-head h1{margin:8px 0 10px;font-size:clamp(34px,5vw,52px)}.cine-head p{color:var(--text-2);max-width:560px;margin:0 auto;font-size:15.5px}.cine-hint{text-align:center;color:var(--text-3);margin-top:14px;font-size:13px}.glass-panel{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;margin-bottom:14px;padding:18px 20px;box-shadow:0 20px 60px #00000059}.gp-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.gp-title{margin:0 0 4px;font-size:16px;font-weight:700}.gp-sub{color:var(--text-2);margin:0 0 12px;font-size:13.5px}.gp-sub.small{color:var(--text-3);align-items:center;gap:6px;margin:-4px 0 0;font-size:12.5px;display:flex}.cine-bar{z-index:40;padding:28px clamp(10px, 3vw, 24px) calc(14px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#0000,#07080be6 40%);position:absolute;bottom:0;left:0;right:0}.cine-bar-inner{pointer-events:auto;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:980px;box-shadow:var(--e4);background:#0f1118eb;border-radius:18px;align-items:center;gap:12px;margin:0 auto;padding:10px 10px 10px 20px;display:flex}@media (width<=560px){.cine-bar-inner{flex-wrap:wrap;padding:10px}.cine-bar-inner .btn.lg{flex:100%;order:3;justify-content:center}.cine-bar-inner .waiting-host{text-align:center;flex:100%;order:3}}.home{flex-direction:column;justify-content:center;gap:26px;min-height:calc(100dvh - 102px);display:flex}.home-title{text-align:center}.home-title h1{margin:10px 0 12px;font-size:clamp(46px,9vw,88px)}.home-title p{color:var(--text-2);margin:0;font-size:clamp(15px,2vw,18px)}.menu-list{flex-direction:column;gap:12px;display:flex}.menu-card{appearance:none;text-align:left;border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:18px;align-items:center;gap:16px;padding:16px 18px;transition:transform .15s,border-color .2s,box-shadow .2s,background .2s;display:flex}.menu-card:hover,.menu-card:focus-visible{border-color:#e3bf7899;outline:none;transform:translateY(-2px);box-shadow:0 0 0 4px #e3bf781a,0 18px 50px #00000073}.menu-card.primary{background:linear-gradient(135deg,#e3bf7838,#0f1118bf 60%);border-color:#e3bf7880}.mc-icon{width:48px;height:48px;color:var(--gold-2);background:#e3bf781f;border:1px solid #e3bf7840;border-radius:14px;flex-shrink:0;place-items:center;display:grid}.menu-card.primary .mc-icon{background:linear-gradient(180deg, var(--gold-2), #c9993f);color:#2a1a08;border:0}.mc-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mc-text b{font-size:17px;font-weight:700}.mc-text small{color:var(--text-2);font-size:13.5px}.mc-badge{background:var(--accent);color:var(--accent-ink);vertical-align:2px;border-radius:6px;margin-left:8px;padding:2px 7px;font-size:11px}.mc-arrow{color:var(--text-3);flex-shrink:0;transform:rotate(180deg)}.rejoin-card{appearance:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#c9f0d6;font:inherit;text-align:left;cursor:pointer;background:#14281ebf;border:1px solid #5fcf8a73;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;display:flex}.rejoin-card span{flex-direction:column;display:flex}.rejoin-card small{color:#8fcfa6}.home-foot{text-align:center;color:var(--text-3);font-size:12px}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px;margin-bottom:14px;display:grid}.preset-tile{appearance:none;text-align:left;border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:132px;color:var(--text);font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;transition:border-color .15s,transform .15s,box-shadow .2s;display:flex;position:relative}.preset-tile:hover{border-color:#e3bf7873;transform:translateY(-2px)}.preset-tile.on{border-color:var(--gold);background:linear-gradient(160deg, #e3bf7829, var(--glass) 60%);box-shadow:0 0 0 3px #e3bf782e,0 16px 44px #0006}.pt-icon{width:36px;height:36px;color:var(--gold-2);background:#e3bf781f;border-radius:10px;place-items:center;margin-bottom:6px;display:grid}.preset-tile b{font-size:15px}.preset-tile small{color:var(--text-2);font-size:12.5px}.pt-houses{gap:4px;margin-top:auto;padding-top:8px;display:flex}.pt-houses i{background:var(--s4);border-radius:3px;width:14px;height:6px}.pt-houses i.human{background:var(--gold)}.pt-houses i.bot{background:#7d8597}.name-rows{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.name-row{border:1px solid var(--border-2);border-left:3px solid var(--hc);background:#0000004d;border-radius:12px;align-items:center;gap:10px;padding:6px 10px 6px 8px;display:flex}.name-row .input{background:0 0;border:0;height:34px;padding:0 4px;font-size:15px}.name-row .input:focus{box-shadow:none;outline:none}.customize-toggle{appearance:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#0f11188c;border:1px dashed #d8b36a59;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:14px 18px;display:flex}.customize-toggle span{flex-direction:column;display:flex}.customize-toggle small{color:var(--text-2);font-size:12.5px}.customize-toggle svg{color:var(--text-3);transition:transform .2s}.customize-toggle.open svg{transform:rotate(180deg)}.customize-toggle.flat{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:0;padding:0}.customize{animation:.2s ease-out fadeUp}.online-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=640px){.online-choices{grid-template-columns:1fr}}.glass-panel.choice{flex-direction:column;margin:0;display:flex}.glass-panel.choice .btn.lg,.glass-panel.choice .join-form{margin-top:auto}.glass-panel.choice .btn.lg{justify-content:center}.choice-icon{width:44px;height:44px;color:var(--gold-2);background:#e3bf781f;border:1px solid #e3bf7840;border-radius:12px;place-items:center;margin-bottom:12px;display:grid}.room-hero{text-align:center;margin:6px 0 22px}.room-hero .room-code{background:linear-gradient(180deg, #fff6e0, var(--gold) 60%, #b58a3e);color:#0000;-webkit-background-clip:text;background-clip:text;margin:2px 0 12px;font-size:clamp(56px,10vw,92px)}.house-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (width<=900px){.house-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.house-tile{border:1px solid var(--border-2);background:var(--s2);border-radius:16px;min-height:210px;transition:border-color .2s,box-shadow .2s,opacity .2s;display:flex;position:relative;overflow:hidden}.ht-art{background-position:50%;background-size:cover;position:absolute;inset:0}.ht-art:after{content:"";background:linear-gradient(180deg, #0a0c1059, #0a0c10f2 70%), linear-gradient(0deg, color-mix(in srgb, var(--hc) 30%, transparent), transparent 60%);position:absolute;inset:0}.ht-body{text-align:center;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;padding:14px 10px 12px;display:flex;position:relative}.ht-body h4{font-family:var(--display);margin:0;font-size:22px;font-weight:700}.ht-status{color:var(--text-2);align-items:center;gap:6px;min-height:20px;font-size:13px;display:inline-flex}.house-tile.mine{border-color:var(--hc);box-shadow:0 0 0 2px var(--hc), 0 0 30px color-mix(in srgb, var(--hc) 35%, transparent)}.house-tile.off{opacity:.45}.house-tile .btn.sm{justify-content:center;min-width:120px}.ht-mode{margin-top:4px;transform:scale(.92)}.room-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.room-cols .glass-panel{margin:0}@media (width<=760px){.room-cols{grid-template-columns:1fr}}.cine .connecting{min-height:60dvh}.modal-back.sheet{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05060999}.modal.sheet{border:1px solid var(--glass-border);background:linear-gradient(#181b24f7,#0f1118f7);border-radius:22px;box-shadow:0 30px 90px #0009,0 0 0 1px #0006}.modal.sheet .modal-head h2{font-size:26px}@media (width<=560px){.modal-back.sheet{align-items:end;padding:0}.modal.sheet{width:100%;padding-bottom:calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:.22s ease-out sheet-up}}@keyframes sheet-up{0%{opacity:0;transform:translateY(30px)}}.pause-list{flex-direction:column;gap:8px;display:flex}.pause-item{appearance:none;border:1px solid var(--border-2);background:var(--s2);width:100%;height:50px;color:var(--text);font:inherit;cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:12px;padding:0 16px;font-size:15px;font-weight:600;display:flex}.pause-item:hover{background:var(--s3)}.pause-item.primary{background:linear-gradient(180deg, var(--gold-2), #c9993f);color:#2a1a08;border:0}.pause-item.danger{color:#ffb3aa;border-color:#ef6b5e59}.pause-speed{flex-direction:column;gap:8px;padding:10px 2px 4px;display:flex}.pause-speed>span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:600}.pause-speed .seg{display:flex}.pause-speed .seg button{flex:1;justify-content:center;min-height:36px}.end-screen{z-index:150;animation:.35s ease-out fade;position:fixed;inset:0;overflow-y:auto}.end-bg{filter:brightness(.3)saturate(.8)blur(2px);background:url(/art/castle-map.webp) 50%/cover no-repeat;position:fixed;inset:0}.end-screen.lose .end-bg{filter:brightness(.22)saturate(.4)sepia(.4)hue-rotate(-20deg)blur(2px)}.end-bg:after{content:"";background:radial-gradient(90% 70% at 50% 30%,#07080b33,#07080bf0);position:absolute;inset:0}.end-content{max-width:640px;padding:calc(48px + env(safe-area-inset-top)) clamp(16px, 4vw, 28px) calc(40px + env(safe-area-inset-bottom));text-align:center;margin:0 auto;position:relative}.end-content.wide{max-width:980px}.end-content h1{margin:10px 0 12px;font-size:clamp(38px,7vw,68px)}.end-screen.lose .end-content h1{background:linear-gradient(#ffe6e1,#e08a7e 65%,#9b4b42);-webkit-background-clip:text;background-clip:text}.end-emblem{color:#ff9f94;background:#ef6b5e24;border:1px solid #ef6b5e66;border-radius:22px;place-items:center;width:76px;height:76px;margin:0 auto 14px;display:grid;box-shadow:0 0 60px #ef6b5e40}.end-reason{color:var(--text-2);max-width:520px;margin:0 auto 26px;font-size:16px}.end-houses{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:30px;display:flex}.end-house{background:var(--glass);border:1px solid var(--glass-border);border-left:3px solid var(--hc);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:14px;display:flex}.end-house b{color:var(--text-2);font-weight:600}.end-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.end-actions .btn.lg{justify-content:center;min-width:170px}.end-screen.win .end-hero{box-shadow:none;background:0 0;border:0;padding:0 0 8px}.end-screen.win .standing,.end-screen.win .preview-box,.end-screen.win .year-term{background:var(--glass);border-color:var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:left}.end-screen.win .winner-crests svg{filter:drop-shadow(0 0 30px #e3bf7873)}@media (width<=560px){.end-actions .btn.lg{flex:100%}}.glass-panel.choice .join-form{flex:none;gap:8px;display:flex}.glass-panel.choice .join-form .code-input{flex:1}@media (width>=920px){.preset-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=560px){.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preset-tile{min-height:0;padding:12px}.pt-icon{width:30px;height:30px;margin-bottom:2px}.preset-tile b{font-size:14px}.preset-tile small{font-size:12px}.cine-head{margin:6px 0 18px}.cine-head p{font-size:14px}.home-title .eyebrow{font-size:10.5px}}.cine.has-bar .cine-main{padding-bottom:200px}@media (width<=560px){.cine.has-bar .cine-main{padding-bottom:230px}.house-tile{min-height:0}.ht-body{gap:4px;padding:12px 6px 10px}.ht-body h4{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:18px;overflow:hidden}.ht-body .crest{width:34px;height:38px}.house-tile .btn.sm{width:100%;min-width:0}.ht-mode{width:100%;display:flex;transform:none}.ht-mode button{flex:1;justify-content:center;padding:0 4px;font-size:11px}.ht-mode button svg{display:none}.room-hero{margin-bottom:14px}}.howto{background:#07080b}.howto:before{content:"";filter:brightness(.16)saturate(.7)blur(4px);pointer-events:none;background:url(/art/castle-map.webp) 50%/cover no-repeat;position:fixed;inset:0}.howto>*{position:relative}.howto-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);background:linear-gradient(#07080beb,#07080bb3)}.howto-top>.btn{border-color:var(--glass-border);background:var(--glass);border-radius:999px}.howto .toc{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0c108c}.howto .doc{background:0 0}.howto .doc-hero h1{background:linear-gradient(180deg, #fff6e0 0%, var(--gold) 60%, #b58a3e 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.online-choices>*{min-width:0}.cine:not(.has-bar) .cine-main{padding-bottom:24px}@media (width<=560px){.home{gap:16px}.home-title h1{margin:6px 0 8px;font-size:clamp(40px,12vw,54px)}.home-title p{font-size:14.5px}.menu-list{gap:8px}.menu-card{border-radius:16px;gap:12px;padding:12px 14px}.mc-icon{border-radius:12px;width:42px;height:42px}.mc-text b{font-size:16px}.mc-text small{font-size:13px}.home-foot{font-size:11px}.cine-top{padding-top:10px;padding-bottom:10px}}@media (width<=560px) and (height<=700px){.home{gap:12px}.home-title .eyebrow{display:none}}@media (width<=560px) and (height<=560px){.home-title p,.menu-card small{display:none}}.sso-buttons{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.sso-btn{appearance:none;height:46px;font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;font-size:15.5px;font-weight:600;transition:filter .15s;display:flex}.sso-btn:hover{filter:brightness(.94)}.sso-btn.apple{color:#000;background:#fff;border:1px solid #fff}.sso-btn.google{color:#1f1f1f;font-family:Roboto, var(--font);background:#fff;border:1px solid #747775}.or-divider{color:var(--text-3);align-items:center;gap:12px;margin:2px 0 14px;font-size:12px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border-2);flex:1;height:1px}.linked-with{color:var(--text-3);margin:0 0 6px;font-size:12.5px}.toast.ok{color:#c9f0d6;background:#173326;border-color:#4fc27a8c}.toast.info{border-color:var(--border-2);color:var(--text);background:#1b1f29}.duel-pick{flex-wrap:wrap;gap:18px;padding:10px 0 4px;display:flex}.duel-pick-side{flex-direction:column;gap:6px;display:flex}.duel-pick-side.foe{border-left:1px solid var(--border-2);padding-left:18px}.duel-pick-side.foe .card{opacity:.85}.duel-pick-cards{gap:10px;display:flex}.duel-reveal{background:var(--accent-soft);color:var(--gold-2);letter-spacing:.04em;border:1px solid #d8b36a73;border-radius:999px;margin-top:8px;padding:4px 10px;font-size:12px;font-weight:700;animation:.25s ease-out pop}@media (width<=560px){.duel-pick-side.foe{border-left:0;padding-left:0}}
