::selection{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--ink)}@media (min-width:901px){*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 45%,transparent) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 40%,transparent);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 58%,transparent);background-clip:padding-box}}.main-messages .page-enter>*,.shell-admin .page-enter>*{animation:none!important}.main-messages{display:flex;flex-direction:column;min-height:0}.page-enter-fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}@keyframes page-roll-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes roll-in-soft{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes roll-in-x{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.page-enter>*{animation:page-roll-in .4s var(--ease-out) both}.page-enter>:first-child{animation-delay:.02s}.page-enter>:nth-child(2){animation-delay:.06s}.page-enter>:nth-child(3){animation-delay:.1s}.page-enter>:nth-child(4){animation-delay:.14s}.page-enter>:nth-child(5){animation-delay:.18s}.page-enter>:nth-child(6){animation-delay:.22s}.page-enter>:nth-child(7){animation-delay:.26s}.page-enter>:nth-child(8){animation-delay:.3s}.page-enter>:nth-child(n+9){animation-delay:.32s}.page-enter .fade-up{animation-name:page-roll-in;animation-duration:.4s;animation-timing-function:var(--ease-out);animation-fill-mode:both}.week-grid>.day-col{animation:page-roll-in .42s var(--ease-out) both}.week-grid>.day-col:first-child{animation-delay:.04s}.week-grid>.day-col:nth-child(2){animation-delay:.08s}.week-grid>.day-col:nth-child(3){animation-delay:.12s}.week-grid>.day-col:nth-child(4){animation-delay:.16s}.week-grid>.day-col:nth-child(5){animation-delay:.2s}.day-col .lesson-block{animation:roll-in-soft .34s var(--ease-out) both}.day-col .lesson-block:first-child{animation-delay:.05s}.day-col .lesson-block:nth-child(2){animation-delay:.09s}.day-col .lesson-block:nth-child(3){animation-delay:.13s}.day-col .lesson-block:nth-child(4){animation-delay:.17s}.day-col .lesson-block:nth-child(5){animation-delay:.21s}.day-col .lesson-block:nth-child(n+6){animation-delay:.24s}.day-carousel-panel{animation:page-roll-in .38s var(--ease-out) both}.person-list>.person-row,.person-list>a.person-row{animation:roll-in-x .34s var(--ease-out) both}.person-list>.person-row:first-child,.person-list>a.person-row:first-child{animation-delay:.03s}.person-list>.person-row:nth-child(2),.person-list>a.person-row:nth-child(2){animation-delay:.06s}.person-list>.person-row:nth-child(3),.person-list>a.person-row:nth-child(3){animation-delay:.09s}.person-list>.person-row:nth-child(4),.person-list>a.person-row:nth-child(4){animation-delay:.12s}.person-list>.person-row:nth-child(5),.person-list>a.person-row:nth-child(5){animation-delay:.15s}.person-list>.person-row:nth-child(n+6),.person-list>a.person-row:nth-child(n+6){animation-delay:.18s}.feed-item,.feed-list>.feed-item,ul.feed>.feed-item{animation:page-roll-in .36s var(--ease-out) both}.feed-item:first-child{animation-delay:.04s}.feed-item:nth-child(2){animation-delay:.08s}.feed-item:nth-child(3){animation-delay:.12s}.feed-item:nth-child(4){animation-delay:.16s}.feed-item:nth-child(5){animation-delay:.2s}.feed-item:nth-child(n+6){animation-delay:.24s}.homework-week-card,.progress-card{animation:roll-in-soft .38s var(--ease-out) both}.homework-week-list .homework-week-card:first-child,.progress-card:first-child{animation-delay:.04s}.homework-week-list .homework-week-card:nth-child(2),.progress-card:nth-child(2){animation-delay:.09s}.homework-week-list .homework-week-card:nth-child(3),.progress-card:nth-child(3){animation-delay:.14s}.homework-week-list .homework-week-card:nth-child(n+4),.progress-card:nth-child(n+4){animation-delay:.18s}.free-slot-chip{animation:roll-in-soft .3s var(--ease-out) both}.free-slot-chips .free-slot-chip:first-child{animation-delay:.03s}.free-slot-chips .free-slot-chip:nth-child(2){animation-delay:.06s}.free-slot-chips .free-slot-chip:nth-child(3){animation-delay:.09s}.free-slot-chips .free-slot-chip:nth-child(4){animation-delay:.12s}.free-slot-chips .free-slot-chip:nth-child(n+5){animation-delay:.15s}.status-pills .status-pill{animation:roll-in-soft .32s var(--ease-out) both}.status-pills .status-pill:first-child{animation-delay:.04s}.status-pills .status-pill:nth-child(2){animation-delay:.1s}.class-group{animation:page-roll-in .36s var(--ease-out) both}.class-group:first-child{animation-delay:.04s}.class-group:nth-child(2){animation-delay:.1s}.class-group:nth-child(3){animation-delay:.16s}.class-group:nth-child(n+4){animation-delay:.2s}.chip-row>.chip{animation:roll-in-soft .28s var(--ease-out) both}.chip-row>.chip:first-child{animation-delay:.02s}.chip-row>.chip:nth-child(2){animation-delay:.05s}.chip-row>.chip:nth-child(3){animation-delay:.08s}.chip-row>.chip:nth-child(4){animation-delay:.11s}.chip-row>.chip:nth-child(5){animation-delay:.14s}.chip-row>.chip:nth-child(n+6){animation-delay:.17s}.messages-conv-item{animation:roll-in-x .32s var(--ease-out) both}.messages-conv-list>.messages-conv-item:first-child{animation-delay:.02s}.messages-conv-list>.messages-conv-item:nth-child(2){animation-delay:.05s}.messages-conv-list>.messages-conv-item:nth-child(3){animation-delay:.08s}.messages-conv-list>.messages-conv-item:nth-child(4){animation-delay:.11s}.messages-conv-list>.messages-conv-item:nth-child(5){animation-delay:.14s}.messages-conv-list>.messages-conv-item:nth-child(n+6){animation-delay:.17s}.messages-bubble-row{animation:roll-in-soft .28s var(--ease-out) both}.messages-bubble-row.mine{animation-name:msg-roll-mine}@keyframes msg-roll-mine{0%{opacity:0;transform:translateY(8px) translateX(6px)}to{opacity:1;transform:translateY(0) translateX(0)}}.profile-page>.profile-hero,.profile-stack>.card{animation:page-roll-in .4s var(--ease-out) both}.profile-page>.profile-hero{animation-delay:.03s}.profile-stack>:first-child{animation-delay:.08s}.profile-stack>:nth-child(2){animation-delay:.13s}.profile-stack>:nth-child(3){animation-delay:.18s}.profile-stack>:nth-child(4){animation-delay:.23s}.profile-stack>:nth-child(5){animation-delay:.28s}.profile-stack>:nth-child(n+6){animation-delay:.32s}.discover-card,.empty-state,.invite-card,.survey-banner{animation:roll-in-soft .4s var(--ease-out) both}@media (prefers-reduced-motion:reduce){.chip-row>.chip,.class-group,.day-carousel-panel,.day-col .lesson-block,.discover-card,.empty-state,.feed-item,.free-slot-chip,.homework-week-card,.invite-card,.messages-bubble-row,.messages-conv-item,.page-enter .fade-up,.page-enter>*,.person-list>.person-row,.person-list>a.person-row,.profile-page>.profile-hero,.profile-stack>.card,.progress-card,.status-pills .status-pill,.survey-banner,.week-grid>.day-col{animation:none!important}}.page-title{text-wrap:balance}.page-lead{text-wrap:pretty;max-width:42rem}.section-title{text-wrap:balance}.card,.day-progress,.discover-card,.empty-state,.invite-card,.overblik-fold,.status-pill{transition:border-color var(--duration-normal) ease,background var(--duration-normal) ease}.invite-card:hover{border-color:color-mix(in srgb,var(--accent) 36%,var(--border));box-shadow:none}.empty-state{text-align:center;padding:1.35rem 1.2rem}.empty-state-art{filter:none;opacity:.92}.empty-state-icon{display:none}.empty-state-title{font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.02em}.person-list .person-row{transition:border-color var(--duration-normal) ease,background var(--duration-normal) ease}.class-group-title{font-family:var(--font-display);font-size:1rem;letter-spacing:-.015em;color:var(--ink-soft);padding-bottom:.15rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.day-col{transition:border-color var(--duration-normal) ease,background var(--duration-normal) ease}@media (hover:hover){.day-col:hover{box-shadow:none}}.day-col.today .day-head{background:var(--accent-soft)}.lesson-block{transition:background var(--duration-normal) ease,border-color var(--duration-normal) ease}@media (hover:hover){.lesson-block:hover:not(.is-now){border-color:color-mix(in srgb,var(--accent) 22%,transparent);background:color-mix(in srgb,var(--lesson) 88%,var(--surface))}}.lesson-block.is-now{animation:none}.day-strip-item{transition:background var(--duration-normal) ease,border-color var(--duration-normal) ease,color var(--duration-normal) ease,transform var(--duration-fast) var(--ease-snap)}.day-strip-item:active{transform:scale(.97)}.field input,.field select,.field textarea,.input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.72rem .85rem;color:var(--ink);outline:none;min-height:44px;transition:border-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease,background var(--duration-normal) ease}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--accent);box-shadow:var(--ring)}.text-link{text-decoration-thickness:1px;transition:color var(--duration-fast) ease,text-decoration-color var(--duration-fast) ease}.text-link:hover{text-decoration-color:transparent}.avatar-wrap .avatar{width:100%;height:100%}.avatar-fallback{background:var(--accent-soft);color:var(--accent)}.messages-conv-item{transition:background var(--duration-normal) ease}.messages-conv-item:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.messages-conv-item.on{background:color-mix(in srgb,var(--accent-soft) 75%,var(--surface));box-shadow:inset 3px 0 0 var(--accent)}.messages-list-head{background:color-mix(in srgb,var(--surface) 92%,var(--paper))}.messages-composer{border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--surface) 96%,var(--paper))}.admin-quick-link{transition:border-color var(--duration-normal) ease,background var(--duration-normal) ease}@media (hover:hover){.admin-quick-link:hover{transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}}.admin-stat{transition:border-color var(--duration-normal) ease,background var(--duration-normal) ease}@media (hover:hover){.admin-stat:hover{border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}}.toast-card{transition:border-color var(--duration-normal) ease,background var(--duration-normal) ease}@media (hover:hover){.toast-card:hover{transform:none;box-shadow:var(--shadow)}}.survey-banner{box-shadow:none}.overblik-fold,.skema-free-fold,.survey-banner{transition:border-color var(--duration-normal) ease}.overblik-fold[open],.skema-free-fold[open]{box-shadow:none;border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.chip.on{transform:none}.feed-item{transition:border-color var(--duration-normal) ease,background var(--duration-normal) ease}@media (hover:hover){.feed-item:hover{transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}}.week-toolbar{padding:.2rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--paper-2) 55%,var(--surface));border:1px solid var(--border);box-shadow:none}.week-toolbar .btn-ghost{border-color:transparent;background:transparent;box-shadow:none}.week-toolbar .btn-ghost:hover{background:color-mix(in srgb,var(--surface) 85%,var(--paper));border-color:color-mix(in srgb,var(--border) 70%,transparent)}.profile-stack .card+.card{margin-top:.85rem}.profile-stack .card{border-color:color-mix(in srgb,var(--border) 90%,transparent)}.auth-card{box-shadow:var(--shadow)}.compare-overlap{transition:border-color var(--duration-normal) ease}@media (hover:hover){.compare-overlap:hover{box-shadow:none;border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}}.notif-bell{transition:background var(--duration-fast) ease,transform var(--duration-fast) var(--ease-snap)}.notif-bell:active{transform:scale(.94)}.sidebar{view-transition-name:none}.mobile-top{view-transition-name:gs-mobile-top}.mobile-nav{view-transition-name:gs-mobile-nav}.shell-content{view-transition-name:gs-content}html.pwa-standalone:has(.shell){touch-action:manipulation}html.pwa-standalone .shell-content{scroll-behavior:smooth}html.pwa-standalone .mobile-nav{background:color-mix(in srgb,var(--paper) 96%,var(--surface))!important;border-top-color:color-mix(in srgb,var(--border) 75%,transparent)}html.pwa-standalone .mobile-nav-link{transition:background var(--duration-normal) var(--ease-out),color var(--duration-normal) ease,transform .1s var(--ease-snap)}html.pwa-standalone .mobile-nav-link:active{transform:scale(.92)}html.pwa-standalone .main{padding-top:.85rem}html.pwa-standalone .page-title{letter-spacing:-.03em}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.auth-lead,.muted,.page-lead{line-height:1.55}.muted a:not(.btn):not(.person-row-link):not(.birthday-banner-link),.page-lead a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:.14em}.fade-up{animation:fade-up-polish .24s var(--ease-out) both}@keyframes fade-up-polish{0%{opacity:0}to{opacity:1}}.form-error,p.error,p.success{margin-top:.5rem;padding:.42rem .72rem;border-radius:var(--radius-sm);font-weight:600;font-size:.86rem;line-height:1.4}p.success{background:color-mix(in srgb,var(--accent-soft) 75%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border))}.form-error,p.error{background:color-mix(in srgb,var(--danger-soft) 75%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 22%,var(--border))}.field label,.field-label{font-weight:600;color:var(--ink-soft);font-size:.88rem}.search-field input[type=search]{padding-left:2.35rem}html[data-theme=dark] .search-field .search-field-icon{color:var(--muted)}.view-toggle{padding:.28rem;border-radius:calc(var(--radius-sm) + 4px);background:color-mix(in srgb,var(--paper-2) 65%,var(--surface));border:1px solid color-mix(in srgb,var(--border) 80%,transparent);width:fit-content;gap:.2rem}.view-toggle .chip{border-color:transparent;background:transparent;box-shadow:none;min-height:40px}.view-toggle .chip.on{background:var(--surface);border-color:var(--border);box-shadow:none}.profile-stack .card:hover{box-shadow:var(--shadow);transform:none}.profile-jump a{transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,background var(--duration-fast) ease,transform var(--duration-fast) var(--ease-snap)}.profile-jump a:active{transform:scale(.97)}.profile-jump a:focus-visible{box-shadow:var(--ring)}.birthday-banner{background:var(--warn-soft)}.birthday-banner-link{border-radius:var(--radius-sm)}.elev-profile-card{box-shadow:var(--shadow)}.person-row:focus-within{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.mobile-nav-link.active{background:color-mix(in srgb,var(--accent-soft) 85%,var(--surface))}.nav-link{transition:background var(--duration-normal) var(--ease-out),color var(--duration-normal) ease,transform var(--duration-fast) var(--ease-out)}html[data-theme=dark] .btn-ghost{background:color-mix(in srgb,var(--surface) 92%,var(--paper))}.toast-host .toast-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface)}.mobile-top .logo-title{font-weight:650;letter-spacing:-.02em}.section-title{margin-bottom:.65rem}.empty-state{border-radius:var(--radius)}@media (prefers-reduced-motion:reduce){::view-transition-new(root),::view-transition-old(root){animation:none!important}.auth-visual,.discover-art,.empty-state-art,.landing-brand,.landing-hero-block,.landing-hero-col{animation:none}.lesson-block.is-now{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 55%,transparent)}.admin-quick-link:hover,.day-col:hover,.feed-item:hover,.lesson-block:hover,.toast-card:hover{transform:none}}