@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2) format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2) format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2) format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2) format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2) format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2) format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--cover);background-image:linear-gradient(0deg,rgb(255 255 255 / .02) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .02) 1px,transparent 1px);background-size:4px 4px}.shell-header{padding:var(--space-5) var(--space-4) var(--space-4)}.shell-header-inner{max-width:var(--content-max);margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.shell-wordmark{font-size:var(--step-3);color:var(--text-on-cover);letter-spacing:-.05em;margin-top:var(--space-1)}.shell-signout{background:none;border:0;padding:var(--space-2) 0;color:var(--text-on-cover-muted);font-size:var(--step--1);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.shell-signout:hover{color:var(--text-on-cover)}.shell-main{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:0 var(--space-4) calc(var(--tab-bar-height) + var(--space-6));--local-text: var(--text-on-cover);--local-muted: var(--text-on-cover-muted);color:var(--local-text)}.tab-bar{--local-text: var(--text);--local-muted: var(--text-muted)}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:var(--tab-bar-height);display:flex;background:var(--paper);border-top:2px dashed var(--paper-edge);padding-bottom:env(safe-area-inset-bottom);z-index:10}.tab{flex:1;display:grid;place-items:center;text-decoration:none;color:var(--text-muted);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;border-top:3px solid transparent;margin-top:-2px}.tab-active{color:var(--text);border-top-color:var(--gold);background:var(--surface-sunk)}@media(min-width:40rem){.shell-main{padding-bottom:var(--space-7)}.shell-header{order:-2;padding-bottom:var(--space-3)}.tab-bar{position:static;height:auto;width:100%;max-width:var(--content-max);margin:0 auto var(--space-5);border:2px dashed var(--paper-edge);border-radius:var(--radius-lg);order:-1}.tab{padding:var(--space-3) var(--space-2);border-top:0;border-bottom:3px solid transparent;white-space:nowrap}.tab-active{border-bottom-color:var(--gold)}}.stamp{--stamp-size: 1.5rem;--stamp-ink: var(--gold-deep);--stamp-paper: #f7f0e2;display:inline-block;width:var(--stamp-size);height:var(--stamp-size);flex:none}.stamp-sm{--stamp-size: 1.125rem}.stamp-lg{--stamp-size: 3rem}.stamp-mountainside{--stamp-ink: #2f6647}.stamp-eos{--stamp-ink: #a83355}.stamp-face{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-display);font-size:calc(var(--stamp-size) * .45);font-weight:800}.stamp .stamp-face{--perf-size: calc(var(--stamp-size) * .105);--perf-gap: calc(var(--stamp-size) * .25)}.stamp-filled .stamp-face{background:var(--stamp-ink);color:var(--stamp-paper)}.stamp-empty .stamp-face{background:var(--surface-sunk);box-shadow:inset 0 0 0 1px var(--rule);color:transparent}.stamp-row{display:inline-flex;gap:3px;flex-wrap:wrap}.stamp-progress{--progress-ink: var(--gold);position:relative;height:.875rem;background:var(--surface-sunk);box-shadow:inset 0 0 0 1px var(--rule);border-radius:999px;overflow:hidden}.stamp-progress-mountainside{--progress-ink: var(--pine)}.stamp-progress-eos{--progress-ink: var(--rose)}.stamp-progress-fill{height:100%;background:var(--progress-ink);background-image:repeating-linear-gradient(90deg,transparent 0 10px,rgb(0 0 0 / .16) 10px 11px);transition:width .4s cubic-bezier(.22,1,.36,1)}@keyframes stamp-press{0%{transform:scale(2.4) rotate(-9deg);opacity:0}55%{transform:scale(.92) rotate(2deg);opacity:1}75%{transform:scale(1.04) rotate(-1deg)}to{transform:scale(1) rotate(0);opacity:1}}.stamp-press{animation:stamp-press .52s cubic-bezier(.3,1.4,.5,1) both}.check-in-primary{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding-top:var(--space-6);padding-bottom:var(--space-6)}.check-in-title{font-size:var(--step-3);margin-bottom:var(--space-1)}.check-in-button{margin-top:var(--space-5);width:min(16rem,100%);padding-top:var(--space-4);padding-bottom:var(--space-4);font-size:var(--step-1)}.check-in-result{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-5);border-top:2px dashed var(--rule);width:100%}.check-in-stamp{display:inline-block}.check-in-outcome-note{margin:0;max-width:26rem}.check-in-awards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:22rem}.check-in-award{display:flex;align-items:baseline;gap:var(--space-3);text-align:left}.check-in-award-delta{color:var(--gold-deep);min-width:2.5rem;text-align:right}.check-in-balance{margin:0;font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2)}.check-in-balance .numeral{font-size:var(--step-1);color:var(--text)}.check-in-backfill-form{display:flex;align-items:flex-end;gap:var(--space-3)}.check-in-backfill-form .field{flex:1;margin-bottom:0}.check-in-backfill-submit{flex:none}@media(max-width:26rem){.check-in-backfill-form{flex-direction:column;align-items:stretch}}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:34rem){.dashboard-grid{grid-template-columns:1fr 1fr;align-items:start}}.person-card{display:flex;flex-direction:column;gap:var(--space-4)}.person-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.person-card-name{font-size:var(--step-2);margin-top:var(--space-1)}.person-card-gym{margin:var(--space-1) 0 0;font-size:var(--step--1)}.person-card-balance-row{display:flex;align-items:baseline;gap:var(--space-2)}.person-card-balance{font-size:var(--step-4);line-height:1}.person-card-stats{display:flex;gap:var(--space-5);margin:0}.person-card-stat{display:flex;flex-direction:column;gap:var(--space-1)}.person-card-stat dt{margin:0}.person-card-stat dd{margin:0;font-weight:600}.person-card-week{display:flex;flex-direction:column;gap:var(--space-2)}.person-card-week-head{justify-content:space-between}.person-card-target{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:2px dashed var(--rule)}.person-card-target-name{font-family:var(--font-display);font-weight:700;margin:0}.person-card-target-remaining{margin:0}.person-card-target-empty{align-items:flex-start}.history-heading{font-size:var(--step-1);margin:var(--space-1) 0 var(--space-3)}.history-warning{margin:0 0 var(--space-4)}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--rule)}.history-row:first-child{border-top:none}.history-row-primary{margin:0;font-weight:600}.history-row-secondary{margin:var(--space-1) 0 0;font-size:var(--step--1)}.history-delete{flex:none;font-size:var(--step--1);padding:var(--space-2) var(--space-3)}.history-delta{font-size:var(--step-1);flex:none}.history-delta-positive{color:var(--pine)}.history-delta-negative{color:var(--danger)}.login{min-height:100dvh;display:grid;place-items:center;padding:var(--space-4);background:var(--cover)}.login-card{width:min(24rem,100%)}.login-mark{margin-bottom:var(--space-4)}.login-title{font-size:var(--step-2);margin:var(--space-1) 0 var(--space-5)}.login-submit{width:100%}.metrics-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.metric-defs-list{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.metric-def-item{flex:none}.metric-def-select{--local-text: var(--text);--local-muted: var(--text-muted);color:var(--local-text);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius);padding:var(--space-2) var(--space-3);cursor:pointer;text-align:left}.metric-def-item-active .metric-def-select{border-color:var(--gold);background:var(--surface-sunk)}.metric-def-item-name{font-weight:600}.metric-def-item-meta{margin:0}.metric-def-add{font-size:var(--step--1)}.metric-def-form{display:flex;flex-direction:column}.metric-def-hint{font-size:var(--step--1);color:var(--text-muted);margin:var(--space-2) 0 var(--space-4)}.metric-def-hint code{font-family:var(--font-mono);background:var(--surface-sunk);padding:.1em .35em;border-radius:var(--radius)}.metric-def-picks{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.metric-def-pick{font-family:var(--font-mono);font-size:var(--step--1);background:var(--surface-sunk);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--space-1) var(--space-2);cursor:pointer;color:var(--text)}.metric-def-pick:hover{border-color:var(--gold)}.metric-def-row{align-items:flex-start}.metric-def-row-field{flex:1}.metric-def-shared{gap:var(--space-2);margin:var(--space-1) 0 var(--space-4);cursor:pointer;font-size:var(--step--1)}.metric-def-actions{gap:var(--space-3)}.metric-detail{display:flex;flex-direction:column;gap:var(--space-4)}.metric-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.metric-detail-header code{font-family:var(--font-mono)}.metric-detail-name{font-size:var(--step-2);margin-top:var(--space-1)}.metric-detail-delete{flex:none;font-size:var(--step--1);padding:var(--space-2) var(--space-3)}.metric-summary{padding:var(--space-3) 0;border-top:2px dashed var(--rule);border-bottom:2px dashed var(--rule)}.metric-summary-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.metric-summary-figure{font-size:var(--step-4);line-height:1;margin:var(--space-1) 0 0}.metric-summary-unit{font-size:var(--step-1);font-weight:600}.metric-summary-delta{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted)}.metric-delta-up{color:var(--pine)}.metric-delta-down{color:var(--danger)}.sparkline{width:6rem;height:1.75rem;flex:none;color:var(--gold)}.metric-log-form{display:flex;flex-direction:column}.metric-log-row{align-items:flex-start}.metric-log-value{flex:2}.metric-log-small{flex:1}.metric-empty{margin:0}.metric-entries{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.metric-entry{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--rule)}.metric-entry:first-child{border-top:none}.metric-entry-value{margin:0;font-weight:600}.metric-entry-date{margin:var(--space-1) 0 0;font-size:var(--step--1)}.metric-entry-side{display:flex;align-items:center;gap:var(--space-3);flex:none}.metric-source{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.metric-source-healthkit{color:var(--pine)}.metric-source-manual{color:var(--text-muted)}.metric-source-import{color:var(--gold-deep)}.metric-entry-delete{font-size:var(--step--1);padding:var(--space-1) var(--space-2)}.rewards-link-btn{background:none;border:0;padding:0;font-family:var(--font-body);font-size:var(--step--1);font-weight:600;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.rewards-link-btn:hover:not(:disabled){color:var(--text)}.rewards-link-btn:disabled{opacity:.5;cursor:not-allowed}.rewards-link-btn-danger{color:var(--danger)}.rewards-link-btn-danger:hover:not(:disabled){color:var(--danger);opacity:.8}.rewards-section-title{font-size:var(--step-2);margin:0}.rewards-balance-figure{font-size:var(--step-4);margin:var(--space-2) 0 var(--space-4)}.rewards-balance-unit{font-size:var(--step-1);color:var(--text-muted);font-weight:700}.rewards-goal{display:flex;flex-direction:column;gap:var(--space-2)}.rewards-goal-row{justify-content:space-between}.rewards-goal-label{margin:0}.rewards-goal-remaining{margin:0;font-size:var(--step--1)}.rewards-catalog-header{justify-content:space-between;margin-bottom:var(--space-3)}.rewards-retired-toggle{gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--step--1)}.rewards-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:var(--space-4)}.reward-card{display:flex;flex-direction:column;padding:var(--space-3);border:2px solid transparent;transition:border-color .15s ease,opacity .15s ease}.reward-card-ready{border-color:var(--gold)}.reward-card-goal{border-color:var(--gold-deep);box-shadow:var(--shadow-card),0 0 0 3px #e6a82840}.reward-card-retired{opacity:.6}.reward-card-retired .reward-photo img,.reward-card-retired .reward-art-fallback{filter:grayscale(.5)}.reward-photo-wrap{position:relative}.reward-photo{aspect-ratio:1;width:100%;background:var(--surface-sunk);overflow:hidden}.reward-photo img{width:100%;height:100%;object-fit:cover}.reward-art-fallback{width:100%;height:100%;display:grid;place-items:center;background:var(--surface-sunk)}.reward-art-fallback .numeral{font-size:var(--step-3);color:var(--text-muted)}.reward-flag{position:absolute;top:var(--space-2);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;padding:var(--space-1) var(--space-2);border-radius:var(--radius)}.reward-flag-goal{left:var(--space-2);background:var(--gold);color:var(--ink)}.reward-flag-retired{right:var(--space-2);background:var(--surface);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--rule)}.reward-body{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3)}.reward-name{font-size:var(--step-1);margin:0}.reward-desc{margin:0;font-size:var(--step--1)}.reward-cost{font-size:var(--step-1);margin:var(--space-1) 0}.reward-afford-note{margin:var(--space-1) 0 var(--space-2);font-size:var(--step--1)}.reward-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.reward-actions .btn{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--step--1)}.reward-manage-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--rule)}.rewards-celebration{position:relative;text-align:center;border:2px solid var(--gold)}.rewards-celebration-close{position:absolute;top:var(--space-3);right:var(--space-3)}.rewards-celebration-stamps{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.rewards-celebration-title{font-size:var(--step-2);margin:var(--space-1) 0}.rewards-history-note{margin:0 0 var(--space-4);font-size:var(--step--1)}.rewards-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.rewards-history-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--rule)}.rewards-history-row:last-child{border-bottom:0;padding-bottom:0}.rewards-history-row-primary{margin:0;font-weight:600}.rewards-history-row-secondary{margin:var(--space-1) 0 0;font-size:var(--step--1)}.rewards-history-row-end{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.rewards-status{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-1) var(--space-2);border-radius:var(--radius);white-space:nowrap}.rewards-status-pending{background:var(--surface-sunk);color:var(--gold-ink);box-shadow:inset 0 0 0 1px var(--gold)}.rewards-status-fulfilled{background:var(--surface-sunk);color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine)}.rewards-status-cancelled{background:var(--surface-sunk);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--rule)}.rewards-history-actions{display:flex;gap:var(--space-3)}.reward-dialog{width:min(28rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;border:0;border-radius:var(--radius-lg);padding:var(--space-5);background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.reward-dialog::backdrop{background:#00000080}.reward-dialog-header{justify-content:space-between;margin-bottom:var(--space-4)}.reward-dialog-title{font-size:var(--step-2);margin:0}.reward-dialog-photo{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-4)}.reward-dialog-photo-frame{width:5.5rem;flex:none}.reward-dialog-file{flex:1;margin:0}.reward-dialog-file-hint{margin:0;font-size:var(--step--1)}.reward-dialog-active{gap:var(--space-2);margin-bottom:var(--space-4)}.reward-dialog-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}@media(min-width:30rem){.rewards-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}}.settings-section{display:flex;flex-direction:column;gap:var(--space-3)}.settings-section-title{font-size:var(--step-1);margin:0}.settings-account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin:0}.settings-account-grid dt{margin:0 0 var(--space-1)}.settings-account-grid dd{margin:0;font-weight:600}.settings-account-note{margin:0;padding-top:var(--space-3);border-top:2px dashed var(--rule)}.settings-secret{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-sunk);border:2px solid var(--gold);border-radius:var(--radius);padding:var(--space-4)}.settings-secret-label{margin:0;font-weight:600}.settings-secret-row{display:flex;gap:var(--space-2)}.settings-secret-input{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--step--1);background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius);padding:var(--space-3)}.settings-secret-hint{margin:0;font-size:var(--step--1)}.settings-token-form{align-items:flex-end;gap:var(--space-3)}.settings-token-field{flex:1;margin-bottom:0}.settings-token-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.settings-token-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--rule)}.settings-token-item:first-child{border-top:none}.settings-token-label{margin:0;font-weight:600}.settings-token-meta{margin:var(--space-1) 0 0;font-size:var(--step--1)}.settings-token-unused{color:var(--gold-deep);font-weight:600}.settings-token-delete{flex:none;font-size:var(--step--1);padding:var(--space-2) var(--space-3)}.automation-route{padding-top:var(--space-4);border-top:2px dashed var(--rule);display:flex;flex-direction:column;gap:var(--space-2)}.settings-section .automation-route:first-of-type{border-top:none;padding-top:0}.automation-route-title{font-size:var(--step-1);margin:0}.automation-route-steps{margin:0;padding-left:1.25em;display:flex;flex-direction:column;gap:var(--space-1)}.automation-url-row{display:flex;flex-direction:column;gap:var(--space-1)}.automation-url-copy{display:flex;gap:var(--space-2);align-items:center}.automation-url{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-family:var(--font-mono);font-size:var(--step--1);background:var(--surface-sunk);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}.automation-copy-btn{flex:none;font-size:var(--step--1);padding:var(--space-2) var(--space-3)}.automation-route-meta{margin:0;font-size:var(--step--1)}.automation-route-meta code{font-family:var(--font-mono);background:var(--surface-sunk);padding:.1em .35em;border-radius:var(--radius)}.settings-copy-status{min-height:1.2em;font-size:var(--step--1);color:var(--pine);margin:0}@media(max-width:26rem){.settings-account-grid{grid-template-columns:1fr}}:root{--ink: #1a1714;--cover: #2b3a31;--cover-deep: #1f2b24;--paper: #f4e9d4;--paper-edge: #dccdb0;--paper-sunk: #ebdcc0;--gold: #e6a828;--gold-deep: #b87f16;--gold-ink: #7a5209;--pine: #3e7e5c;--rose: #c9456b;--canvas: var(--cover);--surface: var(--paper);--surface-sunk: var(--paper-sunk);--text: var(--ink);--text-muted: #6b5f51;--text-on-cover: #e8ddc8;--text-on-cover-muted: #9fb0a4;--rule: var(--paper-edge);--accent: var(--gold);--danger: #b3402c;--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Public Sans", system-ui, -apple-system, sans-serif;--font-mono: "DM Mono", ui-monospace, "SF Mono", monospace;--step--1: .813rem;--step-0: 1rem;--step-1: 1.25rem;--step-2: 1.625rem;--step-3: 2.25rem;--step-4: 3.25rem;--step-5: 4.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius: 4px;--radius-lg: 8px;--shadow-card: 0 1px 0 var(--paper-edge), 0 8px 20px rgb(0 0 0 / .18);--shadow-press: 0 2px 0 var(--gold-deep);--tab-bar-height: 4.25rem;--content-max: 46rem}@media(prefers-color-scheme:dark){:root{--paper: #2a2521;--paper-edge: #3d362f;--paper-sunk: #221e1a;--cover: #14100d;--cover-deep: #0d0a08;--text: #f0e6d6;--text-muted: #a29582;--text-on-cover: #e8ddc8;--text-on-cover-muted: #a89e90;--shadow-card: 0 1px 0 var(--paper-edge), 0 8px 20px rgb(0 0 0 / .4);--danger: #f08a72;--gold-deep: #d99a2a;--gold-ink: #e6a828}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--canvas);color:var(--text);font-family:var(--font-body);font-size:var(--step-0);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.on-cover{--local-text: var(--text-on-cover);--local-muted: var(--text-on-cover-muted);color:var(--local-text)}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--local-muted, var(--text-muted));margin:0}.eyebrow-on-cover{color:var(--text-on-cover-muted)}.card{--local-text: var(--text);--local-muted: var(--text-muted);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);color:var(--local-text)}.perforated{--perf-size: 9px;--perf-gap: 14px;-webkit-mask:radial-gradient(circle var(--perf-size) at 50% 0,transparent 97%,#000) 50% 0 / var(--perf-gap) 100% repeat-x,radial-gradient(circle var(--perf-size) at 50% 100%,transparent 97%,#000) 50% 100% / var(--perf-gap) 100% repeat-x,radial-gradient(circle var(--perf-size) at 0 50%,transparent 97%,#000) 0 50% / 100% var(--perf-gap) repeat-y,radial-gradient(circle var(--perf-size) at 100% 50%,transparent 97%,#000) 100% 50% / 100% var(--perf-gap) repeat-y;-webkit-mask-composite:source-in;mask:radial-gradient(circle var(--perf-size) at 50% 0,transparent 97%,#000) 50% 0 / var(--perf-gap) 100% repeat-x,radial-gradient(circle var(--perf-size) at 50% 100%,transparent 97%,#000) 50% 100% / var(--perf-gap) 100% repeat-x,radial-gradient(circle var(--perf-size) at 0 50%,transparent 97%,#000) 0 50% / 100% var(--perf-gap) repeat-y,radial-gradient(circle var(--perf-size) at 100% 50%,transparent 97%,#000) 100% 50% / 100% var(--perf-gap) repeat-y;mask-composite:intersect}.btn{font-family:var(--font-display);font-weight:700;font-size:var(--step-0);letter-spacing:.01em;padding:var(--space-3) var(--space-5);border:2px solid var(--ink);border-radius:var(--radius);background:var(--gold);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-press);transition:transform .12s ease,box-shadow .12s ease}.btn:hover:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 var(--gold-deep)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-quiet{background:transparent;border-color:var(--rule);box-shadow:none;color:inherit;font-family:var(--font-body);font-weight:600}.btn-quiet:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);transform:none;box-shadow:none}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger);box-shadow:none}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.field label{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.field input,.field select,.field textarea{background:var(--surface-sunk);border:2px solid var(--rule);border-radius:var(--radius);padding:var(--space-3);width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3)}.numeral{font-family:var(--font-display);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.muted{color:var(--local-muted, var(--text-muted))}.error-note{color:var(--danger);font-size:var(--step--1)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
