:root{--bg:#070a0f;--panel:#0f141c;--panel-2:#161d27;--ink:#e8edf3;--ink-dim:#a3adba;--ink-faint:#727d8c;--accent:#58a6b2;--accent-dim:#356a73;--line:#212a36;--danger:#c0453b;--ok:#6fa15f;--warn:#c9a24a}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;background-image:radial-gradient(1200px 700px at 72% -10%,#58a6b214,#0000 60%),radial-gradient(900px 600px at 10% 110%,#283c5a1a,#0000 55%);background-attachment:fixed;font-family:ui-serif,Georgia,Times New Roman,serif}.brand{letter-spacing:.2em;text-transform:uppercase;background:linear-gradient(180deg, #fff 0%, #bfe6ec 55%, var(--accent) 150%);color:#0000;filter:drop-shadow(0 0 22px #58a6b261);-webkit-background-clip:text;background-clip:text;margin:0 0 .7rem;font-size:3.7rem;font-weight:600;animation:8s infinite brandFlicker}.brand:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.8;width:130px;height:1px;margin:1rem auto 0;display:block;box-shadow:0 0 10px #58a6b280}.brand.big{letter-spacing:.12em;margin:.4rem 0 .8rem;font-size:2.1rem}@keyframes brandFlicker{0%,88%,to{opacity:1}89%{opacity:.68}90%{opacity:1}93%{opacity:.82}94%{opacity:1}}.center{position:relative}.center:before,.center:after{content:"";pointer-events:none;z-index:0;position:fixed;inset:0}.center:before{opacity:.6;background-image:radial-gradient(1px 1px at 60px 80px,#e8edf3bf,#0000),radial-gradient(1px 1px at 280px 40px,#e8edf380,#0000),radial-gradient(1px 1px at 160px 220px,#e8edf399,#0000),radial-gradient(1.6px 1.6px at 340px 300px,#8cd0d899,#0000),radial-gradient(1px 1px at 100px 340px,#e8edf380,#0000),radial-gradient(1px 1px at 380px 160px,#e8edf373,#0000);background-size:400px 400px;animation:200s linear infinite starDrift}.center:after{opacity:.5;background-image:radial-gradient(1.8px 1.8px at 120px 90px,#8cd0d88c,#0000),radial-gradient(1.4px 1.4px at 520px 360px,#e8edf399,#0000),radial-gradient(1.3px 1.3px at 300px 560px,#e8edf373,#0000),radial-gradient(1.3px 1.3px at 80px 430px,#8cd0d873,#0000);background-size:640px 640px;animation:115s linear infinite reverse starDrift}@keyframes starDrift{0%{background-position:0 0}to{background-position:0 -1200px}}@media (prefers-reduced-motion:reduce){.brand,.center:before,.center:after{animation:none}}.intro{z-index:1;position:relative}.shell{min-height:100vh}.center{place-items:center;padding:2rem;display:grid}.intro{text-align:center;max-width:640px}.intro h1{letter-spacing:.12em;margin:0 0 .5rem;font-size:3.5rem}.sub{color:var(--ink-dim);max-width:34rem;margin:0 auto 2rem;line-height:1.6}.worlds{gap:1rem;display:grid}.worldCard{text-align:left;background:var(--panel);border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:10px;flex-direction:column;gap:.4rem;padding:1.1rem 1.3rem;font-family:inherit;transition:border-color .15s,background .15s,transform 50ms;display:flex}.worldCard:hover{border-color:var(--accent-dim);background:var(--panel-2)}.worldCard:active{transform:translateY(1px)}.worldTitle{letter-spacing:.04em;font-size:1.3rem}.worldTitle.big{margin:.4rem 0 .8rem;font-size:2rem;display:block}.worldTag{color:var(--ink-dim);font-size:.92rem}.intro.wide{max-width:900px}.originList{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:.5rem 0 1.2rem;display:grid}.originCard{text-align:left;background:var(--panel);border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:10px;flex-direction:column;gap:.4rem;padding:1.1rem 1.2rem;font-family:inherit;transition:border-color .15s,background .15s,transform 50ms;display:flex}.originCard:hover:not(:disabled){border-color:var(--accent-dim);background:var(--panel-2)}.originCard:active:not(:disabled){transform:translateY(1px)}.originCard:disabled{opacity:.5;cursor:default}.originTitle{letter-spacing:.03em;font-family:ui-serif,Georgia,serif;font-size:1.2rem}.originFlavor{color:var(--ink-dim);margin-bottom:.3rem;font-size:.9rem;line-height:1.5}.originBoon{color:var(--ok);font-size:.85rem;line-height:1.4}.originBane{color:var(--danger);font-size:.85rem;line-height:1.4}.back{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.85rem}.back:hover{color:var(--accent)}.concept{background:var(--panel);border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;border-radius:8px;padding:.8rem .9rem;font-family:inherit;font-size:1rem;line-height:1.5}.concept:focus{border-color:var(--accent-dim);outline:none}.startRow{justify-content:center;gap:.7rem;margin-top:1rem;display:flex}.fineprint{color:var(--ink-faint);margin-top:1rem;font-size:.78rem;line-height:1.5}.howList{text-align:left;gap:.7rem;max-width:34rem;margin:0 auto 1.4rem;padding:0;list-style:none;display:grid}.howList li{color:var(--ink-dim);padding-left:1.2rem;font-size:.95rem;line-height:1.5;position:relative}.howList li:before{content:"›";color:var(--accent);position:absolute;left:0}.howList strong{color:var(--ink);font-weight:600}.landFoot{color:var(--ink-faint);margin-top:2.2rem;font-size:.78rem}.landFoot a{color:var(--ink-dim);border-bottom:1px solid var(--accent-dim);text-decoration:none}.landFoot a:hover{color:var(--accent)}.doc{min-height:100vh;padding:3.5rem 1.5rem 5rem;display:block}.docBody{max-width:46rem;margin:0 auto}.docBody .brand.big{text-align:left}.docBody .brand.big:after{margin-left:0}.docBody .sub{text-align:left;max-width:none;margin:0 0 2rem}.docBody section{margin:1.8rem 0}.docBody h2{letter-spacing:.02em;color:var(--ink);margin:0 0 .6rem;font-family:ui-serif,Georgia,serif;font-size:1.5rem}.docBody h3{color:var(--ink);margin:1.1rem 0 .3rem;font-family:ui-serif,Georgia,serif;font-size:1.12rem}.docBody p{color:var(--ink-dim);margin:0 0 .8rem;font-size:1.02rem;line-height:1.75}.docCta{margin:2.5rem 0}.docCta .primary{text-decoration:none;display:inline-block}.faq{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.2rem}.faqItem{margin-bottom:1.1rem}.joinNear{text-align:left;margin-top:1rem}.joinLabel{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.68rem}.joinList{flex-wrap:wrap;gap:.5rem;display:flex}.joinChip{background:var(--panel);border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;border-radius:20px;padding:.35rem .8rem;font-family:ui-monospace,monospace;font-size:.82rem}.joinChip em{color:var(--ink-faint);font-style:normal}.joinChip:hover:not(:disabled){border-color:var(--accent-dim);color:var(--ink)}.joinChip.on{border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px #58a6b233}.joinChip.on em{color:var(--accent)}.game{grid-template-columns:300px 1fr 300px;height:100vh;display:grid}@media (max-width:1100px){.game{grid-template-columns:1fr;height:auto}}.panel{background:var(--panel);padding:1.2rem 1.1rem 2rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;overflow-y:auto}.panel.left{border-right:1px solid var(--line)}.panel.right{border-left:1px solid var(--line)}@media (max-width:1100px){.panel{border:none;border-top:1px solid var(--line)}}.sheetHead{margin-bottom:1.2rem}.portrait{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);filter:saturate(.9)contrast(1.02);border-radius:8px;width:100%;margin-bottom:.7rem;display:block}.name{letter-spacing:.03em;font-family:ui-serif,Georgia,serif;font-size:1.35rem}.descriptor{color:var(--ink-dim);margin:.15rem 0 .6rem;font-size:.82rem;line-height:1.4}.worldHead{letter-spacing:.04em;color:var(--ink-dim);margin-bottom:1.1rem;font-family:ui-serif,Georgia,serif;font-size:1.15rem}.badge{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:20px;padding:.15rem .6rem;font-size:.72rem;display:inline-block}.badge-alive{color:var(--ok);border-color:var(--ok)}.badge-captured,.badge-enslaved{color:var(--warn);border-color:var(--warn)}.badge-dead{color:var(--danger);border-color:var(--danger)}.field{margin-bottom:1rem}.field>label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.35rem;font-size:.68rem;display:block}.dash{color:var(--ink-faint);font-style:italic}.list{margin:0;padding:0;list-style:none}.list li{color:var(--ink);padding:.18rem 0;line-height:1.45}.pName{color:var(--ink);display:block}.pMeta{color:var(--ink-dim);font-size:.74rem}.peek{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:.8rem}.peek>summary{cursor:pointer;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;list-style:none}.peek>summary::-webkit-details-marker{display:none}.peek>summary:before{content:"▸ "}.peek[open]>summary:before{content:"▾ "}.peekBody{margin-top:.6rem}.peekLabel{color:var(--accent-dim);text-transform:uppercase;letter-spacing:.1em;margin:.6rem 0 .3rem;font-size:.64rem}.abandon{width:100%;color:var(--ink-faint);border:1px solid var(--line);cursor:pointer;letter-spacing:.08em;background:0 0;border-radius:6px;margin-top:1.5rem;padding:.5rem;font-family:inherit;font-size:.75rem}.abandon:hover{color:var(--danger);border-color:var(--danger)}.stage{flex-direction:column;height:100vh;min-height:0;display:flex}@media (max-width:1100px){.stage{order:-1;height:auto;min-height:72vh}}.stageHead{border-bottom:1px solid var(--line);padding:1rem 1.6rem .9rem}.scene{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.place{letter-spacing:.04em;font-family:ui-serif,Georgia,serif;font-size:1.2rem}.clock{color:var(--ink-faint);white-space:nowrap;font-family:ui-monospace,monospace;font-size:.78rem}.here{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.hereLabel{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin-right:.2rem;font-size:.62rem}.chip{background:var(--panel-2);border:1px solid var(--line);border-radius:20px;padding:.15rem .65rem;font-family:ui-monospace,monospace;font-size:.78rem}.chip em{color:var(--ink-dim);font-style:normal}.chip.player{border-color:var(--accent-dim);color:var(--accent);box-shadow:0 0 8px #58a6b22e}.chip.player em{color:var(--accent);opacity:.85}.elsewhere{color:var(--accent);opacity:.85;margin-top:.55rem;font-size:.85rem;font-style:italic}.scenesToggle{border:1px solid var(--line);color:var(--ink-faint);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:20px;margin-left:.6rem;padding:.1rem .5rem;font-family:ui-monospace,monospace;font-size:.64rem}.scenesToggle:hover{border-color:var(--accent-dim);color:var(--accent)}.sceneImg{border-bottom:1px solid var(--line);background:#000;flex-shrink:0}.sceneImg img{object-fit:cover;width:100%;max-height:40vh;display:block}.sceneImg.loading{background:linear-gradient(90deg, var(--panel) 0%, var(--panel-2) 50%, var(--panel) 100%);background-size:200% 100%;min-height:120px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.log{flex:1;min-height:0;padding:1.6rem;overflow-y:auto}.beat{max-width:44rem;color:var(--ink);margin:0 0 1.4rem;font-size:1.05rem;line-height:1.75}.beat.thinking{color:var(--accent);font-style:italic}.cursor{background:var(--accent);vertical-align:text-bottom;width:.55ch;height:1.05em;margin-left:1px;animation:1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.composer{border-top:1px solid var(--line);padding:1rem 1.6rem 1.4rem}.note{color:var(--warn);margin-bottom:.5rem;font-size:.85rem}.err{color:var(--danger);margin:.4rem 0;font-size:.85rem}.inputRow{gap:.6rem;display:flex}.inputRow input{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:8px;flex:1;padding:.75rem .9rem;font-family:inherit;font-size:1rem}.inputRow input:focus{border-color:var(--accent-dim);outline:none}.primary{background:var(--accent);color:#1a1308;letter-spacing:.05em;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.3rem;font-family:inherit;font-size:.95rem}.primary:disabled{opacity:.45;cursor:default}.ghost{color:var(--ink-dim);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:.6rem 1.2rem;font-family:inherit;font-size:.95rem}.ghost:hover{border-color:var(--accent-dim);color:var(--ink)}.gameover{border-top:1px solid var(--danger);text-align:center;padding:1.6rem}.goTitle{color:var(--danger);letter-spacing:.08em;margin-bottom:.6rem;font-size:1.6rem}.goWho{color:var(--ink);margin-bottom:.2rem;font-size:1.05rem}.goWhen{color:var(--ink-faint);margin-bottom:1rem;font-family:ui-monospace,monospace;font-size:.78rem}.goChronicle{color:var(--ink-dim);max-width:40rem;margin:0 auto 1.2rem;font-style:italic;line-height:1.6}.turnbar{justify-content:center;margin-bottom:.7rem;display:flex}.turnNote{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.74rem}.turnNote strong{color:var(--accent);font-weight:600}.turnNote.turning{color:var(--accent);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}.pending{background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--accent-dim);border-radius:8px;gap:.4rem;padding:.7rem .9rem;display:grid}.pendingLabel{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;font-family:ui-monospace,monospace;font-size:.62rem}.pendingText{color:var(--ink);font-size:.98rem;line-height:1.5}.ghost.small{border-radius:6px;justify-self:start;padding:.25rem .7rem;font-size:.78rem}.deceiveRow{gap:.5rem;margin-top:.55rem;display:grid}.deceiveToggle{color:var(--ink-faint);letter-spacing:.04em;cursor:pointer;align-items:center;gap:.5rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem;display:flex}.deceiveToggle input{accent-color:var(--accent)}.decoyInput{background:var(--panel);border:1px dashed var(--accent-dim);color:var(--ink);border-radius:8px;padding:.55rem .8rem;font-family:inherit;font-size:.95rem;font-style:italic}.decoyInput:focus{border-color:var(--accent);outline:none}
