*{box-sizing:border-box}body{color:#f5f5f5;background:#070707;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.attribution{color:#666;margin-top:28px;font-size:10px;line-height:1.5}main{max-width:850px;margin:auto;padding:24px 18px 96px}header{align-items:center;gap:12px;margin-bottom:28px;display:flex}h1,h2,h3,p{margin:0}h1{font-size:28px}h2{margin-top:4px;font-size:21px}small{color:#8a8a8f;letter-spacing:.09em;text-transform:uppercase;font-size:11px}.logo{background:#000;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid}.logo svg{width:34px;height:34px}.logo path{fill:none;stroke:#fff;stroke-width:28px;stroke-linecap:round}.date{color:#8a8a8f;gap:4px;margin-left:auto;font-size:12px;display:grid}input,textarea,select{color:#f5f5f5;background:#101010;border:1px solid #292929;border-radius:8px;min-width:0;padding:11px}textarea{resize:vertical;width:100%;min-height:92px}button{color:#f5f5f5;background:#171717;border:1px solid #303030;border-radius:8px;min-height:42px;padding:10px 13px}button:hover{border-color:#8f1d28}.primary{background:#8f1d28;border-color:#b52a36;font-weight:700}section{border-top:1px solid #242424;padding:24px 0}.section-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title>span{color:#8a8a8f;font-size:12px}.add,.thought{gap:8px;display:flex}.add input,.thought input{flex:1}.hint{color:#8a8a8f;margin:8px 0;font-size:12px}.goals{gap:8px;margin-top:12px;display:grid}.goal{background:#101010;border:1px solid #242424;border-radius:9px;align-items:center;gap:10px;padding:12px;display:flex}.goal div{flex:1;gap:5px;display:grid}.goal b{font-size:14px}.goal small{letter-spacing:0;text-transform:none;font-size:12px}.status{background:0 0;border:0;width:28px;padding:0;font-size:20px}.status.done{color:#b52a36}.quiet{color:#8a8a8f;background:0 0;border:0;min-height:32px;padding:7px;font-size:12px}.metrics,.spirit-summary,.stats{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.metric,.spirit-summary>div,.stats>div{background:#101010;border:1px solid #242424;border-radius:9px;gap:8px;padding:16px;display:grid}.metric strong,.spirit-summary strong,.stats strong{font-size:22px}.metric div{gap:5px;display:flex}.metric button{min-height:32px;padding:6px 9px;font-size:12px}.metric input{width:100%;padding:7px}.spirit{background:#101010;border:1px solid #292929;border-radius:10px;margin-top:18px;padding-left:16px;padding-right:16px}.spirit-summary{margin-bottom:14px}.spirit-summary span{color:#8a8a8f;font-size:12px}.spirit .primary{width:100%;margin-bottom:12px}.thought{margin-top:4px}.thought-item{color:#c5c5c5;border-bottom:1px solid #242424;padding:9px 0;font-size:14px}.thought-preview{text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.thought-preview>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thought-preview small{flex:none}.thought-detail p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.6}.thought-history{background:#101010;border:1px solid #292929;border-radius:9px;max-width:360px;margin-top:18px}.thought-history summary{cursor:pointer;padding:11px 13px;font-size:14px}.thought-history-list{overscroll-behavior:contain;gap:6px;max-height:190px;padding:0 8px 8px;display:grid;overflow-y:auto}.thought-history-item{text-align:left;white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.notice{background:#3a1519;border:1px solid #8f1d28;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px}.notice button{float:right;background:0 0;border:0;min-height:0;padding:0}.modal{z-index:3;background:#000b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:#171717;border:1px solid #333;border-radius:12px;gap:12px;width:min(540px,100%);max-height:90vh;padding:22px;display:grid;overflow:auto}.close{background:0 0;border:0;justify-self:end;min-height:20px;padding:0;font-size:20px}.focus{z-index:2;text-align:center;background:#070707;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.focus h2{max-width:560px}.focus p{color:#b5b5b5;max-width:550px}.focus strong{font-variant-numeric:tabular-nums;letter-spacing:-.06em;font-size:clamp(72px,20vw,160px)}.focus span{color:#8a8a8f}.focus div{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.focus{justify-content:space-between}.focus .focus-heading{justify-items:center;gap:10px;max-width:100%;display:grid}.focus .focus-timer{justify-items:center;gap:8px;width:100%;padding:0 16px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.focus .focus-timer strong{line-height:1}.focus .focus-actions{margin-top:auto}.standard{color:#c8c8c8;background:#101010;border-radius:7px;padding:10px;font-size:14px}.outcome{align-items:center;gap:9px;padding:5px;font-size:14px;display:flex}.heatmap-scroll{--heat-cell:22px;--heat-gap:5px;overscroll-behavior-inline:contain;scrollbar-color:#383838 #101010;width:100%;margin:12px 0 0;padding:5px 3px 9px;overflow-x:hidden}.heatmap{grid-auto-flow:row;grid-template-columns:repeat(var(--heat-columns,7), minmax(0, 1fr));gap:var(--heat-gap);width:100%;display:grid}.heatmap.range-7{--heat-cell:clamp(54px, 16vw, 68px);--heat-gap:8px}.heatmap.range-30{--heat-cell:32px;--heat-gap:6px}.heatmap.range-90{--heat-cell:25px}.heatmap.range-365,.heatmap.range-all{--heat-cell:22px}.heatmap.range-7{grid-auto-flow:row;grid-template-columns:repeat(var(--heat-columns,3), var(--heat-cell));width:max-content}.calendar-range{flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px;display:flex}.calendar-range label{color:#aaa;gap:5px;font-size:12px;display:grid}.calendar-range input{padding:8px}.heat{aspect-ratio:1;background:#121212;border:1px solid #0000;border-radius:4px;justify-self:start;width:100%;min-height:0;padding:0}.heat.selected{outline-offset:2px;outline:1px solid #fff}.l1{background:#42131a}.l2{background:#681722}.l3{background:#8f1d28}.l4{background:#b52a36}.stats{grid-template-columns:repeat(3,1fr)}.history-tabs,.subtabs,.range-tabs,.mode-tabs{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.history-tabs button,.subtabs button,.range-tabs button,.mode-tabs button{min-height:34px;padding:6px 11px;font-size:12px}button.selected{color:#fff;background:#381217;border-color:#b52a36}.day-detail{background:#101010;border:1px solid #292929;border-radius:9px;gap:7px;margin:12px 0;padding:14px;display:grid}.detail-group{gap:6px;padding-top:5px;display:grid}.detail-group b{font-size:14px}.session-detail{color:#a9a9ad;padding-left:8px}.day-detail span,.day-detail p{color:#a9a9ad;font-size:13px}.stack{gap:8px;max-width:320px;display:grid}hr{border:0;border-top:1px solid #242424;margin:24px 0}nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#101010ee;border-top:1px solid #242424;justify-content:center;gap:8px;padding:10px;display:flex;position:fixed;bottom:0;left:0;right:0}nav button{color:#8a8a8f;background:0 0;border:0;min-width:80px}nav button.active{color:#f5f5f5;border-bottom:2px solid #b52a36;border-radius:0}@media (width<=520px){main{padding:18px 12px 84px}.date span{display:none}.goal{align-items:flex-start}.goal .quiet{padding:5px}.stats{grid-template-columns:repeat(2,1fr)}.heatmap-scroll{--heat-cell:25px}.heatmap.range-30{--heat-cell:34px}.heatmap.range-90{--heat-cell:25px}.heatmap.range-365,.heatmap.range-all{--heat-cell:23px}.heatmap{--heat-gap:6px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.history-overview{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:16px;margin-top:18px;display:grid}.heatmap-panel,.range-summary{background:#090909;border:1px solid #292929;border-radius:12px;min-width:0;padding:18px}.range-summary{gap:14px;display:grid}.range-summary h3{font-size:17px}.range-summary>div{border-bottom:1px solid #252525;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.range-summary strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:17px}.range-summary span{font-size:13px}.range-summary span small{margin-top:5px;font-size:10px;display:block}.heat-legend{color:#999;align-items:center;gap:6px;margin-top:15px;font-size:11px;display:flex}.heat-legend i{background:var(--heat-color,#141414);border-radius:3px;width:16px;height:16px}.heat{background:var(--heat-color,#141414)}.heat.selected{background:var(--heat-color,#141414);border-color:#0000}.l1{--heat-color:#36181c}.l2{--heat-color:#641d27}.l3{--heat-color:#9a2332}.l4{--heat-color:#d52d41}@media (width<=680px){.history-overview{grid-template-columns:minmax(0,1fr)}.range-summary{gap:8px}.heatmap-panel{padding:14px}}.app-content{opacity:0;filter:blur(7px);transition:opacity var(--home-reveal,.5s) ease, filter var(--home-reveal,.5s) ease, transform var(--home-reveal,.5s) ease;transform:translateY(3px)}.app-content.revealed{opacity:1;filter:blur();transform:translateY(0)}.splash{--arc-close:1.12s;--typing-step:94ms;--ready-step:94ms;--home-reveal:.5s;z-index:100;color:#fff;animation:splash-exit var(--home-reveal) ease forwards paused;background:#000;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.splash.phase-exit{animation-play-state:running}.skip{top:max(20px, env(safe-area-inset-top));color:#8a8a8f;z-index:2;background:0 0;border:0;font-size:13px;position:absolute;right:20px}.brand-shape{opacity:0;width:min(80vw,320px);transition:opacity .62s,transform .62s;transform:scale(.97)}.phase-j .brand-shape,.phase-circle .brand-shape,.phase-hello .brand-shape,.phase-ready .brand-shape,.phase-brain .brand-shape,.phase-ai-wait .brand-shape,.phase-ai-enter .brand-shape{opacity:1;transform:scale(1)}.phase-hello .brand-shape,.phase-ready .brand-shape,.phase-brain .brand-shape,.phase-ai-wait .brand-shape,.phase-ai-enter .brand-shape{opacity:0;transform:scale(.82)}.brand-shape svg{width:100%;height:100%;overflow:visible}.mark-path{fill:none;stroke:#fff;stroke-linecap:round}.typing-line{opacity:0;color:#fff;letter-spacing:-.04em;white-space:nowrap;pointer-events:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,PingFang SC,sans-serif;font-weight:650;transition:opacity .26s,transform .26s;position:absolute;transform:translateY(4px)}.hello{font-size:clamp(31px,8vw,42px)}.ready{font-size:clamp(35px,9.2vw,47px)}.phase-hello .hello,.phase-ready .ready{opacity:1;transform:translateY(0)}.phase-ready .hello,.phase-brain .ready,.phase-ai-wait .ready,.phase-ai-enter .ready,.phase-exit .typing-line{opacity:0;transform:translateY(-3px)}.typing-track{white-space:pre;display:inline-block;position:relative}.glyph{opacity:0;transition:opacity 65ms;display:inline-block}.glyph.is-visible{opacity:1}.typing-head{pointer-events:none;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;transition:left 46ms ease-out,transform 90ms ease-out,opacity .16s;position:absolute;top:50%;transform:scale(1)}.typing-head.beat{animation:typing-tap var(--typing-step) ease-out both}.typing-head.is-done{opacity:0}@keyframes typing-tap{0%{transform:scale(.96)}to{transform:scale(1)}}.brain{aspect-ratio:1;opacity:0;width:min(47vw,190px);transition:opacity .44s,transform .44s;position:absolute;transform:scale(.96)}.phase-brain .brain,.phase-ai-wait .brain,.phase-ai-enter .brain{opacity:1;transform:scale(1)}.phase-exit .brain{opacity:0;transform:scale(1.015)}.brain svg{fill:none;stroke:#fff;stroke-width:6.2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.provider{z-index:1;opacity:0;pointer-events:none;width:clamp(70px,22vw,88px);height:clamp(70px,22vw,88px);position:absolute}.provider img{object-fit:contain;width:100%;height:100%;display:block}.provider i{opacity:0;border-top:1px solid #aaa;width:9px;position:absolute;top:calc(50% - 7px)}.provider i:nth-child(2){width:6px;top:calc(50% + 5px)}.provider-chatgpt{--start-x:clamp(-190px, -37vw, -125px)}.provider-claude{--start-x:clamp(125px, 37vw, 190px)}.provider.waiting{opacity:1;transform:translateX(var(--start-x))}.provider-chatgpt i{left:-13px}.provider-claude i{right:-13px}.provider.entering{animation:.43s cubic-bezier(.24,.76,.22,1) forwards provider-enter}.provider.entering i{animation:.15s ease-out forwards trail-fade}@keyframes provider-enter{0%{opacity:1;transform:translateX(var(--start-x))}62%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(0)}}@keyframes trail-fade{0%{opacity:.55}to{opacity:0}}.phase-exit{animation:splash-exit var(--home-reveal) ease forwards}@keyframes splash-exit{to{opacity:0;filter:blur(9px)}}.reduced{animation:.38s forwards reduced-fade}.reduced .brand-shape{opacity:1;transition:opacity .3s}.reduced .mark-path{transition:none}.reduced .typing-line,.reduced .brain,.reduced .provider{display:none}@keyframes reduced-fade{to{opacity:0}}.update-banner{z-index:90;bottom:calc(76px + env(safe-area-inset-bottom));background:#171717;border:1px solid #8f1d28;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;max-width:480px;margin:auto;padding:12px;font-size:14px;display:flex;position:fixed;left:16px;right:16px}@media (prefers-reduced-motion:reduce){.app-content,.splash,.brand-shape,.mark-path,.typing-line,.brain,.provider,.typing-head{transition-duration:1ms!important;animation-duration:1ms!important}}.brand-shape{transition:opacity .24s,transform .42s cubic-bezier(.22,.7,.3,1);transform:none}.phase-j .brand-shape,.phase-circle .brand-shape{transform:none}.phase-hello .brand-shape{transition-duration:.2s,.42s;transform:scale(.09)}.phase-brain .ready{transition:opacity .32s;transform:translateY(0)}.phase-brain .ready .glyph{transform:translateX(var(--gather-x)) scale(.6);transition:transform .32s,opacity .32s}.brain svg path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .44s}.phase-brain .brain svg path,.phase-ai-wait .brain svg path,.phase-ai-enter .brain svg path,.phase-exit .brain svg path{stroke-dashoffset:0}.provider.waiting{animation:.26s both provider-appear}@keyframes provider-appear{0%{opacity:0;transform:translateX(var(--start-x)) scale(.92)}to{opacity:1;transform:translateX(var(--start-x)) scale(1)}}@media (prefers-reduced-motion:reduce){.phase-brain .ready .glyph{transition:none}}
