@font-face{font-family:"Press Start 2P";src:url(/fonts/PressStart2P-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:dark;--bg: #101820;--panel: #18232b;--panel-strong: #20313a;--text: #f4edd8;--muted: #b8c4bb;--green: #5f9f73;--green-dark: #2e6746;--amber: #d3a24c;--danger: #c85f5f;--border: #31434a;--shadow: #081014;font-family:Courier New,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),var(--bg);background-size:8px 8px}button,input,select,a{font:inherit}.app-shell{width:min(100%,430px);min-height:100dvh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 14px max(88px,calc(70px + env(safe-area-inset-bottom)))}.stack{display:grid;gap:14px}.compact{gap:10px}.pixel-card{padding:16px;background:var(--panel);border:2px solid var(--border);box-shadow:4px 4px 0 var(--shadow)}.pixel-card.danger{border-color:var(--danger)}h1,h2,p{margin:0}h1{margin-top:6px;font-family:"Press Start 2P",Courier New,monospace;font-size:18px;font-weight:400;line-height:1.55}h2{margin-top:6px;font-family:"Press Start 2P",Courier New,monospace;font-size:12px;font-weight:400;line-height:1.6}.eyebrow{color:var(--amber);font-family:"Press Start 2P",Courier New,monospace;font-size:8px;line-height:1.6;text-transform:uppercase}.muted{margin-top:12px;color:var(--muted);line-height:1.45}label{display:grid;gap:6px;margin-top:14px;color:var(--muted)}input{min-height:44px;width:100%;border:2px solid var(--border);border-radius:0;padding:10px;background:#0f171d;color:var(--text)}select{min-height:44px;width:100%;border:2px solid var(--border);border-radius:0;padding:8px 10px;background:#0f171d;color:var(--text)}input:focus,select:focus,.day-choice:focus,.pixel-button:focus{outline:3px solid var(--amber);outline-offset:2px}.screen-header,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.screen-header{min-height:70px;padding:4px 2px}.day-total{color:var(--muted);font-size:16px}.day-token{display:grid;width:52px;height:52px;place-items:center;border:2px solid var(--amber);color:var(--amber);background:#151b1d;box-shadow:3px 3px 0 var(--shadow);font-family:"Press Start 2P",Courier New,monospace;font-size:10px;font-weight:400}.sprint-rail{display:grid;grid-template-columns:repeat(30,minmax(2px,1fr));gap:2px;height:10px}.rail-cell{background:var(--border)}.rail-cell.past{background:var(--green-dark)}.rail-cell.current{background:var(--amber)}.rail-cell.reserve{border:1px solid var(--amber);background:transparent}.status-strip{display:grid;grid-template-columns:1.35fr .8fr 1fr;border-block:2px solid var(--border);background:#111a20}.stat-block{min-width:0;padding:10px 8px;border-right:1px solid var(--border)}.stat-block:last-child{border-right:0}.stat-label,.field-note,.task-copy span,.goal-progress span{display:block;color:var(--muted);font-size:11px;line-height:1.35}.hearts{display:flex;gap:2px;margin-top:3px}.heart{color:var(--border);font-size:14px}.heart.active{color:var(--danger)}.task-count{color:var(--amber);font-weight:700}.task-list,.goal-list{display:grid;gap:0;margin-top:14px}.task-row{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--border)}.task-row:first-child{border-top:0}.task-copy{min-width:0;overflow-wrap:anywhere}.task-copy span{margin-top:4px}.task-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-state{justify-self:start;margin-top:0}.goal-progress{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--border)}.goal-progress:first-child{border-top:0}.goal-select{width:100%;border-inline:0;border-bottom:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.goal-select.selected{box-shadow:inset 3px 0 0 var(--amber);padding-left:12px}.compact-row{grid-template-columns:1fr auto;align-items:center}.planning-notice{padding:10px 12px;border-left:3px solid var(--amber);background:#231f16;color:var(--text);font-size:12px;line-height:1.4}.stats-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;border-top:1px solid var(--border);border-left:1px solid var(--border)}.stats-grid>div{display:grid;min-height:72px;align-content:center;gap:4px;padding:10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.stats-grid span,.locked-settings span{color:var(--muted);font-size:11px}.stats-grid strong{color:var(--text);font-size:18px}.locked-settings{display:grid;gap:12px;margin-top:12px}.locked-settings span{display:flex;justify-content:space-between;gap:12px}.locked-settings strong{color:var(--text);text-align:right;overflow-wrap:anywhere}.bottom-navigation{position:fixed;z-index:5;left:50%;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,430px);min-height:calc(62px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);transform:translate(-50%);border-top:2px solid var(--border);background:#0d151a}.toggle-row{grid-template-columns:1fr 44px;align-items:center}.toggle-row input{width:44px;min-height:44px;accent-color:var(--green)}.form-status{color:var(--muted);text-align:center;font-size:12px}.result-heading{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:12px}.result-heading>div:first-child strong{display:block;margin-top:4px;color:var(--amber);font-size:30px}.date-stat{font-size:10px!important;line-height:1.45}.copy-goals{margin:14px 0;border-block:1px solid var(--border)}.history-list{display:grid;margin-top:12px}.history-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border);color:var(--muted);font-size:11px}.history-list strong{color:var(--text)}.nav-item{display:grid;min-width:0;min-height:56px;place-content:center;gap:3px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.nav-item span{color:var(--border);font-size:13px}.nav-item.active{color:var(--text)}.nav-item.active span{color:var(--amber)}.goal-progress .progress-wrap{margin-top:2px}.empty-state{margin-top:16px;padding:14px 0;color:var(--muted);line-height:1.45}.field-note{margin-top:2px}.mission-editor{position:relative;display:grid;gap:8px;padding:14px 0;border-top:1px solid var(--border)}.remove-button{position:absolute;top:10px;right:0;width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.mission-editor>select:first-of-type{width:calc(100% - 52px)}.mission-editor:first-of-type{margin-top:12px}.mission-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:12px}.reserve-picker{grid-template-columns:1fr 1fr}.day-choice{min-width:0;height:44px;border:2px solid var(--border);background:#0f171d;color:var(--muted);cursor:pointer}.day-choice.selected{border-color:var(--amber);color:var(--amber)}.form-error{padding:10px;border-left:3px solid var(--danger);background:#251719;color:#f0b8b8;line-height:1.4}.confirm-dialog{width:min(calc(100% - 28px),400px);padding:18px;border:2px solid var(--amber);border-radius:0;background:var(--panel);color:var(--text);box-shadow:6px 6px 0 var(--shadow)}.confirm-dialog::backdrop{background:#04090cd1}.pixel-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:2px solid var(--green-dark);background:var(--green);color:#07110b;text-decoration:none;box-shadow:3px 3px 0 var(--shadow);cursor:pointer}.pixel-button.secondary{border-color:var(--border);background:var(--panel-strong);color:var(--text)}.pixel-button:disabled{opacity:.6;cursor:wait}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.goal-grid{display:grid;grid-template-columns:1fr;gap:8px}.progress-wrap{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:12px}.progress-track{height:14px;border:2px solid var(--border);background:#0d151a}.progress-fill{display:block;height:100%;background:var(--green)}.skeleton{height:14px;margin-top:18px;background:linear-gradient(90deg,var(--panel-strong),var(--border),var(--panel-strong));background-size:200% 100%;animation:pulse 1.2s infinite}.success{margin-top:12px;color:var(--green)}.danger{margin-top:12px;color:var(--danger)}@media(min-width:390px){.goal-grid{grid-template-columns:1fr .8fr .7fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}@keyframes pulse{0%{background-position:200% 0}to{background-position:-200% 0}}
