:root{--bg:#f5f0e6;--bg-deep:#ebe4d4;--surface:#fffcf5d1;--surface-strong:#fffdf8eb;--line:#5a443021;--line-strong:#5a44303d;--text:#3d2e1f;--text-soft:#7a6350;--text-strong:#1c1108;--accent:#c45424;--accent-hover:#a3431a;--accent-soft:#c454241f;--accent-glow:#c4542440;--success:#2d8a4e;--success-soft:#2d8a4e1f;--danger:#b83a28;--gold:#c49a2a;--neutral-100:#faf7f0;--neutral-200:#f0ebe0;--neutral-300:#e2dacb;--neutral-400:#c7bca8;--font-body:"Hiragino Sans", "Yu Gothic", sans-serif;--font-head:"Yu Mincho", "Hiragino Mincho ProN", serif;--font-display:"Zen Kaku Gothic New", var(--font-head);font-family:var(--font-body);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:radial-gradient(at 15% 10%,#d2b48c2e,#0000 40%),radial-gradient(at 85% 80%,#a08c781a,#0000 35%),linear-gradient(175deg,#faf5ea 0%,#f5f0e6 35%,#efe8d8 100%);font-weight:400;line-height:1.5}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--neutral-400) transparent}html{min-height:100%}body{background:0 0;min-height:100vh;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3,h4{font-family:var(--font-head);color:var(--text-strong);letter-spacing:-.04em;margin:0;line-height:1.08}h1{max-width:14ch;font-size:clamp(2.6rem,5.5vw,5rem);font-weight:900}h2{letter-spacing:-.03em;font-size:clamp(1.6rem,2.8vw,2.6rem);font-weight:700}h3{letter-spacing:-.02em;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:700}p{margin:0}#root{isolation:isolate;min-height:100vh}::selection{background:var(--accent-soft);color:var(--text-strong)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--neutral-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}.app-shell,.auth-shell{width:min(1280px,100% - 40px);margin:0 auto}.app-shell{gap:28px;padding:24px 0 72px;display:grid}.auth-shell{gap:72px;padding:24px 0 72px;display:grid}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:.5s cubic-bezier(.16,1,.3,1) both rise-in}.page-body>.reveal:first-child{animation-delay:0s}.page-body>.reveal:nth-child(2){animation-delay:80ms}.page-body>.reveal:nth-child(3){animation-delay:.16s}.page-body>.reveal:nth-child(4){animation-delay:.24s}.page-body>.reveal:nth-child(5){animation-delay:.32s}.page-body>.reveal:nth-child(6){animation-delay:.4s}@keyframes loading-bounce{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.appbar{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 36px;padding-bottom:24px;display:grid}.brand-lockup{gap:0;display:grid}.header-actions{align-items:center;gap:16px;display:flex}.shell-date{color:var(--text-soft);font-size:.92rem;font-weight:600}.avatar-menu{position:relative}.avatar-trigger{cursor:pointer;color:var(--text-strong);background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.88rem;font-weight:600;transition:background .2s;display:flex}.avatar-trigger:hover{background:var(--accent-soft)}.avatar-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-circle{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.avatar-circle svg{stroke-width:2.2px}.avatar-dropdown{background:var(--neutral-100);border:1px solid var(--line-strong);z-index:200;border-radius:12px;gap:2px;min-width:160px;padding:6px;animation:.2s cubic-bezier(.16,1,.3,1) both rise-in;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}.avatar-dropdown-item{color:var(--text-strong);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .2s;display:flex}.avatar-dropdown-item:hover{background:var(--accent-soft)}.avatar-dropdown-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.avatar-dropdown-item svg{opacity:.7;flex-shrink:0}.topnav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.topnav-link,.cta-link{color:var(--text-soft);letter-spacing:-.01em;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.88rem;font-weight:700;text-decoration:none;transition:color .2s,background-color .2s;display:inline-flex}.topnav-link svg{opacity:.7;flex-shrink:0;transition:opacity .2s}.topnav-link:hover,.topnav-link.active,.cta-link:hover{color:var(--text-strong);background:var(--accent-soft)}.topnav-link.active{color:var(--accent)}.topnav-link.active svg,.topnav-link:hover svg{opacity:1}.notice{border-left:3px solid var(--accent);gap:6px;padding-left:16px;display:grid}.notice strong{color:var(--text-strong)}.notice-error{border-color:var(--danger)}.notice-busy{border-color:var(--accent)}.page-body{gap:72px;display:grid}.loading-block,.page-hero,.page-intro,.section-block{gap:24px;display:grid}.loading-block{border-top:1px solid var(--line);color:var(--text-soft);padding:32px 0;font-weight:600}.loading-block:before{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:10px;animation:1s ease-in-out infinite loading-bounce;display:inline-block}.page-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);align-items:center;gap:48px}.dashboard-hero{padding-top:12px}.dashboard-hero-compact{align-items:start}.page-hero-copy,.page-intro,.planner-intro{gap:18px;display:grid}.page-intro{max-width:820px}.section-head{gap:10px;max-width:820px;display:grid}.section-head-tight{gap:6px}.section-block{border-top:2px solid var(--line);padding-top:36px;position:relative}.section-block:before{content:"";background:var(--accent);width:32px;height:2px;position:absolute;top:-2px;left:0}.hero-lead{max-width:40rem;color:var(--text-soft);font-size:1.04rem;line-height:1.75}.hero-support,.quiet-copy,.chart-description,.goal-row p,.history-row p,.badge-body p{color:var(--text-soft);line-height:1.7}.section-kicker,.eyebrow,.mini-label,.date-label{color:var(--text-soft);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.section-kicker{font-size:.76rem}.today-status{border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.today-status:before{content:"";border-radius:50%;width:8px;height:8px}.today-status-pending{background:var(--neutral-200);color:var(--text-soft)}.today-status-pending:before{background:var(--neutral-400)}.today-status-recorded{background:var(--accent-soft);color:var(--accent)}.today-status-recorded:before{background:var(--accent)}.today-status-achieved{background:var(--success-soft);color:var(--success)}.today-status-achieved:before{background:var(--success)}.today-facts{color:var(--text-soft);flex-wrap:wrap;gap:10px 18px;font-size:.9rem;font-weight:700;display:flex}.today-facts span{position:relative}.today-facts span+span:before{content:"•";color:#7a63506b;margin-right:18px}.auth-hero-scene{grid-template-columns:minmax(0,1fr) minmax(380px,.94fr);align-items:center;gap:48px;min-height:calc(100svh - 96px);display:grid}.auth-copy{gap:20px;display:grid}.auth-entry{background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;gap:20px;max-width:400px;padding:28px;display:grid}.auth-form,.quick-form,.stack{gap:18px;display:grid}.goal-log-section{border-top:1px solid var(--line);gap:12px;padding-top:18px;display:grid}.goal-log-list{gap:12px;display:grid}.goal-log-item{gap:6px;display:grid}.goal-log-label{color:var(--text-strong);font-size:.92rem;font-weight:700}.goal-log-input-row{align-items:stretch;gap:8px;display:flex}.goal-log-input-row input{text-align:center;flex:1;min-width:0;font-weight:700}.goal-log-input-row button{min-height:44px;padding:8px 18px;font-size:.84rem}.goal-select-chips{flex-wrap:wrap;gap:8px;display:flex}.goal-chip{border:1.5px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--text-soft);cursor:pointer;box-shadow:none;border-radius:999px;padding:8px 16px;font-size:.88rem;font-weight:700;transition:border-color .18s,background .18s,color .18s}.goal-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text-strong);background:var(--surface);box-shadow:none;transform:none}.goal-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:none;transform:none}.goal-log-progress{color:var(--text-soft);font-size:.84rem;font-weight:600}.auth-note{color:var(--text-soft);font-size:.94rem}.auth-note code{color:var(--text-strong);font-weight:700}.auth-error,.auth-status{border-left:3px solid var(--danger);color:var(--danger);padding-left:14px}.auth-status{border-color:var(--accent);color:var(--text-soft)}.auth-mode-toggle{text-align:center;color:var(--text-soft);margin-top:8px;font-size:.9rem}.auth-toggle{all:unset;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.auth-stage,.dashboard-stage{min-height:520px;position:relative}.auth-stage:before,.dashboard-stage:before{content:"";border:1px solid var(--line);background:linear-gradient(145deg,#c4542414 0%,#0000 50%);border-radius:16px;position:absolute;inset:0}.auth-stage:after{display:none}.auth-stage img{width:min(360px,72%);height:auto;position:absolute;bottom:0;right:8%}.stage-caption,.stage-script{z-index:1;position:absolute}.stage-caption{color:var(--text-strong);font-family:var(--font-head);letter-spacing:-.03em;margin:0;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.2}.stage-caption-top{max-width:9ch;top:9%;left:6%}.stage-caption-bottom{max-width:10ch;bottom:12%;left:6%}.stage-script{text-align:right;gap:4px;display:grid;top:11%;right:12%}.stage-script span{color:var(--text-soft);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.stage-script strong{color:var(--text-strong);font-family:var(--font-head);letter-spacing:-.04em;font-size:clamp(1.4rem,2.7vw,2.2rem);line-height:1}.rhythm-steps{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.rhythm-steps li{border-bottom:1px solid var(--line);grid-template-columns:84px minmax(0,1fr);gap:20px;padding:18px 0;display:grid}.rhythm-steps strong{color:var(--accent);font-family:var(--font-head);font-size:2rem;line-height:1}.rhythm-steps h3,.detail-column h3,.chart-head h3,.plan-row h3{margin:0}.rhythm-steps p{color:var(--text-soft);margin-top:6px}.principle-lines{border-top:1px solid var(--line);gap:0;display:grid}.principle-lines p{border-bottom:1px solid var(--line);color:var(--text-strong);margin:0;padding:16px 0;font-size:1rem}.principle-lines-compact{margin-top:16px}.dashboard-stage{align-content:start;gap:24px;padding-top:12px;display:grid}.dashboard-stage:before{inset:0 0 0 14%}.stage-figure{justify-items:start;gap:2px;display:grid}.stage-figure strong{color:var(--text-strong);font-family:var(--font-display);letter-spacing:-.07em;text-shadow:0 2px #1c11080f;font-size:clamp(4rem,10vw,7rem);font-weight:900;line-height:.9}.stage-figure span{color:var(--text-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.94rem}.rhythm-track{gap:16px;margin:0;padding:0;list-style:none;display:grid}.rhythm-row{grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.rhythm-row.active .rhythm-date,.rhythm-row.active .rhythm-value{color:var(--text-strong)}.rhythm-date,.rhythm-value{color:var(--text-soft);font-size:.88rem;font-weight:700}.rhythm-bars{height:28px;position:relative}.rhythm-bars span{border-radius:999px;display:block;position:absolute;left:0}.rhythm-plan{background:#c4542438;height:18px;top:5px}.rhythm-actual{background:var(--accent);height:8px;top:11px}.stage-stats,.metric-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.stage-stats{padding-top:10px}.stage-stats div,.metric-block{border-top:1px solid var(--line);gap:6px;padding-top:14px;display:grid}.stage-stats span,.metric-block span,.chart-summary span{color:var(--text-soft);align-items:center;gap:4px;font-size:.84rem;font-weight:700;display:inline-flex}.stage-stats strong,.metric-block strong,.chart-summary strong{color:var(--text-strong);font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:900;line-height:1}.metric-rail-compact{max-width:920px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px;display:grid}.detail-column{align-content:start;gap:14px;display:grid}.detail-emphasis{color:var(--text-strong);font-family:var(--font-head);letter-spacing:-.06em;font-size:clamp(2.8rem,6vw,4.4rem);line-height:.95}.detail-list{gap:0;margin:0;display:grid}.detail-list-spaced{margin-top:6px}.detail-list div{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.detail-list div:last-child{border-bottom:1px solid var(--line)}.detail-list dt,.detail-list dd{margin:0}.detail-list dt{color:var(--text-soft)}.detail-list dd{color:var(--text-strong);text-align:right;max-width:60%;font-weight:700}.chart-shell{gap:20px;display:grid}.chart-head{max-width:620px}.chart-summary{flex-wrap:wrap;gap:14px 24px;display:flex}.chart-summary div{border-top:1px solid var(--line);gap:6px;min-width:112px;padding-top:12px;display:grid}.line-chart{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0 10px}.line-chart svg{width:100%;height:auto;display:block;overflow:visible}.line-chart-axis{stroke:#4a382a4d;stroke-width:1.2px}.line-chart-grid{stroke:#4a382a1f;stroke-width:1px;stroke-dasharray:5 5}.line-chart-series{fill:none;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.line-chart-series-plan{stroke:#c4542447}.line-chart-series-actual{stroke:var(--accent)}.line-chart-dot{stroke:var(--bg);stroke-width:2px}.line-chart-dot-plan{fill:#c4542499}.line-chart-dot-actual{fill:var(--accent-hover)}.line-chart-label{fill:var(--text-soft);font-size:10px;font-weight:700}.chart-legend{color:var(--text-soft);flex-wrap:wrap;gap:10px 18px;font-size:.84rem;font-weight:700;display:flex}.chart-legend span{align-items:center;gap:8px;display:inline-flex}.legend-swatch{border-radius:999px;width:14px;height:14px;display:inline-block}.legend-swatch-plan{background:#c454244d}.legend-swatch-actual{background:var(--accent)}.today-focus{border-left:1px solid var(--line);align-content:start;gap:10px;min-height:100%;padding:12px 0 0 28px;display:grid}.today-focus>strong{color:var(--text-strong);font-family:var(--font-display);letter-spacing:-.07em;text-shadow:0 2px #1c11080f;font-size:clamp(5rem,14vw,9rem);font-weight:900;line-height:.85}.today-focus>span{color:var(--text-soft);letter-spacing:.16em;text-transform:uppercase;font-size:.84rem;font-weight:800}.today-focus-copy{max-width:18rem;color:var(--text-strong);font-size:1rem;line-height:1.65}.today-focus-note{border-top:1px solid var(--line);color:var(--text-soft);gap:6px;margin-top:10px;padding-top:16px;display:grid}.today-focus-note p:first-child{color:var(--text-strong);font-weight:700}.metric-rail-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));max-width:840px}.week-combo-chart{gap:10px;display:grid}.week-combo-chart svg{width:100%;height:auto;display:block;overflow:visible}.combo-today-line{stroke:var(--accent);stroke-width:1px;stroke-opacity:.25;stroke-dasharray:4 3}.combo-bar-actual{fill:var(--accent);fill-opacity:.8}.combo-area-actual{fill:var(--accent);fill-opacity:.08}.combo-line-goal{stroke:var(--text-soft);stroke-width:2px;stroke-dasharray:6 4;stroke-opacity:.5}.combo-line-actual{stroke:var(--accent);stroke-width:3px}.legend-swatch-goal{background:var(--text-soft);opacity:.5}.legend-swatch-bar{background:var(--accent);border-radius:3px}.line-chart-label-active{fill:var(--accent);font-weight:800}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field-grid-prominent .field:first-child input{min-height:88px;font-family:var(--font-display);letter-spacing:-.04em;text-align:center;border-width:2px;border-radius:16px;padding-block:18px;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:900;line-height:1}.field,.field.full{gap:8px;display:grid}.field.full{grid-column:1/-1}label,.field>span{color:var(--text-soft);font-size:.92rem;font-weight:700}input,select,textarea,button{font:inherit}input,select,textarea{border:1.5px solid var(--line-strong);background:var(--surface);width:100%;color:var(--text-strong);border-radius:14px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,background-color .2s}input::placeholder,textarea::placeholder{color:var(--neutral-400);font-weight:400}textarea{resize:vertical;min-height:110px}input:hover,select:hover,textarea:hover{border-color:var(--neutral-400)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--neutral-100);outline:none}.topnav-link:focus-visible,.cta-link:focus-visible,.switch-field input:focus-visible+.switch-ui{outline:2px solid var(--accent);outline-offset:2px}.actions{flex-wrap:wrap;gap:12px;display:flex}button{border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;min-height:52px;box-shadow:0 2px 0 var(--accent-hover);border-radius:999px;padding:12px 28px;font-size:.95rem;font-weight:800;transition:background-color .2s,border-color .2s,color .2s,opacity .2s,transform .12s,box-shadow .2s}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px #a3431a80}button:active:not(:disabled){box-shadow:0 0 0 var(--accent-hover);transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.cta-link.primary{min-height:0;color:var(--text-strong);border-bottom:2px solid var(--accent);box-shadow:none;background:0 0;border-radius:0;padding-bottom:8px;font-size:1rem}.switch-field{width:fit-content;color:var(--text-strong);align-items:center;gap:12px;font-weight:700;display:flex;position:relative}.switch-field input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0;position:absolute}.switch-ui{border:1px solid var(--line-strong);background:#fffcf5d1;border-radius:999px;width:46px;height:28px;transition:background-color .18s;position:relative}.switch-ui:after{content:"";background:var(--text-soft);border-radius:50%;width:18px;height:18px;transition:transform .18s,background-color .18s;position:absolute;top:4px;left:4px}.switch-field input:checked+.switch-ui{background:#c454242e}.switch-field input:checked+.switch-ui:after{background:var(--accent);transform:translate(18px)}.goal-list,.history-list,.badge-list,.week-list{gap:0;display:grid}.goal-row,.history-row,.badge-row{border-top:1px solid var(--line);gap:10px;padding:18px 0;display:grid}.goal-row:last-child,.history-row:last-child,.badge-row:last-child{border-bottom:1px solid var(--line)}.goal-row-head,.history-row-head{justify-content:space-between;align-items:start;gap:14px;display:flex}.goal-row-head strong,.history-row-head strong,.badge-body strong{color:var(--text-strong)}.history-row-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-edit-button{min-height:32px;color:var(--text-soft);border-color:var(--line-strong);box-shadow:none;background:0 0;padding:4px 14px;font-size:.78rem}.history-edit-button:hover:not(:disabled){color:var(--text-strong);border-color:var(--accent);background:var(--accent-soft);box-shadow:none}.goal-log-summary{flex-wrap:wrap;gap:6px;display:flex}.goal-log-tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;display:inline-block}.goal-log-edit-list{gap:10px;display:grid}.goal-log-edit-item{gap:4px;display:grid}.history-row-empty{opacity:.6}.history-row-editing{background:var(--surface);border-radius:12px;margin:-1px 0;padding:18px 16px}.goal-row-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.goal-row-editing{background:var(--surface);border-radius:12px;padding:18px 16px}.goal-row-actions{gap:8px;display:flex}.goal-delete-button{min-height:32px;color:var(--danger);border-color:var(--danger);box-shadow:none;background:0 0;padding:4px 14px;font-size:.78rem}.goal-delete-button:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:none}.plan-grid-wrapper{gap:24px;display:grid}.plan-grid{gap:0;display:grid;overflow-x:auto}.plan-grid-header,.plan-grid-row{grid-template-columns:56px repeat(7,minmax(56px,1fr));gap:0;display:grid}.plan-grid-label{color:var(--text-soft);align-items:center;padding:8px 4px;font-size:.78rem;font-weight:700;display:flex}.plan-grid-day-header{color:var(--text-soft);text-align:center;border-bottom:2px solid var(--line);justify-content:center;align-items:center;padding:10px 4px;font-size:.74rem;font-weight:700;display:flex}.plan-grid-day-header.active{color:var(--accent);border-bottom-color:var(--accent)}.plan-grid-cell{padding:4px}.plan-grid-cell.active{background:var(--accent-soft)}.plan-grid-cell input{text-align:center;border-radius:10px;width:100%;min-width:0;padding:10px 6px;font-size:.95rem;font-weight:700}.plan-grid-cell input:focus{background:var(--neutral-100)}.plan-shared-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.badge-row{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:20px}.badge-row.muted{opacity:1}.badge-row.muted .badge-tone{filter:grayscale()opacity(.5)}.badge-row.muted .badge-body strong{color:var(--text-soft)}.badge-row.muted .badge-body p{color:var(--neutral-400)}.badge-tone{color:#fff;border-radius:16px;place-items:center;width:64px;height:64px;font-size:1.4rem;font-weight:800;display:grid;box-shadow:0 4px 12px #0000001f}.badge-tone.sunrise{background:linear-gradient(135deg,#d46a1f,#f0b84e)}.badge-tone.flame{background:linear-gradient(135deg,#b83a1a,#e87040)}.badge-tone.sky{background:linear-gradient(135deg,#2874a0,#5fb8d4)}.badge-tone.gold{background:linear-gradient(135deg,#9a7518,#e8c84a)}.badge-tone.mint{background:linear-gradient(135deg,#2a7a5f,#68c49e)}.badge-tone.berry{background:linear-gradient(135deg,#7a2a5a,#c470a0)}.badge-tone.ruby{background:linear-gradient(135deg,#8b1a4a,#d4507a)}.badge-tone.ocean{background:linear-gradient(135deg,#1a4f7a,#3aa0d8)}.badge-tone.steel{background:linear-gradient(135deg,#3a4a5a,#7a8a9a)}.badge-body{gap:8px;display:grid}.motivation-message{text-align:center;color:var(--text-soft);margin:0;padding:12px 16px;font-size:.95rem}.final-cta{padding-bottom:8px}.cta-actions{flex-wrap:wrap;gap:16px;display:flex}@media (width<=1100px){.auth-hero-scene,.page-hero,.detail-grid,.appbar{grid-template-columns:1fr}.topnav{order:3}.header-actions{order:2}.dashboard-stage:before{inset-inline-start:0}.today-focus{border-left:0;border-top:1px solid var(--line);padding-top:24px;padding-left:0}}@media (width<=760px){.app-shell,.auth-shell{width:min(100% - 24px,1280px);padding-top:18px}.page-body,.auth-shell{gap:56px}.auth-hero-scene{min-height:auto}.auth-stage,.dashboard-stage{min-height:420px}.field-grid,.metric-rail,.stage-stats,.metric-rail-dashboard,.plan-shared-fields{grid-template-columns:1fr}.rhythm-row{grid-template-columns:72px minmax(0,1fr)}.rhythm-value{grid-column:2}.badge-row{grid-template-columns:1fr}.week-combo-chart svg{min-width:480px}.week-combo-chart{overflow-x:auto}}@media (width<=560px){.topnav{z-index:100;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);background:#f5f0e6f2;flex-wrap:nowrap;justify-content:space-around;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.topnav-link{border-radius:8px;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:8px 6px;font-size:.68rem}.avatar-name{display:none}.avatar-trigger{padding:0}.shell-date{display:none}.app-shell{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.topnav-link svg{opacity:.85}.stage-caption,.stage-script{position:static}.auth-stage{align-content:end;gap:16px;padding-top:18px;display:grid}.auth-stage img{justify-self:end;width:min(300px,88%);position:relative;bottom:auto;right:auto}.field-grid-prominent .field:first-child input{min-height:76px;font-size:clamp(1.6rem,9vw,2.4rem)}.actions button{width:100%}.line-chart-label{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.loading-block:before{opacity:1;animation:none;transform:none}button{transition:none!important}}.quick-tap-buttons{align-items:center;gap:.5rem;margin-block:.5rem;display:flex}.quick-tap-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:.5rem;min-width:4rem;min-height:2.75rem;font-size:.95rem;font-weight:600}.quick-tap-btn:disabled{opacity:.45;pointer-events:none}.quick-tap-btn-secondary{color:var(--accent);border:1.5px solid var(--accent);background:0 0;min-width:auto;padding-inline:1rem;font-size:.85rem}.quick-tap-btn-sm{min-width:3.25rem;min-height:2.25rem;font-size:.85rem}.quick-tap-limit{color:var(--muted,#888);font-size:.75rem}.quick-tap-status{color:var(--accent);font-size:.75rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
