:root{color-scheme:dark;--ink:#080b12;--ink-2:#0d121c;--surface:rgba(21,29,42,.9);--surface-soft:rgba(31,42,58,.62);--line:rgba(156,183,204,.18);--line-strong:rgba(156,206,224,.34);--text:#f4efe6;--muted:#aeb9c7;--technical:#72c7d8;--technical-bright:#a5e5ed;--warm:#d8ad68;--violet:#9189c7;--danger:#ef8790;--danger-deep:#4a2229;--success:#7bcaa4;--shadow:0 22px 65px rgba(0,0,0,.34);--radius:18px;--content:1120px;--reading:760px}
*{box-sizing:border-box}html{min-width:0;background:var(--ink)}body{min-width:0;margin:0;color:var(--text);background:radial-gradient(circle at 74% -8%,rgba(74,116,143,.16),transparent 35rem),radial-gradient(circle at 8% 35%,rgba(105,83,130,.09),transparent 30rem),linear-gradient(145deg,var(--ink),var(--ink-2) 58%,#0a1019);font:16px/1.65 system-ui,"Segoe UI",Arial,sans-serif;min-height:100vh}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(129,180,198,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(129,180,198,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 75%)}a{color:var(--technical-bright);text-underline-offset:.2em}a:hover{color:#d6f7f9}h1,h2,h3,h4{line-height:1.16;letter-spacing:-.025em;margin:0 0 .75rem}h1{font-size:clamp(2.1rem,5vw,4rem);font-weight:650}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:1.04rem;letter-spacing:.01em}p{margin:.65rem 0 1rem}small,.muted{color:var(--muted)}.eyebrow,.meta{color:var(--technical);font-size:.72rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.shell{width:min(calc(100% - 40px),var(--content));margin:0 auto;padding:28px 0 60px}.shell--threshold{width:min(calc(100% - 40px),960px);min-height:100vh;display:grid;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.brand-mark{width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;position:relative;box-shadow:inset 0 0 18px rgba(114,199,216,.1)}.brand-mark::before,.brand-mark::after{content:"";position:absolute;border:1px solid rgba(216,173,104,.5);border-radius:50%}.brand-mark::before{inset:7px}.brand-mark::after{inset:13px;background:var(--technical);box-shadow:0 0 12px var(--technical)}.made-by{color:var(--muted);font-size:.78rem;letter-spacing:.08em}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.primary-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.primary-nav a,.primary-nav strong{color:var(--muted);padding:8px 12px;border-radius:999px;text-decoration:none;font-size:.92rem;font-weight:650}.primary-nav a:hover{color:var(--text);background:var(--surface-soft)}.primary-nav strong{color:var(--text);background:#182130;box-shadow:inset 0 0 0 1px var(--line)}
.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.reading-column{width:min(100%,var(--reading));margin-inline:auto}.panel,section{min-width:0;background:linear-gradient(145deg,rgba(26,36,51,.9),rgba(18,25,37,.88));border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,4vw,30px);margin:16px 0;box-shadow:0 12px 38px rgba(0,0,0,.16);overflow-wrap:anywhere}.panel--quiet{background:rgba(17,24,35,.66);box-shadow:none}.panel--danger{border-color:rgba(239,135,144,.42);background:linear-gradient(145deg,rgba(67,31,38,.7),rgba(27,23,31,.88))}.error{border-color:rgba(239,135,144,.5);color:#ffd7d9}.success{border-color:rgba(123,202,164,.45)}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions form{margin:0}button,.button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid transparent;border-radius:11px;background:linear-gradient(135deg,var(--technical-bright),var(--technical));color:#081217;font:inherit;font-weight:780;text-decoration:none;cursor:pointer;box-shadow:0 8px 22px rgba(62,151,170,.16)}button:hover,.button:hover{transform:translateY(-1px);filter:brightness(1.06);color:#081217}button:disabled{cursor:not-allowed;filter:grayscale(.55);opacity:.55;transform:none;box-shadow:none}.button--quiet{background:transparent;color:var(--technical-bright);border-color:var(--line-strong);box-shadow:none}.danger{background:var(--danger-deep);color:#ffdadd;border-color:rgba(239,135,144,.5);box-shadow:none}
label{display:block;margin:14px 0;color:#e9e5de;font-weight:640}input,textarea,select{width:100%;min-width:0;margin-top:7px;padding:12px 13px;border-radius:11px;border:1px solid var(--line-strong);background:rgba(7,12,19,.72);color:var(--text);font:inherit}textarea{resize:vertical;line-height:1.6}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(114,199,216,.45);outline-offset:3px}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.checks label,.mode{margin:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(9,15,23,.45);cursor:pointer}.checks label:has(input:checked),.mode:has(input:checked){border-color:var(--technical);background:rgba(62,131,149,.14)}.checks input,.mode input{width:auto;margin:0 7px 0 0;accent-color:var(--technical)}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mode-grid .mode{min-height:126px}.mode-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--muted);font-size:.78rem}.mode-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warm);box-shadow:0 0 8px rgba(216,173,104,.55)}
.threshold-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.8fr);align-items:center;gap:clamp(30px,7vw,90px)}.threshold-copy p{max-width:38rem;font-size:1.08rem;color:var(--muted)}.threshold-form{box-shadow:var(--shadow)}.core-wrap{display:grid;place-items:center;min-height:270px}.frequency-core{width:210px;aspect-ratio:1;position:relative;display:grid;place-items:center;isolation:isolate}.frequency-core::before{content:"";width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 42% 38%,#efffff,var(--technical) 28%,rgba(65,122,148,.2) 66%,transparent 70%);box-shadow:0 0 34px rgba(114,199,216,.55),0 0 75px rgba(145,137,199,.23);animation:core-breathe 7s ease-in-out infinite}.frequency-core span{position:absolute;inset:15%;border:1px solid rgba(114,199,216,.35);border-radius:50%;animation:orbit 34s linear infinite}.frequency-core span:nth-child(2){inset:3%;border-color:rgba(216,173,104,.25);border-style:dashed;animation-duration:49s;animation-direction:reverse}.frequency-core span:nth-child(3){inset:28%;border-color:rgba(145,137,199,.32);animation-duration:26s}.frequency-core--small{width:82px}.frequency-core--small::before{width:20px;height:20px;box-shadow:0 0 18px rgba(114,199,216,.42)}
.experience-heading{max-width:760px;margin:28px 0 18px}.experience-heading h1{font-size:clamp(2rem,4vw,3.15rem)}.experience-heading p:last-child{color:var(--muted);max-width:42rem}.primary-nav small{display:block;font-size:.62rem;font-weight:560;letter-spacing:.02em;text-align:center}.talk-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.talk-rail{min-width:0;background:rgba(15,22,33,.72);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.talk-rail details{border:0;margin:0;padding:0}.talk-rail summary{font-size:1rem}.talk-rail .actions{margin:14px 0}.reader-status{margin:18px 2px 2px;padding-top:14px;border-top:1px solid var(--line)}.conversation-list{display:grid;gap:7px}.conversation-list a{display:grid;gap:2px;padding:10px 12px;border-radius:10px;text-decoration:none;background:rgba(10,16,24,.42);border:1px solid transparent}.conversation-list a:hover,.conversation-list a[aria-current=page]{border-color:var(--line-strong);background:rgba(38,55,73,.58)}.conversation-list small{color:var(--muted);font-size:.72rem}.talk-workspace{min-width:0}.conversation-thread{margin:0;padding:clamp(18px,3vw,28px);overflow:visible}.conversation-header{padding-bottom:18px;border-bottom:1px solid var(--line)}.conversation-messages{padding:6px 0 22px}.message{max-width:min(88%,700px);margin:16px 0;padding:17px 19px;border:1px solid var(--line);border-radius:5px 18px 18px 18px;background:rgba(19,28,40,.72);overflow-wrap:anywhere}.message--user{margin-left:auto;border-color:rgba(216,173,104,.25);border-radius:18px 18px 5px 18px;background:rgba(84,68,45,.18)}.message--assistant{font-size:1.02rem;border-color:rgba(114,199,216,.2)}.message-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.message-label{color:var(--message-label,var(--technical-bright));font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.message--user .message-label{--message-label:var(--warm)}.message-sources{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.composer{position:static;margin:22px 0 0;backdrop-filter:blur(15px);box-shadow:var(--shadow)}.composer label{margin-top:0}.composer-input,.capture-input{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px;align-items:end}.composer textarea{min-height:96px;margin:0}.composer-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px}.future-control-slot{display:block;visibility:hidden;width:46px;height:46px}.message-playback-slot{width:34px;height:34px}.talk-empty{text-align:center;min-height:330px;display:grid;place-items:center;align-content:center}.quick-capture{max-width:760px;border-color:rgba(216,173,104,.3);box-shadow:var(--shadow)}.quick-capture textarea{margin:0;min-height:150px}.quick-log-result{max-width:760px;border-color:rgba(123,202,164,.4)}.quick-log-history{margin:26px 0 90px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(15,22,33,.58)}.quick-log-history[open]>summary{margin-bottom:10px}.quick-log-history-list{display:grid;gap:0}.quick-log-history-item{padding:18px 2px;border-top:1px solid var(--line)}.quick-log-fab{position:fixed;right:max(18px,calc((100vw - var(--content))/2));bottom:20px;z-index:10;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 16px;border:1px solid rgba(216,173,104,.48);border-radius:999px;background:linear-gradient(145deg,#302719,#1c2633);color:var(--text);font-weight:750;text-decoration:none;box-shadow:0 14px 38px rgba(0,0,0,.5)}.quick-log-fab:hover{color:#fff;border-color:var(--warm)}details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}summary{color:var(--technical-bright);cursor:pointer;font-weight:680}pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font:.9rem/1.6 ui-monospace,Consolas,monospace;color:#d5dde5}.archive-item{border-top:1px solid var(--line);padding:17px 0}.archive-item:first-of-type{border-top:0}.item{border-top:1px solid var(--line);padding:14px 0}.price{font-size:clamp(2.25rem,7vw,4.5rem);letter-spacing:-.06em;margin:.3rem 0}.price small{font-size:1rem;letter-spacing:0}.sequence{color:var(--warm);letter-spacing:.05em}.footer-note{text-align:center;padding:24px 0;color:var(--muted);font-size:.8rem}
.install-brand{display:block;width:min(100%,28rem);height:auto;margin:0 auto 1.25rem;border-radius:var(--radius);background:#000}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes core-breathe{50%{transform:scale(1.07);filter:brightness(1.12)}}
@media(min-width:900px){.talk-layout{grid-template-columns:260px minmax(0,1fr)}.talk-rail{position:sticky;top:22px}}
@media(max-width:1180px){.quick-log-fab{display:none}}
@media(max-width:760px){.shell{width:min(calc(100% - 28px),var(--content));padding-top:18px;padding-bottom:92px}.app-header{align-items:flex-start;flex-direction:column;gap:14px}.primary-nav{width:100%;overflow:visible;flex-wrap:wrap;padding-bottom:0}.primary-nav a,.primary-nav strong{min-width:0;white-space:normal;text-align:center}.threshold-grid{grid-template-columns:1fr;gap:8px;padding:36px 0}.threshold-copy{text-align:center}.core-wrap{min-height:190px}.frequency-core{width:160px}.checks,.mode-grid{grid-template-columns:1fr}.talk-rail{padding:14px}.message{max-width:96%}.composer{bottom:auto}.composer-input,.capture-input{grid-template-columns:minmax(0,1fr) 46px}.composer-actions{align-items:stretch;flex-direction:column}.composer-actions button{align-self:flex-end}.experience-heading{margin-top:22px}}
@media(max-width:390px){body{font-size:15px}.shell{width:min(calc(100% - 20px),var(--content))}.panel,section{padding:18px;border-radius:15px}button,.button{width:100%}.actions>form,.actions>form button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Double-submit guard feedback */
.is-submitting button{opacity:.6;cursor:progress}
.primary-nav .nav-logout{margin:0 0 0 auto}
.primary-nav .nav-logout button{padding:8px 12px;font-size:.85rem}

/* Nov 2026 plan ladder + Honest Billing Promise */
.plan-ladder{margin-top:1.25rem;text-align:left}
.plan-list{list-style:none;padding:0;margin:.75rem 0;display:grid;gap:.6rem}
.plan-item{border:1px solid rgba(120,200,255,.25);border-radius:12px;padding:.7rem .9rem;line-height:1.45}
.plan-price{font-weight:700;margin-left:.25rem}
.honest-billing ul{margin:.4rem 0 .6rem 1.1rem;padding:0}
.honest-billing h3{margin:0 0 .3rem}
.plan-buy{margin-top:.5rem}.plan-buy button{width:100%}
.away-banner{border-color:rgba(255,200,90,.45);margin-bottom:.75rem}

/* Nov 6, 2026 - Look A "Portal Gate" reading card + glowing numbers (display only) */
.message--assistant{position:relative;font-size:1.02rem;background:linear-gradient(160deg,rgba(10,30,48,.92),rgba(8,16,28,.94));border:1px solid rgba(94,221,240,.38);border-left:3px solid #5ee3f3;box-shadow:0 0 0 1px rgba(94,221,240,.06),0 10px 34px rgba(0,0,0,.45),0 0 26px rgba(94,221,240,.10);animation:read45in .5s ease-out both}
.message--assistant .message-label{color:#7eeaf7;text-shadow:0 0 10px rgba(94,221,240,.45)}
.reading-body{margin-top:10px;line-height:1.7}
.reading-body>div{margin:0 0 14px}.reading-body>div:last-child{margin-bottom:0}
.read-open{font-size:1.06rem;color:#e9f6f9}
.read-sec{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}
.read-label{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:.72rem;font-weight:760;letter-spacing:.14em;text-transform:uppercase}
.read-label::before{content:"";width:8px;height:8px;border-radius:50%}
.read-light{border-color:rgba(242,201,120,.22)}.read-light .read-label{color:#f2c978}.read-light .read-label::before{background:#f2c978;box-shadow:0 0 10px #f2c978}
.read-shadow{border-color:rgba(167,139,250,.24);background:rgba(76,56,140,.10)}.read-shadow .read-label{color:#b9a4ff}.read-shadow .read-label::before{background:#a78bfa;box-shadow:0 0 10px #a78bfa}
.read-close{padding-top:12px;border-top:1px solid rgba(94,221,240,.22);font-style:italic;color:#cfeff4}
.read-plain{font-size:.92rem;color:var(--muted)}
.num{color:#8ff3ff;font-weight:760;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-shadow:0 0 8px rgba(94,221,240,.65),0 0 18px rgba(94,221,240,.30);animation:num45glow 3.2s ease-in-out infinite}
@keyframes num45glow{0%,100%{text-shadow:0 0 6px rgba(94,221,240,.5),0 0 14px rgba(94,221,240,.22)}50%{text-shadow:0 0 10px rgba(94,221,240,.85),0 0 24px rgba(94,221,240,.42)}}
@keyframes read45in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.num,.message--assistant{animation:none}}
.num--mirror{background:linear-gradient(90deg,#8ff3ff,#ff8a1f 50%,#8ff3ff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 6px rgba(255,138,31,.6)) drop-shadow(0 0 12px rgba(94,221,240,.35));animation:num45mirror 4s linear infinite}
@keyframes num45mirror{from{background-position:0% 0}to{background-position:200% 0}}
@media(prefers-reduced-motion:reduce){.num--mirror{animation:none}}

/* Nov 6, 2026 - "Get a reading on this" after Quick Log */
.quick-log-read{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:16px 0 20px}
.read-cta{background:linear-gradient(135deg,#5ee3f3,#3aa7d8);color:#04121c;font-weight:800;border:0;border-radius:999px;padding:13px 22px;box-shadow:0 0 18px rgba(94,221,240,.45);cursor:pointer}
.read-cta:hover{box-shadow:0 0 26px rgba(94,221,240,.7)}

/* Nov 6: Talk starter ideas */
.starters{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;justify-content:center}
.conversation-thread .starters{justify-content:flex-start}
.starter{background:rgba(35,231,255,.08);border:1px solid rgba(35,231,255,.35);color:inherit;border-radius:999px;padding:.5rem .9rem;font-size:.92rem;cursor:pointer;min-height:44px;text-align:left}
.starter:hover,.starter:focus-visible{background:rgba(35,231,255,.18);border-color:#23e7ff}
.starters-lead{margin:.5rem 0 0}
.talk-empty .composer{text-align:left;margin-top:.5rem}

/* Nov 6: legal pages */
.legal-page section{max-width:760px;margin:2rem auto;line-height:1.6}
.legal-page h2{margin-top:1.6rem}
.legal-page ul{padding-left:1.2rem}
.legal-links{margin-top:2rem;border-top:1px solid rgba(255,255,255,.12);padding-top:1rem}
.legal-agree{font-size:.88rem;margin-top:.6rem}

/* Nov 6: welcome sample reading on join + login */
.sample45{grid-column:1/-1;max-width:720px;margin:2.5rem auto 1rem;width:100%}
.sample45 h2{margin:.2rem 0 1rem}
.sample45-msg{margin:.75rem 0}
.sample45-note{font-size:.88rem;margin:.5rem 0 1.25rem}
.sample45-steps{display:grid;gap:.6rem;padding-left:1.3rem;margin:0}
.sample45-steps li{line-height:1.5}

/* Nov 7: phone bottom tab bar (Talk / Quick Log / History / Settings) */
.tabbar45{display:none}
@media(max-width:760px){
.tabbar45{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(8,11,18,.95);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.tab45{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:.72rem;font-weight:650;line-height:1.1}
.tab45 svg{width:23px;height:23px}
.tab45[aria-current]{color:var(--text);background:#182130;box-shadow:inset 0 0 0 1px var(--line)}
.tab45--ql{color:var(--warm)}
.tab45--ql svg{width:27px;height:27px}
.tab45--ql[aria-current]{color:var(--warm)}
.primary-nav>a,.primary-nav>strong{display:none}
.primary-nav .nav-logout{margin-left:auto}
body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
}
