*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-height:100svh;color:var(--text);background-color:var(--bg);background:linear-gradient(160deg, var(--bg-accent), transparent 34%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg) 44%, var(--bg) 100%);padding-top:calc(var(--space-2) + env(safe-area-inset-top));padding-right:calc(var(--space-2) + env(safe-area-inset-right));padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));padding-left:calc(var(--space-2) + env(safe-area-inset-left));-webkit-font-smoothing:antialiased;margin:0;font-family:Avenir Next,SF Pro Rounded,Trebuchet MS,Gill Sans,sans-serif;line-height:1.45;overflow-x:hidden}@supports (height:100dvh){body{min-height:100dvh}}:root{--bg:#f0f4f8;--bg-top:#f8fbff;--bg-accent:#ffe3ca;--surface:#fff;--surface-soft:#f8fbff;--surface-glass:#ffffffe0;--surface-card:#ffffffe6;--text:#0f1d34;--muted:#41546f;--placeholder:#6c7f99;--border:#cfdaea;--accent:#0070d1;--accent-soft:#61a8ea;--fire:#dc6500;--fire-text:#b84b00;--fire-soft:#ffd0a6;--success:#137a45;--danger:#b3261e;--focus-ring:#0070d161;--radius:8px;--radius-lg:12px;--radius-xl:16px;--shadow:0 10px 26px #0f1d341a;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.25rem;--space-5:1.75rem;--space-6:2.5rem}@media (prefers-color-scheme:dark){:root{--bg:#0c172a;--bg-top:#142a48;--bg-accent:#122744;--surface:#102039;--surface-soft:#0f223d;--surface-glass:#102039e0;--surface-card:#102039e6;--text:#e5eef9;--muted:#a6bbd3;--placeholder:#89a3c2;--border:#264466;--accent:#53b0ff;--accent-soft:#9cd3ff;--fire:#ff9848;--fire-text:#ffb06f;--fire-soft:#693a1b;--success:#66d395;--danger:#ffb4ab;--focus-ring:#53b0ff75;--shadow:0 12px 40px #00000059}}main{width:min(920px,100%);margin:0 auto}.app-shell{gap:var(--space-2);display:grid}.hero{text-align:center;justify-items:center;gap:var(--space-1)}.hero-copy{gap:var(--space-1);max-width:36ch}.hero-subtitle{color:var(--muted);margin:0;font-size:.96rem;line-height:1.35}.logo{width:min(168px,48vw);height:auto;margin-inline:auto;display:block}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:2.2rem}h2{margin-bottom:var(--space-2);letter-spacing:0;font-size:1.08rem}p{margin-bottom:var(--space-2)}.stack{place-items:center;gap:var(--space-2);display:grid}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.camp-entry{width:min(100%,22rem);padding:var(--space-2);border-radius:var(--radius-lg);background:var(--surface-glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);justify-items:center;gap:.65rem;margin-inline:auto;display:grid}.camp-entry__label{color:var(--text);font-size:.95rem;font-weight:800}.camp-entry__input{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-soft);width:min(11rem,70vw);min-height:4.25rem;color:var(--text);font:inherit;text-align:center;letter-spacing:-.04em;appearance:none;font-size:clamp(2rem,10vw,3.25rem);font-weight:900;line-height:1}.camp-entry__input::-webkit-outer-spin-button{appearance:none;margin:0}.camp-entry__input::-webkit-inner-spin-button{appearance:none;margin:0}.camp-entry__input[type=number]{appearance:textfield}.camp-entry__input::placeholder{color:var(--placeholder)}.camp-entry__input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus-ring);outline:none}.camp-entry__input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb, var(--danger) 20%, transparent)}.field-error{min-height:1.35em;color:var(--danger);text-align:center;margin:0;font-size:.93rem;font-weight:700}.field-error:empty{min-height:0}.count-update-feedback{min-height:1.25em;color:var(--success);text-align:center;margin:-.25rem 0 0;font-size:.88rem;font-weight:800}.count-update-feedback:empty{min-height:0}.camp-entry__control{align-items:flex-end;gap:.4rem;display:flex}.increment-btn{border:1px solid var(--border);background:var(--surface-card);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;opacity:.9;border-radius:.75rem;justify-content:center;align-items:center;margin-bottom:.2rem;font-size:1.125rem;font-weight:700;display:inline-flex}.increment-btn:active{opacity:1;transform:translateY(1px)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.camp-entry__input:focus-visible{outline:none}.increment-btn:focus-visible,.export-button:focus-visible{box-shadow:0 0 0 4px var(--focus-ring);outline:none}#results{gap:var(--space-3);margin-top:var(--space-1);display:grid}.pace-card{--reveal-delay:0s;border-radius:var(--radius);background:linear-gradient(135deg, color-mix(in srgb, var(--fire-soft) 38%, transparent), transparent 58%), var(--surface-glass);box-shadow:0 12px 28px #0f1d3424, 0 0 0 1px color-mix(in srgb, var(--fire) 28%, transparent);padding:var(--space-3)}.pace-card-header{gap:var(--space-1);display:grid}.pace-card-header h2{margin:0 0 var(--space-1)}.eyebrow{color:var(--fire-text);text-transform:uppercase;margin:0 0 .15rem;font-size:.84rem;font-weight:800}.pace-count{color:var(--text);margin:0;font-size:2.45rem;font-weight:900;line-height:1}.progress-track{background:color-mix(in srgb, var(--border) 72%, transparent);width:100%;height:.9rem;margin:var(--space-3) 0;border-radius:999px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--fire), var(--accent));width:0%;height:100%}.pace-metrics{grid-template-columns:1fr;gap:.65rem;display:grid}.pace-metrics>div{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:var(--radius);background:var(--surface-card);min-width:0;padding:.78rem .85rem}.pace-metrics span{color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.25;display:block}.pace-metrics strong{margin-top:.16rem;font-size:1.28rem;line-height:1.15;display:block}.export-panel{justify-items:stretch;gap:var(--space-2);width:100%;margin-block:0;display:grid}.export-button{border:1px solid color-mix(in srgb, var(--fire) 55%, var(--border));border-radius:var(--radius);background:var(--fire);color:#10131a;width:100%;min-height:54px;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:.9rem 1rem;font-size:1rem;font-weight:800}.export-button:hover{filter:brightness(1.03)}.export-button:active{transform:translateY(1px)}.copy-status{min-height:1.35em;color:var(--success);text-align:center;margin:0;font-size:.95rem;font-weight:700}.divider{background:var(--border);height:1px;margin:var(--space-1) 0 0}.milestone-heading{margin:0 0 var(--space-1)}.milestone-grid{gap:var(--space-2);margin-top:calc(-1 * var(--space-1));grid-template-columns:1fr;display:grid}.milestone-card{--reveal-delay:.24s;border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:var(--radius);background:var(--surface-card);padding:var(--space-2) var(--space-3);gap:.35rem;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 14px #0f1d3412}.milestone-card[data-milestone="100"]{--reveal-delay:.3s}.milestone-card[data-milestone="150"]{--reveal-delay:.36s}.milestone-card[data-milestone="200"]{--reveal-delay:.42s}.milestone-card[data-milestone="250"]{--reveal-delay:.48s}.milestone-card:before{content:"";background:linear-gradient(90deg, var(--accent-soft), var(--accent));opacity:.95;height:4px;position:absolute;inset:0 0 auto}.milestone-card h3{letter-spacing:0;margin:0;font-size:1.4rem;font-weight:900;line-height:1}.milestone-remaining{color:var(--text);margin:0;font-size:1rem;font-weight:800;line-height:1.2}.milestone-date{color:var(--muted);margin:0;font-size:.8rem;font-weight:600;line-height:1.2}.milestone-card.is-complete{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.milestone-card.is-complete:before{background:var(--success)}.milestone-card.is-complete .milestone-date{color:var(--success)}.milestone-card.is-complete .milestone-remaining{color:var(--success);font-weight:900}.milestone-card-featured{border-color:color-mix(in srgb, var(--fire) 62%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--fire-soft) 20%, transparent), transparent 52%), var(--surface-card);box-shadow:0 8px 20px #0f1d341a, 0 0 0 1px color-mix(in srgb, var(--fire) 16%, transparent)}.milestone-card-featured h3{color:var(--fire-text);font-size:1.68rem}@media (width>=390px){.camp-entry,.pace-card{padding:var(--space-4)}}@media (width>=480px){.pace-card-header{justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.pace-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=640px){body{padding-top:calc(var(--space-5) + env(safe-area-inset-top));padding-right:calc(var(--space-5) + env(safe-area-inset-right));padding-left:calc(var(--space-5) + env(safe-area-inset-left))}.app-shell{gap:var(--space-4)}.logo{width:min(260px,44vw)}h1{font-size:2.6rem}.camp-entry{padding:var(--space-4)}.camp-entry__input{flex:1;min-width:0}.pace-card{padding:var(--space-5)}.pace-count{font-size:3.1rem}.pace-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.milestone-grid{margin-top:calc(-1 * var(--space-2));grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (prefers-reduced-motion:no-preference){.hero,.camp-entry{animation:.36s both fadeUp}#results.is-revealing .reveal-item{animation:.34s both revealResult;animation-delay:var(--reveal-delay,0s)}.camp-entry__input.is-increment-feedback{animation:.52s ease-out countPulse}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes revealResult{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes countPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 34%, transparent);transform:scale(1)}38%{box-shadow:0 0 0 7px color-mix(in srgb, var(--success) 18%, transparent);transform:scale(1.025)}to{transform:scale(1);box-shadow:0 0 0 12px #0000}}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body{color:#000;background:#fff;padding:0}.export-button{display:none}.camp-entry,.milestone-card,.pace-card{box-shadow:none!important}}.is-hidden{display:none}
