:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f0f2e8;background:#101711;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#101711;--panel:#19221b;--line:rgba(219,237,212,.11);--muted:#aab7aa;--green:#b8e49b;--deep:#203a29;--radius:22px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 12% 0%,rgba(83,125,73,.15),transparent 35%),var(--bg);min-height:100vh}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:var(--green)}.topbar{height:76px;max-width:1080px;padding:0 24px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#f3f4ed;font-size:21px;font-weight:750;letter-spacing:-.8px}.brand-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#284531;color:var(--green);font-size:23px}.period{color:var(--green)}.status-pill{font-size:11px;border:1px solid var(--line);color:var(--muted);padding:8px 11px;border-radius:100px;display:flex;align-items:center;gap:7px}.status-pill i{width:7px;height:7px;border-radius:100%;background:#8d9b8b}.status-pill i.online{background:#b8e49b;box-shadow:0 0 12px #b8e49b88}.status-pill i.pulse{background:#f1ca70;animation:pulse 1.1s infinite}main{max-width:800px;margin:auto;padding:30px 24px 110px}.view{display:none;animation:fadeIn .24s ease}.view.active{display:block}.hero{padding:30px 0 35px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:var(--green)}h1{font-size:clamp(34px,7vw,54px);letter-spacing:-2.2px;line-height:1.07;margin:17px 0 14px;font-weight:760}h1 em{font-style:normal;color:var(--green)}.hero>p,.page-intro>p{max-width:560px;color:var(--muted);line-height:1.7;font-size:15px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.hero-tags span{font-size:11px;border:1px solid var(--line);padding:8px 11px;border-radius:100px;color:#d0d9ce}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:12px 0 16px}.section-heading h2{font-size:22px;letter-spacing:-.7px;margin:7px 0 0}.tiny-label{font-size:10px;letter-spacing:.5px;color:var(--muted);white-space:nowrap}.card{background:linear-gradient(145deg,#1c271ef5,#161e17f5);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 12px 38px #00000012}.planner{display:grid;gap:17px}label{display:grid;gap:9px;font-size:12px;color:#dce5d8;font-weight:650}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:13px}select,textarea{width:100%;background:#111a13;color:#f1f3e9;border:1px solid var(--line);border-radius:13px;padding:13px 12px;min-height:47px}select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}textarea{resize:vertical;line-height:1.6}.focus-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:-7px}.focus{background:#111a13;border:1px solid var(--line);color:#d9e2d6;border-radius:13px;min-height:69px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:19px;transition:background .18s,border-color .18s,transform .18s}.focus span{font-size:10px}.focus:hover{transform:translateY(-2px)}.focus.selected{background:#2a4430;border-color:#88b774;color:var(--green)}.primary,.secondary{border:0;border-radius:14px;padding:14px 17px;min-height:48px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:transform .18s,filter .18s}.primary{background:var(--green);color:#18251a}.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary:disabled{opacity:.65;cursor:wait;transform:none}.primary.full{width:100%}.secondary{background:#26362a;color:#e9f0e5;border:1px solid var(--line)}.secondary:hover{background:#314734}.microcopy{margin:0;text-align:center;color:#899789;font-size:10px;line-height:1.6}.hidden{display:none!important}.mission-area{margin-top:22px;scroll-margin-top:20px}.mission-card{padding:25px}.mission-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.mission-card h2{font-size:27px;letter-spacing:-1px;margin:14px 0 8px}.muted{color:var(--muted);font-size:12px;line-height:1.7}.mission-steps{display:grid;gap:0;margin:26px 0}.step{display:grid;grid-template-columns:35px 1fr;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.step>span{color:var(--green);font-size:12px;font-weight:800;padding-top:2px}.step b{font-size:13px}.step p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.source-note{font-size:10px;color:#9caf99;padding:12px 0 19px}.timer-panel{border-radius:18px;background:#101811;border:1px solid var(--line);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.timer-display{font-size:36px;font-weight:760;letter-spacing:-1.3px;margin-top:5px;font-variant-numeric:tabular-nums}.timer-display.running{color:var(--green)}.timer-panel p{margin:4px 0 0}.timer-actions{display:flex;flex-direction:column;gap:8px}.reflection{margin-top:18px;display:grid;gap:13px}.page-intro{padding:25px 0 24px}.page-intro h1{font-size:clamp(34px,7vw,47px);margin-top:12px}.page-intro>p{font-size:13px}.journal-entry{margin-bottom:12px;padding:19px}.entry-meta,.entry-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:10px}.entry-meta span:last-child{color:var(--green)}.journal-entry h2{font-size:19px;letter-spacing:-.4px;margin:15px 0 8px}.journal-entry>p{font-size:13px;line-height:1.7;color:#d8e1d5}.entry-foot{border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.entry-foot span{color:var(--green)}.delete-entry{background:transparent;border:0;color:#d4a2a2;font-size:11px}.empty{text-align:center;padding:35px 24px}.empty>span{font-size:28px;color:var(--green)}.empty h2{font-size:20px}.empty p{color:var(--muted);font-size:12px;line-height:1.7}.export-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.import-label{cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{padding:17px}.stat span{display:block;color:var(--muted);font-size:10px;line-height:1.5}.stat strong{display:block;font-size:30px;letter-spacing:-1px;margin-top:9px}.stat small{font-size:11px;font-weight:500;color:var(--muted)}.chart-card{margin-top:14px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.card h2,.card-title h2{font-size:17px;letter-spacing:-.4px;margin:0 0 8px}.week-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:170px;padding-top:20px}.bar-col{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px;min-width:0}.bar-value,.bar-label{font-size:10px;color:var(--muted)}.bar-track{height:100px;width:min(25px,80%);display:flex;align-items:end;background:#111a13;border-radius:8px;overflow:hidden}.bar{width:100%;background:linear-gradient(180deg,#b8e49b,#6f9e61);border-radius:8px 8px 3px 3px;min-height:0;transition:height .3s ease}.settings-card{margin-bottom:13px}.setting-line{display:flex;justify-content:space-between;gap:12px;align-items:start}.setting-line h2{margin:0 0 5px}.setting-line p{margin:0 0 14px}.setting-icon{font-size:22px;color:var(--green)}.progress-track{height:5px;background:#0c130e;border-radius:10px;overflow:hidden;margin:15px 0}.progress-fill{height:100%;width:0;background:var(--green);transition:width .2s}.settings-card>.primary{margin-top:6px}.settings-card>p{font-size:12px;line-height:1.7}.privacy-list{padding-left:18px;color:var(--muted);font-size:12px;line-height:1.9}.credit{margin-top:15px}.model-log{font-size:10px;color:#9eae9b;line-height:1.6;overflow-wrap:anywhere;margin-top:10px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:clamp(8px,4vw,42px);padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#101711eb;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-item{min-width:62px;background:transparent;border:0;color:#899789;display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 10px;border-radius:13px}.nav-item span{font-size:19px;line-height:1.1}.nav-item small{font-size:10px}.nav-item.active{color:var(--green);background:#25382a}.toast{position:fixed;z-index:30;left:50%;bottom:95px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#d8edc9;color:#18251a;padding:12px 16px;border-radius:13px;font-size:12px;font-weight:700;box-shadow:0 10px 30px #0004;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px)}.toast.show{opacity:1;transform:translate(-50%)}.spinner{width:14px;height:14px;border:2px solid #18251a55;border-top-color:#18251a;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.35}}@media(min-width:900px){main{padding-top:45px}.hero{padding-top:35px}.planner{padding:27px}.topbar{padding:0 28px}}@media(max-width:560px){.topbar{height:66px;padding:0 17px}.brand{font-size:19px}.status-pill{font-size:9px;padding:7px 9px}main{padding:20px 15px 105px}.hero{padding:20px 0 28px}h1{letter-spacing:-1.5px}.section-heading h2{font-size:19px}.tiny-label{font-size:9px}.card{padding:17px;border-radius:18px}.focus-grid{grid-template-columns:repeat(3,1fr)}.focus{min-height:63px}.focus span{font-size:10px}.two-col{gap:9px}.timer-panel{align-items:start;flex-direction:column}.timer-actions{width:100%;flex-direction:row}.timer-actions button{flex:1}.stats-grid{gap:7px}.stat{padding:13px}.stat strong{font-size:25px}.stat span{font-size:9px}.page-intro{padding-top:20px}.bottom-nav{gap:clamp(2px,2vw,12px)}.nav-item{min-width:59px;padding:6px 8px}.mission-card h2{font-size:24px}.export-row>*{flex:1}.week-chart{gap:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
