:root{color-scheme:dark;--ink:#e3edf1;--muted:#8ca0a9;--panel:rgba(8,24,34,.88);--line:rgba(126,203,217,.22);--cyan:#84d7e6;--amber:#d7ad72;--danger:#e58b86;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:#061017;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh}.backdrop{position:fixed;inset:0;background:radial-gradient(circle at 70% 20%,rgba(43,130,140,.19),transparent 32%),linear-gradient(135deg,#02080d,#0b2029 58%,#071117);z-index:-1}.shell{min-height:100vh}.topbar{height:72px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(4,15,22,.78);letter-spacing:.12em}.topbar strong{font:16px Georgia,serif}.topbar small{display:block;margin-top:5px;color:var(--cyan);font:8px monospace}.topbar>span{font:10px monospace;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.24)}.intro{max-width:760px;margin:10vh auto;padding:clamp(28px,6vw,68px)}.eyebrow{font:9px/1.6 monospace;letter-spacing:.18em;color:var(--cyan)}h1{font:400 clamp(28px,4vw,46px)/1.2 Georgia,serif;margin:18px 0 24px}h2{font:400 22px Georgia,serif}p{line-height:1.75;color:#bdcbd2}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:5px;background:#102b3a;padding:13px 18px}.primary{background:linear-gradient(135deg,#28687a,#174655);border-color:#85d8e666}.quiet{background:transparent;color:var(--cyan)}form{display:grid;gap:17px;margin-top:28px}label{display:grid;gap:8px;color:var(--muted);font-size:12px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:5px;padding:13px;background:#071721}textarea{min-height:110px;resize:vertical}.pending{display:flex;align-items:center;gap:14px;margin-top:24px}.pending span{width:18px;height:18px;border:2px solid #31535e;border-top-color:var(--cyan);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:680px;color:var(--danger);background:#150f13e8;padding:8px 16px;border-radius:4px;font-size:12px}.scene-layout{max-width:1100px;margin:7vh auto;display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:24px;padding:0 22px}.portrait{margin:0;position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--line);background:#071721}.portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.portrait figcaption{position:absolute;inset:auto 0 0;padding:55px 20px 18px;background:linear-gradient(transparent,#061017);font:24px Georgia,serif}.narrative{padding:clamp(28px,5vw,58px)}blockquote{border-left:2px solid var(--amber);padding:5px 0 5px 20px;margin:28px 0;font:italic 20px/1.65 Georgia,serif}.choices{display:grid;gap:10px}.choices button{text-align:left}.paired{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-self:start}.paired .portrait figcaption{font-size:16px}.game{max-width:1500px;margin:26px auto;display:grid;grid-template-columns:220px minmax(0,1fr) 250px;gap:20px;padding:0 3vw}.presence,.self,.iode{padding:18px;margin-top:15px}.conversation{padding:clamp(22px,4vw,45px)}.conversation h1{font-size:34px}.opening,.turn{border-left:2px solid #78cbd755;padding:5px 0 5px 18px;margin:24px 0}.turn{border-top:1px solid var(--line);border-left:0;padding:20px 0;margin:0}.turn p{margin:5px 0}.turn .you span{color:var(--muted);font-weight:400}.reply{color:var(--cyan);margin-top:18px!important}.history{max-height:44vh;overflow:auto}.aura{display:block;height:70px;border-radius:50%;background:radial-gradient(ellipse,#72c9d978,transparent 65%);filter:blur(6px)}.iode p:last-child{font-size:12px;color:var(--cyan)}@media(max-width:850px){.game,.scene-layout{grid-template-columns:1fr}.game>aside:first-child{display:grid;grid-template-columns:130px 1fr;gap:10px}.game .right{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scene-layout>.portrait{max-width:300px;margin:auto}.paired{max-width:440px;margin:auto}.notice{width:calc(100% - 24px)}}@media(max-width:540px){.intro{margin:20px 12px;padding:30px 22px}.game{padding:0 12px}.game .right{grid-template-columns:1fr}.topbar{padding:0 18px}.conversation{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
