*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg0:#1c1520;--bg1:#2a1d2e;--panel:#fff8f4;--ink:#241820;--muted:#6d5b63;--line:#2418201f;--accent:#c45c7a;--gold:#e8b86d;--open:#3d8b6e;--polite:#b5813c;--closed:#9b3d3d}html,body,#root{min-height:100%}body{color:var(--ink);background:radial-gradient(ellipse 70% 48% at 12% 0%, #c45c7a47, transparent 55%), radial-gradient(ellipse 50% 40% at 95% 8%, #e8b86d2e, transparent 50%), linear-gradient(165deg, var(--bg0), var(--bg1) 55%, #3a2438);-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif}button,input,textarea{font:inherit}.page{min-height:100dvh;padding:calc(1.25rem + env(safe-area-inset-top)) 1rem calc(3rem + env(safe-area-inset-bottom));place-items:start center;display:grid}.shell{flex-direction:column;gap:1rem;width:min(36rem,100%);display:flex}.brand{color:#fff4ee;text-align:center;letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,7vw,2.7rem)}.brand-inline{text-align:center;flex:1;min-width:0;margin:0;font-size:clamp(1.25rem,4.4vw,1.7rem)}.top-row{justify-content:space-between;align-items:center;gap:.55rem;display:flex}.top-row-end{align-items:center;gap:.4rem;display:flex}.circle-btn{color:#fff4ee;cursor:pointer;background:#fff8f41a;border:1px solid #fff4ee38;border-radius:999px;place-items:center;width:2.25rem;height:2.25rem;font-size:1.15rem;font-weight:700;line-height:1;display:grid}.empty{color:#fff4eec7;text-align:center}.install-hint{color:#fff4ee9e;text-align:center;margin:0;font-size:.82rem;line-height:1.4}.install-btn{color:#fff4ee;cursor:pointer;background:#fff8f41a;border:1px solid #fff4ee47;border-radius:999px;padding:.45rem .95rem;font-weight:650}.banner{color:#9b3d3d;background:#f8e4e4;border-radius:12px;margin:0;padding:.7rem .9rem;font-size:.9rem}.panel,.scene,.endcard,.choices{background:var(--panel);border-radius:20px;padding:1.15rem 1.15rem 1.25rem;box-shadow:0 18px 40px #140a102e}.start h2,.scene h2,.modal h2{margin:.15rem 0 .55rem;font-family:Fraunces,Georgia,serif;font-size:1.35rem;line-height:1.25}.kicker{text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin:0 0 .2rem;font-size:.72rem;font-weight:700}.lede,.scene p,.endcard p,.modal p{color:var(--muted);font-size:.95rem;line-height:1.45}.mood,.vibe{margin-top:.35rem}.vibe{font-size:.85rem}.chips{flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.1rem;display:flex}.chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .75rem;font-size:.85rem;font-weight:650}.chip.is-on{color:#fff4ee;background:#2a1d2e;border-color:#0000}.primary,.choice,.ghost{cursor:pointer}.primary{background:var(--accent);color:#fff8f4;border:none;border-radius:999px;width:100%;padding:.85rem 1rem;font-weight:700}.start .install-hint{color:var(--muted);margin-top:.85rem;display:block}.start .install-btn{border-color:var(--line);color:var(--ink);background:0 0}.primary:disabled,.choice:disabled,.ghost:disabled{opacity:.65;cursor:wait}.play{gap:.85rem;display:grid}.thread{gap:.7rem;max-height:min(48vh,28rem);padding-right:.15rem;display:grid;overflow:auto}.bubble{background:#fff8f4eb;border-radius:16px;padding:.75rem .9rem}.bubble span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem;font-size:.72rem;font-weight:700;display:block}.bubble p{margin:0;line-height:1.4}.bubble.him{background:#efe4ea}.bubble.her{box-shadow:0 0 0 1px var(--line);background:#fff}.bubble.her em{color:var(--muted);margin-top:.45rem;font-size:.84rem;font-style:normal;line-height:1.4;display:block}.bubble.insight{color:#fff4ee;background:#2a1d2e}.bubble.insight span{color:var(--gold)}.bubble.insight p{color:#fff4ee}.choices{gap:.55rem;display:grid}.choice{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:1.7rem 1fr;align-items:start;gap:.7rem;padding:.8rem .9rem;display:grid}.choice span{color:#fff4ee;background:#2a1d2e;border-radius:999px;place-items:center;width:1.7rem;height:1.7rem;font-size:.78rem;font-weight:700;display:grid}.choice strong{font-weight:600;line-height:1.35}.choice:hover:not(:disabled){border-color:var(--accent)}.ghost{color:var(--muted);background:0 0;border:none;padding:.45rem;font-weight:650}.endcard .primary{margin-top:1rem}.modal-back{z-index:50;background:#120a108c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:20px;gap:.7rem;width:min(28rem,100%);padding:1.2rem;display:grid}.sl-chrome{z-index:40;align-items:center;gap:.45rem;display:flex;position:relative}.sl-waffle,.sl-avatar{cursor:pointer;border:none;flex:none;padding:0}.sl-waffle{background:0 0;border-radius:10px;grid-template-rows:repeat(3,5px);grid-template-columns:repeat(3,5px);place-content:center;gap:3px;width:36px;height:36px;display:grid}.sl-dot{background:#3d4a44;border-radius:50%;width:5px;height:5px}.sl-waffle:hover,.sl-waffle.is-on{background:#1f2a2414}.sl-avatar{color:#fffdf6;letter-spacing:0;background:#0d5c45;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.95rem;font-weight:700;display:grid;box-shadow:0 0 0 2px #d4af37}.sl-avatar.is-on{box-shadow:0 0 0 2px #d4af37,0 0 0 4px #d4af3766}.sl-pop{color:#1f2a24;background:#fffdf8;border:1px solid #1f2a241a;border-radius:16px;min-width:16.5rem;padding:.85rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 16px 40px #1f2a2429}.sl-pop-kicker,.sl-who span,.sl-empty{color:#5d6b63;margin:0;font-size:.78rem}.sl-pop-kicker{text-transform:uppercase;letter-spacing:.06em;margin-bottom:.55rem}.sl-app-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.sl-app{min-height:3.4rem;color:inherit;background:#f4efe4;border-radius:12px;align-content:center;padding:.55rem .65rem;font-size:.88rem;font-weight:650;text-decoration:none;display:grid}.sl-app:hover,.sl-app.is-current{color:#084433;background:#d6ebe2}.sl-all{text-align:center;color:#0d5c45;margin-top:.65rem;font-size:.88rem;font-weight:650;text-decoration:none;display:block}.sl-who{gap:.15rem;margin:0 0 .7rem;display:grid}.sl-who strong{font-size:.98rem}.sl-signout{color:#fffdf6;cursor:pointer;background:#0d5c45;border:none;border-radius:999px;width:100%;padding:.65rem 1rem;font-weight:650}.sl-menu-btn{color:#084433;cursor:pointer;background:#f4efe4;border:none;border-radius:999px;width:100%;margin-bottom:.45rem;padding:.6rem 1rem;font-weight:650}.sl-menu-btn.is-quiet{color:#5d6b63;background:0 0}.sl-pop-account{min-width:20rem;max-width:min(22.5rem,100vw - 1.5rem)}.sl-account-copy{color:#5d6b63;margin:0 0 .85rem;font-size:.82rem;line-height:1.4}.sl-name-form{border-bottom:1px solid #1f2a2414;gap:.55rem;margin-bottom:.9rem;padding-bottom:.9rem;display:grid}.sl-name-heading{color:#1f2a24;margin:0;font-size:.9rem;font-weight:700}.sl-name-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.sl-name-form label{color:#5d6b63;gap:.25rem;font-size:.75rem;display:grid}.sl-name-form form{gap:.55rem;display:grid}.sl-name-form input{box-sizing:border-box;width:100%;font:inherit;color:#1f2a24;background:#fff;border:1px solid #1f2a2429;border-radius:10px;padding:.55rem .65rem;font-size:.9rem}.sl-name-ok{color:#0d5c45;margin:0;font-size:.8rem;font-weight:650}.sl-setting{border-bottom:1px solid #1f2a2414;grid-template-columns:1fr auto;align-items:center;gap:.25rem .75rem;margin-bottom:.9rem;padding-bottom:.9rem;display:grid}.sl-setting>div{display:contents}.sl-setting-stack{border-bottom:none;grid-template-columns:1fr;margin-bottom:0;padding-bottom:0}.sl-setting>div>strong,.sl-setting>div>span{display:block}.sl-setting>div>strong{grid-area:1/1;font-size:.9rem;line-height:24px}.sl-setting>div>span{color:#5d6b63;grid-area:2/1/auto/-1;font-size:.78rem;line-height:1.35}.sl-switch{cursor:pointer;background:#d8d2c6;border:none;border-radius:999px;flex-shrink:0;grid-area:1/2;align-self:center;width:42px;height:24px;padding:2px}.sl-switch.is-on{background:#0d5c45}.sl-switch-thumb{background:#fffdf6;border-radius:50%;width:20px;height:20px;display:block;transform:translate(0)}.sl-switch.is-on .sl-switch-thumb{transform:translate(18px)}.sl-code{letter-spacing:.04em;word-break:break-all;background:#f4efe4;border-radius:12px;margin:0;padding:.7rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem}.sl-account-actions{gap:.35rem;display:grid}.sl-account-error{color:#9b2c2c;margin:.65rem 0 0;font-size:.82rem}
