@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-condensed-latin-600-normal-0taFJMb7.woff2)format("woff2"),url(/assets/saira-condensed-latin-600-normal-CJ-Ib_yI.woff)format("woff")}@font-face{font-family:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-condensed-latin-700-normal-BpDqMSKw.woff2)format("woff2"),url(/assets/saira-condensed-latin-700-normal-Br1WwvhS.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2)format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff)format("woff")}:root{--ink:#181714;--ink-2:#2b2924;--muted:#706d65;--paper:#f2efe8;--surface:#fbfaf6;--line:#d9d4c9;--brass:#c99945;--brass-dark:#806023;--green:#357153;--red:#9b4239;--blue:#476579;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:"Source Sans 3",sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--brass) 70%,transparent);outline-offset:3px}h1,h2,p{margin:0}strong,h1,h2,dd{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{color:var(--brass-dark);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:700}.brand-mark{width:72px;height:72px;color:var(--brass);border:1px solid #8d754a;border-radius:50%;place-items:center;display:grid;position:relative}.brand-mark svg{width:34px;transform:rotate(-8deg)}.brand-mark span{background:var(--ink);color:var(--paper);letter-spacing:.12em;padding:0 6px;font:700 .75rem Saira Condensed;position:absolute;bottom:-7px}.brand-mark.small{width:46px;height:46px}.brand-mark.small svg{width:23px}.brand-mark.small span{font-size:.58rem}.boot{background:var(--ink);min-height:100svh;color:var(--paper);place-content:center;justify-items:center;gap:24px;display:grid}.login-shell{background:var(--ink);min-height:100svh;display:grid}.login-brand{color:var(--paper);background:radial-gradient(circle at 78% 20%,#c9994521,transparent 32%),var(--ink);flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(32px,7vw,96px);display:flex}.login-brand h1{letter-spacing:-.04em;text-transform:uppercase;max-width:8ch;margin-top:14px;font:700 clamp(3.2rem,7vw,6.8rem)/.82 Saira Condensed}.login-lead{color:#c4bfb4;max-width:42ch;font-size:1.1rem}.login-panel{background:var(--paper);place-items:center;padding:32px;display:grid}.login-form{gap:22px;width:min(100%,420px);display:grid}.login-form h2{text-transform:uppercase;font:700 2.6rem/1 Saira Condensed}.login-form>div>p:last-child{color:var(--muted);margin-top:8px}.login-form label,.goal-row label{color:var(--muted);gap:7px;font-size:.83rem;font-weight:600;display:grid}input,select{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink);border-radius:4px;padding:10px 12px}.primary-button{background:var(--ink);min-height:52px;color:var(--paper);border:0;border-radius:4px;font-weight:700}.form-error{color:var(--red);background:#fff4f2;border:1px solid #d8a39e;border-radius:4px;padding:12px}.app-shell{min-height:100svh}.rail{display:none}.workspace{max-width:1540px;margin:0 auto;padding:24px 16px 92px}.topbar{gap:18px;margin-bottom:20px;display:grid}.topbar h1{text-transform:uppercase;margin-top:4px;font:700 2.45rem/.95 Saira Condensed}.top-actions{align-items:center;gap:8px;padding-bottom:2px;display:flex;overflow:auto}.select-control{align-items:center;min-width:max-content;display:flex;position:relative}.select-control>svg:first-child{pointer-events:none;width:17px;color:var(--muted);position:absolute;left:11px}.select-control>svg:last-child{pointer-events:none;width:15px;position:absolute;right:9px}.select-control select{appearance:none;padding-left:38px;padding-right:30px}.icon-button{border:1px solid var(--line);background:var(--surface);border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.icon-button svg{width:18px}.freshness{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-bottom:22px;font-size:.78rem;display:flex}.freshness span{align-items:center;gap:6px;display:flex}.freshness svg{width:14px;color:var(--green)}.freshness .review-status,.freshness .review-status svg{color:var(--brass-dark)}.view-stack{gap:22px;display:grid}.hero-result{background:var(--ink);color:var(--paper);border-radius:8px;gap:30px;padding:26px;display:grid;position:relative;overflow:hidden}.hero-result:after{content:"";border:1px solid #c9994538;border-radius:50%;width:250px;height:250px;position:absolute;top:-145px;right:-110px}.hero-result h2{letter-spacing:-.025em;margin:8px 0;font:700 clamp(3.3rem,9vw,6rem)/.9 Saira Condensed}.hero-result>div>p:last-child{color:#bdb8ae}.hero-delta{z-index:1;align-content:end;gap:3px;display:grid}.hero-delta span{color:#aaa49a;font-size:.75rem}.hero-delta strong{font:700 2rem Saira Condensed}.positive{color:#7fc69a}.negative{color:#e68d80}.metrics-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.metric-card{background:var(--surface);flex-direction:column;justify-content:space-between;gap:10px;min-height:135px;padding:17px;display:flex}.metric-card p{color:var(--muted);font-size:.8rem}.metric-card strong{font:700 clamp(1.8rem,5vw,2.5rem)/1 Saira Condensed}.metric-card span{color:var(--muted);font-size:.72rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:20px}.panel-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.panel-heading h2,.section-intro h2{text-transform:uppercase;margin-top:5px;font:700 clamp(2rem,5vw,3rem)/.95 Saira Condensed}.panel-heading>strong{font:700 1.7rem Saira Condensed}.trend-wrap{margin-top:24px}.trend{width:100%;height:250px;overflow:visible}.trend line{stroke:var(--line);stroke-width:.5px}.trend polyline{fill:none;stroke:var(--brass-dark);stroke-width:1.6px;vector-effect:non-scaling-stroke}.trend circle{fill:var(--surface);stroke:var(--brass-dark);stroke-width:1px;vector-effect:non-scaling-stroke}.trend-labels{color:var(--muted);text-align:center;grid-template-columns:repeat(8,1fr);margin-top:6px;font-size:.7rem;display:grid}.unit-strip,.cards-3{gap:12px;display:grid}.unit-strip article,.unit-result,.unit-detail{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px}.unit-strip p,.unit-result p,.unit-detail header p{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.unit-strip strong,.unit-result>div>strong,.unit-detail header strong{margin:9px 0;font:700 2rem/1 Saira Condensed;display:block}.unit-strip span{color:var(--muted);font-size:.78rem}.section-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:8px 0 14px;display:flex}.section-intro p:last-child{color:var(--muted);margin-top:8px}.section-intro>svg{width:44px;height:44px;color:var(--brass-dark);stroke-width:1.25px}.composition-bars{gap:22px;margin-top:28px;display:grid}.composition-row>div:first-child{justify-content:space-between;gap:12px;display:flex}.composition-row>div:first-child span{color:var(--muted)}.bar-track{background:#e4e0d7;height:8px;margin:8px 0 5px;overflow:hidden}.bar-track span{background:var(--ink);height:100%;display:block}.bar-track .products{background:var(--blue)}.bar-track .packages{background:var(--brass)}.bar-track .subscriptions{background:var(--green)}.composition-row small{color:var(--muted)}.unit-result dl,.unit-detail dl{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;margin:16px 0 0;display:grid}.unit-result dl div,.unit-detail dl div{background:var(--surface);padding:11px}.unit-result dt,.unit-detail dt{color:var(--muted);font-size:.72rem}.unit-result dd,.unit-detail dd{margin:4px 0 0;font-weight:600}.unit-detail header{border-bottom:1px solid var(--line);padding-bottom:12px}.table-tools{justify-content:flex-end;display:flex}.table-tools input{width:min(100%,320px)}.data-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:900px}.data-table th,.data-table td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:13px 15px}.data-table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#e9e5dc;font-size:.7rem;position:sticky;top:0}.data-table th:nth-child(2),.data-table th:nth-child(3),.data-table td:nth-child(2),.data-table td:nth-child(3){text-align:left}.data-table tbody tr:hover{background:#f3f0e9}.data-table td:first-child{color:var(--brass-dark);font-weight:700}.goal-group{gap:16px;display:grid}.goal-group>.panel-heading{border-bottom:1px solid var(--line);padding-bottom:12px}.goal-group>.panel-heading>span{color:var(--muted);font-size:.8rem}.goals-list{gap:12px;display:grid}.goal-card{background:var(--surface);border:1px solid var(--line);border-radius:7px;gap:18px;padding:18px;display:grid}.goal-card>header{justify-content:space-between;align-items:start;gap:14px;display:flex}.goal-card h3{margin:7px 0 2px;font:700 1.65rem/1 Saira Condensed}.goal-card header p{color:var(--muted);font-size:.78rem}.goal-card header button{background:var(--ink);min-height:42px;color:var(--paper);border:0;border-radius:4px;align-items:center;gap:7px;padding:0 13px;font-weight:700;display:flex}.goal-card header button.saved{background:var(--green)}.goal-card header button svg{width:16px}.scope-chip,.partial-chip{width:max-content;color:var(--brass-dark);letter-spacing:.08em;text-transform:uppercase;border:1px solid #d1c3a6;padding:4px 7px;font-size:.66rem;font-weight:700;display:inline-flex}.goal-metrics{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.goal-metric{background:var(--surface);gap:10px;padding:15px;display:grid}.goal-metric-head{justify-content:space-between;align-items:end;gap:10px;display:flex}.goal-metric-head>div{display:grid}.goal-metric-head span,.goal-metric label{color:var(--muted);font-size:.73rem}.goal-metric-head strong{margin-top:4px;font:700 1.65rem/1 Saira Condensed}.goal-metric-head b{color:var(--muted);text-align:right;font:700 1.05rem Saira Condensed}.goal-metric-head b.goal-level-pre{color:#a36c05}.goal-metric-head b.goal-level-meta{color:var(--green)}.goal-metric-head b.goal-level-super{color:#6843a5}.goal-progress{background:#e4e0d7;border-radius:999px;height:10px;position:relative;overflow:hidden}.goal-progress-fill{background:#8d8b85;height:100%;transition:width .35s,background .25s;display:block}.goal-progress.goal-level-pre .goal-progress-fill{background:#d89b20}.goal-progress.goal-level-meta .goal-progress-fill{background:var(--green)}.goal-progress.goal-level-super .goal-progress-fill{background:#7652b5}.goal-milestone{width:2px;height:100%;position:absolute;top:0;box-shadow:0 0 0 1px #ffffffa6}.goal-milestone.pre{background:#d89b20;left:94.17%}.goal-milestone.meta{background:var(--green);left:97.09%}.goal-milestone.super{background:#7652b5;right:0}.goal-tier-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.goal-tier-legend>span{color:var(--muted);grid-template-columns:auto 1fr;align-items:center;column-gap:5px;font-size:.65rem;line-height:1.15;display:grid}.goal-tier-legend>span>i{border-radius:50%;width:7px;height:7px}.goal-tier-legend>span>strong{color:var(--ink);grid-column:1/-1;margin-top:3px;font-size:.7rem}.goal-tier-legend .pre>i{background:#d89b20}.goal-tier-legend .meta>i{background:var(--green)}.goal-tier-legend .super>i{background:#7652b5}.goal-metric label{gap:5px;font-weight:600;display:grid}.goal-metric input{min-height:42px}.goal-metric input:disabled{opacity:.7;cursor:not-allowed}.data-note{color:var(--brass-dark)}.game-hero{background:var(--ink);color:var(--paper);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:28px;display:flex;position:relative;overflow:hidden}.game-hero:after{content:"";border:1px solid #c9994540;border-radius:50%;width:230px;height:230px;position:absolute;inset:auto -60px -100px auto}.game-hero h2{text-transform:uppercase;margin:7px 0;font:700 clamp(3rem,8vw,5rem)/.88 Saira Condensed}.game-hero p:last-child{color:#bbb5aa}.game-hero>svg{width:64px;height:64px;color:var(--brass);stroke-width:1.25px;z-index:1}.ranking-status{color:var(--brass-dark);background:#fff8e9;border:1px solid #d5c49e;align-items:center;gap:9px;padding:11px 14px;font-size:.8rem;display:flex}.ranking-status.complete{color:var(--green);background:#edf7f1;border-color:#b8d0c2}.ranking-status svg{flex:none;width:17px}.podium{gap:12px;display:grid}.podium-card{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:20px;position:relative}.podium-card.place-1{background:var(--ink);color:var(--paper);border-color:var(--ink)}.podium-card h3{margin:16px 0 3px;font:700 1.8rem/1 Saira Condensed}.podium-card>p{color:var(--muted);font-size:.78rem}.podium-card.place-1>p{color:#aaa49a}.podium-card>strong{margin:16px 0;font:700 2rem/1 Saira Condensed;display:block}.medal{color:var(--brass);justify-content:space-between;display:flex}.medal svg{width:24px}.medal span{font:700 1.2rem Saira Condensed}.podium-card dl{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;margin:0;display:grid}.podium-card dl div{background:var(--surface);color:var(--ink);padding:9px;display:grid}.podium-card dt{color:var(--muted);font-size:.68rem}.podium-card dd{margin:3px 0 0;font-size:.82rem;font-weight:600}.podium-card .partial-chip{margin-top:12px}.ranking-list{margin-top:18px;display:grid}.ranking-row{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(140px,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.ranking-row:last-child{border-bottom:0}.ranking-row>b{color:var(--brass-dark);font:700 1.25rem Saira Condensed}.ranking-row>div{display:grid}.ranking-row>div span{color:var(--muted);font-size:.72rem}.ranking-row>span{text-align:right;display:none}.ranking-row>span small{color:var(--muted);font-size:.62rem;display:block}.ranking-row>strong{text-align:right}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--line);place-content:center;justify-items:center;gap:9px;min-height:260px;padding:24px;display:grid}.empty-state svg{width:36px;color:var(--brass-dark)}.empty-state h3{font:700 1.8rem Saira Condensed}.empty-state p{max-width:46ch;color:var(--muted)}.skeleton{background:linear-gradient(100deg,#ddd8ce 20%,#f8f6f1 45%,#ddd8ce 70%) 0 0/250% 100%;border-radius:7px;height:540px;animation:1.4s infinite loading}@keyframes loading{to{background-position-x:-250%}}.bottom-nav{z-index:50;background:var(--ink);padding:7px max(4px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.bottom-nav button{color:#aaa49a;background:0 0;border:0;place-items:center;gap:2px;min-width:0;min-height:58px;padding:3px 1px;font-size:.58rem;display:grid}.bottom-nav button span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.bottom-nav button.active{color:var(--brass)}.bottom-nav svg{width:18px}@media (width>=700px){.login-shell{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)}.workspace{padding:34px 32px 96px}.topbar{justify-content:space-between;align-items:center;display:flex}.hero-result{grid-template-columns:1fr auto;align-items:end;padding:34px}.metrics-grid,.unit-strip,.cards-3{grid-template-columns:repeat(3,1fr)}.goal-metrics{grid-template-columns:1fr}.podium{grid-template-columns:repeat(3,minmax(0,1fr))}.podium-card.place-1{transform:translateY(-8px)}.ranking-row{grid-template-columns:32px minmax(180px,1fr) minmax(100px,.45fr) minmax(100px,.45fr) minmax(120px,.5fr)}.ranking-row>span{display:block}}@media (width>=1100px){.app-shell{grid-template-columns:260px 1fr;display:grid}.rail{background:var(--ink);height:100svh;color:var(--paper);flex-direction:column;padding:24px;display:flex;position:sticky;top:0}.rail-brand{align-items:center;gap:12px;display:flex}.rail-brand>div:last-child{display:grid}.rail-brand>div:last-child span{color:#948f85;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.rail nav{gap:6px;margin-top:66px;display:grid}.rail nav button{color:#b9b4aa;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;min-height:48px;padding:0 13px;display:flex}.rail nav button.active{background:var(--brass);color:var(--ink);font-weight:700}.rail nav svg{width:18px}.rail-user{border-top:1px solid #36342f;justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px;display:flex}.rail-user div{display:grid}.rail-user span{color:#8e8980;font-size:.73rem}.rail-user button{width:44px;height:44px;color:var(--paper);background:0 0;border:0}.rail-user svg{width:18px}.workspace{width:100%;padding:42px 46px 70px}.bottom-nav{display:none}.metrics-grid{grid-template-columns:repeat(6,1fr)}.metric-card{min-height:150px;padding:20px}.trend{height:310px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width>=700px){.topbar{flex-wrap:wrap}.top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}}@media (width>=1100px){.app-shell{grid-template-columns:260px minmax(0,1fr)}.workspace{min-width:0}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=700px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.top-actions{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) 44px;width:100%;display:grid;overflow:visible}.select-control{min-width:0}.select-control select{width:100%}.icon-button{width:44px;height:44px}@media (width>=700px){.top-actions{width:auto;display:flex}.select-control{min-width:max-content}.select-control select{width:auto}.icon-button{width:48px;height:48px}}@media (width<=699px){.top-actions{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) 44px}}
