/* Accessible type uses rem units and honours browser / iOS Dynamic Type settings. */
html{font-size:100%;-webkit-text-size-adjust:auto;text-size-adjust:auto}@supports(font:-apple-system-body){html{font:-apple-system-body}}
:root{--muted:#c4cedb;--blue:#3D9BE6;--line:#455164}body{font-size:1rem;line-height:1.55;color:#f5f7fb}p{font-size:1rem;color:#d1d9e5}button,input,select,textarea{font-size:1.0625rem;line-height:1.4}button,input:not([type=checkbox]),select,summary{min-height:44px}button{font-weight:600}a{min-height:44px;display:inline-flex;align-items:center}small,.note,.kicker,.eyebrow,.badge,.pill,label,.sidefoot small,.sidefoot button,header,header button,footer,table,.metric small,.metric b span,.bigday small,.hero .bigday small,.week div,.task small,.task .end{font-size:.875rem;line-height:1.5}h1{font-size:3rem;line-height:1.12}h2{font-size:1.75rem;line-height:1.2}h3{font-size:1.5rem;line-height:1.25}.hero h2{font-size:2.375rem}.quote{font-size:1.25rem}.task strong{font-size:1.125rem;line-height:1.4;color:#f5f7fb}.task{min-height:76px}.task[aria-disabled=true]{cursor:pointer}.task.done strong{color:#f5f7fb}.check{width:32px;height:32px;border-color:#9aaabe}.task.done .check{background:#3D9BE6}.paw{width:23px;height:23px;fill:#16283f}.set{width:48px;height:48px}.metric b{font-size:2.25rem}.hero p{font-size:1rem;color:#dbe5f3}.hero .bigday{font-size:5.9375rem}.bigday small{color:#dbe5f3}.hero,.card,.metric{min-width:0}.grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.cardhead{gap:14px;flex-wrap:wrap;align-items:center}.cardhead h2{margin-bottom:8px}.cardhead small{color:#d0d9e6}.week span{width:35px;height:35px}.week div,.note,footer,.empty,.muted,label{color:#c4cedb}summary{padding:10px 0}.sidefoot button{font-size:1rem}.brand{font-size:1.65rem}nav a{font-size:1.0625rem;min-height:48px}nav i{font-size:1.375rem}aside{width:260px;overflow-y:auto}main{margin-left:260px;padding:0 32px}header{min-height:100px;height:auto;padding:18px 0;gap:20px;flex-wrap:wrap}.breadcrumb{display:none}.headerbrand{gap:12px;color:#f5f7fb;letter-spacing:1px;font:700 1.5rem 'Barlow Condensed',sans-serif}.headerbrand img{width:54px;height:54px}.headerbrand b{color:#3D9BE6}header button{color:#e0efcc;font-size:.875rem;max-width:100%}.heading{gap:18px}.heading p{font-size:1rem}.split{align-items:stretch}.split>*{min-width:0}input[type=checkbox]{width:23px;height:23px;vertical-align:middle;margin-right:9px;flex-shrink:0}label:has(input[type=checkbox]){display:flex;align-items:center;min-height:44px;font-size:1rem}dialog{width:min(620px,94vw);padding:28px;max-height:90dvh}.close{min-width:44px;font-size:1.5rem}.ex p{white-space:pre-line}footer{letter-spacing:1px}.lock-note{padding:15px;border-radius:9px;background:#243044;color:#f0f5ff}.baseline-lock{border-color:#87b4f3;display:flex;gap:24px;align-items:center}.baseline-lock>div{flex:1}.baseline-lock button{flex-shrink:0}.milestones{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 24px}.rankbadge,.lossbadge{border:1px solid #557194;border-radius:14px;background:#1b2b42;padding:22px;display:flex;align-items:center;gap:20px}.rankbadge img{width:76px;height:76px}.rankbadge h2{font-size:1.875rem;margin:4px 0}.rankbadge small,.lossbadge small{letter-spacing:1px;color:#d5e4f9}.rankbadge span,.lossbadge>span{font-size:.875rem;color:#e0e8f2}.lossbadge{display:block;background:#202d22;border-color:#556d47}.lossbadge strong{display:block;font:700 2.8rem 'Barlow Condensed';color:#d6f1b4}.lossbadge strong span{font:600 1.125rem 'DM Sans'}.empty{display:flex;align-items:center;gap:18px;min-height:120px}.empty p{margin:0}.emptywolf{width:64px;height:64px;opacity:.65;flex-shrink:0}.chartscale{display:flex;justify-content:space-between;font-size:.875rem;color:#dce5f0}svg.chart{height:auto;min-height:155px}.comparison{margin:28px 0}.comparelabels{display:flex;justify-content:space-between;gap:15px;font-size:.875rem;color:white;margin-bottom:12px}.compareframe{position:relative;aspect-ratio:3/4;max-width:560px;overflow:hidden;background:#0b1017;border:1px solid #657b98;border-radius:12px;margin:0 auto}.compareframe img{position:absolute;width:100%;height:100%;object-fit:contain;inset:0;background:#0b1017}.compareframe .baselineimage{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.compareline{position:absolute;top:0;bottom:0;left:var(--reveal);border-left:3px solid white;display:flex;align-items:center;justify-content:center;width:3px;color:#102238;font-size:1.125rem;text-shadow:0 0 6px white;background:#fff;pointer-events:none}.compareline:after{content:'↔';background:white;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;position:absolute}.comparison input[type=range]{width:100%;accent-color:#b9d5ff;padding:0;height:48px}.comparison label{font-size:1rem;color:#edf1f7}.comparelabels span{max-width:48%}#celebration{position:fixed;z-index:40;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(560px,92vw);padding:35px 24px;background:#18273cf7;border:2px solid #3D9BE6;box-shadow:0 0 0 100vmax #050b14c9;border-radius:20px;text-align:center;backdrop-filter:blur(8px)}#celebration h2{font-size:2rem;margin:20px 0 12px}#celebration p{font-size:1.125rem}.howl-rings{position:relative;width:160px;height:160px;margin:0 auto}.celebration-wolf{width:160px;height:160px;animation:wolf-rise 1s ease-out, wolf-breathe 2s ease-in-out 1s infinite}.howl-rings span{position:absolute;inset:10px;border:1px solid #3D9BE6;border-radius:50%;animation:howl-wave 2s ease-out infinite}.howl-rings span:nth-child(2){animation-delay:1s}@keyframes wolf-rise{from{transform:translateY(25px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes wolf-breathe{50%{transform:scale(1.045)}}@keyframes howl-wave{to{transform:scale(1.6);opacity:0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.howl-rings span{display:none}}
@media(max-width:1100px){.grid{grid-template-columns:1fr}aside{width:220px;padding:25px 16px}main{margin-left:220px;padding:0 24px}.milestones{gap:14px}.rankbadge,.lossbadge{padding:18px}.rankbadge{gap:12px}.rankbadge img{width:58px;height:58px}}
@media(max-width:720px){aside{inset:auto 0 0;width:100%;height:auto;min-height:84px;padding:6px 4px calc(8px + env(safe-area-inset-bottom));overflow:visible;background:#121820f5;backdrop-filter:blur(16px)}main{margin:0;padding:0 18px calc(9rem + env(safe-area-inset-bottom))}nav{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}nav a{font-size:.875rem;line-height:1.4;padding:8px 2px;display:flex;flex-direction:column;justify-content:center;min-width:0;gap:4px;min-height:60px;overflow-wrap:anywhere}nav i{font-size:1.375rem}header{min-height:88px;gap:10px;padding:15px 0}.headerbrand{font-size:1.5rem;gap:6px}.headerbrand img{width:45px;height:45px}header button{font-size:.875rem;padding:9px;max-width:100%}h1{font-size:2.5rem}h2{font-size:1.625rem}h3{font-size:1.5rem}.heading p{font-size:1rem}.hero{padding:22px 18px;gap:15px;align-items:flex-start}.hero h2{font-size:1.875rem}.hero p{font-size:1rem;max-width:none}.hero .bigday{font-size:4.5rem;flex-shrink:0}.hero .bigday small{font-size:.875rem;letter-spacing:0}.badge{font-size:.875rem}.card{padding:20px 16px}.milestones{grid-template-columns:1fr}.rankbadge,.lossbadge{padding:18px}.lossbadge strong{font-size:2.5rem}.baseline-lock{display:block}.baseline-lock button{width:100%}.split{flex-wrap:wrap}.split>*{flex:1 1 130px}.metric b{font-size:2.125rem}.quote{font-size:1.25rem}.note{font-size:.875rem}#toast{font-size:1rem;bottom:calc(7rem + env(safe-area-inset-bottom))}.comparelabels{flex-wrap:wrap}.comparelabels span{max-width:100%}}
@media(max-width:390px){.hero{flex-wrap:wrap}.hero .bigday{font-size:3.75rem;display:flex;align-items:baseline;gap:12px}.metrics{gap:8px}.metric{padding:14px 10px}}
