:root{--page-bg:#111820;--app-bg:#1a2230;--card-bg:#ffffff13;--card-bg-strong:#ffffff1f;--card-bg-deep:#0000002e;--text-main:#f0ede8;--text-sub:#ffffffad;--text-group:#ffffffc7;--line:#ffffff24;--line-strong:#ffffff38;--control-line:#ffffff57;--accent-green:#2ac08e;--accent-amber:#e6a547;--accent-rose:#d65d86;--accent-blue:#559fe8;--signal-body:#1d9e75;--signal-skin:#378add;--signal-hair:#ba7517;--signal-grooming:#d4537e;--signal-clothing:#7f77dd;--signal-sleep:#534ab7;--signal-teeth:#2dbcb6;--signal-food:#e6943a;--signal-self:#888;color:var(--text-main);background:var(--page-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:var(--page-bg)}body{background:var(--page-bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,p,ol{margin-block:0}h1{color:var(--text-main);letter-spacing:0;font-size:1.45rem;font-weight:500;line-height:1.2}h2{color:var(--text-group);letter-spacing:0;font-size:1rem;font-weight:500;line-height:1.25}#app{min-height:100vh}.app-shell{width:100%;max-width:480px;min-height:100vh;padding:calc(env(safe-area-inset-top) + 14px) max(12px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 92px) max(12px, env(safe-area-inset-left));background:var(--app-bg);margin:0 auto}.main-content,.page{gap:14px;display:grid}.nav-host{min-width:0}.page-header{gap:4px;padding:4px 2px 0;display:grid}.header-meta,.muted-text,.empty-state{color:var(--text-sub);font-size:.875rem}.today-header{min-height:48px}.today-signal-panel{border:1px solid var(--line);background:linear-gradient(135deg,#2ac08e24,#d65d861a);border-radius:8px;gap:8px;padding:10px;display:grid}.today-command-panel,.signal-command-panel,.roadmap-command-panel,.review-command-panel{background:linear-gradient(135deg, #2ac08e2e, #559fe81c 52%, #e6a54717), var(--card-bg-deep);border:1px solid var(--line-strong);border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 18px 42px #0000002e}.today-command-panel{color:#10213f;background:linear-gradient(#fffffffa,#ebf4fff5),#f7fbff;border-color:#aac3e1c7;gap:14px;box-shadow:0 18px 40px #0a162647}.command-intro{gap:5px;display:grid}.command-intro p,.next-action-card p{color:var(--text-sub)}.today-command-panel h2,.today-command-panel p{color:#10213f}.command-kicker,.mission-metric-label{color:var(--accent-amber);text-transform:uppercase;font-size:.75rem;line-height:1.2}.today-command-panel .command-kicker{color:#2a68c9}.roadmap-command-status{justify-content:space-between;align-items:center;gap:10px;display:flex}.command-progress{color:#0a765a;background:#23b0801f;border:1px solid #23b08052;border-radius:8px;align-items:center;min-height:28px;padding:5px 9px;font-size:.78rem;line-height:1.2;display:inline-flex}.roadmap-process-line{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:4px 12px;display:grid}.roadmap-process-line .process-mark{color:#fff;background:linear-gradient(145deg,#74a4f0,#326ed8);border-radius:8px;grid-row:span 2;place-items:center;width:50px;height:50px;font-size:.68rem;line-height:1;display:grid}.roadmap-process-line h2{color:#10213f;font-size:clamp(1.35rem,7vw,2rem);font-weight:520;line-height:1.14}.roadmap-process-line p{color:#4b5f7e;font-size:.98rem}.next-action-card{border:1px solid var(--line);background:#0000002e;border-radius:8px;gap:5px;padding:12px;display:grid}.command-primary-action{color:#fff;text-align:center;cursor:pointer;background:linear-gradient(155deg,#78a7f4,#3975dc);border:0;place-items:center;width:100%;min-height:194px;padding:18px}.command-primary-action:disabled{cursor:default;opacity:.85}.primary-action-meta{color:#ffffffd1;font-size:.8rem;line-height:1.2}.next-action-card strong,.mission-metric strong{color:var(--text-main);font-size:1.08rem;font-weight:500}.command-primary-action strong{color:#fff;font-size:clamp(1.45rem,8vw,2.1rem);line-height:1.2}.primary-action-detail{color:#ffffffdb;max-width:28rem;font-size:.92rem;line-height:1.35}.primary-action-control{color:#245fd0;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:min(100%,280px);min-height:52px;padding:13px 18px;font-size:1.05rem;font-weight:540;display:inline-flex;box-shadow:0 16px 28px #13367038}.command-support-section,.command-evidence-section{gap:8px;display:grid}.command-support-section h2,.command-evidence-section h2{color:#2f4160;font-size:.95rem}.command-chip-list{flex-wrap:wrap;gap:8px;display:flex}.support-action-chip,.command-passive-chip{color:#23324d;background:#ffffffc7;border:1px solid #96afcfb8;border-radius:8px;align-items:center;min-height:44px;padding:9px 12px;font-size:.92rem;line-height:1.2;display:inline-flex}.support-action-chip{cursor:pointer}.support-action-chip.is-checked{color:#0c7159;background:#23b0801f;border-color:#23b08057}.support-action-chip:focus-visible,.command-primary-action:focus-visible,.roadmap-queue-action:focus-visible{outline-offset:2px;outline:2px solid #e6a547}.next-action-process{color:#ffffffc2}.mission-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mission-metric{border:1px solid var(--line);background:#ffffff12;border-radius:8px;gap:5px;min-width:0;padding:10px;display:grid}.mission-metric-helper{color:var(--text-sub);font-size:.75rem}.progress-track{background:#ffffff1f;border-radius:6px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-green), var(--accent-amber));border-radius:inherit;height:100%;display:block}.mission-flow,.roadmap-sequence,.review-actions{flex-wrap:wrap;gap:6px;display:flex}.flow-step,.sequence-chip{min-height:28px;color:var(--text-main);border:1px solid var(--line);background:#ffffff14;border-radius:6px;align-items:center;padding:5px 8px;font-size:.8rem;line-height:1.2;display:inline-flex}.mission-guard{color:#ffe3c1;background:#e6943a1f;border:1px solid #e6943a47;border-radius:8px;padding:9px 10px;font-size:.875rem}.today-signal-list,.habit-knowledge-chips,.guide-chip-list,.process-chip-list,.weekly-evidence-list{flex-wrap:wrap;gap:5px;display:flex}.signal-focus-chip,.guide-chip,.weekly-evidence-item,.mini-chip{max-width:100%;color:var(--text-main);border:1px solid var(--line);background:#ffffff14;border-radius:5px;padding:3px 6px;font-size:.75rem;line-height:1.25}.signal-focus-chip{color:#dff6ee;background:#1d9e7529;border-color:#1d9e7557}.time-groups{gap:14px;display:grid}.roadmap-action-queue{background:#0d1f2abd;border:1px solid #2ac08e3d;border-radius:8px;gap:10px;padding:12px;display:grid}.queue-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.queue-heading h2{color:var(--text-main);font-size:1rem}.roadmap-queue-list{scroll-snap-type:x proximity;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.roadmap-queue-action{width:100%;min-width:min(292px,82vw);min-height:66px;color:var(--text-main);text-align:left;cursor:pointer;scroll-snap-align:start;background:#ffffff12;border:1px solid #ffffff0d;border-radius:8px;grid-template-columns:18px 10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.roadmap-queue-action.is-checked{background:#2ac08e1f;border-color:#1d9e755c}.roadmap-queue-action.is-checked .habit-checkbox{background:var(--signal-body);border-color:var(--signal-body)}.roadmap-queue-action.is-checked .habit-checkbox:after{content:"✓";color:#fff;font-size:.75rem;font-weight:500;line-height:1}.queue-action-copy{gap:3px;min-width:0;display:grid}.queue-action-copy strong{font-size:1rem;font-weight:520;line-height:1.2}.queue-action-copy span{color:var(--text-sub);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.25;display:-webkit-box;overflow:hidden}.queue-action-chip,.next-group-chip{min-height:28px;color:var(--text-sub);border:1px solid var(--line);background:#ffffff14;border-radius:6px;align-items:center;padding:5px 8px;font-size:.75rem;line-height:1.2;display:inline-flex}.roadmap-next-strip{flex-wrap:wrap;gap:7px;display:none}.time-group{background:#ffffff09;border:1px solid #0000;border-radius:8px;gap:7px;padding:10px;display:grid}.group-heading,.process-heading,.signal-entry-meta{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.group-heading h2{color:var(--text-group)}.group-count{color:var(--text-sub);font-size:.75rem}.time-group.is-current .group-heading h2{color:var(--text-main)}.time-group.is-current{background:#2ac08e14;border-color:#2ac08e3d}.habit-list{gap:7px;display:grid}.habit-row{width:100%;min-height:72px;color:var(--text-main);text-align:left;background:var(--card-bg);cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:8px;padding:11px 10px;display:flex}.habit-row:focus-visible,.axis-button:focus-visible,.outcome-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.nav-item:focus-visible,.toast-button:focus-visible,.text-field:focus-visible{outline:2px solid var(--signal-food);outline-offset:2px}.habit-row.is-checked{background:#2ac08e1f;border-color:#1d9e7566}.habit-checkbox{border:1.5px solid var(--control-line);border-radius:4px;flex:0 0 18px;place-items:center;width:18px;height:18px;margin-top:2px;display:grid}.habit-row.is-checked .habit-checkbox{background:var(--signal-body);border-color:var(--signal-body)}.habit-row.is-checked .habit-checkbox:after{content:"✓";color:#fff;font-size:.75rem;font-weight:500;line-height:1}.habit-content{flex:1;gap:7px;min-width:0;display:grid}.habit-title-line{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.habit-title{font-size:1rem;line-height:1.25}.habit-detail-grid{gap:4px;display:grid}.habit-detail-item{gap:1px;min-width:0;display:grid}.habit-detail-item span:last-child,.habit-boundary{color:var(--text-sub);font-size:.8rem;line-height:1.25}.habit-boundary{color:#ffe3c1d1}.log-badge{color:var(--text-sub);border:1px solid var(--control-line);border-radius:4px;padding:1px 4px;font-size:.6875rem;line-height:1.2}.signal-dot{background:var(--signal-self);border-radius:4px;flex:0 0 8px;width:8px;height:8px;margin-top:7px}.signal-dot[data-axis=body],.signal-dot[data-axis=posture]{background:var(--signal-body)}.signal-dot[data-axis=skin]{background:var(--signal-skin)}.signal-dot[data-axis=hair],.signal-dot[data-axis=brow]{background:var(--signal-hair)}.signal-dot[data-axis=grooming],.signal-dot[data-axis=tired-looking]{background:var(--signal-grooming)}.signal-dot[data-axis=clothing],.signal-dot[data-axis=photo]{background:var(--signal-clothing)}.signal-dot[data-axis=sleep]{background:var(--signal-sleep)}.signal-dot[data-axis=teeth]{background:var(--signal-teeth)}.signal-dot[data-axis=food]{background:var(--signal-food)}.axis-button .signal-dot,.signal-entry-meta .signal-dot,.process-dots .signal-dot{margin-top:0}.panel-section,.process-card,.signal-entry{background:var(--card-bg);border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.guide-block{gap:6px;display:grid}.axis-list,.outcome-list,.process-list{gap:8px;display:grid}.axis-button,.outcome-button,.primary-button,.secondary-button,.toast-button{min-height:44px;color:var(--text-main);background:var(--card-bg);border:1px solid var(--line);cursor:pointer;border-radius:6px}.axis-button,.outcome-button{text-align:left;align-items:center;gap:8px;width:100%;padding:9px 10px;display:flex}.outcome-button{flex-direction:column;align-items:flex-start}.axis-button.is-selected,.outcome-button.is-selected{background:var(--card-bg-strong);border-color:#378add99}.outcome-label{font-size:1rem;font-weight:500}.outcome-button small,.process-boundary,.process-enoughness,.process-review,.process-today-cue,.process-evidence-item,.guide-boundary,.signal-next-step{color:var(--text-sub);font-size:.875rem}.signal-guide-panel{border:1px solid var(--line);background:#0000001f;border-radius:6px;gap:8px;padding:10px;display:grid}.guide-lens,.process-bottleneck{color:var(--text-main);font-size:.9375rem}.guide-boundary{color:#ffffff94}.guide-enoughness{color:#dff6ee;font-size:.875rem}.selected-axis{color:var(--text-group);font-size:.875rem}.text-field{width:100%;min-height:44px;color:var(--text-main);border:1px solid var(--line);background:#00000029;border-radius:6px;padding:10px}textarea.text-field{resize:vertical;min-height:112px}.text-field::placeholder{color:var(--text-sub)}.primary-button,.secondary-button,.toast-button{padding:10px 12px}.primary-button{background:var(--signal-body);border-color:#1d9e75cc}.secondary-button{background:var(--card-bg)}.primary-button:disabled,.secondary-button:disabled{color:var(--text-sub);background:var(--card-bg);cursor:default}.signal-history{gap:8px;display:grid}.signal-entry p{color:var(--text-main);font-size:1rem}.signal-entry-meta{color:var(--text-sub);justify-content:flex-start;font-size:.75rem}.roadmap-goal{top:calc(env(safe-area-inset-top) + 8px);z-index:2;background:var(--app-bg);border:1px solid var(--line);border-radius:8px;padding:10px;position:sticky}.goal-statement{color:var(--text-main);font-size:1rem}.process-heading{align-items:flex-start}.process-title-wrap{align-items:center;gap:8px;display:flex}.process-order{color:#102018;background:var(--accent-green);border-radius:8px;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:500;display:inline-grid}.process-heading h2{color:var(--text-main)}.process-heading p{color:var(--text-sub);text-align:right;font-size:.9375rem}.process-dots{gap:6px;display:flex}.process-card-meta{flex-wrap:wrap;gap:5px;display:flex}.process-detail-block{gap:6px;display:grid}.detail-label{color:var(--text-group);font-size:.75rem}.weekly-evidence{background:#1d9e751a}.weekly-evidence-item{background:#1d9e751f;border-color:#1d9e7547}.install-steps{color:var(--text-main);padding-left:1.3rem}.install-steps li{min-height:28px;padding-left:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.review-evidence-grid{gap:8px;display:grid}.review-evidence-card{border:1px solid var(--line);background:#ffffff0f;border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:9px;padding:10px;display:grid}.review-evidence-card p,.enoughness-panel p{color:var(--text-main)}.bottom-nav{z-index:8;width:min(100%,480px);padding:6px max(8px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 6px) max(8px, env(safe-area-inset-left));background:var(--app-bg);border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-brand{display:none}.nav-brand-text{gap:2px;min-width:0;display:grid}.nav-brand-mark{border-radius:8px;width:36px;height:36px}.nav-item{min-width:0;min-height:48px;color:var(--text-sub);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;gap:2px;padding:5px 2px;display:grid}.nav-item.is-active{color:var(--text-main);background:var(--card-bg);border-color:var(--line)}.nav-icon{font-size:1rem;line-height:1}.nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;line-height:1.1;overflow:hidden}.toast-region{left:50%;right:auto;bottom:calc(env(safe-area-inset-bottom) + 78px);z-index:12;gap:8px;width:min(456px,100vw - 24px);display:grid;position:fixed;transform:translate(-50%)}.toast{min-height:56px;color:var(--text-main);border:1px solid var(--line);background:#202b3b;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.toast p{color:var(--text-main);font-size:.875rem}@media (width>=860px){body{background:linear-gradient(180deg, #559fe81a, #11182000 320px), linear-gradient(115deg, #2ac08e14, #d65d860d 48%, #e6a5470f), var(--page-bg)}.app-shell{background:0 0;grid-template-columns:220px minmax(0,1fr);gap:20px;width:min(1280px,100vw - 48px);max-width:none;margin:0 auto;padding:24px;display:grid}.nav-host{grid-area:1/1;align-self:start;position:sticky;top:24px}.main-content{background:var(--app-bg);border:1px solid var(--line);border-radius:8px;align-content:start;min-width:0;min-height:calc(100vh - 48px);padding:22px}.bottom-nav{border:1px solid var(--line);background:#ffffff0a;border-radius:8px;grid-template-columns:1fr;gap:6px;width:100%;padding:10px;position:static;transform:none}.nav-brand{border-bottom:1px solid var(--line);align-items:center;gap:2px;min-height:64px;padding:8px 10px 12px;display:flex}.nav-brand-title{color:var(--text-main);font-size:1rem;font-weight:500;line-height:1.2}.nav-brand-meta{color:var(--text-sub);font-size:.75rem}.nav-item{grid-template-columns:24px minmax(0,1fr);place-items:center start;gap:8px;min-height:46px;padding:8px 10px}.nav-icon{text-align:center;width:24px}.nav-label{font-size:.875rem}.toast-region{width:360px;bottom:24px;left:auto;right:24px;transform:none}.today-page{grid-template-columns:1fr;align-items:start;gap:18px}.time-groups{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.time-group.is-current{grid-column:1/-1}.time-group.is-current .habit-list{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap-queue-list{padding-bottom:0;display:grid;overflow:visible}.roadmap-queue-action{min-width:0}.roadmap-next-strip{display:flex}.today-command-panel,.signal-command-panel,.roadmap-command-panel,.review-command-panel{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:start}.today-command-panel{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr)}.mission-metrics,.mission-flow,.mission-guard,.roadmap-sequence,.review-actions{grid-column:1/-1}.today-command-panel .roadmap-command-status,.today-command-panel .roadmap-process-line,.today-command-panel .command-support-section,.today-command-panel .command-evidence-section{grid-column:1}.today-command-panel .command-primary-action{grid-area:1/2/span 4;align-self:stretch}.signal-page{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:18px}.signal-page .page-header{grid-column:1/-1}.signal-form,.signal-history-section{grid-column:2}.axis-list{grid-template-columns:1fr}.outcome-list{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-page{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.roadmap-command-panel,.review-command-panel{grid-column:1/-1}.roadmap-goal{position:static}.process-list{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.add-process{grid-column:1/-1;max-width:520px}.process-heading{gap:4px;display:grid}.process-heading p{text-align:left}.settings-page{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.settings-page .page-header{grid-column:1/-1}.review-page{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.review-page .page-header,.review-command-panel{grid-column:1/-1}}
