/* Targeted accessibility fixes; existing layout, colours, typefaces and branding are retained. */
textarea[name="wins"]::placeholder,textarea[name="struggles"]::placeholder{color:#dce5f2;opacity:1}
label,.note,.task small,.metric small,.metric b span,.week div,.week span,.badge,.rankbadge span,.rankbadge small,.lossbadge>span,.cardhead small,footer,.sidefoot small{font-size:1rem}
.onboarding-checklist{padding:14px 16px;border:1px solid var(--line);border-radius:9px;color:#edf1f7}
[hidden]{display:none!important}
#authscreen{max-width:560px;margin:6vh auto;padding:20px}#authscreen h1{font-size:2.5rem;margin-top:28px}.auth-card{padding:30px}.auth-card .headerbrand{margin-bottom:12px}#authmessage:empty{display:none}#authmessage{color:#edf1f7}.auth-screen{min-height:100dvh}.auth-screen .close{min-height:44px}
@media(max-width:720px){#authscreen{margin:2vh auto;padding:18px}.auth-card{padding:24px 18px}.auth-card h1{font-size:2.25rem}}
#journey-progress p{margin:6px 0;font-size:1rem}#journey-progress progress{width:100%;accent-color:#3D9BE6}#journey-progress button,.set-buttons button{min-height:44px}.set-buttons{display:flex;gap:8px}.set-buttons button{flex:1;font-size:1.125rem}.coach-whatsapp{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;margin:0 0 18px;padding:8px}.pack-copy{white-space:pre-wrap}.rest-clock{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));right:12px;padding:12px;background:#202b39;border:1px solid #627384;border-radius:10px;z-index:18}.rest-clock button{min-height:44px}
#pack-intro{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#10151c;color:white;border-radius:0}#pack-intro video{width:100%;height:100%;object-fit:contain;max-height:none;border:0;margin:0}#pack-intro::backdrop{background:#10151c}#pack-intro.intro-done video{filter:brightness(.42)}.intro-controls{position:absolute;inset:auto max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));max-width:600px;margin:auto}.intro-controls button{min-height:44px}.intro-controls .intro-start,.intro-controls .intro-rewatch{min-height:56px;font-size:18px;font-weight:800}.intro-start{background:#3D9BE6;color:#161b22;border-color:#3D9BE6}.intro-rewatch{background:transparent;border:2px solid white}
.last-seen{display:block;font-size:1rem}.last-seen.old{color:#ff9898}
@media(max-width:720px){.set-buttons{flex-wrap:wrap}}

@media(max-width:720px){#app .mobile-journey{display:block}}@media(min-width:721px){#app .mobile-journey{display:none}}

.food-guide {font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
.food-guide h3,.food-guide h4 {font-size:1.5rem;margin:1.25em 0 .5em}
.food-guide li {margin:.6em 0}
.food-guide table {width:100%;border-collapse:collapse;margin:1.25em 0;font-size:1rem}
.food-guide th,.food-guide td {text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid #627384;white-space:normal}
.food-guide hr {border:0;border-top:1px solid #627384;margin:24px 0}
@media (max-width:600px) {
  .food-guide table,.food-guide tbody,.food-guide tr,.food-guide td {display:block;width:auto}
  .food-guide thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .food-guide tr {margin:14px 0;border:1px solid #627384;border-radius:10px;padding:10px}
  .food-guide td {border:0;padding:5px 0}
  .food-guide td:nth-child(2)::before {content:attr(data-label) ': ';font-weight:700}
  .food-guide td:first-child {font-size:1.125rem;font-weight:700}
  .food-guide td:empty {display:none}
}

/* Intro fills the screen before login without altering the app screens. */
body.intro-open{overflow:hidden}body.intro-open #authscreen,body.intro-open #appshell{visibility:hidden}#pack-intro [hidden]{display:none}#pack-intro .intro-controls{z-index:1}

.journey-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.journey-overview .phase-card{margin:0}.catchup-nudge{padding:16px;border:1px solid #3D9BE6;border-radius:12px;color:#fff2cd}
#journey-message{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:28px;box-sizing:border-box;background:#10151c;color:#fff;overflow:auto}#journey-message[open]{display:flex}#journey-message::backdrop{background:#10151c}.journey-message-content{width:100%;max-width:560px;margin:auto;text-align:center}#journey-message h2{font-size:28px;margin:20px 0 8px}#journey-message p{font-size:18px;line-height:1.5}#journey-message button{min-height:56px;margin-top:20px}

/* Your wolf and the daily game card. */
.game-card{overflow:hidden}.wolf-home{display:flex;align-items:center;gap:20px}.wolf-picture{width:46%;max-width:260px;flex-shrink:0}.your-wolf{display:block;width:100%;height:auto;overflow:visible}.wolf-story h2{font-size:32px;margin:10px 0}.streak-flame{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.streak-flame>span:first-child{font-size:38px}.streak-flame strong{font-size:52px;line-height:1}.streak-flame>span:last-child{font-size:17px}.wolf-xp progress{width:100%;height:20px;accent-color:#3D9BE6}.wolf-xp h3{margin:0}.wolf-xp p{font-size:15px}.badge-list{margin:18px 0}.badge-list ul{list-style:none;padding:0;margin:14px 0}.badge-list li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #536176}.badge-list li>span{font-size:25px}.badge-list strong,.badge-list small{display:block}.badge-list small{line-height:1.5;margin-top:4px}.badge-list .earned{color:#f0dcae}.badge-list .locked{color:#c0cad8}.howl-finish{margin-top:24px;padding-top:18px;border-top:1px solid #536176}.howl-button{min-height:60px;font-size:22px;letter-spacing:.05em}.boss-card{border:2px solid #3D9BE6}.boss-card h2{font-size:28px}.boss-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.boss-checks button{min-height:60px}.rare-wolf{filter:drop-shadow(0 0 16px #8d72d35c)}
#wolf-picker{max-width:540px;width:calc(100% - 28px);max-height:94dvh;padding:24px;box-sizing:border-box;overflow:auto}#wolf-picker .wolf-picker-preview{width:170px;margin:auto}.wolf-colours{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wolf-colours label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1px solid #697992;border-radius:10px;cursor:pointer}.wolf-colours input{width:auto;min-height:20px;margin:0}.wolf-swatch{display:inline-block;flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1px solid #dce5f5}#wolf-picker fieldset{margin:16px 0;border:0;padding:0}#wolf-picker legend{margin-bottom:10px}#wolf-picker button{min-height:50px}
#celebration .your-wolf{position:relative;width:240px;height:225px;max-width:none;z-index:1}#celebration .howl-rings{width:240px;height:225px}#celebration h2{text-align:center}#celebration p{text-align:center;max-width:560px}.wolf-breathe{transform-box:fill-box;transform-origin:center;animation:wolf-breathe 3s ease-in-out infinite}.wolf-tail{transform-box:fill-box;transform-origin:left bottom;animation:wolf-tail 4s ease-in-out infinite}@keyframes wolf-breathe{50%{translate:0 -3px}}@keyframes wolf-tail{50%{rotate:4deg}}@media(max-width:520px){.wolf-home{gap:10px}.wolf-picture{width:43%}.wolf-story h2{font-size:27px}.streak-flame{gap:7px}.streak-flame strong{font-size:42px}.streak-flame>span:last-child{font-size:15px;width:100%}.wolf-colours label{padding:10px}.boss-checks{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.wolf-breathe,.wolf-tail{animation:none}#celebration .howl-rings span{animation:none}}

#celebration{width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;border:0;margin:0;overflow:auto}#celebration::backdrop{background:#10151c}
