@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap";:root{--md-sys-color-primary:#6750a4;--md-sys-color-on-primary:#fff;--md-sys-color-background:#fffbfe;--md-sys-color-surface:#fff;--md-sys-color-surface-container:#f3edf7;--md-sys-color-secondary-container:#e8def8;--md-sys-color-on-secondary-container:#1d192b;--md-sys-color-outline:#79747e;--md-sys-color-error:#b3261e;--md-sys-color-text:#1c1b1f;--md-sys-color-text-variant:#49454f;--radius-pill:9999px;--radius-card:32px;--radius-container:48px;--sans:"Outfit", system-ui, -apple-system, sans-serif;--heading:"Outfit", system-ui, -apple-system, sans-serif;--mono:ui-monospace, Consolas, monospace;--font-light:300;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-black:800;font:16px/1.5 var(--sans);color:var(--md-sys-color-text);background:var(--md-sys-color-background)}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;transition:background-color .3s}#root{width:100%;min-height:100vh;margin:0 auto}h1,h2,h3,h4{font-family:var(--heading);color:var(--md-sys-color-text);letter-spacing:-.02em;margin:0}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:transform .1s,background-color .2s}button:active,a:active,.interactive-card:active{transform:scale(.97)}a{color:inherit;text-decoration:none}@media (width<=1023px){#root{padding-bottom:72px;padding-left:0}}.surface-container{background-color:var(--md-sys-color-surface-container,var(--surface-container,#f3edf7));color:var(--md-sys-color-text,var(--text-primary,#1c1b1f));box-sizing:border-box;border:1px solid #79747e1f;padding:24px}.rounded-large{border-radius:var(--radius-container,var(--radius-card,28px))}.fm-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#140e1ea6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fm-card{background:var(--surface,#fff);border:1px solid #0000000f;border-radius:28px;width:min(94vw,380px);max-height:85vh;padding:32px 28px 28px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #00000059}@media (width<=480px){.fm-overlay{align-items:flex-end;padding:0}.fm-card{width:100%;max-width:100%;max-height:88vh;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0}}.fm-close{background:var(--surface-container,#f3edf7);width:32px;height:32px;color:var(--text-secondary,#49454f);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex;position:absolute;top:16px;right:16px}.fm-close:hover{color:#7c3aed;background:#7c3aed1f}.fm-loading{text-align:center;color:var(--text-tertiary,#79747e);padding:40px 0;font-size:13px}.fm-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:#7c3aed;margin-bottom:6px;font-size:11px;font-weight:800}.fm-title{color:var(--text-primary,#1c1b1f);margin-bottom:20px;font-size:20px;font-weight:800}.fm-code-block{background:var(--surface-container,#f3edf7);border-radius:18px;margin-bottom:20px;padding:16px 18px}.fm-code-label{color:var(--text-tertiary,#79747e);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.fm-code-row{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.fm-code{letter-spacing:.12em;color:var(--text-primary,#1c1b1f);font-family:SFMono-Regular,Consolas,monospace;font-size:22px;font-weight:800}.fm-copy-btn{color:#7c3aed;cursor:pointer;white-space:nowrap;background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;transition:background .15s}.fm-copy-btn:hover{background:#7c3aed2e}.fm-code-hint{color:var(--text-tertiary,#79747e);margin-top:8px;font-size:11px}.fm-link-row{border-top:1px dashed #7c3aed2e;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.fm-link-text{min-width:0;color:var(--text-secondary,#49454f);text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;unicode-bidi:plaintext;flex:1;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;overflow:hidden}.fm-form{flex-direction:column;gap:8px;display:flex}.fm-form label{color:var(--text-secondary,#49454f);font-size:12px;font-weight:600}.fm-form input{border:1.5px solid var(--surface-container,#f3edf7);background:var(--surface-container,#f3edf7);min-height:46px;color:var(--text-primary,#1c1b1f);border-radius:14px;outline:none;padding:10px 16px;font-size:16px}.fm-form input:focus{background:var(--surface,#fff);border-color:#7c3aed;box-shadow:0 0 0 4px #7c3aed1a}.fm-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#cb6ce6,#7c3aed);border:none;border-radius:999px;min-height:46px;margin-top:8px;font-size:14px;font-weight:700;transition:transform .15s;box-shadow:0 8px 20px #7c3aed47}.fm-btn-primary:hover{transform:translateY(-1px)}.fm-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.fm-error{color:#b3261e;background:#fce8e6;border-radius:12px;margin-bottom:12px;padding:8px 12px;font-size:12px}.fm-friend-list{border-top:1px solid var(--surface-container,#f3edf7);margin-top:24px;padding-top:16px}.fm-friend-list-label{color:var(--text-tertiary,#79747e);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.fm-friend-list ul{flex-direction:column;gap:4px;margin-top:10px;list-style:none;display:flex}.fm-friend-row{border-radius:12px;align-items:center;gap:10px;padding:8px 4px;transition:background .15s;display:flex}.fm-friend-row:hover{background:var(--surface-container,#f3edf7)}.fm-friend-avatar{background:var(--surface-container,#f3edf7);width:34px;height:34px;color:var(--text-secondary,#49454f);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.fm-friend-info{flex-direction:column;flex:1;min-width:0;display:flex}.fm-friend-name{color:var(--text-primary,#1c1b1f);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.fm-friend-level{color:var(--text-tertiary,#79747e);font-size:11px}.fm-remove-trigger{width:26px;height:26px;color:var(--text-tertiary,#79747e);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background .15s,color .15s;display:flex}.fm-remove-trigger:hover{color:#b3261e;background:#fce8e6}.fm-confirm-row{flex-shrink:0;align-items:center;gap:6px;display:flex}.fm-btn-danger{color:#ef4444;cursor:pointer;white-space:nowrap;background:#fee2e2;border:none;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.fm-btn-ghost{color:var(--text-tertiary,#79747e);border:1px solid var(--surface-container,#f3edf7);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:600}.hero-root{flex-direction:column;display:flex}@media (width>=1024px){.hero-root{display:none}}.hero-gradient{background-color:#0000;background-image:radial-gradient(80% 60% at 15% 0,#ffffff14 0%,#0000 70%),linear-gradient(160deg,#3b0d8a 0%,#6c35de 48%,#9333ea 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;padding:24px 24px 70px;position:relative;overflow:hidden}.hero-content{max-width:420px}.hero-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#fff9;margin-bottom:10px;font-size:12px;font-weight:600}.hero-greeting{color:#fff;letter-spacing:-.035em;margin-bottom:6px;font-size:28px;font-weight:800;line-height:1.15}.hero-sub{color:#fff9;margin-bottom:20px;font-size:13px}.hero-pills{flex-wrap:wrap;gap:8px;display:flex}.hero-pill{-webkit-backdrop-filter:blur(16px);color:#fff;background:#ffffff21;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.hero-pill:active{transform:scale(.97)}.hero-pill strong{font-weight:800}.hero-pill-dim{opacity:.75;font-size:11px;font-weight:400}.hero-curve{width:100%;height:70px;line-height:0;position:absolute;bottom:-1px;left:0}.hero-curve svg{width:100%;height:100%;display:block}.due-card{background:linear-gradient(#fff 0%,#fcfbff 100%);border:1px solid #ede9fee6;border-radius:24px;padding:22px 20px;box-shadow:0 10px 30px #6c35de14,0 2px 8px #4f1db00d}.due-header{justify-content:space-between;align-items:flex-start;display:flex}.due-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-size:10px}.due-count-row{align-items:flex-end;gap:10px;display:flex}.due-num{color:var(--pri);font-size:60px;font-weight:800;line-height:1}.due-num-label{color:var(--text-secondary);font-size:14px;line-height:1.3}.due-start-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6c35de 0%,#8b5cf6 50%,#6c35de 100%);border:none;border-radius:999px;align-items:center;gap:6px;padding:12px 20px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden;transform:translateY(0)scale(1);box-shadow:0 10px 25px #6c35de59,0 2px 6px #6c35de33}.due-start-btn:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 14px 30px #6c35de73,0 4px 10px #6c35de40}.due-start-btn:active{transform:translateY(1px)scale(.98);box-shadow:0 6px 15px #6c35de40}.due-start-btn svg{fill:#fff;width:14px;height:14px}.due-subjects-desktop{flex-direction:column;gap:8px;margin-top:16px;display:none}.due-subject-card{background:var(--surface-container);border-radius:14px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.due-subject-left{align-items:center;gap:12px;display:flex}.due-subject-avatar{border-radius:6px;width:10px;height:36px}.due-subject-name{font-size:14px;font-weight:600}.due-subject-meta{color:var(--text-tertiary);font-size:11px}.due-subject-count{color:var(--pri);background:#fff;border-radius:999px;padding:6px 12px;font-size:16px;font-weight:800}.due-mobile-footer{flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px;display:flex}.due-mobile-dots{align-items:center;gap:6px;margin-top:10px;margin-bottom:14px;padding-left:2px;display:flex}.due-mobile-dot{border-radius:50%;width:8px;height:8px}.due-start-mobile{justify-content:center;width:100%;display:flex}.due-start-desktop{display:none}@media (width>=1024px){.due-subjects-desktop{display:flex}.due-mobile-footer{display:none}.due-start-desktop{display:flex}}@media (width<=1023px){.due-subjects-desktop{display:none}}.due-mobile-dots{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;margin-bottom:14px;padding-left:2px;display:flex}.due-mobile-subject-count{color:var(--text-secondary);font-size:12px;font-weight:600}.due-mobile-dot-row{align-items:center;gap:6px;display:flex}.due-mobile-dot{background:var(--pri);border-radius:50%;width:8px;height:8px}.due-more-decks{color:var(--text-secondary,#625b71);justify-content:center;font-size:12px;font-weight:600}.ch-card{background:linear-gradient(#fff 0%,#fbfaff 100%);border:1px solid #ede9fee6;border-radius:24px;padding:18px 16px;box-shadow:0 10px 30px #6c35de14,0 2px 8px #4f1db00d}.ch-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ch-eyebrow{color:var(--text-primary);font-size:14px;font-weight:800}.ch-reset{color:#6c35de;background:#6c35de14;border:1px solid #6c35de1f;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.ch-list{flex-direction:column;gap:12px;display:flex}.ch-row{background:#ffffffbf;border:1px solid #ede9fe99;border-radius:14px;flex-direction:column;gap:8px;padding:12px 10px;transition:all .2s;display:flex}.ch-row:hover{background:#fffffff2;transform:translate(2px)}.ch-row-top{justify-content:space-between;align-items:center;display:flex}.ch-row-title{color:var(--text-primary);font-size:13.5px;font-weight:650}.ch-row-xp{color:#6c35de;background:#6c35de1a;border:1px solid #6c35de1f;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;display:flex}.ch-bar-track{background:#0000000d;border-radius:999px;width:100%;height:10px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.ch-bar-fill{background:linear-gradient(90deg,#4f1db0,#6c35de,#9333ea);border-radius:999px;height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1)}.ch-row-meta{color:var(--text-tertiary);justify-content:space-between;font-size:11px;font-weight:500;display:flex}.ch-row.done .ch-bar-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.ch-list--desktop{display:flex}.ch-slider{display:none}@media (width<=1023px){.ch-card{padding:16px}.ch-list--desktop{display:none}.ch-slider{touch-action:pan-y;display:block;position:relative;overflow:hidden}.ch-slide-track{will-change:transform;transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex}.ch-slide{box-sizing:border-box;min-width:100%}.ch-dots{justify-content:center;align-items:center;gap:6px;margin-top:12px;display:flex}.ch-dot{cursor:pointer;background:#6c35de2e;border:none;border-radius:999px;width:6px;height:6px;padding:0;transition:width .2s,background .2s}.ch-dot.active{background:#6c35de;width:18px}}.cl-shell{background:linear-gradient(#fff 0%,#fcfbff 100%);border:1px solid #ede9fee6;border-radius:24px;padding:18px 16px;box-shadow:0 10px 30px #6c35de14,0 2px 8px #4f1db00d}.cl-header{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cl-title{color:var(--text-primary);font-size:14px;font-weight:800}.cl-view-all{color:var(--pri);background:0 0;border:none;font-size:12px;font-weight:600}.cl-caret{color:var(--text-tertiary);margin-left:8px;font-size:10px}.cl-content-wrap{transition:max-height .25s,opacity .2s;overflow:hidden}.cl-content-wrap.open{opacity:1;max-height:1000px}.cl-content-wrap.closed{opacity:0;max-height:0}.cl-feed{flex-direction:column;gap:12px;height:328px;display:flex;overflow:hidden}.cl-card{box-sizing:border-box;height:56px;box-shadow:none;cursor:pointer;text-align:left;background:#ffffffbf;border:1px solid #ede9fe99;border-radius:14px;flex-shrink:0;align-items:center;gap:12px;width:100%;padding:12px 10px;transition:all .2s;display:flex}.cl-card:hover{background:#fffffff2;transform:translate(2px)}.cl-icon-block{justify-content:center;align-items:center;width:42px;display:flex}.cl-card-icon{border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.cl-card-icon svg{fill:#fff;width:14px;height:14px}.cl-content{flex-direction:column;flex:1;gap:8px;display:flex}.cl-row-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.cl-card-name{color:var(--text-primary);font-size:13.5px;font-weight:650}.cl-bar-track{background:#0000000d;border-radius:999px;width:100%;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.cl-bar-fill{border-radius:999px;height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1)}.cl-pct{border:1px solid;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:11px;font-weight:700}.cl-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 12px;display:flex}.cl-empty-text{color:var(--text-secondary);max-width:260px;font-size:13px;line-height:1.4}.cl-empty-cta{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6c35de 0%,#8b5cf6 100%);border:none;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;transition:transform .15s}.cl-empty-cta:hover{transform:translateY(-1px)}@media (width<=1023px){.cl-shell{padding:16px}}@media (width>=1024px){.cl-content-wrap{opacity:1!important;max-height:none!important}.cl-caret{display:none!important}.cl-header{cursor:default!important}}.streak-card{background:linear-gradient(#fff 0%,#fcfbff 100%);border:1px solid #ffdcb4cc;border-radius:24px;flex-direction:column;gap:18px;padding:22px 20px;display:flex;box-shadow:inset 0 1px #ffffffe6,0 2px 8px #0000000a}.streak-header{justify-content:space-between;align-items:flex-start;display:flex}.streak-main{align-items:center;gap:14px;display:flex}.streak-flame{color:#f97316;background:linear-gradient(135deg,#fff5eb 0%,#ffe3cc 100%);border-radius:18px;justify-content:center;align-items:center;width:62px;height:62px;display:flex;box-shadow:inset 0 2px 6px #fffc,inset 0 -2px 8px #f9731614}.streak-flame svg{width:34px;height:34px}.streak-info{flex-direction:column;display:flex}.streak-num{letter-spacing:-.04em;color:#f97316;font-size:44px;font-weight:800;line-height:1}.streak-label{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:600}.streak-best{color:#ea580c;white-space:nowrap;background:#fff1e8;border:1px solid #f9731614;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700}.streak-days{justify-content:space-between;gap:8px;display:flex}.streak-day{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.streak-dot{border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .15s;display:flex}@media (width<=768px){.streak-card{gap:14px;padding:16px}.streak-main{gap:10px}.streak-flame{border-radius:14px;width:48px;height:48px}.streak-flame svg{width:24px;height:24px}.streak-num{font-size:30px}.streak-label{margin-top:2px;font-size:10px}.streak-best{padding:6px 10px;font-size:10px}.streak-days{gap:4px}.streak-dot{width:28px;height:28px}.streak-dot svg{width:12px;height:12px}.streak-day-label{font-size:9px}}.streak-dot--done{background:linear-gradient(135deg,#fb923c,#f97316);border:2px solid #ffffffa6}.streak-dot--empty{background:#f3f4f6;border:1px solid #e5e7eb}.streak-dot svg{fill:#fff;width:16px;height:16px}.streak-day-label{color:var(--text-tertiary);font-size:11px;font-weight:600}@media (width<=480px){.streak-flame{width:56px;height:56px}.streak-flame svg{width:30px;height:30px}.streak-num{font-size:38px}.streak-dot{width:34px;height:34px}.streak-day-label{font-size:10px}}.level-card{background:linear-gradient(#fff 0%,#fcfbff 100%);border:1px solid #ede9fee6;border-radius:24px;flex-direction:column;gap:18px;padding:22px;display:flex;box-shadow:0 10px 30px #6c35de14,0 2px 8px #4f1db00d}.level-header{justify-content:space-between;align-items:flex-start;display:flex}.level-main{align-items:center;gap:12px;display:flex}.level-icon{width:54px;height:54px;color:var(--pri);background:linear-gradient(135deg,#f4edff 0%,#ece2ff 100%);border-radius:16px;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 2px 6px #fffc,inset 0 -2px 8px #6c35de14}.level-icon svg{width:26px;height:26px}.level-info{flex-direction:column;display:flex}.level-num{letter-spacing:-.03em;color:var(--pri);font-size:34px;font-weight:800;line-height:1}.level-label{color:var(--text-secondary);margin-top:2px;font-size:11px;font-weight:600}.level-pct{color:var(--pri);background:#f4edff;border:1px solid #6c35de14;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.level-bar-track{background:#ede9fe;border-radius:999px;width:100%;height:12px;overflow:hidden}.level-bar-fill{background:linear-gradient(90deg,#6c35de,#8b5cf6);border-radius:999px;height:100%;transition:width .3s}.level-xp{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}@media (width<=768px){.level-card{gap:12px;padding:14px}.level-icon{width:42px;height:42px}.level-icon svg{width:20px;height:20px}.level-num{font-size:24px}.level-label{font-size:9px}.level-pct{padding:5px 8px;font-size:10px}.level-xp{font-size:10px}}.lb-shell{-webkit-backdrop-filter:blur(10px);background:linear-gradient(#ffffffbf,#ffffff8c);border-radius:26px;padding:14px;box-shadow:inset 0 1px #fff9,0 20px 40px #0000000f}.leaderboard-card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;min-width:0;padding:20px;display:flex;overflow:hidden}.lb-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.lb-title{color:var(--text-primary);font-size:15px;font-weight:800}.lb-invite{color:#7c3aed;cursor:pointer;white-space:nowrap;background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:700;transition:all .2s}.lb-invite:hover{background:#7c3aed2e}.lb-podium{justify-content:center;align-items:flex-end;gap:14px;margin-bottom:18px;padding:12px 6px 0;display:flex}.lb-podium-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lb-podium-col--first{transform:translateY(-8px)}.lb-avatar{background:var(--surface-container);width:46px;height:46px;color:var(--text-secondary);z-index:2;border:2px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.lb-avatar--you{color:#fff;background:linear-gradient(135deg,#cb6ce6,#7c3aed);box-shadow:0 0 0 4px #cb6ce633}.lb-name{color:var(--text-secondary);text-align:center;font-size:11px;font-weight:700}.lb-block{border-radius:16px 16px 10px 10px;justify-content:center;align-items:flex-end;width:100%;max-width:74px;padding-bottom:8px;display:flex;position:relative;box-shadow:0 10px 20px #00000014}.lb-block:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff38,#0000001a);position:absolute;inset:0}.lb-block--rank-1{background:linear-gradient(#ffd36e,#f59e0b);height:84px;box-shadow:0 10px 25px #f59e0b59}.lb-block--rank-2{background:linear-gradient(#c7d2fe,#64748b);height:62px;box-shadow:0 10px 22px #64748b40}.lb-block--rank-3{background:linear-gradient(#fdba74,#c2410c);height:50px;box-shadow:0 10px 22px #c2410c40}.lb-rank{color:#fffffff2;text-shadow:0 2px 6px #00000040;font-size:16px;font-weight:900}.lb-block--rank-2 .lb-rank,.lb-block--rank-3 .lb-rank{color:#000000a6;text-shadow:none}.lb-rest{border-top:1px solid #ffffff0f;flex-direction:column;gap:6px;padding-top:12px;list-style:none;display:flex}.lb-rest-row{border-radius:12px;align-items:center;gap:10px;padding:8px;transition:all .2s;display:flex}.lb-rest-row:hover{background:var(--surface-container)}.lb-rest-rank{color:var(--text-tertiary);width:18px;font-size:12px;font-weight:800}.lb-rest-avatar{background:var(--surface-container);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:800;display:flex}.lb-rest-name{color:var(--text-primary);flex:1;font-size:13px;font-weight:600}.lb-rest-xp{color:var(--text-tertiary);font-size:11px;font-weight:600}.lb-slider{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:265px;position:relative;overflow:hidden}.lb-slider:active{cursor:grabbing}.lb-slide-track{will-change:transform;width:100%;height:100%;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;left:0}.lb-slide{box-sizing:border-box;flex:0 0 100%;width:100%;height:100%}.lb-tabs{background:var(--surface-container-low,#00000008);scrollbar-width:none;-ms-overflow-style:none;border:1px solid #ffffff14;border-radius:999px;flex:auto;gap:4px;min-width:0;padding:4px;display:flex;overflow-x:auto}.lb-tabs::-webkit-scrollbar{display:none}.lb-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:11px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.lb-tab.active{background:var(--surface);color:var(--text-primary);box-shadow:0 2px 8px #00000014}.lb-dots{justify-content:center;align-items:center;gap:6px;margin-top:16px;display:flex}.lb-dot{cursor:pointer;background:#7c3aed2e;border:none;border-radius:999px;width:6px;height:6px;padding:0;transition:width .25s,background .25s}.lb-dot.active{background:#7c3aed;width:18px}.lb-rest-row.lb-row--highlighted{background:#cb6ce61a;border-left:4px solid #cb6ce6;border-top-left-radius:4px;border-bottom-left-radius:4px}.lb-rest-row.lb-row--highlighted .lb-rest-rank{color:#cb6ce6;font-weight:900}.lb-you-badge{text-transform:uppercase;color:#fff;letter-spacing:.5px;background:#cb6ce6;border-radius:99px;margin-left:6px;padding:2px 6px;font-size:8px;font-weight:800}.lb-full-list{scrollbar-width:none;-ms-overflow-style:none;border-top:none;height:190px;max-height:190px;padding-top:0;overflow-y:auto}.lb-full-list::-webkit-scrollbar{display:none}.lb-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;padding:24px 20px;display:flex}.lb-empty-title{color:var(--text-primary);font-size:14px;font-weight:800}.lb-empty-sub{color:var(--text-tertiary);max-width:220px;margin-bottom:10px;font-size:12px;line-height:1.5}.lb-empty-invite-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#cb6ce6,#7c3aed);border:none;border-radius:999px;padding:12px 24px;font-size:13px;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 20px #7c3aed47}.lb-empty-invite-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #7c3aed5c}@media (width<=380px){.lb-tab{padding:6px 9px;font-size:10.5px}.lb-invite{padding:6px 11px;font-size:11px}}.dashboard-root{background-color:var(--bg);min-height:100vh;color:var(--text-primary);display:flex}@media (width>=1024px){.dashboard-root{padding-left:96px}}.dashboard-scroll-root{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.dashboard-scroll-root::-webkit-scrollbar{display:none}.dashboard-main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:16px 16px 0}@media (width>=768px){.dashboard-main{padding:32px 32px 0}}@media (width>=1024px){.dashboard-main{padding:48px 48px 0}}.dashboard-alert{border:1px solid color-mix(in srgb, var(--error) 40%, transparent);background:color-mix(in srgb, var(--error) 8%, var(--surface));color:var(--text-primary);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 18px;font-size:.9rem;display:flex}.dashboard-cache-status{color:var(--text-secondary);margin:0 0 16px;font-size:.8rem}.alert-retry{border-radius:var(--radius-pill);color:#fff;background:var(--pri);flex-shrink:0;padding:8px 16px;font-size:.85rem;font-weight:700}@media (width<=480px){.dashboard-alert{flex-direction:column;align-items:flex-start}.alert-retry{align-self:flex-start}}.dashboard-desktop-welcome{margin-bottom:32px;display:none}@media (width>=1024px){.dashboard-desktop-welcome{display:block}}.dashboard-welcome-heading{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:6px;font-size:2rem;font-weight:800}.dashboard-welcome-sub{color:var(--text-secondary);font-size:1rem}.dashboard-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=1024px){.dashboard-grid{grid-template-columns:1.8fr 1fr;gap:24px}}.dashboard-primary,.dashboard-secondary{flex-direction:column;gap:16px;display:flex}@media (width>=1024px){.dashboard-primary,.dashboard-secondary{gap:20px}}.dashboard-learning-row{grid-template-columns:1fr;gap:16px;display:grid}.dashboard-learning-item{min-height:100%;display:flex}.dashboard-learning-item>*{flex:1}@media (width>=1200px){.dashboard-learning-row{grid-template-columns:.95fr 1.25fr;align-items:stretch;gap:20px}.dashboard-learning-item{height:100%}}.dashboard-bottom-spacer{flex-shrink:0;height:96px}@media (width>=1024px){.dashboard-bottom-spacer{display:none}}.system-loader-root{justify-content:center;align-items:center;width:100%;display:flex}.system-loader-fullscreen{background:radial-gradient(140% 120% at 100% 0%, #6750a41f 0%, transparent 52%), radial-gradient(120% 120% at 0% 100%, #e8def8a6 0%, transparent 58%), var(--md-sys-color-background);min-height:100vh;padding:24px}.system-loader-shell{background:var(--md-sys-color-surface);text-align:center;border:1px solid #79747e33;border-radius:40px;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:min(100%,460px);padding:28px 30px;display:flex;box-shadow:0 22px 40px #1c1b1f1f}.system-loader-orbit{border-radius:50%;width:108px;height:108px;animation:4.5s ease-in-out infinite systemLoaderFloat;position:relative}.system-loader-ring{border:2px solid #0000;border-radius:50%;position:absolute;inset:0}.system-loader-ring-a{border-top-color:#6750a4eb;border-right-color:#6750a459;animation:1.3s linear infinite systemLoaderSpin}.system-loader-ring-b{border-bottom-color:#6750a4bf;border-left-color:#e8def8f2;animation:1.8s linear infinite systemLoaderSpinReverse;inset:14px}.system-loader-core{background:var(--md-sys-color-primary);border-radius:50%;width:18px;height:18px;animation:1.8s ease-out infinite systemLoaderPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 #6750a473,0 6px 16px #6750a466}.system-loader-copy{gap:6px;display:grid}.system-loader-title{color:var(--md-sys-color-text);letter-spacing:-.01em;margin:0;font-size:1.08rem;font-weight:700}.system-loader-detail{color:var(--md-sys-color-text-variant);margin:0;font-size:.92rem;line-height:1.45}.system-loader-compact .system-loader-shell{text-align:left;border-radius:26px;flex-direction:row;justify-content:flex-start;width:100%;max-width:none;min-height:80px;padding:14px 18px}.system-loader-compact .system-loader-orbit{flex:none;width:56px;height:56px}.system-loader-compact .system-loader-ring-b{inset:8px}.system-loader-compact .system-loader-title{font-size:.95rem}.system-loader-compact .system-loader-detail{font-size:.82rem}@keyframes systemLoaderSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes systemLoaderSpinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes systemLoaderFloat{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes systemLoaderPulse{0%{box-shadow:0 0 #6750a466,0 6px 16px #6750a459}70%{box-shadow:0 0 0 14px #6750a400,0 6px 16px #6750a440}to{box-shadow:0 0 #6750a400,0 6px 16px #6750a459}}@media (width<=767px){.system-loader-shell{border-radius:30px;padding:20px}.system-loader-orbit{width:92px;height:92px}.system-loader-title{font-size:1rem}}.app-container{width:100%;min-height:100vh}.dashboard-container{background-color:var(--md-sys-color-background,var(--bg));min-height:100vh;color:var(--md-sys-color-text,var(--text-primary));display:flex}@media (width>=1024px){.dashboard-container{padding-left:96px}}.main-content{box-sizing:border-box;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:16px 16px 0}@media (width>=768px){.main-content{padding:32px 32px 0}}@media (width>=1024px){.main-content{padding:48px 48px 0}}.session-fadeout-shell{background:color-mix(in srgb, var(--md-sys-color-surface) 80%, #000 20%);place-items:center;width:100%;min-height:100vh;padding:24px;animation:.32s forwards sessionFadeOutBackdrop;display:grid}.session-fadeout-card{border:1px solid color-mix(in srgb, var(--md-sys-color-error) 40%, transparent);background:color-mix(in srgb, var(--md-sys-color-error) 12%, #fff 88%);width:min(520px,100%);color:var(--md-sys-color-text);border-radius:20px;padding:20px 22px;animation:.32s forwards sessionFadeOutCard;box-shadow:0 20px 44px #00000026}.session-fadeout-title{margin:0 0 6px;font-size:1.05rem;font-weight:700}.session-fadeout-copy{opacity:.92;margin:0;font-size:.92rem;line-height:1.5}@keyframes sessionFadeOutBackdrop{0%{opacity:1}to{opacity:0}}@keyframes sessionFadeOutCard{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.985)}}
