:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172e30;background:#f4f7f6;font-synthesis:none;font-size:16px;--green:#0c6863;--ink:#123e3c;--muted:#667b7c}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green);text-underline-offset:4px}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid #c39835;outline-offset:4px}header{height:94px;max-width:1256px;margin:auto;display:flex;align-items:center;padding:0 40px;border-bottom:1px solid #dfe7e4;gap:24px}.brand{font-size:32px;letter-spacing:-1.5px;display:flex;align-items:center;gap:9px;color:#173f3b;text-decoration:none;font-weight:750}.brandmark{display:grid;place-items:center;background:#1c6158;color:#d4f3c8;width:36px;height:38px;border-radius:15px 15px 15px 3px;font-style:italic;font-family:Georgia;font-size:30px}.brand-dot{color:#7d9b62;margin-left:-10px}.header-note{color:#7a8985;font-size:14px;flex:1}.icon-btn{background:#fff;border:1px solid #dce6e1;border-radius:50%;height:42px;width:42px;font-size:23px}main{max-width:1176px;margin:40px auto 120px;padding:0 24px}.page{display:none}.page.active{display:block;animation:appear .25s ease}@keyframes appear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}.greeting{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;margin:0 0 12px;color:#6d8580}h1{font-weight:600;font-size:38px;letter-spacing:-1.4px;margin:0 0 12px}h2{font-weight:600;font-size:23px;letter-spacing:-.6px;margin:0 0 12px}h3{font-size:20px;letter-spacing:-.3px;margin:9px 0}p{line-height:1.65;margin:0 0 15px}.muted{color:var(--muted)}.small{font-size:14px}.date-tag{font-size:14px;border:1px solid #dce5e1;padding:10px 15px;border-radius:22px;color:#617672}.dashboard{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px}.left-col{display:flex;flex-direction:column;gap:20px}.progress-card{background:#153f3b;color:#fff;padding:27px 30px;border-radius:24px;position:relative;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:start;gap:10px}.pill{font-size:11px;letter-spacing:1.4px;background:#28524d;color:#e2f0d8;border-radius:20px;padding:8px 12px}.spark{font-size:27px;color:#cbdfba}.time-display{display:flex;align-items:baseline;gap:15px;margin-top:12px}.time-display strong{font-size:100px;line-height:1.1;font-weight:450;letter-spacing:-6px}.time-display span{font-size:24px;color:#c1d5ce}.clock{font-size:17px;color:#cce1d7;letter-spacing:1px;margin:7px 0 22px}.progress-card p{color:#c4d9cf;font-size:15px;max-width:290px}.next-line{display:flex;justify-content:space-between;font-size:12px;gap:15px;margin-top:28px;color:#dfecdf}progress{width:100%;height:5px;appearance:none;display:block;margin:11px 0 18px;border:0;border-radius:10px;background:#39615a}progress::-webkit-progress-bar{background:#39615a;border-radius:10px}progress::-webkit-progress-value{background:#c6e6a1;border-radius:10px}progress::-moz-progress-bar{background:#c6e6a1}.text-btn{padding:5px 0;font-size:14px;color:#28695c;display:inline-flex;align-items:center;gap:14px}.text-btn.light{color:#bed2c9;font-size:12px}.motivation{background:#e6eee1;padding:24px 28px;border-radius:20px}.motivation .eyebrow{font-size:11px;color:#668267}blockquote{font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1.35;letter-spacing:-.5px;margin:0 0 19px;color:#304e3f}.urge-button{display:flex;align-items:center;text-align:left;gap:16px;background:#fff;border:1px solid #dae4df;border-radius:18px;padding:18px 22px;min-height:86px}.urge-button>span:last-child{margin-left:auto}.urge-button strong,.urge-button small{display:block}.urge-button strong{font-size:16px;font-weight:600}.urge-button small{color:var(--muted);font-size:13px;margin-top:5px}.urge-icon{background:#f0f4eb;color:#527341;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:31px}.body-card{background:#fff;border:1px solid #e0e8e3;border-radius:24px;overflow:hidden;padding:26px 26px 17px}.body-card h2{font-size:22px;margin:0}.body-card .eyebrow{font-size:10px}.badge{font-size:10px;padding:8px;background:#eef3f0;white-space:nowrap;border-radius:6px;color:#6f8980;letter-spacing:1px}.body-stage{height:330px;position:relative;margin:8px -10px;background:radial-gradient(ellipse at 50% 60%,#e0ece5 0%,#f5f8f5 40%,#fff 73%)}#body-canvas{width:100%;height:100%;touch-action:pan-y;cursor:grab}#body-canvas:active{cursor:grabbing}.model-label{position:absolute;left:5px;top:50%;font-size:12px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #bdcfc5;padding:8px;background:#ffffffb0;pointer-events:none}.small-dot{width:5px;height:5px;background:#468775;border-radius:50%}.stage-note{position:absolute;bottom:3px;left:0;right:0;text-align:center;color:#789087;font-size:11px;pointer-events:none}.rotate-reset{position:absolute;right:8px;bottom:4px;width:35px;height:35px;border:1px solid #dbe5df;border-radius:50%;font-size:23px;background:#fff}.organ-tabs{display:flex;gap:7px;border-bottom:1px solid #e8eee9;padding:12px 0 18px}.organ-tabs button{font-size:13px;padding:9px 12px;border:1px solid #dfe8e1;border-radius:20px;color:#60756b}.organ-tabs .selected{background:#22594b;color:#fff;border-color:#22594b}.organ-detail{padding:18px 0 0}.organ-detail .eyebrow{font-size:11px;color:#7e9277;letter-spacing:1px}.organ-detail p{font-size:14px;color:#63786e;line-height:1.65;min-height:46px;margin-bottom:9px}.organ-detail a{font-size:12px}.model-disclaimer{font-size:11px;color:#87978f;margin:14px 0 0;line-height:1.5}.milestone-preview{margin-top:34px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-heading h2{font-size:20px;margin:0}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mini-stage{border:1px solid #dce5df;border-radius:16px;padding:18px;text-align:left;background:#fff}.mini-stage .mini-icon{width:31px;height:31px;background:#edf3e9;border-radius:10px;display:grid;place-items:center;font-size:18px;margin-bottom:14px;color:#5c7d50}.mini-stage b{font-size:15px;display:block;margin-bottom:8px}.mini-stage p{font-size:12px;color:#738477;line-height:1.5;margin:0}.bottom-nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:5px;background:#fffefc;border:1px solid #dbe5de;padding:8px;border-radius:22px;box-shadow:0 8px 35px #153f3b12;z-index:10}.bottom-nav a{display:flex;align-items:center;gap:9px;text-decoration:none;color:#7a8a81;font-size:14px;padding:12px 23px;border-radius:14px}.bottom-nav a span{font-size:23px}.bottom-nav a.active{background:#eaf1e5;color:#25543c}.journey-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;margin-top:30px;align-items:start}.timeline{display:grid;gap:9px}.timeline button{background:#fff;text-align:left;border:1px solid #dee7df;border-radius:15px;padding:17px;display:flex;gap:17px;align-items:center}.timeline button.selected{border-color:#377d65;background:#eaf2e7}.timeline .step-no{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;flex-shrink:0;background:#eef2ec;font-size:13px}.timeline b{display:block;font-size:15px}.timeline small{display:block;color:#74877a;font-size:13px;margin-top:5px}.stage-detail{position:sticky;top:25px;background:#153f3b;color:#e5eddf;border-radius:24px;padding:32px}.stage-detail .eyebrow{color:#b8ccaa}.stage-detail h2{font-size:30px;line-height:1.2}.stage-detail p{color:#d0dfd2}.stage-detail a{color:#d2e6a9;font-size:14px}.stage-detail .advice{border-top:1px solid #477067;margin-top:25px;padding-top:22px}.stage-status{font-size:12px;color:#a8c894;margin-bottom:16px}.support-grid,.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}.white-card{padding:27px;background:#fff;border:1px solid #dfe7e0;border-radius:20px}.white-card p{font-size:15px;color:#64796e}.white-card a{font-size:14px}.support-hero{padding:30px;background:#dfead7;border-radius:22px}.support-hero h2{font-size:34px;max-width:300px}.primary{background:#215c49;color:#fff;padding:14px 19px;border-radius:12px;font-weight:600;min-height:48px}.check-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eef0e9;padding:13px 0;font-size:15px}.check-row input{accent-color:#215c49;width:20px;height:20px}.sources a{display:block;margin-bottom:20px}.sources p{margin-top:25px}dialog{border:1px solid #d4dfd1;border-radius:24px;max-width:460px;width:calc(100% - 32px);padding:34px;color:#234234;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#122d29a6;backdrop-filter:blur(4px)}dialog h2{font-size:28px;margin-top:15px}dialog p{font-size:15px;color:#6c7d71}.close{position:absolute;top:8px;right:13px;font-size:29px;width:40px;height:40px}form label{display:block;font-size:14px;margin:16px 0 8px}form input{width:100%;padding:13px;border:1px solid #cddace;border-radius:10px;min-width:0;background:#fff;color:#173e2c}form .primary{width:100%;margin-top:6px}form .small{margin:15px 0}.breath-circle{background:#e3eddb;border:1px solid #cfdfc3;border-radius:50%;width:185px;height:185px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:30px auto}.breath-circle strong{font-size:44px;font-weight:500}.breath-circle span{font-size:14px}.breath-circle.breathing{animation:breathe 8s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.1);background:#cfe3c4}}#urge-dialog{text-align:center}#urge-dialog .primary{width:100%}#breath-advice{margin-top:18px}#toast{position:fixed;bottom:104px;left:50%;transform:translateX(-50%);background:#173f35;color:#fff;border-radius:12px;padding:13px 21px;font-size:14px;opacity:0;pointer-events:none;z-index:30;max-width:90vw}#toast.visible{opacity:1}@media(min-width:1450px){main{margin-top:48px}.body-stage{height:355px}}@media(max-width:760px){header{height:75px;padding:0 22px}.brand{font-size:29px}.header-note{font-size:12px}.date-tag{display:none}main{margin:27px auto 105px;padding:0 19px}h1{font-size:32px}.greeting{margin-bottom:22px}.greeting .eyebrow{font-size:10px}.greeting .muted{font-size:14px}.dashboard{grid-template-columns:1fr;gap:20px}.left-col{display:contents}.progress-card{grid-row:1;padding:24px}.time-display strong{font-size:85px}.clock{margin-bottom:14px}.progress-card p{max-width:none}.next-line{margin-top:18px}.body-card{grid-row:2;padding:23px 20px 17px}.motivation{grid-row:3}.urge-button{grid-row:4}.body-stage{height:330px}.body-card h2{font-size:21px}.body-card .eyebrow{font-size:9px}.badge{font-size:9px;padding:7px}.organ-tabs{gap:5px}.organ-tabs button{font-size:12px;padding:9px 11px}.preview-grid{grid-template-columns:1fr 1fr}.section-heading{gap:15px;align-items:start}.section-heading h2{font-size:19px}.section-heading .text-btn{font-size:12px;text-align:right;max-width:100px;line-height:1.5}.bottom-nav{bottom:0;left:0;right:0;transform:none;border-radius:18px 18px 0 0;justify-content:space-around;padding:7px 6px calc(7px + env(safe-area-inset-bottom))}.bottom-nav a{flex-direction:column;gap:3px;padding:7px 18px;font-size:11px}.bottom-nav a span{font-size:23px}.journey-layout,.support-grid,.guide-grid{grid-template-columns:1fr}.timeline{grid-template-columns:repeat(2,1fr);gap:8px}.timeline button{padding:12px;gap:8px}.timeline .step-no{width:23px;height:23px;font-size:11px}.timeline b{font-size:13px}.timeline small{font-size:11px}.stage-detail{position:static;grid-row:1;padding:25px}.stage-detail h2{font-size:27px}.stage-detail p{font-size:15px}.model-label{font-size:10px}.model-disclaimer{font-size:11px}.support-hero h2{font-size:29px}#toast{bottom:90px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
.eyebrow,.body-card .eyebrow,.motivation .eyebrow,.greeting .eyebrow,.badge,.pill{font-size:12px}.stage-note,.model-label,.model-disclaimer,.mini-stage p,.timeline small{font-size:12px}.organ-tabs{flex-wrap:wrap}.organ-tabs button,.bottom-nav a,.urge-button small{font-size:14px}.body-card .card-top{flex-wrap:wrap}button[hidden],br[hidden]{display:none}.body-card .organ-detail .text-btn{margin-bottom:10px}
:root{--surface:#fff;--page:#f4f7f6;--text:#172e30;--secondary:#64796e;--line:#dce5df;--soft:#e6eee1;--accent:#215c49;--accent-text:#fff;--panel:#153f3b;--panel-text:#d0dfd2;--stage:#e0ece5;--green:#0c6863}html[data-theme="ocean"]{--surface:#fff;--page:#eef5fa;--text:#183953;--secondary:#516f86;--line:#cbdde9;--soft:#dcecf8;--accent:#166494;--panel:#123d59;--panel-text:#d4e8f5;--stage:#cde5f5;--green:#135c89}html[data-theme="night"]{color-scheme:dark;--surface:#1b282d;--page:#111c22;--text:#e5efed;--secondary:#b0c4c1;--line:#35474c;--soft:#283d40;--accent:#b1d5bd;--accent-text:#18372d;--panel:#213e3d;--panel-text:#cfe2d9;--stage:#294946;--green:#b1d5bd}
body{background:var(--page);color:var(--text)}.white-card,.body-card,.mini-stage,.urge-button,.bottom-nav,.icon-btn,.timeline button,dialog,form input,select,.rotate-reset{background:var(--surface);color:var(--text);border-color:var(--line)}.muted,.header-note,.date-tag,.white-card p,.organ-detail p,.mini-stage p,.timeline small,.urge-button small,dialog p,.model-disclaimer,.stage-note,.model-label,.eyebrow{color:var(--secondary)}.brand,.text-btn,a,.organ-detail a{color:var(--green)}.progress-card,.stage-detail{background:var(--panel)}.progress-card p,.stage-detail p{color:var(--panel-text)}.primary,.organ-tabs .selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.motivation,.support-hero,.bottom-nav a.active,.timeline button.selected,.mini-stage .mini-icon,.urge-icon,.breath-circle,.badge{background:var(--soft);color:var(--text)}blockquote{color:var(--text)}.organ-tabs,.check-row,header{border-color:var(--line)}.organ-tabs button{color:var(--secondary);border-color:var(--line)}.body-stage{height:400px;background:radial-gradient(ellipse at 50% 55%,var(--stage),var(--surface) 75%);border-radius:18px}.model-label{background:var(--surface);max-width:145px;font-size:12px;left:9px;top:15px;border:1px solid var(--line);border-radius:9px}.bottom-nav a{color:var(--secondary)}.stage-note{bottom:9px}.model-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.model-period label{font-size:14px;white-space:nowrap}select{font:inherit;font-size:14px;padding:11px;border:1px solid var(--line);border-radius:10px;min-width:0}.model-period select{max-width:200px}.model-tools,.compare-tools{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.model-tools button,.compare-tools button{border:1px solid var(--line);border-radius:9px;padding:9px 10px;font-size:13px;background:var(--surface);color:var(--text)}.model-tools button.selected,.compare-tools button.selected{background:var(--soft);border-color:var(--accent)}.visual-note{font-size:13px;color:var(--secondary);padding:12px;background:var(--soft);border-radius:10px;line-height:1.6}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-switch{display:flex;gap:12px;align-items:center}.profile-switch select{flex:1;width:50%}#theme-select{width:100%}#setup-dialog{max-width:540px;max-height:90dvh;overflow:auto}#profile-avatar{font-size:14px;font-weight:650}.about-letter{max-width:760px;margin:30px auto;padding:44px;background:var(--surface);border:1px solid var(--line);border-radius:24px}.about-letter p{font-size:17px;line-height:1.9;margin-bottom:24px}.about-letter .letter-hello{font-family:Georgia,serif;font-size:32px}.author-mark{background:var(--soft);color:var(--green);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin-bottom:30px;font-family:Georgia;font-size:22px}.signature{margin-top:34px}.signature strong{font-family:Georgia,serif;font-size:24px;font-weight:400}.letter-date{font-size:13px!important;color:var(--secondary)}.model-explain{display:grid;gap:12px;margin-top:14px}.model-explain > div{border-left:2px solid var(--accent);padding-left:12px}.model-explain b{font-size:13px}.model-explain p{font-size:14px;margin:5px 0;color:var(--secondary)}.detail-sources{font-size:12px}.bottom-nav{max-width:calc(100vw - 20px)}@media(max-width:760px){.bottom-nav{max-width:none}.bottom-nav a{min-width:0;flex:1;padding:8px 2px;font-size:12px}.body-stage{height:365px}.about-letter{padding:25px}.about-letter p{font-size:16px}.model-tools button,.compare-tools button{font-size:12px;padding:9px}.name-fields{grid-template-columns:1fr}.model-period label{font-size:13px}dialog{padding:28px 23px}.header-note{max-width:160px}}

.risk-card{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.risk-card h4{margin:0 0 8px;font-size:16px}.risk-row{display:grid;grid-template-columns:minmax(100px,1.2fr) minmax(80px,1fr) 28px;align-items:center;gap:12px;margin:15px 0;font-size:12px}.risk-track{height:12px;border-radius:20px;background:color-mix(in srgb,currentColor 12%,transparent);overflow:hidden}.risk-track i{display:block;height:100%;border-radius:20px;background:#438f77;transition:width .5s}.risk-row:first-of-type .risk-track i{background:#9b827d}@media(prefers-reduced-motion:reduce){.risk-track i{transition:none}}
