/* Al día is a study team: the companion celebrates the daily check-in.
   Color belongs to each student's saved theme. Agenda controls stay familiar.
   One short meal animation; no endless movement, sounds or lost points. */
:root{--paper:#f3fafb;--white:#fff;--ink:#183740;--muted:#4b6972;--green:#087e8b;--soft:#dcf0f3;--line:#c9e1e5;--orange:#984626;--peach:#ffeadb;--sidebar:#e2f1f4;--scene:#cceef0;--accent:#e5a743;--button-hover:#086573;--portrait:#edfcfa;font-family:Segoe UI,Arial,system-ui,sans-serif}
:root[data-theme=galaxy]{--paper:#f8f5ff;--ink:#35284f;--muted:#69577f;--green:#7652bc;--soft:#ebe2fb;--line:#d9cbea;--sidebar:#ece5fa;--scene:#e7dafa;--accent:#efb555;--button-hover:#62409f;--portrait:#faf2ff}
:root[data-theme=ocean]{--paper:#f2f7ff;--ink:#203856;--muted:#516987;--green:#2465bc;--soft:#dceafa;--line:#c9dbee;--sidebar:#e0ebfa;--scene:#cdddff;--accent:#ecc24d;--button-hover:#19549e;--portrait:#eff9ff}
:root[data-theme=sunset]{--paper:#fff8f2;--ink:#59332b;--muted:#795e55;--green:#b54b3b;--soft:#ffe6db;--line:#edcec0;--sidebar:#ffeadc;--scene:#ffd8c6;--accent:#d9a442;--button-hover:#973b30;--portrait:#fff3d8}
:root[data-theme=forest]{--paper:#f6faf1;--ink:#293d2a;--muted:#586d52;--green:#287246;--soft:#e0efda;--line:#cbdcc3;--sidebar:#e8f0dc;--scene:#d9e9bc;--accent:#e4b842;--button-hover:#205c39;--portrait:#f2fbe4}
:root[data-theme=berry]{--paper:#fff6fa;--ink:#502d40;--muted:#79566b;--green:#ad3979;--soft:#f9dfed;--line:#eac8da;--sidebar:#fbe6f0;--scene:#f7d2e5;--accent:#e7b340;--button-hover:#8e2e63;--portrait:#fff3fb}
h1,h2,.wordmark{font-family:Segoe UI,Arial,system-ui,sans-serif;font-weight:750;letter-spacing:-.03em}h1{font-size:clamp(2.05rem,3.1vw,2.85rem)}h2{font-size:1.4rem}.wordmark{font-size:3rem;font-weight:850;color:var(--green)}.brand-dot{color:var(--orange)}.sidebar{background:var(--sidebar)}.sidebar .wordmark{font-size:2.7rem}.student-switch select{background:var(--white)}.nav-button:hover{background:var(--soft)}.primary{border-radius:12px;background:var(--green)}.primary:hover{background:var(--button-hover)}.nav-button.active{background:var(--green)}.secondary{border-color:var(--line)}.daily-strip{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:17px 20px;margin-bottom:25px}.daily-copy h2{letter-spacing:0}.daily-controls input,.daily-controls select{border-color:var(--line)}input,select,textarea{border-color:var(--line)}.page-header{margin-bottom:24px}.page-header .date-heading{font-weight:600}.section-heading h2{font-size:1.45rem}.task-row{padding:18px 0}.task-check{border-color:var(--green);background:var(--white)}.task-check:hover{background:var(--soft)}.kind{background:var(--soft);color:var(--ink)}.kind.exam{color:var(--orange)}.task-title{font-weight:650}.upcoming h2{font-size:1.2rem}.deadline-date{font-family:Segoe UI,Arial,system-ui,sans-serif;font-weight:750}.week-day.selected{background:var(--green);border-color:var(--green)}.week-day strong{font-family:inherit;font-weight:750}.login-intro h1{line-height:1.17}.login-form h2{font-size:1.65rem}#demo-banner{background:#fff1ce;color:#604c1c;border-color:#e7d397}.companion{display:flex;gap:24px;align-items:center;background:var(--scene);border-radius:20px;margin-bottom:22px;padding:17px 28px 17px 14px;min-height:178px}.pet-portrait{position:relative;flex:0 0 152px;text-align:center}.pet-sprite{width:150px;height:150px;flex-shrink:0;background-size:200% 200%;background-repeat:no-repeat;isolation:isolate}.pet-sprite.dragon{background-image:url('/static/pets/dragon.png')}.pet-sprite.fox{background-image:url('/static/pets/fox.png')}.frame-happy{background-position:0 0}.frame-hungry{background-position:100% 0}.frame-drowsy{background-position:0 100%}.frame-asleep{background-position:100% 100%}.pet-name{display:inline-block;font-size:.78rem;background:var(--white);padding:3px 14px;border-radius:30px;color:var(--green);font-weight:700;max-width:150px;overflow-wrap:anywhere;margin-top:-8px;vertical-align:top;position:relative}.companion-copy{flex:1;min-width:0}.pet-status{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:.74rem;font-weight:600;color:var(--ink)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green)}.points-pill{background:var(--white);padding:4px 10px;border-radius:20px;margin-left:6px;color:var(--green);font-weight:700}.companion-copy h2{font-size:clamp(1.12rem,1.8vw,1.6rem);margin:9px 0 5px;letter-spacing:-.02em}.companion-copy>p{font-size:.84rem;color:var(--ink);max-width:62ch}.companion-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.companion-actions .primary{font-size:.78rem;padding:10px 14px}.companion-actions .quiet{font-size:.77rem}.companion .quiet:hover{background:var(--white)}.content-grid:has(.corner-intro){grid-template-columns:1fr}.corner-intro{display:grid;grid-template-columns:1fr 270px;gap:30px;align-items:center;background:var(--scene);border-radius:18px;padding:16px 28px 16px 10px;margin-bottom:35px}.corner-pet{display:flex;gap:18px;align-items:center;min-width:0}.corner-pet h2{font-size:1.9rem;overflow-wrap:anywhere;margin:4px 0 8px}.corner-pet>div>p:last-child{font-size:.83rem}.level-summary>p:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.86rem;margin-bottom:10px}.level-summary>p:first-child strong{font-size:1.04rem}.level-summary progress{width:100%;height:10px;border:0;border-radius:8px;background:var(--white);accent-color:var(--green);display:block;margin-bottom:10px}.level-summary progress::-webkit-progress-bar{background:var(--white);border-radius:8px}.level-summary progress::-webkit-progress-value{background:var(--green);border-radius:8px}.level-summary .help{color:var(--ink)}.personalize-form{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px}.personalize-form fieldset{border:0;padding:0;margin:0;min-width:0}.personalize-form legend{padding:0;margin-bottom:8px;font-size:1.35rem;font-weight:750;letter-spacing:-.02em}.personalize-form fieldset>p{font-size:.83rem;margin-bottom:18px}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.theme-choice{position:relative;min-height:104px;border:2px solid var(--line);border-radius:12px;padding:12px 8px 10px;align-items:center;gap:10px;cursor:pointer;background:var(--white);font-size:.76rem}.theme-choice input,.pet-choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.theme-choice:has(input:checked),.pet-choice:has(input:checked){border-color:var(--green);background:var(--soft)}.theme-choice:has(input:focus-visible),.pet-choice:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:3px}.theme-palette{display:flex;align-items:center;padding:10px 0 5px}.theme-palette i{display:block;width:25px;height:25px;border-radius:50%;border:2px solid white;margin-left:-7px;background:var(--swatch2)}.theme-palette i:first-child{margin-left:0;background:var(--swatch1)}.theme-palette i:last-child{background:var(--swatch3)}.theme-lagoon{--swatch1:#087e8b;--swatch2:#75d5cf;--swatch3:#f1ab79}.theme-galaxy{--swatch1:#7652bc;--swatch2:#c6a4f0;--swatch3:#efb555}.theme-ocean{--swatch1:#2465bc;--swatch2:#88baf3;--swatch3:#ecc24d}.theme-sunset{--swatch1:#b54b3b;--swatch2:#f4a785;--swatch3:#e6c45a}.theme-forest{--swatch1:#287246;--swatch2:#98be67;--swatch3:#e4b842}.theme-berry{--swatch1:#ad3979;--swatch2:#efafd0;--swatch3:#e7b340}.pet-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pet-choice{position:relative;align-items:center;gap:2px;border:2px solid var(--line);border-radius:12px;padding:0 10px 13px;cursor:pointer;background:var(--white);font-size:.78rem;text-align:center}.pet-choice .pet-sprite{width:126px;height:126px;max-width:100%}.pet-name-label{margin-top:15px}.pet-name-label input{background:var(--white)}.personalize-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;gap:20px}.rewards-section{margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}.badge-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:14px}.badge{display:flex;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.badge>span{font-size:2rem;line-height:1;color:var(--muted);width:36px;text-align:center}.badge.earned>span{color:var(--orange)}.badge h3{font-size:.9rem}.badge p{font-size:.79rem;color:var(--muted);margin-top:3px}.badge small{font-size:.72rem;color:var(--muted)}.badge.earned small{color:var(--green);font-weight:700}.game-rules{margin-top:26px;font-size:.87rem}.game-rules summary{cursor:pointer;font-weight:650;padding:10px 0;min-height:44px}.game-rules ul{padding-left:20px;max-width:75ch;color:var(--muted)}.game-rules li{padding-bottom:10px}.just-fed .pet-sprite{animation:meal-cheer 700ms cubic-bezier(.16,1,.3,1) 1}@keyframes meal-cheer{0%{transform:translateY(0) rotate(0)}35%{transform:translateY(-12px) rotate(-6deg)}65%{transform:translateY(-4px) rotate(5deg)}100%{transform:translateY(0) rotate(0)}}
@media(max-width:1100px){.companion{gap:15px;padding-right:18px}.pet-portrait{flex-basis:125px}.pet-portrait .pet-sprite{width:125px;height:125px}.corner-intro{grid-template-columns:1fr}.level-summary{max-width:450px;padding:0 15px 10px}.personalize-form{grid-template-columns:1fr}.personalize-form fieldset{max-width:620px}.pet-options{max-width:440px}.theme-options{max-width:540px}}
@media(max-width:720px){.sidebar .wordmark{font-size:2.3rem}.sidebar{padding-top:14px}.sidebar>.brand-caption{font-size:.7rem}.sidebar-bottom{display:none}.sidebar nav{padding-bottom:8px}.page-header{margin-bottom:20px}.page-header h1{font-size:1.9rem}.page-header .primary{max-width:120px;border-radius:10px}.companion{padding:12px 13px 12px 3px;gap:8px;min-height:150px;border-radius:16px;margin-bottom:16px}.pet-portrait{flex-basis:100px}.pet-portrait .pet-sprite{width:105px;height:105px}.pet-name{font-size:.68rem;max-width:100px;padding:3px 10px}.companion-copy h2{font-size:1.02rem;margin-top:8px;line-height:1.25}.companion-copy>p{font-size:.72rem;line-height:1.5}.pet-status{font-size:.64rem;gap:5px}.points-pill{font-size:.63rem;margin-left:0;padding:3px 7px}.companion-actions{gap:0;margin-top:7px;align-items:stretch;flex-direction:column}.companion-actions .primary{font-size:.71rem;padding:8px;min-height:44px}.companion-actions .quiet{font-size:.67rem;padding:6px 0;min-height:35px;text-align:left}.daily-strip{padding:14px 15px;margin-bottom:21px}.daily-copy h2{font-size:.91rem}.daily-copy p{font-size:.72rem}.daily-controls{gap:7px}.section-heading h2{font-size:1.23rem}.corner-intro{padding:6px 15px 12px 0;gap:0}.corner-pet{gap:3px}.corner-pet .pet-sprite{width:126px;height:126px}.corner-pet h2{font-size:1.5rem}.corner-pet>div>p:last-child{font-size:.75rem}.level-summary{padding-left:17px}.personalize-form{gap:25px}.personalize-form legend{font-size:1.18rem}.theme-options{gap:8px}.theme-choice{min-height:96px;font-size:.71rem}.theme-palette i{width:23px;height:23px}.pet-choice{padding:0 4px 10px}.pet-choice .pet-sprite{width:126px;height:126px}.personalize-footer{align-items:stretch;flex-direction:column;gap:12px}.badge-list{grid-template-columns:1fr}.game-rules{font-size:.8rem}.companion-copy .pet-status>span:first-child{display:none}.rewards-section>h2{font-size:1.25rem}}
main{margin:0 auto}
.nav-button>svg{width:20px;height:20px;flex-shrink:0}
@media(max-width:720px){.nav-button>svg{display:none}}
.companion-actions .quiet,.sidebar-bottom .quiet{color:var(--ink)}
.theme-choice:has(input:checked)::after,.pet-choice:has(input:checked)::after{content:'✓';position:absolute;right:8px;top:3px;font-size:.85rem;font-weight:750;color:var(--green)}
@media(max-width:720px){.sidebar-bottom{display:flex;padding:0;align-items:center}.sidebar-bottom p{font-size:.68rem}.sidebar-bottom .quiet{font-size:.72rem;min-height:44px}.companion-actions .quiet{min-height:44px}}
@media(prefers-reduced-motion:reduce){.just-fed .pet-sprite{animation:none}}
