:root{--charcoal:#161614;--cream:#ede8dd;--amber:#b86a2e;--stone:#9a9590;--vice-red:#9c3a1f;--rail-left:220px;--rail-right:260px;--btn-bg:#373633;--btn-bg-hover:rgba(55,54,51,0.6);--btn-text:#ede8dd;--btn-selected-bg:#ede8dd;--btn-selected-text:#161614}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}ul{list-style:none}a{text-decoration:none}[hidden]{display:none !important}html,body{height:100%;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}body{background-color:transparent;color:var(--cream);font-family:'IBM Plex Sans',sans-serif;font-size:15px;line-height:1.6}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--charcoal);background-image:url('assets/bg-pattern.jpg.png');background-repeat:repeat;background-size:300px auto}.mono,[data-today-delta],.hero-delta,.rail-stat-value,.row-score,.rail-history-delta,h1,h2,.label-tiny,nav,.section-label{font-family:'IBM Plex Sans',sans-serif}.app-shell{display:grid;grid-template-columns:var(--rail-left) 1fr var(--rail-right);min-height:100vh}.app-shell:has(#settings:not([hidden])){grid-template-columns:var(--rail-left) 1fr}.rail-left{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;padding:32px 20px;background-color:#212120;background-image:none;scrollbar-width:none;-ms-overflow-style:none}.rail-left::-webkit-scrollbar{display:none}#main-nav{display:flex;flex-direction:column;gap:4px}.nav-link{font-family:'IBM Plex Sans',sans-serif;font-size:17px;color:var(--stone);padding:6px 8px;border-radius:4px;transition:color 120ms ease,background 120ms ease;display:flex;align-items:center;gap:8px}.nav-link:hover{color:var(--cream)}.nav-link.active{color:var(--cream);background:rgba(237,232,221,0.12);border-radius:6px}.rail-divider{height:0;background:none;margin:24px 0;opacity:1}.rail-stats{display:flex;flex-direction:column;gap:8px}.rail-stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:2px 0}.rail-stat-label{font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:var(--stone)}.rail-stat-value{font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-size:15px;color:var(--cream);flex-shrink:0}.rail-comp-name{font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:var(--cream);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-comp-gap{height:10px}.rail-spacer{flex:1}.rail-logo{width:100px;padding:20px 0 0;opacity:1;align-self:flex-start}.rail-panel-divider{height:1px;background:rgba(237,232,221,0.08);margin:20px 0}.col-middle{padding:40px 48px;min-width:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.col-middle::-webkit-scrollbar{display:none}.rail-right{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;padding:32px 16px;border-left:1px solid var(--stone);scrollbar-width:none;-ms-overflow-style:none}.rail-right::-webkit-scrollbar{display:none}.rail-right-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.rail-right-title{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);letter-spacing:0.08em}.rail-right-link{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);transition:color 120ms}.rail-right-link:hover{color:var(--cream)}#rail-history{flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}#rail-history::-webkit-scrollbar{display:none}.rail-history-row{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:8px;padding:8px 12px;margin-bottom:6px;background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:6px}.rail-history-row:last-child{margin-bottom:0}.rail-history-row--active{background:rgba(240,234,214,0.06);border-radius:4px}.rail-history-date{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone)}.rail-history-delta{font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-size:14px;font-weight:500}.rail-sug-row{display:block;width:100%;min-width:0;box-sizing:border-box;overflow-wrap:anywhere;text-align:left;padding:10px 12px;margin-bottom:6px;background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:6px;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--cream);cursor:pointer;transition:background 120ms}.rail-sug-row:hover{background:rgba(240,234,214,0.06)}.task-text-wrap,.fixed-check-row>span,.ql-name,.row-name,.task-virtue-name,.goals-box-text,.goals-felt,.planner-pill,.rail-plan-step,.rail-plan-current,.rail-plan-done,.modal-fixed-task-item span,.settings-card-name,.history-detail-row,.history-detail-section,.onboarding-list li{min-width:0;overflow-wrap:anywhere}.planner-pill{max-width:100%}.modal-fixed-task-item span[data-action="fixed-task-text"]{flex:1;padding-right:8px}.rail-sug-row:last-child{margin-bottom:0}.rail-history-empty{font-size:14px;color:var(--stone);padding:12px 0}.rail-right-footer{padding-top:16px;margin-top:16px}h2{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:20px;color:var(--cream);margin-bottom:16px}h3{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:14px;color:var(--stone);letter-spacing:0.08em;margin-bottom:12px}p{color:var(--cream);font-size:15px;margin-bottom:6px}.label-tiny{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);letter-spacing:0.1em}.section-label{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);letter-spacing:0.1em;margin:28px 0 12px}.section-label:first-child{margin-top:0}.hero-card{background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:8px;padding:20px 24px;margin-bottom:16px}.today-hero-row{display:block}.today-dayplan{display:none}.hero-date-short{display:none}.today-col{display:block;background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:8px;padding:20px;margin-bottom:16px}.today-col:last-child{margin-bottom:0}.col-header{font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:var(--stone);letter-spacing:0.1em;margin-bottom:16px}.col-header:not(:first-child){margin-top:24px}.hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.hero-date{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone)}.hero-delta-row{display:flex;align-items:flex-end;gap:20px;margin-bottom:8px}.hero-delta{font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-weight:500;font-size:56px;line-height:1;color:var(--cream)}.hero-trend{display:flex;align-items:flex-end;gap:3px;height:36px;padding-bottom:4px}.trend-bar{width:7px;border-radius:2px 2px 0 0;background:var(--stone);opacity:0.5;min-height:2px;transition:height 120ms ease}.trend-bar-pos{background:var(--amber);opacity:1}.trend-bar-neg{background:var(--vice-red);opacity:0.7}.trend-bar-zero{background:var(--stone);opacity:0.4}.trend-bar-empty{background:none;border:1px solid var(--stone);opacity:0.2;min-height:8px}.ql-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ql-tile{background:#252522;border:1px solid rgba(237,232,221,0.06);border-radius:6px;padding:12px 14px;box-shadow:none}.ql-tile-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.ql-name{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--cream)}.task-virtue-block{margin-bottom:16px}.task-virtue-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.task-virtue-name{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--cream)}.task-list{display:flex;flex-direction:column}.task-row{display:grid;grid-template-columns:24px 1fr auto;align-items:start;gap:8px;padding:10px 0}.task-row>input[type="checkbox"]{margin-top:6px}.task-row button[data-action="task-delete"],.task-row button[data-action="carryover-dismiss"]{margin-top:-2px}.task-row-actions{display:flex;align-items:center;gap:6px}.task-edit-pencil{display:flex;align-items:center;justify-content:center;background:var(--btn-bg);border:none;color:var(--btn-text);border-radius:6px;padding:6px 8px;cursor:pointer;transition:background 120ms}.task-edit-pencil:hover{background:var(--btn-bg-hover)}.task-text-wrap{font-size:17px;color:var(--cream);min-width:0;word-break:break-word;line-height:1.4;padding-top:1px}.task-text-wrap button,.task-text-wrap button[data-action]{position:relative;color:inherit}.task-text-wrap.done{color:var(--stone)}.task-text-strike{position:absolute;inset:0;color:inherit;text-decoration-line:line-through;text-decoration-color:var(--stone);clip-path:inset(0 100% 0 0);transition:clip-path 450ms ease-in-out;pointer-events:none}.done .task-text-strike{clip-path:inset(0 0% 0 0)}.task-subheader{font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:var(--stone);padding:8px 0 3px 0;letter-spacing:0.02em}.task-add-row{display:flex;align-items:center;gap:8px;padding:6px 0}.task-add-row input[data-action="task-add-input"]{flex:1;width:auto;max-width:none}.fixed-check-row{display:grid;grid-template-columns:24px 1fr;align-items:center;padding:10px 0;gap:8px}.fixed-check-row input[type="checkbox"]{cursor:pointer;accent-color:var(--cream)}.fixed-check-row>span{font-size:17px;line-height:1.4;color:var(--cream);position:relative}.fixed-check-row>span.done{color:var(--stone)}.modal-fixed-tasks{margin-top:12px}.modal-fixed-task-list{max-height:200px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.modal-fixed-task-list::-webkit-scrollbar{display:none}.modal-fixed-task-item{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(154,149,144,0.2);font-size:14px;color:var(--cream)}.modal-fixed-task-item:last-of-type{border-bottom:none}.modal-fixed-task-add-row{display:flex;gap:8px;margin-top:8px;align-items:center}.pill-group{display:flex;flex-wrap:nowrap;gap:6px}button[data-action="virtue-pill"]{flex:1 1 0;font-family:'IBM Plex Sans',sans-serif;font-size:14px;padding:12px 10px;border:1px solid transparent;border-radius:6px;background:var(--btn-bg);color:var(--btn-text);cursor:pointer;transition:border-color 120ms,color 120ms,background 120ms;min-height:44px}button[data-action="virtue-pill"]:hover{background:var(--btn-bg-hover);color:var(--cream)}button[data-action="virtue-pill"][aria-pressed="true"]{background:var(--cream);color:var(--charcoal);border-color:var(--cream)}.vice-row{padding:10px 0}.row-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.row-name{font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:var(--cream)}.row-score{font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-weight:500;font-size:15px;color:var(--stone);flex-shrink:0}input[type="text"],input[type="number"]{font-family:'IBM Plex Sans',sans-serif;font-size:16px;background:var(--charcoal);color:var(--cream);border:1px solid var(--stone);border-radius:4px;padding:7px 10px;outline:none;transition:border-color 120ms;min-height:36px}input[type="text"]:focus,input[type="number"]:focus{border-color:var(--cream)}input[type="number"]{width:72px}input[type="text"]{width:100%;max-width:280px}.input-narrow{width:64px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}input[data-action="task-edit-input"]{width:100%;max-width:100%;min-height:32px;padding:3px 8px;font-size:16px}select{font-family:'IBM Plex Sans',sans-serif;font-size:14px;background:var(--charcoal);color:var(--cream);border:1px solid var(--stone);border-radius:4px;padding:7px 10px;outline:none;cursor:pointer;min-height:36px}select:focus{border-color:var(--cream)}input[type="range"]{accent-color:var(--cream);width:100%;max-width:200px;cursor:pointer}input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:15px;height:15px;min-width:15px;border:1px solid var(--stone);border-radius:2px;background:var(--charcoal);cursor:pointer;position:relative;transition:background 120ms,border-color 120ms;margin-top:2px}input[type="checkbox"]:checked{background:var(--cream);border-color:var(--cream)}input[type="checkbox"]:checked::after{content:'';position:absolute;left:4px;top:1px;width:4px;height:8px;border:2px solid var(--charcoal);border-top:none;border-left:none;transform:rotate(45deg)}input[type="radio"]{-webkit-appearance:none;appearance:none;width:14px;height:14px;min-width:14px;border:1px solid var(--stone);border-radius:50%;background:var(--charcoal);cursor:pointer;position:relative;transition:border-color 120ms}input[type="radio"]:checked{border-color:var(--cream)}input[type="radio"]:checked::after{content:'';position:absolute;left:3px;top:3px;width:6px;height:6px;border-radius:50%;background:var(--cream)}#onboarding-continue-1,#onboarding-continue-2,#onboarding-start{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:14px;padding:11px 22px;background:var(--cream);color:var(--charcoal);border:none;border-radius:4px;cursor:pointer;transition:opacity 120ms;min-height:44px}#onboarding-continue-1:hover,#onboarding-continue-2:hover,#onboarding-start:hover{opacity:0.85}#onboarding-continue-1:disabled,#onboarding-continue-2:disabled,#onboarding-start:disabled{opacity:0.4;cursor:not-allowed}button[data-action="virtue-save"],button[data-action="vice-save"]{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:14px;padding:11px 22px;background:var(--btn-bg);color:var(--btn-text);border:none;border-radius:4px;cursor:pointer;transition:background 120ms;min-height:44px}button[data-action="virtue-save"]:hover,button[data-action="vice-save"]:hover{background:var(--btn-bg-hover)}button[data-action="virtue-save"]:disabled,button[data-action="vice-save"]:disabled{opacity:0.4;cursor:not-allowed}button[data-action="browse-templates"],button[data-action="fixed-task-add"],button[data-action="fixed-task-edit-save"]{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:4px;padding:8px 14px;cursor:pointer;transition:background 120ms}button[data-action="browse-templates"]:hover,button[data-action="fixed-task-add"]:hover,button[data-action="fixed-task-edit-save"]:hover{background:var(--btn-bg-hover)}.btn-ghost{font-family:'IBM Plex Sans',sans-serif;font-size:14px;background:none;border:1px solid var(--stone);border-radius:4px;color:var(--stone);padding:7px 14px;cursor:pointer;transition:color 120ms,border-color 120ms;min-height:36px}.btn-ghost:hover{color:var(--cream);border-color:var(--cream)}.hero-ns-btn{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 8px;cursor:pointer;transition:background 120ms}.hero-ns-btn:hover{background:var(--btn-bg-hover)}.btn-ghost-full{font-family:'IBM Plex Sans',sans-serif;font-size:14px;background:none;border:none;color:var(--stone);padding:0;cursor:pointer;transition:color 120ms;text-align:left}.btn-ghost-full:hover{color:var(--cream)}button[data-action="user-id-change"],button[data-action="history-toggle"],button[data-action="task-add-open"],button[data-action="task-edit-open"],button[data-action="virtue-cancel"],button[data-action="vice-cancel"],button[data-action="history-export-csv"],button[data-action="export-csv"]{font-family:'IBM Plex Sans',sans-serif;font-size:14px;background:none;border:none;color:var(--stone);cursor:pointer;padding:0;transition:color 120ms}button[data-action="user-id-change"]:hover,button[data-action="history-toggle"]:hover,button[data-action="task-add-open"]:hover,button[data-action="task-edit-open"]:hover,button[data-action="virtue-cancel"]:hover,button[data-action="vice-cancel"]:hover,button[data-action="history-export-csv"]:hover,button[data-action="export-csv"]:hover{color:var(--cream)}button[data-action="task-delete"],button[data-action="carryover-dismiss"]{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 8px;cursor:pointer;margin-left:8px;transition:background 120ms}button[data-action="task-delete"]:hover,button[data-action="carryover-dismiss"]:hover{background:var(--btn-bg-hover)}button[data-action="delete-all-data"]{font-family:'IBM Plex Sans',sans-serif;font-size:14px;background:none;border:none;color:var(--stone);cursor:pointer;padding:0;transition:color 120ms}button[data-action="delete-all-data"]:hover{color:var(--cream)}.history-tabs{display:flex;gap:8px;margin-bottom:20px}button[data-action="history-range"]{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 8px;cursor:pointer;transition:background 120ms,color 120ms}button[data-action="history-range"]:hover:not(:disabled):not([aria-pressed="true"]){background:var(--btn-bg-hover)}button[data-action="history-range"][aria-pressed="true"]{background:var(--btn-selected-bg);color:var(--btn-selected-text)}button[data-action="history-range"]:disabled{opacity:0.3;cursor:not-allowed}button[data-action="goals-tier"]{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 8px;cursor:pointer;transition:background 120ms,color 120ms}button[data-action="goals-tier"]:hover:not([aria-pressed="true"]){background:var(--btn-bg-hover)}button[data-action="goals-tier"][aria-pressed="true"]{background:var(--btn-selected-bg);color:var(--btn-selected-text)}button[data-action="goals-outcome"]{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 8px;cursor:pointer;transition:background 120ms,color 120ms}button[data-action="goals-outcome"]:hover:not([aria-pressed="true"]){background:var(--btn-bg-hover)}button[data-action="goals-outcome"][aria-pressed="true"]{background:var(--btn-selected-bg);color:var(--btn-selected-text)}.goals-summary{font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";color:var(--stone);font-size:14px;margin-bottom:16px}.goals-add-row{display:flex;gap:10px;align-items:center;margin-bottom:6px}.goals-add-row input[type="text"]{flex:1;max-width:none}.goals-date-picker{position:relative;flex-shrink:0}.goals-date-input{font-family:'IBM Plex Sans',sans-serif;font-size:16px;background:var(--charcoal);color:var(--cream);border:1px solid var(--stone);border-radius:4px;padding:7px 10px;min-height:36px;cursor:pointer;text-align:left}.goals-date-input--empty{color:var(--stone)}.goals-calendar{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:280px;background:#1e1e1b;border:1px solid rgba(237,232,221,0.1);border-radius:10px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,0.4)}.goals-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.goals-calendar-nav{background:none;border:none;color:var(--stone);font-size:16px;line-height:1;padding:4px 8px;cursor:pointer;transition:color 120ms}.goals-calendar-nav:hover{color:var(--cream)}.goals-calendar-month{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--cream)}.goals-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.goals-calendar-weekdays span{text-align:center;font-size:14px;color:var(--stone)}.goals-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}.goals-calendar-day{width:32px;height:32px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:var(--cream);font-size:14px;cursor:pointer;transition:background 120ms,color 120ms}.goals-calendar-day:hover:not(:disabled):not(.goals-calendar-day--selected){background:var(--btn-bg-hover)}.goals-calendar-day--muted{color:var(--stone);opacity:0.5}.goals-calendar-day--today{box-shadow:inset 0 0 0 1px var(--stone)}.goals-calendar-day--disabled{color:var(--stone);opacity:0.3;cursor:not-allowed}.goals-calendar-day--selected{background:var(--btn-bg);color:var(--btn-text)}.goals-primary-btn{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:4px;padding:8px 16px;cursor:pointer;flex-shrink:0;transition:background 120ms}.goals-primary-btn:hover{background:var(--btn-bg-hover)}.goals-ghost-btn{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);background:none;border:none;border-radius:4px;padding:8px 14px;cursor:pointer;transition:color 120ms}.goals-ghost-btn:hover{color:var(--cream)}.goals-add-hint{color:var(--stone);font-size:14px;margin-bottom:24px}.goals-section-heading{font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:var(--stone);margin:20px 0 10px}.goals-empty{color:var(--stone);font-size:14px;margin-bottom:8px}.goals-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.goals-box{position:relative;background:#1e1e1b;border:none;border-radius:8px;padding:16px}.goals-box-text{color:var(--cream);font-size:15px;padding-right:28px}.goals-box-delete{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--stone);cursor:pointer;padding:0;line-height:0;transition:color 120ms}.goals-box-delete:hover{color:var(--cream)}.goals-box-meta{color:var(--stone);font-size:14px;margin-top:4px}.goals-box-lock{display:flex;align-items:center;gap:6px;color:var(--stone);font-size:14px;margin-top:6px}.goals-divider{height:1px;background:rgba(237,232,221,0.08);margin:14px 0}.goals-reckon .history-tabs{margin-bottom:12px}.goals-field-label{color:var(--stone);font-size:14px;margin:10px 0 6px}.goals-reckon input[type="text"]{display:block;width:100%;max-width:none}.goals-reckon-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.goals-box-reckoned{display:flex;gap:16px;align-items:flex-start;padding-right:40px}.goals-rk-col{flex:1;min-width:0}.goals-rk-col .goals-box-text{padding-right:0}.goals-rk-felt{text-align:right}.goals-felt{font-size:14px;line-height:1.4}.planner-pill{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 8px;cursor:pointer;transition:background 120ms,color 120ms}.planner-pill:hover:not([aria-pressed="true"]){background:var(--btn-bg-hover)}.planner-pill[aria-pressed="true"]{background:var(--btn-selected-bg);color:var(--btn-selected-text)}.planner-picker,.planner-suggestions{flex-wrap:wrap}.planner-link{display:inline-block;margin-top:14px;background:none;border:none;color:var(--stone);font-family:'IBM Plex Sans',sans-serif;font-size:14px;cursor:pointer;padding:0;transition:color 120ms}.planner-link:hover{color:var(--cream)}.planner-step-box .goals-box-text{padding-right:104px}.planner-step-ctrls{position:absolute;top:14px;right:14px;display:flex;gap:10px;align-items:center}.planner-reorder{background:none;border:none;color:var(--stone);font-family:'IBM Plex Sans',sans-serif;font-size:14px;line-height:1;padding:0;cursor:pointer;transition:color 120ms}.planner-reorder:hover:not(:disabled){color:var(--cream)}.planner-reorder:disabled{opacity:0.3;cursor:not-allowed}.planner-step-del,.planner-step-edit{background:none;border:none;color:var(--stone);padding:0;line-height:0;cursor:pointer;transition:color 120ms}.planner-step-del:hover,.planner-step-edit:hover{color:var(--cream)}.planner-delete-routine{margin-top:24px}.planner-toggle-row{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone)}.planner-toggle{width:34px;height:20px;border-radius:10px;border:1px solid var(--stone);background:none;cursor:pointer;position:relative;padding:0;flex-shrink:0;transition:background 120ms,border-color 120ms}.planner-toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--stone);transition:left 120ms,background 120ms}.planner-toggle[aria-pressed="true"]{background:var(--cream);border-color:var(--cream)}.planner-toggle[aria-pressed="true"] .planner-toggle-knob{left:16px;background:var(--charcoal)}.planner-step-time{font-feature-settings:"tnum";color:var(--stone);margin-right:10px}.planner-step-edit-row{display:flex;gap:8px;align-items:center;width:100%}.planner-time-picker{position:relative;flex-shrink:0}.planner-time-toggle{font-family:'IBM Plex Sans',sans-serif;font-size:16px;font-feature-settings:"tnum";background:var(--charcoal);color:var(--cream);border:1px solid var(--stone);border-radius:4px;padding:7px 10px;min-height:36px;min-width:84px;cursor:pointer;text-align:left}.planner-time-toggle--empty{color:var(--stone)}.planner-time-pop{position:absolute;left:0;z-index:30;width:148px;background:#1e1e1b;border:1px solid rgba(237,232,221,0.1);border-radius:10px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,0.4)}.planner-time-pop--down{top:calc(100% + 8px)}.planner-time-pop--up{bottom:calc(100% + 8px)}.planner-time-cols{display:flex;gap:4px}.planner-time-col{position:relative;flex:1;max-height:216px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;gap:2px}.planner-time-col::-webkit-scrollbar{display:none}.planner-time-opt{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-feature-settings:"tnum";background:none;border:none;border-radius:4px;color:var(--cream);padding:6px 0;text-align:center;cursor:pointer;flex-shrink:0;transition:background 120ms,color 120ms}.planner-time-opt:hover{background:rgba(237,232,221,0.08)}.planner-time-opt--selected{background:var(--cream);color:var(--charcoal)}.planner-time-clear{margin:8px 0 2px 4px}.rail-plan-step{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);opacity:0.75;padding:4px 0;line-height:1.35}.rail-plan-current{font-family:'IBM Plex Sans',sans-serif;font-size:17px;font-weight:500;color:var(--cream);padding:6px 0;line-height:1.35}.rail-plan-time{font-size:14px;font-feature-settings:"tnum";color:var(--stone);margin-right:8px}.rail-plan-done{font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:var(--stone);padding:6px 0 10px}.rail-plan-next-btn{margin-top:12px}.rail-plan-step,.rail-plan-current,.rail-plan-done{transition:transform 220ms ease,opacity 220ms ease,color 220ms ease}.rail-plan-roll-out{transform:translateY(-14px);opacity:0}.rail-plan-current.rail-plan-roll-out{color:var(--stone)}.rail-plan-roll-in{transform:translateY(14px);opacity:0}.template-list{margin-top:16px}.template-name{color:var(--cream);font-family:'IBM Plex Sans',sans-serif;font-size:16px;margin-bottom:4px}.template-desc{color:var(--stone);font-size:14px;margin-bottom:14px}.template-group-label{color:var(--stone);font-family:'IBM Plex Sans',sans-serif;font-size:14px;letter-spacing:0.1em;margin:12px 0 6px}.template-preview{display:flex;flex-direction:column;gap:4px}.template-preview-row{display:flex;justify-content:space-between;color:var(--cream);font-size:14px}.template-pts{color:var(--stone);font-family:'IBM Plex Sans',sans-serif}.template-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.page-title{font-family:'IBM Plex Sans',sans-serif;font-size:24px;font-weight:500;color:var(--cream);margin-bottom:4px}.chart-card{background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:8px;padding:20px;margin-bottom:20px}.chart-card-title{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);letter-spacing:0.1em;margin-bottom:12px}.chart-wrap{height:220px;width:100%;position:relative}.history-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stat-card{background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:8px;padding:16px 20px}.stat-label{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);letter-spacing:0.1em;margin-bottom:8px}.stat-value{font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-size:28px;color:var(--cream)}.stat-value.amber{color:var(--amber)}.stat-value.vice{color:var(--vice-red)}.stat-sublabel{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);margin-top:4px}.history-detail-section{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone)}.history-day-row{padding:12px 0}.history-day-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.history-day-expand{display:flex;gap:14px;align-items:baseline}.history-day-date{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--cream)}.history-day-delta{font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-size:14px;font-weight:500}.history-day-detail{margin-top:10px;padding-left:0}.history-detail-row{display:flex;justify-content:space-between;gap:12px;padding:2px 0 2px 12px;font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-size:14px;color:var(--stone)}.history-delta-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0 0;font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-size:14px;font-weight:500}.settings-section-header{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);letter-spacing:0.1em;margin-bottom:16px}.settings-section-header:not(:first-child){margin-top:32px}.settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.settings-header-row{display:flex;align-items:center;justify-content:space-between}.settings-header-title{font-size:20px}@media (max-width:1100px){.settings-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.settings-grid{grid-template-columns:1fr}}.settings-card{position:relative;display:flex;flex-direction:column;background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:8px;padding:20px}.settings-card-name{font-family:'IBM Plex Sans',sans-serif;font-size:15px;color:var(--cream);margin-bottom:4px;padding-right:20px}.settings-card-badge{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone)}.settings-card-points{display:block;font-family:'IBM Plex Sans',sans-serif;font-feature-settings:"tnum";font-size:20px;color:var(--amber);margin-top:auto;padding-top:12px}.settings-card-points.vice{color:var(--vice-red)}.settings-card-edit{display:block;width:100%;background:var(--btn-bg);border:none;color:var(--btn-text);font-family:'IBM Plex Sans',sans-serif;font-size:14px;padding:8px;border-radius:4px;margin-top:8px;cursor:pointer;transition:background 120ms}.settings-card-edit:hover{background:var(--btn-bg-hover)}.settings-card-delete{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--stone);cursor:pointer;font-size:14px;line-height:1;padding:0;transition:color 120ms}.settings-card-delete:hover{color:var(--cream)}.data-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:10px}.a2hs-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:200;display:flex;align-items:center;gap:14px;padding:14px 14px 14px 18px;background:#201e1a;border:1px solid rgba(154,149,144,0.28);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,0.45)}.a2hs-text{flex:1;font-size:14px;line-height:1.45;color:#ede8dd}.a2hs-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.a2hs-btn{padding:9px 16px;font-size:14px;color:#191713;background:#b86a2e;border:none;border-radius:6px;cursor:pointer}.a2hs-dismiss{padding:4px 8px;font-size:20px;line-height:1;color:rgba(154,149,144,0.8);background:none;border:none;cursor:pointer}@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}}.settings-privacy-note{margin-top:18px;max-width:520px;font-size:14px;line-height:1.5;color:rgba(154,149,144,0.75)}.modal-backdrop{position:fixed;inset:0;background:rgba(22,22,20,0.85);display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.modal-backdrop::-webkit-scrollbar{display:none}.modal{width:min(480px,100%);background:#1e1e1b;border:1px solid var(--stone);border-radius:4px;padding:32px;color:var(--cream);margin:auto;flex-shrink:0}.modal-points-warn{color:var(--vice-red);font-size:14px;margin-top:6px}.modal h3{font-family:'IBM Plex Sans',sans-serif;font-size:16px;font-weight:500;color:var(--cream);letter-spacing:0;margin-top:0;margin-bottom:20px}.modal label{display:flex;flex-direction:column;gap:5px;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);margin-top:14px}.modal label input[type="text"],.modal label input[type="number"]{max-width:100%}.modal-radio-group{display:flex;flex-direction:column;gap:8px}.modal-radio-group label{flex-direction:row;align-items:center;gap:8px;color:var(--cream);font-size:14px;margin-top:0}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.app-shell:has(#onboarding:not([hidden])) .rail-left,.app-shell:has(#onboarding:not([hidden])) .rail-right{display:none}.app-shell:has(#onboarding:not([hidden])){grid-template-columns:1fr}.app-shell:has(#onboarding:not([hidden])) .col-middle{display:flex;align-items:center;justify-content:center;min-height:100vh}#onboarding-step-1,#onboarding-step-2,#onboarding-step-3{max-width:480px;width:100%;padding:60px 40px}#onboarding-step-1 h2{font-family:'IBM Plex Sans',sans-serif;font-size:48px;color:var(--cream);margin-bottom:20px}#onboarding-step-1 p{font-family:'IBM Plex Sans',sans-serif;font-size:16px;color:var(--cream);line-height:1.7}#onboarding-continue-1,#onboarding-continue-2,#onboarding-start{padding:12px 32px;border-radius:4px}#onboarding-step-2 input[type="text"],#onboarding-step-2 input[type="number"],#onboarding-step-3 input[type="text"],#onboarding-step-3 input[type="number"],#onboarding-step-3 select{background:transparent;border:1px solid rgba(237,232,221,0.3);color:var(--cream)}.onboarding-dots{display:flex;gap:8px;margin-top:32px}.onboarding-dot{width:6px;height:6px;border-radius:50%;background:var(--stone)}.onboarding-dot.active{background:var(--cream)}.onboarding-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:16px;margin-bottom:0}.onboarding-form label{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);display:flex;flex-direction:column;gap:4px;cursor:pointer}.onboarding-list{margin:0;padding:0}.onboarding-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--cream)}.onboarding-empty{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);padding:8px 0}.onboarding-hint{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);margin-top:10px}#onboarding-choice{max-width:480px;width:100%;padding:60px 40px}#onboarding-choice h2{font-family:'IBM Plex Sans',sans-serif;font-size:24px;color:var(--cream);margin-bottom:10px}#onboarding-choice p{font-family:'IBM Plex Sans',sans-serif;font-size:16px;color:var(--stone);line-height:1.6}.onboarding-choice-grid{display:flex;flex-direction:column;gap:12px;margin-top:28px}.onboarding-choice-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:20px;background:#1e1e1b;border:1px solid rgba(237,232,221,0.12);border-radius:8px;cursor:pointer;transition:border-color 0.15s ease}.onboarding-choice-card:hover{border-color:rgba(237,232,221,0.35)}.onboarding-choice-title{font-family:'IBM Plex Sans',sans-serif;font-size:17px;color:var(--cream)}.onboarding-choice-sub{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone)}#onboarding-personas{max-width:560px;width:100%;padding:48px 40px}.app-shell:has(#onboarding-personas:not([hidden])) .col-middle{align-items:flex-start}.template-type-tag{color:var(--stone);font-size:13px;letter-spacing:0.06em}.template-fixed-tasks{color:var(--stone);font-size:13px;line-height:1.5;margin:2px 0 8px}.license-wall{position:fixed;inset:0;z-index:9999}.license-left{width:45%;background-color:var(--charcoal);background-image:url('assets/bg-pattern.jpg.png');background-repeat:repeat;background-size:300px auto;display:flex;align-items:center;justify-content:center}.license-logo{max-width:300px;width:90%}.license-right{width:55%;background-color:#0f0f0e;display:flex;align-items:center;justify-content:center}.license-content{max-width:420px;width:100%;margin:auto;padding:40px}.license-content h2{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:32px;color:var(--cream);margin-bottom:8px}.license-content p{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);margin-bottom:40px}.license-input{display:block;width:100%;font-family:'IBM Plex Sans',sans-serif;font-size:16px;background:transparent;border:1px solid rgba(237,232,221,0.3);color:var(--cream);padding:14px 16px;outline:none}.license-input::placeholder{color:var(--stone)}.license-input:focus{border-color:var(--cream)}.license-submit{display:block;width:100%;margin-top:12px;background:var(--cream);color:var(--charcoal);font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:14px;padding:14px;border:none;cursor:pointer;transition:opacity 120ms}.license-submit:hover{opacity:0.85}.license-buy-btn{box-sizing:border-box;text-align:center;text-decoration:none}.license-submit:disabled{opacity:0.4;cursor:not-allowed}.license-error{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--vice-red);margin-top:8px;min-height:18px}.license-founding-link{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);margin-top:48px;transition:color 120ms}.license-founding-link:hover{color:var(--cream)}#splash{display:flex;position:fixed;inset:0;z-index:9999;background:#161614;align-items:center;justify-content:center}.splash-logo{width:280px;height:280px;display:block}@media (max-width:768px){.license-wall{flex-direction:column}.license-left{width:100%;height:35vh}.license-right{width:100%;flex:1}.license-content{padding:32px 24px}}.empty-state{font-size:14px;color:var(--stone);text-align:center;padding:24px 0}[data-logged-at]{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--stone);min-height:16px}@media (max-width:900px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.app-shell:has(#settings:not([hidden])){grid-template-columns:1fr}.rail-left{position:static;height:auto;flex-direction:row;align-items:center;padding:14px 16px 10px;border:none;background:none}.rail-logo{width:84px;padding:0;align-self:center}.rail-spacer{display:none}.rail-stats{display:none}#main-nav{position:fixed;left:0;right:0;bottom:0;z-index:90;flex-direction:row;justify-content:space-around;align-items:center;gap:0;background:#212120;border-top:1px solid rgba(237,232,221,0.08);padding:10px 8px calc(46px + env(safe-area-inset-bottom,0px))}.nav-link{flex:1 1 0;justify-content:center;align-items:center;gap:0;padding:4px 0;font-size:0;border-radius:0}.nav-link svg{width:auto;height:24px}.nav-link.active{background:none;color:var(--cream)}.col-middle{padding:20px 16px calc(100px + env(safe-area-inset-bottom,0px))}.rail-right{position:static;height:auto;border-left:none;border-top:1px solid var(--stone);padding:20px 16px calc(100px + env(safe-area-inset-bottom,0px))}.hero-delta{font-size:40px}.ql-grid{grid-template-columns:1fr 1fr}.history-stats-row{grid-template-columns:1fr 1fr}button[data-action="virtue-pill"]{min-height:40px}#today-root.has-dayplan .today-hero-row{display:flex;gap:12px;align-items:stretch}#today-root.has-dayplan .today-hero-row .hero-card{position:relative;flex:0 0 45%;min-width:0;padding:16px 16px 62px}#today-root.has-dayplan .hero-top{display:block}#today-root.has-dayplan .hero-date-full{display:none}#today-root.has-dayplan .hero-date-short{display:inline}#today-root.has-dayplan .hero-delta-row{gap:8px;flex-wrap:wrap}#today-root.has-dayplan .hero-delta{font-size:34px}#today-root.has-dayplan .hero-ns-btn{position:absolute;left:16px;right:16px;bottom:16px;padding:9px 8px;font-size:14px;text-align:center}#today-root.has-dayplan .today-dayplan{display:flex;flex-direction:column;flex:1 1 0;min-width:0;background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:8px;padding:16px;margin-bottom:16px}#today-root.has-dayplan .today-dayplan .rail-stat-label{display:none}#today-root.has-dayplan .today-dayplan .rail-plan-next-btn{margin-top:auto;width:100%;padding:9px 8px;font-size:14px;text-align:center}.app-shell:has(#today:not([hidden])) .rail-right{display:none}}@media (max-width:480px){.ql-grid{grid-template-columns:1fr}.hero-delta{font-size:36px}}.card-section-inner{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px}.card-controls{display:flex;gap:8px}.card-type-btn{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 8px;cursor:pointer;transition:background 120ms,color 120ms}.card-type-btn:hover:not(:disabled):not(.active-card-btn){background:var(--btn-bg-hover)}.active-card-btn{background:var(--btn-selected-bg);color:var(--btn-selected-text)}.card-preview-wrap{width:540px;height:540px;flex-shrink:0}@media (min-width:601px){.card-preview-wrap{width:min(540px,calc(100vh - 210px));aspect-ratio:1 / 1;height:auto;overflow:hidden}}.delta-card{width:540px;height:540px;background:#161614;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;isolation:isolate;transform-origin:top left}.card-export-row{display:flex}.card-save-btn{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 8px;cursor:pointer;transition:background 120ms}.card-save-btn:hover{background:var(--btn-bg-hover)}.card-save-overlay{position:fixed;inset:0;z-index:10000;background:rgba(10,10,9,0.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.card-save-overlay-img{width:min(86vw,78vh,440px);height:auto;border-radius:8px}.card-save-overlay-hint{font-family:'IBM Plex Sans',sans-serif;font-size:14px;line-height:1.5;color:var(--stone);text-align:center;max-width:320px}.card-save-overlay-close{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:10px 26px;cursor:pointer}.card-save-overlay-close:hover{background:var(--btn-bg-hover)}@media (max-width:600px){.card-preview-wrap{width:min(540px,100%);aspect-ratio:1 / 1;height:auto;overflow:hidden}}.license-or{position:relative;text-align:center;margin:22px 0 18px}.license-or::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(154,149,144,0.22)}.license-or span{position:relative;padding:0 12px;background:var(--charcoal);font-family:'DM Mono',monospace;font-size:11px;letter-spacing:0.08em;color:var(--stone)}.license-key-label{display:block;margin-bottom:10px;font-family:'IBM Plex Sans',sans-serif;font-size:13px;color:var(--stone)}.license-submit-secondary{background:transparent;color:var(--cream);border:1px solid rgba(237,232,221,0.28)}.license-submit-secondary:hover{border-color:var(--cream);opacity:1}.history-view-toggle{display:flex;gap:6px;margin:14px 0 18px}.history-view-btn{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;padding:6px 12px;cursor:pointer;transition:background 120ms,color 120ms}.history-view-btn.active{background:var(--btn-selected-bg);color:var(--btn-selected-text)}.an-empty{color:var(--stone);font-size:14px;padding:28px 0}.an-hero{background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:8px;padding:20px 24px;margin-bottom:18px}.an-hero-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0}.an-hero-label{font-size:15px;color:var(--cream,#ede8dd);line-height:1.4}.an-hero-value{font-size:30px;font-weight:500;color:var(--cream,#ede8dd);white-space:nowrap}.an-hero-value.amber{color:#c17f3e}.an-hero-value.vice{color:#e05555}.an-hero-foot{margin-top:12px;padding-top:12px;border-top:1px solid rgba(237,232,221,0.1);font-size:12px;color:var(--stone)}.an-block{background:#1e1e1b;border:1px solid rgba(237,232,221,0.06);border-radius:8px;padding:20px;margin-bottom:12px}.an-block-title{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);margin-bottom:10px}.an-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;font-size:13px}.an-line-label{color:var(--stone)}.an-line-value{color:var(--cream,#ede8dd);white-space:nowrap}.an-line-value.amber{color:#c17f3e}.an-line-value.vice{color:#e05555}.an-section-heading{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);margin:26px 0 10px}.an-vice-head,.an-virtue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.an-vice-name{font-size:16px;color:var(--cream,#ede8dd)}.an-vice-cost{font-size:20px;font-weight:500;white-space:nowrap}.an-vice-cost.vice{color:#e05555}.an-virtue-head{justify-content:flex-start}.an-virtue-names{min-width:0}.an-virtue-name{font-size:16px;color:var(--cream,#ede8dd);overflow-wrap:anywhere}.an-virtue-sub{font-size:12px;color:var(--stone);margin-top:2px}.an-ring{position:relative;width:44px;height:44px;flex-shrink:0}.an-ring-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--cream,#ede8dd)}.an-bar{height:4px;border-radius:2px;background:rgba(237,232,221,0.1);overflow:hidden;margin:8px 0 10px}.an-bar-fill{height:100%;border-radius:2px;background:var(--stone)}.an-bar-fill.amber{background:#c17f3e}.an-bar-fill.vice{background:#9c3a1f}.an-sub-title{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);margin:14px 0 6px}.an-mover{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:13px}.an-mover-text{color:var(--cream,#ede8dd);overflow-wrap:anywhere}.an-mover-count{color:var(--stone);white-space:nowrap;font-size:12px}.an-mover-count.vice{color:#e05555}.an-step{margin-bottom:4px}.an-step-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px}.an-step-label{color:var(--cream,#ede8dd);overflow-wrap:anywhere}.an-step-value{color:var(--stone);white-space:nowrap;font-size:12px}.an-note{margin-top:10px;padding-top:10px;border-top:1px solid rgba(237,232,221,0.1);font-size:13px;color:var(--cream,#ede8dd);line-height:1.5}.an-footnote{margin:22px 0 8px;font-size:12px;color:var(--stone);line-height:1.5}@media (max-width:900px){.an-hero{padding:16px}.an-hero-value{font-size:26px}.an-hero-label{font-size:14px}}.vice-toggle{width:100%;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-text);background:var(--btn-bg);border:1px solid transparent;border-radius:6px;padding:12px 10px;margin-top:10px;cursor:pointer;transition:background 120ms,color 120ms,border-color 120ms}.vice-toggle:hover{background:var(--btn-bg-hover)}.vice-toggle.is-committed{background:rgba(224,85,85,0.12);border-color:rgba(224,85,85,0.4);color:#e05555}.vice-stepper{display:flex;align-items:center;gap:10px;margin-top:10px}.vice-step-btn{width:44px;height:44px;flex-shrink:0;font-family:'IBM Plex Sans',sans-serif;font-size:20px;line-height:1;color:var(--btn-text);background:var(--btn-bg);border:none;border-radius:6px;cursor:pointer;transition:background 120ms}.vice-step-btn:hover{background:var(--btn-bg-hover)}.vice-step-btn:active{background:var(--btn-selected-bg)}.vice-step-count{min-width:34px;text-align:center;font-family:'IBM Plex Sans',sans-serif;font-size:20px;color:var(--cream)}.vice-step-unit{font-size:13px;color:var(--stone);overflow-wrap:anywhere}.vice-run{margin-top:8px;font-size:12px;color:var(--stone)}.vice-run.amber{color:#c17f3e}.hero-split{display:flex;align-items:baseline;gap:8px;margin-top:6px;font-size:13px}.delta-card{position:relative}.card-bg{position:absolute;inset:0;overflow:hidden;z-index:0;border-radius:inherit}.card-bg-img{position:absolute;left:50%;top:50%;transform-origin:center center;display:none;max-width:none;filter:grayscale(1);user-select:none;-webkit-user-drag:none;pointer-events:none}.card-bg-tint{position:absolute;inset:0;background:#30302e;opacity:0.5}.delta-card:not(.has-photo) .card-bg-tint{opacity:0}.card-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;min-height:0}.delta-card.has-bg .card-chart-box{border-color:transparent !important}.delta-card.preset-void{background:#000000}.delta-card.preset-stone{background:radial-gradient(120% 90% at 20% 0%,rgba(237,232,221,0.09),transparent 60%),linear-gradient(160deg,#23231f 0%,#141412 100%)}.delta-card.preset-grain{background:repeating-linear-gradient(45deg,rgba(237,232,221,0.028) 0 2px,transparent 2px 4px),linear-gradient(180deg,#1c1c19 0%,#121210 100%)}.delta-card.preset-ember{background:radial-gradient(100% 70% at 50% 120%,rgba(193,127,62,0.42),transparent 62%),linear-gradient(180deg,#171614 0%,#100f0d 100%)}.delta-card.preset-tally{background:repeating-linear-gradient(105deg,rgba(237,232,221,0.05) 0 2px,transparent 2px 22px),linear-gradient(180deg,#191713 0%,#131210 100%)}.card-edit-btn{position:absolute;z-index:3;top:12px;right:12px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:rgba(240,234,214,0.75);background:rgba(22,22,20,0.55);border:1px solid rgba(240,234,214,0.18);border-radius:6px;cursor:pointer;transition:color 120ms,background 120ms,border-color 120ms}.card-edit-btn:hover{color:var(--cream);background:rgba(22,22,20,0.8);border-color:rgba(240,234,214,0.4)}.delta-card.is-adjusting{cursor:grab;touch-action:none}.delta-card.is-adjusting:active{cursor:grabbing}.card-preview-wrap:has(.delta-card.is-adjusting){touch-action:none}.card-adjust-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.card-adjust-hint{font-family:'IBM Plex Sans',sans-serif;font-size:12px;color:var(--stone)}.card-adjust-done{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:var(--btn-selected-text);background:var(--btn-selected-bg);border:none;border-radius:6px;padding:8px 18px;cursor:pointer}.card-preset-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.card-preset{width:34px;height:34px;padding:0;border:1px solid rgba(237,232,221,0.18);border-radius:6px;cursor:pointer;transition:border-color 120ms,transform 120ms}.card-preset:hover{border-color:rgba(237,232,221,0.45)}.card-preset.active{border-color:#c17f3e}.card-preset.preset-default{background:#161614}.card-preset.preset-void{background:#000000}.card-preset.preset-stone{background:linear-gradient(160deg,#23231f,#141412)}.card-preset.preset-grain{background:repeating-linear-gradient(45deg,rgba(237,232,221,0.14) 0 2px,transparent 2px 4px),linear-gradient(180deg,#1c1c19,#121210)}.card-preset.preset-ember{background:radial-gradient(100% 80% at 50% 120%,rgba(193,127,62,0.75),transparent 65%),#141312}.card-preset.preset-tally{background:repeating-linear-gradient(105deg,rgba(237,232,221,0.22) 0 2px,transparent 2px 8px),linear-gradient(180deg,#191713,#131210)}.yesterday-delta{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;margin:0 0 8px;font-family:'IBM Plex Sans',sans-serif;font-size:13px}.yesterday-delta-label{color:var(--stone)}.yesterday-delta-value{color:var(--cream)}.yesterday-delta-value.is-up{color:#c17f3e}.yesterday-delta-value.is-down{color:#e05555}.yesterday-delta-value.is-ns{color:var(--stone)}.hero-trend-row{display:flex;margin-top:18px}.hero-delta{font-size:66px}@media (max-width:900px){.hero-delta{font-size:50px}#today-root.has-dayplan .today-hero-row .hero-card{display:flex;flex-direction:column}#today-root.has-dayplan .hero-trend-row{margin-top:auto;margin-bottom:2px}#today-root.has-dayplan .hero-delta{font-size:44px}}@media (max-width:480px){.hero-delta{font-size:46px}}html,body{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}.settings-card.is-retired{opacity:0.55;border-style:dashed}.settings-card.is-retired .settings-card-badge{color:var(--stone)}.settings-card.is-retired .settings-card-delete{font-size:15px}#today-root:not(.has-dayplan) .hero-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:"top top" "delta trend";column-gap:16px;row-gap:14px;align-items:end;padding:16px 24px 18px}#today-root:not(.has-dayplan) .hero-top{grid-area:top;margin-bottom:0}#today-root:not(.has-dayplan) .hero-delta-row{grid-area:delta;margin-bottom:0}#today-root:not(.has-dayplan) .hero-trend-row{grid-area:trend;margin-top:0;justify-content:flex-end;align-items:flex-end}#rail-yesterday[hidden]{display:none}.header-yesterday{margin-left:auto;display:flex;align-items:center}.header-yesterday .yesterday-delta{margin:0}@media (max-width:900px){#today-root>.today-hero-row:first-child{margin-top:0}}