:root{color-scheme:dark;--bg:#0c121c;--panel:#131d2a;--panel2:#192534;--line:#2d3a4b;--text:#e8e9ed;--muted:#a4adbb;--gold:#d8b679;--gold2:#ecc991;--danger:#e89d9d;--r:17px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--gold)}.app{max-width:1240px;margin:auto;min-height:100vh;display:grid;grid-template-columns:235px 1fr}.sidebar{border-right:1px solid var(--line);padding:24px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;background:#0f1722}.brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:.18em;color:var(--gold);font-size:14px}.brand .mark{font-size:28px}.brand small{display:block;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.13em;margin-top:3px}.nav{display:flex;flex-direction:column;gap:6px}.nav button,.nav .link{border:0;background:transparent;text-align:left;color:var(--muted);padding:13px 14px;border-radius:12px;font-weight:650}.nav button.active{background:#1a2737;color:var(--gold)}.nav button:hover{color:var(--text);background:#1a2737}.sidebar-bottom{margin-top:auto;font-size:12px;color:var(--muted);line-height:1.5;padding:10px}.main{min-width:0;padding:40px clamp(18px,4vw,52px) 120px}.head{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:30px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:800}.page-title{font-family:Georgia,serif;font-size:clamp(31px,5vw,47px);font-weight:500;line-height:1.1;margin:13px 0 8px}.sub{color:var(--muted);line-height:1.65;margin:0}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:15px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}.panel,.world-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:23px}.world-card{cursor:pointer;transition:border-color .15s,transform .15s}.world-card:hover{border-color:var(--gold);transform:translateY(-2px)}.world-card h3{font-family:Georgia,serif;font-size:25px;margin:7px 0 10px}.world-card p{color:var(--muted);line-height:1.55}.tag{display:inline-block;border-radius:30px;padding:5px 10px;background:#243448;color:var(--gold);font-size:12px}.btn{border:1px solid var(--line);border-radius:11px;padding:11px 15px;font-weight:750;color:var(--text);background:#1c2939;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px}.btn:hover{filter:brightness(1.12)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.gold{color:#111823;border-color:var(--gold);background:var(--gold)}.btn.ghost{background:transparent}.btn.danger{color:var(--danger);border-color:#63424a}.btn.full{width:100%}.btn.small{padding:7px 11px;font-size:13px;min-height:34px}.form{display:grid;gap:17px}.form.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label,.lab{color:#cbd1d9;font-weight:700;font-size:14px}.hint,.tiny{color:var(--muted);font-size:12px;line-height:1.5}.input,textarea,select{background:#0f1824;border:1px solid #3a495c;color:var(--text);border-radius:10px;padding:12px 13px;outline:none;min-height:46px;width:100%;font-size:16px}textarea{resize:vertical;min-height:120px;line-height:1.55}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 2px #d8b67922}select{appearance:auto}.span2{grid-column:1/-1}.section-title{font-size:20px;font-weight:800;margin:0 0 12px}.steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:20px}.step{background:var(--panel2);border-radius:30px;padding:8px 12px}.step.on{color:#111823;background:var(--gold)}.well{border-radius:14px;border:1px dashed #3b4859;background:#121b28;padding:24px;color:var(--muted);line-height:1.65}.blockquote{white-space:pre-wrap;color:#d8dbe3;line-height:1.7;font-family:Georgia,serif;font-size:19px}.scene{border:1px solid var(--line);border-radius:18px;background:#121c29;padding:26px;margin-bottom:14px}.scene .meta{color:var(--muted);font-size:12px;display:flex;gap:12px;justify-content:space-between}.scene .body{font-family:Georgia,serif;font-size:clamp(18px,2.5vw,21px);line-height:1.78;white-space:pre-wrap;margin:22px 0;color:#e8e6e2}.scene .actions{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:13px}.kpi{display:flex;gap:8px;align-items:center;color:var(--muted)}.kpi b{font-size:25px;color:var(--gold)}.listrow{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;align-items:flex-start}.listrow:last-child{border-bottom:0}.listrow p{margin:5px 0;color:var(--muted);font-size:14px;line-height:1.5}.card-title{margin:0;font-size:19px;font-weight:800}.persona{border-left:3px solid var(--gold);padding:10px 15px;background:#192434;border-radius:8px;margin-bottom:8px}.persona p{margin:5px 0;font-size:14px;color:var(--muted)}.result{background:#151f2c;padding:16px;border-radius:12px;border:1px solid var(--line);margin-top:12px}.result p,.result li{line-height:1.7}.auth{max-width:520px;margin:9vh auto 30px;padding:18px}.auth h1{font-family:Georgia,serif;font-size:36px;font-weight:500}.boot{text-align:center;margin:30vh auto;color:var(--muted)}.spark{color:var(--gold);font-size:36px}.pill{background:#1a2a3b;border:1px solid var(--line);border-radius:50px;padding:7px 11px;color:var(--gold);font-size:12px}#toast{position:fixed;z-index:999;bottom:25px;left:50%;transform:translateX(-50%);background:#26313e;border:1px solid #526176;color:white;padding:13px 19px;border-radius:12px;box-shadow:0 16px 60px #0006;display:none;max-width:min(92vw,600px);line-height:1.5}#toast.show{display:block}#toast.error{background:#3b252d;border-color:#945765}.modalwrap{position:fixed;inset:0;background:#000c;z-index:50;display:flex;justify-content:center;align-items:center;padding:15px}.modal{background:#152131;border:1px solid #384658;border-radius:20px;padding:23px;width:min(760px,100%);max-height:92dvh;overflow:auto}.modal-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:15px}.modal-head h2{font-family:Georgia,serif;font-weight:500;margin:0}.divider{height:1px;background:var(--line);margin:17px 0}.mobilebar{display:none}.footnote{color:var(--muted);font-size:12px;line-height:1.5;margin-top:15px}.attention{border-left:3px solid #cc9f65;background:#282532;padding:14px;border-radius:8px;line-height:1.6}.code{background:#0a111a;border:1px solid var(--line);border-radius:9px;font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere;padding:10px 12px;color:#d4d6de}.muted{color:var(--muted)}.hidden{display:none!important}
@media(max-width:760px){.app{display:block}.sidebar{display:none}.main{padding:19px 15px calc(110px + env(safe-area-inset-bottom))}.head{margin-bottom:21px}.page-title{font-size:34px}.panel{padding:16px}.scene{padding:17px}.scene .body{font-size:19px;line-height:1.75}.form.two{grid-template-columns:1fr}.span2{grid-column:auto}.grid{grid-template-columns:1fr}.btn{min-height:46px}.mobilebar{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(5,1fr);background:#0f1723ed;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:7px 3px calc(8px + env(safe-area-inset-bottom));z-index:20}.mobilebar button{background:transparent;border:0;color:var(--muted);font-size:10px;display:flex;flex-direction:column;gap:4px;align-items:center;padding:5px 1px}.mobilebar button.active{color:var(--gold)}.mobilebar button span{font-size:20px}.row.mobile-full{display:grid;grid-template-columns:1fr}.row.mobile-full .btn{width:100%}.modalwrap{padding:5px;align-items:end}.modal{border-radius:20px 20px 0 0;max-height:91dvh;padding:19px 16px calc(22px + env(safe-area-inset-bottom))}.auth{margin:8vh auto}.section-title{font-size:19px}}

.mobiletop{display:none}@media(max-width:760px){.mobiletop{display:flex;justify-content:space-between;align-items:center;padding:13px 17px 11px;border-bottom:1px solid var(--line);background:#0e1722;gap:12px;position:sticky;top:0;z-index:15}.mobiletop button{background:transparent;border:0;color:var(--gold);font-weight:800;letter-spacing:.11em;font-size:12px;padding:8px}.mobiletop div{display:flex}.mobiletop div button{font-size:24px;color:var(--muted)}}

/* v0.4 — password-first account help, iPhone-friendly */
.login-help {margin:16px 0; border:1px solid #334456; border-radius:12px; padding:14px; color:#d4dce6;}
.login-help summary {cursor:pointer; font-weight:700; color:#dce2eb; line-height:1.45;}
.login-help p {font-size:14px; line-height:1.6; margin:12px 0; color:#afbccd;}
.login-help a {overflow-wrap:anywhere; color:#e1c186;}
.login-help code {overflow-wrap:anywhere;}
.login-help form {margin-top:16px;}
