:root{
  --ink:#bcc1a4;--ink-2:#bcc1a4;--paper:#3d3521;--paper-2:#39311f;--white:#372f1d;
  --terra:#bc7a48;--terra-dark:#bc7a48;--olive:#807c6f;--olive-dark:#959285;--gold:#caa758;--sky:#7a854d;
  --muted:#848073;--line:#4b4129;--line-2:#433a24;--danger:#bc7a48;--shadow:0 18px 50px rgba(188,193,164,.09);
  --radius:22px;--radius-sm:14px;--max:1240px;--nav-h:72px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 20% 0%,rgba(202,167,88,.08),transparent 33%),radial-gradient(circle at 100% 30%,rgba(122,133,77,.10),transparent 28%),var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.48;-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.paper-noise{position:fixed;inset:0;pointer-events:none;opacity:.28;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E")}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:var(--ink);color:white;padding:10px 16px;border-radius:10px}.skip-link:focus{top:12px}.app-shell{min-height:100vh}.topbar{height:74px;display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;position:sticky;top:0;z-index:30;padding:0 max(20px,calc((100vw - var(--max))/2));background:rgba(61,53,33,.86);backdrop-filter:blur(18px) saturate(1.1);border-bottom:1px solid rgba(159,156,145,.11)}.brand{appearance:none;border:0;background:none;padding:0;display:flex;align-items:center;gap:11px;color:var(--ink);cursor:pointer;text-align:left;width:max-content}.brand-mark{width:38px;height:46px;border:1.5px solid var(--ink);border-radius:5px 5px 9px 9px;display:grid;place-items:center;font:700 21px/1 Georgia,serif;position:relative;box-shadow:inset 0 0 0 4px var(--paper-2)}.brand-mark:after{content:"";position:absolute;top:-5px;left:7px;right:7px;height:4px;border-radius:99px;background:var(--terra)}.brand-copy{display:grid}.brand-copy strong{font:700 18px/1.1 Georgia,serif;letter-spacing:.02em}.brand-copy small{font-size:11px;color:var(--muted);margin-top:3px}.topbar-status{display:flex;align-items:center;gap:7px;justify-content:flex-end}.status-pill,.tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:rgba(55,47,29,.66);border-radius:999px;padding:6px 9px;font-size:11px;color:var(--muted);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--olive);box-shadow:0 0 0 3px rgba(128,124,111,.14)}.icon-button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);cursor:pointer;font-size:17px;display:grid;place-items:center}.icon-button:hover{border-color:#caa758}.icon-button:focus-visible,.button:focus-visible,.nav-item:focus-visible,.task-preview:focus-visible,.brand:focus-visible,.task-card:focus-within,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(122,133,77,.48);outline-offset:2px}main{width:min(var(--max),calc(100% - 40px));margin:0 auto}.view{display:none;padding:34px 0 46px}.view.active{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 24px}.page-heading h1{font:700 clamp(36px,5vw,62px)/.96 Georgia,serif;margin:3px 0 8px;letter-spacing:-.035em}.page-heading p{max-width:690px;margin:0;color:var(--muted);font-size:15px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:var(--terra-dark)}.muted{color:var(--muted)}.tiny{font-size:11px}.serif{font-family:Georgia,serif}.content-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.panel,.settings-card{background:rgba(55,47,29,.88);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 0 rgba(175,172,162,.02);padding:21px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.panel-head h2{font:700 24px/1.05 Georgia,serif;margin:3px 0 0;letter-spacing:-.02em}.panel h2,.settings-card h2{font-family:Georgia,serif}.hero{border:1px solid #bcc1a4;border-radius:28px;background:linear-gradient(135deg,#bcc1a4 0%,#bcc1a4 60%,#bcc1a4 100%);color:#3b3320;overflow:hidden;position:relative;margin:8px 0 16px;box-shadow:var(--shadow)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(202,167,88,.17),transparent 26%),linear-gradient(120deg,transparent 45%,rgba(35,34,31,.025) 45%,rgba(35,34,31,.025) 46%,transparent 46%)}.hero-content{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:40px;align-items:center;padding:clamp(26px,5vw,58px)}.hero-copy .eyebrow{color:#caa758}.hero-copy h2{font:700 clamp(44px,6vw,76px)/.93 Georgia,serif;letter-spacing:-.045em;margin:8px 0 18px;max-width:850px}.hero-copy p{font-size:16px;max-width:650px;color:#3b3a34;margin:0}.hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.button{appearance:none;border:1px solid transparent;border-radius:999px;padding:11px 17px;font:700 13px/1.1 inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--terra);color:white;box-shadow:0 8px 20px rgba(188,122,72,.22)}.button.primary:hover{background:#bc7a48}.button.secondary{background:var(--paper-2);color:var(--ink);border-color:var(--line)}.hero .button.secondary{background:#3c3420}.button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.hero .button.ghost{color:#3e3521;border-color:#848073}.button.danger{background:transparent;border-color:#bc7a48;color:var(--danger)}.button.small{padding:8px 11px;font-size:11px}.button.wide{width:100%;padding:14px 18px}.freedom-pass{width:min(100%,390px);margin-left:auto;background:#453b25;color:var(--ink);padding:21px;border-radius:16px;transform:rotate(1.2deg);box-shadow:0 22px 50px rgba(205,204,198,.22),inset 0 0 0 1px rgba(172,170,160,.18);position:relative;overflow:hidden}.freedom-pass:after{content:"FREEDOM • FREEDOM • FREEDOM";position:absolute;right:-53px;top:53px;transform:rotate(90deg);font-size:7px;letter-spacing:.24em;color:rgba(188,193,164,.25)}.pass-kicker{font-size:10px;letter-spacing:.22em;font-weight:900;border-bottom:1px solid rgba(188,193,164,.24);padding-bottom:9px}.pass-days{display:flex;align-items:baseline;gap:10px;margin:14px 0}.pass-days strong{font:700 50px/1 Georgia,serif}.pass-days span{font-size:11px;max-width:130px;color:#928f82}.pass-stamps{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:16px 0}.pass-stamp{aspect-ratio:1;border:1px dashed #caa758;border-radius:50%;display:grid;place-items:center;opacity:.38;position:relative}.pass-stamp span{font:700 14px/1 Georgia,serif}.pass-stamp small{position:absolute;bottom:-13px;font-size:7px;font-weight:800}.pass-stamp.stamped{opacity:1;border:2px solid var(--terra);color:var(--terra-dark);transform:rotate(-7deg);background:rgba(188,122,72,.05)}.freedom-pass p{font-size:10px;margin:21px 0 0;color:#8f8c7e}.journey-grid{align-items:start}.route-scene{overflow-x:auto;padding:4px 0 0}.route-svg{display:block;width:100%;min-width:650px;height:auto}.route-base{fill:none;stroke:#4c4129;stroke-width:5;stroke-linecap:round}.route-progress{fill:none;stroke:var(--terra);stroke-width:5;stroke-linecap:round}.route-stop circle{fill:var(--paper-2);stroke:#caa758;stroke-width:2}.route-stop.done circle{fill:#2c392c;stroke:var(--olive);stroke-width:3}.route-stop.now circle{fill:#413023;stroke:var(--terra);stroke-width:3}.route-stop.future{opacity:.45}.route-icon{font:700 12px Georgia,serif;fill:var(--ink)}.route-label{font-size:8.5px;font-weight:800;fill:var(--ink)}.route-sub{font-size:7px;font-weight:800;letter-spacing:.08em;fill:var(--muted)}.route-caption{display:flex;gap:7px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:12px;font-size:12px;color:var(--muted)}.metric-dial-grid{display:grid;grid-template-columns:1fr;gap:13px}.dial-card{display:grid;grid-template-columns:90px 1fr;grid-template-rows:auto auto;gap:0 14px;align-items:center;padding:12px;border-radius:17px;background:var(--paper-2);border:1px solid var(--line-2)}.dial{grid-row:span 2;width:82px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--terra) calc(var(--p)*1%),#443a25 0);position:relative}.dial.olive{background:conic-gradient(var(--olive) calc(var(--p)*1%),#443a25 0)}.dial.sky{background:conic-gradient(var(--sky) calc(var(--p)*1%),#443a25 0)}.dial:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--white)}.dial>div{position:relative;z-index:1;display:grid;text-align:center}.dial strong{font:700 18px/1 Georgia,serif}.dial small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dial-value{font:700 20px/1.1 Georgia,serif}.dial-card p{font-size:10px;color:var(--muted);margin:5px 0 0}.mission-outcome{font-size:28px!important}.task-preview-list{display:grid;gap:8px}.task-preview{appearance:none;border:1px solid var(--line-2);background:var(--paper-2);border-radius:14px;padding:11px 12px;display:grid;grid-template-columns:28px 1fr;gap:10px;text-align:left;color:var(--ink);cursor:pointer;width:100%}.task-preview:hover{border-color:#caa758}.task-preview.done{opacity:.68}.task-preview.done strong{text-decoration:line-through;text-decoration-thickness:1px}.task-check{width:25px;height:25px;border-radius:50%;border:1px solid #caa758;display:grid;place-items:center;color:var(--olive-dark);font-weight:900}.task-preview.done .task-check{background:#2b382b;border-color:var(--olive)}.task-preview strong{font-size:12px;line-height:1.35}.task-preview small{display:block;color:var(--muted);font-size:9px;margin-top:3px;text-transform:uppercase;letter-spacing:.06em}.rest-mode,.recovery-mode{text-align:center;padding:12px 8px 8px}.rest-seal,.lock-orb,.empty-orb{width:68px;height:68px;border:2px solid var(--olive);border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;font:700 30px Georgia,serif;color:var(--olive-dark);background:#2a372a}.rest-mode h2,.recovery-mode h2{font:700 32px/1 Georgia,serif;margin:6px 0 12px}.rest-mode p,.recovery-mode p{color:var(--muted);max-width:620px;margin:0 auto 18px}.recovery-list{display:grid;gap:8px;text-align:left;margin:18px 0}.recovery-item{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:10px;border-radius:13px;background:#3d3521;border:1px solid #4a4028}.recovery-item>span{width:26px;height:26px;border-radius:50%;background:#caa758;display:grid;place-items:center;font-size:11px;font-weight:800}.recovery-item strong{font-size:11px}.recovery-item small{display:block;color:var(--muted);margin-top:2px}.decision-card{border:1px solid var(--line);border-radius:18px;background:var(--paper-2);padding:17px}.decision-card.compact{padding:15px}.decision-card.ready{border-color:#618a61;background:#323524}.decision-card.moving{border-color:#caa758;background:#39311f}.decision-card.blocked{border-color:#4d3829;background:#38291e}.decision-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.decision-head h2{font:700 22px/1.05 Georgia,serif;margin:3px 0 0}.decision-status{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:6px 8px;background:#423924}.ready .decision-status{background:#2d3a2d;color:#618a61}.moving .decision-status{background:#483e27;color:#caa758}.blocked .decision-status{background:#433124;color:#bc7a48}.decision-meter{height:5px;background:#443a25;border-radius:999px;overflow:hidden;margin:13px 0}.decision-meter span{display:block;height:100%;background:var(--terra);border-radius:inherit}.ready .decision-meter span{background:var(--olive)}.decision-checks{display:grid;gap:6px}.decision-check{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;font-size:11px;padding:6px 0}.decision-check input{position:absolute;opacity:0;pointer-events:none}.custom-check,.evidence-dot{width:20px;height:20px;border-radius:50%;border:1px solid #bc7a48;display:grid;place-items:center;font-weight:900;color:var(--olive-dark)}.decision-check.done .custom-check,.decision-check.done .evidence-dot{background:#393d29;border-color:var(--olive)}.decision-check small{display:block;color:var(--muted);margin-top:2px}.decision-unlock{font-size:10px;color:var(--muted);border-top:1px solid var(--line-2);margin:12px 0 0;padding-top:10px}.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.history-card{border:1px solid var(--line-2);background:var(--paper-2);border-radius:15px;padding:12px;min-width:0}.history-card>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.history-card span{font-size:10px;color:var(--muted)}.history-card strong{font:700 16px Georgia,serif}.history-card small{font-size:8px;color:var(--muted)}.sparkline{width:100%;height:68px;margin:7px 0}.spark-line{fill:none;stroke:var(--terra);stroke-width:3;vector-effect:non-scaling-stroke}.spark-grid{fill:none;stroke:#493e27;stroke-width:1;vector-effect:non-scaling-stroke}.spark-empty{height:68px;display:grid;place-items:center;color:#6f6c61;font-size:10px;border-bottom:1px dashed var(--line)}.badge-shelf{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mini-badge{min-height:95px;border:1px solid var(--line-2);background:var(--paper-2);border-radius:15px;padding:11px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:center}.mini-badge>span{grid-row:span 2;width:34px;height:34px;border-radius:50%;border:1px dashed #caa758;display:grid;place-items:center;font:700 12px Georgia,serif}.mini-badge strong{font-size:10px}.mini-badge small{font-size:8px;color:var(--muted)}.mini-badge.locked{opacity:.42;filter:saturate(.4)}.mini-badge.earned{background:#333624;border-color:#618a61}.mini-badge.earned>span{border:2px solid var(--olive);color:var(--olive-dark);transform:rotate(-6deg)}.week-picker-wrap{display:grid;gap:5px;min-width:min(440px,48vw)}.week-picker-wrap label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}select,input,textarea{width:100%;border:1px solid #caa758;background:var(--white);border-radius:12px;color:var(--ink);font:inherit;padding:10px 11px}textarea{min-height:92px;resize:vertical}.week-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.6fr);gap:16px;margin-bottom:16px}.outcome-card{background:linear-gradient(135deg,#bcc1a4,#bcc1a4);color:#3d3521;border-color:#bcc1a4}.outcome-card .eyebrow{color:#caa758}.outcome-card h2{font:700 clamp(32px,4vw,48px)/.98 Georgia,serif;margin:8px 0 13px;letter-spacing:-.035em}.outcome-card p{color:#3d3b35}.definition{border-top:1px solid rgba(35,34,31,.16);padding-top:13px;margin-top:16px;font-size:12px;color:#35332e}.side-card-list{display:grid;gap:10px}.mini-card{background:var(--paper-2);border:1px solid var(--line);border-radius:15px;padding:13px;display:grid;gap:6px}.mini-card strong{font-size:11px}.mini-card span,.mini-card p{font-size:10px;color:var(--muted);margin:0}.mvp-box{background:#353825;border-color:#324132}.stop-box{background:#3b2b20;border-color:#4a3628}.progress{height:6px;background:#453b25;border-radius:99px;overflow:hidden;margin-top:8px}.progress span{height:100%;display:block;background:var(--olive);border-radius:inherit}.preview-banner,.gate-lag-banner,.week-complete-banner{border-radius:15px;padding:13px 16px;margin-bottom:15px;display:flex;gap:10px;align-items:baseline}.preview-banner{background:#3e3622;border:1px solid var(--line)}.gate-lag-banner{background:#3a2b1f;border:1px solid #4d392a}.week-complete-banner{background:#283428;border:1px solid #618a61}.preview-banner strong,.gate-lag-banner strong,.week-complete-banner strong{font-size:11px}.preview-banner span,.gate-lag-banner span,.week-complete-banner span{font-size:11px;color:var(--muted)}.task-list{display:grid;gap:9px}.task-card{display:grid;grid-template-columns:38px minmax(0,1fr) 58px;gap:11px;align-items:start;border:1px solid var(--line-2);background:var(--paper-2);border-radius:16px;padding:13px;cursor:pointer;transition:border .15s ease,transform .15s ease,opacity .15s ease}.task-card:hover{border-color:#caa758;transform:translateY(-1px)}.task-card.future-locked{cursor:default;opacity:.58}.task-card.done{background:#333624;border-color:#334333}.task-card.done h3{text-decoration:line-through;text-decoration-thickness:1px;color:#8d897c}.task-card.blocked{background:#392a1f;border-color:#493627}.task-index{width:34px;height:34px;border:1px solid #caa758;border-radius:50%;display:grid;place-items:center;font:700 12px Georgia,serif}.done .task-index{background:#2c392c;border-color:var(--olive);color:var(--olive-dark)}.task-body h3{font-size:13px;line-height:1.36;margin:1px 0 8px}.task-tags{display:flex;gap:5px;flex-wrap:wrap}.task-tags .tag{padding:4px 7px;font-size:8px}.tag.core{background:#2a372a;color:#989589;border-color:#334233}.tag.support{background:#403622}.task-hours{font:700 11px Georgia,serif;color:var(--muted);text-align:right;padding-top:5px}.task-actions-inline{display:flex;gap:5px;margin-top:9px}.extras-panel{margin-top:16px}.extras-panel summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}.extras-panel summary::-webkit-details-marker{display:none}.extras-panel summary>span{display:grid;gap:2px}.extras-panel summary strong{font:700 16px Georgia,serif}.extras-panel summary small{color:var(--muted)}.extras-panel[open] summary{padding-bottom:13px;border-bottom:1px solid var(--line-2);margin-bottom:13px}.review-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:16px}.review-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:750;color:var(--ink-2)}.field label small,.metric-field>small{font-size:9px;font-weight:500;color:var(--muted)}.field textarea{min-height:88px}.field input[type=range]{padding:0;border:0;background:transparent;accent-color:var(--terra)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:8px}.decision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.decision-option input{position:absolute;opacity:0}.decision-option span{display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:10px;cursor:pointer;background:var(--paper-2)}.decision-option input:checked+span{border-color:var(--terra);background:#3d2d21;color:var(--terra-dark);font-weight:800}.review-side{display:grid;gap:16px;align-content:start}.coach-card{background:#283428;border-color:#40442d}.coach-card h3{font:700 22px/1.05 Georgia,serif;margin:7px 0 10px}.coach-card p{font-size:12px}.coach-card small{font-size:9px;color:var(--muted)}.locked-review,.empty-state{text-align:center;padding:60px 24px}.locked-review h2,.empty-state h2{font:700 30px Georgia,serif;margin:8px 0}.locked-review p,.empty-state p{color:var(--muted);max-width:550px;margin:0 auto}.parking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.idea-card{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:17px;min-height:210px;display:flex;flex-direction:column}.idea-card.due{border-color:#caa758;background:#3a321f}.idea-card h3{font:700 22px/1.08 Georgia,serif;margin:6px 0 8px}.idea-card p{font-size:11px;color:var(--muted);flex:1}.idea-cost{font-size:9px;padding:9px;background:#3e3521;border-radius:10px;margin:8px 0}.idea-card footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line-2);padding-top:11px;margin-top:11px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.settings-card{padding:22px}.settings-card h2{font:700 28px/1.04 Georgia,serif;margin:7px 0 9px}.settings-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-top:17px}.metric-field input{font-variant-numeric:tabular-nums}.privacy-banner{border:1px solid #4b4941;background:#283428;border-radius:14px;padding:11px;display:grid;gap:2px;margin-bottom:16px}.privacy-banner strong{font-size:11px}.privacy-banner span{font-size:9px;color:var(--muted)}.derived-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.derived{border-radius:15px;border:1px solid var(--line);background:#3b3320;padding:14px;display:grid;gap:4px}.derived span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.derived strong{font:700 25px Georgia,serif}.derived small{font-size:8px;color:var(--muted)}.gate-settings-list{display:grid;gap:10px;margin-top:14px}.gate-settings-list .decision-head h2{font-size:17px}.gate-settings-list .decision-check{font-size:10px}.data-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.danger-zone{margin-top:20px;padding-top:16px;border-top:1px solid #4a3728}.danger-zone strong{color:var(--danger);font-size:11px}.danger-zone p{font-size:9px;color:var(--muted)}dialog{border:0;padding:0;background:transparent;max-width:min(680px,calc(100vw - 24px));width:100%;color:var(--ink)}dialog::backdrop{background:rgba(188,193,164,.58);backdrop-filter:blur(8px)}.modal-inner{background:var(--paper-2);border:1px solid #4f432a;border-radius:24px;padding:22px;box-shadow:0 30px 90px rgba(188,193,164,.3)}.modal-head{display:flex;justify-content:space-between;gap:16px}.modal-head h2{font:700 30px/1.06 Georgia,serif;margin:4px 0 8px}.close-button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:20px;color:var(--muted)}.focus-box,.blocked-box,.done-box{border-radius:15px;padding:14px;margin-top:14px}.focus-box{background:#353825;border:1px solid #334233}.blocked-box{background:#3c3420;border:1px solid #4e432a}.done-box{background:#343725;border:1px solid #3f3d37}.focus-box strong,.blocked-box strong,.done-box strong{font-size:11px}.focus-box p,.blocked-box p,.done-box p{font-size:11px;margin:5px 0 0}.timer{display:flex;align-items:center;gap:10px;margin-top:11px}.timer-time{font:700 26px/1 Georgia,serif;min-width:74px}.task-modal-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.welcome-modal{max-width:min(760px,calc(100vw - 24px))}.welcome{text-align:center;padding:32px}.welcome-mark{width:62px;height:74px;border:2px solid var(--ink);border-radius:7px 7px 14px 14px;display:grid;place-items:center;margin:0 auto 16px;font:700 32px Georgia,serif;box-shadow:inset 0 0 0 6px var(--paper-2);position:relative}.welcome-mark:after{content:"";position:absolute;top:-7px;left:10px;right:10px;height:5px;border-radius:99px;background:var(--terra)}.welcome h2{font:700 clamp(34px,6vw,54px)/.98 Georgia,serif;letter-spacing:-.035em;margin:6px auto 14px;max-width:630px}.welcome-lead{color:var(--muted);max-width:620px;margin:0 auto 22px}.welcome-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.welcome-principles div{text-align:left;border:1px solid var(--line);border-radius:14px;background:#3c3320;padding:12px;display:grid;gap:4px}.welcome-principles strong{font:700 17px Georgia,serif}.welcome-principles span{font-size:9px;color:var(--muted)}.welcome-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;text-align:left;margin:17px 0}.welcome-note{font-size:10px;color:var(--muted);padding:11px;border-top:1px solid var(--line);margin-bottom:12px}.toast{position:fixed;z-index:1000;left:50%;bottom:calc(var(--nav-h) + 18px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#bcc1a4;color:#3a321f;border:1px solid #7a854d;border-radius:999px;padding:10px 15px;font-size:11px;box-shadow:0 12px 30px rgba(205,204,198,.2);transition:.2s ease}.toast.show{opacity:1;transform:translate(-50%,0)}.celebration{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:999}.bottom-nav{position:fixed;z-index:40;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);height:62px;display:flex;gap:4px;padding:5px;background:rgba(188,193,164,.92);backdrop-filter:blur(14px);border:1px solid rgba(35,34,31,.1);border-radius:22px;box-shadow:0 14px 40px rgba(188,193,164,.25)}.nav-item{appearance:none;border:0;background:transparent;color:#504e46;border-radius:16px;min-width:76px;padding:5px 12px;display:grid;place-items:center;gap:1px;cursor:pointer}.nav-item span{font-size:17px}.nav-item small{font-size:8px;font-weight:700}.nav-item.active{background:#3d3521;color:var(--ink)}.fatal{width:min(700px,calc(100% - 40px));margin:70px auto;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--paper-2)}
@media(max-width:1000px){.span-8,.span-7,.span-5,.span-4{grid-column:span 12}.hero-content{grid-template-columns:1fr;gap:24px}.freedom-pass{margin:0}.metric-dial-grid{grid-template-columns:repeat(3,1fr)}.dial-card{grid-template-columns:1fr;text-align:center}.dial{grid-row:auto;margin:auto}.history-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.parking-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){:root{--radius:18px}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}main{width:min(100% - 24px,var(--max))}.topbar{height:64px;padding:0 12px;gap:8px}.brand-copy small,.desktop-only{display:none}.brand-mark{width:32px;height:39px;font-size:18px}.topbar-status{gap:4px}.status-pill{padding:5px 7px;font-size:8px}.view{padding-top:20px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:42px}.week-picker-wrap{min-width:100%;width:100%}.hero{border-radius:21px}.hero-content{padding:25px 20px}.hero-copy h2{font-size:44px}.hero-copy p{font-size:14px}.freedom-pass{width:100%;transform:none}.content-grid{gap:11px}.panel,.settings-card{padding:16px}.metric-dial-grid{grid-template-columns:1fr}.dial-card{grid-template-columns:82px 1fr;text-align:left}.dial{grid-row:span 2}.history-grid,.parking-grid,.week-overview,.review-layout,.settings-fields,.derived-grid,.welcome-fields{grid-template-columns:1fr}.review-form{grid-template-columns:1fr}.decision-grid{grid-template-columns:repeat(2,1fr)}.welcome{padding:24px 18px}.welcome-principles{grid-template-columns:1fr}.task-card{grid-template-columns:32px 1fr 44px;padding:11px}.task-body h3{font-size:12px}.task-actions-inline{display:none}.route-svg{min-width:630px}.bottom-nav{width:calc(100% - 20px);justify-content:space-around}.nav-item{min-width:0;flex:1;padding:5px 8px}.toast{max-width:calc(100% - 24px);width:max-content;text-align:center}.preview-banner,.gate-lag-banner,.week-complete-banner{align-items:flex-start;flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.freedom-pass{transform:none}}
@media(prefers-contrast:more){:root{--line:#716e62}.panel,.settings-card,.task-card,.mini-card{border-width:2px}.muted{color:#99968a}}
.decision-check.not-yet{opacity:.48}.decision-check.not-yet .custom-check{background:#403723;border-style:dashed}.decision-check.not-yet input:disabled+ .custom-check{cursor:not-allowed}.decision-check:not(.not-yet){cursor:pointer}.decision-check:not(.not-yet):hover .custom-check{border-color:var(--olive)}
@media(hover:none){.button:hover,.task-card:hover{transform:none}.task-card:hover{border-color:var(--line-2)}}

/* ============ MIASMA THEME LAYER — Rams/Ive edition ============ */
:root{
  --ink:#ddd9c6;--ink-2:#c2c2b0;--paper:#1e1e1e;--paper-2:#242424;--white:#242424;
  --terra:#bb7744;--terra-dark:#bb7744;--olive:#8f9a58;--olive-dark:#78824b;
  --gold:#c9a554;--sky:#c9a554;--sand:#d7c483;
  --muted:#8b8a7d;--line:#333333;--line-2:#2c2c2c;--danger:#b36d43;
  --shadow:none;
  --radius:6px;--radius-sm:4px;
  --font-sans:"Inter Tight",Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --font-display:var(--font-sans);
}
html,body{background:#1c1c1c}
body{
  font-family:var(--font-sans);color:var(--ink);background:#1c1c1c;
  -webkit-font-smoothing:antialiased;letter-spacing:0;
  font-size:15px;line-height:1.55;
}
.paper-noise{display:none!important}

/* ---- typografisk skala: färre steg, ingen serif ---- */
h1,h2,h3,h4,.brand-copy strong,.page-heading h1,.hero-copy h2,.outcome-card h2{
  font-family:var(--font-sans);font-weight:600;letter-spacing:-.02em;line-height:1.15;color:#ece8d8;
}
.page-heading h1{font:600 clamp(26px,3.2vw,34px)/1.12 var(--font-sans)!important;letter-spacing:-.022em;margin:6px 0 8px}
.page-heading p{font-size:14px;color:var(--muted);max-width:56ch}
.hero-copy h2{font:600 clamp(28px,3.6vw,40px)/1.1 var(--font-sans)!important;letter-spacing:-.024em;margin:10px 0 14px}
.hero-copy p{font-size:15px;color:#a8a798!important;max-width:56ch}
.outcome-card h2{font:600 clamp(22px,2.6vw,28px)/1.15 var(--font-sans)!important}
.mission-outcome{font-size:20px!important;font-weight:600}
h3,.task-body h3{font-size:15px!important;font-weight:550;line-height:1.35}

/* etiketter: monospace, versaler, alltid läsbara */
.eyebrow,.pass-kicker,.decision-status,.week-picker-wrap label,.derived span,
.task-preview small,.dial small,.route-sub{
  font-family:var(--font-mono)!important;font-size:11px!important;font-weight:500!important;
  text-transform:uppercase;letter-spacing:.1em!important;color:var(--muted)!important;
}
.eyebrow{color:var(--olive)!important}
.status-pill,.tag,.chip,.pill,.task-tags .tag{
  font-family:var(--font-mono);font-size:11px!important;letter-spacing:.04em;
  background:transparent!important;border:1px solid var(--line)!important;color:#a5a496!important;
  border-radius:3px!important;padding:4px 7px!important;text-transform:none;
}
/* minsta storlek – inget under 12px utom monolabels */
small,.tiny,.mini-card span,.mini-card p,.history-card span,.history-card small,
.mini-badge small,.mini-badge strong,.recovery-item strong,.coach-card small,
.idea-card p,.idea-cost,.privacy-banner span,.privacy-banner strong,
.preview-banner span,.preview-banner strong,.decision-check,.decision-unlock,
.field label small,.metric-field>small,.route-caption,.definition,.dial-card p,
.task-preview strong,.spark-empty,.pass-days span,.freedom-pass p{
  font-size:12.5px!important;
}
.field label{font-size:13px!important;font-weight:500!important;color:var(--ink-2)!important}

/* ---- ytor: platta, hairline, ingen glow ---- */
.topbar{background:rgba(28,28,28,.92);border-bottom:1px solid var(--line-2);backdrop-filter:blur(12px);box-shadow:none}
.brand-mark{border:1px solid var(--line);color:var(--sand);box-shadow:none;border-radius:4px;font-family:var(--font-mono);font-weight:500}
.brand-mark:after{display:none}
.brand-copy strong{color:#e7e3d2;font-weight:600;letter-spacing:-.01em}
.brand-copy small{font-size:12px;color:var(--muted)}

.panel,.card,.task-card,.modal,.stat,.tile,.mini-card,.dial-card,.history-card,
.coach-card,.idea-card,.milestone,.milestone-card{
  background:#212121!important;border:1px solid var(--line-2)!important;
  border-radius:var(--radius)!important;box-shadow:none!important;
}
.panel{padding:22px!important}
.hero{
  background:#212121!important;border:1px solid var(--line-2)!important;
  border-radius:var(--radius)!important;box-shadow:none!important;color:var(--ink)!important;
}
.hero:before,.hero:after{display:none!important}
.hero-content{padding:clamp(22px,3.4vw,40px)!important;gap:32px}
.hero .eyebrow{color:var(--sand)!important}
.freedom-pass:after{display:none}

/* ---- kontroller ---- */
.button{
  border-radius:4px!important;font-weight:500;font-size:13.5px;letter-spacing:0;
  padding:9px 15px;box-shadow:none!important;transition:background .15s ease,border-color .15s ease;
}
.button.small{font-size:12.5px;padding:7px 11px}
.button.primary{background:var(--olive-dark)!important;color:#14170e!important;border:1px solid var(--olive-dark)!important}
.button.primary:hover{background:var(--olive)!important;border-color:var(--olive)!important;filter:none}
.button:not(.primary){background:transparent!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.button:not(.primary):hover{border-color:#4a4a45!important;background:#262626!important;color:#ece8d8!important}
.hero .button:not(.primary){background:transparent!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.icon-button{background:transparent;border:1px solid var(--line);color:var(--ink-2);border-radius:4px}
.icon-button:hover{border-color:#4a4a45;color:var(--sand)}

.bottom-nav{background:rgba(28,28,28,.95);border-top:1px solid var(--line-2);backdrop-filter:blur(12px)}
.nav-item{color:#7d7c70}
.nav-item small{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em}
.nav-item.active{color:var(--sand)}
.nav-item.active span{text-shadow:none!important}

a{color:var(--gold);text-underline-offset:3px}
input,select,textarea{background:#1a1a1a!important;border:1px solid var(--line)!important;color:var(--ink)!important;border-radius:4px!important;font-family:var(--font-sans);font-size:14px}
input:focus,select:focus,textarea:focus{border-color:var(--olive)!important;outline:none}
::selection{background:#383838;color:#c2c2b0}
progress,.bar,.progress{accent-color:var(--olive)}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:#1c1c1c}
::-webkit-scrollbar-thumb{background:#333;border-radius:0}
::-webkit-scrollbar-thumb:hover{background:var(--olive-dark)}
dialog::backdrop{background:rgba(12,12,12,.7)}

/* ---- läsbarhet / lugn hierarki ---- */
.muted,.hint,.note,.milestone p,.milestone small{color:#9a998b!important}
.mission-dod,.mission p,.mini-card p,.side-card-list p,.panel p,.week-hero p,
.definition,.coach-card p{color:#a9a89a!important}
.mission-dod strong,.mini-card strong,.definition strong,strong,b{color:#e2ded0;font-weight:550}
.definition{border-color:var(--line-2)!important}
.milestone.locked,.locked{opacity:.55}
.decision-status{background:transparent!important;border:1px solid var(--line);border-radius:3px}
.recovery-item>span{background:transparent;border:1px solid var(--line);color:var(--sand);border-radius:4px}
.route-caption{border-top:1px solid var(--line-2)}
.decision-option span{border-radius:4px;background:transparent;border:1px solid var(--line);font-size:12.5px}
.idea-cost{background:#1a1a1a;border:1px solid var(--line-2);border-radius:4px}
