.skeleton{gap:var(--space-6);pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;width:100%;animation:.32s cubic-bezier(.32,.72,0,1) .12s both sk-in;display:flex}@keyframes sk-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translate(0,0)}}.sk{border-radius:var(--radius-xs);background-color:#ffffff0f;background-image:linear-gradient(90deg,#fff0 20%,#ffffff14 50%,#fff0 80%);background-repeat:no-repeat;background-size:200% 100%;flex-shrink:0;animation:1.4s linear infinite sk-shimmer}@keyframes sk-shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.sk-circle{border-radius:var(--radius-full)}.sk-line{max-width:100%;display:inline}.sk-line--block{display:block}.sk-text{vertical-align:middle;border-radius:4px;max-width:100%;height:.8em;display:inline-block}.sk-ghost{display:inline-block}.sk-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.skeleton,.sk{animation:none}}
.user-header{justify-content:flex-end;align-items:center;width:100%;display:flex}.user-header__logo{border-radius:12px;width:42px;height:42px;display:block}.user-header__right{align-items:center;gap:var(--space-3);display:flex}.user-header__avatar{object-fit:cover;background:var(--surface-2);cursor:pointer;border-radius:50%;width:52px;height:52px;transition:transform .24s cubic-bezier(.32,1.12,.4,1)}.user-header__avatar:active{transition-duration:.12s;transform:scale(.94)}.user-header__streak{align-items:center;gap:var(--space-3);border-radius:var(--radius-full);background:var(--bg);outline:1px solid var(--stroke-strong);outline-offset:-1px;height:52px;padding:4px 4px 4px 16px;display:flex}.user-header__action{width:20px;height:20px;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:#0000;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .24s cubic-bezier(.32,1.12,.4,1);display:flex}.user-header__action:active{transition-duration:.12s;transform:scale(.82)}.user-header__counter{border-radius:var(--radius-full);background:linear-gradient(180deg, var(--surface-3) 0%, var(--surface-1) 100%);height:44px;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:#0000;border:none;align-items:center;gap:8px;padding:0 12px 0 14px;transition:transform .24s cubic-bezier(.32,1.12,.4,1);display:flex}.user-header__counter svg{color:var(--text-tertiary)}.user-header__counter.is-lit svg{color:var(--streak-color);fill:color-mix(in srgb, var(--streak-color) 30%, transparent)}.user-header__counter:active{transition-duration:.12s;transform:scale(.96)}
.news{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.news .title{color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.news .carousel-container{border-radius:var(--radius-lg);width:100%;position:relative;overflow:hidden}.news .carousel-container .carousel-track{width:100%;height:150px;position:relative;overflow:hidden}.news .carousel-container .carousel-track .carousel-slides{will-change:transform;width:100%;height:100%;display:flex}.news .carousel-container .carousel-track .carousel-slides .carousel-slide{flex:0 0 100%;width:100%;height:100%}.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card{border-radius:var(--radius-lg);width:100%;height:100%;text-decoration:none;transition:transform .3s;display:block;position:relative;overflow:hidden}.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card:active{transform:scale(.98)}.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card img{object-fit:cover;width:100%;height:100%}@media (hover:hover){.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card img{transition:transform .6s}.news .carousel-container .carousel-track .carousel-slides .carousel-slide .card:hover img{transform:scale(1.05)}}.news .carousel-container .carousel-indicators{justify-content:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.news .carousel-container .carousel-indicators .indicator{border-radius:var(--radius-full);background:var(--text-tertiary);cursor:pointer;width:6px;height:6px;transition:transform var(--duration-fast) var(--ease-fast)}.news .carousel-container .carousel-indicators .indicator:active{transform:scale(.98)}.news .carousel-container .carousel-indicators .indicator{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.news .carousel-container .carousel-indicators .indicator.active{background:var(--text-primary);box-shadow:0 0 8px var(--text-tertiary);transform:scale(1.3)}.news .carousel-container .carousel-indicators .indicator:hover:not(.active){background:var(--text-secondary);transform:scale(1.1)}.news .carousel-container:before,.news .carousel-container:after{content:"";z-index:2;pointer-events:none;opacity:.1;width:1px;position:absolute;top:0;bottom:24px}.news .carousel-container:before{background:linear-gradient(to right, var(--overlay-10), transparent);left:0}.news .carousel-container:after{background:linear-gradient(to left, var(--overlay-10), transparent);right:0}@media (prefers-reduced-motion:reduce){.carousel-slides,.indicator{transition:none!important}}
.sections{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.sections .title{color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.sections .cards{gap:var(--space-3);flex-direction:column;display:flex}.sections .cards .card{border-radius:var(--radius-lg);background:var(--surface-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;border:none;align-items:center;height:132px;padding:12px 15px 15px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.sections .cards .card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003}}.sections .cards .card:active{transform:translateY(0)}.sections .cards .card .label{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold);z-index:2}.sections .cards .card .bg{z-index:1;opacity:.7;pointer-events:none;width:295px;position:absolute}.sections .cards .card:first-child .bg{animation:.8s forwards slide-bg1;top:60%;left:45%;transform:rotate(-9deg)}@keyframes slide-bg1{0%{opacity:0;top:60%}to{opacity:.7;top:-35%}}.sections .cards .card:nth-child(2) .bg{animation:.8s .2s forwards slide-bg2;top:65%;left:50%;transform:rotate(14deg)}@keyframes slide-bg2{0%{opacity:0;top:65%}to{opacity:.7;top:-65%}}
.stats{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.stats .title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-primary);align-items:center;gap:var(--space-1);display:flex}.stats .title .period-selector{position:relative}.stats .title .period-selector .period-dropdown-trigger{color:var(--text-tertiary);cursor:pointer;transition:transform var(--duration-fast) var(--ease-fast)}.stats .title .period-selector .period-dropdown-trigger:active{transform:scale(.98)}.stats .title .period-selector .period-dropdown-trigger{align-items:center;gap:var(--space-2);border-radius:var(--radius-xl);-webkit-user-select:none;user-select:none;padding:2px 8px;transition:all .2s;display:flex}@media (hover:hover){.stats .title .period-selector .period-dropdown-trigger:hover{color:#9d9d9d;background:#7d7d7d1a}}.stats .title .period-selector .period-dropdown-trigger .dropdown-arrow{color:var(--text-tertiary);transition:transform .2s}.stats .title .period-selector .period-dropdown-trigger .dropdown-arrow.open{transform:rotate(180deg)}.stats .title .period-selector .period-dropdown{background:var(--surface-3);border:1px solid var(--stroke-strong);border-radius:var(--radius-lg);clip-path:inset(0 round var(--radius-lg));z-index:1000;min-width:200px;max-height:300px;animation:.2s ease-out fadeInDown;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.stats .title .period-selector .period-dropdown .period-option{padding:var(--space-4) var(--space-3);color:var(--text-primary);cursor:pointer;transition:transform var(--duration-fast) var(--ease-fast)}.stats .title .period-selector .period-dropdown .period-option:active{transform:scale(.98)}.stats .title .period-selector .period-dropdown .period-option{font-size:var(--text-xs);transition:all .2s}@media (hover:hover){.stats .title .period-selector .period-dropdown .period-option:hover{background:var(--overlay-05)}}.stats .title .period-selector .period-dropdown .period-option.selected{background:var(--overlay-10);color:var(--text-primary);font-weight:var(--weight-semibold)}.stats .cards{gap:var(--space-3);display:flex}.stats .cards .stat-card{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;flex:1;justify-content:center;transition:transform .2s cubic-bezier(.32,.72,0,1);display:flex}.stats .cards .stat-card .label{color:var(--text-secondary);font-size:var(--text-xs);line-height:19.45px}.stats .cards .stat-card .value{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.02em}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.top-students{width:100%}.top-students__card{background:var(--surface-1);border-radius:var(--radius-lg);outline:1px solid var(--stroke);outline-offset:-1px;flex-direction:column;width:100%;display:flex}.top-students__header{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-5);display:flex}.top-students__title{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-bold);letter-spacing:-.01em}.top-students__hint{color:var(--text-tertiary);font-size:var(--text-sm);white-space:nowrap}.top-students__body{gap:var(--space-3);padding:var(--space-4);background:var(--bg);border-radius:var(--radius-lg);outline:1px solid var(--stroke);outline-offset:-1px;flex-direction:column;display:flex}.top-students__user{align-items:center;gap:var(--space-3);padding:6px var(--space-5) 6px 6px;background:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-full);color:var(--text-primary);display:flex;overflow:hidden}.top-students__user--you{border-color:var(--text-primary);background:var(--surface-3)}.top-students__avatar{background:var(--overlay-10);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.top-students__letter{color:var(--text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1}.top-students__rank{background:var(--surface-1);border:1px solid var(--stroke-strong);width:20px;height:20px;color:var(--text-secondary);font-size:11px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;bottom:-2px;right:-2px}.top-students__rank svg{fill:currentColor;fill-opacity:.25}.top-students__name{min-width:0;font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.top-students__score{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto}
