:root{--bg:#0e0b13;--bg-glow:#241a30;--panel:#1a1522;--panel-2:#231c2e;--line:#3a2f4a;--text:#e9e4ef;--text-soft:#cfc7da;--muted:#9a90a8;--accent:#b3202c;--accent-2:#d8a84a;--title:#e0404c;--bad:#ff8a92;--good:#8be0a0;--warn:#fc6;--on-bg:#3a2c1c;--acard-lord:#1d2030;--acard-warden:#2c2418;--acard-border:#cfc8d8;--badge-bg:#f1ecf7;--badge-text:#111;--place-text:#ffe9a8;--back-a:#2a1830;--back-b:#3a2244;--lord:#1c1c22;--warden:#8a5530;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f4efe6;--bg-glow:#fffaf0;--panel:#fffdf8;--panel-2:#efe7d8;--line:#cdbfa6;--text:#2a2220;--text-soft:#4a3f3a;--muted:#6e6258;--accent:#b3202c;--accent-2:#8a5a00;--title:#a31824;--bad:#b3202c;--good:#1f7a3a;--warn:#8a5a00;--on-bg:#f3dfb0;--acard-lord:#e3e6f2;--acard-warden:#f1e6cf;--acard-border:#6b6275;--badge-bg:#2a2220;--badge-text:#fff;--place-text:#ffe9a8;--back-a:#dccbe6;--back-b:#cdb6dc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f4efe6;--bg-glow:#fffaf0;--panel:#fffdf8;--panel-2:#efe7d8;--line:#cdbfa6;--text:#2a2220;--text-soft:#4a3f3a;--muted:#6e6258;--accent:#b3202c;--accent-2:#8a5a00;--title:#a31824;--bad:#b3202c;--good:#1f7a3a;--warn:#8a5a00;--on-bg:#f3dfb0;--acard-lord:#e3e6f2;--acard-warden:#f1e6cf;--acard-border:#6b6275;--badge-bg:#2a2220;--badge-text:#fff;--place-text:#ffe9a8;--back-a:#dccbe6;--back-b:#cdb6dc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% 0%, var(--bg-glow) 0%, var(--bg) 60%) fixed;color:var(--text);margin:0;font-family:Georgia,Times New Roman,serif;line-height:1.4}h1,h2{margin:0;font-weight:400}h2{color:var(--accent-2);margin-bottom:8px;font-size:1rem}.title{color:var(--title);letter-spacing:.04em;text-align:center;font-size:clamp(1.4rem,4vw,2.2rem)}.muted{color:var(--muted);margin:4px 0;font-size:.9rem}button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;min-height:40px;padding:8px 14px}button:hover:not(:disabled){border-color:var(--accent-2)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--title)}button.danger{border-color:var(--title);color:var(--bad)}button.on{border-color:var(--accent-2);background:var(--on-bg)}.langbar{z-index:20;gap:4px;display:flex;position:fixed;top:8px;right:8px}.langbar button{min-height:30px;padding:2px 10px}.topbar-actions{z-index:20;flex-direction:column;align-items:stretch;gap:4px;display:flex;position:fixed;top:44px;right:8px}.topbar-actions button,.topbar-actions .rules-link{text-align:center;min-height:30px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:2px 12px;font-size:.9rem;text-decoration:none}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:24px 16px;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.rules-short{text-align:left;max-width:460px}.rules-short p{margin:6px 0}.game{--col-w:min(100%, calc((100vh - 70px) * .98));max-width:1280px;margin:0 auto;padding:8px 16px 32px}.topbar{max-width:var(--col-w);flex-wrap:wrap;align-items:center;gap:12px;margin:0 auto;padding:44px 0 6px;display:flex}.topbar h1{color:var(--title);flex:auto;font-size:1.1rem}@media (width<=1250px){.topbar{align-content:flex-start;min-height:114px;padding-right:160px}}@media (width<=600px){.topbar{padding-top:80px;padding-right:0}}.turn{color:var(--accent-2)}.layout{display:block}.board-col{width:100%;max-width:var(--col-w);margin:0 auto}.under-board{max-width:var(--col-w);grid-template-columns:1fr 1fr;align-items:start;gap:10px;margin:10px auto 0;display:grid}.under-board:has(>:only-child){grid-template-columns:1fr}@media (width<=600px){.under-board{grid-template-columns:1fr}}.game>.prompt{max-width:var(--col-w);margin:10px auto 0}.side{flex-direction:column;gap:10px;display:flex}@media (width<=860px){.layout{grid-template-columns:1fr}.board-col{position:static}}.board{border-radius:var(--radius);border:2px solid var(--line);-webkit-user-select:none;user-select:none;width:100%;max-height:calc(100vh - 70px);margin:0 auto;position:relative;overflow:hidden}.board-img{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.cell{cursor:default;background:0 0;border:0;border-radius:0;min-height:0;padding:0;position:absolute}.cell:disabled{opacity:1}.cell.can{cursor:pointer;background:#d8a84a33;animation:1.4s ease-in-out infinite pulse;box-shadow:inset 0 0 0 3px #d8a84ae6}.cell.picked{box-shadow:inset 0 0 0 4px #fff}@keyframes pulse{50%{background:#d8a84a57}}.cell-no{color:#fff;text-shadow:0 0 3px #000,0 0 3px #000;font-size:.75rem;position:absolute;top:3px;left:6px}.cell-place{color:#ffe9a8;text-shadow:0 0 3px #000,0 0 3px #000;font-size:.65rem;position:absolute;bottom:3px;left:6px}.cell-card{width:24%;transition:transform .25s;position:absolute;top:14%;right:8%}.cell-card.rotated{transform:rotate(90deg)}.known-dot{background:#6fe08a;border:1px solid #000;border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px}.barrier{pointer-events:none;border:1px solid #000;border-radius:4px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 6px #000}.barrier.v{width:8px;height:22%}.barrier.h{width:28%;height:8px}.edge{background:color-mix(in srgb, var(--edge) 55%, transparent);border:2px dashed var(--edge);border-radius:6px;min-height:0;padding:0;animation:1.4s ease-in-out infinite pulse;position:absolute;transform:translate(-50%,-50%)}.edge.v{width:6%;height:20%}.edge.h{width:26%;height:4.5%}.enc{aspect-ratio:.59;background:#222;border:2px solid #000;border-radius:6px;width:100%;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.enc img{object-fit:cover;width:100%;height:100%;display:block}.enc-back{background:#2a2548;justify-content:center;align-items:center;display:flex}.enc-back .back-img{object-fit:cover;width:100%;height:100%;display:block}.back-mark{color:var(--accent-2);font-size:1.4em}.enc.selected{outline:3px solid var(--accent-2)}.enc-label{text-align:center;background:#000000bf;padding:2px 3px;font-size:.65rem;position:absolute;bottom:0;left:0;right:0}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;margin:8px 0;display:grid}.grid-cards.big{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));max-width:900px}.select-screen{text-align:center;max-width:940px;margin:0 auto;padding:56px 16px 32px}.player.active{border-color:var(--accent-2)}.player-head{align-items:center;gap:8px;display:flex}.player-head .stones{gap:4px;margin-left:auto;display:flex}.stone{filter:drop-shadow(0 1px 1px #0009);width:20px;height:20px;display:inline-block}.player-row{color:var(--muted);gap:16px;margin:6px 0;font-size:.85rem;display:flex}.collected{align-items:center;gap:6px;min-height:26px;display:flex}.collected .enc{width:34px}.flag{color:var(--warn);margin:4px 0 0;font-size:.8rem}.prompt .phase-text{margin:0 0 8px;font-size:1.02rem}.btns{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.swatch{vertical-align:-1px;border-radius:3px;width:12px;height:12px;display:inline-block}.encounter-info{align-items:center;gap:10px;margin-bottom:8px;display:flex}.encounter-info .enc{flex:none;width:56px}.log summary{cursor:pointer;color:var(--accent-2)}.log ol{color:var(--text-soft);max-height:220px;margin:8px 0 0;padding-left:18px;font-size:.82rem;overflow:auto}.over{text-align:center}.winner{color:var(--accent-2);margin:8px 0;font-size:1.4rem}.aid-on{color:var(--accent-2);border:1px solid var(--line);border-radius:999px;padding:1px 10px;font-size:.8rem}.aid-choice{text-align:left;cursor:pointer;align-items:flex-start;gap:8px;width:100%;display:flex}.aid-choice input{margin-top:4px}.aid-choice small{color:var(--muted);font-size:.78rem;display:block}.piles summary{cursor:pointer;color:var(--accent-2)}.pile h3{color:var(--muted);margin:12px 0 4px;font-size:.85rem;font-weight:400}.acard-costs{flex-direction:column;grid-column:1/-1;gap:2px;margin-top:2px;font-size:.68rem;line-height:1.2;display:flex}.acard-costs .bad{color:var(--bad)}.acard-costs .good{color:var(--good)}.seen{border-color:var(--accent-2)}.lobby-mode{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:460px;display:flex}.btns.center{justify-content:center}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.hand{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-items:stretch;gap:8px;display:grid}.acard{text-align:left;background:var(--acard-lord);border:2px solid var(--acard-border);border-radius:8px;flex-direction:column;gap:4px;min-height:0;padding:6px;font-size:14px;display:flex;position:relative}.acard.warden{background:var(--acard-warden)}.acard-head{grid-template-columns:26px 1fr 46px;align-items:start;gap:4px;min-height:3.2em;display:grid}.acard-steps,.acard-fight{background:var(--badge-bg);color:var(--badge-text);text-align:center;border-radius:4px;height:20px;font-size:13px;font-weight:700;line-height:20px}.acard-fight{letter-spacing:-1px;height:24px;font-size:11px;line-height:24px}.acard-fight .strength-row{box-sizing:border-box;justify-content:center;width:100%;height:100%;padding:0 3px;display:flex}.acard-fight .strength-icon{flex:0 11px;min-width:0;height:16px}.acard-name{text-align:center;align-self:center;font-size:12px;line-height:1.2}.acard-bar{border-radius:3px;flex:none;height:6px;display:block}.acard-art{object-fit:cover;object-position:center;border-radius:4px;flex:none;width:100%;height:64px;display:block}.acard-text{color:var(--text-soft);flex:auto;font-size:11px;line-height:1.25}.acard.costly{border-color:var(--title)}.acard.clickable{cursor:pointer}.acard.clickable:hover{border-color:var(--accent-2);transform:translateY(-2px)}.acard.clickable:focus-visible{outline:2px solid var(--accent-2)}.acard-help{z-index:2;border-radius:50%;width:22px;height:22px;min-height:0;padding:0;font-size:13px;font-weight:700;line-height:1;position:absolute;bottom:4px;right:4px}.acard:not(.compact) .acard-text{padding-right:20px}.card-help>*{flex:none}.enc.clickable{cursor:pointer}.enc-help{z-index:2;border-radius:50%;width:20px;height:20px;min-height:0;padding:0;font-size:12px;font-weight:700;line-height:1;position:absolute;top:3px;right:3px}:root{--role-lord:#b3263e;--role-warden:#2a7fa8;--mine:#e6b93c}.enc.owner-lord{border-color:var(--role-lord)}.enc.owner-warden{border-color:var(--role-warden)}.enc.owner-lord .enc-label{background:#781428e0}.enc.owner-warden .enc-label{background:#144669e0}.acard.lord{border-color:var(--role-lord)}.acard.warden{border-color:var(--role-warden)}.acard.lord.costly,.acard.warden.costly{border-color:var(--title)}.enc.mine,.acard.mine{box-shadow:0 0 0 2px var(--mine)}.card-help-enc{align-self:center;width:min(240px,60vw)}.card-help h3{margin:8px 0 0;font-size:.95rem}.card-help p{margin:0;font-size:.92rem}.special-text{border-left:3px solid var(--accent-2);background:var(--panel-2);margin:4px 0 8px;padding:8px 10px;font-size:.92rem}.figure-box{pointer-events:none;z-index:3;width:clamp(18px,4.2vw,36px);transition:left .7s ease-in-out,top .7s ease-in-out;position:absolute;transform:translateY(-100%)}.figure{aspect-ratio:.6;object-fit:contain;filter:drop-shadow(0 2px 4px #000000d9);width:100%;display:block;position:relative}.figure-ring{display:none}.trail-svg{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.trail-line{stroke-width:4px;stroke-linecap:round;stroke-dasharray:9 7;vector-effect:non-scaling-stroke;opacity:.9;filter:drop-shadow(0 0 2px #000)}.trail-line.jump{stroke-dasharray:.1 9;stroke-width:5px}.trail-step{color:#000;text-align:center;pointer-events:none;z-index:2;border:2px solid #000;border-radius:50%;min-width:24px;height:24px;font-size:13px;font-weight:700;line-height:20px;position:absolute;transform:translate(-50%,-50%)}.cell-marks{z-index:2;gap:3px;display:flex;position:absolute;bottom:4px;right:6px}.cell-mark{background:#faf4e6eb;border:2px solid;border-radius:6px;padding:0 4px;font-size:14px;line-height:1.3}.last-turn ol{color:var(--text-soft);margin:6px 0 0;padding-left:18px;font-size:.85rem}.legend{color:var(--muted);gap:12px;margin-top:6px;font-size:.8rem;display:flex}.legend i{vertical-align:-1px;border-radius:50%;width:12px;height:12px;margin-right:4px;display:inline-block}.tempo{color:var(--muted);font-size:.8rem}.tempo select{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:2px 4px}.rules-link{color:var(--accent-2);font-size:.9rem;text-decoration:none}.rules-link:hover{text-decoration:underline}.version{color:var(--muted,#8a8f9c);opacity:.8;text-align:center;font-size:.75rem}.rules{max-width:1120px;margin:0 auto;padding:56px 16px 48px}.rules-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rules-head>button:first-child{z-index:20;position:fixed;top:8px;left:8px}.rules-head h1{color:var(--title);text-align:center;flex:auto;font-size:clamp(1.4rem,4vw,2rem)}.rules-url{text-align:center;word-break:break-all}.rules-section{margin-bottom:14px;scroll-margin-top:12px}.rules-section ul{margin:6px 0 8px;padding-left:22px}.rules-section li{margin:4px 0}.rules-section h3{color:var(--accent-2);margin:14px 0 6px;font-weight:400}.rules-p{color:var(--accent-2);margin:10px 0 2px}.rules-note{border-left:3px solid var(--accent);background:var(--panel-2);margin:8px 0;padding:8px 10px;font-size:.92rem}@media print{.langbar,.rules-toc,.rules-head button{display:none}body{color:#000;background:#fff}}button.primary,.enc-label{color:#fff}.langbar .theme{min-width:36px}.stylesw{gap:2px;display:flex}.editionmenu{position:relative}.editionmenu-list{z-index:30;background:var(--panel,#fff);border:1px solid #80808080;border-radius:8px;flex-direction:column;gap:2px;min-width:100%;margin:4px 0 0;padding:4px;list-style:none;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 14px #0000004d}.editionmenu-list button{text-align:left;white-space:nowrap;width:100%}.acard-art.real{object-position:center 28%}.cell-results{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.cell-result{white-space:nowrap;color:#fff;z-index:3;pointer-events:none;border:2px solid #000;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:700}.cell-result.won,.cell-result.target{background:#1f7a3a}.cell-result.lost,.cell-result.power{background:#b3202c}.cell-result.draw{background:#555}.enc.selected{outline-offset:1px;outline:4px solid #ffb000;transform:translateY(-3px);box-shadow:0 0 0 2px #000,0 0 14px 2px #ffb000cc}.grid-cards.picking .enc:not(.selected){opacity:.6;filter:grayscale(.35)}.grid-cards.picking .enc:not(.selected):hover{opacity:1;filter:none}.server-field{width:100%;color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.server-field input,.code-input{background:var(--panel-2);color:var(--text);border:1px solid var(--line);font:inherit;border-radius:8px;padding:8px 10px}.code-input{text-align:center;letter-spacing:.2em;text-transform:uppercase;width:90px}.room-code{letter-spacing:.3em;color:var(--accent-2);margin:4px 0;font-size:3rem;font-weight:700}.invite{word-break:break-all;max-width:560px}.net-banner{text-align:center;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;max-width:600px;margin:8px auto;padding:6px 12px}.net-banner.bad{color:var(--bad);border-color:var(--bad)}.cell-result.good{background:#1f7a3a}.cell-result.bad{background:#b3202c}.cell-result.neutral{background:#555}.lobby{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:760px;min-height:100vh;margin:0 auto;padding:48px 16px 32px;display:flex}.hero{justify-content:center;align-items:center;gap:clamp(10px,3vw,28px);width:100%;padding:12px 0 4px;display:flex;position:relative}.hero:before{content:"";aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--title) 38%, transparent), transparent 68%);pointer-events:none;border-radius:50%;width:clamp(180px,40vw,300px);animation:7s ease-in-out infinite moon-glow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes moon-glow{50%{opacity:.55;transform:translate(-50%,-50%)scale(1.08)}}.hero-face{aspect-ratio:1;object-fit:cover;border:2px solid var(--accent-2);filter:none;border-radius:50% 50% 14px 14px;width:clamp(78px,20vw,150px);position:relative;box-shadow:0 6px 22px #00000073}.hero-face.left{transform:rotate(-3deg)}.hero-face.right{transform:rotate(3deg)}.hero-text{min-width:0;position:relative}.hero.has-banner{flex-direction:column;gap:10px}.hero.has-banner:before{display:none}.hero-banner{aspect-ratio:10/3;object-fit:cover;border:2px solid var(--accent-2);border-radius:14px;width:min(100%,760px);box-shadow:0 6px 22px #00000073}.eyebrow{color:var(--accent-2);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.hero-title{color:var(--title);letter-spacing:.06em;text-shadow:0 2px 18px color-mix(in srgb, var(--title) 45%, transparent);font-size:clamp(2.6rem,11vw,5rem);line-height:1.05}.hero-tagline{color:var(--text-soft);font-size:clamp(.95rem,3vw,1.2rem);font-style:italic}.teaser{max-width:560px;color:var(--text-soft);margin:0;font-size:1.05rem}.hero-steps{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.hero-steps li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);flex-direction:column;align-items:center;gap:4px;padding:10px 8px;font-size:.85rem;display:flex}.hero-steps strong{color:var(--text);font-weight:400}.step-no{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.8rem;display:grid}.tabs{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tabs button{border-radius:999px;padding:6px 16px}.tab-body{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:10px;width:100%;max-width:520px;padding:16px 14px;display:flex}.tab-body>h2{margin:0}.tab-body .panel{background:0 0;border:0;max-width:none;padding:0}.role-cards{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.role-card{border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:10px 10px 12px;display:flex;position:relative}.role-card img{aspect-ratio:1;object-fit:cover;filter:grayscale(.6)brightness(.8);border-radius:8px;width:100%;max-width:150px;transition:filter .2s}.role-card:hover img,.role-card.on img{filter:none}.role-card strong{font-size:1.05rem;font-weight:400}.role-card span{color:var(--muted);font-size:.8rem}.role-card.on{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2)}.role-card.lord{border-color:var(--role-lord)}.role-card.warden{border-color:var(--role-warden)}.role-card.lord.on{box-shadow:0 0 0 1px var(--role-lord)}.role-card.warden.on{box-shadow:0 0 0 1px var(--role-warden)}.role-card.on:after{content:"✓";background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;display:grid;position:absolute;top:8px;right:8px}button.play{letter-spacing:.04em;width:100%;max-width:340px;min-height:52px;box-shadow:0 4px 18px color-mix(in srgb, var(--accent) 55%, transparent);font-size:1.2rem}button.play:hover:not(:disabled){filter:brightness(1.12)}.lobby .rules-short{color:var(--muted);text-align:center;margin:0;font-size:.85rem}@media (width<=480px){.hero-steps{grid-template-columns:1fr}.hero-steps li{text-align:left;flex-direction:row;justify-content:flex-start;gap:10px}.hero-steps li span:last-child{text-align:right;margin-left:auto}.hero-face{width:56px}.hero-title{font-size:clamp(2rem,13vw,2.6rem)}}@media (width<=360px){.hero{flex-wrap:wrap}.hero-text{flex-basis:100%;order:-1}}@media (prefers-reduced-motion:reduce){.hero:before{animation:none}}.role-cards.three{grid-template-columns:repeat(3,1fr);gap:8px}.role-art{aspect-ratio:1;border:1px dashed var(--line);background:var(--panel-2);border-radius:8px;place-items:center;width:100%;max-width:150px;font-size:2.4rem;display:grid}.role-card.random.on .role-art{border-style:solid;border-color:var(--accent-2)}.online-panel{gap:10px}.join-box{border-top:1px solid var(--line);flex-direction:column;align-items:center;width:100%;padding-top:8px;display:flex}.code-input{text-align:center;letter-spacing:.25em;text-transform:uppercase;width:8ch;font-size:1.4rem}.wait-face{aspect-ratio:1;object-fit:cover;border:2px solid var(--accent-2);filter:none;border-radius:50% 50% 14px 14px;width:clamp(96px,28vw,140px);animation:2.4s ease-in-out infinite wait-pulse;box-shadow:0 6px 22px #00000073}@keyframes wait-pulse{50%{box-shadow:0 6px 30px color-mix(in srgb, var(--title) 60%, transparent)}}@media (prefers-reduced-motion:reduce){.wait-face{animation:none}}.give-target{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin:0 0 8px;padding:6px 10px;font-size:.9rem}.give-target summary{cursor:pointer;color:var(--accent-2)}.hand-count{align-items:center;gap:8px;display:inline-flex}.hand-backs{align-items:center;display:inline-flex}.hand-backs img{filter:drop-shadow(0 1px 2px #0009);border-radius:3px;width:18px;height:27px}.board-quick{z-index:8;flex-wrap:wrap;justify-content:center;gap:6px;width:max-content;max-width:94%;display:flex;position:absolute}.board-quick.above{transform:translate(-50%,calc(-100% - 6px))}.board-quick.below{transform:translate(-50%,6px)}.board-quick button{background:var(--panel);border:2px solid var(--accent-2);color:var(--text);padding:6px 12px;font-size:.95rem;box-shadow:0 3px 10px #0000008c}.board-quick button.primary{background:var(--accent);border-color:var(--title);color:#fff}.played-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-align:left;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 0;padding:8px 10px;font-size:.9rem;display:flex}.played-card .pc-name{color:var(--accent-2)}.played-card .pc-stat{background:var(--panel-2);white-space:nowrap;border-radius:999px;padding:1px 10px}.played-card .pc-text{color:var(--muted);flex-basis:100%;font-size:.82rem}.log-loss{color:var(--bad);font-weight:700}.game-id{min-height:0;color:var(--muted);padding:2px 8px;font-family:ui-monospace,Consolas,monospace;font-size:.75rem}.figure.lord{filter:drop-shadow(0 0 3px #fffffff2)drop-shadow(0 2px 4px #000000e6)}.figure.real{filter:drop-shadow(0 0 1px #000)drop-shadow(0 0 1px #000)drop-shadow(0 2px 3px #000c)}.figure-box.real{--ring:255, 70, 50}.figure-box.real.warden{--ring:255, 205, 70}.figure-box.real .figure-ring{aspect-ratio:3.4;border:2px solid rgb(var(--ring));background:radial-gradient(ellipse at center, rgba(var(--ring), .55), rgba(var(--ring), .12) 70%, transparent);width:200%;box-shadow:0 0 6px rgba(var(--ring), .9), 0 0 1px 1px #0009;opacity:.85;border-radius:50%;display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%,42%)}.figure-box.real.active .figure-ring{animation:2.4s ease-in-out infinite ring-pulse}@keyframes ring-pulse{0%,to{opacity:.7;transform:translate(-50%,42%)scale(.94)}50%{opacity:1;transform:translate(-50%,42%)scale(1.14)}}@media (prefers-reduced-motion:reduce){.figure-box.real.active .figure-ring{opacity:1;animation:none}}.board-overlay{z-index:12;text-align:left;background:color-mix(in srgb, var(--panel) 95%, transparent);border:2px solid var(--accent-2);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;inset:2%;overflow:auto;box-shadow:0 8px 30px #000000a6}.overlay-toggle{align-self:flex-end;min-height:0;padding:2px 10px;font-size:.82rem}.overlay-open{z-index:12;background:var(--accent);border-color:var(--title);color:#fff;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #0009}.board-overlay .encounter-info{align-items:center;gap:10px;display:flex}.board-overlay .encounter-info .enc{flex:none;width:64px}.dock-hand{flex-wrap:wrap;gap:8px;display:flex}.dock-hand .acard{width:calc(33.3333% - 5.33333px);min-width:112px}.board-overlay{gap:6px;padding:8px}.board-overlay .phase-text{margin:0;font-size:.9rem}.board-overlay .encounter-info{font-size:.85rem}.board-overlay .encounter-info .enc{width:46px}.dock-hand{gap:6px}.dock-hand .acard{gap:2px;padding:4px}.dock-hand .acard .acard-name{font-size:.72rem;line-height:1.1}.dock-hand .acard .acard-text{font-size:.62rem;line-height:1.15}.dock-hand .acard .acard-steps,.dock-hand .acard .acard-fight{min-width:18px;padding:0 3px;font-size:.7rem}.cell-chip{z-index:6;white-space:nowrap;text-overflow:ellipsis;color:#fff;background:#14101ce0;border:1px solid #ff6b6b;border-radius:999px;max-width:96%;min-height:0;padding:2px 8px;font-size:.72rem;line-height:1.2;position:absolute;overflow:hidden;transform:translate(-50%)}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:2px solid var(--accent-2);border-radius:var(--radius);text-align:left;flex-direction:column;gap:8px;width:min(460px,100%);max-height:90vh;padding:16px;display:flex;overflow:auto}.modal .acard{align-self:center;width:220px}.modal-x{z-index:2;width:28px;height:28px;color:var(--text);background:var(--panel);border:1px solid var(--accent-2);cursor:pointer;border-radius:50%;flex:none;align-self:flex-end;place-items:center;margin:-8px -8px -24px 0;padding:0;font-size:22px;line-height:1;display:grid;position:sticky;top:0}.modal-x:hover{background:var(--accent-2)}.explain .strength-icon{width:12px;height:18px}.modal>h2{padding-right:30px}.explain{flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:.92rem;display:flex}.hud{--hud-w:clamp(150px, 31%, 250px);z-index:8;width:var(--hud-w);text-align:left;background:color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid var(--accent-2);border-radius:var(--radius);flex-direction:column;gap:4px;padding:6px;font-size:.74rem;line-height:1.25;transition:left .5s,top .5s,transform .5s;display:flex;position:absolute;box-shadow:0 4px 14px #0000008c}.hud.tl,.hud.tr{top:1.5%;transform:translateY(0)}.hud.bl,.hud.br{top:98.5%;transform:translateY(-100%)}.hud.tl,.hud.bl{left:1.5%}.hud.tr,.hud.br{left:calc(98.5% - var(--hud-w))}.hud.min{--hud-w:34px;padding:2px}.hud-toggle{align-self:flex-end;min-height:0;padding:0 7px;font-size:.8rem}.hud-task .phase-text{margin:0;font-size:.8rem}.hud-task p{margin:2px 0 0}.hud-player{border:1px solid var(--line);border-radius:6px;padding:3px 4px}.hud-player.active{border-color:var(--accent-2)}.hud-line{flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.hud .stones{gap:2px;margin-left:auto;display:flex}.hud .stone{width:13px;height:13px}.hud .collected{gap:3px;min-height:0;margin-top:2px}.hud .collected .enc{width:20px}.hud .flag{font-size:.7rem}.hud-btns{grid-template-columns:1fr 1fr;gap:3px;display:grid}.hud-btns button{min-height:0;padding:2px 4px;font-size:.72rem}.hud-btns button.on{border-color:var(--accent-2)}.hud-window h2{margin:0;font-size:1rem}.hud-hand{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.hud-hand .acard .acard-head{align-items:center;min-height:3.6em}.hud-hand .acard .acard-name{text-align:center;line-height:1.1}.debug-screen{padding:8px}.debug-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-right:200px;display:flex}.debug-body{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}@media (width<=900px){.debug-body{grid-template-columns:1fr}}.debug-side h3{margin:10px 0 4px}.debug-side ul{margin:0;padding-left:18px}.debug-turn{margin:0;padding-left:22px}.debug-turn li{margin-bottom:6px}.debug-why{font-size:.9rem;line-height:1.35}.debug-table{border-collapse:collapse;width:100%;font-size:.85rem}.debug-table th,.debug-table td{text-align:left;vertical-align:top;border-bottom:1px solid #80808059;padding:2px 6px}.result-overlay{z-index:50;background:#08050c9e;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.result-card{background:var(--panel);width:min(460px,100%);color:var(--text);border:1px solid var(--accent-2);text-align:center;border-radius:14px;padding:22px 20px;box-shadow:0 12px 40px #00000080}.result-title{color:var(--title);margin:0 0 6px;font-size:1.7rem}.result-reason{color:var(--text-soft);margin:0 0 14px}.result-table{border-collapse:collapse;width:100%;margin:0 auto 10px}.result-table th,.result-table td{border-bottom:1px solid var(--line);padding:6px 8px}.result-table td:first-child{text-align:left;color:var(--text-soft)}.result-table .result-win{color:var(--accent-2);font-weight:700}.result-buttons{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.stats{max-width:760px;margin:0 auto;padding:16px}.stats-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.stats-id{opacity:.75;word-break:break-all;font-size:.85em}.stats-entry{border:1px solid var(--line,#80808066);border-radius:8px;margin:16px 0;padding:12px 14px}.stats-entry.mine{border-color:var(--accent,#b08d57)}.stats-table{border-collapse:collapse;width:100%;margin-bottom:10px;font-size:.92em}.stats-table th,.stats-table td{text-align:right;border-bottom:1px solid #80808040;padding:3px 6px}.stats-table th:first-child,.stats-table td:first-child{text-align:left}.story{border-left:3px solid var(--accent,#c9a85c);background:color-mix(in srgb, var(--accent,#c9a85c) 8%, transparent);border-radius:6px;max-width:62ch;margin:0 auto 16px;padding:12px 16px}.story h2{margin:0 0 6px;font-size:1rem}.story p{margin:0 0 8px;line-height:1.5}.story p:last-child{margin-bottom:0}.rules-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:20px;margin-top:14px;display:grid}.rules-toc{max-height:calc(100vh - 64px);font-size:.88rem;position:sticky;top:52px;overflow-y:auto}.rules-toc ul{margin:0;padding:0;list-style:none}.rules-toc ul ul{border-left:2px solid var(--line);margin:2px 0 6px 10px}.rules-toc button{text-align:left;width:100%;min-height:0;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 8px;display:block}.rules-toc button:hover{background:var(--panel-2)}.rules-toc button.on{color:var(--accent);background:var(--panel-2);font-weight:600}.rules-toc button.sub{opacity:.85;padding:3px 8px;font-size:.82rem}.rules-main{min-width:0}.rules-section h2{margin-top:0}.rules-lead{color:var(--muted,inherit);margin:4px 0 12px;font-size:1.04rem}.rules-h{scroll-margin-top:12px}.rules-anchor{opacity:0;cursor:pointer;background:0 0;border:0;min-height:0;padding:0 4px;font-size:.8em}.rules-section h2:hover .rules-anchor,.rules-h:hover .rules-anchor,.rules-anchor:focus-visible{opacity:.8}.rules-ol{padding-left:24px}.rules-example{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);margin:10px 0;padding:8px 12px}.rules-example summary{cursor:pointer;font-weight:600}.rules-example-tag{background:var(--accent);color:#fff;border-radius:10px;margin-right:4px;padding:1px 8px;font-size:.75rem;display:inline-block}.rules-example p{margin:8px 0 0}.rv-roles,.rv-stones,.rv-barriers{flex-wrap:wrap;gap:12px;margin:10px 0;display:flex}.rv-role{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);flex:240px;align-items:center;gap:12px;margin:0;padding:10px;display:flex}.rv-role img{object-fit:cover;border-radius:50%;flex:none;width:84px;height:84px}.rv-role figcaption{flex-direction:column;gap:4px;display:flex}.rv-board{border:2px solid var(--line);border-radius:var(--radius);-webkit-user-select:none;user-select:none;width:100%;max-width:420px;margin:10px auto;position:relative;overflow:hidden}.rv-board-img{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.rv-num{text-align:center;color:#fff;background:#0009;border-radius:12px;min-width:26px;padding:1px 6px;font-size:.8rem;position:absolute;transform:translate(-50%,-50%)}.rv-start{z-index:2;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%,-20%)}.rv-start img{filter:drop-shadow(0 2px 4px #000000e6);width:clamp(20px,6vw,34px)}.rv-start em{color:#fff;white-space:nowrap;background:#000000bf;border-radius:8px;padding:1px 6px;font-size:.7rem;font-style:normal}.rv-enc-row h4,.rv-demo h4{margin:12px 0 4px}.rv-stone-row{flex-direction:column;flex:200px;gap:4px;display:flex}.rv-stone-row .stone{width:30px;height:30px;margin-right:4px}.rv-anatomy{flex-wrap:wrap;align-items:center;gap:16px;margin:10px 0;display:flex}.rv-anatomy-card{flex:0 0 170px}.rv-anatomy ol{flex:240px;margin:0;padding-left:22px}.rv-anatomy li{margin:6px 0}.rv-barrier{align-items:center;gap:8px;display:inline-flex}.rv-barrier i{border:1px solid #00000080;border-radius:4px;width:36px;height:8px;display:inline-block}.rv-barrier i.none{background:0 0;border-style:dashed}.rv-demo{border:1px dashed var(--accent);border-radius:var(--radius);background:var(--panel-2);margin:14px 0;padding:12px 14px}.rv-move .rv-cell{cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:0;width:33.333%;height:25%;min-height:0;padding:0;position:absolute}.rv-move .rv-cell:hover{background:#ffffff24}.rv-move .rv-cell.here{box-shadow:inset 0 0 0 3px var(--accent-2)}.rv-step{background:var(--accent-2);color:#000;border-radius:10px;min-width:20px;padding:0 5px;font-size:.78rem;font-weight:700;position:absolute;top:4px;right:6px}.rv-token{filter:drop-shadow(0 2px 4px #000000e6);pointer-events:none;z-index:3;width:clamp(20px,6vw,34px);transition:left .35s,top .35s;position:absolute;transform:translate(-50%,-100%)}.rv-wall{z-index:2;pointer-events:none;border-radius:3px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 6px #000c}.rv-wall.v{width:6px;height:25%}.rv-wall.h{width:33.333%;height:6px}.rv-status{min-height:2.6em;margin:8px 0}.rv-status.good{color:#2e8b4a}.rv-status.bad{color:#c0392b}.rv-pick{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0;display:flex}.rv-pick>span:first-child{flex:230px}.rv-pick-btns{gap:4px;display:inline-flex}.rv-pick-btns button{min-width:40px}.rv-pick-btns button.on{background:var(--accent);color:#fff}@media (width<=860px){.rules-layout{grid-template-columns:1fr}.rules-toc{max-height:none;position:static}.rules-toc>ul{flex-wrap:wrap;gap:6px;display:flex}.rules-toc ul ul{display:none}.rules-toc button{border:1px solid var(--line);padding:4px 10px}}.saves{max-width:40rem;margin:1rem auto}.saves h3{margin:0 0 .4rem}.save-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.save-item{border:1px solid var(--line,#8884);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.save-text{gap:.1rem;display:grid}.save-chip{opacity:.8;white-space:nowrap;font-size:.8rem}.save-chip.bad{opacity:1}.save-dialog-backdrop{z-index:50;background:#0008;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.save-dialog{background:var(--bg,#fff);color:var(--fg,#222);border-radius:.75rem;width:100%;max-width:28rem;padding:1rem 1.25rem;box-shadow:0 .5rem 2rem #0006}.rv-hud{flex-wrap:wrap;align-items:flex-start;gap:12px;margin:10px 0;display:flex}.rv-hud .rv-hud-mock{width:250px;max-width:100%;position:relative}.rv-hud-at{position:relative}.rv-hud .hud-task{padding-left:12px;position:relative}.rv-hud-at.toggle{position:absolute;top:0;right:0}.rv-hud-at.toggle .rv-mark{left:auto;right:-6px}.rv-mark{z-index:1;color:#fff;background:var(--accent-2);border-radius:50%;place-items:center;width:17px;height:17px;font-size:.68rem;display:grid;position:absolute;top:-6px;left:-6px}.rv-hud-legend{flex:200px;margin:0;padding-left:1.4em;font-size:.9rem}a.rv-role{color:inherit;text-decoration:none}a.rv-role:hover{border-color:var(--accent,var(--line))}.rv-roles-hint{flex:100%;margin:0}.rv-role-text{flex-direction:column;gap:4px;display:flex}.rv-role-text em{opacity:.8;font-style:normal}.person-page{max-width:640px;margin:0 auto;padding:12px 16px 32px}.person-art{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);width:100%;max-width:560px;margin:0 auto 12px;display:block}.person-kind{opacity:.85;margin:0 0 8px;font-style:italic}.person-next{margin-top:16px;display:inline-block}.extensions{border:1px solid var(--line,#8884);text-align:left;border-radius:.5rem;max-width:28rem;margin:.5rem auto}.extension{padding:.2rem 0;display:block}.admin h3{margin:18px 0 8px}.admin-room-head{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.admin-room-head button{margin-left:auto}.admin-room p{margin:4px 0 0}.admin{padding-top:44px}.admin-room-head .danger{margin-left:0}.admin-logs-tabs,.admin-logs-filter{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0;display:flex}.admin-logs-tabs [aria-selected=true]{font-weight:700;text-decoration:underline}.admin-log-pre{white-space:pre-wrap;word-break:break-all;background:#00000040;border-radius:6px;max-height:60vh;margin:8px 0 0;padding:8px;font-size:.78rem;line-height:1.35;overflow:auto}.admin-log-server{min-height:12rem}.qr{max-width:100%;height:auto;image-rendering:pixelated;background:#fff;margin:8px auto;display:block}.recovery-codes{letter-spacing:.04em;grid-template-columns:repeat(2,1fr);gap:4px 12px;margin:8px 0;padding:0;font-size:1.05rem;list-style:none;display:grid}.role-card-wrap{display:flex;position:relative}.role-card-wrap>.role-card{flex:1}.role-help{z-index:2;border:1px solid var(--line);background:var(--panel-2);width:22px;height:22px;color:inherit;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;line-height:1;text-decoration:none;display:flex;position:absolute;top:16px;left:calc(50% + -1*min(75px,50% - 10px) + 6px)}.person-extra{border-radius:var(--radius);width:100%;margin:12px 0;display:block}.strength-row{vertical-align:middle;align-items:center;gap:1px;display:inline-flex}.strength-icon{background-color:currentColor;width:.67em;height:1em;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.confirm-dialog{text-align:center}.confirm-dialog p{margin:4px 0 8px}.give-notice{z-index:50;background:var(--panel);border:2px solid var(--title);border-radius:var(--radius);text-align:center;cursor:pointer;max-width:min(92vw,460px);padding:10px 16px;font-weight:700;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000080}.card-help .acard{gap:8px;width:min(420px,100%);padding:10px;font-size:17px}.card-help .acard-head{grid-template-columns:38px 1fr 66px;min-height:2.6em}.card-help .acard-steps,.card-help .acard-fight{height:36px;font-size:20px;line-height:36px}.card-help .acard-fight .strength-icon{flex:0 16px;height:24px}.card-help .acard-name{font-size:19px}.card-help .acard-bar{height:9px}.card-help .acard-art{aspect-ratio:12/5;height:auto}.card-help .acard-text{padding-right:0;font-size:16px}.login{flex-direction:column;gap:12px;max-width:360px;margin:24px auto;padding:16px;display:flex}.login label{text-align:left;flex-direction:column;gap:4px;display:flex}.login input,.admin-new input[type=text]{font:inherit;border:1px solid var(--line,#80808080);background:var(--panel,transparent);color:inherit;border-radius:6px;padding:8px 10px}.login-error{color:var(--danger,#b3261e);margin:0}.login-wait{text-align:center;margin:32px 16px}.account .editionmenu-list{left:auto;right:0}.admin-new{flex-direction:column;gap:10px;display:flex}.admin-new-row{flex-wrap:wrap;gap:8px;display:flex}.admin-new-row input{flex:140px;min-width:0}.admin-editions{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.admin-user.blocked{opacity:.6}.day-bars{align-items:flex-end;gap:4px;height:90px;margin-bottom:8px;display:flex}.day-bar{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:2px;min-width:0;height:100%;display:flex}.day-bar span{background:var(--accent,#b08d57);border-radius:3px 3px 0 0;width:100%;min-height:2px;display:block}.day-bar small{opacity:.7;font-size:.65rem}.mono{letter-spacing:.04em;font-family:ui-monospace,Menlo,Consolas,monospace}.code-block{text-align:center;-webkit-user-select:all;user-select:all;border:1px dashed var(--line,#80808080);border-radius:6px;margin:0;padding:10px 12px}.code-list{margin:8px 0;padding:0;list-style:none}.code-list li{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 0;display:flex}.account-dialog{flex-direction:column;gap:12px;max-width:400px;display:flex}.account-dialog h2{margin:0}.account-dialog .login{margin:0;padding:0}.account-dialog input.mono{text-transform:uppercase;text-align:center;font-size:1.1rem}.admin-new-row select,.admin-new-row input[type=number]{font:inherit;border:1px solid var(--line,#80808080);background:var(--panel,transparent);color:inherit;border-radius:6px;padding:8px 10px}
