:root{--paper: #fbfaf7;--surface: #ffffff;--surface-2: #f3f1ec;--ink: #191a1e;--ink-soft: #4b4943;--muted: #77736c;--line: #e3dfd7;--shadow: 0 1px 2px rgba(25, 26, 30, .05), 0 8px 28px rgba(25, 26, 30, .07);--c-mad: #c33c34;--c-joyful: #96610a;--c-strong: #2f7a4c;--c-calm: #257a87;--c-sad: #3b5ca0;--c-scared: #71449a;--on-hue: #ffffff;--serif: "Newsreader", "Iowan Old Style", Georgia, serif;--sans: "Karla", ui-sans-serif, system-ui, -apple-system, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #121316;--surface: #1b1d22;--surface-2: #23262c;--ink: #f0eee9;--ink-soft: #c9c5bc;--muted: #928e86;--line: #2e323a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 34px rgba(0, 0, 0, .34);--c-mad: #e4665c;--c-joyful: #dfa23c;--c-strong: #56b47a;--c-calm: #4faebd;--c-sad: #7e9de4;--c-scared: #a87fd2;--on-hue: #121316}}:root[data-theme=dark]{--paper: #121316;--surface: #1b1d22;--surface-2: #23262c;--ink: #f0eee9;--ink-soft: #c9c5bc;--muted: #928e86;--line: #2e323a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 34px rgba(0, 0, 0, .34);--c-mad: #e4665c;--c-joyful: #dfa23c;--c-strong: #56b47a;--c-calm: #4faebd;--c-sad: #7e9de4;--c-scared: #a87fd2;--on-hue: #121316}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}*{-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{max-width:560px;margin:0 auto;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(84px + env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));display:flex;flex-direction:column;gap:16px;min-height:100dvh}.serif{font-family:var(--serif);font-weight:400}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance;letter-spacing:-.005em}h1{font-size:clamp(26px,7vw,32px);line-height:1.12}h2{font-size:24px;line-height:1.15}h3{font-size:19px;line-height:1.25}.eyebrow{font-size:9.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.num{font-variant-numeric:tabular-nums}.lede{margin:0;color:var(--ink-soft);font-size:14.5px;max-width:44ch}.dim-text{color:var(--muted);font-size:12px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;gap:4px;background:var(--surface-2);border-top:1px solid var(--line);padding:6px max(10px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));justify-content:center}.nav button{flex:1 1 0;max-width:96px;border:0;border-radius:10px;padding:11px 0;font-family:var(--sans);font-size:12.5px;font-weight:500;color:var(--muted);background:transparent;cursor:pointer}.nav button[aria-current=page]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #191a1e1a}.wheel{width:100%;max-width:440px;height:auto;display:block;margin:0 auto;touch-action:manipulation}.wedge{cursor:pointer}.wedge .face{transition:fill-opacity .35s ease,filter .2s ease}.wedge:hover .face{filter:brightness(1.08)}.wedge:focus-visible{outline:none}.wedge:focus-visible .face{stroke:var(--ink);stroke-width:3}.wedge.dim .face{fill-opacity:.15}.wedge.dim:hover .face{fill-opacity:.34}.wedge text{font-family:var(--serif);font-weight:500;fill:var(--on-hue);pointer-events:none;transition:fill .35s ease}.wedge.dim text{fill:var(--ink-soft)}.hub-disc{fill:var(--surface);stroke:var(--line);stroke-width:1.5}.hub-clickable{cursor:pointer}.hub-core{font-family:var(--serif);font-weight:500;fill:var(--ink)}.hub-label{font-family:var(--sans);font-weight:700;font-size:9.5px;letter-spacing:.16em;fill:var(--muted);text-transform:uppercase}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--muted);min-height:20px}.crumbs b{font-weight:600;color:var(--ink-soft)}.crumbs button{font:inherit;font-weight:600;color:var(--accent, var(--ink-soft));background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px 16px;display:flex;flex-direction:column;gap:15px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.card-rule{height:3px;background:var(--accent, var(--muted))}.card-body{padding:15px;display:flex;flex-direction:column;gap:8px}.card-meta{display:flex;gap:10px;align-items:center}.card-meta .eyebrow.kind{color:var(--accent, var(--muted))}.card p{margin:0;font-size:14.5px;color:var(--ink-soft)}.card .why{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:9px}.chosen{display:flex;align-items:center;gap:11px}.swatch{width:36px;height:36px;border-radius:11px;background:var(--accent);flex:none}.field-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.field-label .val{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent, var(--ink))}.dots{display:flex;gap:7px}.dots button{flex:1;height:46px;border-radius:11px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-family:var(--sans);font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;cursor:pointer}.dots button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-hue)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:9px 14px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;min-height:40px}.chip[aria-pressed=true]{background:var(--accent, var(--ink));border-color:var(--accent, var(--ink));color:var(--on-hue)}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:11px 18px;font-family:var(--sans);font-size:13.5px;font-weight:600;cursor:pointer;min-height:44px}.btn.primary{background:var(--accent, var(--ink));border-color:var(--accent, var(--ink));color:var(--on-hue)}.btn:hover{border-color:var(--muted)}.row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);font-family:var(--sans);font-size:16px;padding:11px 12px}textarea:focus-visible{outline:2px solid var(--accent, var(--muted));outline-offset:1px}.stage-row{display:flex;gap:12px}.stage-rail{display:flex;flex-direction:column;align-items:center;flex:none;width:26px}.stage-num{width:26px;height:26px;border-radius:50%;color:var(--on-hue);font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.stage-line{flex:1;width:2px;background:var(--line);margin-top:5px}.stage-done .stage-num:after{content:""}.note-box{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:12px 14px;font-size:12.5px;color:var(--ink-soft);line-height:1.45}.entry{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.entry-bar{width:4px;border-radius:2px;flex:none}.entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.badge{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 7px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}.stat .big{font-family:var(--serif);font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.bar-row{display:flex;align-items:center;gap:10px}.bar-track{flex:1;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.bar-fill{height:100%}.heat{display:flex;flex-direction:column;gap:4px}.heat-row{display:flex;gap:4px;align-items:center}.heat-cells{display:flex;gap:4px;flex:1}.heat-cell{flex:1;height:22px;border-radius:4px}.scroll-x{overflow-x:auto}.helplines a,.support a{display:inline-flex;align-items:center;min-height:44px;padding:4px 2px}.nav button{min-height:44px}.entry-actions{gap:4px}.entry-actions button{min-height:44px;padding:0 10px;display:inline-flex;align-items:center}.entry-actions button:first-child{padding-left:0}.chips button,.chip{min-height:44px}.scroll-x{scrollbar-width:none}.scroll-x::-webkit-scrollbar{display:none}.tier{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:12px;padding:12px 13px;background:var(--surface-2)}.tier.tier-strong{border-left-color:var(--c-strong)}.tier b{font-size:13.5px;color:var(--ink)}.tier span{font-size:13px;line-height:1.6;color:var(--ink-soft)}.plainlist{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;font-size:13.5px;line-height:1.6;color:var(--ink-soft)}.redact-tag{display:block;margin-top:7px;font-size:11.5px;color:var(--muted);font-style:italic}.reveals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.reveals li{display:flex;flex-direction:column;gap:5px}.reveal-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.reveal-name{font-family:var(--serif);font-size:16px;color:var(--ink)}.reveals li.ready .reveal-name{color:var(--ink)}.reveal-bar{height:3px;border-radius:2px;background:var(--line);overflow:hidden}.reveal-bar span{display:block;height:100%;background:var(--c-calm)}.entry-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-top:7px}.entry-actions button{background:none;border:0;padding:0;color:var(--muted);font-family:var(--sans);font-size:11.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.entry-actions button:hover{color:var(--ink-soft)}.entry-actions button.warn{color:var(--c-mad)}.repeat-note{border:1px solid var(--line);border-left:3px solid var(--c-calm);border-radius:12px;background:var(--surface-2);padding:14px 15px;display:flex;flex-direction:column;gap:9px;align-items:flex-start}.repeat-note strong{font-family:var(--serif);font-size:17px;font-weight:400;line-height:1.3;color:var(--ink)}.repeat-note p{font-size:13.5px;line-height:1.6;color:var(--ink-soft)}.saved-note{border-left:3px solid var(--c-strong);background:var(--surface-2);border-radius:10px;padding:11px 13px;font-size:13.5px;color:var(--ink-soft)}.note-flag{margin-top:9px;padding:11px 13px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);font-size:13.5px;line-height:1.55}.support{margin-top:auto;border-top:1px solid var(--line);padding-top:13px;font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:4px}.support strong{color:var(--ink-soft);font-weight:600}.support a{color:var(--ink-soft);text-underline-offset:2px}.support.urgent{border:1px solid var(--accent, var(--muted));border-radius:14px;padding:14px;background:color-mix(in srgb,var(--accent, var(--muted)) 9%,var(--surface))}.fineprint{font-size:11.5px;color:var(--muted);margin:0}.empty{text-align:center;color:var(--muted);font-size:14px;padding:34px 10px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.onboard{display:flex;flex-direction:column;gap:20px;min-height:100dvh;padding-top:8px}.onboard .flowcol{display:flex;flex-direction:column;gap:15px;flex:1}.onboard h1{font-size:clamp(27px,7.4vw,34px);line-height:1.1}.progress{display:flex;gap:5px}.progress span{flex:1;height:3px;border-radius:2px;background:var(--line);transition:background .3s ease}.progress span.on{background:var(--ink)}.lock{display:flex;flex-direction:column;gap:13px;padding-top:12vh;max-width:30rem}.lock h1{font-family:var(--serif);font-weight:400}.lock-form{display:flex;flex-direction:column;gap:9px;margin-top:4px}.lock-form .btn{align-self:flex-start}.lock-wrong{font-size:13.5px;color:var(--c-mad)}.stack{display:flex;flex-direction:column;gap:9px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--ink-soft);cursor:pointer}.check input{margin-top:3px;flex:none;width:17px;height:17px;accent-color:var(--c-calm)}.danger-zone{border:1px solid var(--c-mad);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.danger-zone p{font-size:13.5px;line-height:1.6;color:var(--ink-soft)}.btn.danger{border-color:var(--c-mad);color:var(--c-mad)}.input,.select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);font-family:var(--sans);font-size:16px;padding:11px 12px}.input:focus-visible,.select:focus-visible{outline:2px solid var(--accent, var(--muted));outline-offset:1px}.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.helplines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.helplines li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13px}.hl-name{font-weight:600;color:var(--ink-soft);flex:none}.hl-num{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600;text-underline-offset:3px}a.hl-num{color:var(--accent, var(--ink))}.hl-note{font-size:11.5px;color:var(--muted);flex-basis:100%}.support.urgent .helplines{margin-top:6px}button:disabled{opacity:.45;cursor:not-allowed}.chat{display:flex;flex-direction:column;gap:10px;min-height:120px}.bubble{border-radius:16px;padding:12px 14px;max-width:88%;font-size:14.5px;line-height:1.5}.bubble p{margin:0;white-space:pre-wrap}.bubble.me{align-self:flex-end;background:var(--ink);color:var(--paper);border-bottom-right-radius:5px}.bubble.reply{align-self:flex-start;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);border-bottom-left-radius:5px}.bubble.thinking{color:var(--muted);letter-spacing:.2em}.rule-tag{display:inline-block;margin-top:8px;font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.crisis-card{margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}.composer{display:flex;gap:8px;align-items:stretch}.composer .input{flex:1}.composer .btn{flex:none}
