:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,system-ui,sans-serif;color:#f8fafc;background:#020617;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #38bdf8;outline-offset:2px}html[data-theme=light]{color:#0f172a;background:#f1f5f9}html[data-theme=light] .app-frame{--bg:#f1f5f9;--surface:#fff;--surface-2:#e8eef7;--text:#0f172a;--muted:#53657d;--border:#cbd5e1;--shadow:0 16px 45px rgba(15,23,42,.11)}.app-frame{--bg:#020617;--surface:#0f172a;--surface-2:#17243a;--text:#f8fafc;--muted:#a5b4c8;--border:#2e405d;--positive:#4ade80;--negative:#fb7185;--blue:#38bdf8;--shadow:0 18px 46px rgba(0,0,0,.28);width:100%;min-height:100dvh;background:radial-gradient(circle at 76% -6%,rgba(37,99,235,.16),transparent 32%),var(--bg);color:var(--text)}.app-main{width:min(100%,720px);margin:0 auto;padding:calc(22px + env(safe-area-inset-top)) 18px calc(132px + env(safe-area-inset-bottom))}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.screen-header h1{margin:3px 0 0;font-size:28px;letter-spacing:-.04em;line-height:1.1}.brand,.eyebrow{margin:0;color:var(--muted);letter-spacing:.1em;font-size:11px;text-transform:uppercase;font-weight:700}.overview-header{margin-bottom:28px}.icon-button,.compact-add{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:13px;transition:background .2s ease,transform .2s ease}.compact-add{padding:0 12px;font-size:13px;font-weight:700}.icon-button:active,.compact-add:active,.primary-button:active,.nav-add:active{transform:scale(.97)}.hero-metric{margin-bottom:20px}.hero-metric>span,.stat-hero>span{display:block;color:var(--muted);font-weight:500;font-size:14px}.hero-metric strong,.stat-hero strong{display:block;margin-top:5px;font-size:42px;letter-spacing:-.055em;font-variant-numeric:tabular-nums;line-height:1.05}.hero-metric p,.stat-hero p{margin:9px 0 0;color:var(--muted);display:flex;align-items:center;gap:5px;font-size:13px}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.positive-bg{background:var(--positive)!important}.negative-bg{background:var(--negative)!important}.range-tabs,.type-filter,.segmented{display:grid;grid-template-columns:repeat(4,1fr);padding:3px;gap:3px;background:#17243ab3;border:1px solid var(--border);border-radius:12px}.range-tabs button,.type-filter button,.segmented button{color:var(--muted);background:transparent;border:0;min-height:38px;border-radius:9px;font-weight:600;font-size:13px}.range-tabs .active,.type-filter .active,.segmented .active{color:var(--text);background:#294264;box-shadow:inset 0 0 0 1px #7dd3fc2e}.section-block{margin-top:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 1px 12px;gap:12px}.section-heading h2,.settings-group h2,.privacy-card h2{margin:0;font-size:16px;letter-spacing:-.02em}.section-heading>span{font-size:12px;color:var(--muted)}.text-button{display:inline-flex;align-items:center;color:var(--blue);background:transparent;border:0;font-weight:600;padding:8px 0}.chart-card{position:relative;min-height:162px;padding:18px 12px 9px 74px;background:linear-gradient(145deg,#1e293bf0,#0f172abf);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.chart-grid{position:absolute;inset:19px auto 14px 13px;display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.chart-card svg{width:100%;height:132px;display:block}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.metric-card,.insight{padding:14px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.metric-card span{display:block;color:var(--muted);font-size:11px;line-height:1.15}.metric-card strong{display:block;font-size:15px;margin-top:8px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.recent-block{margin-bottom:22px}.session-row{display:flex;align-items:center;gap:10px;padding:13px 2px;border-top:1px solid var(--border)}.session-row:first-of-type{border-top:0}.session-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;color:var(--blue);border:1px solid var(--border);border-radius:11px;background:var(--surface)}.session-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.session-main strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-main span,.session-result span{font-size:12px;color:var(--muted)}.session-result{text-align:right;display:flex;flex-direction:column;gap:3px;font-variant-numeric:tabular-nums}.session-result strong{font-size:14px}.primary-button{min-height:48px;border:0;border-radius:13px;background:#22c55e;color:#052e16;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;font-weight:800;box-shadow:0 8px 20px #22c55e2e;transition:filter .2s ease,transform .2s ease}.primary-button:hover{filter:brightness(1.06)}.overview-add{width:100%}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 70px 1fr 1fr;align-items:end;min-height:78px;padding:9px max(14px,calc((100vw - 720px)/2 + 14px)) calc(9px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 90%,transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-item{display:flex;min-width:0;min-height:51px;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;background:transparent;color:var(--muted);font-size:10px}.nav-item.active{color:var(--positive)}.nav-add{align-self:center;width:56px;height:56px;border-radius:50%;border:2px solid var(--positive);background:var(--surface);color:var(--positive);display:grid;place-items:center;box-shadow:0 6px 22px #00000047}.ad-slot{display:flex;gap:8px;align-items:baseline;position:fixed;z-index:10;bottom:87px;left:50%;transform:translate(-50%);width:min(calc(100% - 36px),684px);min-height:36px;padding:9px 12px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:11px}.ad-slot span{text-transform:uppercase;letter-spacing:.08em;font-size:9px;color:var(--blue);font-weight:700}.ad-slot p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-field{display:flex;align-items:center;gap:8px;height:46px;padding:0 13px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--muted)}.search-field input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:16px}.type-filter{grid-template-columns:repeat(3,1fr);margin-top:12px}.session-list{margin-top:22px}.row-delete{display:grid;place-items:center;width:44px;height:44px;margin-left:4px;color:var(--muted);background:transparent;border:0;border-radius:10px}.row-delete:hover{color:var(--negative);background:color-mix(in srgb,var(--negative) 10%,transparent)}.empty-state{margin-top:60px;padding:28px 20px;text-align:center;border:1px dashed var(--border);border-radius:16px}.empty-state h2{font-size:18px}.empty-state p{color:var(--muted);line-height:1.55}.empty-state .primary-button{margin-top:18px}.stat-hero{padding:21px;background:linear-gradient(135deg,#14233a,#0f172a);border:1px solid var(--border);border-radius:17px}.stat-hero strong{font-size:35px}.bar-chart{display:flex;align-items:end;gap:14px;height:188px;padding:12px 6px 0;background:var(--surface);border:1px solid var(--border);border-radius:16px}.bar-column{display:flex;min-width:0;flex:1;height:100%;flex-direction:column;gap:8px;align-items:center}.bar-track{display:flex;align-items:end;height:100%;width:100%;max-width:34px;background:color-mix(in srgb,var(--border) 35%,transparent);border-radius:8px 8px 3px 3px;overflow:hidden}.bar{width:100%;border-radius:7px 7px 2px 2px}.bar-column>span{font-size:11px;color:var(--muted)}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.insight{min-height:115px}.insight span{color:var(--blue)}.insight p{color:var(--muted);font-size:11px;line-height:1.2;margin:10px 0 7px}.insight strong{font-size:15px;font-variant-numeric:tabular-nums}.comparison{margin:13px 0}.comparison>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:13px}.comparison>div:first-child span{color:var(--muted)}.comparison>div:first-child strong{font-variant-numeric:tabular-nums}.comparison-track{height:9px;background:var(--surface-2);border-radius:9px;overflow:hidden}.comparison-track span{display:block;height:100%;border-radius:inherit}.settings-group{margin:0 0 27px}.settings-group>h2{margin-bottom:10px}.setting-row,.select-row,.setting-action{display:flex;align-items:center;justify-content:space-between;min-height:55px;padding:10px 13px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.setting-row{border-radius:14px}.setting-row>div{display:flex;flex-direction:column;gap:2px}.setting-row span{font-size:12px;color:var(--muted)}.theme-switch{display:flex;align-items:center;gap:8px;padding:5px;border:0;border-radius:12px;background:var(--surface-2);color:var(--blue)}.switch-dot{width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .2s ease}.switch-dot.on{transform:translate(-25px);background:var(--positive);box-shadow:25px 0 var(--surface-2)}.select-row{position:relative;border-radius:0}.select-row:first-of-type{border-radius:14px 14px 0 0}.select-row:last-of-type{border-radius:0 0 14px 14px}.select-row select{position:absolute;inset:0;opacity:0;cursor:pointer}.setting-action{gap:10px;width:100%;justify-content:flex-start;border-radius:0;font-weight:600}.setting-action:first-of-type{border-radius:14px 14px 0 0}.setting-action:last-of-type{border-radius:0 0 14px 14px}.destructive{color:var(--negative)}.privacy-card{display:flex;gap:12px;padding:17px;border:1px solid color-mix(in srgb,var(--blue) 32%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.privacy-card>svg{flex:0 0 auto;color:var(--blue)}.privacy-card p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.sheet-overlay{position:fixed;z-index:50;inset:0;display:flex;align-items:end;justify-content:center;padding:0;background:#0206179e;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.sheet{width:min(100%,720px);max-height:min(92dvh,850px);overflow:auto;padding:22px 18px calc(26px + env(safe-area-inset-bottom));background:var(--bg);border:1px solid var(--border);border-radius:24px 24px 0 0;box-shadow:0 -16px 50px #00000057;animation:sheet-in .22s ease-out}.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.sheet-header h2{margin:4px 0 0;font-size:24px}.segmented{grid-template-columns:1fr 1fr}.form-help{margin:12px 2px 15px;color:var(--muted);font-size:12px}.form-card{overflow:hidden;margin:12px 0;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.split-card{display:grid;grid-template-columns:1fr 1fr}.form-field{display:flex;min-width:0;min-height:68px;padding:10px 13px;flex-direction:column;gap:7px;border-bottom:1px solid var(--border)}.form-card .form-field:last-child,.split-card .form-field:nth-last-child(-n+2){border-bottom:0}.split-card .form-field:nth-child(odd){border-right:1px solid var(--border)}.form-field>span{font-size:11px;color:var(--muted);font-weight:600}.form-field em{color:var(--negative);font-style:normal}.input-wrap{position:relative;display:flex;align-items:center;gap:8px}.input-wrap input,.input-wrap select,.input-wrap textarea{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--text);font-size:16px}.input-wrap select{appearance:none}.input-wrap textarea{resize:vertical}.input-wrap svg{flex:0 0 auto;color:var(--muted)}.form-field.has-error{background:color-mix(in srgb,var(--negative) 8%,var(--surface))}.form-field small{color:var(--negative);font-size:11px}.calculation{display:flex;align-items:center;justify-content:space-between;margin:16px 0;padding:16px;border:1px solid color-mix(in srgb,var(--positive) 36%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--positive) 7%,var(--surface))}.calculation span{font-weight:700}.calculation p{margin:3px 0 0;color:var(--muted);font-size:12px}.calculation strong{font-size:25px;font-variant-numeric:tabular-nums}.save-button{width:100%}.toast{position:fixed;z-index:100;bottom:112px;left:50%;transform:translate(-50%);max-width:calc(100% - 40px);padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);font-size:14px;animation:toast-in .2s ease-out}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media(min-width:760px){.app-main{padding-inline:28px}.bottom-nav{left:50%;right:auto;transform:translate(-50%);width:min(100%,720px);border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:18px 18px 0 0}.ad-slot{bottom:88px}.sheet-overlay{align-items:center;padding:24px}.sheet{border-radius:24px;max-width:620px}.summary-grid{gap:12px}.metric-card{padding:16px}.hero-metric strong{font-size:50px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html,body,#root{height:100%;overflow:hidden}.app-frame{position:fixed;inset:0;width:100%;height:100%;min-height:0;overflow:hidden}.app-main{position:absolute;inset:0;width:100%;height:auto;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-bottom:calc(176px + env(safe-area-inset-bottom))}.ad-slot{display:none!important}.app-icon{align-items:center;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Symbol,sans-serif;font-size:var(--icon-size, 18px);font-style:normal;font-weight:700;height:1em;justify-content:center;line-height:1;vertical-align:-.08em;width:1em}.session-icon .app-icon,.discipline-icon .app-icon,.privacy-card>.app-icon,.data-note>.app-icon{color:inherit}.start-session{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:-8px 0 18px;border:1px solid color-mix(in srgb,var(--positive) 45%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--positive) 8%,var(--surface));color:var(--positive);font-weight:700}.live-card{margin:-6px 0 21px;padding:16px;border:1px solid color-mix(in srgb,var(--positive) 42%,var(--border));border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--positive) 10%,var(--surface)),var(--surface));box-shadow:var(--shadow)}.live-top{display:flex;justify-content:space-between;gap:12px}.live-label{display:flex;align-items:center;gap:6px;margin:0;color:var(--positive);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.live-label span{width:7px;height:7px;border-radius:50%;background:var(--positive)}.live-top h2{margin:6px 0 2px;font-size:18px}.live-top p:not(.live-label){margin:0;color:var(--muted);font-size:12px}.live-time{display:flex;align-items:center;gap:5px;color:var(--text);font-variant-numeric:tabular-nums}.live-time strong{font-size:15px}.live-invested{display:flex;justify-content:space-between;margin:15px 0 13px;padding-top:13px;border-top:1px solid var(--border)}.live-invested span{color:var(--muted);font-size:12px}.live-invested strong{font-variant-numeric:tabular-nums}.live-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.live-actions button{min-height:42px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:700}.live-actions .finish-live{grid-column:1 / -1;color:#052e16;background:var(--positive);border-color:var(--positive)}.live-sheet{max-width:520px}.list-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.list-controls label{position:relative;display:flex;align-items:center;gap:6px;min-width:0;height:42px;padding:0 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--muted)}.list-controls select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:12px;appearance:none}.row-actions{display:flex;align-items:center}.row-edit{display:grid;place-items:center;width:40px;height:44px;margin-left:3px;border:0;border-radius:10px;background:transparent;color:var(--blue)}.toast{display:flex;align-items:center;gap:10px}.toast button{border:0;border-radius:8px;background:color-mix(in srgb,var(--positive) 18%,var(--surface));color:var(--positive);padding:6px 9px;font-weight:700}.buyin-sheet{max-width:440px}.standalone-field{margin:0 0 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.standalone-field .input-wrap input{min-height:30px}.row-edit:active,.live-actions button:active,.start-session:active{transform:scale(.97)}.setting-link{text-decoration:none}.setting-link:hover{background:var(--surface-2)}.boot-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text)}.boot-screen strong{font-size:22px;letter-spacing:.04em}.boot-screen span{color:var(--muted);font-size:14px}body{overflow-x:hidden}.app-frame,.app-main,.app-main>*{min-width:0;max-width:100%}.app-main{padding-top:max(54px,calc(22px + env(safe-area-inset-top)))}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{min-width:0;overflow:hidden}.metric-card strong{white-space:nowrap;font-size:clamp(12px,4vw,15px)}@media(max-width:430px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.discipline-hero,.discipline-stat-hero{display:grid;gap:14px;padding:17px;border:1px solid color-mix(in srgb,var(--positive) 38%,var(--border));border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--positive) 9%,var(--surface)),var(--surface));box-shadow:var(--shadow)}.discipline-hero{grid-template-columns:1fr 1.1fr;margin-bottom:15px}.discipline-hero>div>span,.discipline-stat-hero span,.discipline-rate-card p,.mood-list span,.background-data-row span{display:block;color:var(--muted);font-size:11px;line-height:1.25}.discipline-hero>div>strong{display:block;margin-top:4px;font-size:34px;line-height:1}.discipline-hero>div>p,.discipline-stat-hero p{margin:5px 0 0;color:var(--muted);font-size:12px}.discipline-hero-progress{display:flex;flex-direction:column;justify-content:center;gap:10px}.discipline-hero-progress>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.discipline-hero-progress span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.discipline-hero-progress strong{font-size:14px;font-variant-numeric:tabular-nums}.data-note,.discipline-disclaimer{display:flex;align-items:flex-start;gap:7px;margin:10px 2px;color:var(--muted);font-size:12px;line-height:1.45}.data-note svg{flex:0 0 auto;color:var(--blue)}.live-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-2px 0 13px}.live-plan-grid>div{min-width:0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 46%,transparent)}.live-plan-grid span{display:block;color:var(--muted);font-size:10px}.live-plan-grid strong{display:block;overflow:hidden;margin-top:4px;font-size:11px;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.plan-form-section,.reflection-section{margin-top:18px}.plan-section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 9px}.plan-section-heading h3{margin:0;font-size:15px;letter-spacing:-.01em}.plan-section-heading p{margin:2px 0 0;color:var(--muted);font-size:11px}.form-error{margin:8px 2px;color:var(--negative);font-size:12px}.reflection-card{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.reflection-field{padding:13px;border-bottom:1px solid var(--border)}.reflection-field:last-child{border-bottom:0}.reflection-field>span{display:block;margin-bottom:9px;color:var(--muted);font-size:11px;font-weight:600}.rating-row,.choice-row{display:flex;flex-wrap:wrap;gap:7px}.rating-row button,.choice-row button{min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:650}.rating-row button{width:34px;padding:0}.rating-row button.selected,.choice-row button.selected{border-color:color-mix(in srgb,var(--positive) 60%,var(--border));background:color-mix(in srgb,var(--positive) 16%,var(--surface));color:var(--positive)}.discipline-tabs{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.discipline-stat-hero{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:15px}.discipline-stat-hero>div{min-width:0}.discipline-stat-hero strong{display:block;margin-top:5px;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.discipline-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.discipline-rate-card{min-width:0;min-height:119px;padding:14px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.discipline-icon{display:inline-flex;color:var(--blue)}.discipline-rate-card p{margin:10px 0 7px}.discipline-rate-card strong{display:block;font-size:19px;font-variant-numeric:tabular-nums}.mood-list{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.mood-list>div{display:flex;align-items:center;justify-content:space-between;min-height:43px;padding:0 13px;border-bottom:1px solid var(--border)}.mood-list>div:last-child{border-bottom:0}.mood-list strong{font-size:15px;font-variant-numeric:tabular-nums}.muted-copy{margin:4px 2px;color:var(--muted);font-size:13px}.background-data{margin-bottom:8px}.background-data .section-heading span{max-width:160px;text-align:right;line-height:1.3}.background-data-row{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.background-data-row>div{min-width:0;padding:14px;border-right:1px solid var(--border)}.background-data-row>div:last-child{border-right:0}.background-data-row strong{display:block;margin-top:7px;overflow:hidden;font-size:16px;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.plan-status{display:inline-flex;align-self:flex-start;margin-top:2px;padding:2px 6px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:9px;line-height:1.2}.plan-status.kept{border-color:color-mix(in srgb,var(--positive) 55%,var(--border));color:var(--positive)}.plan-status.review{border-color:color-mix(in srgb,var(--negative) 45%,var(--border));color:var(--negative)}@media(max-width:380px){.discipline-hero{grid-template-columns:1fr}.discipline-hero-progress{display:grid;grid-template-columns:1fr 1fr}.discipline-hero-progress>div{align-items:flex-start;flex-direction:column;gap:3px}.live-plan-grid{grid-template-columns:1fr}.discipline-stat-hero strong{font-size:24px}}html[data-theme=light] .app-frame{--positive:#15803d;--negative:#be123c;--blue:#0369a1;--surface-3:#cfe1ff;--segmented-bg:#e2eaf5;--chart-start:#f9fbff;--chart-end:#e8f1fb;--stat-start:#f8fbff;--stat-end:#e7f1ff}html[data-theme=light] .range-tabs,html[data-theme=light] .type-filter,html[data-theme=light] .segmented{background:var(--segmented-bg)}html[data-theme=light] .range-tabs .active,html[data-theme=light] .type-filter .active,html[data-theme=light] .segmented .active{color:#12345c;background:var(--surface-3);box-shadow:inset 0 0 0 1px #2563eb38}html[data-theme=light] .chart-card{background:linear-gradient(145deg,var(--chart-start),var(--chart-end))}html[data-theme=light] .stat-hero{background:linear-gradient(135deg,var(--stat-start),var(--stat-end))}html[data-theme=light] .nav-add{box-shadow:0 6px 22px #0f172a29}.save-status{font-size:11px;color:var(--muted);margin-bottom:16px;overflow-wrap:anywhere}.currency-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;color:var(--muted);font-size:13px}.currency-control select{min-height:44px;min-width:100px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.recovery-row,.import-choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 0;line-height:1.5}.sheet p{overflow-wrap:anywhere}.boot-screen p{max-width:32em;padding-inline:24px;line-height:1.6}.boot-screen>button{min-height:44px;padding:10px 22px;border-radius:10px;color:var(--text);background:var(--surface);border:1px solid var(--border)}.session-result>span{font-size:10px!important}.currency-control~.data-note{line-height:1.5}.app-frame{font-family:-apple-system,BlinkMacSystemFont,PingFang TC,PingFang SC,Microsoft JhengHei,Microsoft YaHei,Segoe UI,sans-serif;font-size:16px;font-weight:500;line-height:1.5;--muted:#b5c1d3}html[data-theme=light] .app-frame{--muted:#475569}.app-frame .app-main{width:min(100%,760px);padding-bottom:calc(112px + env(safe-area-inset-bottom));scroll-padding-top:24px}.bottom-nav{left:50%;right:auto;transform:translate(-50%);width:min(100%,760px);padding:8px 12px calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr)) 76px repeat(2,minmax(0,1fr));align-items:center}.nav-item{font-size:12px;gap:5px;min-height:56px;line-height:1.2}.nav-item span{white-space:normal;overflow-wrap:normal;text-align:center}.nav-add{height:64px;width:64px;display:flex;flex-direction:column;gap:1px;justify-content:center;justify-self:center}.nav-add span{font-size:10px;font-weight:700}svg.lucide{flex-shrink:0;vertical-align:middle}.save-status{font-size:12px;line-height:1.5}.save-status[role=alert]{color:var(--negative);padding:12px;border:1px solid currentColor;border-radius:12px}.data-note,.form-help,.muted-copy,.privacy-card p{font-size:13px;line-height:1.6}.currency-control{font-size:14px}.screen-header h1{font-size:28px}.metric-card span,.discipline-rate-card p,.form-field>span{font-size:13px}.welcome-card{padding:24px 20px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(140deg,color-mix(in srgb,var(--positive) 7%,var(--surface)),var(--surface))}.welcome-badge{font-size:12px;color:var(--positive);font-weight:700}.welcome-card h2{text-wrap:balance;font-size:27px;line-height:1.3;letter-spacing:-.03em;margin:12px 0}.welcome-card>p{font-size:14px;line-height:1.65;color:var(--muted)}.entry-actions{display:grid;gap:12px;margin:22px 0}.entry-card{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:18px 16px;min-height:92px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text)}.entry-card strong,.entry-card small{display:block}.entry-card strong{font-size:17px}.entry-card small{font-size:13px;line-height:1.5;margin-top:6px;color:var(--muted)}.entry-card>svg{color:var(--positive)}.primary-entry{border-color:var(--positive);background:color-mix(in srgb,var(--positive) 8%,var(--surface))}.entry-card:active{transform:scale(.99)}.welcome-steps{padding-left:24px;margin:20px 0;font-size:14px;line-height:1.65;color:var(--muted)}.welcome-steps li{padding-left:4px;margin:10px 0}.privacy-hint{border-top:1px solid var(--border);padding-top:16px}.privacy-hint svg{margin-right:6px}.entry-sheet{max-width:520px}.guided-empty,.backup-banner,.plain-summary{border:1px solid var(--border);border-radius:16px;padding:18px;margin:18px 0;background:var(--surface)}.guided-empty h2,.backup-banner h2{font-size:18px;margin:0 0 10px}.guided-empty p,.backup-banner p,.plain-summary p{font-size:14px;line-height:1.65;margin:8px 0;color:var(--muted)}.guided-empty .primary-button{margin-top:12px}.plain-summary p{color:var(--text)}.empty-range{padding:24px 18px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);font-size:14px;line-height:1.5}.metric-help{padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.metric-help summary,.form-disclosure summary,.danger-zone summary{cursor:pointer;min-height:48px;display:list-item;align-content:center;padding:12px 4px;font-size:14px;font-weight:650}.metric-help p{font-size:14px;line-height:1.65;color:var(--muted)}.danger-zone{margin-top:28px;padding:0 14px;border:1px solid color-mix(in srgb,var(--negative) 45%,var(--border));border-radius:12px;color:var(--negative)}.danger-zone p{font-size:13px;line-height:1.5}.session-sheet,.live-sheet{display:flex;flex-direction:column;height:min(94dvh,900px);max-height:calc(100dvh - env(safe-area-inset-top) - 12px);overflow:hidden;padding:0;border-radius:22px 22px 0 0}.session-sheet>.sheet-header,.live-sheet>.sheet-header{flex-shrink:0;padding:20px 20px 14px;margin:0;border-bottom:1px solid var(--border)}.session-sheet>form,.live-sheet>form{display:flex;flex-direction:column;flex:1;min-height:0}.form-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px 20px 24px;scroll-padding:16px}.form-footer{flex-shrink:0;padding:12px 20px max(16px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -5px 18px #0000000f}.footer-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px}.footer-total strong{font-size:25px;font-variant-numeric:tabular-nums}.form-footer .form-error{margin:0 0 8px;font-size:13px;line-height:1.4}.form-scroll .form-card{margin:12px 0}.form-scroll .form-field{min-width:0;padding:12px}.form-scroll input,.form-scroll select,.form-scroll textarea{font-size:16px;min-width:0;max-width:100%}.form-scroll .input-wrap{min-height:34px}.form-scroll input[type=date]{width:100%;padding:0;font-size:14px}.form-disclosure{border-bottom:1px solid var(--border);margin-top:8px}.zero-return{min-height:44px;background:transparent;color:var(--blue);border:0;padding:8px 0;text-align:left;font-size:13px}.rating-row button,.choice-row button{min-height:44px;min-width:44px;font-size:14px}.form-field small{color:var(--negative);font-size:12px;line-height:1.4;display:block;margin-top:6px}.primary-button:disabled{opacity:.65;cursor:wait}.sheet:focus{outline:none}.setting-action{min-height:52px}.row-delete,.row-edit{min-width:44px;min-height:44px}.session-main strong{white-space:normal;overflow-wrap:anywhere}.session-row{flex-wrap:wrap}.session-result{margin-left:auto}.row-actions{flex-shrink:0}@media(min-width:760px){.bottom-nav{border-radius:18px 18px 0 0}.welcome-card{padding:30px}.welcome-card h2{font-size:32px}.welcome-card .entry-actions{grid-template-columns:1fr 1fr}.session-sheet,.live-sheet{border-radius:22px}.app-main{padding-inline:28px}}@media(max-width:360px){.form-scroll,.form-footer{padding-left:14px;padding-right:14px}.welcome-card{padding:18px 14px}.nav-item{font-size:11px}.nav-add{width:58px;height:58px}.footer-total strong{font-size:22px}}.footer-total .awaiting-return{font-size:15px;color:var(--muted)}.app-frame .screen-header h1{font-size:30px;font-weight:750;line-height:1.2;letter-spacing:-.025em}.app-frame h2,.app-frame h3,.app-frame .sheet-header h2{font-weight:700;letter-spacing:-.015em;line-height:1.35}.app-frame .brand,.app-frame .eyebrow{font-size:11px;font-weight:750;letter-spacing:.13em}.app-frame .data-note,.app-frame .form-help,.app-frame .muted-copy,.app-frame .privacy-card p,.app-frame .metric-help p,.app-frame .backup-banner p,.app-frame .plain-summary p,.app-frame .entry-card small{font-size:14px;font-weight:500;line-height:1.7}.app-frame .form-field>span,.app-frame .currency-control,.app-frame .metric-card>span,.app-frame .discipline-rate-card p{font-size:14px;font-weight:600;line-height:1.5}.app-frame .input-wrap input,.app-frame .input-wrap select,.app-frame .input-wrap textarea,.app-frame .currency-control select{font-weight:600}.app-frame button,.app-frame summary{font-weight:650}.app-frame .nav-item{font-size:12px;font-weight:600}.app-frame .nav-add span{font-size:11px;font-weight:700}.app-frame .hero-metric>strong,.app-frame .metric-card>strong,.app-frame .discipline-stat-hero strong,.app-frame .discipline-hero strong,.app-frame .discipline-rate-card>strong,.app-frame .footer-total>strong{font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.app-frame .session-main strong{font-size:15px;font-weight:650}.app-frame .session-result strong{font-size:16px;font-weight:750;letter-spacing:-.015em}.app-frame .save-status,.app-frame .form-field small{font-weight:500}.app-frame .footer-total .awaiting-return{font-size:14px;font-weight:600;letter-spacing:0}.metric-help{margin-bottom:16px}@media(max-width:520px){.session-row .session-result{flex-direction:row;justify-content:flex-start}}@media(max-width:520px){.session-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px 12px;align-items:start}.session-icon{grid-row:1 / 3}.session-main{min-width:0}.session-main strong{overflow-wrap:break-word}.session-result{grid-column:2;margin-left:0;text-align:left;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.session-result>span{font-size:12px!important}.row-actions{grid-column:2;justify-content:flex-end;margin-top:-4px}.row-edit{margin-left:0}}
