:root{--ground:#f4f6f4;--surface:#fff;--surface-2:#edf1ee;--ink:#17211e;--ink-2:#3b4945;--muted:#64726d;--rule:#d9e0dc;--accent:#2f6b5e;--accent-soft:#e2ede8;--stop:#8e3226;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--ground:#111614;--surface:#181f1c;--surface-2:#1f2724;--ink:#e7ede9;--ink-2:#c2cdc8;--muted:#91a099;--rule:#2a332f;--accent:#74c3ab;--accent-soft:#1b2a26;--stop:#db8171}}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}.shell{max-width:34rem;margin:0 auto;padding:2rem 1.1rem 4rem}.card{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:1.4rem 1.2rem 1.6rem}.eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin:0 0 .7rem}h1{font-size:1.55rem;line-height:1.15;letter-spacing:-.015em;margin:0 0 .8rem}h2{font-size:1rem;margin:1.6rem 0 .5rem}h2.ok{color:var(--accent)}.note{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.hint{color:var(--muted);font-size:.8rem;margin:.4rem 0 1rem}.error{color:var(--stop);font-size:.88rem;margin:.6rem 0}label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.02em;margin:1rem 0 .35rem;color:var(--ink-2)}input{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;background:var(--ground);color:var(--ink);border:1px solid var(--rule);border-radius:4px}input:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{display:block;width:100%;text-align:center;text-decoration:none;font:inherit;font-size:1rem;font-weight:600;padding:.85rem 1rem;margin-top:1rem;background:var(--accent);color:var(--surface);border:1px solid var(--accent);border-radius:4px;cursor:pointer}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:transparent;color:var(--accent)}.btn.ghost.quiet{color:var(--muted);border-color:transparent;font-weight:400;font-size:.88rem;padding:.6rem}.band{margin-top:1.2rem;padding:.9rem 1rem;background:var(--accent-soft);border-radius:4px}.band-label{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}.band .note{margin:0}.topline{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.rec-dot{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--stop);font-variant-numeric:tabular-nums}.why{color:var(--muted);font-size:.82rem;margin:0 0 1.1rem}.question{font-size:1.35rem;line-height:1.3;font-weight:600;letter-spacing:-.01em;margin:0 0 1rem}.counter{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;letter-spacing:.08em;color:var(--muted);margin:0}.player{width:100%;margin:1rem 0}.marks{list-style:none;padding:0;margin:.5rem 0 0}.marks li{font-size:.85rem;color:var(--ink-2);padding:.5rem 0;border-top:1px solid var(--rule);display:flex;gap:.8rem}.marks .t{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:var(--muted);flex:none;padding-top:.1rem}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem;margin-top:.7rem}.thumb{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;border:1px solid var(--rule)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb button{position:absolute;top:2px;right:2px;width:22px;height:22px;line-height:1;border:0;border-radius:50%;background:#0000009e;color:#fff;font-size:15px;cursor:pointer}.prompt-photo{width:100%;max-height:44vh;object-fit:contain;border-radius:4px;background:var(--surface-2);margin:0 0 1rem}.rec-item{border-top:1px solid var(--rule);padding:1rem 0 .3rem}.rec-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.rec-head .t{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--muted)}.rec-item .hint{margin:.15rem 0 .5rem}.row{display:flex;gap:.6rem}.row .btn{flex:1}.btn.danger{color:var(--stop)}.kept{color:var(--accent);font-size:.9rem;font-weight:600;margin:.4rem 0 1rem}.whoami{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;padding:0 .2rem;font-size:.8rem;color:var(--muted)}.whoami button{font:inherit;font-size:.8rem;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.tabs{display:flex;gap:.4rem;margin-bottom:.9rem}.tabs button{flex:1;background:transparent;border:1px solid var(--rule);color:var(--muted);border-radius:4px;padding:.55rem .3rem;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer}.tabs button.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}select{width:100%;padding:.7rem .6rem;font-size:1rem;font-family:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:4px}select:focus{outline:2px solid var(--accent);outline-offset:1px}label.check{display:flex;align-items:center;gap:.5rem;font-weight:500}label.check input{width:auto}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0 .4rem}.chip{background:var(--surface);border:1px solid var(--rule);color:var(--ink-2);border-radius:999px;padding:.4rem .8rem;font-size:.85rem;font-family:inherit;cursor:pointer}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.band.add{padding:1rem}.nested{border-top:1px solid var(--rule);margin-top:.9rem;padding-top:.2rem}.face{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;overflow:hidden;flex:none;background:var(--surface-2);border:1px solid var(--rule);font-size:.85rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.face img{width:100%;height:100%;object-fit:cover;display:block}.face.sm{width:38px;height:38px;font-size:.75rem}.people{list-style:none;padding:0;margin:1.2rem 0 0}.people li{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--rule);padding:.65rem 0}.people .who{display:flex;flex-direction:column;flex:1;min-width:0}.people .who strong{font-size:.95rem;font-weight:600}.people .who small{color:var(--muted);font-size:.78rem}.people .btn{width:auto;margin:0;padding:.4rem .6rem}.card.wide{padding-left:.7rem;padding-right:.7rem}.canvas{overflow-x:auto;overflow-y:hidden;margin:1rem -.7rem;padding:0 .7rem;-webkit-overflow-scrolling:touch}.stage{position:relative}.wires{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.wire{fill:none;stroke:var(--rule);stroke-width:1.5}.wire.spouse{stroke:var(--accent);stroke-width:2}.wire.sibling{stroke:var(--rule);stroke-dasharray:3 3}.pcard{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.3rem;background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:.5rem .3rem;font-family:inherit;cursor:pointer;text-align:center}.pcard .pname{font-size:.75rem;font-weight:600;color:var(--ink);line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard .pmeta{font-size:.66rem;color:var(--muted);line-height:1.1}.pcard.me{border-color:var(--accent);background:var(--accent-soft)}.pcard.gone .face{opacity:.75}.pcard.gone .pname{font-style:italic}.pcard.picked{outline:2px solid var(--accent);outline-offset:1px}.people li{display:block;padding:0}.prow{display:flex;align-items:center;gap:.75rem;width:100%;background:transparent;border:0;padding:.65rem 0;font-family:inherit;color:inherit;text-align:left;cursor:pointer}.prow .chev{color:var(--muted);font-size:.9rem;flex:none}.pactions{padding:.2rem 0 1rem;border-top:1px dashed var(--rule);margin-bottom:.3rem}.pactions .btn,.pactions .row .btn{margin-top:.5rem}.btn.ghost.quiet.danger{color:var(--stop)}
