@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Nunito:wght@700;800;900&family=Patrick+Hand&display=swap";:root{color:#253958;font-synthesis:none;text-rendering:optimizelegibility;--primary:#315f9e;--primary-dark:#1f477f;--primary-soft:#e7f0f8;--accent:#d95652;--accent-dark:#a93838;--accent-soft:#ffe9df;--yellow:#f4d66e;--green:#75a77b;--ink:#253958;--muted:#68778c;--line:#b9d5e5;--paper:#fffdf1;--paper-deep:#fff8df;--surface:#fffdf1f7;--outline:#7f9bb4;--shadow:4px 5px 0 #25395824, 0 16px 34px #3748331a;--z-navigation:10;--z-modal:1000;background:#d9e2cf;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#d9e2cf;min-width:320px}body{background-color:#d9e2cf;background-image:linear-gradient(90deg,#ffffff3d 50%,#0000 50%),linear-gradient(#ffffff3d 50%,#0000 50%);background-size:2.4rem 2.4rem;min-width:320px;min-height:100vh;margin:0}::selection{color:var(--ink);background:#f4d66eb8}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}h1,h2,h3,.brand-name{font-family:Patrick Hand,Nunito,cursive;font-weight:400}.app-shell{--notebook-margin:.78rem;background-color:var(--paper);background-image:linear-gradient(90deg, transparent 0, transparent var(--notebook-margin), #d956526b var(--notebook-margin), #d956526b calc(var(--notebook-margin) + 1px), transparent calc(var(--notebook-margin) + 1px)), repeating-linear-gradient(0deg, transparent 0, transparent 1.72rem, #62a4c52b 1.72rem, #62a4c52b calc(1.72rem + 1px));width:100%;min-height:100vh;margin:0 auto;position:relative;overflow:clip;box-shadow:0 0 70px #323d2a21}.app-shell:before{z-index:2;content:"";pointer-events:none;background-image:radial-gradient(circle,#6d5d3938 0 .18rem,#ffffffe0 .19rem .27rem,#0000 .28rem);background-position:top;background-size:100% 2.2rem;width:.85rem;position:absolute;top:.9rem;bottom:0;left:.1rem}.app-content{min-height:100vh;padding-bottom:calc(6.3rem + env(safe-area-inset-bottom))}.app-content--guest{padding-bottom:0}.page{z-index:3;width:min(100%,72rem);min-height:100vh;padding:max(1.1rem, env(safe-area-inset-top)) 1.15rem 2rem 1.45rem;margin:0 auto;position:relative}.page-sheet-enter-active,.page-sheet-leave-active{transform-origin:10% 0;transition:opacity .24s,transform .32s cubic-bezier(.22,1,.36,1),filter .24s}.page-sheet-enter-from{opacity:0;filter:blur(2px);transform:translateY(1rem)rotate(.35deg)scale(.985)}.page-sheet-leave-to{opacity:0;filter:blur(1px);transform:translateY(-.45rem)rotate(-.2deg)scale(.995)}.topbar{justify-content:space-between;align-items:center;min-height:3.5rem;margin-bottom:2.25rem;display:flex}.brand,.topbar-stats,.stat-pill,.welcome-block,.section-heading,.goal-progress__label,.streak-card{align-items:center;display:flex}.brand{gap:.65rem}.brand-copy{gap:0;line-height:1;display:grid}.brand-copy small{color:var(--accent-dark);letter-spacing:.04em;font-family:Patrick Hand,cursive;font-size:.68rem;transform:rotate(-1deg)}.brand-mark{color:#fff;background:var(--accent);border:2px solid #953a38;border-radius:48% 52% 46% 54%;place-items:center;width:2.35rem;height:2.35rem;font-family:Patrick Hand,cursive;font-size:1.35rem;font-weight:400;display:grid;transform:rotate(-5deg);box-shadow:3px 3px #953a3833}.brand-name{letter-spacing:.01em;font-size:1.72rem;line-height:.82}.topbar-stats{gap:.45rem}.stat-pill{border:1.5px dashed var(--outline);background:var(--paper-deep);border-radius:45% 55% 48% 52%;gap:.25rem;height:2.25rem;padding:0 .65rem;font-size:.82rem;transform:rotate(1deg)}.stat-pill--fire{color:#cc5b14}.avatar{border:2px solid var(--avatar-color,var(--green));background:color-mix(in srgb, var(--avatar-color,var(--green)) 14%, white);border-radius:53% 47% 49% 51%;place-items:center;width:2.35rem;height:2.35rem;font-size:1.15rem;display:grid;transform:rotate(4deg);box-shadow:3px 3px #345c3b26}.welcome-block{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}.eyebrow{color:var(--accent-dark);letter-spacing:.02em;margin-bottom:.35rem;font-family:Patrick Hand,cursive;font-size:1rem;font-weight:400}.welcome-block h1,.view-header h1{letter-spacing:0;max-width:16ch;margin-bottom:0;font-size:clamp(2rem,8vw,3.05rem);line-height:.98}.level-badge{color:#725d1d;background:#f4d66e9e;border:1.5px dashed #a58a37;border-radius:.2rem .55rem .3rem .5rem;flex:none;padding:.45rem .7rem;font-family:Patrick Hand,cursive;font-size:.92rem;font-weight:800;transform:rotate(2deg)}.goal-card{border:2px solid var(--primary);color:var(--ink);background:repeating-linear-gradient(0deg,#0000 0 1.65rem,#5397ba2b 1.65rem calc(1.65rem + 1px)),#fffef5;border-radius:.65rem 1.1rem .75rem 1rem;padding:1.4rem;position:relative;overflow:hidden;box-shadow:5px 6px #315f9e29,0 18px 34px #3f493114}.goal-card:before{z-index:2;content:"";background:#f4d66ead;width:5.8rem;height:1.15rem;position:absolute;top:-.48rem;left:50%;transform:translate(-50%)rotate(-2deg)}.goal-card:after{color:#a938386b;content:"défi du jour";text-align:center;border:2px solid #a9383852;border-radius:50%;place-items:center;width:5.2rem;height:5.2rem;font-family:Patrick Hand,cursive;font-size:.9rem;display:grid;position:absolute;top:.8rem;right:-.65rem;transform:rotate(11deg)}.goal-card .eyebrow{color:var(--accent-dark)}.goal-copy{z-index:1;position:relative}.goal-copy h2{max-width:18ch;margin-bottom:.35rem;font-size:1.72rem;line-height:1}.goal-copy>p:last-child{color:var(--muted);margin-bottom:1.15rem;font-size:.88rem}.goal-progress{z-index:1;margin-bottom:1.2rem;position:relative}.goal-progress__label{color:var(--primary-dark);justify-content:space-between;margin-bottom:.45rem;font-size:.78rem}.progress-track{border:1.5px solid var(--primary);background:#ffffffd1;border-radius:999px;height:.82rem;overflow:hidden}.progress-track span{border-radius:inherit;background:repeating-linear-gradient(-45deg, var(--yellow) 0, var(--yellow) .48rem, #ecc950 .48rem, #ecc950 .63rem);min-width:.45rem;height:100%;box-shadow:none;transition:width .45s;display:block}.primary-button{z-index:1;border:2px solid var(--primary-dark);color:#fff;background:var(--primary);width:100%;min-height:3.15rem;box-shadow:0 4px 0 var(--primary-dark);cursor:pointer;border-radius:.45rem .8rem .5rem .7rem;justify-content:center;align-items:center;gap:.7rem;font-weight:800;display:flex;position:relative;transform:rotate(-.3deg)}.primary-button:active{box-shadow:0 2px 0 var(--primary-dark);transform:translateY(2px)rotate(-.3deg)}.quick-stats{grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0 2rem;display:grid}.quick-stats>div{border:1.5px solid var(--outline);background:#fff9dc;border-radius:.35rem .7rem .45rem .65rem;align-content:center;place-items:center;min-height:5.4rem;padding:.7rem .25rem;display:grid;transform:rotate(-1.2deg);box-shadow:3px 4px #2539581a}.quick-stats>div:nth-child(2){background:#eaf3de;transform:rotate(1deg)}.quick-stats>div:nth-child(3){background:#ffe8df;transform:rotate(-.5deg)}.quick-stats span{color:var(--accent);font-family:Patrick Hand,cursive;font-size:1rem}.quick-stats strong{color:var(--primary-dark);margin-top:.1rem;font-family:Patrick Hand,cursive;font-size:1.25rem;font-weight:400}.quick-stats small{color:var(--muted);font-size:.68rem}.section-block{margin-top:.5rem}.section-heading{justify-content:space-between;margin-bottom:.95rem}.section-heading h2{margin-bottom:0;font-size:1.75rem}.section-heading>a{color:var(--accent-dark);border-bottom:2px solid #d9565273;font-family:Patrick Hand,cursive;font-size:.78rem;font-weight:800;transform:rotate(-1deg)}.subject-grid{grid-template-columns:1fr;gap:.85rem;display:grid}.subject-card{border:1.5px solid color-mix(in srgb, var(--subject-color) 48%, var(--outline));min-height:5.1rem;box-shadow:3px 4px 0 color-mix(in srgb, var(--subject-color) 16%, #2539581f);background:repeating-linear-gradient(0deg,#0000 0 1.48rem,#62a4c51c 1.48rem calc(1.48rem + 1px)),#fffef6;border-radius:.45rem .9rem .55rem .78rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.85rem 1rem;transition:transform .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.subject-card:nth-child(odd){transform:rotate(-.25deg)}.subject-card:nth-child(2n){transform:rotate(.25deg)}.subject-card:before{background:var(--subject-color);content:"";width:.5rem;position:absolute;inset:0 auto 0 0}.subject-card:active{transform:scale(.985)rotate(0)}.subject-card--empty{opacity:.66}.subject-icon{border:1.5px solid color-mix(in srgb, var(--subject-color) 58%, var(--outline));background:color-mix(in srgb, var(--subject-color) 15%, #fffdf1);border-radius:50% 46% 54% 48%;place-items:center;width:2.7rem;height:2.7rem;font-size:1.3rem;display:grid;transform:rotate(-4deg)}.subject-card__copy{gap:.15rem;display:grid}.subject-card__copy strong{color:var(--primary-dark);font-family:Patrick Hand,cursive;font-size:1.2rem;font-weight:400}.subject-card__copy small{color:var(--muted);font-size:.72rem}.subject-arrow{color:#aaa5ba;font-size:1.55rem}.streak-card{background:#fff3b9;border:1.5px dashed #c39b37;border-radius:.35rem .75rem .4rem .7rem;gap:.9rem;margin:1.2rem 0 .5rem;padding:1rem;transform:rotate(-.5deg);box-shadow:3px 4px #7c5e1c1a}.streak-card__icon{background:#ffe0bd;border:1.5px solid #e69d5a;border-radius:50%;flex:none;place-items:center;width:2.9rem;height:2.9rem;font-size:1.35rem;display:grid}.streak-card strong{font-size:.88rem}.streak-card p{color:#77653f;margin:.15rem 0 0;font-size:.72rem}.bottom-nav{z-index:var(--z-navigation);width:100%;padding:.55rem .5rem calc(.45rem + env(safe-area-inset-bottom));border-top:2px solid var(--primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:repeating-linear-gradient(90deg,#315f9e08 0 1rem,#0000 1rem 2rem),#fffdf1f7;grid-template-columns:repeat(4,1fr);margin:auto;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px #315f9e14,0 -14px 28px #37483314}.bottom-nav--admin{grid-template-columns:repeat(5,1fr)}.bottom-nav__item{color:#718095;border-radius:.25rem .6rem .3rem .55rem;align-content:center;place-items:center;gap:.18rem;min-height:3.3rem;font-size:.64rem;font-weight:700;display:grid}.bottom-nav__icon{font-family:Patrick Hand,system-ui,sans-serif;font-size:1.5rem;line-height:1}.bottom-nav__icon svg{width:1.5rem;height:1.5rem;display:block}.bottom-nav__item.router-link-active{color:var(--primary-dark);background:#f4d66e9e;border:1px dashed #b18e31;transform:rotate(-1deg)}.inner-page{padding-top:max(2rem, env(safe-area-inset-top))}.view-header{margin-bottom:2rem;padding:.7rem 0 1rem;position:relative}.view-header:after{clip-path:polygon(0 35%,100% 0,98% 75%,2% 100%);content:"";background:#d9565285;width:min(11rem,45vw);height:.35rem;margin-top:.85rem;display:block;transform:rotate(-1deg)}.view-header p:last-child{max-width:34rem;color:var(--muted);margin:.7rem 0 0;line-height:1.55}.coming-soon-card{border:2px dashed var(--outline);min-height:19rem;box-shadow:var(--shadow);text-align:center;background:repeating-linear-gradient(0deg,#0000 0 1.65rem,#5397ba24 1.65rem calc(1.65rem + 1px)),#fffef5;border-radius:.55rem 1rem .65rem .9rem;align-content:center;place-items:center;padding:2rem;display:grid;transform:rotate(-.25deg)}.coming-soon-card>span{margin-bottom:.8rem;font-size:3rem}.coming-soon-card h2{margin-bottom:.5rem;font-size:1.25rem}.coming-soon-card p{max-width:29rem;color:var(--muted);margin-bottom:0;line-height:1.55}.notice{border:1.5px dashed var(--outline);background:var(--surface);color:var(--muted);border-radius:.4rem .75rem .45rem .7rem;padding:1rem}.notice--error{color:#a33e43;background:#fff0f1}.page--loading{padding-top:2rem}.skeleton{background:linear-gradient(90deg,#e9e6d7 25%,#fffdf1 50%,#e9e6d7 75%) 0 0/200% 100%;border-radius:.45rem;animation:1.4s infinite shimmer}.skeleton--header{width:100%;height:3rem;margin-bottom:2rem}.skeleton--hero{height:16rem}.skeleton-grid{gap:.75rem;margin-top:2rem;display:grid}.skeleton--card{height:5rem}.error-state{text-align:center;align-content:center;place-items:center;display:grid}.error-state__icon{font-size:3rem}.error-state h1{margin:.8rem 0 .5rem}.error-state p{max-width:28rem;color:var(--muted);line-height:1.55}.error-state .primary-button{color:#fff;background:var(--primary);width:auto;min-width:11rem;margin-top:.5rem}.auth-page{min-height:100vh;padding:max(1.5rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom));background:radial-gradient(circle at 88% 7%,#f4d66e75,#0000 14rem),radial-gradient(circle at 8% 92%,#315f9e38,#0000 18rem);grid-template-columns:minmax(0,1fr);place-items:center;display:grid}.auth-card{border:2px solid var(--primary);width:min(100vw - 2.5rem,29rem);min-width:0;box-shadow:var(--shadow);background-color:#fffdf1fa;background-image:linear-gradient(90deg,#0000 0 2.15rem,#d9565247 2.15rem 2.2rem,#0000 2.2rem),repeating-linear-gradient(0deg,#0000 0 1.7rem,#62a4c521 1.7rem calc(1.7rem + 1px));border-radius:.7rem 1.15rem .8rem 1rem;justify-self:center;padding:clamp(1.35rem,5vw,2.25rem);position:relative;overflow:hidden}.auth-card:before{content:"";background:#f4d66eb3;width:6.2rem;height:1.1rem;position:absolute;top:-.42rem;left:50%;transform:translate(-50%)rotate(1.5deg)}.auth-brand,.profile-identity{align-items:center;display:flex}.auth-brand{gap:.65rem;margin-bottom:2.2rem}.auth-heading h1{letter-spacing:0;margin-bottom:.55rem;font-size:clamp(2.15rem,9vw,2.8rem);line-height:.98}.auth-heading>p:last-child{color:var(--muted);margin-bottom:1.65rem;line-height:1.5}.auth-form{gap:1rem;display:grid}.form-field{gap:.4rem;display:grid}.form-field>span{color:var(--primary-dark);font-family:Patrick Hand,cursive;font-size:.98rem;font-weight:400}.form-field input,.form-field select,.form-field textarea{border:1.5px solid var(--outline);width:100%;min-height:3.15rem;color:var(--ink);font:inherit;background:#fffef6eb;border-radius:.3rem .65rem .35rem .58rem;outline:none;padding:0 .9rem;transition:border-color .16s,box-shadow .16s,background .16s}.form-field textarea{resize:vertical;min-height:6rem;padding-top:.8rem;padding-bottom:.8rem;line-height:1.45}.form-field input::placeholder{color:#aaa6b5}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary);background:#fffef8;box-shadow:0 0 0 3px #315f9e24}.form-error{color:#9c333a;background:#fff0f1;border:1px dashed #c75c5c;border-radius:.35rem .7rem .4rem .6rem;margin:0;padding:.8rem .9rem;font-size:.8rem;line-height:1.45}.auth-submit{color:#fff;background:var(--primary);margin-top:.2rem}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.65}.auth-switch{color:var(--muted);text-align:center;margin:1.35rem 0 0;font-size:.82rem}.auth-switch a{color:var(--accent-dark);border-bottom:2px solid #d9565266;font-weight:800}.profile-card{border:2px solid var(--profile-color,var(--primary));background:repeating-linear-gradient(0deg, transparent 0, transparent 1.7rem, #62a4c51c 1.7rem, #62a4c51c calc(1.7rem + 1px)), var(--paper);box-shadow:var(--shadow);border-radius:.65rem 1.05rem .75rem .95rem;padding:clamp(1.2rem,5vw,2rem);position:relative}.profile-card:before{background:color-mix(in srgb, var(--profile-color,var(--yellow)) 28%, white);content:"";width:5rem;height:1.15rem;position:absolute;top:-.5rem;right:12%;transform:rotate(3deg)}.profile-identity{border-bottom:1px solid var(--line);gap:1rem;padding-bottom:1.3rem}.profile-avatar{border:2px solid var(--profile-color,var(--green));background:color-mix(in srgb, var(--profile-color,var(--green)) 14%, white);border-radius:50% 46% 54% 48%;flex:none;place-items:center;width:4rem;height:4rem;font-size:2rem;display:grid;transform:rotate(-3deg);box-shadow:3px 3px #3f684521}.profile-identity h2{margin-bottom:.2rem;font-size:1.6rem}.profile-identity p{overflow-wrap:anywhere;color:var(--muted);margin:0;font-size:.82rem}.profile-details{gap:.75rem;margin:1.25rem 0;display:grid}.profile-details>div{border:1px dashed var(--outline);background:#fff3b98c;border-radius:.3rem .65rem .35rem .58rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem;display:flex}.profile-details dt{color:var(--muted);font-size:.76rem}.profile-details dd{color:var(--primary-dark);margin:0;font-size:.82rem;font-weight:800}.profile-level{gap:.9rem;margin:0 0 1.25rem;display:grid}.profile-page{gap:1.25rem;display:grid}.profile-page>.view-header{margin-bottom:.35rem}.profile-hero{gap:1rem;display:grid}.profile-hero .profile-identity{border-bottom:0;padding-bottom:0}.profile-hero__labels{flex-wrap:wrap;gap:.55rem;display:flex}.profile-hero__labels span,.profile-section__count{border:1px dashed color-mix(in srgb, var(--profile-color,var(--primary)) 65%, var(--outline));color:var(--primary-dark);background:color-mix(in srgb, var(--profile-color,var(--primary)) 10%, white);border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:800}.profile-section{border:1.5px solid var(--outline);background:repeating-linear-gradient(0deg, transparent 0, transparent 1.7rem, #62a4c514 1.7rem, #62a4c514 calc(1.7rem + 1px)), var(--paper);border-radius:.5rem .95rem .6rem .82rem;padding:clamp(1.1rem,4vw,1.6rem);box-shadow:3px 4px #2539581a}.profile-section__heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.profile-section__heading h2{margin-bottom:0;font-size:1.55rem}.profile-section__heading>span:not(.profile-section__count){font-size:1.6rem}.profile-form{gap:1rem;display:grid}.profile-choice-field{border:0;min-width:0;margin:0;padding:0}.profile-choice-field legend{color:var(--primary-dark);margin-bottom:.55rem;font-family:Patrick Hand,cursive;font-size:.98rem}.avatar-picker{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;display:grid}.avatar-picker__preview{border:2px solid var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;width:4rem;height:4rem;font-size:2rem;display:grid;box-shadow:2px 3px #25395817}.avatar-picker__control{color:var(--primary-dark);gap:.35rem;font-size:.78rem;font-weight:700;display:grid}.avatar-picker__control input{border:1.5px solid var(--outline);width:100%;min-height:3rem;color:var(--ink);text-align:center;background:#fffef6;border-radius:.4rem .7rem .45rem .65rem;padding:.45rem .8rem;font-size:1.45rem}.avatar-picker__control input:focus{border-color:var(--primary);outline:3px solid #315f9e24}.avatar-picker__control small{color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.4}.avatar-picker__error{margin-top:.6rem}.emoji-picker-toggle{border:1.5px dashed var(--primary);width:100%;min-height:2.8rem;color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border-radius:.4rem .7rem .45rem .65rem;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:.6rem .9rem;font-weight:800;display:flex}.emoji-picker-panel{border:1.5px solid var(--outline);background:#fffef6;border-radius:.45rem .8rem .5rem .72rem;margin-top:.65rem;padding:.65rem;box-shadow:3px 4px #25395817}.web-emoji-picker{width:100%;height:min(25rem,65vh)}.web-emoji-picker emoji-picker{--background:#fffef6;--border-color:transparent;--input-border-color:var(--outline);--input-font-color:var(--ink);--input-placeholder-color:var(--muted);--outline-color:var(--primary);width:100%;height:100%}.color-picker{flex-wrap:wrap;gap:.65rem;display:flex}.color-picker button{outline:1.5px solid var(--outline);background:var(--swatch-color);cursor:pointer;border:4px solid #fff;border-radius:50%;width:2.55rem;height:2.55rem;box-shadow:2px 3px #2539581f}.color-picker button.color-picker__option--selected{outline:3px solid var(--swatch-color);outline-offset:2px;transform:scale(1.05)}.form-success{color:#31663b;background:#edf8e9;border:1px dashed #5a9064;border-radius:.35rem .7rem .4rem .6rem;margin:0;padding:.8rem .9rem;font-size:.8rem}.profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.profile-stats-grid article{border:1.5px dashed var(--outline);text-align:center;background:#fff9dcd6;border-radius:.4rem .75rem .45rem .68rem;align-content:center;place-items:center;min-height:7.25rem;padding:.8rem;display:grid}.profile-stats-grid article:nth-child(2n){background:#eaf3dedb}.profile-stats-grid article:last-child:nth-child(odd){grid-column:1/-1}.profile-stats-grid article>span{margin-bottom:.25rem;font-size:1.25rem}.profile-stats-grid strong{color:var(--primary-dark);font-family:Patrick Hand,cursive;font-size:1.45rem;font-weight:400}.profile-stats-grid small{color:var(--muted);font-size:.68rem}.badge-grid{gap:.7rem;display:grid}.badge-card{background:#fff3b9b8;border:1.5px solid #d2aa3d;border-radius:.45rem .85rem .5rem .75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;padding:.9rem;display:grid;box-shadow:2px 3px #52431b17}.badge-card--locked{filter:grayscale(.65);opacity:.72;background:#eff0ebd1;border-style:dashed;border-color:#a7afba}.badge-card__icon{background:#ffffffb8;border-radius:50%;place-items:center;width:3rem;height:3rem;font-size:1.45rem;display:grid}.badge-card strong{color:var(--primary-dark);font-family:Patrick Hand,cursive;font-size:1.05rem;font-weight:400}.badge-card p{color:var(--muted);margin:.15rem 0 .25rem;font-size:.73rem;line-height:1.4}.badge-card small{color:#85691e;text-transform:uppercase;font-size:.65rem;font-weight:800}.account-settings{gap:.9rem;display:grid}.account-setting-card{border:1px dashed var(--outline);background:#fffef6db;border-radius:.4rem .75rem .45rem .68rem;align-content:start;gap:.9rem;padding:1rem;display:grid}.account-setting-card h3{color:var(--primary-dark);margin:0;font-size:1.1rem}.account-setting-card>p{color:var(--muted);margin:-.45rem 0 0;font-size:.75rem;line-height:1.45}.profile-session-actions{gap:.75rem;margin-top:1rem;display:grid}.form-hint{color:var(--muted);margin:0;font-size:.8rem}.secondary-button{border:1.5px dashed var(--accent);width:100%;min-height:3rem;color:var(--accent-dark);background:var(--accent-soft);cursor:pointer;border-radius:.35rem .7rem .4rem .65rem;font-weight:800}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.admin-stat-card{border:1.5px solid var(--outline);background:var(--surface);border-radius:.45rem .85rem .5rem .75rem;align-content:center;justify-items:start;min-height:9rem;padding:1.15rem;display:grid;box-shadow:3px 4px #2539581a}.admin-stat-card>span{margin-bottom:.55rem;font-size:1.45rem}.admin-stat-card strong{color:var(--primary-dark);font-family:Nunito,sans-serif;font-size:1.8rem;line-height:1}.admin-stat-card p{color:var(--muted);margin:.3rem 0 0;font-size:.76rem}.admin-panel{border:1.5px solid var(--outline);background:var(--surface);border-radius:.45rem .85rem .5rem .75rem;margin-top:1rem;padding:1.25rem}.admin-panel h2{margin-bottom:0;font-size:1.2rem}.admin-panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-panel-heading>p{color:var(--muted);text-align:right;margin:0;font-size:.72rem}.admin-breakdown{gap:.65rem;margin:1.1rem 0 0;display:grid}.admin-breakdown>div{background:#f8f7fc;border-radius:.9rem;justify-content:space-between;align-items:center;padding:.8rem .9rem;display:flex}.admin-breakdown dt{color:var(--muted);font-size:.78rem}.admin-breakdown dd{color:var(--primary-dark);margin:0;font-weight:800}.admin-recent-logins{margin-top:1.35rem}.admin-recent-logins h3{margin:0 0 .7rem;font-family:Nunito,sans-serif;font-size:.95rem}.admin-login-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem 0;display:grid}.admin-login-row>span:nth-child(2){gap:.1rem;min-width:0;display:grid}.admin-login-row strong,.admin-login-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-login-row strong{font-size:.78rem}.admin-login-row small,.admin-login-row time{color:var(--muted);font-size:.66rem}.admin-login-row time{text-align:right}.admin-empty-copy{color:var(--muted);margin:1rem 0 0;font-size:.78rem}.admin-page .notice--error p{margin-bottom:.75rem}.admin-tabs{z-index:calc(var(--z-navigation) - 1);top:max(.5rem, env(safe-area-inset-top));overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;border:1.5px solid var(--outline);background:var(--paper);border-radius:.4rem .75rem .45rem .7rem;gap:.35rem;margin:-.6rem 0 1.25rem;padding:.35rem;scroll-padding-inline:.35rem;display:flex;position:sticky;overflow-x:auto;box-shadow:3px 4px #25395814}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{min-height:2.75rem;color:var(--muted);white-space:nowrap;scroll-snap-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:.8rem;flex:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.76rem;font-weight:800;display:flex}.admin-tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.admin-tabs button span{font-size:1rem}.admin-tabs .admin-tabs__count{min-width:1.45rem;height:1.45rem;color:var(--primary-dark);background:var(--primary-soft);border:1px solid #d7d1fb;border-radius:999px;flex:none;place-items:center;padding:0 .35rem;font-size:.62rem;line-height:1;display:inline-grid}.admin-tabs .admin-tabs__button--active{color:var(--primary-dark);background:#f4d66e94;transform:rotate(-.5deg)}.admin-tabs .admin-tabs__button--active .admin-tabs__count{background:#ffffffb8;border-color:#ffffffb8}.admin-schedule-notice{color:#76540f;background:#fff8df;border-color:#d9b348;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.78rem;line-height:1.45;display:flex}.admin-schedule-notice>span:first-child{font-size:1.35rem}.admin-schedule-notice strong{color:#684909;display:block}.admin-workspace{border:1.5px solid var(--outline);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:.5rem .9rem .55rem .8rem;padding:clamp(1rem,3vw,1.5rem)}.admin-section-heading,.admin-editor-heading,.admin-list-title,.admin-row-actions,.admin-form-actions,.admin-theme-meta,.admin-question-badges{align-items:center;display:flex}.admin-section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.admin-section-heading h2,.admin-editor-heading h2{margin-bottom:0;font-size:1.25rem}.admin-section-heading>div>p:last-child{max-width:36rem;color:var(--muted);margin:.35rem 0 0;font-size:.8rem;line-height:1.45}.compact-button,.text-button,.icon-button{color:var(--primary-dark);cursor:pointer;border:0;font-weight:800}.compact-button{background:var(--primary-soft);white-space:nowrap;border:1px solid #dcd6ff;border-radius:.75rem;min-height:2.35rem;padding:.45rem .7rem;font-size:.72rem}.compact-button--primary{border-color:var(--primary);color:#fff;background:var(--primary)}.compact-button:disabled,.icon-button:disabled{cursor:wait;opacity:.5}.text-button{background:0 0;padding:0;font-size:.72rem}.admin-success{color:#21694b;background:#eaf9f2;border-radius:.8rem;margin-bottom:1rem;padding:.8rem .9rem;font-size:.8rem}.admin-list-block+.admin-list-block{margin-top:1.6rem}.admin-list-title{justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.admin-list-title h3{margin:0;font-family:Nunito,sans-serif;font-size:1rem}.admin-list-title>span{min-width:1.7rem;height:1.7rem;color:var(--primary-dark);background:var(--primary-soft);border-radius:999px;place-items:center;font-size:.7rem;font-weight:800;display:grid}.admin-list-title--actions>div .eyebrow{margin-bottom:.15rem}.admin-user-list,.admin-subject-list,.admin-theme-list,.admin-question-list{gap:.55rem;display:grid}.admin-user-row{border:1px solid var(--line);background:#fbfaff;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem;display:grid}.admin-subject-row{border:1px solid var(--line);border-left:.3rem solid var(--subject-color);background:#fbfaff;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem;display:grid}.admin-subject-icon{background:var(--primary-soft);border-radius:.8rem;place-items:center;width:2.5rem;height:2.5rem;font-size:1.15rem;display:grid}.admin-subject-copy{gap:.2rem;min-width:0;display:grid}.admin-subject-copy strong,.admin-subject-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-subject-copy strong{font-size:.82rem}.admin-subject-copy span{color:var(--muted);font-size:.68rem}.admin-subject-status{color:#21694b;background:#eaf9f2;border-radius:999px;padding:.25rem .5rem;font-size:.62rem;font-weight:800}.admin-subject-status--inactive{color:#775b2a;background:#fff3d5}.admin-user-avatar{background:#e7f8f2;border-radius:.8rem;place-items:center;width:2.5rem;height:2.5rem;font-size:1.15rem;display:grid}.admin-user-copy{gap:.2rem;min-width:0;display:grid}.admin-user-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.admin-user-copy strong small{color:var(--primary);font-size:.68rem}.admin-user-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.admin-user-copy .admin-user-connection{color:var(--primary-dark);font-weight:700}.admin-league-period{color:var(--muted);margin:-.35rem 0 1rem;font-size:.76rem;font-weight:700}.admin-league-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem;display:grid}.admin-league-card{border:1px solid var(--line);border-top:.25rem solid var(--admin-league-color);background:#fbfaff;border-radius:.85rem;padding:.9rem}.admin-league-card header{align-items:center;gap:.55rem;display:flex}.admin-league-card header>span{background:color-mix(in srgb, var(--admin-league-color) 15%, white);border-radius:.7rem;place-items:center;width:2.2rem;height:2.2rem;font-size:1.1rem;display:grid}.admin-league-card header>div{gap:.05rem;display:grid}.admin-league-card header strong{font-size:.82rem}.admin-league-card header small{color:var(--muted);font-size:.62rem}.admin-league-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.85rem 0 0;display:grid}.admin-league-card dl div{gap:.08rem;display:grid}.admin-league-card dt{color:var(--muted);font-size:.6rem}.admin-league-card dd{color:var(--primary-dark);margin:0;font-size:.78rem;font-weight:800}.admin-league-weeks{gap:.55rem;margin-top:1rem;display:grid}.admin-league-weeks>article{border:1px solid var(--line);background:#fbfaff;border-radius:.85rem;grid-template-columns:minmax(8rem,1fr) minmax(13rem,1.4fr) auto;align-items:center;gap:.8rem;padding:.8rem .9rem;display:grid}.admin-league-weeks>article>div:first-child{gap:.1rem;display:grid}.admin-league-weeks strong{font-size:.78rem}.admin-league-weeks span,.admin-league-weeks dt{color:var(--muted);font-size:.62rem}.admin-league-weeks dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.admin-league-weeks dl div{gap:.05rem;display:grid}.admin-league-weeks dd{color:var(--primary-dark);margin:0;font-size:.72rem;font-weight:800}.admin-league-weeks .admin-week-status{color:#21694b;white-space:nowrap;background:#eaf9f2;border-radius:999px;padding:.3rem .5rem;font-weight:800}.admin-league-weeks .admin-week-status--open{color:#775b2a;background:#fff3d5}.admin-row-actions{justify-content:flex-end;gap:.4rem}.admin-load-more{margin-top:.75rem}.admin-editor-overlay{z-index:var(--z-modal);padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18212f85;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.admin-editor{border:1px solid var(--line);background:var(--surface);border-radius:1.35rem;gap:1rem;width:min(100%,35rem);max-height:calc(100vh - 2rem);padding:clamp(1.15rem,4vw,1.75rem);display:grid;overflow-y:auto;box-shadow:0 24px 70px #1e18434d}.admin-editor--wide{width:min(100%,46rem)}.admin-editor-heading{justify-content:space-between;gap:1rem}.icon-button{background:#f2f0f7;border-radius:50%;flex:none;place-items:center;width:2.4rem;height:2.4rem;font-size:1.35rem;line-height:1;display:grid}.icon-button--small{width:2rem;height:2rem;font-size:1rem}.admin-help{color:var(--muted);margin:-.35rem 0 0;font-size:.72rem}.admin-form-actions{justify-content:flex-end;gap:.65rem;margin-top:.3rem}.admin-form-actions>button{width:auto;min-width:8rem}.admin-primary-button{color:#fff;background:var(--primary)}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.75rem;display:grid}.admin-form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-check-field{color:#424b5a;background:#fbfaff;border:1px solid #dcd9e7;border-radius:.9rem;align-items:center;gap:.55rem;min-height:3.15rem;padding:.7rem .8rem;font-size:.76rem;font-weight:700;display:flex}.admin-check-field input{width:1.05rem;height:1.05rem;accent-color:var(--primary)}.admin-color-control{background:#fbfaff;border:1px solid #dcd9e7;border-radius:.9rem;align-items:center;gap:.75rem;min-height:3.15rem;padding:.55rem .7rem;display:flex}.admin-color-control input{cursor:pointer;background:0 0;border:0;width:2.4rem;height:2rem;padding:0}.admin-color-control output{color:var(--muted);font-size:.76rem;font-weight:700}.admin-content-layout{gap:1rem;display:grid}.admin-theme-column,.admin-question-column{min-width:0}.admin-question-column{border-top:1px solid var(--line);padding-top:1rem;scroll-margin-top:5rem}.admin-back-button{min-height:2.75rem;color:var(--primary-dark);cursor:pointer;background:0 0;border:0;border-radius:.75rem;align-items:center;gap:.4rem;margin:-.35rem 0 .6rem -.25rem;padding:.4rem .6rem;font-size:.8rem;font-weight:800;display:none}@media (width<=59.99rem){.admin-content-layout--theme-open .admin-theme-column{display:none}.admin-content-layout--theme-open .admin-question-column{border-top:0;padding-top:0}.admin-content-layout:not(.admin-content-layout--theme-open) .admin-question-column{display:none}.admin-back-button{display:inline-flex}}.admin-theme-list{margin:0;padding:0;list-style:none}.admin-theme-item{border:1px solid var(--line);background:#fbfaff;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:border-color .15s,box-shadow .15s;display:grid;position:relative}.admin-theme-item--selected{background:#fff;border-color:#bdb4ff;box-shadow:0 0 0 2px #6c5ce71f}.admin-theme-item--inactive .admin-theme-icon{filter:grayscale();opacity:.6}.admin-theme-select{width:100%;min-height:4.25rem;color:var(--ink);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:1rem 0 0 1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.7rem .4rem .7rem .75rem;display:grid}.admin-theme-select:active,.admin-question-card:active{background:var(--primary-soft)}.admin-theme-select>span:nth-child(2){gap:.18rem;min-width:0;display:grid}.admin-theme-select strong,.admin-theme-select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-theme-select strong{font-size:.84rem}.admin-theme-select small{color:var(--muted);font-size:.68rem}.admin-theme-counts{align-items:center;gap:.4rem;display:flex}.admin-theme-counts>span:first-child{color:var(--primary-dark);font-weight:800}.admin-theme-counts .admin-theme-counts--empty{color:#a0671a}.admin-theme-counts .status-pill--muted{border-radius:999px;padding:.1rem .4rem;font-size:.6rem;font-weight:800}.admin-chevron{color:#a6aec0;font-size:1.35rem;line-height:1}.admin-theme-edit{border:0;border-left:1px solid var(--line);width:3rem;color:var(--primary-dark);cursor:pointer;background:0 0;border-radius:0 1rem 1rem 0;place-items:center;font-size:1.05rem;display:grid}.admin-theme-edit:active{background:var(--primary-soft)}.admin-theme-icon{background:var(--primary-soft);border-radius:.75rem;place-items:center;width:2.35rem;height:2.35rem;display:grid}.admin-theme-icon--large{border-radius:.9rem;width:3rem;height:3rem;font-size:1.4rem}.admin-content-filters{gap:.6rem;margin-bottom:.75rem;display:grid}.admin-search-field{background:#fff;border:1px solid #dcd9e7;border-radius:.9rem;align-items:center;gap:.5rem;min-height:2.9rem;padding:0 .85rem;display:flex}.admin-search-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #315f9e21}.admin-search-field>span[aria-hidden]{opacity:.6;font-size:.85rem}.admin-search-field input{width:100%;min-width:0;height:2.8rem;font:inherit;background:0 0;border:0;outline:none;font-size:1rem}.admin-filter-chips{scrollbar-width:none;gap:.4rem;margin:0 -.15rem .75rem;padding:.15rem;display:flex;overflow-x:auto}.admin-content-filters .admin-filter-chips{margin-bottom:0}.admin-filter-chips::-webkit-scrollbar{display:none}.admin-filter-chips button{color:#4b5567;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #dcd9e7;border-radius:999px;flex:none;align-items:center;gap:.35rem;min-height:2.4rem;padding:.35rem .75rem;font-size:.74rem;font-weight:800;display:inline-flex}.admin-filter-chips button small{color:var(--muted);font-size:.66rem}.admin-filter-chips button[aria-pressed=true]{border-color:var(--primary);color:#fff;background:var(--primary)}.admin-filter-chips button[aria-pressed=true] small{color:#fffc}.admin-status-dot{border-radius:50%;width:.55rem;height:.55rem}.admin-status-dot.question-status--published{background:#2f8a5f}.admin-status-dot.question-status--draft{background:#d39a2c}.admin-status-dot.question-status--archived{background:#8a909c}.admin-filter-chips button[aria-pressed=true] .admin-status-dot{box-shadow:0 0 0 2px #fff}.admin-level-filter{margin:0}.admin-theme-detail{grid-template-columns:auto minmax(0,1fr);gap:.8rem;margin-bottom:.9rem;display:grid}.admin-theme-detail h3{margin:0;font-family:Nunito,sans-serif;font-size:1.1rem;line-height:1.25}.admin-theme-detail .eyebrow{margin-bottom:.15rem}.admin-theme-detail p:not(.eyebrow){color:var(--muted);margin:.35rem 0 0;font-size:.76rem;line-height:1.45}.admin-theme-detail .status-pill--muted{border-radius:999px;margin-top:.45rem;padding:.2rem .5rem;font-size:.62rem;font-weight:800;display:inline-block}.admin-theme-detail__actions{grid-column:1/-1;gap:.5rem;display:flex}.admin-theme-detail__actions .compact-button{flex:1}.admin-theme-meta{border-top:1px solid var(--line);justify-content:space-between;padding:.55rem .75rem}.admin-theme-meta>span,.admin-question-badges>span{border-radius:999px;padding:.25rem .5rem;font-size:.62rem;font-weight:800}.status-pill--active,.question-status--published{color:#21694b;background:#e2f7ed}.status-pill--muted,.question-status--archived{color:#666c78;background:#ececf0}.question-status--draft{color:#8a5c13;background:#fff3d5}.admin-question-list{margin:0;padding:0;list-style:none}.admin-question-card{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fbfaff;border-radius:1rem;gap:.45rem;padding:.85rem 2.2rem .85rem .85rem;display:grid;position:relative}.admin-question-card>.admin-chevron{position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.admin-question-card>strong{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.4;display:-webkit-box;overflow:hidden}.admin-question-answer{color:#21694b;gap:.35rem;min-width:0;font-size:.72rem;font-weight:700;display:flex}.admin-question-answer>span{flex:none}.admin-question-meta{color:var(--muted);align-items:center;gap:.4rem;font-size:.68rem;display:flex}.admin-difficulty{gap:.15rem;display:inline-flex}.admin-difficulty>span{background:#dcd9e7;border-radius:50%;width:.45rem;height:.45rem}.admin-difficulty>.admin-difficulty--on{background:#e69d5a}.admin-fab{display:none}.admin-magic-button{color:#6b2fa0;background:linear-gradient(135deg,#f7ecff,#fff4dc);border-color:#e3c4f5}.admin-empty__actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.6rem;display:flex}.admin-empty--large .admin-empty__actions .compact-button{margin-top:0}.ai-sheet__waiting{text-align:center;justify-items:center;gap:.5rem;padding:1.5rem .5rem;display:grid}.ai-sheet__waiting strong{font-size:.95rem}.ai-sheet__waiting p{max-width:28rem;color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.ai-sheet__wand{font-size:2.4rem;animation:1.6s ease-in-out infinite ai-wand}.ai-sheet__skeletons{gap:.55rem;width:100%;margin-top:.75rem;display:grid}.ai-sheet__skeletons .skeleton{border-radius:1rem;height:5.5rem}@keyframes ai-wand{50%{transform:rotate(-12deg)scale(1.12)}}.ai-sheet__summary{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.ai-sheet__summary p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.45}.ai-sheet__summary strong{color:var(--primary-dark)}.ai-sheet__summary .text-button{flex:none;min-height:2.2rem}.ai-proposals{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.ai-proposal{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#f3fbf7;border:1.5px solid #9fd3b8;border-radius:1rem;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;padding:.8rem;transition:opacity .15s,border-color .15s,background-color .15s;display:grid}.ai-proposal--discarded{border-color:var(--line);opacity:.55;background:#fbfaff}.ai-proposal--discarded strong{-webkit-text-decoration:line-through #646c7880;text-decoration:line-through #646c7880}.ai-proposal__check{color:#fff;background:#2f8a5f;border:2px solid #2f8a5f;border-radius:.5rem;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:900;display:grid}.ai-proposal--discarded .ai-proposal__check{background:#fff;border-color:#c5c9d3}.ai-proposal__body{gap:.4rem;min-width:0;display:grid}.ai-proposal__body>strong{font-size:.86rem;line-height:1.4}.ai-proposal__body>small{color:var(--muted);font-size:.7rem;font-style:italic;line-height:1.4}.ai-proposal__choices{color:var(--muted);gap:.15rem;font-size:.72rem;display:grid}.ai-proposal__choices .ai-proposal__choice--correct{color:#21694b;font-weight:800}@media (prefers-reduced-motion:reduce){.ai-sheet__wand{animation:none}}.admin-toast{z-index:calc(var(--z-modal) + 1);right:1rem;bottom:calc(5.4rem + env(safe-area-inset-bottom));color:#fff;background:#21694b;border-radius:.9rem;align-items:center;gap:.55rem;width:fit-content;max-width:min(100% - 2rem,30rem);margin:0 auto;padding:.75rem 1rem;font-size:.8rem;font-weight:700;display:flex;position:fixed;left:1rem;box-shadow:0 10px 30px #18212f40}.admin-toast-enter-active,.admin-toast-leave-active{transition:opacity .2s,transform .2s}.admin-toast-enter-from,.admin-toast-leave-to{opacity:0;transform:translateY(.75rem)}.admin-question-settings{grid-template-columns:minmax(0,1fr) 8rem;gap:.9rem .75rem;display:grid}.admin-status-field{grid-column:1/-1}.admin-segmented-field{border:0;min-width:0;margin:0;padding:0}.admin-segmented-field legend{color:var(--primary-dark);margin-bottom:.35rem;font-family:Patrick Hand,cursive;font-size:.98rem;font-weight:400}.admin-segmented{background:#fbfaff;border:1px solid #dcd9e7;border-radius:.85rem;padding:.2rem;display:flex}.admin-segmented button{min-height:2.6rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.65rem;flex:1;font-size:.78rem;font-weight:800}.admin-segmented button[aria-checked=true]{color:#fff;background:var(--primary);box-shadow:0 2px 6px #1f477f33}.admin-segmented .admin-segmented--published[aria-checked=true]{background:#2f8a5f}.admin-segmented .admin-segmented--draft[aria-checked=true]{background:#b07a1f}.admin-segmented .admin-segmented--archived[aria-checked=true]{background:#6b7280}.admin-xp-field{margin:0}.admin-question-badges{flex-wrap:wrap;gap:.35rem}.admin-question-badges>.admin-difficulty{padding:0 .25rem}.admin-question-badges>span:first-child{color:var(--primary-dark);background:var(--primary-soft)}.admin-empty{color:var(--muted);text-align:center;background:#faf9ff;border:1px dashed #c9c3f5;border-radius:1rem;margin:0;padding:1.25rem;font-size:.78rem}.admin-empty--large{align-content:center;place-items:center;gap:.35rem;min-height:14rem;display:grid}.admin-empty--large>span{font-size:2rem}.admin-empty--large p{margin:0}.admin-empty--large .compact-button{margin-top:.6rem}.admin-empty .text-button{min-height:2.5rem;margin-top:.5rem}.admin-empty>p{margin:0}.question-kind-picker{border:0;min-width:0;margin:0;padding:0}.question-kind-picker legend{color:#424b5a;margin-bottom:.45rem;font-size:.76rem;font-weight:800}.question-kind-picker__options{flex-wrap:wrap;gap:.4rem;padding:.15rem;display:flex}.question-kind-picker__options button{cursor:pointer;min-height:2.65rem;color:var(--muted);white-space:nowrap;background:#fbfaff;border:1.5px solid #dcd9e7;border-radius:.75rem;flex:1 0 auto;justify-content:center;align-items:center;padding:.5rem .65rem;font-size:.68rem;font-weight:800;line-height:1.15;transition:border-color .15s,box-shadow .15s,color .15s,background-color .15s,transform .15s;display:flex}.question-kind-picker__options button[aria-checked=true]{border-color:var(--primary);color:#fff;background:var(--primary);transform:translateY(-1px);box-shadow:0 3px 7px #1f477f33}.question-kind-picker__options button:focus-visible{outline-offset:2px;outline:3px solid #315f9e38}.choice-editor{border:1px solid var(--line);border-radius:1rem;gap:.65rem;margin:0;padding:.9rem;display:grid}.choice-editor legend{color:#424b5a;padding:0 .3rem;font-size:.78rem;font-weight:800}.choice-editor legend small{color:var(--muted);font-weight:500}.choice-editor-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.choice-editor-row>input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--primary)}.choice-editor-row>input:not([type=checkbox]){width:100%;min-height:2.7rem;font:inherit;background:#fbfaff;border:1px solid #dcd9e7;border-radius:.8rem;outline:none;padding:0 .8rem}.choice-editor-row>input:not([type=checkbox]):focus{border-color:var(--primary);box-shadow:0 0 0 3px #315f9e21}.question-item-editor{grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.question-item-editor-group,.item-answer-variants{gap:.55rem;display:grid}.item-answer-variants{border-left:3px solid var(--primary-soft);margin-left:2.35rem;padding:.65rem .75rem}.answer-variant-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.answer-variant-row>span:not(.question-item-editor__position){color:var(--muted);font-size:.75rem;font-weight:700}.answer-variant-row>input{width:100%;min-height:2.7rem;font:inherit;background:#fbfaff;border:1px solid #dcd9e7;border-radius:.8rem;outline:none;padding:0 .8rem}.answer-variant-row>input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #315f9e21}.question-item-editor--matching{grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr) auto}.question-item-editor>input{width:100%;min-height:2.7rem;font:inherit;background:#fbfaff;border:1px solid #dcd9e7;border-radius:.8rem;outline:none;padding:0 .8rem}.question-item-editor>input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #315f9e21}.question-item-editor__position{width:1.8rem;height:1.8rem;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;place-items:center;font-size:.75rem;font-weight:900;display:grid}.question-item-editor__actions{gap:.3rem;display:flex}@media (width<=620px){.question-item-editor--matching{grid-template-columns:2rem minmax(0,1fr) auto}.question-item-editor--matching>input:nth-of-type(2){grid-column:2}.question-item-editor--matching .question-item-editor__actions{grid-area:1/3/span 2}.question-matching{grid-template-columns:1fr}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes shimmer{to{background-position:-200% 0}}@media (width>=42rem){.app-shell{--notebook-margin:3.65rem}.app-shell:before{width:1.15rem;left:1.15rem}.page{padding-left:5rem;padding-right:2rem}.goal-card{grid-template-columns:1.4fr 1fr;gap:1rem 2rem;padding:2rem;display:grid}.goal-copy{grid-row:span 2}.goal-card .primary-button{align-self:end}.subject-grid,.skeleton-grid{grid-template-columns:repeat(2,1fr)}.quick-stats{max-width:32rem}.profile-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center}.profile-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-stats-grid article:last-child:nth-child(odd){grid-column:auto}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-tabs button{flex:1 0 auto;font-size:.8rem}}@media (width>=60rem){.admin-content-filters .admin-filter-chips{flex-wrap:wrap}.admin-content-layout{grid-template-columns:minmax(17rem,.8fr) minmax(0,1.2fr)}.admin-question-column{border-top:0;border-left:1px solid var(--line);padding:0 0 0 1rem}}@media (width<=35rem){.admin-panel-heading{display:grid}.admin-panel-heading>p{text-align:left}.admin-login-row{grid-template-columns:auto minmax(0,1fr)}.admin-login-row time{text-align:left;grid-column:2}.admin-league-grid{grid-template-columns:1fr}.admin-league-weeks>article{grid-template-columns:minmax(0,1fr) auto}.admin-league-weeks dl{grid-area:2/1/auto/-1}.admin-section-heading{display:grid}.admin-section-heading>.compact-button{width:100%}.admin-user-row,.admin-subject-row{grid-template-columns:auto minmax(0,1fr)}.admin-user-row>.compact-button,.admin-user-row>.admin-row-actions,.admin-subject-row>.admin-subject-status,.admin-subject-row>.compact-button{grid-column:1/-1}.admin-subject-row>.compact-button{width:100%}.admin-row-actions .compact-button{flex:1}.admin-form-grid,.admin-form-grid--three{grid-template-columns:1fr}.admin-form-actions>button{flex:1;min-width:0}.admin-page>.view-header{margin-bottom:1.1rem;padding-bottom:.4rem}.admin-page>.view-header h1{max-width:none;font-size:1.85rem}.admin-page>.view-header p:last-child{font-size:.82rem}.admin-workspace--theme-open>.admin-section-heading{display:none}.admin-tabs{margin-inline:-.35rem}.admin-stats{gap:.5rem}.admin-stat-card{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.6rem;min-height:0;padding:.75rem}.admin-stat-card>span{grid-row:span 2;margin:0;font-size:1.2rem}.admin-stat-card strong{font-size:1.35rem}.admin-stat-card p{margin:.15rem 0 0;font-size:.68rem;line-height:1.25}.admin-panel{padding:1rem}.admin-workspace{margin-inline:-.35rem;padding:1rem .85rem}.admin-section-heading{gap:.75rem;margin-bottom:1rem}.compact-button{min-height:2.75rem;font-size:.76rem}.admin-user-row,.admin-subject-row{padding:.7rem}.admin-user-copy span{white-space:normal;overflow:visible}.question-kind-picker__options button{flex-basis:calc(50% - .2rem)}.admin-theme-detail .admin-add-question{display:none}.admin-content-layout--theme-open .admin-question-column{padding-bottom:4.5rem}.admin-fab{z-index:calc(var(--z-navigation) + 1);right:1rem;bottom:calc(5.85rem + env(safe-area-inset-bottom));border:2px solid var(--primary-dark);color:#fff;background:var(--primary);min-height:3.25rem;box-shadow:0 4px 0 var(--primary-dark), 0 10px 24px #1f477f47;cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:0 1.2rem 0 1rem;font-size:.86rem;font-weight:800;display:inline-flex;position:fixed}.admin-fab>span{font-size:1.3rem;line-height:1}.admin-fab:active{box-shadow:0 2px 0 var(--primary-dark);transform:translateY(2px)}.admin-toast{top:max(.75rem, env(safe-area-inset-top));bottom:auto}.admin-toast-enter-from,.admin-toast-leave-to{transform:translateY(-.75rem)}.admin-question-settings{grid-template-columns:minmax(0,1fr) 6.5rem}.admin-league-card{padding:.7rem .8rem}.admin-league-card dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.55rem}.admin-league-card dt{white-space:nowrap}.admin-league-grid{gap:.5rem}.admin-editor-overlay{padding:max(.75rem, env(safe-area-inset-top)) 0 0;place-items:end stretch}.admin-editor,.admin-editor--wide{width:100%;max-height:calc(100dvh - max(.75rem, env(safe-area-inset-top)));overscroll-behavior:contain;border-radius:1.35rem 1.35rem 0 0;padding-bottom:0;animation:.22s cubic-bezier(.22,1,.36,1) admin-sheet-in}.admin-editor-heading{z-index:1;border-bottom:1px solid var(--line);background:var(--paper);margin:calc(-1*clamp(1.15rem,4vw,1.75rem)) calc(-1*clamp(1.15rem,4vw,1.75rem)) 0;padding:clamp(1.15rem,4vw,1.75rem) clamp(1.15rem,4vw,1.75rem) .75rem;position:sticky;top:calc(-1*clamp(1.15rem,4vw,1.75rem))}.admin-form-actions{z-index:1;padding:.75rem clamp(1.15rem, 4vw, 1.75rem) max(.75rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);margin:.3rem calc(-1*clamp(1.15rem,4vw,1.75rem)) 0;position:sticky;bottom:0}}@keyframes admin-sheet-in{0%{opacity:0;transform:translateY(2rem)}}@media (prefers-reduced-motion:reduce){.admin-editor{animation:none}}@media (width>=76rem){.app-shell{border-left:1px solid #c2c7aa;border-right:1px solid #c2c7aa;max-width:76rem;box-shadow:0 0 70px #323d2a29}.bottom-nav{max-width:76rem}}@media (hover:hover){.subject-card:hover{box-shadow:4px 6px 0 color-mix(in srgb, var(--subject-color) 20%, #25395821);transform:translateY(-2px)rotate(0)}.primary-button:hover,.secondary-button:hover,.compact-button:hover{filter:saturate(1.08)brightness(1.02)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.daily-challenge-card{background:radial-gradient(circle at 88% 16%,#f4d66e94,#0000 8rem),repeating-linear-gradient(0deg,#0000 0 1.65rem,#d956521a 1.65rem calc(1.65rem + 1px)),#fff8df;border:2px solid #a93838;border-radius:.55rem 1.05rem .65rem .9rem;grid-template-columns:minmax(0,1fr) 6.5rem;gap:1rem;margin:1rem 0 1.25rem;padding:clamp(1.35rem,4vw,1.9rem);display:grid;position:relative;overflow:hidden;box-shadow:5px 6px #a9383826,0 18px 34px #3f493114}.daily-challenge-card:before{content:"";background:#75a77b8c;width:5.6rem;height:1rem;position:absolute;top:-.45rem;left:17%;transform:rotate(-3deg)}.daily-challenge-card__copy{z-index:1;position:relative}.daily-challenge-card h2{max-width:18ch;margin-bottom:.35rem;font-size:clamp(1.75rem,6vw,2.25rem);line-height:.95}.daily-challenge-card__copy>p:not(.eyebrow){color:var(--muted);margin:0 0 .7rem;font-size:.84rem}.daily-challenge-card__done span{color:#fff;background:#488557;border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font-weight:900;display:inline-grid}.daily-challenge-card__streak{color:#9c4b1c;font-size:.8rem}.daily-challenge-card__sketch{color:#1f477fb8;grid-template-rows:repeat(4,1.8rem);grid-template-columns:repeat(2,2rem);justify-content:center;place-self:center end;align-items:center;gap:.15rem;font-family:Patrick Hand,cursive;display:grid;transform:rotate(3deg)}.daily-challenge-card__sketch span{border:1.5px solid;border-radius:.18rem .35rem .2rem .3rem;place-items:center;height:1.8rem;display:grid}.daily-challenge-card__sketch span:first-child,.daily-challenge-card__sketch span:nth-child(4),.daily-challenge-card__sketch span:nth-child(5){grid-column:1/-1;justify-self:center;width:2rem}.daily-challenge-card__button{background:var(--accent);border-color:#813132;grid-column:1/-1;margin-top:.15rem;box-shadow:0 4px #813132}.daily-challenge-page{max-width:54rem}.daily-play-header{grid-template-columns:2.7rem minmax(0,1fr) 2.7rem;align-items:center;gap:.75rem;margin-bottom:1.4rem;display:grid}.daily-play-header>a,.daily-play-header>span{border:1.5px solid var(--outline);background:var(--paper-deep);border-radius:50% 46% 52% 48%;place-items:center;width:2.7rem;height:2.7rem;font-size:1.2rem;font-weight:900;display:grid}.daily-play-header>div{text-align:center;min-width:0}.daily-play-header .eyebrow{margin-bottom:.05rem}.daily-play-header strong{font-family:Patrick Hand,cursive;font-size:1.35rem;font-weight:400}.daily-play-state,.daily-intro,.daily-result{text-align:center;align-content:center;place-items:center;min-height:calc(100vh - 12rem);display:grid}.daily-play-state .skeleton{width:min(100%,34rem)}.daily-play-state>p,.daily-intro>p:not(.eyebrow){max-width:34rem;color:var(--muted);line-height:1.55}.daily-play-state--empty>span,.daily-intro__mark{margin-bottom:.9rem;font-size:3.2rem}.daily-play-state--empty .secondary-button,.daily-intro .primary-button,.daily-result .primary-button{width:min(100%,22rem);margin-top:.8rem}.daily-intro h1,.daily-result h1{margin-bottom:.65rem;font-size:clamp(2.5rem,10vw,4rem);line-height:.92}.hopscotch-progress{background:#d9e2cf59;border-radius:40% 45% 42% 48%;gap:.28rem;width:min(100%,18rem);margin:0 auto 1.4rem;padding:.8rem;display:grid}.hopscotch-progress__row{justify-content:center;gap:.28rem;display:flex}.hopscotch-tile{color:#778392;background:#fffdf1c7;border:2px solid #8c9aa9;border-radius:.22rem .42rem .25rem .36rem;place-items:center;width:3.55rem;height:3.15rem;font-family:Patrick Hand,cursive;font-size:1.3rem;transition:transform .22s,background .22s,box-shadow .22s;display:grid;position:relative;transform:rotate(-1deg)}.hopscotch-progress__row:nth-child(2n) .hopscotch-tile{transform:rotate(1deg)}.hopscotch-tile small{font-family:DM Sans,sans-serif;font-size:.65rem;font-weight:900;position:absolute;top:.2rem;right:.3rem}.hopscotch-tile--active{border-color:var(--accent);color:var(--accent-dark);background:#fff1d0;animation:1.8s ease-in-out infinite hopscotch-pulse;transform:translateY(-.15rem)rotate(-2deg)scale(1.04);box-shadow:0 0 0 4px #d9565224,3px 4px #a938382e}.hopscotch-tile--correct{color:#28653c;background:#dff3dc;border-color:#488557;animation:.62s cubic-bezier(.34,1.56,.64,1) both hopscotch-land}.hopscotch-tile--missed{color:#963e3b;background:#ffe4df;border-color:#bd5752;animation:.42s both hopscotch-shake}.hopscotch-tile--correct small,.hopscotch-tile--missed small{animation:.5s cubic-bezier(.34,1.56,.64,1) .14s both answer-mark-pop}@keyframes hopscotch-pulse{50%{transform:translateY(-.3rem)rotate(1deg)scale(1.05)}}@keyframes hopscotch-land{0%{transform:translateY(-1.5rem)rotate(-5deg)scale(.84);box-shadow:0 0 #48855700}58%{transform:translateY(.12rem)rotate(2deg)scale(1.1);box-shadow:0 0 0 .55rem #48855721}to{transform:rotate(-1deg)scale(1);box-shadow:0 0 #48855700}}@keyframes hopscotch-shake{0%,to{transform:translate(0)rotate(-1deg)}25%{transform:translate(-.35rem)rotate(-3deg)}50%{transform:translate(.3rem)rotate(2deg)}75%{transform:translate(-.15rem)rotate(-2deg)}}@keyframes answer-mark-pop{0%{opacity:0;transform:scale(0)rotate(-35deg)}to{opacity:1;transform:scale(1)rotate(0)}}.question-exercise,.answer-feedback{border:2px solid var(--primary);width:min(100%,42rem);box-shadow:var(--shadow);background:repeating-linear-gradient(0deg,#0000 0 1.7rem,#62a4c51c 1.7rem calc(1.7rem + 1px)),#fffdf1fa;border-radius:.55rem 1rem .65rem .9rem;margin:0 auto;padding:clamp(1.15rem,4vw,1.8rem)}.question-exercise__heading{color:var(--muted);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.72rem;font-weight:800;display:flex}.question-exercise__heading>span{color:var(--primary-dark);background:var(--primary-soft);border-radius:999px;padding:.3rem .55rem}.question-exercise h1{margin-bottom:1.35rem;font-size:clamp(1.75rem,7vw,2.6rem);line-height:1.05}.question-options{border:0;gap:.65rem;margin:0 0 1.2rem;padding:0;display:grid}.question-options label{border:1.5px solid var(--outline);cursor:pointer;background:#fffef7;border-radius:.35rem .75rem .42rem .65rem;grid-template-columns:2.1rem minmax(0,1fr);align-items:center;gap:.7rem;min-height:3.5rem;padding:.65rem .8rem;transition:border-color .16s,background .16s,transform .16s;display:grid}.question-options label>input{opacity:0;width:1px;height:1px;position:absolute}.question-options label>span{border:1.5px solid var(--outline);width:2.1rem;height:2.1rem;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;place-items:center;font-weight:900;display:grid}.question-options label>strong{font-size:.88rem}.question-options .question-option--selected{border-color:var(--primary);background:#edf5fc;transform:translateY(-1px);box-shadow:3px 3px #315f9e26}.question-options .question-option--selected>span{color:#fff;background:var(--primary)}.question-free-answer{margin-bottom:1.2rem}.question-input-with-unit{align-items:center;gap:.65rem;display:flex}.question-input-with-unit>input{flex:1}.question-input-with-unit>strong{color:var(--primary-dark)}.question-structured{border:0;gap:.75rem;margin:0 0 1.2rem;padding:0;display:grid}.question-structured>legend{color:var(--muted);margin-bottom:.35rem;font-size:.78rem;font-weight:800}.question-ordering{counter-reset:ordering;gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.question-ordering>li{border:1.5px solid var(--outline);counter-increment:ordering;background:#fffef7;border-radius:.45rem .75rem .5rem .65rem;justify-content:space-between;align-items:center;gap:.8rem;min-height:3.3rem;padding:.55rem .65rem .55rem .85rem;display:flex}.question-ordering>li:before{content:counter(ordering);width:1.8rem;height:1.8rem;color:var(--primary-dark);background:var(--primary-soft);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.question-ordering>li>span:first-of-type{flex:1;font-weight:800}.question-ordering__actions{gap:.35rem;display:flex}.question-ordering__actions button{border:1px solid var(--outline);width:2rem;height:2rem;color:var(--primary-dark);cursor:pointer;background:#fff;border-radius:.4rem}.question-ordering__actions button:disabled{opacity:.35;cursor:default}.question-matching{border:1.5px solid var(--outline);background:#fffef7;border-radius:.45rem .75rem .5rem .65rem;grid-template-columns:minmax(0,1fr) minmax(8rem,1fr);align-items:center;gap:.75rem;padding:.65rem .75rem;display:grid}.question-matching select{width:100%}.question-submit{margin-top:.35rem}.answer-feedback{grid-template-columns:auto minmax(0,1fr);gap:.8rem 1rem;display:grid}.answer-feedback--correct{background:#eef9e9;border-color:#488557}.answer-feedback--wrong{background:#fff0e9;border-color:#bd5752}.answer-feedback__icon{color:#fff;background:#488557;border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;font-size:1.3rem;font-weight:900;display:grid}.answer-feedback--wrong .answer-feedback__icon{background:#bd5752}.answer-feedback h2{margin-bottom:.25rem;font-size:1.7rem}.answer-feedback p{color:#49586b;margin-bottom:.4rem;font-size:.86rem;line-height:1.5}.answer-feedback .primary-button{grid-column:1/-1;margin-top:.4rem}.auto-continue-button{overflow:hidden}.auto-continue-button>span:first-child{z-index:1;position:relative}.auto-continue-button__track{background:#ffffff42;height:.3rem;position:absolute;bottom:0;left:0;right:0}.auto-continue-button__fill{background:var(--yellow);transform-origin:0;width:100%;height:100%;animation:3s linear both auto-continue-progress;display:block}@keyframes auto-continue-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.exercise-swap-enter-active,.exercise-swap-leave-active{transition:opacity .18s,transform .3s cubic-bezier(.22,1,.36,1)}.exercise-swap-enter-from{opacity:0;transform:translateY(1rem)rotate(.5deg)scale(.97)}.exercise-swap-leave-to{opacity:0;transform:translate(-.75rem)rotate(-.35deg)scale(.985)}.answer-feedback--correct .answer-feedback__icon{animation:.64s cubic-bezier(.34,1.56,.64,1) .1s both feedback-correct}.answer-feedback--wrong .answer-feedback__icon{animation:.42s .1s both feedback-wrong}@keyframes feedback-correct{0%{opacity:0;transform:scale(0)rotate(-30deg)}65%{transform:scale(1.22)rotate(8deg);box-shadow:0 0 0 .65rem #48855724}to{opacity:1;transform:scale(1)rotate(0);box-shadow:0 0 #48855700}}@keyframes feedback-wrong{0%{opacity:0;transform:scale(.7)}35%{opacity:1;transform:translate(-.25rem)rotate(-6deg)}70%{transform:translate(.2rem)rotate(5deg)}to{transform:translate(0)rotate(0)}}.completion-celebration{z-index:100;pointer-events:none;position:fixed;inset:0;overflow:hidden}.completion-celebration__wash{background:radial-gradient(circle,#fff8c5c7,#fffdf100 62%);animation:1.4s ease-out both completion-wash;position:absolute;inset:0}.completion-celebration__piece{width:.75rem;height:1.25rem;color:var(--piece-color);background:var(--piece-color);border-radius:.08rem;place-items:center;font-style:normal;font-weight:1000;animation:ease-in both completion-piece-fall;display:grid;position:absolute;top:-2.5rem}.completion-celebration__piece:nth-of-type(3n){border-radius:999px;width:1.15rem;height:.3rem}.completion-celebration__piece:nth-of-type(4n){border-radius:50%;width:.65rem;height:.65rem}.completion-celebration__piece--mark{background:0 0;width:1.2rem;height:1.2rem;font-family:Patrick Hand,cursive;font-size:1.3rem}.completion-celebration__stamp{color:#28653c;text-align:center;background:repeating-linear-gradient(0deg,#0000 0 1.45rem,#62a4c524 1.45rem calc(1.45rem + 1px)),#fffdf1;border:3px double #3e824d;border-radius:1rem .65rem 1.1rem .75rem;place-items:center;width:min(78vw,18rem);padding:1.35rem 1rem 1.15rem;animation:2.45s cubic-bezier(.34,1.56,.64,1) both completion-stamp;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1rem 3rem #31412b33,.35rem .45rem #48855733}.completion-celebration__stamp svg{stroke-width:4px;width:4.5rem;height:4.5rem;margin-bottom:.35rem}.completion-celebration__stamp strong{font-family:Patrick Hand,cursive;font-size:2.25rem;font-weight:400;line-height:1}.completion-celebration__stamp small{color:#54715b;letter-spacing:.14em;text-transform:uppercase;margin-top:.35rem;font-size:.68rem;font-weight:900}@keyframes completion-wash{0%{opacity:0;transform:scale(.6)}28%{opacity:1}to{opacity:0;transform:scale(1.35)}}@keyframes completion-piece-fall{0%{opacity:0;transform:translateY(-6vh)rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(108vh) rotate(var(--piece-turn))}}@keyframes completion-stamp{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(-9deg)}14%{opacity:1;transform:translate(-50%,-50%)scale(.92)rotate(3deg)}22%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-1deg)}to{opacity:0;transform:translate(-50%,-56%)scale(.96)rotate(1deg)}}.daily-result{border:2px solid var(--primary);box-shadow:var(--shadow);background:#fffdf1f5;border-radius:.6rem 1.1rem .7rem 1rem;padding:1.5rem;animation:.62s cubic-bezier(.22,1,.36,1) both daily-result-arrive}.daily-result__seal{color:#28653c;background:#eef9e9;border:3px double #488557;border-radius:50%;align-content:center;place-items:center;gap:.1rem;width:5.3rem;height:5.3rem;margin-bottom:.8rem;display:grid;transform:rotate(-5deg)}.daily-result__seal span{font-size:2rem;font-weight:1000;line-height:1}.daily-result__seal small{letter-spacing:.04em;font-size:.48rem;font-weight:1000}.daily-result--celebrating .daily-result__seal{animation:.65s cubic-bezier(.34,1.56,.64,1) .5s both result-seal-stamp}.daily-result__score{color:var(--primary-dark);margin:.4rem 0 1rem;font-family:Nunito,sans-serif;font-size:clamp(3.5rem,16vw,6rem);line-height:.9}.daily-result__score small{color:var(--muted);font-size:.36em}.daily-result__answers{justify-content:center;gap:.45rem;margin-bottom:1.2rem;display:flex}.daily-result__answers span{color:#fff;width:2.25rem;height:2.25rem;animation:result-answer-arrive .46s calc(.76s + var(--answer-index) * .1s) cubic-bezier(.34, 1.56, .64, 1) both;border-radius:.35rem .55rem .4rem .5rem;place-items:center;font-weight:900;display:grid}.daily-result__answer--correct{background:#5b9a65}.daily-result__answer--wrong{background:#c85c55}.daily-result__details{grid-template-columns:repeat(2,1fr);gap:.65rem;width:min(100%,24rem);margin:0 0 1rem;display:grid}.daily-result__details>div{border:1px dashed var(--outline);background:var(--paper-deep);border-radius:.7rem;padding:.75rem}.daily-result__details dt{color:var(--muted);font-size:.7rem}.daily-result__details dd{color:var(--primary-dark);margin:.25rem 0 0;font-size:.85rem;font-weight:900}@keyframes daily-result-arrive{0%{opacity:0;transform:translateY(1.5rem)rotate(.5deg)scale(.97)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes result-seal-stamp{0%{opacity:0;transform:scale(2.1)rotate(-18deg)}70%{opacity:1;transform:scale(.9)rotate(-3deg)}to{opacity:1;transform:scale(1)rotate(-5deg)}}@keyframes result-answer-arrive{0%{opacity:0;transform:translateY(-.65rem)scale(.5)rotate(-18deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.admin-daily-list,.admin-daily-question-preview,.daily-selected-questions,.daily-library-list{gap:.7rem;display:grid}.admin-daily-card{border:1px solid var(--line);background:#fbfaff;border-radius:.45rem .9rem .55rem .8rem;padding:1rem}.admin-daily-card__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-daily-card__heading h3{margin:.45rem 0 .1rem;font-size:1.25rem}.admin-daily-card__heading p{color:var(--muted);margin:0;font-size:.75rem}.admin-daily-card__heading dl{flex:none;gap:.5rem;margin:0;display:flex}.admin-daily-card__heading dl>div{background:var(--primary-soft);text-align:center;border-radius:.65rem;min-width:4.5rem;padding:.55rem}.admin-daily-card__heading dt{color:var(--muted);font-size:.58rem}.admin-daily-card__heading dd{color:var(--primary-dark);margin:.15rem 0 0;font-weight:900}.daily-status{border-radius:999px;padding:.25rem .5rem;font-size:.62rem;font-weight:900;display:inline-flex}.daily-status--draft{color:#8a5c13;background:#fff3d5}.daily-status--scheduled{color:var(--primary-dark);background:var(--primary-soft)}.daily-status--active{color:#21694b;background:#e2f7ed}.daily-status--finished{color:#666c78;background:#ececf0}.admin-daily-question-preview,.daily-selected-questions{margin:.9rem 0;padding:0;list-style:none}.admin-daily-question-preview li,.daily-selected-questions li{background:#fff;border:1px dashed #c9c3f5;border-radius:.65rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.6rem .7rem;display:grid}.admin-daily-question-preview li>span,.daily-position{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.68rem;font-weight:900;display:grid}.admin-daily-question-preview p,.daily-selected-questions p{margin:0;font-size:.72rem;line-height:1.35}.admin-daily-question-preview small{color:var(--muted);font-size:.62rem}.admin-daily-actions,.daily-selected-questions li>div{justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.admin-daily-actions{border-top:1px solid var(--line);padding-top:.75rem}.text-button--danger{color:var(--accent-dark)}.text-button:disabled{cursor:not-allowed;opacity:.45}.daily-editor{width:min(100%,60rem)}.daily-editor__title{grid-column:span 1}.daily-selection,.daily-library{border:1px solid var(--line);background:#faf9ff;border-radius:.9rem;padding:.9rem}.daily-selected-questions li>div{flex-wrap:nowrap}.daily-library-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.8rem;display:grid}.daily-library-search{grid-column:1/-1}.daily-library-list{max-height:20rem;padding-right:.2rem;overflow-y:auto}.daily-library-question{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:.75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;padding:.7rem;display:grid}.daily-library-question--selected{border-color:var(--primary);background:var(--primary-soft)}.daily-library-question>input{width:1.1rem;height:1.1rem;accent-color:var(--primary)}.daily-library-question>span{gap:.25rem;min-width:0;display:grid}.daily-library-question strong{font-size:.73rem;line-height:1.35}.daily-library-question small{color:var(--muted);font-size:.62rem}@media (width>=42rem){.daily-challenge-card{grid-template-columns:minmax(0,1fr) 8rem}.daily-challenge-card__button{grid-column:1;width:16rem}.daily-library-filters{grid-template-columns:1.6fr repeat(4,minmax(0,1fr))}.daily-library-search{grid-column:auto}}@media (width<=35rem){.daily-challenge-card{grid-template-columns:minmax(0,1fr) 5rem}.admin-daily-card__heading{display:grid}.admin-daily-card__heading dl{width:100%}.admin-daily-card__heading dl>div{flex:1}.admin-daily-question-preview li{grid-template-columns:auto minmax(0,1fr)}.admin-daily-question-preview small{grid-column:2}.admin-daily-actions{flex-wrap:wrap}.admin-daily-actions .compact-button{flex:1}.daily-selected-questions li{grid-template-columns:auto minmax(0,1fr)}.daily-selected-questions li>div{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.hopscotch-tile--active{animation:none}}.progress-page>.view-header{margin-bottom:1.25rem}.progress-content,.progress-loading,.mistake-list{gap:1rem;display:grid}.progress-section{border:1.5px solid var(--outline);background:#fffef5f5;border-radius:.65rem 1rem .7rem .9rem;padding:1rem;position:relative;box-shadow:3px 4px #2539581a}.progress-section:nth-child(2n){border-radius:1rem .65rem .9rem .7rem}.progress-section__heading{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:1rem;display:flex}.progress-section__heading .eyebrow{margin-bottom:.12rem}.progress-section__heading h2{color:var(--ink);margin:0;font-size:1.35rem}.progress-section__heading>span,.progress-count{border:1px dashed var(--outline);color:var(--muted);background:#fff;border-radius:999px;flex:none;padding:.25rem .55rem;font-size:.65rem;font-weight:800}.activity-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.34rem;max-width:27rem;margin:0 auto;display:grid}.activity-calendar__weekday{color:var(--muted);text-align:center;padding-bottom:.15rem;font-size:.62rem;font-weight:900}.activity-calendar__blank,.activity-calendar__day{aspect-ratio:1}.activity-calendar__day{min-width:1.65rem;color:var(--ink);background:#f0eee4;border:1px solid #315f9e29;border-radius:.42rem .55rem .45rem .5rem;place-items:center;font-size:.65rem;font-style:normal;font-weight:800;display:grid}.activity-calendar__day--1{background:#dcebd9}.activity-calendar__day--2{background:#b6d5ae}.activity-calendar__day--3{color:#173d2c;background:#75a77b}.activity-calendar__day--4{border-color:var(--primary-dark);color:#fff;background:var(--primary);box-shadow:inset 0 -2px #0000001f}.activity-legend{max-width:27rem;color:var(--muted);justify-content:flex-end;align-items:center;gap:.3rem;margin:.7rem auto 0;font-size:.56rem;display:flex}.activity-legend i{border:1px solid #315f9e29;border-radius:.2rem;width:.7rem;height:.7rem}.progress-calendar-note{color:var(--muted);text-align:center;margin:.85rem 0 0;font-size:.72rem}.progress-calendar-note strong{color:var(--primary-dark);font-size:.88rem}.progress-segmented,.progress-metric-picker{border:1px solid var(--line);background:#edf3f5;border-radius:999px;padding:.2rem;display:inline-flex}.progress-segmented button,.progress-metric-picker button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.65rem;font-weight:800}.progress-segmented button{padding:.38rem .55rem}.progress-metric-picker button{padding:.42rem .7rem}.progress-segmented .progress-segmented__button--active,.progress-metric-picker .progress-metric-picker__button--active{color:#fff;background:var(--primary);box-shadow:0 2px 5px #1f477f33}.progress-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.progress-summary-grid article{border:1px dashed var(--line);text-align:center;background:#fff;border-radius:.65rem;min-width:0;padding:.7rem .45rem;display:grid}.progress-summary-grid article>span{font-size:1rem}.progress-summary-grid strong{color:var(--primary-dark);margin-top:.18rem;font-family:Nunito,sans-serif;font-size:1.05rem}.progress-summary-grid small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.progress-comparison{color:#287052;align-items:center;gap:.28rem;margin:.7rem 0;font-size:.66rem;display:flex}.progress-comparison>span{background:#e3f4e8;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-weight:900;display:grid}.progress-comparison--down{color:var(--accent-dark)}.progress-comparison--down>span{background:var(--accent-soft)}.progress-metric-picker{margin-bottom:.45rem}.progress-chart{background:repeating-linear-gradient(0deg,#0000 0 1.7rem,#5397ba14 1.7rem calc(1.7rem + 1px)),#fff;border:1px dashed #315f9e38;border-radius:.65rem;padding:.3rem .35rem .15rem}.progress-chart svg{width:100%;display:block;overflow:visible}.progress-chart__grid{stroke:#68778c38;stroke-dasharray:6 7;stroke-width:1px}.progress-chart__area{fill:#315f9e1f}.progress-chart__line{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.progress-chart__point{fill:var(--paper);stroke:var(--accent);stroke-width:3px}.progress-chart__labels{color:var(--muted);justify-content:space-between;padding:0 .45rem .3rem;font-size:.57rem;font-weight:700;display:flex}.mistake-card{border:1px solid var(--line);border-left:.3rem solid var(--subject-color,var(--primary));background:#fff;border-radius:.65rem .9rem .7rem .75rem;padding:.85rem}.mistake-card__meta{color:var(--muted);grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.4rem;display:grid}.mistake-card__meta>span{background:color-mix(in srgb, var(--subject-color,var(--primary)) 12%, white);border-radius:.45rem;place-items:center;width:1.65rem;height:1.65rem;display:grid}.mistake-card__meta strong{color:var(--ink);font-size:.68rem}.mistake-card__meta small{text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.mistake-card h3{margin:.7rem 0 .35rem;font-family:Nunito,sans-serif;font-size:.82rem;line-height:1.4}.mistake-card__attempts{color:var(--muted);margin:0;font-size:.62rem;line-height:1.45}.mistake-card details{border-top:1px dashed var(--line);margin-top:.7rem;padding-top:.65rem}.mistake-card summary{width:fit-content;color:var(--primary-dark);cursor:pointer;font-size:.68rem;font-weight:900}.mistake-card details p{color:var(--muted);margin:.55rem 0 0;font-size:.7rem;line-height:1.5}.mistake-card details p strong{color:var(--ink)}.progress-empty-state{border:1px dashed var(--line);background:#fff;border-radius:.75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;min-height:5rem;padding:.8rem;display:grid}.progress-empty-state>span{font-size:1.8rem}.progress-empty-state h3,.progress-empty-state p{margin:0}.progress-empty-state h3{font-size:.95rem}.progress-empty-state p{color:var(--muted);margin-top:.18rem;font-size:.68rem;line-height:1.4}.progress-empty-state .compact-button{grid-column:1/-1;justify-self:start}.challenge-history-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.challenge-history-list li{border:1px solid var(--line);background:#fff;border-radius:.7rem;grid-template-columns:2.7rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.7rem;display:grid}.challenge-history-list__date{min-height:2.7rem;color:var(--accent-dark);background:var(--accent-soft);text-transform:uppercase;border-radius:.55rem;align-content:center;place-items:center;font-size:.55rem;font-weight:800;line-height:1;display:grid}.challenge-history-list__date strong{font-family:Nunito,sans-serif;font-size:1rem}.challenge-history-list h3,.challenge-history-list p{margin:0}.challenge-history-list h3{font-family:Nunito,sans-serif;font-size:.76rem;line-height:1.35}.challenge-history-list p{color:var(--muted);margin-top:.18rem;font-size:.6rem}.challenge-history-list__score{color:#8a5c13;white-space:nowrap;background:#fff3d5;border-radius:999px;padding:.35rem .45rem;font-family:Nunito,sans-serif;font-size:.68rem}.challenge-history-list__score--great{color:#21694b;background:#e2f7ed}.progress-skeleton{height:14rem}.progress-skeleton--wide{height:20rem}@media (width>=42rem){.progress-section{padding:1.25rem}.mistake-list{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-empty-state{grid-template-columns:auto minmax(0,1fr) auto}.progress-empty-state .compact-button{grid-column:auto}}@media (width>=60rem){.progress-content{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.35fr)}.progress-section:not(.progress-section--calendar):not(.progress-section--chart){grid-column:1/-1}}@media (width<=27rem){.progress-section__heading--controls{display:grid}.progress-summary-grid{gap:.3rem}.progress-summary-grid article{padding-inline:.25rem}.challenge-history-list li{grid-template-columns:2.5rem minmax(0,1fr)}.challenge-history-list__score{grid-column:2;justify-self:start}}.league-card{border:2px solid color-mix(in srgb, var(--league-color,var(--primary)) 55%, var(--outline));box-shadow:4px 5px 0 color-mix(in srgb, var(--league-color,var(--primary)) 25%, #2539581f), 0 14px 28px #37483312;cursor:pointer;-webkit-tap-highlight-color:transparent;background:repeating-linear-gradient(0deg,#0000 0 1.65rem,#5397ba1a 1.65rem calc(1.65rem + 1px)),#fffef5;border-radius:.55rem 1rem .65rem .9rem;flex-direction:column;gap:.75rem;margin:.75rem 0;padding:1.1rem 1.15rem;transition:transform .16s,box-shadow .16s;display:flex;position:relative;transform:rotate(-.2deg)}.league-card:active{box-shadow:1px 2px 0 color-mix(in srgb, var(--league-color,var(--primary)) 25%, #2539581f);transform:scale(.985)rotate(0)}.league-card__header{align-items:center;gap:.65rem;display:flex}.league-card__badge{border:2px solid color-mix(in srgb, var(--league-color,#78909c) 60%, white);background:color-mix(in srgb, var(--league-color,#78909c) 12%, white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.8rem;height:2.8rem;display:flex;position:relative}.league-card__badge-glow{background:radial-gradient(circle, color-mix(in srgb, var(--league-color,#78909c) 25%, transparent) 0%, transparent 70%);border-radius:50%;animation:2.5s ease-in-out infinite league-glow;position:absolute;inset:-4px}.league-card__icon{font-size:1.35rem;line-height:1}.league-card__meta{flex-direction:column;flex:1;gap:.1rem;line-height:1.1;display:flex}.league-card__label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.league-card__name{color:var(--ink);font-family:Patrick Hand,cursive;font-size:1.05rem;font-weight:400}.league-card__week{color:var(--muted);text-align:right;white-space:nowrap;font-size:.68rem}.league-card__stats{align-items:center;gap:1rem;display:flex}.league-card__stat{flex-direction:column;gap:.1rem;display:flex}.league-card__stat-value{color:var(--ink);font-family:Patrick Hand,cursive;font-size:1.4rem;font-weight:400;line-height:1}.league-card__stat-xp{color:color-mix(in srgb, var(--league-color,var(--primary)) 85%, var(--ink))}.league-card__stat-total,.league-card__stat-unit{opacity:.7;font-size:.75em}.league-card__stat-label{color:var(--muted);font-size:.68rem}.league-card__divider{background:var(--line);flex-shrink:0;width:1px;height:2.5rem}.league-card__zone{align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;display:flex}.league-card__zone-dot{border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;display:inline-block}.league-card__zone--promotion .league-card__zone-dot{background:#43a047}.league-card__zone--promotion .league-card__zone-text{color:#2e7031}.league-card__zone--stay .league-card__zone-dot{background:var(--primary)}.league-card__zone--stay .league-card__zone-text{color:var(--primary-dark)}.league-card__zone--relegation .league-card__zone-dot{background:#e53935}.league-card__zone--relegation .league-card__zone-text{color:#9b2727}.league-card__gap{color:var(--muted);margin:0;font-size:.78rem;line-height:1.4}.league-card__gap--promo{color:#2e7031}.league-card__arrow{color:var(--muted);opacity:.5;font-size:1.4rem;position:absolute;bottom:1rem;right:1rem}.league-card__inactive{color:var(--muted);align-items:center;gap:.75rem;font-size:.82rem;line-height:1.4;display:flex}.league-card__inactive p{margin:0}.league-card__inactive-icon{flex-shrink:0;font-size:1.5rem}.league-card--skeleton{cursor:default;justify-content:center;gap:.6rem;min-height:7rem;transform:none}.skeleton-line{background:linear-gradient(90deg,#e9e6d7 25%,#fffdf1 50%,#e9e6d7 75%) 0 0/200% 100%;border-radius:.25rem;width:100%;height:1rem;animation:1.4s infinite shimmer}.skeleton-line--short{width:55%}.skeleton-line--medium{width:75%}.league-view{min-height:100vh;padding-bottom:7rem}.league-board{padding:1rem 1rem 2rem}.league-zones{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.league-zones__item{align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;display:flex}.league-zones__dot{border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.league-zones__item--promo .league-zones__dot{background:#43a047}.league-zones__item--promo{color:#2e7031}.league-zones__item--stay .league-zones__dot{background:var(--primary)}.league-zones__item--stay{color:var(--primary-dark)}.league-zones__item--relegate .league-zones__dot{background:#e53935}.league-zones__item--relegate{color:#9b2727}.league-gap-banner{border:1.5px dashed var(--outline);color:var(--muted);background:#fffdf1;border-radius:.35rem .65rem .4rem .6rem;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.6rem .85rem;font-size:.82rem;display:flex}.league-gap-banner--promo{color:#2e7031;background:#f1f8e9;border-color:#a5d6a7}.league-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.league-row{border:1.5px solid var(--line);background:var(--paper);border-radius:.35rem .7rem .4rem .65rem;grid-template-columns:2rem 2.5rem 2.8rem 1fr auto;align-items:center;gap:.6rem;padding:.7rem .9rem .7rem .5rem;transition:background .2s;display:grid;position:relative;overflow:hidden;box-shadow:2px 3px #2539580f}.league-row__zone-bar{border-radius:.25rem 0 0 .25rem;width:.25rem;position:absolute;top:0;bottom:0;left:0}.league-row--promotion .league-row__zone-bar{background:#43a047}.league-row--stay .league-row__zone-bar{background:0 0}.league-row--relegation .league-row__zone-bar{background:#e53935}.league-row--me{border-color:var(--primary);background:repeating-linear-gradient(0deg, transparent 0, transparent 1.65rem, #5397ba1a 1.65rem, #5397ba1a calc(1.65rem + 1px)), var(--primary-soft);box-shadow:3px 4px #315f9e24}.league-row__rank{color:var(--muted);text-align:center;font-family:Patrick Hand,cursive;font-size:.95rem}.league-row__rank--gold{color:#f9a825;font-size:1.1rem}.league-row__rank--silver{color:#90a4ae;font-size:1.1rem}.league-row__rank--bronze{color:sienna;font-size:1.1rem}.league-row__avatar{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.1rem;display:flex}.league-row__name-block{align-items:center;gap:.4rem;display:flex;overflow:hidden}.league-row__name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;display:flex;overflow:hidden}.league-row__you{background:var(--primary);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:.25rem;flex-shrink:0;padding:.1rem .4rem;font-size:.62rem;font-weight:700}.league-row__xp{color:var(--primary-dark);text-align:right;white-space:nowrap;font-family:Patrick Hand,cursive;font-size:1rem}.league-row__xp small{opacity:.65;font-family:DM Sans,sans-serif;font-size:.68rem}.league-history-link{border:1.5px dashed var(--outline);width:100%;color:var(--muted);cursor:pointer;text-align:center;background:0 0;border-radius:.35rem .65rem .4rem .6rem;margin-top:1.2rem;padding:.65rem;font-size:.82rem;display:block}.league-history{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.league-history__entry{border:1.5px solid var(--line);background:var(--paper);border-radius:.35rem .65rem .4rem .6rem;align-items:center;gap:.75rem;padding:.65rem .9rem;font-size:.82rem;display:flex}.league-history__entry--promoted{background:#f1f8e9;border-color:#a5d6a7}.league-history__entry--relegated{background:#fff5f5;border-color:#ffcdd2}.league-history__icon{flex-shrink:0;font-size:1.1rem}.league-history__details{flex-direction:column;flex:1;gap:.1rem;display:flex}.league-history__details strong{color:var(--ink);font-size:.85rem}.league-history__details span{color:var(--muted);font-size:.72rem}.league-history__result{white-space:nowrap;font-size:.75rem;font-weight:700}.league-history__entry--promoted .league-history__result{color:#2e7031}.league-history__entry--relegated .league-history__result{color:#9b2727}.league-inactive{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;padding:2rem;display:flex}.league-inactive__illustration{font-size:4rem}.league-inactive h2{margin:0;font-family:Patrick Hand,cursive;font-size:1.5rem}.league-inactive p{color:var(--muted);max-width:28ch;margin:0;line-height:1.5}.league-error{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.league-skeleton{flex-direction:column;gap:.6rem;padding:1rem;display:flex}.league-skeleton__row{align-items:center;gap:.75rem;display:flex}.skeleton-avatar{background:linear-gradient(90deg,#e9e6d7 25%,#fffdf1 50%,#e9e6d7 75%) 0 0/200% 100%;border-radius:50%;flex-shrink:0;width:2.5rem;height:2.5rem;animation:1.4s infinite shimmer}.skeleton-block{flex-direction:column;flex:1;gap:.4rem;display:flex}.skeleton-xp{background:linear-gradient(90deg,#e9e6d7 25%,#fffdf1 50%,#e9e6d7 75%) 0 0/200% 100%;border-radius:.25rem;width:3.5rem;height:1rem;animation:1.4s infinite shimmer}.btn{cursor:pointer;border:2px solid;border-radius:.35rem .65rem .4rem .6rem;justify-content:center;align-items:center;min-height:2.8rem;padding:.55rem 1.2rem;font-size:.9rem;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn--primary{border-color:var(--primary-dark);background:var(--primary);color:#fff;box-shadow:0 3px 0 var(--primary-dark)}.btn--primary:active{box-shadow:0 1px 0 var(--primary-dark);transform:translateY(2px)}.btn--secondary{border-color:var(--outline);background:var(--paper);color:var(--ink);box-shadow:0 2px #2539581a}.league-promotion-backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:0 .75rem calc(1rem + env(safe-area-inset-bottom));background:#2539589e;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.league-promotion-modal{border:2px solid var(--line);background:var(--paper);width:100%;max-width:26rem;box-shadow:0 -4px 40px #2539582e, var(--shadow);border-radius:1.2rem 1.5rem .8rem 1rem;position:relative;overflow:hidden}.league-promotion-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-particle{border-radius:50%;width:.5rem;height:.5rem;animation:linear forwards confetti-fall;position:absolute;top:-.5rem}.league-promotion-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:.8rem;padding:2rem 1.5rem 1.5rem;display:flex;position:relative}.league-promotion-leap{align-items:center;gap:1rem;display:flex}.league-promotion-badge{border:2px solid;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;width:4.5rem;height:4.5rem;padding:.75rem;display:flex}.league-promotion-badge big,.league-promotion-badge span{font-size:1.6rem;line-height:1}.league-promotion-badge small{color:var(--muted);font-size:.65rem}.league-promotion-badge--from{opacity:.6}.league-promotion-badge--pulse{animation:1.5s ease-in-out infinite league-pulse}.league-promotion-arrow{color:var(--primary);font-size:1.8rem}.league-promotion-title{color:var(--ink);margin:0;font-family:Patrick Hand,cursive;font-size:1.75rem}.league-promotion-body{color:var(--muted);max-width:24ch;margin:0;font-size:.88rem;line-height:1.5}.league-promotion-cta{width:100%}.league-promotion-skip{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.8rem;text-decoration:underline}.league-modal-enter-active,.league-modal-leave-active{transition:opacity .25s}.league-modal-enter-active .league-promotion-modal,.league-modal-leave-active .league-promotion-modal{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.league-modal-enter-from,.league-modal-leave-to{opacity:0}.league-modal-enter-from .league-promotion-modal,.league-modal-leave-to .league-promotion-modal{transform:translateY(100%)}@keyframes league-glow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}@keyframes league-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}
