:root{--color-primary:#667eea;--color-primary-dark:#764ba2;--color-secondary:#4CAF50;--color-accent:#FFD700;--color-accent-orange:#FF9800;--color-hard:#F44336;--color-success:#10B981;--color-error:#EF4444;--color-cat-science:#2196F3;--color-cat-history:#795548;--color-cat-sport:#4CAF50;--color-cat-geography:#00BCD4;--color-cat-culture:#9C27B0;--color-cat-art:#FF5722;--color-cat-heroes:#E91E63;--color-cat-civique:#607D8B;--color-cat-maths:#FF5252;--color-cat-cuisine:#FF7043;--color-cat-techno:#00ACC1;--color-cat-mythologie:#7B1FA2;--color-cat-espace:#3F51B5;--color-cat-langue-fr:#1565C0;--color-cat-langue-en:#0288D1;--color-cat-animaux:#8BC34A;--color-cat-corps:#26A69A;--color-cat-musique:#AB47BC;--color-cat-enviro:#2E7D32;--color-cat-dino:#6D4C41;--color-bg:#f8f7ff;--color-foreground:#1a1a2e;--color-muted:#6b7280;--font-size-base:1rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,0.08);--shadow-md:0 4px 16px rgba(0,0,0,0.12);--shadow-lg:0 8px 32px rgba(0,0,0,0.16)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100dvh;background-color:#f8f7ff;color:#1a1a2e;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ol,ul{list-style:none}button{background:none;border:none;cursor:pointer}button:not([role=switch]):not([role=tab]):not([role=option]){min-height:48px}#__next,#root{isolation:isolate}h1{font-size:2.25rem;font-weight:800;line-height:1.2}h2{font-size:1.75rem;line-height:1.3}h2,h3{font-weight:700}h3{font-size:1.375rem;line-height:1.4}h4{font-size:1.125rem;font-weight:600;line-height:1.5}p{font-size:1rem;line-height:1.7;color:#1a1a2e}strong{font-weight:700}em{font-style:italic}.badges-preview{display:flex;flex-direction:column;gap:.5rem;background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.badges-preview__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.badges-preview__title{font-size:1rem;font-weight:700;color:#1a1a2e;text-transform:uppercase;letter-spacing:.06em}.badges-preview__count{font-size:.875rem;font-weight:800;color:#667eea;flex-shrink:0}.badges-preview__bar-track{height:8px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.badges-preview__bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:9999px;transition:width .4s ease}.badges-preview__recent{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.badges-preview__badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:1rem;background:rgba(255,215,0,.12);border:2px solid rgba(255,215,0,.4);font-size:1.4rem;transition:transform .15s ease}.badges-preview__badge:hover{transform:scale(1.1)}.badges-preview__badge--more{background:#f8f7ff;border-color:#d1d5db;font-size:.875rem;font-weight:800;color:#6b7280}.badges-preview__empty{font-size:.875rem;color:#6b7280;font-weight:600;font-style:italic;text-align:center;padding:.5rem 0}.badges-preview__cta{display:flex;align-items:center;justify-content:center;width:100%;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:800;border-radius:9999px;transition:opacity .15s ease,transform .15s ease}.badges-preview__cta:hover{opacity:.9;transform:translateY(-1px)}.badges-preview__cta:focus-visible{outline:3px solid #667eea;outline-offset:3px}.badges-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}@media(min-width:768px){.badges-modal{align-items:center}}.badges-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-fade-in .2s ease both}.badges-modal__panel{position:relative;z-index:1;background:#fff;width:100%;max-height:92dvh;border-radius:1.5rem 1.5rem 0 0;display:flex;flex-direction:column;overflow:hidden;animation:modal-slide-up .3s cubic-bezier(.34,1.56,.64,1) both}@media(min-width:768px){.badges-modal__panel{max-width:680px;max-height:85dvh;border-radius:1.5rem;animation:modal-scale-in .25s cubic-bezier(.34,1.56,.64,1) both}}.badges-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);flex-shrink:0}.badges-modal__title{font-size:1.375rem;font-weight:800;color:#fff}.badges-modal__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;background:hsla(0,0%,100%,.2);transition:background .15s ease}.badges-modal__close:hover{background:hsla(0,0%,100%,.35)}.badges-modal__close:focus-visible{outline:3px solid #667eea;outline-offset:3px}.badges-modal__content{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem;flex:1 1}.badges-modal__global{display:flex;align-items:center;gap:1rem}.badges-modal__global-bar{flex:1 1;height:10px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.badges-modal__global-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:9999px;transition:width .4s ease}.badges-modal__global-count{font-size:.875rem;font-weight:800;color:#667eea;flex-shrink:0;min-width:52px;text-align:right}.badges-modal__filters{display:flex;gap:.25rem;flex-wrap:wrap}.badges-modal__filter{padding:6px 1rem;border-radius:9999px;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;background:#f8f7ff;color:#6b7280;border:2px solid rgba(0,0,0,0);transition:background .15s ease,color .15s ease,border-color .15s ease}.badges-modal__filter:hover{background:rgba(102,126,234,.08);color:#667eea}.badges-modal__filter--active{background:rgba(102,126,234,.1);color:#667eea;border-color:rgba(102,126,234,.3)}.badges-modal__filter:focus-visible{outline:3px solid #667eea;outline-offset:3px}.badges-modal__groups{display:flex;flex-direction:column;gap:.25rem}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modal-scale-in{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.badge-group{border-radius:1rem;overflow:hidden;border:1px solid #e5e7eb;transition:border-color .15s ease}.badge-group:hover{border-color:rgba(var(--group-color,#667eea),.4)}.badge-group__header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:#fff;text-align:left;transition:background .15s ease}.badge-group__header:hover{background:#f9fafb}.badge-group__header:focus-visible{outline:3px solid #667eea;outline-offset:3px}.badge-group__emoji{font-size:1.2rem;flex-shrink:0;width:28px;text-align:center}.badge-group__label{font-size:.875rem;font-weight:700;color:#1a1a2e;flex:1 1;text-align:left}.badge-group__progress{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.badge-group__progress-track{width:64px;height:6px;background:#e5e7eb;border-radius:9999px;overflow:hidden}@media(min-width:480px){.badge-group__progress-track{width:80px}}.badge-group__progress-fill{height:100%;background:var(--group-color,#667eea);border-radius:9999px;transition:width .4s ease}.badge-group__count{font-size:.7rem;font-weight:800;color:var(--group-color,#667eea);min-width:28px;text-align:right}.badge-group__chevron{color:#6b7280;flex-shrink:0;transition:transform .25s ease}.badge-group--open .badge-group__chevron{transform:rotate(180deg)}.badge-group__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.badge-group--open .badge-group__body{grid-template-rows:1fr}.badge-group__body-inner{overflow:hidden;padding:0 1rem;transition:padding .25s ease}.badge-group--open .badge-group__body-inner{padding:.5rem 1rem 1rem}.badge-group__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem}@media(min-width:480px){.badge-group__grid{grid-template-columns:repeat(6,1fr)}}@media(min-width:768px){.badge-group__grid{grid-template-columns:repeat(8,1fr)}}.badge-tile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:.25rem;border-radius:.5rem;border:2px solid rgba(0,0,0,0);text-align:center;transition:transform .15s ease,box-shadow .15s ease}.badge-tile--earned{background:rgba(255,215,0,.1);border-color:rgba(255,215,0,.45)}.badge-tile--earned:hover{transform:scale(1.08);box-shadow:0 4px 12px rgba(255,215,0,.3)}.badge-tile--locked{background:#f8f7ff;border-color:#e5e7eb;opacity:.45}.badge-tile__emoji{font-size:1.5rem;line-height:1}.badge-tile__name{font-size:.6rem;font-weight:700;color:#1a1a2e;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.myth-panel{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem .5rem .5rem;animation:myth-panel-in .25s ease-out both}@media(min-width:768px){.myth-panel{grid-template-columns:repeat(3,1fr)}}@keyframes myth-panel-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.myth-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem .6rem;border-radius:1rem;border:2px solid rgba(0,0,0,0);background:hsla(0,0%,100%,.06);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-align:center;--myth-color:#9c27b0}.myth-card:focus-visible{outline:2px solid var(--myth-color);outline-offset:2px}.myth-card--playable{background:hsla(0,0%,100%,.1);border-color:var(--myth-color);box-shadow:0 2px 8px rgba(0,0,0,.15)}.myth-card--playable:focus-visible,.myth-card--playable:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2);background:hsla(0,0%,100%,.15)}.myth-card--playable:active{transform:translateY(0)}.myth-card--selected{background:var(--myth-color);border-color:var(--myth-color);box-shadow:0 4px 12px rgba(0,0,0,.25)}.myth-card--selected .myth-card__name{color:#fff;font-weight:700}.myth-card--locked{opacity:.75;cursor:default;background:hsla(0,0%,100%,.04)}.myth-card--premium-cta{cursor:pointer;background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.15)}.myth-card--premium-cta:hover{background:hsla(0,0%,100%,.1)}.myth-card--coming-soon{opacity:.55;cursor:default;pointer-events:none}.myth-card__icon{font-size:1.75rem;line-height:1}.myth-card__name{font-size:.75rem;font-weight:600;color:hsla(0,0%,100%,.9);line-height:1.2}.myth-card__badge{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:999px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.myth-card__badge--free{background:rgba(76,175,80,.25);color:#81c784;border:1px solid rgba(76,175,80,.4)}.myth-card__badge--soon{font-size:.7rem}.myth-card__lock{color:hsla(0,0%,100%,.5)}.myth-card__lock-wrap{display:flex;justify-content:center}.myth-card__sparkle{position:absolute;top:.4rem;right:.4rem;color:gold;opacity:.85}.myth-card__progress{width:100%;margin-top:.25rem}.myth-card__progress-bar{height:4px;border-radius:999px;background:var(--myth-color);opacity:.7;min-width:4px;transition:width .3s ease}.myth-card__progress-label{display:block;margin-top:.2rem;font-size:.6rem;color:hsla(0,0%,100%,.55);text-align:center}@keyframes nova-breathing{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.04) translateY(-3px)}}@keyframes nova-bounce-in{0%{transform:scale(0) rotate(-8deg);opacity:0}60%{transform:scale(1.15) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes nova-wiggle{0%,to{transform:rotate(0deg)}20%{transform:rotate(-10deg) scale(1.1)}40%{transform:rotate(10deg) scale(1.1)}60%{transform:rotate(-6deg)}80%{transform:rotate(6deg)}}@keyframes nova-head-tilt{0%,to{transform:rotate(0deg)}30%{transform:rotate(-12deg)}70%{transform:rotate(8deg)}}@keyframes nova-jump{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-18px) scale(1.08)}60%{transform:translateY(-8px) scale(1.03)}}@keyframes nova-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px) rotate(-4deg)}40%{transform:translateX(8px) rotate(4deg)}60%{transform:translateX(-5px) rotate(-2deg)}80%{transform:translateX(5px) rotate(2deg)}}@keyframes nova-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.18)}70%{transform:scale(.95)}}@keyframes nova-exit-fade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85) translateY(10px)}}@keyframes nova-bubble-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.nova{position:fixed;bottom:2rem;right:1.5rem;z-index:200;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;pointer-events:none;animation:nova-bounce-in .45s cubic-bezier(.34,1.56,.64,1) both}.nova--breathing{animation:nova-bounce-in .45s cubic-bezier(.34,1.56,.64,1) both,nova-breathing 3s ease-in-out .5s infinite}.nova--bounce-in{animation:nova-bounce-in .45s cubic-bezier(.34,1.56,.64,1) both}.nova--wiggle{animation:nova-bounce-in .3s cubic-bezier(.34,1.56,.64,1) both,nova-wiggle .6s ease-in-out .3s}.nova--head-tilt{animation:nova-bounce-in .4s cubic-bezier(.34,1.56,.64,1) both,nova-head-tilt 1s ease-in-out .4s infinite}.nova--jump{animation:nova-bounce-in .3s cubic-bezier(.34,1.56,.64,1) both,nova-jump .7s cubic-bezier(.34,1.56,.64,1) .3s infinite}.nova--shake{animation:nova-bounce-in .3s cubic-bezier(.34,1.56,.64,1) both,nova-shake .6s ease-in-out .3s}.nova--pulse{animation:nova-bounce-in .4s cubic-bezier(.34,1.56,.64,1) both,nova-pulse 1.2s ease-in-out .4s infinite}.nova__bubble{background:#fff;padding:.5rem 1rem;border-radius:1rem 1rem 0 1rem;box-shadow:0 4px 16px rgba(0,0,0,.12);font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;color:#1a1a2e;max-width:180px;line-height:1.5;pointer-events:auto;transform-origin:bottom right;animation:nova-bubble-in .3s cubic-bezier(.34,1.56,.64,1) .1s both}.nova__img-btn{all:unset;display:block;pointer-events:auto;cursor:pointer;border-radius:50%}.nova__img-btn:focus-visible{outline:2px solid #667eea;outline-offset:4px}.nova__img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))}.nova-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:nova-bubble-in .25s ease both}.nova-overlay__content{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:nova-bounce-in .5s cubic-bezier(.34,1.56,.64,1) both}.nova-overlay__img{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));animation:nova-pulse 1.4s ease-in-out infinite}.nova-overlay__bubble{border-radius:1rem;max-width:240px;text-align:center;transform-origin:center bottom}.nova-overlay__dismiss{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.4);border-radius:50%;width:32px;height:32px;color:#fff;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.nova-overlay__dismiss:hover{background:hsla(0,0%,100%,.35)}.rec__header{margin-bottom:1rem}.rec__title{font-size:1.125rem;font-weight:800;color:#1a1a2e;margin-bottom:.25rem}.rec__subtitle{font-size:.875rem;color:#6b7280}.rec__list{display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.rec__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.rec__card{background:#fff;border-radius:1.5rem;padding:1rem;border-left:4px solid rgba(0,0,0,0);box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:.5rem;transition:transform .25s ease,box-shadow .25s ease}.rec__card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.12)}.rec__card--level-up{border-left-color:#667eea}.rec__card--practice{border-left-color:#ff9800}.rec__card--try-new{border-left-color:#4caf50}.rec__card--diversify{border-left-color:gold}.rec__card-header{display:flex;align-items:center;gap:.5rem}.rec__card-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex-shrink:0}.rec__card--level-up .rec__card-icon{background:rgba(102,126,234,.1);color:#667eea}.rec__card--practice .rec__card-icon{background:rgba(255,152,0,.1);color:#ff9800}.rec__card--try-new .rec__card-icon{background:rgba(76,175,80,.1);color:#4caf50}.rec__card--diversify .rec__card-icon{background:rgba(255,215,0,.15);color:#998100}.rec__card-type-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.rec__card--level-up .rec__card-type-label{color:#667eea}.rec__card--practice .rec__card-type-label{color:#ff9800}.rec__card--try-new .rec__card-type-label{color:#4caf50}.rec__card--diversify .rec__card-type-label{color:#998100}.rec__card-body{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.rec__cat-pill{display:inline-flex;align-self:flex-start;padding:2px 10px;border-radius:9999px;font-size:.7rem;font-weight:800;color:#fff;text-transform:capitalize}.rec__card-title{font-size:1rem;font-weight:800;color:#1a1a2e;line-height:1.3}.rec__card-desc{font-size:.875rem;color:#6b7280;line-height:1.5}.rec__card-cta{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:6px 16px;border-radius:9999px;font-size:.875rem;font-weight:800;font-family:var(--font-nunito),"Nunito",sans-serif;border:none;cursor:pointer;transition:opacity .15s ease}.rec__card--level-up .rec__card-cta{background:#667eea;color:#fff}.rec__card--practice .rec__card-cta{background:#ff9800;color:#fff}.rec__card--try-new .rec__card-cta{background:#4caf50;color:#fff}.rec__card--diversify .rec__card-cta{background:rgb(178.5,150.5,0);color:#fff}.rec__card-cta:hover{opacity:.85}.app-layout{display:flex;min-height:100dvh}.app-layout__sidebar{display:none}@media(min-width:1024px){.app-layout__sidebar{display:flex;flex-direction:column;gap:2rem;width:280px;min-width:280px;min-height:100dvh;position:sticky;top:0;align-self:flex-start;background:linear-gradient(180deg,#667eea,#764ba2);color:#fff;padding:2rem 1.5rem;overflow-y:auto}}.app-layout__logo{display:flex;align-items:center;gap:.5rem;padding-bottom:1.5rem;border-bottom:1px solid hsla(0,0%,100%,.15)}.app-layout__logo-icon{font-size:1.75rem;line-height:1}.app-layout__logo-text{font-size:1.375rem;font-weight:800;letter-spacing:-.02em}.app-layout__profile{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1.5rem;background:hsla(0,0%,100%,.1);border:2px solid hsla(0,0%,100%,.2);border-radius:1.5rem;color:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.app-layout__profile:hover{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.4);transform:translateY(-2px)}.app-layout__profile:focus-visible{outline:3px solid #667eea;outline-offset:3px}.app-layout__avatar{width:88px;height:88px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px hsla(0,0%,100%,.6),0 0 0 6px hsla(0,0%,100%,.15)}.app-layout__pseudo{font-size:1.125rem;font-weight:800;letter-spacing:-.01em}.app-layout__age{font-size:.875rem;font-weight:600;opacity:.75}.app-layout__stats{display:flex;flex-direction:column;gap:.5rem;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);border-radius:1rem;padding:1rem}.app-layout__stat{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;color:hsla(0,0%,100%,.9)}.app-layout__badges-section{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.app-layout__badges-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.app-layout__badge{background:rgba(255,215,0,.15);border:2px solid rgba(255,215,0,.4);border-radius:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:700;text-align:center;animation:badge-pulse 3s ease-in-out infinite}.app-layout__no-badge{font-size:.875rem;opacity:.6;font-style:italic;text-align:center;line-height:1.5}.app-layout__player-title{font-size:.875rem;font-weight:700;color:gold;letter-spacing:.02em;text-transform:capitalize}.app-layout__daily-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;background:rgba(245,158,11,.2);color:#fff;font-size:.875rem;font-weight:700;padding:.5rem 1rem;border-radius:9999px;transition:background .15s ease;width:100%}.app-layout__daily-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.app-layout__daily-btn:hover{background:rgba(245,158,11,.35)}.app-layout__daily-btn--done{background:hsla(0,0%,100%,.08);opacity:.7}.app-layout__daily-streak{display:flex;align-items:center;gap:2px;margin-left:auto;font-size:.7rem;font-weight:800;background:rgba(245,158,11,.3);border-radius:9999px;padding:1px 6px;color:gold}.app-layout__challenges-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;background:hsla(0,0%,100%,.15);color:#fff;font-size:.875rem;font-weight:700;padding:.5rem 1rem;border-radius:9999px;transition:background .15s ease;width:100%}.app-layout__challenges-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.app-layout__challenges-btn:hover{background:hsla(0,0%,100%,.25)}.app-layout__switch-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.8);font-size:.875rem;font-weight:700;padding:.5rem 1rem;border-radius:9999px;border:1px solid hsla(0,0%,100%,.2);transition:background .15s ease,color .15s ease;width:100%;font-family:var(--font-nunito),"Nunito",sans-serif}.app-layout__switch-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.app-layout__switch-btn:hover{background:hsla(0,0%,100%,.2);color:#fff}.app-layout__main{flex:1 1;min-width:0;display:flex;flex-direction:column}@keyframes badge-pulse{0%,to{box-shadow:0 0 0 0 rgba(255,215,0,0)}50%{box-shadow:0 0 0 6px rgba(255,215,0,.2)}}.onboarding{min-height:100dvh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 3rem}.onboarding__header{width:100%;max-width:480px;position:relative;text-align:center;padding-bottom:1.5rem}.onboarding__lang-toggle{position:absolute;top:0;right:0;background:hsla(0,0%,100%,.2);color:#fff;border:2px solid hsla(0,0%,100%,.4);border-radius:9999px;padding:0 1rem;font-size:.875rem;font-weight:700;min-height:48px;transition:background .15s ease}.onboarding__lang-toggle:hover{background:hsla(0,0%,100%,.32)}.onboarding__lang-toggle:focus-visible{outline:3px solid #667eea;outline-offset:3px}.onboarding__title{color:#fff;font-size:1.75rem;font-weight:800;margin-top:calc(48px + 1rem);text-shadow:0 2px 8px rgba(0,0,0,.15)}@media(min-width:768px){.onboarding__title{font-size:2.25rem}}.onboarding__body{width:100%;max-width:480px;background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,.16);display:flex;flex-direction:column;gap:1.5rem}.onboarding__section{display:flex;flex-direction:column;gap:.5rem}.onboarding__label{font-size:1.125rem;font-weight:700;color:#1a1a2e}.onboarding__input{width:100%;padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:1rem;font-size:1.125rem;color:#1a1a2e;background:#f8f7ff;min-height:64px;transition:border-color .15s ease}.onboarding__input:focus{outline:none;border-color:#667eea}.onboarding__input::placeholder{color:#6b7280}.onboarding__input:focus-visible{outline:3px solid #667eea;outline-offset:3px}.onboarding__age-group{display:flex;gap:1rem}.onboarding__age-btn{flex:1 1;min-height:64px;border:3px solid #e5e7eb;border-radius:1rem;font-size:1rem;font-weight:700;color:#6b7280;background:#f8f7ff;transition:border-color .15s ease,color .15s ease,background .15s ease}.onboarding__age-btn:hover{border-color:#667eea;color:#667eea}.onboarding__age-btn--active{border-color:#667eea;background:#667eea;color:#fff}.onboarding__age-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.onboarding__avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.onboarding__avatar-btn{position:relative;border-radius:1rem;border:3px solid rgba(0,0,0,0);padding:.25rem;background:#f8f7ff;min-height:64px;transition:border-color .15s ease,transform .15s ease}.onboarding__avatar-btn img{border-radius:.5rem;width:100%;height:auto}.onboarding__avatar-btn:hover{border-color:#667eea;transform:scale(1.06)}.onboarding__avatar-btn--active{border-color:#667eea;background:rgba(102,126,234,.08)}.onboarding__avatar-btn--active:after{content:"✓";position:absolute;top:-8px;right:-8px;width:22px;height:22px;background:#667eea;color:#fff;border-radius:9999px;font-size:12px;font-weight:800;display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.2)}.onboarding__avatar-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.onboarding__cta{width:100%;min-height:64px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.375rem;font-weight:800;border-radius:9999px;box-shadow:0 4px 16px rgba(0,0,0,.12);margin-top:.5rem;transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease}.onboarding__cta:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.onboarding__cta:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.16)}.onboarding__cta:focus-visible{outline:3px solid #667eea;outline-offset:3px}.home{min-height:100dvh;display:flex;flex-direction:column;background:#f8f7ff}.home__header{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:space-between;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem}.home__greeting{color:#fff;font-size:1.375rem;font-weight:800}.home__greeting span{color:gold}.home__header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.home__lang-btn{font-size:1.375rem;line-height:1;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.2);border:2px solid hsla(0,0%,100%,.4);border-radius:9999px;cursor:pointer;transition:background .15s ease}.home__lang-btn:hover{background:hsla(0,0%,100%,.32)}.home__lang-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.home__profile-btn{color:#fff;background:hsla(0,0%,100%,.2);border:2px solid hsla(0,0%,100%,.4);border-radius:9999px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.home__profile-btn:hover{background:hsla(0,0%,100%,.32)}.home__profile-btn{overflow:hidden;padding:0}.home__profile-btn .home__profile-avatar{width:100%;height:100%;object-fit:cover;border-radius:9999px;display:block}@media(min-width:1024px){.home__profile-btn{display:none}}.home__profile-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.home__body{display:flex;flex-direction:column;gap:2rem;padding:2rem 1.5rem;max-width:540px;width:100%;margin:0 auto;flex:1 1}.home__section{display:flex;flex-direction:column;gap:1rem}.home__section-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.home__section-title{font-size:1.375rem;font-weight:800;color:#1a1a2e}.home__premium-tag{display:inline-flex;align-items:center;padding:2px 10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.7rem;font-weight:800;border-radius:9999px;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.home__premium-tag--active{background:linear-gradient(135deg,#4CAF50,#388E3C)}.home__premium-cta{display:inline-flex;align-items:center;gap:.3rem;padding:4px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.75rem;font-weight:800;border:none;border-radius:9999px;cursor:pointer;transition:opacity .2s,transform .15s;flex-shrink:0}.home__premium-cta:hover{opacity:.88;transform:translateY(-1px)}@keyframes home-cat-enter{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.home__categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:1rem}.home__cat-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:#fff;border:3px solid rgba(0,0,0,0);border-radius:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center;cursor:pointer;animation:home-cat-enter .3s ease both}.home__cat-card:first-child{animation-delay:0s}.home__cat-card:nth-child(2){animation-delay:35ms}.home__cat-card:nth-child(3){animation-delay:.07s}.home__cat-card:nth-child(4){animation-delay:.105s}.home__cat-card:nth-child(5){animation-delay:.14s}.home__cat-card:nth-child(6){animation-delay:.175s}.home__cat-card:nth-child(7){animation-delay:.21s}.home__cat-card:nth-child(8){animation-delay:.245s}.home__cat-card:nth-child(9){animation-delay:.28s}.home__cat-card:nth-child(10){animation-delay:.315s}.home__cat-card:nth-child(11){animation-delay:.35s}.home__cat-card:nth-child(12){animation-delay:.385s}.home__cat-card{transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.home__cat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}.home__cat-card--active,.home__cat-card:hover{border-color:var(--cat-color);transform:translateY(-4px)}.home__cat-card--active{background:color-mix(in srgb,var(--cat-color) 8%,white);box-shadow:0 4px 16px rgba(0,0,0,.12),0 0 0 3px color-mix(in srgb,var(--cat-color) 30%,transparent)}.home__cat-card:focus-visible{outline:3px solid #667eea;outline-offset:3px}.home__cat-card--locked{cursor:default;pointer-events:none;position:relative;opacity:.72;background:color-mix(in srgb,var(--cat-color) 5%,white)}.home__cat-card--locked:hover{border-color:rgba(0,0,0,0);transform:none;box-shadow:0 2px 8px rgba(0,0,0,.08)}.home__cat-card--locked-cta{cursor:pointer;pointer-events:auto;position:relative;opacity:.78;background:color-mix(in srgb,var(--cat-color) 5%,white);border:3px dashed color-mix(in srgb,var(--cat-color) 40%,transparent)}.home__cat-card--locked-cta:hover{opacity:1;border-style:solid;border-color:color-mix(in srgb,var(--cat-color) 60%,transparent);transform:translateY(-3px);box-shadow:0 4px 16px rgba(0,0,0,.12)}.home__cat-card--locked-cta:hover .home__cat-lock{animation:lock-shake .4s ease}.home__cat-card--coming-soon{cursor:default;pointer-events:none;opacity:.6;background:color-mix(in srgb,var(--cat-color) 5%,white);border:2px dashed color-mix(in srgb,var(--cat-color) 25%,transparent)}.home__cat-card--coming-soon:hover{transform:none;box-shadow:0 2px 8px rgba(0,0,0,.08)}.home__cat-card--coming-soon .home__cat-lock{font-size:.85rem;opacity:1;color:inherit}.home__cat-card--langue{padding:1rem}@keyframes lock-shake{0%,to{transform:rotate(0deg)}20%{transform:rotate(-8deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}.home__cat-lock{position:absolute;top:.5rem;right:.5rem;color:#6b7280;display:flex;opacity:.8;transition:color .15s ease}.home__cat-icon{color:var(--cat-color);display:flex}.home__cat-name{font-size:1.125rem;font-weight:800;color:#1a1a2e}.home__cat-desc{font-size:.875rem;color:#6b7280;line-height:1.4}.home__coming-soon-tag{display:inline-flex;align-items:center;padding:2px 10px;background:#1a1a2e;color:#fff;font-size:.7rem;font-weight:800;border-radius:9999px;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.home__coming-soon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(130px,100%),1fr));gap:.5rem}@keyframes home-shimmer{0%{background-position:-200%}to{background-position:200%}}.home__coming-soon-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .5rem;background:#fff;border:2px dashed color-mix(in srgb,var(--cat-color) 45%,transparent);border-radius:1.5rem;text-align:center;opacity:.72;pointer-events:none;overflow:hidden}.home__coming-soon-card:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);background-size:200% 100%;animation:home-shimmer 3.5s ease infinite;border-radius:inherit;pointer-events:none}.home__coming-soon-card .home__cat-icon{opacity:.8}.home__coming-soon-badge{position:absolute;top:.25rem;right:.25rem;font-size:.85rem;line-height:1}.home__coming-soon-free{position:absolute;top:-1px;left:.5rem;background:#4caf50;color:#fff;font-size:.6rem;font-weight:800;padding:2px 7px;border-radius:0 0 .5rem .5rem;letter-spacing:.04em;text-transform:uppercase}.home__difficulties{display:flex;flex-direction:row;gap:.5rem}.home__diff-btn{flex:1 1;min-height:48px;border:3px solid;border-radius:9999px;font-size:.875rem;font-weight:800;background:#f8f7ff;transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.home__diff-btn--easy{color:#4caf50}.home__diff-btn--medium{color:#ff9800}.home__diff-btn--hard{color:#f44336}.home__diff-btn:hover{transform:scale(1.04)}.home__diff-btn--active{color:#fff;transform:scale(1.04)}.home__diff-btn--active.home__diff-btn--easy{background:#4caf50;border-color:#4caf50;box-shadow:0 3px 12px rgba(76,175,80,.4)}.home__diff-btn--active.home__diff-btn--medium{background:#ff9800;border-color:#ff9800;box-shadow:0 3px 12px rgba(255,152,0,.4)}.home__diff-btn--active.home__diff-btn--hard{background:#f44336;border-color:#f44336;box-shadow:0 3px 12px rgba(244,67,54,.4)}.home__diff-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.home__cta{width:100%;min-height:64px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.375rem;font-weight:800;border-radius:9999px;box-shadow:0 4px 16px rgba(0,0,0,.12);margin-top:auto;transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease}.home__cta:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.home__cta:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.16)}.home__cta:focus-visible{outline:3px solid #667eea;outline-offset:3px}@media(min-width:1024px){.home__section--challenges-mobile{display:none}}.home__challenges-banner{display:flex;align-items:center;gap:1rem;width:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1.5rem;padding:1rem 1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#fff;transition:transform .15s ease,box-shadow .15s ease;min-height:64px}.home__challenges-banner:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.12)}.home__challenges-banner:focus-visible{outline:3px solid #667eea;outline-offset:3px}.home__challenges-icon{color:hsla(0,0%,100%,.9);flex-shrink:0}.home__daily-banner{display:flex;align-items:center;gap:1rem;width:100%;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:1.5rem;padding:1rem 1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#fff;transition:transform .15s ease,box-shadow .15s ease;min-height:64px}.home__daily-banner:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.12)}.home__daily-banner--done{background:linear-gradient(135deg,rgba(245,158,11,.6),rgba(217,119,6,.6))}.home__daily-banner:focus-visible{outline:3px solid #667eea;outline-offset:3px}.home__daily-sun{color:hsla(0,0%,100%,.9);flex-shrink:0}.home__daily-content{display:flex;flex-direction:column;gap:2px;flex:1 1;text-align:left}.home__daily-label{font-size:1rem;font-weight:800;color:#fff}.home__daily-sub{font-size:.875rem;font-weight:600;color:hsla(0,0%,100%,.85)}.home__daily-streak{display:flex;align-items:center;gap:4px;background:hsla(0,0%,100%,.2);border-radius:9999px;padding:2px .5rem;font-size:.875rem;font-weight:800;color:#fff;flex-shrink:0}.home__daily-chevron{color:hsla(0,0%,100%,.75);flex-shrink:0}.home__fetch-error{font-size:.875rem;font-weight:700;color:#ef4444;text-align:center;padding:.25rem 1rem;background:rgba(239,68,68,.08);border-radius:.5rem}.home__controls{display:contents}@media(min-width:1024px){.home__body{display:grid;grid-template-columns:1fr 300px;max-width:none;align-items:start;gap:1.5rem;padding:2rem}.home__section{grid-column:1}.home__section .home__categories{grid-template-columns:repeat(3,1fr)}.home__section .home__coming-soon-grid{grid-template-columns:repeat(5,1fr)}.home__section--premium .home__categories{grid-template-columns:repeat(4,1fr)}.home__section--daily{grid-column:2;grid-row:1}.home__section--challenges-mobile{display:none}.home__controls{display:flex;flex-direction:column;gap:1.5rem;grid-column:2;grid-row:2/-1;background:#fff;border-radius:1.5rem;padding:2rem 1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.12);position:sticky;top:2rem;align-self:start}.home__premium-cta{width:100%;justify-content:center;font-size:.875rem;padding:8px 1rem}.home__cta{margin-top:0}}.home__myth-wrapper{grid-column:1/-1}.home__myth-panel{background:rgba(0,0,0,.2);border-radius:0 0 1.5rem 1.5rem;margin-top:-4px;padding:.5rem;animation:myth-panel-in .25s ease-out both}.home__myth-chevron{color:hsla(0,0%,100%,.7);transition:transform .2s ease}.home__myth-chevron--open{transform:rotate(180deg)}.home__cat-card--myth{flex-direction:row;justify-content:flex-start;gap:1rem;width:100%;padding:1rem 1.5rem;border-radius:1.5rem}.home__cat-card--myth .home__cat-lock,.home__cat-card--myth .home__myth-chevron{margin-left:auto}.quiz{min-height:100dvh;background:#f8f7ff}.quiz,.quiz__header{display:flex;flex-direction:column}.quiz__header{background:linear-gradient(135deg,#667eea,#764ba2);gap:1rem;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem}.quiz__header-top{display:flex;align-items:center;justify-content:space-between}.quiz__cat-label{color:#fff;font-size:1rem;font-weight:700}.quiz__score{color:gold;font-size:.875rem;font-weight:800;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.25);border-radius:9999px;padding:4px 1rem}.quiz__meta{display:flex;align-items:center;justify-content:space-between}.quiz__counter{color:hsla(0,0%,100%,.9);font-size:.875rem;font-weight:600}.quiz__diff-chip{font-size:.875rem;font-weight:700;border-radius:9999px;padding:3px 1rem;border:1px solid}.quiz__diff-chip--easy{background:rgba(76,175,80,.25);color:#fff;border-color:rgba(76,175,80,.6)}.quiz__diff-chip--medium{background:rgba(255,152,0,.25);color:#fff;border-color:rgba(255,152,0,.6)}.quiz__diff-chip--hard{background:rgba(244,67,54,.25);color:#fff;border-color:rgba(244,67,54,.6)}.quiz__progress-bar{height:8px;background:hsla(0,0%,100%,.2);border-radius:9999px;overflow:hidden}.quiz__progress-fill{height:100%;background:#fff;border-radius:9999px;transition:width .4s ease}.quiz__body{display:flex;flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;max-width:600px;width:100%;margin:0 auto;flex:1 1}.quiz__question-card{background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 4px 16px rgba(0,0,0,.12)}.quiz__question-text{font-size:1.125rem;font-weight:700;color:#1a1a2e;line-height:1.55;text-align:center}.quiz__feedback{text-align:center;font-size:1.125rem;font-weight:800;border-radius:1rem;padding:1rem;animation:quiz-slide-up .2s ease}.quiz__feedback--correct{background:rgba(16,185,129,.1);color:#10b981;border:2px solid rgba(16,185,129,.3)}.quiz__feedback--wrong{background:rgba(239,68,68,.1);color:#ef4444;border:2px solid rgba(239,68,68,.3)}.quiz__answers{display:flex;flex-direction:column;gap:.5rem}.quiz__answer{display:flex;align-items:center;gap:1rem;width:100%;min-height:64px;padding:1rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:1rem;font-size:1rem;font-weight:600;color:#1a1a2e;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,opacity .15s ease}.quiz__answer:not(.quiz__answer--correct):not(.quiz__answer--wrong):not(.quiz__answer--reveal):not(.quiz__answer--disabled):hover{border-color:#667eea;transform:translateX(3px)}.quiz__answer--correct{background:#10b981;border-color:#10b981;color:#fff}.quiz__answer--wrong{background:#ef4444;border-color:#ef4444;color:#fff}.quiz__answer--reveal{border-color:#10b981;background:rgba(16,185,129,.08)}.quiz__answer--disabled{opacity:.35;cursor:not-allowed}.quiz__answer:focus-visible{outline:3px solid #667eea;outline-offset:3px}.quiz__answer-key{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:rgba(102,126,234,.1);color:#667eea;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.875rem;transition:background .15s ease,color .15s ease}.quiz__answer--correct .quiz__answer-key,.quiz__answer--wrong .quiz__answer-key{background:hsla(0,0%,100%,.25);color:#fff}.quiz__answer--reveal .quiz__answer-key{background:rgba(16,185,129,.15);color:#10b981}.quiz__answer-text{flex:1 1;line-height:1.4}.quiz__next-btn{width:100%;min-height:64px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.375rem;font-weight:800;border-radius:9999px;box-shadow:0 4px 16px rgba(0,0,0,.12);margin-top:auto;animation:quiz-fade-in .2s ease;transition:transform .15s ease,box-shadow .15s ease}.quiz__next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.16)}.quiz__next-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.quiz__timer{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:1rem auto 0}.quiz__timer--urgent{animation:timer-pulse .6s ease infinite alternate}.quiz__timer-svg{width:64px;height:64px;transform:rotate(-90deg)}.quiz__timer-track{fill:none;stroke:rgba(102,126,234,.12);stroke-width:4}.quiz__timer-arc{fill:none;stroke:#667eea;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .15s ease}.quiz__timer--urgent .quiz__timer-arc{stroke:#ef4444}.quiz__timer-count{position:absolute;font-size:1.125rem;font-weight:800;color:#667eea;line-height:1}.quiz__timer--urgent .quiz__timer-count{color:#ef4444}@keyframes timer-pulse{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes quiz-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes quiz-fade-in{0%{opacity:0}to{opacity:1}}.results{min-height:100dvh;background:#f8f7ff}.results,.results__header{display:flex;flex-direction:column}.results__header{background:linear-gradient(135deg,#667eea,#764ba2);align-items:center;gap:1.5rem;padding:calc(2rem + env(safe-area-inset-top, 0px)) 1.5rem 2rem;text-align:center}.results__meta{display:flex;align-items:center;gap:1rem}.results__cat-label{color:#fff;font-size:1rem;font-weight:700}.results__diff-chip{font-size:.875rem;font-weight:700;border-radius:9999px;padding:3px 1rem;border:1px solid}.results__diff-chip--easy{background:rgba(76,175,80,.25);color:#fff;border-color:rgba(76,175,80,.6)}.results__diff-chip--medium{background:rgba(255,152,0,.25);color:#fff;border-color:rgba(255,152,0,.6)}.results__diff-chip--hard{background:rgba(244,67,54,.25);color:#fff;border-color:rgba(244,67,54,.6)}.results__score-wrap{display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:results-fade-in .4s ease both}.results__score-label{color:hsla(0,0%,100%,.85);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.results__score-display{display:flex;align-items:baseline;gap:.5rem}.results__score-num{font-size:clamp(4rem,15vw,6rem);font-weight:800;color:#fff;line-height:1}.results__score-sep{color:hsla(0,0%,100%,.5)}.results__score-sep,.results__score-total{font-size:clamp(2rem,8vw,3rem);font-weight:700}.results__score-total{color:hsla(0,0%,100%,.75)}.results__body{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 1.5rem;max-width:480px;width:100%;margin:0 auto;flex:1 1;text-align:center}.results__message{font-size:1.125rem;font-weight:700;color:#1a1a2e;line-height:1.4;animation:results-slide-up .3s ease both;animation-delay:.15s}.results__badges{display:flex;flex-direction:column;align-items:center;gap:1rem;background:#fff;border:2px solid rgba(255,215,0,.4);border-radius:1.5rem;padding:2rem;box-shadow:0 4px 16px rgba(0,0,0,.12),0 0 24px rgba(255,215,0,.25);animation:results-badge-bounce .5s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.3s;width:100%}.results__badges-title{font-size:1.375rem;font-weight:800;color:#1a1a2e}.results__badges-list{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.results__badge-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;animation:results-trophy-pulse 2s ease-in-out infinite;animation-delay:.8s}.results__badge-emoji{font-size:3rem;display:block;line-height:1}.results__badge-name{font-size:.875rem;font-weight:700;color:#6b7280}.results__challenge-badge{display:inline-flex;align-items:center;gap:4px;background:hsla(0,0%,100%,.2);color:#fff;font-size:.875rem;font-weight:700;padding:3px .5rem;border-radius:9999px}.results__duel{display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 4px 16px rgba(0,0,0,.12);width:100%;animation:results-slide-up .35s ease both}.results__duel-loading{font-size:1.75rem;padding:1.5rem}.results__duel-title{font-size:1.125rem;font-weight:800;color:#1a1a2e}.results__duel-scores{display:flex;align-items:center;justify-content:center;gap:2rem;width:100%}.results__duel-player{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1 1;padding:1rem;border-radius:1rem;transition:background .15s ease}.results__duel-player--winner{background:rgba(255,215,0,.15)}.results__duel-avatar{width:56px;height:56px;border-radius:9999px;border:3px solid rgba(102,126,234,.3)}.results__duel-player--winner .results__duel-avatar{border-color:gold}.results__duel-pseudo{font-size:.875rem;font-weight:700;color:#6b7280}.results__duel-player--winner .results__duel-pseudo{color:#1a1a2e}.results__duel-score{font-size:1.375rem;font-weight:800;color:#1a1a2e}.results__duel-time{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.875rem;color:#6b7280;font-weight:600}.results__duel-faster{color:#ff9800;font-weight:800;font-size:.875rem}.results__duel-vs{font-size:1.375rem;flex-shrink:0}.results__duel-winner-msg{font-size:1.125rem;font-weight:800;color:#667eea;text-align:center}.results__daily{display:flex;flex-direction:column;align-items:center;gap:1rem;background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(217,119,6,.05));border:2px solid rgba(245,158,11,.3);border-radius:1.5rem;padding:2rem;width:100%;text-align:center;animation:results-badge-bounce .4s cubic-bezier(.34,1.56,.64,1) both}.results__daily-header{display:flex;align-items:center;gap:.5rem;color:#d97706}.results__daily-title{font-size:1.125rem;font-weight:800;color:#1a1a2e}.results__daily-xp-amount{font-size:1.75rem;font-weight:800;color:#d97706}.results__daily-streak{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:#1a1a2e}.results__daily-shield-earned,.results__daily-shield-used{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600}.results__daily-shield-used{color:#6b7280}.results__daily-shield-earned{color:#667eea}.results__daily-player-title{font-size:1rem;font-weight:700;color:#6b7280;margin-top:.25rem}.results__challenge-modal{display:flex;flex-direction:column;align-items:center;gap:1rem;background:#fff;border:2px solid rgba(102,126,234,.2);border-radius:1.5rem;padding:2rem;box-shadow:0 4px 16px rgba(0,0,0,.12);width:100%;text-align:center;animation:results-badge-bounce .4s cubic-bezier(.34,1.56,.64,1) both}.results__challenge-modal-title{font-size:1.375rem;font-weight:800;color:#1a1a2e}.results__challenge-modal-desc{font-size:1rem;color:#6b7280}.results__challenge-code-wrap{display:flex;flex-direction:column;align-items:center;gap:.5rem}.results__challenge-code{font-size:clamp(2.5rem,10vw,3.5rem);font-weight:800;letter-spacing:.2em;color:#667eea;line-height:1}.results__challenge-copy-btn{display:inline-flex;align-items:center;gap:.25rem;background:rgba(102,126,234,.1);color:#667eea;font-size:.875rem;font-weight:700;padding:.5rem 1rem;border-radius:9999px;transition:background .15s ease}.results__challenge-copy-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.results__challenge-copy-btn:hover{background:rgba(102,126,234,.18)}.results__challenge-expiry{font-size:.875rem;color:#6b7280}.results__cta-challenge{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#E91E63,#ad1457);color:#fff;font-size:1rem;font-weight:700;border-radius:9999px;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .15s ease,opacity .15s ease}.results__cta-challenge:hover:not(:disabled){transform:translateY(-1px)}.results__cta-challenge:disabled{opacity:.5;cursor:not-allowed}.results__cta-challenge:focus-visible{outline:3px solid #667eea;outline-offset:3px}.results__actions{display:flex;flex-direction:column;gap:1rem;width:100%;margin-top:auto;animation:results-slide-up .3s ease both;animation-delay:.4s}.results__cta-primary{width:100%;min-height:64px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.375rem;font-weight:800;border-radius:9999px;box-shadow:0 4px 16px rgba(0,0,0,.12);transition:transform .15s ease,box-shadow .15s ease}.results__cta-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.16)}.results__cta-primary:disabled{opacity:.6;cursor:not-allowed}.results__cta-primary:focus-visible{outline:3px solid #667eea;outline-offset:3px}.results__cta-secondary{width:100%;min-height:64px;background:rgba(0,0,0,0);border:2px solid #e5e7eb;border-radius:9999px;font-size:1rem;font-weight:700;color:#6b7280;transition:border-color .15s ease,color .15s ease}.results__cta-secondary:hover{border-color:#667eea;color:#667eea}.results__cta-secondary:focus-visible{outline:3px solid #667eea;outline-offset:3px}@keyframes results-fade-in{0%{opacity:0}to{opacity:1}}@keyframes results-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes results-badge-bounce{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes results-trophy-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.profile{min-height:100dvh;display:flex;flex-direction:column;background:#f8f7ff}.profile__header{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:space-between;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem;gap:1rem}.profile__back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:#fff;border-radius:1rem;transition:background .15s ease}.profile__back-btn:hover{background:hsla(0,0%,100%,.15)}.profile__back-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.profile__title{font-size:1.375rem;font-weight:800;color:#fff;text-align:center;flex:1 1}.profile__header-spacer{width:40px;flex-shrink:0}.profile__body{display:flex;flex-direction:column;gap:2rem;padding:2rem 1.5rem;max-width:480px;width:100%;margin:0 auto;flex:1 1}.profile__identity{display:flex;align-items:center;gap:1.5rem;background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.12);animation:profile-fade-in .3s ease both}.profile__avatar-wrap{position:relative;width:80px;height:80px;flex-shrink:0;border-radius:50%;padding:3px;background:linear-gradient(135deg,#667eea,#764ba2)}.profile__avatar{width:100%;height:100%;border-radius:50%;background:#f8f7ff;display:block}.profile__avatar-edit-btn{position:absolute;bottom:0;right:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#667eea;color:#fff;border-radius:50%;border:2px solid #fff;transition:background .15s ease}.profile__avatar-edit-btn:hover{background:#764ba2}.profile__avatar-edit-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.profile__identity-info{display:flex;flex-direction:column;gap:4px}.profile__avatar-change-label{font-size:.875rem;font-weight:600;color:#667eea;text-decoration:underline;text-underline-offset:2px;text-align:left;margin-top:2px;transition:color .15s ease}.profile__avatar-change-label:hover{color:#764ba2}.profile__avatar-change-label:focus-visible{outline:3px solid #667eea;outline-offset:3px}.profile__avatar-gallery{display:flex;flex-direction:column;gap:.5rem;background:#fff;border-radius:1.5rem;padding:1rem;box-shadow:0 4px 16px rgba(0,0,0,.12);animation:profile-fade-in .2s ease both}.profile__avatar-section-title{font-size:.875rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}.profile__avatar-section-title--premium{display:flex;align-items:center;gap:5px;color:#667eea;margin-top:1rem}.profile__premium-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.65rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.875rem;font-weight:800;border:none;border-radius:1.5rem;cursor:pointer;margin-bottom:.5rem;transition:opacity .2s,transform .15s}.profile__premium-banner:hover{opacity:.9;transform:translateY(-1px)}.profile__avatar-premium-hint{font-size:.875rem;font-weight:600;color:#6b7280;margin-bottom:.25rem}.profile__avatar-premium-group{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.profile__avatar-style-label{font-size:.875rem;font-weight:700;color:#1a1a2e}.profile__avatar-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem}.profile__avatar-option{position:relative;border-radius:1rem;padding:.25rem;transition:background .15s ease,transform .15s ease}.profile__avatar-option img{width:100%;height:auto;display:block;border-radius:.5rem}.profile__avatar-option:hover{background:rgba(102,126,234,.08);transform:scale(1.05)}.profile__avatar-option--active{background:rgba(102,126,234,.12);outline:2px solid #667eea;outline-offset:2px}.profile__avatar-option--locked{position:relative;cursor:not-allowed;opacity:.7}.profile__avatar-option--locked:hover{background:rgba(0,0,0,0);transform:none}.profile__avatar-option:focus-visible{outline:3px solid #667eea;outline-offset:3px}.profile__avatar-lock-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);border-radius:1rem;color:#fff;pointer-events:none}.profile__pseudo{font-size:1.375rem;font-weight:800;color:#1a1a2e}.profile__age{font-size:.875rem;font-weight:600;color:#6b7280}.profile__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;animation:profile-fade-in .3s ease both;animation-delay:.1s}.profile__stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border-radius:1rem;padding:1rem .5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center}.profile__stat-value{font-size:1.375rem;font-weight:800;color:#667eea}.profile__stat-label{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.profile__cat-stats{display:flex;flex-direction:column;gap:1rem;animation:profile-fade-in .3s ease both;animation-delay:.15s}.profile__cat-card{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:1.5rem;padding:1rem 1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);border-left:4px solid}.profile__cat-card--sciences{border-color:#2196f3}.profile__cat-card--histoire{border-color:#795548}.profile__cat-icon{font-size:1.5rem;flex-shrink:0}.profile__cat-info{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.profile__cat-name{font-size:1rem;font-weight:700;color:#1a1a2e}.profile__cat-detail{font-size:.875rem;font-weight:600;color:#6b7280}.profile__cat-best{font-size:1.375rem;font-weight:800;color:#667eea;flex-shrink:0}.profile__settings{display:flex;flex-direction:column;gap:1rem;animation:profile-fade-in .3s ease both;animation-delay:.25s}.profile__setting-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#fff;border-radius:1.5rem;padding:1rem 1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.profile__setting-info{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.profile__setting-name{font-size:1rem;font-weight:700;color:#1a1a2e}.profile__setting-desc{font-size:.875rem;font-weight:600;color:#6b7280}.profile__toggle{position:relative;display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer}.profile__toggle-input{position:absolute;opacity:0;width:0;height:0}.profile__toggle-input:focus-visible+.profile__toggle-track{outline:3px solid #667eea;outline-offset:2px}.profile__toggle-track{width:48px;height:28px;border-radius:14px;background:#d1d5db;transition:background .15s ease;position:relative}.profile__toggle-input:checked~.profile__toggle-track{background:#667eea}.profile__toggle-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s ease}.profile__toggle-input:checked~.profile__toggle-track .profile__toggle-thumb{transform:translateX(20px)}.profile__lang-btn{flex-shrink:0;padding:.25rem .5rem;background:#fff;border:2px solid #667eea;border-radius:1rem;color:#667eea;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.profile__lang-btn:hover{background:#667eea;color:#fff}.profile__lang-btn:focus-visible{outline:3px solid #667eea;outline-offset:2px}.profile__cta-stats{width:100%;min-height:64px;display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fff;color:#667eea;font-size:1.125rem;font-weight:800;border-radius:9999px;border:2px solid #667eea;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:background .15s ease,color .15s ease}.profile__cta-stats:hover{background:#667eea;color:#fff}.profile__cta-stats:focus-visible{outline:3px solid #667eea;outline-offset:3px}.profile__cta-home{width:100%;min-height:64px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.375rem;font-weight:800;border-radius:9999px;box-shadow:0 4px 16px rgba(0,0,0,.12);margin-top:auto;transition:transform .15s ease,box-shadow .15s ease}.profile__cta-home:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.16)}.profile__cta-home:focus-visible{outline:3px solid #667eea;outline-offset:3px}.profile__admin-link{display:inline-flex;align-items:center;gap:5px;align-self:center;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.75rem;font-weight:600;color:#6b7280;text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:rgba(0,0,0,0);border:none;padding:.25rem;margin-top:.5rem;opacity:.7;transition:opacity .15s ease}.profile__admin-link:hover{opacity:1}.profile__admin-link:focus-visible{outline:3px solid #667eea;outline-offset:3px}.profile__cat-card--heroes{border-color:#e91e63}@keyframes profile-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1024px){.profile__body{display:grid;grid-template-columns:1fr 1fr;max-width:900px;gap:1.5rem;padding:2rem;align-items:start}.profile__identity{grid-column:1;grid-row:span 2;align-self:stretch}.profile__stats{order:2;grid-column:2;grid-template-columns:1fr;gap:.5rem}.profile__stat-card{flex-direction:row;justify-content:space-between;align-items:center;text-align:left;padding:.5rem 1rem;gap:.5rem}.profile__avatar-gallery{order:4;grid-column:1/-1}.profile__avatar-row{grid-template-columns:repeat(8,1fr)}.profile__cat-stats{order:5;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.profile__cat-stats>.profile__section-title{grid-column:1/-1}.profile__settings{order:6;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.profile__settings>.profile__section-title{grid-column:1/-1}.profile__settings .profile__setting-row{flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:110px;padding:1.5rem}.profile__cta-stats{order:7}.profile__cta-home,.profile__cta-stats{grid-column:1/-1;max-width:400px;margin:0 auto;width:100%}.profile__cta-home{order:8}.profile__admin-link{order:9;grid-column:1/-1}}.admin{min-height:100dvh;display:flex;flex-direction:column;background:#f8f7ff}.admin__header{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:space-between;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem;gap:1rem}.admin__back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:#fff;border-radius:1rem;transition:background .15s ease}.admin__back-btn:hover{background:hsla(0,0%,100%,.15)}.admin__back-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__title{font-size:1.375rem;font-weight:800;color:#fff;text-align:center;flex:1 1}.admin__header-spacer,.admin__signout-btn{width:40px;flex-shrink:0}.admin__signout-btn{display:flex;align-items:center;justify-content:center;height:40px;color:hsla(0,0%,100%,.8);border-radius:1rem;transition:background .15s ease,color .15s ease}.admin__signout-btn:hover{background:hsla(0,0%,100%,.15);color:#fff}.admin__signout-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__body{display:flex;flex-direction:column;gap:2rem;padding:2rem 1.5rem;max-width:520px;width:100%;margin:0 auto;flex:1 1}.admin__section{display:flex;flex-direction:column;gap:1rem;background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);animation:admin-fade-in .3s ease both}.admin__section--danger{border-left:4px solid #ef4444}.admin__section:first-child{animation-delay:0s}.admin__section:nth-child(2){animation-delay:80ms}.admin__section:nth-child(3){animation-delay:.16s}.admin__section:nth-child(4){animation-delay:.24s}.admin__section:nth-child(5){animation-delay:.32s}.admin__section-header{display:flex;align-items:center;gap:.5rem;color:#667eea}.admin__section-title{font-size:1rem;font-weight:700;color:#1a1a2e;text-transform:uppercase;letter-spacing:.06em}.admin__section-desc{line-height:1.5}.admin__empty,.admin__section-desc{font-size:.875rem;font-weight:600;color:#6b7280}.admin__empty{text-align:center;padding:1rem 0}.admin__stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.admin__stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:rgba(102,126,234,.06);border-radius:1rem;padding:1rem .5rem;text-align:center}.admin__stat-value{font-size:1.375rem;font-weight:800;color:#667eea}.admin__stat-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.admin__goal-options{display:flex;flex-wrap:wrap;gap:.5rem}.admin__goal-btn{min-width:64px;min-height:44px;padding:.25rem 1rem;border-radius:1rem;border:2px solid #e5e7eb;background:#f8f7ff;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;font-weight:700;color:#6b7280;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.admin__goal-btn:hover{border-color:#667eea;color:#667eea}.admin__goal-btn--active{border-color:#667eea;background:#667eea;color:#fff}.admin__goal-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__save-btn{align-self:flex-start;padding:.5rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:1rem;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s ease;min-height:48px}.admin__save-btn:hover{opacity:.9}.admin__save-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__email-field{display:flex;gap:.5rem;align-items:stretch;flex-wrap:wrap}.admin__email-input{flex:1 1;min-width:0;min-height:48px;padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:1rem;background:#f8f7ff;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;font-weight:600;color:#1a1a2e;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.admin__email-input::placeholder{color:#9ca3af}.admin__email-input:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.15)}.admin__email-input--error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}.admin__email-remove{align-self:flex-start;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:600;color:#6b7280;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;transition:color .15s ease}.admin__email-remove:hover{color:#ef4444}.admin__email-remove:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__secondary-btn{display:inline-flex;align-items:center;gap:.25rem;align-self:flex-start;padding:.5rem 1.5rem;border:2px solid #667eea;color:#667eea;border-radius:1rem;background:rgba(0,0,0,0);font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;font-weight:700;cursor:pointer;min-height:48px;transition:background .15s ease,color .15s ease}.admin__secondary-btn:hover{background:#667eea;color:#fff}.admin__secondary-btn--danger{border-color:#ef4444;color:#ef4444}.admin__secondary-btn--danger:hover{background:#ef4444;color:#fff}.admin__secondary-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__auth-connected{display:flex;flex-direction:column;gap:.5rem}.admin__auth-email{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#1a1a2e;word-break:break-all}.admin__auth-badge{display:inline-block;padding:2px 8px;background:rgba(16,185,129,.12);color:#10b981;border-radius:9999px;font-size:.75rem;font-weight:700;white-space:nowrap}.admin__auth-disconnected{display:flex;flex-direction:column;gap:.5rem}.admin__feedback{font-size:.875rem;font-weight:700;padding:.25rem .5rem;border-radius:.5rem}.admin__feedback--success{color:#10b981;background:rgba(16,185,129,.1)}.admin__feedback--error{color:#ef4444;background:rgba(239,68,68,.1)}.admin__report-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin__report-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;border-radius:1rem;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;min-height:48px;transition:background .15s ease,opacity .15s ease}.admin__report-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__report-btn:disabled{opacity:.45;cursor:not-allowed}.admin__report-btn--primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.admin__report-btn--primary:not(:disabled):hover{opacity:.9}.admin__report-btn--secondary{background:rgba(0,0,0,0);color:#667eea;border:2px solid #667eea}.admin__report-btn--secondary:not(:disabled):hover{background:#667eea;color:#fff}.admin__report-spinner{animation:admin-spin .8s linear infinite}.admin__report-hint{font-size:.875rem;font-weight:600;color:#6b7280;line-height:1.5}.admin__report-schedule{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid #f3f4f6}.admin__report-schedule-header{display:flex;align-items:center;gap:.25rem;color:#6b7280}.admin__report-schedule-label{font-size:.875rem;font-weight:700;color:#1a1a2e;flex:1 1}.admin__report-schedule-saved{font-size:.875rem;font-weight:700;color:#10b981}.admin__schedule-options{display:flex;gap:.5rem;flex-wrap:wrap}.admin__schedule-btn{padding:.25rem 1rem;border:2px solid #667eea;border-radius:9999px;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;color:#667eea;background:rgba(0,0,0,0);cursor:pointer;min-height:40px;transition:background .15s ease,color .15s ease}.admin__schedule-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__schedule-btn--active{background:#667eea;color:#fff}.admin__schedule-btn:not(.admin__schedule-btn--active):hover{background:rgba(102,126,234,.08)}.admin__toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}.admin__toggle-label{font-size:1rem;font-weight:600;color:#1a1a2e}.admin__toggle{position:relative;width:52px;height:28px;background:#d1d5db;border-radius:9999px;flex-shrink:0;transition:background .25s ease}.admin__toggle:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__toggle--on{background:#667eea}.admin__toggle-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:9999px;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .25s ease}.admin__toggle--on .admin__toggle-thumb{transform:translateX(24px)}.admin__danger-item{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem}.admin__danger-item+.admin__danger-item{border-top:1px solid #f3f4f6}.admin__danger-info{display:flex;flex-direction:column;gap:2px}.admin__danger-label{font-size:1rem;font-weight:700;color:#1a1a2e}.admin__danger-desc{font-size:.875rem;font-weight:600;color:#6b7280;line-height:1.4}.admin__danger-btn{display:inline-flex;align-items:center;gap:.25rem;align-self:flex-start;padding:.5rem 1rem;border-radius:1rem;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;min-height:48px;transition:background .15s ease,opacity .15s ease}.admin__danger-btn--warning{background:rgba(255,152,0,.1);color:#ff9800;border:2px solid rgba(255,152,0,.3)}.admin__danger-btn--warning:hover{background:rgba(255,152,0,.2)}.admin__danger-btn--destructive{background:rgba(239,68,68,.1);color:#ef4444;border:2px solid rgba(239,68,68,.3)}.admin__danger-btn--destructive:hover{background:rgba(239,68,68,.2)}.admin__danger-btn--cancel{background:#f8f7ff;color:#6b7280;border:2px solid #e5e7eb}.admin__danger-btn--cancel:hover{background:#e5e7eb}.admin__danger-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.admin__danger-confirm{display:flex;flex-direction:column;gap:.5rem}.admin__danger-confirm-msg{font-size:.875rem;font-weight:700;color:#ef4444}.admin__danger-confirm-actions{display:flex;flex-wrap:wrap;gap:.5rem}@keyframes admin-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes admin-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin__cat-goals-list{display:flex;flex-direction:column;gap:1.5rem}.admin__cat-goals-item{display:flex;flex-direction:column;gap:.5rem}.admin__cat-goals-name{font-weight:700;font-size:.875rem;color:#1a1a2e}.admin__cat-goals-options{display:flex;flex-wrap:wrap;gap:.25rem}.admin__cat-goals-btn{padding:.25rem .5rem;border-radius:.5rem;font-size:.875rem;font-weight:600;border:2px solid #e5e7eb;color:#6b7280;background:rgba(0,0,0,0);cursor:pointer;transition:all .15s ease}.admin__cat-goals-btn:hover{border-color:#667eea;color:#667eea}.admin__cat-goals-btn--active{border-color:#667eea;background:#667eea;color:#fff}.admin__cat-goals-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}@media(min-width:1024px){.admin__body{display:grid;grid-template-columns:1fr 1fr;max-width:960px;gap:1.5rem;padding:2rem;align-items:start}.admin__section--stats{grid-column:1/-1}.admin__section--goal{grid-column:1}.admin__section--pin{grid-column:2}.admin__section--email{grid-column:1}.admin__section--auth{grid-column:2}.admin__section--danger{grid-column:1/-1}}.pin-modal__overlay{position:fixed;inset:0;background:rgba(26,26,46,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;z-index:1000;padding:1.5rem;animation:pin-overlay-in .2s ease both}.pin-modal,.pin-modal__overlay{display:flex;align-items:center}.pin-modal{flex-direction:column;gap:1rem;background:#fff;border-radius:1.5rem;padding:2rem 3rem;box-shadow:0 8px 32px rgba(0,0,0,.16);width:100%;max-width:360px;animation:pin-modal-in .25s cubic-bezier(.34,1.56,.64,1) both}.pin-modal__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:.25rem}.pin-modal__title{font-size:1.375rem;font-weight:800;color:#1a1a2e;text-align:center}.pin-modal__desc{font-size:.875rem;font-weight:600;color:#6b7280;text-align:center;line-height:1.5}.pin-modal__inputs{display:flex;gap:.5rem;margin:.5rem 0}.pin-modal__input{width:56px;height:64px;text-align:center;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1.75rem;font-weight:800;color:#1a1a2e;border:2px solid #e5e7eb;border-radius:1rem;background:#f8f7ff;outline:none;transition:border-color .15s ease,box-shadow .15s ease;caret-color:rgba(0,0,0,0)}.pin-modal__input:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.2)}.pin-modal__input:not(:placeholder-shown){background:rgba(102,126,234,.06);border-color:#667eea}.pin-modal__input--error{border-color:#ef4444!important;background:rgba(239,68,68,.06)!important;animation:pin-shake .4s ease}@media(max-width:480px){.pin-modal__input{width:48px;height:56px}}.pin-modal__error{font-size:.875rem;font-weight:700;text-align:center}.pin-modal__actions{display:flex;gap:.5rem;width:100%;margin-top:.25rem}.pin-modal__btn{flex:1 1;min-height:48px;border-radius:1rem;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s ease,opacity .15s ease}.pin-modal__btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.pin-modal__btn--cancel{background:#f8f7ff;color:#6b7280;border:2px solid #e5e7eb}.pin-modal__btn--cancel:hover{background:#e5e7eb}.pin-modal__btn--confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.pin-modal__btn--confirm:disabled{opacity:.4;cursor:not-allowed}.pin-modal__btn--confirm:not(:disabled):hover{opacity:.9}.pin-modal__dashboard-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,rgba(102,126,234,.08),rgba(118,75,162,.08));border:1.5px solid rgba(102,126,234,.25);border-radius:1rem;color:#667eea;font-size:.875rem;font-weight:700;font-family:var(--font-nunito),"Nunito",sans-serif;cursor:pointer;margin-bottom:1rem;width:100%;justify-content:center;transition:background .15s ease,border-color .15s ease}.pin-modal__dashboard-btn:hover{background:linear-gradient(135deg,rgba(102,126,234,.14),rgba(118,75,162,.14));border-color:rgba(102,126,234,.5)}.pin-modal__profiles-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.pin-modal__profile-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8f7ff;border-radius:1rem}.pin-modal__profile-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.pin-modal__profile-pseudo{flex:1 1;font-weight:700;font-size:1rem;color:#1a1a2e}.pin-modal__profile-active{display:flex;align-items:center;gap:4px;font-size:.7rem;font-weight:700;background:#4caf50;color:#fff;padding:2px 8px;border-radius:9999px;flex-shrink:0}.pin-modal__profile-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.pin-modal__profile-switch{padding:4px 12px;background:#667eea;color:#fff;border:none;border-radius:9999px;font-size:.875rem;font-weight:700;font-family:var(--font-nunito),"Nunito",sans-serif;cursor:pointer;transition:opacity .15s ease}.pin-modal__profile-switch:hover{opacity:.85}.pin-modal__profile-delete{width:30px;height:30px;background:rgba(244,67,54,.1);border:none;border-radius:50%;color:#f44336;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.pin-modal__profile-delete:hover{background:rgba(244,67,54,.2)}.pin-modal__profiles-add-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(0,0,0,0);border:2px dashed #e5e7eb;border-radius:1rem;color:#6b7280;font-size:.875rem;font-weight:700;font-family:var(--font-nunito),"Nunito",sans-serif;cursor:pointer;width:100%;justify-content:center;transition:border-color .15s ease,color .15s ease}.pin-modal__profiles-add-btn:hover{border-color:#667eea;color:#667eea}.pin-modal__sub-active,.pin-modal__sub-inactive{display:flex;flex-direction:column;gap:.5rem}.pin-modal__sub-status{font-size:.875rem;font-weight:700}.pin-modal__sub-status--active{color:#4caf50}.pin-modal__sub-plan{font-size:.8rem;color:#6b7280}.pin-modal__sub-manage-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background:none;border:1.5px solid #667eea;border-radius:1rem;color:#667eea;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s;align-self:flex-start}.pin-modal__sub-manage-btn:hover:not(:disabled){background:#667eea;color:#fff}.pin-modal__sub-manage-btn:disabled{opacity:.6;cursor:not-allowed}.pin-modal__sub-upgrade-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:1rem;color:#fff;font-size:.875rem;font-weight:800;cursor:pointer;transition:opacity .2s,transform .15s;align-self:flex-start}.pin-modal__sub-upgrade-btn:hover{opacity:.88;transform:translateY(-1px)}.pin-modal__error{font-size:.8rem;color:#ef4444}@keyframes pin-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes pin-modal-in{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pin-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}.auth{min-height:100dvh;display:flex;flex-direction:column;background:#f8f7ff;animation:auth-fade-in .3s ease both}.auth__header{background:linear-gradient(135deg,#667eea,#764ba2);justify-content:space-between;padding:max(1.5rem,env(safe-area-inset-top)) 1.5rem 1.5rem}.auth__back-btn,.auth__header{display:flex;align-items:center;color:#fff}.auth__back-btn{justify-content:center;width:48px;height:48px;border-radius:9999px;background:hsla(0,0%,100%,.15);cursor:pointer;transition:background .15s ease}.auth__back-btn:hover{background:hsla(0,0%,100%,.25)}.auth__back-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.auth__title{font-size:1.375rem;font-weight:800;color:#fff;letter-spacing:-.3px}.auth__header-spacer{width:48px}.auth__body{display:flex;flex-direction:column;gap:1rem;padding:2rem 1.5rem;max-width:480px;width:100%;margin:0 auto}.auth__tabs{display:grid;grid-template-columns:1fr 1fr;background:#e5e7eb;border-radius:1rem;padding:4px;gap:4px}.auth__tab{padding:.5rem 1rem;border-radius:calc(1rem - 4px);font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;color:#6b7280;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;min-height:40px}.auth__tab--active{background:#fff;color:#1a1a2e;box-shadow:0 2px 8px rgba(0,0,0,.08)}.auth__tab:focus-visible{outline:3px solid #667eea;outline-offset:3px}.auth__desc{font-weight:600;color:#6b7280;line-height:1.5}.auth__desc,.auth__notice{font-size:.875rem;text-align:center}.auth__notice{padding:.5rem 1rem;border-radius:.5rem;font-weight:700}.auth__notice--success{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.2)}.auth__form{gap:1rem}.auth__field,.auth__form{display:flex;flex-direction:column}.auth__field{gap:.25rem}.auth__label{font-size:.875rem;font-weight:700;color:#1a1a2e;padding-left:2px}.auth__input-wrap{position:relative;display:flex;align-items:center}.auth__input-icon{position:absolute;left:1rem;color:#6b7280;pointer-events:none;flex-shrink:0}.auth__input{width:100%;min-height:48px;padding:.5rem 1rem .5rem calc(1rem + 16px + .5rem);border:2px solid #e5e7eb;border-radius:1rem;background:#fff;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;font-weight:600;color:#1a1a2e;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth__input::placeholder{color:#9ca3af;font-weight:400}.auth__input:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.15)}.auth__input--password{padding-right:calc(1rem + 16px + .5rem)}.auth__toggle-password{position:absolute;right:1rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6b7280;cursor:pointer;transition:color .15s ease}.auth__toggle-password:hover{color:#1a1a2e}.auth__toggle-password:focus-visible{outline:3px solid #667eea;outline-offset:3px}.auth__forgot{display:flex;justify-content:flex-end}.auth__forgot-btn{font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;color:#667eea;cursor:pointer;transition:opacity .15s ease}.auth__forgot-btn:hover{opacity:.75}.auth__forgot-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.auth__forgot-reset{display:flex;flex-direction:column;gap:.25rem;width:100%}.auth__forgot-hint{font-size:.875rem;font-weight:600;color:#6b7280;line-height:1.4}.auth__forgot-send{align-self:flex-start;padding:.25rem 1rem;border-radius:1rem;background:rgba(102,126,234,.1);color:#667eea;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s ease;min-height:36px}.auth__forgot-send:hover{background:rgba(102,126,234,.2)}.auth__forgot-send:disabled{opacity:.5;cursor:not-allowed}.auth__forgot-send:focus-visible{outline:3px solid #667eea;outline-offset:3px}.auth__error{padding:.25rem 1rem;background:rgba(239,68,68,.08);color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:.5rem;font-size:.875rem;font-weight:700;line-height:1.4}.auth__submit-btn{width:100%;min-height:48px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:1rem;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s ease;margin-top:.25rem}.auth__submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth__submit-btn:not(:disabled):hover{opacity:.9}.auth__submit-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.auth__separator{position:relative;display:flex;align-items:center;color:#6b7280;font-size:.875rem;font-weight:700}.auth__separator:after,.auth__separator:before{content:"";flex:1 1;height:1px;background:#e5e7eb}.auth__separator span{padding:0 1rem;white-space:nowrap}.auth__google-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:48px;background:#fff;border:2px solid #e5e7eb;border-radius:1rem;font-family:var(--font-nunito),"Nunito",sans-serif;font-size:1rem;font-weight:700;color:#1a1a2e;cursor:pointer;transition:background .15s ease,border-color .15s ease}.auth__google-btn:hover{background:#f8f7ff;border-color:#667eea}.auth__google-btn:disabled{opacity:.5;cursor:not-allowed}.auth__google-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.auth__privacy{font-size:.75rem;font-weight:600;color:#9ca3af;text-align:center;line-height:1.5}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-callback{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;background:#f8f7ff}.auth-callback__spinner{width:48px;height:48px;border:4px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:auth-spin .7s linear infinite}.auth-callback__msg{font-size:1rem;font-weight:700;color:#6b7280}@keyframes auth-spin{to{transform:rotate(1turn)}}.stats{min-height:100dvh;display:flex;flex-direction:column;background:#f8f7ff}.stats__header{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:space-between;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem;gap:1rem}.stats__back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:#fff;border-radius:1rem;transition:background .15s ease}.stats__back-btn:hover{background:hsla(0,0%,100%,.15)}.stats__back-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.stats__title{display:flex;align-items:center;gap:.5rem;font-size:1.375rem;font-weight:800;color:#fff;text-align:center;flex:1 1;justify-content:center}.stats__header-spacer{width:40px;flex-shrink:0}.stats__body{gap:2rem;padding:2rem 1.5rem;max-width:600px;width:100%;margin:0 auto}.stats__body,.stats__empty{display:flex;flex-direction:column;flex:1 1}.stats__empty{align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.stats__empty-icon{font-size:3rem}.stats__empty-text{font-size:1.125rem;font-weight:700;color:#6b7280;max-width:280px}.stats__summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;animation:stats-fade-in .3s ease both}.stats__summary-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border-radius:1rem;padding:1rem .5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center}.stats__summary-card--highlight{background:linear-gradient(135deg,#667eea,#764ba2)}.stats__summary-card--highlight .stats__summary-label,.stats__summary-card--highlight .stats__summary-value{color:#fff}.stats__summary-value{font-size:1.375rem;font-weight:800;color:#667eea}.stats__summary-label{display:flex;align-items:center;gap:4px;font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.stats__section{display:flex;flex-direction:column;gap:1rem;background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);animation:stats-fade-in .3s ease both}.stats__section-title{font-size:1rem;font-weight:800;color:#1a1a2e;text-transform:uppercase;letter-spacing:.06em}.stats__chart-wrap{width:100%}.stats__cat-list{gap:1rem}.stats__cat-item,.stats__cat-list{display:flex;flex-direction:column}.stats__cat-item{gap:.25rem}.stats__cat-header{display:flex;align-items:center;gap:.5rem}.stats__cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stats__cat-name{font-size:1rem;font-weight:700;color:#1a1a2e;flex:1 1;min-width:0}.stats__cat-meta{font-size:.875rem;font-weight:600;color:#6b7280;white-space:nowrap}.stats__cat-bar-track{width:100%;height:10px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.stats__cat-bar-fill{height:100%;border-radius:9999px;transition:width .6s cubic-bezier(.4,0,.2,1)}.stats__goals-list{display:flex;flex-direction:column;gap:1rem}.stats__goals-item{display:flex;flex-direction:column;gap:.25rem}.stats__goals-header{display:flex;align-items:center;gap:.5rem}.stats__goals-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stats__goals-name{font-size:1rem;font-weight:700;color:#1a1a2e;flex:1 1}.stats__goals-status{font-size:.875rem;font-weight:600;color:#6b7280;white-space:nowrap}.stats__goals-status--met{color:#4caf50;font-weight:800}.stats__goals-track{position:relative;width:100%;height:10px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.stats__goals-fill{height:100%;border-radius:9999px;background:#ff9800;transition:width .6s cubic-bezier(.4,0,.2,1)}.stats__goals-fill--met{background:#4caf50}.stats__goals-target-line{position:absolute;top:0;bottom:0;width:2px;background:rgba(0,0,0,.3);transform:translateX(-50%);pointer-events:none}.stats__goals-meta{display:flex;justify-content:space-between;font-size:.7rem;font-weight:600;color:#6b7280}.stats__diff-wrap{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.stats__diff-legend{display:flex;flex-direction:column;gap:.5rem;flex:1 1;min-width:120px}.stats__diff-legend-item{display:flex;align-items:center;gap:.5rem}.stats__diff-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.stats__diff-label{font-size:1rem;font-weight:700;color:#1a1a2e;flex:1 1}.stats__diff-count{font-size:1rem;font-weight:800;color:#667eea}.stats__cta-back{width:100%;min-height:64px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.375rem;font-weight:800;border-radius:9999px;box-shadow:0 4px 16px rgba(0,0,0,.12);margin-top:auto;transition:transform .15s ease,box-shadow .15s ease}.stats__cta-back:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.16)}.stats__cta-back:focus-visible{outline:3px solid #667eea;outline-offset:3px}@keyframes stats-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1024px){.stats__body{display:grid;grid-template-columns:1fr 1fr;max-width:900px;gap:1.5rem;padding:2rem;align-items:start}.stats__summary{grid-column:1/-1}.stats__cta-back{grid-column:1/-1;max-width:400px;margin:0 auto;width:100%}.stats__empty{grid-column:1/-1}}.challenges{min-height:100dvh;display:flex;flex-direction:column;background:#f8f7ff}.challenges__header{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;gap:.5rem;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem;color:#fff}.challenges__title{font-size:1.375rem;font-weight:800;color:#fff}.challenges__locked{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;gap:1.5rem;padding:3rem 2rem;text-align:center}.challenges__lock-icon{color:#6b7280;opacity:.5}.challenges__locked-title{font-size:1.375rem;font-weight:800;color:#1a1a2e}.challenges__locked-desc{font-size:1rem;color:#6b7280;max-width:300px;line-height:1.5}.challenges__locked-cta{background:linear-gradient(135deg,#667eea,#764ba2)}.challenges__locked-cta:focus-visible{outline:3px solid #667eea;outline-offset:3px}.challenges__locked-cta{color:#fff;font-size:1rem;font-weight:700;padding:1rem 2rem;border-radius:9999px;min-height:48px;transition:opacity .15s ease}.challenges__locked-cta:hover{opacity:.9}.challenges__tabs{display:flex;border-bottom:2px solid rgba(0,0,0,.08);background:#fff}.challenges__tab{flex:1 1;padding:1rem;font-size:1rem;font-weight:600;color:#6b7280;border-bottom:3px solid rgba(0,0,0,0);margin-bottom:-2px;transition:color .15s ease,border-color .15s ease;min-height:48px}.challenges__tab:focus-visible{outline:3px solid #667eea;outline-offset:3px}.challenges__tab--active{color:#667eea;border-bottom-color:#667eea}.challenges__panel{display:flex;flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;flex:1 1}.challenges__panel-title{font-size:1.125rem;font-weight:800;color:#1a1a2e}.challenges__empty,.challenges__loading{color:#6b7280;font-size:1rem;text-align:center;padding:3rem 0}.challenges__join-form{display:flex;flex-direction:column;gap:1rem;max-width:360px}.challenges__join-label{font-size:1rem;font-weight:700;color:#1a1a2e}.challenges__join-input{font-size:1.75rem;font-weight:800;letter-spacing:.25em;text-align:center;text-transform:uppercase;padding:1rem;border:2px solid rgba(0,0,0,.15);border-radius:1rem;background:#fff;color:#1a1a2e;transition:border-color .15s ease}.challenges__join-input:focus-visible{outline:3px solid #667eea;outline-offset:3px}.challenges__join-input:focus{border-color:#667eea}.challenges__join-input--error{border-color:#ef4444}.challenges__join-error{font-size:.875rem;color:#ef4444;font-weight:600}.challenges__join-cta{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.challenges__join-cta:focus-visible{outline:3px solid #667eea;outline-offset:3px}.challenges__join-cta{color:#fff;font-size:1.125rem;font-weight:700;padding:1rem 2rem;border-radius:9999px;min-height:64px;transition:opacity .15s ease}.challenges__join-cta:hover:not(:disabled){opacity:.9}.challenges__join-cta:disabled{opacity:.5;cursor:not-allowed}.challenges__preview{display:flex;flex-direction:column;gap:1.5rem;background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 4px 16px rgba(0,0,0,.12);max-width:400px}.challenges__preview-title{font-size:1.125rem;font-weight:800;color:#667eea;text-align:center}.challenges__preview-challenger{display:flex;align-items:center;gap:1rem}.challenges__preview-avatar{width:64px;height:64px;border-radius:9999px;border:3px solid #667eea;flex-shrink:0}.challenges__preview-from{font-size:1.125rem;font-weight:800;color:#1a1a2e}.challenges__preview-meta{font-size:.875rem;color:#6b7280;margin-top:.25rem}.challenges__preview-score{font-size:1rem;font-weight:700;color:#667eea;margin-top:.25rem}.challenges__preview-actions{display:flex;flex-direction:column;gap:.5rem}.challenges__preview-cta{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.challenges__preview-cta:focus-visible{outline:3px solid #667eea;outline-offset:3px}.challenges__preview-cta{color:#fff;font-size:1.125rem;font-weight:700;padding:1rem 2rem;border-radius:9999px;min-height:64px;transition:opacity .15s ease}.challenges__preview-cta:hover{opacity:.9}.challenges__preview-cancel{display:flex;align-items:center;justify-content:center}.challenges__preview-cancel:focus-visible{outline:3px solid #667eea;outline-offset:3px}.challenges__preview-cancel{color:#6b7280;font-size:1rem;font-weight:600;padding:.5rem;border-radius:1rem;transition:color .15s ease}.challenges__preview-cancel:hover{color:#1a1a2e}.challenges__my-header{display:flex;align-items:center;justify-content:space-between}.challenges__refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:1rem;color:#6b7280;transition:color .15s ease,background .15s ease}.challenges__refresh-btn:focus-visible{outline:3px solid #667eea;outline-offset:3px}.challenges__refresh-btn:hover:not(:disabled){color:#667eea;background:rgba(102,126,234,.08)}.challenges__refresh-btn:disabled{opacity:.5}.challenges__refresh-icon--spinning{animation:spin .8s linear infinite}.challenges__list{display:flex;flex-direction:column;gap:.5rem;list-style:none}.challenges__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-radius:1rem;padding:1rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.challenges__item--expired{opacity:.6}.challenges__item-left{display:flex;align-items:center;gap:.5rem;min-width:0}.challenges__item-avatar{width:40px;height:40px;border-radius:9999px;flex-shrink:0;border:2px solid rgba(0,0,0,.08)}.challenges__item-avatar-placeholder{width:40px;height:40px;border-radius:9999px;flex-shrink:0;background:rgba(102,126,234,.1);display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:800;color:#667eea}.challenges__item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.challenges__item-vs{font-size:1rem;font-weight:700;color:#1a1a2e;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.challenges__item-meta{font-size:.875rem;color:#6b7280}.challenges__item-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.challenges__item-scores{font-size:1.125rem;font-weight:800;color:#1a1a2e}.challenges__item-result{font-size:.875rem;font-weight:700;padding:2px .5rem;border-radius:9999px}.challenges__item-result--win{background:rgba(76,175,80,.15);color:rgb(60.5577689243,139.4422310757,63.7450199203)}.challenges__item-result--loss{background:rgba(244,67,54,.12);color:#f44336}.challenges__item-result--draw{background:rgba(255,215,0,.2);color:#998100}.challenges__item-result--pending{background:rgba(102,126,234,.1);color:#667eea}.challenges__item-result--expired{background:rgba(0,0,0,.06);color:#6b7280}.challenges__status-icon--completed{color:#4caf50}.challenges__status-icon--pending{color:#667eea}.challenges__status-icon--expired{color:#6b7280}@keyframes spin{to{transform:rotate(1turn)}}.daily{min-height:100dvh;background:#f8f7ff}.daily,.daily__header{display:flex;flex-direction:column}.daily__header{background:linear-gradient(135deg,#667eea,#764ba2);align-items:center;gap:.5rem;padding:calc(2rem + env(safe-area-inset-top, 0px)) 1.5rem 2rem;text-align:center}.daily__sun-icon{color:gold;animation:daily-sun-spin 20s linear infinite}.daily__title{font-size:1.75rem;font-weight:800;color:#fff}.daily__date{font-size:.875rem;font-weight:600;color:hsla(0,0%,100%,.75);text-transform:capitalize}.daily__body{display:flex;flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;max-width:480px;width:100%;margin:0 auto;flex:1 1}.daily__streak-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:1.5rem;padding:1rem 1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.daily__streak{display:flex;align-items:center;gap:.5rem}.daily__flame{color:#ff6b35}.daily__streak-count{font-size:1.75rem;font-weight:800;color:#1a1a2e;line-height:1}.daily__streak-label{font-size:.875rem;font-weight:600;color:#6b7280}.daily__shields{display:flex;gap:.25rem}.daily__shield-icon{color:rgba(0,0,0,.15);transition:color .15s ease}.daily__shield-icon--active{color:#667eea;filter:drop-shadow(0 0 4px rgba(102,126,234,.4))}.daily__xp-card{background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:1rem}.daily__title-emoji{font-size:2.5rem;line-height:1;text-align:center}.daily__xp-info{display:flex;align-items:center;justify-content:space-between}.daily__player-title{font-size:1.125rem;font-weight:800;color:#1a1a2e}.daily__xp-total{font-size:1rem;font-weight:700;color:#667eea}.daily__xp-progress-wrap{display:flex;flex-direction:column;gap:.25rem}.daily__xp-progress{height:8px;background:rgba(0,0,0,.08);border-radius:9999px;overflow:hidden}.daily__xp-bar{height:100%;width:var(--bar-pct,0);background:linear-gradient(90deg,#667eea,#764ba2);border-radius:9999px;transition:width .6s ease}.daily__xp-next{font-size:.875rem;color:#6b7280;font-weight:600;text-align:right}.daily__quiz-card{display:flex;flex-direction:column;gap:1rem;background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);border-left:4px solid #667eea}.daily__quiz-title{font-size:1rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.daily__quiz-meta{display:flex;align-items:center;gap:1rem}.daily__quiz-category{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:800;color:#1a1a2e}.daily__quiz-diff{font-size:.875rem;font-weight:700;padding:3px 1rem;border-radius:9999px;border:1px solid rgba(0,0,0,0)}.daily__quiz-diff--easy{background:rgba(76,175,80,.15);color:rgb(60.5577689243,139.4422310757,63.7450199203);border-color:rgba(76,175,80,.3)}.daily__quiz-diff--medium{background:rgba(255,152,0,.15);color:rgb(178.5,106.4,0);border-color:rgba(255,152,0,.3)}.daily__quiz-desc{font-size:.875rem;color:#6b7280;line-height:1.5}.daily__done-card{display:flex;align-items:center;gap:1rem;background:rgba(76,175,80,.08);border:2px solid rgba(76,175,80,.25);border-radius:1.5rem;padding:1rem 1.5rem}.daily__done-icon{font-size:2rem;line-height:1;flex-shrink:0}.daily__done-info{display:flex;flex-direction:column;gap:2px}.daily__done-label{font-size:.875rem;font-weight:600;color:rgb(60.5577689243,139.4422310757,63.7450199203)}.daily__done-score{font-size:1.375rem;font-weight:800;color:#1a1a2e}.daily__actions{display:flex;flex-direction:column;gap:1rem;margin-top:auto}.daily__cta{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.daily__cta:focus-visible{outline:3px solid #667eea;outline-offset:3px}.daily__cta{gap:.5rem;color:#fff;font-size:1.375rem;font-weight:800;padding:1rem 2rem;border-radius:9999px;min-height:64px;box-shadow:0 4px 16px rgba(0,0,0,.12);transition:opacity .15s ease,transform .15s ease}.daily__cta:hover:not(:disabled){opacity:.92;transform:translateY(-2px)}.daily__cta:disabled{background:linear-gradient(135deg,rgba(102,126,234,.5),rgba(118,75,162,.5));cursor:default;box-shadow:none}.daily__error{font-size:.875rem;color:#ef4444;text-align:center;font-weight:600}.daily__back{display:flex;align-items:center;justify-content:center}.daily__back:focus-visible{outline:3px solid #667eea;outline-offset:3px}.daily__back{color:#6b7280;font-size:1rem;font-weight:600;padding:.5rem;border-radius:1rem;transition:color .15s ease;min-height:48px}.daily__back:hover{color:#1a1a2e}@keyframes daily-sun-spin{to{transform:rotate(1turn)}}.profiles{min-height:100dvh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;padding:2rem 1rem}.profiles__header{text-align:center;margin-bottom:2rem;color:#fff}.profiles__title{font-size:1.75rem;font-weight:800;margin-bottom:.25rem}.profiles__subtitle{font-size:1rem;opacity:.85}.profiles__body{flex:1 1;position:relative}.profiles__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;max-width:600px;margin:0 auto}@media(min-width:768px){.profiles__grid{grid-template-columns:repeat(3,1fr)}}.profiles__item{position:relative}.profiles__card{width:100%;background:hsla(0,0%,100%,.15);border:2px solid hsla(0,0%,100%,.3);border-radius:1.5rem;padding:1rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease;color:#fff;font-family:var(--font-nunito),"Nunito",sans-serif;min-height:128px}.profiles__card:hover{background:hsla(0,0%,100%,.25);transform:translateY(-3px)}.profiles__card--active{border-color:gold;background:hsla(0,0%,100%,.25)}.profiles__avatar{width:80px;height:80px;border-radius:50%;background:hsla(0,0%,100%,.2)}.profiles__pseudo{font-size:1rem;font-weight:700;text-align:center;word-break:break-word}.profiles__active-badge{display:flex;align-items:center;gap:4px;font-size:.7rem;font-weight:700;background:gold;color:#1a1a2e;padding:2px 8px;border-radius:9999px}.profiles__delete-btn{position:absolute;top:6px;right:6px;width:28px;height:28px;background:rgba(244,67,54,.85);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.profiles__delete-btn:hover{background:#f44336}.profiles__add-card{width:100%;min-height:128px;background:hsla(0,0%,100%,.1);border:2px dashed hsla(0,0%,100%,.5);border-radius:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:hsla(0,0%,100%,.85);font-size:1rem;font-weight:700;font-family:var(--font-nunito),"Nunito",sans-serif;cursor:pointer;transition:background .25s ease,border-color .25s ease}.profiles__add-card:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.8)}.profiles__add-form{position:fixed;inset:0;background:rgba(26,26,46,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.profiles__add-form-inner{background:#fff;border-radius:1.5rem;padding:2rem;width:100%;max-width:480px;max-height:90dvh;overflow-y:auto}.profiles__add-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.profiles__add-form-title{font-size:1.375rem;font-weight:800;color:#1a1a2e}.profiles__add-form-close{width:36px;height:36px;background:#f8f7ff;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center}.profiles__add-form-close:hover{background:rgb(225.6875,221.5,255)}.profiles__add-label{display:block;font-size:.875rem;font-weight:700;color:#1a1a2e;margin-bottom:.5rem;margin-top:1rem}.profiles__add-label:first-of-type{margin-top:0}.profiles__add-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:1rem;font-size:1.125rem;font-family:var(--font-nunito),"Nunito",sans-serif;color:#1a1a2e;outline:none;transition:border-color .15s ease}.profiles__add-input:focus{border-color:#667eea}.profiles__add-avatars{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.5rem}.profiles__add-avatar{aspect-ratio:1;background:#f8f7ff;border:2px solid rgba(0,0,0,0);border-radius:1rem;padding:4px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.profiles__add-avatar img{width:100%;height:auto;display:block}.profiles__add-avatar--active{border-color:#667eea;background:rgba(102,126,234,.08)}.profiles__add-avatar:hover:not(.profiles__add-avatar--active){border-color:rgba(102,126,234,.4)}.profiles__add-actions{display:flex;gap:.5rem;margin-top:2rem}.profiles__add-cancel{flex:1 1;padding:.75rem;background:#f8f7ff;border:none;border-radius:1rem;font-size:1rem;font-weight:700;font-family:var(--font-nunito),"Nunito",sans-serif;color:#6b7280;cursor:pointer}.profiles__add-cancel:hover{background:rgb(230.15,226.6,255)}.profiles__add-confirm{flex:2 1;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:1rem;font-size:1rem;font-weight:800;font-family:var(--font-nunito),"Nunito",sans-serif;color:#fff;cursor:pointer;transition:opacity .15s ease}.profiles__add-confirm:disabled{opacity:.45;cursor:not-allowed}.profiles__confirm-overlay{position:fixed;inset:0;background:rgba(26,26,46,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:110;padding:1rem}.profiles__confirm{background:#fff;border-radius:1.5rem;padding:2rem;width:100%;max-width:360px;text-align:center}.profiles__confirm-msg{font-size:1rem;font-weight:600;color:#1a1a2e;margin-bottom:1.5rem;line-height:1.5}.profiles__confirm-actions{display:flex;gap:.5rem}.profiles__confirm-cancel{background:#f8f7ff;font-weight:700;color:#6b7280}.profiles__confirm-cancel,.profiles__confirm-delete{flex:1 1;padding:.75rem;border:none;border-radius:1rem;font-size:1rem;font-family:var(--font-nunito),"Nunito",sans-serif;cursor:pointer}.profiles__confirm-delete{background:#f44336;font-weight:800;color:#fff}.dashboard{min-height:100dvh;display:flex;flex-direction:column;background:#f8f7ff}.dashboard__header{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:space-between;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem;gap:1rem}.dashboard__back-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.2);border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;transition:background .15s ease}.dashboard__back-btn:hover{background:hsla(0,0%,100%,.3)}.dashboard__header-info{flex:1 1;text-align:center;color:#fff}.dashboard__title{font-size:1.375rem;font-weight:800;margin:0}.dashboard__subtitle{font-size:.875rem;opacity:.8;margin:2px 0 0}.dashboard__header-spacer{width:40px;flex-shrink:0}.dashboard__body{flex:1 1;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem;max-width:720px;margin:0 auto;width:100%}.dashboard__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;text-align:center;flex:1 1}.dashboard__empty-icon{font-size:3rem}.dashboard__empty-text{color:#6b7280;font-size:1.125rem;font-weight:600}.dashboard__kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media(min-width:480px){.dashboard__kpis{grid-template-columns:repeat(4,1fr)}}.dashboard__kpi{background:#fff;border-radius:1rem;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center}.dashboard__kpi--highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dashboard__kpi--highlight .dashboard__kpi-icon,.dashboard__kpi--highlight .dashboard__kpi-label,.dashboard__kpi--highlight .dashboard__kpi-value{color:#fff}.dashboard__kpi-icon{color:#667eea}.dashboard__kpi-value{font-size:1.75rem;font-weight:800;color:#1a1a2e;line-height:1}.dashboard__kpi-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.dashboard__period-filter{display:flex;gap:.25rem;background:#fff;border-radius:9999px;padding:4px;box-shadow:0 2px 8px rgba(0,0,0,.08);width:fit-content}.dashboard__period-btn{padding:6px 16px;border:none;border-radius:9999px;font-size:.875rem;font-weight:700;font-family:var(--font-nunito),"Nunito",sans-serif;color:#6b7280;background:rgba(0,0,0,0);cursor:pointer;transition:background .15s ease,color .15s ease}.dashboard__period-btn--active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dashboard__section{background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.dashboard__section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:800;color:#1a1a2e;margin-bottom:1rem}.dashboard__section-desc{font-size:.875rem;color:#6b7280;margin-bottom:1rem;margin-top:-.5rem}.dashboard__section-empty{font-size:.875rem;color:#6b7280;font-style:italic;text-align:center;padding:1rem 0}.dashboard__chart-wrap{width:100%;overflow:hidden}.dashboard__cat-evol-list{display:flex;flex-direction:column;gap:1rem}.dashboard__cat-evol-item{background:#f8f7ff;border-radius:1rem;padding:1rem}.dashboard__cat-evol-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.dashboard__cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dashboard__cat-name{font-weight:700;font-size:1rem;color:#1a1a2e;flex:1 1;text-transform:capitalize}.dashboard__cat-delta,.dashboard__cat-games{font-size:.875rem;color:#6b7280}.dashboard__cat-delta{font-weight:800}.dashboard__cat-delta--up{color:#4caf50}.dashboard__cat-delta--down{color:#f44336}.dashboard__cat-evol-bars{display:flex;flex-direction:column;gap:6px}.dashboard__cat-evol-bar-row{display:flex;align-items:center;gap:.5rem}.dashboard__cat-evol-bar-label{font-size:.7rem;font-weight:700;color:#6b7280;width:40px;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.dashboard__cat-evol-track{flex:1 1;height:10px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.dashboard__cat-evol-fill{height:100%;border-radius:9999px;background:#667eea;transition:width .6s ease}.dashboard__cat-evol-fill--before{background:#d1d5db}.dashboard__cat-evol-pct{font-size:.875rem;font-weight:700;color:#1a1a2e;width:36px;text-align:right;flex-shrink:0}.dashboard__goals-list{display:flex;flex-direction:column;gap:1rem}.dashboard__goals-card{background:#f8f7ff;border-radius:1rem;padding:1rem}.dashboard__goals-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.dashboard__goals-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dashboard__goals-name{font-weight:700;font-size:1rem;color:#1a1a2e;flex:1 1;text-transform:capitalize}.dashboard__goals-badge{font-size:.875rem;font-weight:700;color:#6b7280;background:#f3f4f6;padding:2px 10px;border-radius:9999px;white-space:nowrap}.dashboard__goals-badge--met{color:#4caf50;background:rgba(76,175,80,.12)}.dashboard__goals-kpis{display:flex;gap:1.5rem;margin-bottom:.5rem}.dashboard__goals-kpi{display:flex;flex-direction:column;gap:2px}.dashboard__goals-kpi-label{font-size:.7rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.dashboard__goals-kpi-value{font-size:1rem;font-weight:800;color:#1a1a2e}.dashboard__goals-kpi-value--met{color:#4caf50}.dashboard__cta-back{padding:.875rem 2rem;background:rgba(0,0,0,0);border:2px solid #e5e7eb;border-radius:9999px;font-size:1rem;font-weight:700;font-family:var(--font-nunito),"Nunito",sans-serif;color:#6b7280;cursor:pointer;align-self:center;transition:border-color .15s ease,color .15s ease}.dashboard__cta-back:hover{border-color:#667eea;color:#667eea}.subscribe{min-height:100dvh;padding:1.5rem 1rem 3rem;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.subscribe,.subscribe__back{display:flex;align-items:center}.subscribe__back{align-self:flex-start;gap:.4rem;background:none;border:none;color:hsla(0,0%,100%,.85);font-size:.95rem;cursor:pointer;padding:.25rem 0;margin-bottom:1.5rem;transition:color .2s}.subscribe__back:hover{color:#fff}.subscribe__header{text-align:center;margin-bottom:2rem}.subscribe__badge{display:inline-flex;align-items:center;gap:.35rem;background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.35);border-radius:999px;padding:.3rem .85rem;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem}.subscribe__title{font-size:2rem;font-weight:900;line-height:1.15;margin-bottom:.5rem}.subscribe__subtitle{font-size:1rem;opacity:.85;max-width:320px;margin:0 auto;line-height:1.5}.subscribe__toggle{display:flex;background:hsla(0,0%,100%,.15);border-radius:999px;padding:.25rem;margin-bottom:1.75rem;gap:.25rem}.subscribe__toggle-btn{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:hsla(0,0%,100%,.7);font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}.subscribe__toggle-btn--active{background:#fff;color:#667eea}.subscribe__toggle-savings{background:gold;color:#333;font-size:.7rem;font-weight:800;border-radius:999px;padding:.1rem .5rem}.subscribe__card{background:#fff;border-radius:1.5rem;padding:2rem 1.75rem;width:100%;max-width:420px;color:#1a1a2e;box-shadow:0 20px 60px rgba(0,0,0,.25)}.subscribe__price{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.25rem}.subscribe__price-amount{font-size:2.5rem;font-weight:900;color:#667eea}.subscribe__price-period{font-size:.95rem;color:#888;font-weight:500}.subscribe__price-equiv{font-size:.85rem;color:#888;margin-bottom:1.5rem}.subscribe__features{list-style:none;padding:0;margin:0 0 1.75rem;display:flex;flex-direction:column;gap:.75rem}.subscribe__feature{display:flex;align-items:center;gap:.65rem;font-size:.95rem;font-weight:500}.subscribe__feature-icon{flex-shrink:0;color:#4caf50}.subscribe__cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:1rem;font-size:1.05rem;font-weight:800;cursor:pointer;transition:opacity .2s,transform .15s;margin-bottom:.75rem}.subscribe__cta:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.subscribe__cta:disabled{opacity:.6;cursor:not-allowed}.subscribe__error{color:#ef4444;font-size:.875rem;text-align:center;margin-bottom:.5rem}.subscribe__legal{font-size:.78rem;color:#aaa;text-align:center;line-height:1.5}.subscribe-result{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.subscribe-result__icon{margin-bottom:1.5rem;opacity:.95}.subscribe-result--success .subscribe-result__icon{color:#4caf50}.subscribe-result--cancel .subscribe-result__icon{color:hsla(0,0%,100%,.6)}.subscribe-result__title{font-size:1.75rem;font-weight:900;margin-bottom:.75rem}.subscribe-result__message{font-size:1rem;opacity:.85;max-width:320px;line-height:1.6;margin-bottom:2rem}.subscribe-result__actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:300px}.subscribe-result__cta{display:flex;align-items:center;justify-content:center;padding:.9rem 1.5rem;background:#fff;color:#667eea;border:none;border-radius:1rem;font-size:1rem;font-weight:800;cursor:pointer;transition:opacity .2s,transform .15s}.subscribe-result__cta:hover{opacity:.92;transform:translateY(-1px)}.subscribe-result__cta--ghost{background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.35)}