:root{--bg:#faf7fd;--surface:#fff;--surface-soft:#f4eefc;--border:#e4daf2;--text:#2a2238;--muted:#6e6580;--primary:#6b4fa0;--primary-strong:#563d86;--primary-soft:#ece3f8;--accent:#c98bb9;--success:#2f7a55;--danger:#b03a48;--urgent-bg:#fff1f0;--focus:#8f6ad1;--radius:14px;--shadow:0 1px 2px #3c285a0f, 0 4px 16px #3c285a0d;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-head:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#17131f;--surface:#211b2d;--surface-soft:#2a2238;--border:#3a3050;--text:#efe9f8;--muted:#b3a9c6;--primary:#b79ae6;--primary-strong:#cbb4f0;--primary-soft:#33284a;--success:#7fd1a6;--danger:#f08c98;--urgent-bg:#3a1f26;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0;font-size:17px;line-height:1.6}h1,h2,h3,.h3,.h4{font-family:var(--font-head);margin:0;font-weight:600;line-height:1.25}h1{font-size:clamp(1.6rem,4vw,2.2rem)}h2{font-size:1.3rem}h3,.h3{font-size:1.1rem}.h4{font-size:1rem}p{margin:0}a{color:var(--primary)}a:hover{color:var(--primary-strong)}code{background:var(--surface-soft);border-radius:6px;padding:.1em .4em;font-size:.95em}hr{border:0;border-top:1px solid var(--border);width:100%}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.skip-link{position:absolute;left:-999px}.skip-link:focus{background:var(--surface);z-index:10;padding:.5rem 1rem;top:1rem;left:1rem}.shell{flex-direction:column;min-height:100vh;display:flex}.main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:1.5rem 1rem 3rem}.main.narrow{max-width:680px}.footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:1.5rem 1rem;font-size:.85rem}.crisis-bar{background:var(--primary-soft);color:var(--text);text-align:center;padding:.4rem 1rem;font-size:.85rem}.crisis-bar a{font-weight:600}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.75rem 1rem;display:flex}.brand{font-family:var(--font-head);color:var(--text);font-size:1.35rem;font-weight:600;text-decoration:none}.brand-mark{color:var(--primary)}.nav{scrollbar-width:none;flex:100%;order:3;gap:.25rem;margin:0 -1rem;padding:0 1rem .15rem;display:flex;overflow-x:auto}.nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:.35rem .7rem;font-size:.92rem;text-decoration:none}.nav a:hover{color:var(--text);background:var(--surface-soft)}.nav a.active{color:var(--primary-strong);background:var(--primary-soft);font-weight:600}.topbar>.btn{margin-left:auto}@media (width>=900px){.nav{flex-wrap:wrap;flex:auto;order:0;margin:0;padding:0}.topbar>.btn{margin-left:0}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.stack{flex-direction:column;gap:.85rem;display:flex}.stack-lg{flex-direction:column;gap:1.5rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.grid-2,.grid-3{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=720px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}.lead{color:var(--muted);margin-top:.35rem;font-size:1.08rem}.muted{color:var(--muted)}.small{font-size:.87rem}.error{color:var(--danger);font-weight:500}.success{color:var(--success);font-weight:500}.label{margin-bottom:.4rem;font-weight:500;display:block}.callout{background:var(--surface-soft);border-left:4px solid var(--primary);border-radius:10px;padding:.9rem 1rem}.callout ul{margin:.5rem 0 0;padding-left:1.2rem}.callout-urgent{background:var(--urgent-bg);border-left-color:var(--danger)}.callout-urgent p{margin-top:.4rem}.checklist{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.checklist li{padding-left:1.8rem;position:relative}.checklist li:before{content:"✓";color:var(--success);font-weight:700;position:absolute;left:.2rem}.list{margin:0;padding:0;list-style:none}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.list-row:last-child{border-bottom:0}.list-row.wrap{flex-wrap:wrap}label{flex-direction:column;gap:.35rem;font-weight:500;display:flex}input,textarea,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;padding:.65rem .8rem}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--primary)}textarea{resize:vertical;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--primary-soft);outline:none}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:.5rem;padding:0;font-weight:500}.check{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:400}.check input{margin-top:.35rem}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-soft);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-strong);color:#fff}@media (prefers-color-scheme:dark){.btn-primary,.btn-primary:hover{color:#17131f}}.btn-quiet{color:var(--muted);background:0 0;border-color:#0000}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-small{min-height:34px;padding:.3rem .8rem;font-size:.87rem}.chips{flex-wrap:wrap;gap:.45rem;display:flex}.chip{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;border-radius:999px;padding:.35rem .85rem;font-size:.9rem}.chip:hover{background:var(--surface-soft)}.chip.selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong);font-weight:500}.pill{background:var(--surface-soft);color:var(--muted);border:1px solid var(--border);border-radius:999px;margin:0 .25rem .2rem 0;padding:.1rem .6rem;font-size:.78rem;display:inline-block}.pill-on{background:var(--primary-soft);color:var(--primary-strong);border-color:#0000}.pill-off{text-decoration:line-through}.toggle-row{justify-content:space-between;align-items:center;gap:1rem;padding:.4rem 0;display:flex}.toggle-label{font-weight:500}.switch{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;width:78px;height:36px;font:inherit;border-radius:999px;flex-shrink:0;align-items:center;padding:0;display:inline-flex;position:relative}.switch-knob{background:var(--surface);border-radius:50%;width:26px;height:26px;transition:left .15s;position:absolute;left:4px;box-shadow:0 1px 3px #0003}.switch-text{color:var(--muted);font-size:.8rem;font-weight:600;position:absolute;right:12px}.switch.on{background:var(--primary);border-color:var(--primary)}.switch.on .switch-knob{left:46px}.switch.on .switch-text{color:#fff;left:12px;right:auto}.switch:disabled{opacity:.45;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.switch-knob{transition:none}}.mood-picker{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.mood-option{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .2rem;font-size:.8rem;display:flex}.mood-option.selected{background:var(--primary-soft);border-color:var(--primary);font-weight:600}.mood-emoji{font-size:1.6rem}.chart svg{width:100%;height:auto}.chart-grid{stroke:var(--border);stroke-dasharray:3 4}.chart-axis{font-size:13px}.chart-line{fill:none;stroke:var(--primary);stroke-width:2.5px;stroke-linejoin:round}.chart-dot{fill:var(--surface);stroke:var(--primary);stroke-width:2px}.chart figcaption{margin-top:.4rem}.prompt-text{font-family:var(--font-head);color:var(--primary-strong);font-size:1.2rem}.entry-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.entry-link{color:inherit;flex-direction:column;gap:.3rem;text-decoration:none;display:flex}.entry-card:hover{border-color:var(--primary)}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.entry-body{white-space:pre-wrap}.reflection{background:var(--surface-soft);border-radius:12px;flex-direction:column;gap:.5rem;padding:.9rem 1rem;display:flex}.role-choice,.option-grid{gap:.6rem;display:grid}@media (width>=720px){.option-grid{grid-template-columns:1fr 1fr}}.choice{border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:row;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;font-weight:400}.choice input{margin-top:.3rem}.choice.selected{border-color:var(--primary);background:var(--primary-soft)}.auth-wrap{flex-direction:column;align-items:center;gap:1.25rem;min-height:100vh;padding:2.5rem 1rem;display:flex}.auth-card{flex-direction:column;gap:1rem;width:100%;max-width:460px;display:flex}.landing{flex-direction:column;gap:2rem;display:flex}.hero{flex-direction:column;gap:1rem;max-width:720px;padding:2.5rem 0 1rem;display:flex}.hero h1{font-size:clamp(2rem,6vw,3rem)}.invite-code{letter-spacing:.12em;padding:.4rem .8rem;font-size:1.3rem}.identity{grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0;display:grid}.identity dt{color:var(--muted)}.identity dd{margin:0}.qr{background:#fff;border-radius:10px;padding:8px}.modal-backdrop{z-index:20;background:#17131f80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.nav a.btn-primary,.nav a.btn-primary:hover{color:#fff;background:var(--primary)}@media (prefers-color-scheme:dark){.nav a.btn-primary,.nav a.btn-primary:hover{color:#17131f}}.nav-end{flex:auto;order:0;justify-content:flex-end;align-items:center;margin:0;padding:0}
