body{font-family:var(--font-sans-sc);font-size:15px;font-weight:400;line-height:1.65}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:4px}button:enabled:active{scale:.98}.main{min-width:0}.page{width:100%;max-width:1220px;margin-inline:auto;padding:52px clamp(28px,4.5vw,68px)}.page-wide{max-width:1320px}.page-community{max-width:1000px}.page-schedule{max-width:none}.page-title{font-family:var(--font-sans-sc);font-size:34px;font-weight:600;letter-spacing:-.035em;line-height:1.35;margin-bottom:32px}.page-heading{margin-bottom:36px}.page-heading .eyebrow{margin-bottom:12px}.page-heading .page-title{margin:0}.page-description{margin-top:14px;max-width:60ch;color:var(--text2);font-size:14px;line-height:1.85}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.14em;line-height:1.6;color:var(--text3)}.section{margin-bottom:32px}.section-header{gap:16px;margin-bottom:18px;align-items:baseline}.section-title{margin:0;color:var(--text);font-size:14px;font-weight:600;letter-spacing:.015em;text-transform:none;line-height:1.5}.see-all{font-size:11px;font-weight:400;color:var(--text3)}.see-all:hover{color:var(--accent-text)}.card{border-radius:6px}.card,.card:hover{box-shadow:none}.card-pad{padding:24px}.club-card:hover,a.card:hover{box-shadow:none;border-color:color-mix(in srgb,var(--text3) 48%,var(--border))}.sidebar{padding:0 16px 24px}.sidebar-logo{flex-shrink:0;padding:28px 8px 22px;margin-bottom:20px;border-bottom:1px solid var(--border)}.logo-en{font-family:var(--font-sans-sc);font-size:25px;letter-spacing:-.035em;color:var(--text);font-weight:600}.logo-cn{font-size:12px;color:var(--text3);letter-spacing:.025em;margin-top:7px}.notification-bell{width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:4px}.nav-items{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0}.nav-caption{padding:0 12px 16px;color:var(--text3);font-size:9px;letter-spacing:.1em}.nav-item{position:relative;padding:10px 12px;margin-bottom:4px;gap:10px;border:0;border-radius:4px}.nav-item .nav-icon{width:19px;height:19px;stroke-width:1.75}.nav-label-main{font-size:15px;font-weight:500}.nav-label-cn{font-size:12px;font-weight:400;letter-spacing:.01em}.nav-item.active{background:var(--bg2);color:var(--text)}.nav-item.active:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:2px;background:var(--accent)}.nav-item.active .nav-label-main{font-weight:600}.nav-item.active .nav-label-cn{color:var(--text3);opacity:1}.sidebar-feedback-link{display:flex;align-items:center;gap:8px;padding:16px 12px;margin-top:16px;border-top:1px solid var(--border);color:var(--text3);font-size:14px}.sidebar-feedback-link:hover{color:var(--accent-text)}.sidebar-footer{display:grid;flex-shrink:0;grid-row-gap:16px;row-gap:16px;padding:20px 0 0;border-top:1px solid var(--border)}.sidebar-footer .accent-picker{min-height:32px;padding:6px 12px;gap:12px}.theme-toggle{min-height:44px;font-size:14px;font-weight:600;padding:10px 12px;border-radius:4px}.bottom-nav{background:var(--surface2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav-item{min-width:0;min-height:54px;flex:1 1;padding:7px 2px;font-size:12px;font-weight:600;line-height:1.2}.bottom-nav-item svg{stroke-width:1.5}.bottom-nav-item.active .bottom-nav-icon-wrap{background:var(--bg2);border-radius:4px}.bottom-nav-icon-wrap{padding:4px 12px}.home-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-gap:48px;gap:48px;align-items:center;padding-bottom:36px}.home-overview>.section{margin:0}.greeting-bar{align-items:center;gap:16px;margin:0}.home-eyebrow{margin-bottom:18px}.greeting-name{font-family:var(--font-sans-sc);font-size:clamp(28px,2.8vw,36px);letter-spacing:-.04em;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.greeting-date{margin-top:14px;font-size:12px;color:var(--text3)}.avatar-profile-link{flex-shrink:0;padding:0;border:0;border-radius:50%}.quote-card,[data-theme=dark] .quote-card{background:transparent;border:0;border-left:1px solid var(--border);border-radius:0;padding:8px 0 8px 28px;margin:0;overflow:visible}.quote-card:before{display:none}.quote-label{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--text3);font-size:10px;letter-spacing:.08em;margin-bottom:12px}.quote-label span{font-size:9px;letter-spacing:.12em}.quote-text{font-family:var(--font-sans-sc);color:var(--text2);font-size:16px;font-weight:400;line-height:1.9;max-width:36ch;margin-bottom:10px;padding-right:12px}.quote-source{color:var(--text3);font-size:11px;font-weight:400}.quote-deco{top:-6px;right:0;font-size:38px;color:var(--bg3)}.campus-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 40px;border-block:1px solid var(--border)}.campus-shortcut{display:flex;align-items:center;gap:12px;min-width:0;padding:18px 16px;text-decoration:none;color:var(--text2);transition:background .18s,color .18s}.campus-shortcut:first-child{padding-left:0}.campus-shortcut+.campus-shortcut{border-left:1px solid var(--border)}.shortcut-icon{width:32px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.shortcut-copy{min-width:0}.campus-shortcut strong{display:block;color:var(--text);font-size:13px;font-weight:600}.campus-shortcut:hover{background:var(--surface);color:var(--accent-text)}.campus-shortcut .shortcut-arrow{margin-left:auto;flex-shrink:0;width:12px;opacity:.6}.home-dashboard{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);grid-gap:36px;gap:36px;align-items:start}.home-primary,.home-secondary{min-width:0}.home-dashboard:has(.home-primary:empty),.home-dashboard:has(.home-secondary:empty){grid-template-columns:1fr}.hot-grid{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:6px}.hot-grid .hot-card{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:start;grid-gap:16px;gap:16px;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:26px 24px}.hot-grid .hot-card:last-child{border-bottom:0}.hot-grid .hot-card:hover{background:var(--bg);box-shadow:none}.hot-index{font-size:22px;font-weight:400;letter-spacing:-.04em;line-height:1.3;color:var(--text3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hot-content{min-width:0}.hot-title{font-size:16px;font-weight:400;line-height:1.8}.hot-tag{margin-bottom:10px;padding:1px 6px;border-radius:3px;background:var(--bg2);color:var(--text3);font-size:9px;font-weight:400;letter-spacing:.04em}.hot-meta{margin-top:14px;font-size:10px;color:var(--text3)}.hot-arrow{margin-top:3px;color:var(--text3)}.hot-card:hover .hot-arrow{color:var(--accent-text)}.home-secondary .card-pad{padding:12px 20px}.period-row{gap:10px;padding-block:16px}.period-now{margin-inline:-20px;padding-inline:20px}.period-time{width:78px;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.period-dot{width:5px;height:5px}.period-subject{min-width:0;overflow-wrap:anywhere;font-size:12px;font-weight:400}.now-badge{font-size:9px;font-weight:500;border-radius:3px;padding:2px 5px}.event-item{padding-block:20px;gap:14px}.event-name{font-size:12px;font-weight:400;line-height:1.8}.event-detail{font-size:10px;line-height:1.8}.event-day{font-size:25px;font-weight:400;letter-spacing:-.05em}.event-month{font-size:9px;margin-top:3px}.event-badge{border-radius:3px;font-size:9px;font-weight:400}.home-secondary .event-badge{background:var(--bg2);color:var(--text2)}.clubs-page-header{gap:24px;align-items:flex-start;margin-bottom:32px}.clubs-page-header .page-heading{margin-bottom:0}.clubs-page-header .create-btn{flex-shrink:0;margin-top:0}.clubs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.club-card{display:flex;flex-direction:column;padding:28px;min-height:270px;border-radius:6px}.club-card-heading{display:flex;align-items:center;gap:16px}.club-card-identity{min-width:0}.club-kind{margin-bottom:6px;color:var(--text3);font-size:9px;font-weight:400;letter-spacing:.14em}.club-card .club-emoji{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0;border:1px solid var(--border);border-radius:4px;font-size:24px;font-weight:400;color:var(--text2);flex-shrink:0}.club-icon-img{width:46px;height:46px;border-radius:3px}.club-name{font-size:20px;font-weight:600;letter-spacing:-.025em;line-height:1.5;margin:0}.club-title-button{padding:0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.club-title-button:hover{color:var(--accent-text)}.club-desc{font-size:14px;color:var(--text2);font-weight:400;line-height:1.9;margin:22px 0 20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.club-meta{gap:6px;margin-bottom:20px}.club-meta:empty{display:none}.club-tag{font-size:10px;font-weight:400;border-radius:3px;padding:3px 8px}.club-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--border);gap:16px}.club-footer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;min-width:0;flex:1 1}.club-members,.club-time{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--text3)}.club-open-arrow{color:var(--text3);flex-shrink:0}.club-card:hover .club-open-arrow{color:var(--accent-text)}.club-card-banner{position:relative;inset:auto;height:136px;width:calc(100% + 56px);margin:-28px -28px 28px;flex-shrink:0}.club-card-banner:after{display:none}.club-card-bannered,.club-card-bannered.club-card-noicon{padding-top:28px}.skeleton-club-grid{gap:22px}.skeleton-club-card{min-height:270px;padding:28px;box-shadow:none;border-radius:6px}.skeleton-club-icon{width:48px;height:48px;border-radius:4px}.incubator-card{padding:24px;border-radius:6px}.incubator-topic{font-size:17px;font-weight:600;line-height:1.6}.composer{padding:24px;border-radius:6px;margin-bottom:28px}.composer-input{background:var(--bg);border-radius:4px;font-size:15px;line-height:1.8}.posts-feed{gap:0;background:var(--surface);border:1px solid var(--border);border-radius:6px}.post-item{background:transparent;padding:30px;border:0;border-bottom:1px solid var(--border);border-radius:0}.post-item:last-child{border-bottom:0}.post-header{margin-bottom:20px;gap:12px}.post-name{font-size:14px;font-weight:600}.post-info{font-size:10px;gap:8px;margin-top:4px}.post-class{background:transparent;color:var(--text3);border-radius:0;padding:0;font-size:10px;font-weight:400}.post-body{font-size:15px;line-height:1.95;margin-bottom:20px}.post-actions{padding-top:4px;gap:24px}.post-action{font-size:11px}.post-tag-chip,.tag-chip{border-radius:4px}.zh-comment-section{padding-top:20px;margin-top:24px}.zh-comment-text{line-height:1.85}.resources-top-bar{gap:24px;flex-wrap:wrap;padding:0 0 24px}.resources-tabs{min-width:0;max-width:100%;gap:20px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.resources-tabs::-webkit-scrollbar{display:none}.resources-tab{position:relative;flex-shrink:0;padding:12px 0 15px;border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;font-size:13px;font-weight:400;background:transparent}.resources-tab.active{border-bottom-color:var(--text);font-weight:600}.resources-tab.active,.resources-tab:hover{background:transparent;color:var(--text)}.resources-col-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;padding-top:4px}.collection-card{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;grid-gap:20px;gap:20px;align-items:start;padding:28px;min-height:180px;border-radius:6px}.collection-card:only-child{grid-column:1/-1}.collection-card:hover{border-color:color-mix(in srgb,var(--text3) 48%,var(--border))}.collection-card-cover,.collection-card-icon{width:48px;height:56px;border-radius:4px}.collection-card-icon{border:1px solid var(--border);background:var(--bg);color:var(--text2)}.collection-card-body{min-width:0}.collection-card-title{display:block;font-size:20px;font-weight:600;line-height:1.55;letter-spacing:-.02em;margin-bottom:12px;color:var(--text)}.collection-card-desc{font-size:13px;line-height:1.85;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:20px;max-width:55ch}.collection-card-meta{flex-wrap:wrap;font-size:10px;gap:8px}.collection-card-arrow-btn{grid-column:3;grid-row:1;width:28px;height:28px;border:1px solid var(--border);border-radius:4px}.collection-card-edit{grid-column:3;grid-row:2}.resources-article-list{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding-inline:28px}.article-card{padding:28px 0}.article-card:last-child{border-bottom:0}.article-card-title{font-size:20px;font-weight:600;line-height:1.65;letter-spacing:-.02em;color:var(--text);margin-bottom:10px}.article-card-excerpt{font-size:14px;color:var(--text2);line-height:1.9;margin-bottom:20px}.article-card-author,.article-card-meta-text{font-size:10px}.article-cat-badge{font-size:9px;font-weight:400;border-radius:3px;padding:2px 7px}.resource-item-card{border-radius:6px;padding:24px}.resource-item-title{font-size:17px;font-weight:600}.resource-item-icon{border-radius:4px}.resource-item-description{font-size:14px;line-height:1.85}.resource-item-meta{font-size:10px}.profile-gh{grid-template-columns:240px minmax(0,1fr);gap:32px}.profile-gh-left{padding:24px;border:1px solid var(--border);background:var(--surface);border-radius:6px;gap:18px}.profile-gh-name{font-family:var(--font-sans-sc);font-size:25px;font-weight:600;line-height:1.5;letter-spacing:-.025em}.profile-gh-name-en{font-size:15px;font-weight:400}.profile-gh-bio{font-size:13px;line-height:1.9}.profile-gh-stats{gap:12px;padding-block:18px;border-block:1px solid var(--border)}.profile-gh-stat{font-size:12px}.profile-gh-right{gap:0;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.profile-gh-section{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:28px}.profile-gh-section:last-child{border-bottom:0}.profile-gh-section-title{font-size:17px;font-weight:600;margin-bottom:10px}.profile-gh-section-hint{font-size:12px}.profile-gh-post{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:18px 0}.profile-gh-post:hover{transform:none;background:transparent;border-color:var(--border)}.profile-gh-post-body{font-size:14px;line-height:1.85}.profile-gh-club-chip{border-radius:4px}.chat-sidebar-title,.tt-page-title{font-family:var(--font-sans-sc);font-size:25px;font-weight:600;letter-spacing:-.03em;line-height:1.4}.tt-page-sub{margin-top:8px}.timetable{border-radius:6px}.tt-header{background:var(--surface)}.tt-header-cell{padding-block:16px;font-size:12px;font-weight:500}.tt-subject{border-radius:4px}.tt-subj-name{font-size:13px;line-height:1.5}.tt-room{font-size:11px;line-height:1.4;margin-top:2px}.tt-header-cell.today-header .tt-day-label{border-radius:4px;box-shadow:none}.chat-sidebar-header{padding:28px 20px 20px}.chat-sidebar-title{margin-bottom:20px}.chat-search-input{border-radius:4px;min-height:40px;font-size:12px}.chat-conv-item{padding:18px 20px;border-radius:0;border-bottom:1px solid var(--border)}.chat-conv-last{font-size:11px}.ai-window,.modal-panel,.tt-modal{border-radius:12px;box-shadow:0 18px 60px rgba(20,18,16,.14)}.modal-header{padding:22px 26px}.modal-title{font-family:var(--font-sans-sc);font-size:19px;font-weight:600}.modal-body{padding:26px}.ai-bubble-btn{width:46px;height:46px;border-radius:50%;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:0 4px 16px rgb(0 0 0/.08)}.ai-bubble-btn:hover{transform:none;box-shadow:0 6px 20px rgb(0 0 0/.12)}.ai-window:not(.ai-window-full){max-width:calc(100vw - 24px);max-height:calc(100dvh - 112px - env(safe-area-inset-bottom))}.ai-window{border-radius:18px;border-color:var(--border);box-shadow:0 16px 56px rgb(0 0 0/.14)}.ai-window-header{position:relative;padding:14px 16px;min-height:60px;flex-shrink:0;border-bottom:0;background:transparent;gap:12px}.ai-header-info{min-width:0;gap:9px}.ai-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:0;background:none;color:var(--text);flex-shrink:0}.ai-header-name{font-size:16px;font-weight:600;letter-spacing:-.02em}.ai-header-actions{display:flex;gap:2px;flex-shrink:0;align-items:center}.ai-icon-btn{width:32px;height:32px;padding:0;justify-content:center;border-radius:7px;color:var(--text2);text-decoration:none}.ai-options{position:relative}.ai-options>summary{list-style:none}.ai-options>summary::-webkit-details-marker{display:none}.ai-options[open]>summary{background:var(--bg2);color:var(--text)}.ai-options-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:3;width:194px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 8px 28px rgb(0 0 0/.14)}.ai-options-panel>:is(button,a){display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 10px;border:0;border-radius:6px;background:none;color:var(--text2);font-size:13px;text-align:left;text-decoration:none;cursor:pointer}.ai-options-panel button[aria-pressed=true],.ai-options-panel>:is(button,a):hover{background:var(--bg2);color:var(--text)}.ai-messages{min-height:0;padding:20px;gap:22px}.ai-welcome{align-items:center;text-align:center;gap:18px;padding:12px 0;margin-block:auto}.ai-welcome-brand{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--bg2);color:var(--text)}.ai-welcome-title{margin:0;font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.5}.ai-suggestions{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center}.ai-suggestion{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-height:36px;padding:8px 10px;border-radius:8px;border:0;background:var(--bg2);color:var(--text2);font-size:13px;font-weight:400;line-height:1.5}.ai-suggestion:hover{color:var(--text);background:var(--bg3)}.ai-suggestion svg{flex-shrink:0}.ai-msg-avatar{width:26px;height:26px;border-radius:50%;background:var(--bg2);color:var(--text2)}.ai-msg-bubble{max-width:100%;padding:0;border-radius:12px;font-size:15px;font-weight:400;line-height:1.8}.ai-msg-assistant .ai-msg-bubble{background:transparent}.ai-msg-user .ai-msg-bubble{width:-moz-fit-content;width:fit-content;max-width:90%;margin-left:auto;padding:10px 14px;background:var(--bg2);color:var(--text);border-radius:12px}.ai-input-area{flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 16px 20px;padding:12px;border:1px solid var(--border-strong);border-radius:14px;background:var(--bg)}.ai-input{flex:none;width:100%;min-height:34px;padding:0;border:0;border-radius:0;background:transparent;font-size:15px;line-height:1.6;box-shadow:none}.ai-input:focus,.ai-input:focus-visible{outline:none;border:0;box-shadow:none}.ai-input::placeholder{color:var(--text3)}.ai-input-toolbar{display:flex;align-items:center;gap:6px}.ai-attach-btn{width:36px;height:36px;border:0;border-radius:7px;color:var(--text2)}.ai-thinking-btn{width:auto;padding:0 9px;gap:5px;font-size:12px}.ai-attach-btn[aria-pressed=true]{background:var(--bg2);color:var(--text)}.ai-send-btn{width:36px;height:36px;margin-left:auto;border-radius:50%;background:var(--text);color:var(--surface)}.ai-send-btn:disabled{opacity:1;background:var(--bg2);color:var(--text3)}.ai-pending-atts{padding:8px 16px;border:0}.ai-att-file-chip{color:var(--text)}.ai-followup-chip{border-radius:7px;line-height:1.7}.ai-prompt-panel{flex-shrink:0;max-height:50%;overflow-y:auto;background:var(--bg)}.ai-prompt-input{border-radius:7px;background:var(--surface)}.ai-prompt-input:focus{border-color:var(--text3)}.ai-prompt-save{background:var(--text);color:var(--surface);border-radius:6px}.ai-history-panel{flex-shrink:0;background:var(--bg);padding:12px}.ai-history-title{font-size:12px;letter-spacing:0;text-transform:none}.ai-history-item{border-radius:5px;min-height:36px}.ai-history-open{display:flex;align-items:center;gap:6px;flex:1 1;min-width:0;padding:5px 0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.ai-history-title-text{color:var(--text);font-size:13px}.ai-history-delete{opacity:1;padding:6px}.ai-resize-handle{width:28px;height:28px;background:none;border-bottom-right-radius:18px;opacity:.6}.ai-resize-handle:after{content:"";position:absolute;right:5px;bottom:5px;width:11px;height:11px;background:linear-gradient(135deg,transparent 45%,var(--text3) 46% 54%,transparent 55%) no-repeat,linear-gradient(135deg,transparent 70%,var(--text3) 71% 79%,transparent 80%) no-repeat}.ai-window-full{border-radius:0;box-shadow:none}.ai-window-full .ai-window-header{cursor:default}.ai-window-full .ai-messages{padding:32px}.ai-window-full .ai-welcome{width:min(100%,420px);align-self:center}.ai-window-full .ai-input-area{margin:0 32px 24px}@media (max-width:420px){.ai-window-header{padding-inline:12px;gap:8px}.ai-messages{padding:16px}.ai-input-area{margin-inline:12px}.ai-window-full .ai-messages{padding:20px}.ai-window-full .ai-input-area{margin-inline:16px}}.create-btn,.post-btn,.profile-gh-cancel-btn,.profile-gh-edit-btn,.profile-gh-save-btn,.resources-write-btn{border-radius:4px;min-height:40px;padding:9px 16px;font-size:12px;font-weight:500}.resources-write-btn{background:var(--text);color:var(--surface)}.chip,.interest-btn,.resources-cat-chip,.toggle-btn,.tt-weekend-btn{border-radius:4px;padding:7px 12px;font-size:12px}.clubs-tabs{gap:24px;margin-bottom:28px}.clubs-tab{padding:12px 0 14px;font-size:13px;font-weight:400}.clubs-tab.active{color:var(--text);border-bottom-color:var(--text);font-weight:600}.semantic-search-wrapper,.tag-search-input-row{border-radius:4px;min-height:44px;background:var(--surface);box-shadow:none}.semantic-search-input,.tag-search-input{font-size:12px}.form-input{min-height:44px;border-radius:4px;background:var(--surface)}.form-input:focus-visible{outline-offset:2px}.login-container{min-height:100dvh;padding:32px}.login-card{border-radius:8px;box-shadow:none;padding:40px}.login-logo-en{font-family:var(--font-sans-sc);letter-spacing:-.035em}.login-mode-toggle{padding:3px;border:1px solid var(--border);border-radius:4px;background:var(--bg2);gap:3px}.login-mode-btn{border-radius:2px;padding:10px;font-size:12px;font-weight:400}.login-mode-btn.active{background:var(--surface);color:var(--text);box-shadow:none}.login-remember-row{gap:12px;justify-content:space-between;flex-wrap:wrap;margin-block:20px}.login-remember-label{font-size:12px}.login-btn{min-height:48px;font-size:13px;font-weight:500;border-radius:4px}.login-page{justify-content:center;padding:40px 48px 0}.login-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);width:100%;max-width:1240px;min-height:min(740px,calc(100dvh - 110px));margin-block:auto;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.login-story{display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;background:var(--bg2);color:var(--text);padding:48px}.login-story:after{display:none}.login-wordmark{display:flex;align-items:center;gap:18px;color:inherit;text-decoration:none;font-size:28px;letter-spacing:-.065em;font-weight:600}.login-wordmark span{padding-left:18px;border-left:1px solid var(--border);font-size:9px;font-weight:400;letter-spacing:.15em}.login-story-copy{margin-block:auto;padding-block:70px}.login-story .eyebrow{color:var(--text2);font-size:10px;letter-spacing:.12em}.login-story h1{margin:28px 0;font-size:clamp(32px,3.4vw,44px);line-height:1.6;letter-spacing:-.04em;font-weight:400}.login-story p{font-size:13px;line-height:2.1;color:var(--text2)}.login-story-topics{display:flex;flex-wrap:wrap;gap:18px;margin-top:36px;font-size:10px;color:var(--text2)}.login-story-topics span+span{border-left:1px solid var(--border);padding-left:18px}.login-story-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:9px;color:var(--text3);letter-spacing:.04em}.login-story-bottom span:last-child{font-size:8px;letter-spacing:.1em}[data-theme=dark] .login-story{background:var(--bg2);color:var(--text)}[data-theme=dark] .login-story:after{border-color:var(--border)}[data-theme=dark] .login-story :is(p,.login-story-topics,.login-story-bottom){color:var(--text2)}[data-theme=dark] .login-story .eyebrow{color:var(--accent-text)}[data-theme=dark] .login-story-topics span+span,[data-theme=dark] .login-wordmark span{border-color:var(--border)}.login-page .login-card{max-width:424px;padding:48px 40px;background:transparent;box-shadow:none;border:none;border-radius:0}.login-page .login-logo{text-align:left;margin-bottom:36px}.login-page .login-logo .eyebrow{color:var(--accent-text);margin-bottom:14px}.login-page .login-logo-en{color:var(--text);font-size:28px;font-weight:500}.login-page .login-logo-cn{font-size:12px;letter-spacing:0;line-height:1.8;margin-top:12px}.login-page .login-mode-toggle{margin-bottom:28px}.login-page .form-group{margin-bottom:22px}.login-page .form-label{margin-bottom:9px;font-size:12px}.login-page .form-input{min-height:48px;background:var(--bg);font-size:13px}.login-page .login-footer{margin-top:28px}@media (min-width:769px) and (max-width:1180px){:root{--sidebar-w:216px}.sidebar{padding-inline:12px}.page{padding-inline:30px}.home-overview{gap:28px}.home-dashboard{grid-template-columns:minmax(0,1.35fr) minmax(250px,1fr);gap:24px}.campus-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.campus-shortcut:nth-child(3){border-left:0;padding-left:0}.campus-shortcut:nth-child(n+3){border-top:1px solid var(--border)}.profile-gh{grid-template-columns:210px minmax(0,1fr);gap:24px}.profile-gh-left{padding:20px}.login-page{padding-inline:28px}.login-story{padding:36px}}@media (max-width:1000px){.home-dashboard,.home-overview{grid-template-columns:1fr;gap:28px}.quote-card,[data-theme=dark] .quote-card{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.home-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.clubs-grid,.resources-col-list{grid-template-columns:1fr}}@media (max-width:768px){.groo-page{bottom:calc(74px + env(safe-area-inset-bottom))}.page{padding:32px 20px}.page-title{font-size:28px}.page-heading{margin-bottom:28px}.page-description{margin-top:12px;font-size:13px}.page-heading .eyebrow{font-size:9px;margin-bottom:10px}.home-overview{gap:24px;padding-bottom:28px}.greeting-name{font-size:28px}.home-eyebrow{font-size:9px;margin-bottom:12px}.greeting-date{margin-top:12px;font-size:11px}.quote-card,[data-theme=dark] .quote-card{padding-top:22px}.quote-text{font-size:15px;max-width:none}.quote-label{gap:10px}.campus-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:32px}.campus-shortcut{padding:18px 10px;gap:8px}.campus-shortcut:nth-child(3){border-left:0;padding-left:0}.campus-shortcut:nth-child(n+3){border-top:1px solid var(--border)}.campus-shortcut strong{font-size:12px}.campus-shortcut .shortcut-arrow{display:none}.shortcut-icon{width:24px}.home-dashboard{gap:0}.home-secondary{grid-template-columns:1fr;gap:0}.hot-grid .hot-card{padding:22px 18px;grid-template-columns:22px minmax(0,1fr) 14px;gap:12px}.hot-title{font-size:14px;line-height:1.85}.hot-index{font-size:19px}.hot-meta{font-size:9px;line-height:1.8}.clubs-page-header{flex-wrap:wrap;gap:20px;margin-bottom:28px}.clubs-page-header .create-btn{margin:0}.clubs-grid{gap:16px}.club-card{padding:24px;min-height:260px}.club-name{font-size:19px}.club-card-banner{width:calc(100% + 48px);margin:-24px -24px 24px;height:128px}.club-card-bannered,.club-card-bannered.club-card-noicon{padding-top:24px}.club-footer-meta{gap:8px 12px}.composer,.post-item{padding:22px 20px}.post-body{font-size:14px;line-height:1.95}.post-actions{gap:20px}.resources-top-bar{gap:18px}.resources-tabs{gap:16px;max-width:100%}.resources-tab{font-size:11px;gap:5px;white-space:nowrap}.resources-tab svg{width:13px;height:13px}.resources-write-btn{margin-left:auto}.collection-card{padding:22px 20px;grid-template-columns:38px minmax(0,1fr) 24px;gap:14px;min-height:170px}.collection-card-cover,.collection-card-icon{width:38px;height:46px}.collection-card-title{font-size:17px}.collection-card-desc{font-size:12px}.collection-card-arrow-btn{width:24px;height:24px}.resources-article-list{padding-inline:20px}.article-card-title{font-size:18px}.article-card-excerpt{font-size:13px}.article-card-footer{flex-wrap:wrap;gap:14px}.profile-gh{grid-template-columns:1fr;gap:24px}.profile-gh-left{position:static;padding:24px}.profile-gh-section{padding:24px}.modal-body,.modal-header{padding:20px}.login-container{padding:24px 16px}.login-page{padding:16px 16px 0}.login-layout{grid-template-columns:1fr;max-width:480px;border-radius:8px}.login-story{padding:28px}.login-wordmark{font-size:24px}.login-wordmark span{font-size:8px}.login-story-copy{padding-block:32px 8px}.login-story p,.login-story-bottom,.login-story-copy>.eyebrow,.login-story-topics{display:none}.login-story h1{font-size:27px;margin:0;line-height:1.7}.login-page .login-card{max-width:none;padding:32px 24px}.login-page .login-logo{margin-bottom:24px}.login-page .login-logo-en{font-size:25px}.login-page .login-logo .eyebrow{font-size:9px;margin-bottom:8px}.login-page .login-logo-cn{margin-top:8px}}.home-page{max-width:1480px;padding:28px 32px}.home-page .greeting-bar{display:flex;justify-content:space-between;gap:20px;margin:0 0 26px;padding-bottom:20px;border-bottom:1px solid var(--border)}.home-greeting-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;min-width:0}.home-page .greeting-name{margin:0;font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.45}.home-page .greeting-date{margin:0;font-size:13px;font-weight:400}.home-page .home-dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);grid-template-areas:"schedule events" "feed events";grid-gap:28px 32px;gap:28px 32px;align-items:start}.home-schedule{grid-area:schedule;min-width:0}.home-community{grid-area:feed;min-width:0}.home-events{grid-area:events;min-width:0}.home-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.home-section-heading h2{margin:0;color:var(--text);font-size:17px;font-weight:600;line-height:1.5}.home-section-heading>a{display:inline-flex;align-items:center;gap:4px;color:var(--text3);font-size:12px;text-decoration:none}.home-section-heading>a:hover{color:var(--text)}.home-course-panel{padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.home-course-status{display:inline-block;padding:3px 8px;background:var(--bg2);color:var(--text2);border-radius:4px;font-size:12px}.home-course-status.is-current{color:var(--text);border-left:2px solid var(--green)}.home-course-focus h3{display:flex;align-items:center;gap:8px;margin:10px 0 6px;color:var(--text);font-size:21px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.home-subject-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.home-course-focus p{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;font-size:13px;line-height:1.7;color:var(--text2);overflow-wrap:anywhere}.home-course-focus .home-course-complete{color:var(--text2);font-size:14px}.home-course-following{padding:8px 0 0;margin:14px 0 0;list-style:none;border-top:1px solid var(--border)}.home-course-following li{display:grid;grid-template-columns:94px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:baseline;padding:9px 0;font-size:14px}.home-course-following time{color:var(--text3);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-course-following li>span{min-width:0;overflow-wrap:anywhere}.home-course-following .home-course-done{color:var(--text3);font-size:12px}.home-inline-state{padding:16px 0;color:var(--text3);font-size:14px;line-height:1.7}.home-inline-state p{margin:0 0 10px}.home-inline-state a{color:var(--text);text-underline-offset:3px}.home-inline-state button{min-height:40px;padding:8px 14px;background:var(--bg2);border:1px solid var(--border-strong);border-radius:4px;color:var(--text);cursor:pointer}.home-event{display:grid;grid-template-columns:72px minmax(0,1fr) 14px;align-items:start;grid-gap:12px;gap:12px;padding:16px 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.home-event:first-child{padding-top:0}.home-event:last-child{border-bottom:0}.home-event-visual{display:flex;align-items:center;justify-content:center;width:72px;height:76px;background:var(--bg2);color:var(--text2);border-radius:6px;overflow:hidden}.home-event-visual img{width:100%;height:100%;object-fit:cover}.home-event-when{color:var(--text3);font-size:12px;line-height:1.6}.home-event-body{min-width:0;overflow-wrap:anywhere}.home-event-body h3{margin:4px 0;font-size:15px;line-height:1.6;font-weight:600;color:var(--text)}.home-event-body p{margin:0;color:var(--text2);font-size:13px;line-height:1.6}.home-event-arrow{margin-top:28px;color:var(--text3)}.home-event:hover h3{text-decoration:underline;text-underline-offset:3px}.home-posts{border-top:1px solid var(--border)}.home-post{padding:20px 0;border-bottom:1px solid var(--border)}.home-post:last-child{border-bottom:0}.home-post-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-post-person{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--text);text-decoration:none}.home-post-author{display:block;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.home-post-person time{display:block;margin-top:2px;color:var(--text3);font-size:12px;line-height:1.5}.home-post-person:hover .home-post-author{text-decoration:underline;text-underline-offset:3px}.home-post-tag{padding:2px 6px;border:1px solid var(--border);border-radius:3px;color:var(--text2);font-size:11px}.home-post-content{display:block;margin:10px 0 0 42px;color:var(--text);text-decoration:none}.home-page .home-post .hot-title{margin:0;font-size:16px;font-weight:400;line-height:1.8;max-height:none;-webkit-line-clamp:3}.home-post-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:12px;color:var(--text3);font-size:12px;line-height:1.5}.home-post-footer span{display:inline-flex;align-items:center;gap:5px}.home-post-open{margin-left:auto}.home-post-content:hover .home-post-open{color:var(--text)}@media (max-width:1100px){.home-page .home-dashboard{grid-template-columns:1fr;grid-template-areas:"schedule" "events" "feed";gap:24px}.home-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.home-event{grid-template-columns:64px minmax(0,1fr);padding:0;border:0}.home-event-visual{width:64px;height:72px}.home-event-arrow{display:none}}@media (max-width:768px){.home-page{padding:20px 16px}.home-page .greeting-bar{margin-bottom:22px;padding-bottom:16px;gap:12px}.home-greeting-copy{display:flex}.home-page .greeting-name{font-size:22px}.home-page .greeting-date{margin-top:0;font-size:12px}.home-course-panel{padding:16px}.home-course-following li{gap:8px;grid-template-columns:88px minmax(0,1fr) auto}.home-event-list{display:block}.home-event{padding:12px 0;border-bottom:1px solid var(--border)}.home-post-content{margin-left:0}.home-post{padding-block:18px}}@media (min-width:769px){.profile-theme-toggle{display:none}}:root{--motion-fast:100ms;--motion-enter:160ms;--motion-ease:cubic-bezier(.2,.75,.25,1)}.page{animation:content-arrive var(--motion-enter) var(--motion-ease)}.modal-overlay,.tt-modal-overlay{background:var(--overlay);animation:overlay-arrive .1s ease-out}.ai-window:not(.ai-window-full),.modal-panel,.tt-modal{animation:panel-arrive var(--motion-enter) var(--motion-ease)}.ai-window-full{animation:none}.ai-history-panel,.ai-prompt-panel{animation:content-arrive .12s ease-out}button{transition:scale var(--motion-fast) var(--motion-ease)}.club-card,.collection-card,.incubator-card{transition:transform var(--motion-enter) var(--motion-ease)}.ai-mark,.ai-suggestion svg,.bottom-nav-icon-wrap,.club-open-arrow,.hot-arrow,.nav-icon,.shortcut-arrow{transition:transform var(--motion-fast) var(--motion-ease)}@keyframes content-arrive{0%{opacity:.92}to{opacity:1}}@keyframes overlay-arrive{0%{opacity:.85}to{opacity:1}}@keyframes panel-arrive{0%{opacity:.8;transform:translateY(5px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.club-card:hover,.collection-card:hover,.incubator-card:hover{transform:translateY(-2px)}.campus-shortcut:hover .shortcut-arrow,.club-card:hover .club-open-arrow,.hot-card:hover .hot-arrow,.nav-item:hover .nav-icon{transform:translateX(2px)}.bottom-nav-item:hover .bottom-nav-icon-wrap{transform:translateY(-2px)}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:is(.form-input,.composer-input,.chat-search-input,.semantic-search-wrapper,.tag-search-input-row,.comment-input,.ai-prompt-input,.ai-input-area){border-color:var(--border-strong)}.ai-input-area{transition:none}.ai-input-area:focus-within{border-color:transparent;outline:2px solid var(--border-strong);outline-offset:2px}.ai-input:focus-visible{outline:none}[data-theme=dark] .nav-item.active{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--border)}[data-theme=dark] :is(.card,.posts-feed,.collection-card,.resources-article-list,.profile-gh-left,.profile-gh-right){background-color:var(--surface)}[data-theme=dark] :is(.club-card,.collection-card,.incubator-card):hover{border-color:var(--border-strong)}[data-theme=dark] :is(.nav-item:not(.active),.ai-icon-btn,.ai-suggestion,.ai-attach-btn,.hot-card,.chat-conv-item:not(.active)):hover{background:var(--hover)}[data-theme=dark] .ai-history-item-active,[data-theme=dark] :is(.ai-icon-btn,.ai-attach-btn)[aria-pressed=true]{background:var(--bg3);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}[data-theme=dark] .chat-conv-item.active{background:var(--bg2);box-shadow:inset 3px 0 var(--accent)}[data-theme=dark] :is(.modal-panel,.tt-modal){border:1px solid var(--border-strong);box-shadow:0 20px 64px rgb(0 0 0/.44)}[data-theme=dark] .ai-window{border-color:var(--border);box-shadow:0 20px 64px rgb(0 0 0/.44)}[data-theme=dark] .ai-window-full{border-color:var(--border);border-inline:0;box-shadow:none}[data-theme=dark] .ai-step-done{color:#86EFAC;background:rgb(34 197 94/.1);border-color:rgb(134 239 172/.35)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:enabled:active{scale:none}}[data-theme] :is(button,input,select,textarea):disabled{opacity:1;background:var(--bg2);color:var(--text3);border-color:var(--border)}[data-theme=dark] a:hover,[data-theme=dark] button:enabled:hover{opacity:1}.tag-badge-link:hover{filter:none;opacity:1;text-decoration:underline}.chat-msg-favorite-sticker,.tag-chip-remove{opacity:1}.ai-pending-att.processing{opacity:1;border-style:dashed}.ai-att-file-chip{color:inherit;background:var(--bg2)}.ai-msg-user .ai-att-file-chip{color:var(--on-accent);background:transparent;border:1px solid}.admin-tag-green,.ai-step-done{color:var(--success-text)}.admin-owner-badge,.admin-tag-gold{color:var(--warning-text)}.admin-tag-blue{color:var(--link)}[data-theme=dark] .tag-club,[data-theme=dark] .tag-science{color:#86EFAC}[data-theme=dark] .tag-notice,[data-theme=dark] .tag-tech{color:#93C5FD}[data-theme=dark] .tag-arts,[data-theme=dark] .tag-event{color:#D8B4FE}[data-theme=dark] .tag-humanities{color:#FDBA74}[data-theme=dark] .tag-hot,[data-theme=dark] .tag-sports{color:#FCA5A5}[data-theme=dark] .tag-music{color:#F9A8D4}.add-to-col-item.done,.article-card-dot{opacity:1}.club-roster-admin{color:var(--on-accent2)}[data-theme] :is(input,textarea)::placeholder{color:var(--text3);opacity:1}.ai-resize-handle,.campus-shortcut .shortcut-arrow,.edit-permissions-panel:disabled{opacity:1}.ai-connection-panel{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:hidden;padding:16px;color:var(--text)}.ai-connection-heading{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ai-connection-heading h2{margin:0;font-size:16px;font-weight:600}.ai-connection-panel fieldset,.ai-connection-panel form{display:flex;flex-direction:column;flex:1 1;min-height:0}.ai-connection-panel fieldset{min-width:0;border:0;padding:0}.ai-connection-fields{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 6px 2px;scrollbar-width:thin}.ai-connection-panel label{display:block;margin:16px 0 6px;font-size:12px;font-weight:500;color:var(--text2)}.ai-connection-panel label:first-child{margin-top:0}.ai-connection-panel :is(input:not([type=checkbox]),select){width:100%;min-width:0;min-height:40px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;font-family:inherit}.ai-connection-panel :is(input,select):focus-visible{outline-offset:2px}.ai-key-input{display:flex;align-items:center;gap:4px;padding-right:4px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg)}.ai-key-input input:not([type=checkbox]){border:0;background:transparent}.ai-key-input:focus-within{outline:2px solid var(--border-strong);outline-offset:2px}.ai-key-input input:focus-visible{outline:none}.ai-key-saved{margin-left:6px;color:var(--success-text);font-weight:400}.ai-connection-advanced{margin-top:16px;padding-block:12px;border-block:1px solid var(--border)}.ai-connection-advanced summary{font-size:12px;color:var(--text2);cursor:pointer}.ai-connection-advanced p,.ai-connection-privacy{margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--text3)}.ai-connection-panel .ai-tools-option{display:flex;align-items:center;gap:8px;margin:12px 0 0}.ai-tools-option input{accent-color:var(--accent)}.ai-connection-actions{flex-shrink:0;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.ai-connection-actions .ai-prompt-save{margin-left:0;min-height:40px;padding:8px 16px}.ai-connection-remove{border:0;background:transparent;padding:8px 0;color:var(--danger);font-size:12px;cursor:pointer}.ai-connection-error,.ai-connection-note{margin:12px 0 0;font-size:12px;line-height:1.6}.ai-connection-error{color:var(--danger)}.ai-connection-note{color:var(--success-text)}.ai-api-btn{width:auto;padding:0 8px;gap:5px;font-size:12px}.ai-thinking-btn[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--bg2);color:var(--text)}.ai-response-pending{display:inline-flex;align-items:center;gap:8px;color:var(--text2);font-size:12px}.ai-window-full .ai-connection-panel{width:min(100%,560px);margin-inline:auto;padding:24px}.homework-summary{grid-column:1/-1}.homework-course-link{color:inherit}.home-course-homework{max-height:248px;overflow-y:auto;scrollbar-width:thin}.home-course-homework li{display:block;padding:0}.home-course-homework li>button{display:grid;width:100%;grid-template-columns:94px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:baseline;padding:10px 0;border:0;border-radius:4px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.home-course-homework li>button:hover{background:var(--hover)}.home-course-record{color:var(--text2);font-size:12px;white-space:nowrap}.page-homework{max-width:1040px}.homework-page-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.homework-page-heading .page-title{margin:0;font-size:24px}.homework-primary-btn,.homework-secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--border-strong);border-radius:6px;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.homework-primary-btn{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.homework-secondary-btn{color:var(--text2);background:var(--surface)}.tt-homework-entry{align-self:flex-start;margin-bottom:12px}.homework-editor{min-width:0}.homework-editor fieldset{min-width:0;border:0;padding:0}.homework-lesson-heading{margin-bottom:16px}.homework-lesson-heading h3{margin:0 0 4px;font-size:16px;font-weight:600}.homework-editor label,.homework-lesson-heading>span{font-size:12px;color:var(--text2)}.homework-editor label{display:block;font-weight:500;margin:16px 0 6px}.homework-editor :is(input:not([type=checkbox]):not([type=hidden]),textarea){display:block;width:100%;min-width:0;min-height:40px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:14px;line-height:1.6}.homework-editor textarea{resize:vertical;min-height:112px}.homework-form-row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px}.homework-form-row>div{flex:1 1;min-width:160px}.homework-character-count,.homework-hint{color:var(--text3);font-size:12px;line-height:1.6}.homework-editor .homework-share-option{display:flex;align-items:center;gap:8px;font-size:12px}.homework-share-option input{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.homework-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.homework-state{color:var(--text2);font-size:14px;padding-block:12px}.homework-error{margin-top:12px;color:var(--danger);font-size:14px;line-height:1.6}.homework-error button{padding:4px 8px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer}.homework-saved{color:var(--success-text);margin-top:12px;font-size:14px}.homework-shared{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.homework-shared h4{margin:0 0 8px;font-size:14px;font-weight:600}.homework-shared h4 span{font-weight:400;color:var(--text3);margin-left:8px}.homework-shared-record{padding:12px 0;border-bottom:1px solid var(--border)}.homework-shared-record p{margin:0 0 8px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.75}.homework-shared-record>div{color:var(--text3)}.homework-counts,.homework-shared-record>div{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.homework-counts{color:var(--text2);margin-bottom:16px}.homework-overdue{color:var(--danger)}.homework-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:24px}.homework-status-filter{display:flex;flex-wrap:wrap;gap:4px;width:100%}.homework-status-filter button{padding:8px 12px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text2);font-size:14px;cursor:pointer}.homework-status-filter button[aria-pressed=true]{background:var(--bg2);border-color:var(--border-strong);color:var(--text)}.homework-filters>label{display:flex;align-items:center;gap:8px;color:var(--text2);font-size:12px}.homework-filters select{max-width:220px;padding:8px;min-height:40px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text);background:var(--surface);font:inherit}.homework-group>h2{margin:24px 0 8px;color:var(--text2);font-size:14px;font-weight:600}.homework-record{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-top:1px solid var(--border)}.homework-check{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;padding:0;border:1px solid var(--border-strong);border-radius:4px;color:var(--on-accent);background:var(--surface);cursor:pointer}.homework-check[aria-pressed=true]{background:var(--accent)}.homework-record-body{flex:1 1;min-width:0}.homework-record-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.homework-record-heading strong{color:var(--text);font-size:14px;font-weight:600}.homework-record-heading>span{color:var(--text2);font-size:12px}.homework-record-heading>.homework-overdue{color:var(--danger)}.homework-record-body>p{margin:8px 0;color:var(--text);font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.homework-record.is-done .homework-record-body>p{text-decoration:line-through}.homework-record-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:var(--text3)}.homework-record-actions{display:flex;flex-shrink:0;gap:4px}.homework-record-actions button{display:grid;place-items:center;padding:4px;background:transparent;border:0;border-radius:4px;color:var(--text2);cursor:pointer}.homework-record-actions button:hover{background:var(--hover);color:var(--text)}.homework-empty{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--text2);padding:16px 0;font-size:14px}.homework-empty p{margin:0}.homework-empty a{display:inline-flex;align-items:center;gap:4px;color:var(--text2);text-decoration:none;font-size:12px}@media (max-width:768px){.homework-record-actions{flex-direction:column}.homework-page-heading{flex-wrap:wrap}.home-course-homework li>button{grid-template-columns:88px minmax(0,1fr) auto;gap:8px}.homework-filters select{max-width:180px}}.homework-summary{grid-area:homework}.home-page .home-dashboard{grid-template-areas:"schedule events" "homework events" "feed events"}@media (max-width:1100px){.home-page .home-dashboard{grid-template-areas:"schedule" "homework" "events" "feed"}}.homework-lesson-list{margin-top:20px}.homework-add{margin-top:12px}.homework-assignment-form{margin-top:20px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:6px}.homework-assignment-form h4{margin:0;font-size:16px;font-weight:600;color:var(--text)}.homework-record.is-done .homework-record-body>p{text-decoration:none;color:var(--text2)}.homework-completed-label{color:var(--success-text);font-weight:600}.homework-date-trigger{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:40px;padding:8px 12px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;font:inherit;font-size:14px;cursor:pointer}.homework-date-trigger svg{flex-shrink:0;color:var(--text2)}.homework-calendar{max-width:320px;margin-top:8px;padding:12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface)}.homework-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px}.homework-calendar-heading button{display:grid;place-items:center;width:32px;height:32px;padding:0;color:var(--text);background:transparent;border:0;border-radius:4px;cursor:pointer}.homework-calendar-days,.homework-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;text-align:center}.homework-calendar-weekdays{color:var(--text2);font-size:12px;margin-bottom:8px}.homework-calendar-days button{position:relative;min-width:0;height:32px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);font:inherit;font-size:14px;cursor:pointer}.homework-calendar :is(button:hover:not(:disabled),button:focus-visible){background:var(--bg2)}.homework-calendar .homework-calendar-days button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.homework-calendar-days button[aria-current=date]:after{content:"";position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}.homework-calendar button:disabled{color:var(--text3);cursor:not-allowed}[data-theme] .homework-calendar-days button:disabled{text-decoration:line-through;background:transparent;border-color:transparent}.homework-calendar-rule{margin:0 0 12px;color:var(--text2);font-size:12px;line-height:1.6}.homework-calendar-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;border-top:1px solid var(--border);padding-top:8px;font-size:12px;color:var(--text2)}.homework-calendar-footer>span{flex:1 0 100%}.homework-calendar-footer button{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.homework-calendar .homework-hint{margin:8px 0 0}.homework-calendar button:focus-visible,.homework-date-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:480px){.homework-assignment-form{padding:12px}.homework-calendar{padding:8px}}.homework-assignment-form .homework-character-count{display:block;margin-top:4px;text-align:right}.tt-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:4px}.tt-calendar-range{font-size:16px;font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tt-calendar-navigation{display:flex;align-items:center;gap:4px}.tt-calendar-navigation button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:14px}.tt-calendar-navigation .tt-this-week{padding-inline:12px}.tt-calendar-navigation button:hover:not(:disabled){background:var(--bg2);border-color:var(--border-strong)}.tt-day-label{display:flex;flex-direction:column;align-items:center;gap:4px}.tt-day-label .tt-day-name{color:var(--text2);font-size:12px}.tt-day-date{font-size:14px;font-weight:600;color:var(--text)}.tt-header-cell.today-header .tt-day-date{color:var(--on-accent)}.tt-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tt-homework-count{display:inline-flex;align-items:center;gap:4px;border-radius:4px;padding:2px 6px;color:var(--text);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-size:12px;line-height:1.4}.tt-homework-count.is-complete{color:var(--success-text)}.tt-recurring-note,.tt-summary-error{color:var(--text2);font-size:12px;line-height:1.6;margin:0}.tt-summary-error button{margin-left:8px;border:0;background:transparent;color:var(--text);text-decoration:underline;cursor:pointer}.lesson-homework-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-homework-heading h3{font-size:16px;font-weight:600;color:var(--text);margin:0}.lesson-homework-preview>.homework-hint{margin:8px 0 0}.lesson-homework-record{padding:16px 0;border-bottom:1px solid var(--border)}.lesson-homework-record-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--text2)}.lesson-homework-record-heading>span{display:inline-flex;align-items:center;gap:4px}.lesson-homework-record-heading button{padding:4px 8px;border:0;border-radius:4px;font:inherit;background:transparent;color:var(--text2);cursor:pointer}.lesson-homework-record-heading button:hover{background:var(--bg2);color:var(--text)}.lesson-homework-record p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.75;color:var(--text)}.lesson-homework-record time{font-size:12px;color:var(--text2)}.styled-select{position:relative;display:flex;align-items:center;gap:8px;min-width:0}.styled-select-label{font-size:12px;color:var(--text2);white-space:nowrap}.styled-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:8px 12px;max-width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;font:inherit;font-size:14px;cursor:pointer}.styled-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.styled-select-trigger svg{flex-shrink:0;color:var(--text2)}.styled-select-menu{position:absolute;z-index:30;top:calc(100% + 6px);right:0;min-width:100%;width:max-content;max-width:min(320px,calc(100vw - 40px));max-height:260px;overflow-y:auto;padding:4px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);box-shadow:0 8px 24px rgb(0 0 0/.12)}.styled-select-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;color:var(--text);font-size:14px;line-height:1.4;border-radius:4px;cursor:pointer}.styled-select-option.is-active{background:var(--bg2)}.styled-select-option[aria-selected=true]{font-weight:600}.styled-select-option>svg{flex-shrink:0}.styled-select-trigger:focus-visible,.tt-calendar-navigation button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:600px){.tt-calendar-toolbar{align-items:flex-start;flex-wrap:wrap}.tt-calendar-range{font-size:14px}.tt-calendar-navigation{margin-left:auto}.homework-filters .styled-select{max-width:100%}}.homework-dialog .modal-header{padding:12px 16px;min-height:48px}.homework-dialog .modal-title{font-size:16px}.homework-dialog .modal-body{padding:12px 16px 16px}.homework-context{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-height:28px;margin-bottom:12px;color:var(--text2);font-size:12px}.homework-context>strong{color:var(--text);font-size:16px;font-weight:600}.homework-context .homework-lesson-date,.homework-context>span{display:inline-flex;align-items:center;gap:4px}.homework-editor .homework-context label{margin:0}.homework-editor .homework-context .homework-lesson-date input{width:132px;min-height:28px;height:28px;padding:2px 6px;font-size:12px;background:transparent;border-color:var(--border)}.homework-assignment-form{margin-top:0;padding:0;background:transparent;border:0;border-radius:0}.homework-content-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.homework-content-label>div{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.homework-content-label .homework-character-count,.homework-editor .homework-content-label>label{margin:0}.homework-completion-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;min-height:32px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text2);font:inherit;font-size:12px;cursor:pointer}.homework-completion-toggle[aria-pressed=true]{color:var(--success-text)}.homework-editor .homework-assignment-form textarea{min-height:80px;margin-top:4px;padding:8px 10px;line-height:1.5}.homework-draft-toolbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 12px;margin-top:8px}.homework-date-picker.is-compact{width:auto}.homework-date-picker.is-compact .homework-date-trigger{width:auto;min-height:32px;justify-content:flex-start;gap:6px;padding:4px 8px;font-size:12px}.homework-draft-toolbar .homework-date-picker.is-open{width:100%;flex-basis:100%}.homework-date-picker.is-compact .homework-calendar{width:100%;max-width:280px}.homework-editor .homework-draft-toolbar .homework-share-option{min-height:32px;margin:0;gap:6px}.homework-editor-actions{gap:8px;margin-top:12px}.homework-editor-actions :is(.homework-primary-btn,.homework-secondary-btn){min-height:36px;padding:6px 12px}.homework-lesson-list{margin-top:0}.homework-record{gap:8px;padding:10px 0}.homework-check{width:28px;height:28px}.homework-record-body>p{margin:0 0 4px;line-height:1.5}.homework-record-body>p>strong{font-weight:600}.homework-content-separator{color:var(--text2)}.homework-record-actions{flex-direction:row;gap:0}.homework-record-actions button{min-width:32px;min-height:32px}.homework-inline-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;color:var(--text2);font-size:12px;line-height:1.5;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.homework-inline-meta :is(time,span){display:inline-flex;align-items:center;gap:4px}.homework-inline-meta svg{flex-shrink:0}.homework-inline-meta .homework-completed-label{color:var(--success-text)}.homework-other,.homework-shared{margin-top:12px;padding-top:8px;border-top:1px solid var(--border)}.homework-other>summary,.homework-shared>summary{display:flex;align-items:center;gap:6px;list-style:none;min-height:32px;color:var(--text2);font-size:12px;font-weight:500;cursor:pointer}.homework-other>summary::-webkit-details-marker,.homework-shared>summary::-webkit-details-marker{display:none}.homework-other>summary>svg:last-child,.homework-shared>summary>svg:last-child{margin-left:auto}.homework-other[open]>summary>svg:last-child,.homework-shared[open]>summary>svg:last-child{transform:rotate(180deg)}.homework-other>summary:focus-visible,.homework-shared>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.homework-shared>.homework-hint{margin:4px 0}.homework-state{margin:4px 0;padding-block:4px}.homework-shared-record{padding:8px 0}.homework-shared-record p{margin:0 0 4px;line-height:1.5}.homework-shared-record>div{gap:8px}.homework-error,.homework-saved{margin:8px 0 0}.homework-page-heading{margin-bottom:12px}.homework-counts{gap:8px 12px;margin-bottom:8px}.homework-filters{gap:8px 12px;margin-bottom:12px}.homework-status-filter{width:auto;gap:2px}.homework-filters .styled-select-trigger,.homework-status-filter button{padding:6px 10px;min-height:36px}.homework-group>h2{margin:16px 0 4px}.homework-summary .homework-record-body>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lesson-homework-heading h3{display:inline-flex;align-items:center;gap:8px;font-size:14px}.homework-preview-count{color:var(--text2);font-size:12px;font-weight:500}.lesson-homework-heading .homework-secondary-btn{min-height:32px;padding:4px 8px;font-size:12px}.lesson-homework-record{display:flex;align-items:flex-start;gap:8px;padding:10px 0}.lesson-homework-record>div{flex:1 1;min-width:0}.lesson-homework-record p{margin:0 0 4px;line-height:1.5}.lesson-homework-edit{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;padding:4px;border:0;border-radius:4px;background:transparent;color:var(--text2);cursor:pointer}.lesson-homework-edit:hover{background:var(--bg2);color:var(--text)}@media (max-width:480px){.homework-assignment-form{padding:0}.homework-record-actions{flex-direction:row}.homework-filters .styled-select{gap:6px}}.homework-workspace-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.homework-workspace-heading>div{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.homework-workspace-heading strong{font-size:14px;font-weight:600;color:var(--text)}.homework-workspace-heading span{display:inline-flex;align-items:center;gap:4px}.homework-workspace-heading span,.homework-workspace-status{color:var(--text2);font-size:12px}.homework-inline-row{display:grid;grid-template-columns:28px minmax(120px,1fr) auto;align-items:start;grid-gap:8px;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.homework-inline-row .homework-check{margin-top:4px;width:28px;height:28px}.homework-inline-content{min-width:0}:is(.homework-workspace,.homework-list) .homework-inline-row .homework-inline-content textarea{display:block;width:100%;min-width:0;min-height:36px;max-height:144px;padding:6px 8px;resize:none;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);font:inherit;font-size:14px;line-height:1.5;overflow-y:auto}:is(.homework-workspace,.homework-list) .homework-inline-row .homework-inline-content textarea:hover{border-color:var(--border)}:is(.homework-workspace,.homework-list) .homework-inline-row .homework-inline-content textarea:focus{border-color:var(--border-strong);outline:2px solid var(--accent);outline-offset:1px;background:var(--bg)}:is(.homework-workspace,.homework-list) .homework-inline-row.is-done .homework-inline-content textarea{color:var(--text2)}.homework-inline-subject{display:block;padding-left:8px;color:var(--text2);font-size:12px;font-weight:600}.homework-inline-controls{display:flex;align-items:center;gap:4px;padding-top:2px;white-space:nowrap}.homework-inline-controls .homework-date-trigger{min-height:32px;padding:4px 6px}.homework-editor .homework-inline-share,.homework-inline-share{display:inline-flex;align-items:center;gap:4px;margin:0;min-height:32px;padding:4px;font-size:12px;color:var(--text2);cursor:pointer}.homework-inline-share input{width:14px;height:14px;accent-color:var(--accent)}.homework-inline-sync{display:grid;place-items:center;width:14px;font-size:12px;color:var(--text2)}.homework-inline-delete{display:grid;place-items:center;width:28px;height:32px;padding:4px;border:0;border-radius:4px;background:transparent;color:var(--text2);cursor:pointer}.homework-inline-delete:hover{background:var(--bg2);color:var(--danger-text,var(--danger))}.homework-inline-error{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 8px;font-size:12px;line-height:1.5;color:var(--danger-text,var(--danger))}.homework-inline-error button{display:inline-flex;gap:4px;color:inherit;text-decoration:underline}.homework-add-line,.homework-inline-error button{align-items:center;border:0;background:transparent;font:inherit;cursor:pointer}.homework-add-line{display:flex;gap:6px;width:100%;min-height:36px;padding:8px 0;color:var(--text2);text-align:left;font-size:14px}.homework-add-line:hover{color:var(--text)}.homework-peer-reference{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.homework-peer-reference>summary{display:flex;align-items:center;gap:6px;min-height:32px;list-style:none;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;border-radius:4px}.homework-peer-reference>summary::-webkit-details-marker{display:none}.homework-peer-reference>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.homework-peer-reference[open]>summary{margin-bottom:8px}.homework-peer-reference .homework-peer-caption,.homework-peer-reference .homework-peer-total{color:var(--text2);font-size:12px;font-weight:400}.homework-peer-caption{margin-left:auto}.homework-peer-chevron{flex-shrink:0;color:var(--text2)}.homework-peer-reference[open] .homework-peer-chevron{transform:rotate(180deg)}.homework-peer-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.homework-peer-row>div{flex:1 1;min-width:0}.homework-peer-row p{margin:0 0 4px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text2);font-size:14px;line-height:1.5}.homework-peer-count{display:block;margin-top:4px;color:var(--text2);font-size:12px}.homework-peer-copy{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;min-height:32px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;cursor:pointer}.homework-calendar-popover{z-index:12000;margin:0;max-width:none;overflow-y:auto;box-sizing:border-box;box-shadow:0 12px 36px rgb(0 0 0/.2);font-family:var(--font-sans-sc)}.homework-calendar-popover .homework-calendar-heading{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface);padding-block:4px}.homework-quick-add{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:6px}.homework-quick-add>label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2)}.homework-quick-add input{width:132px;min-height:32px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font:inherit;font-size:12px}.homework-quick-add :is(.styled-select-trigger,.homework-secondary-btn){min-height:32px;padding:4px 8px;font-size:12px}.homework-summary .homework-inline-share>span{display:none}@keyframes homework-sync-spin{to{transform:rotate(1turn)}}.homework-sync-spin{animation:homework-sync-spin .8s linear infinite}@media (prefers-reduced-motion:reduce){.homework-sync-spin{animation:none}}@media (max-width:600px){.homework-inline-row{grid-template-columns:28px minmax(0,1fr);gap:4px 6px}.homework-inline-controls{grid-column:2;justify-content:flex-end;padding-top:0}.homework-peer-row{gap:8px}.homework-peer-copy{max-width:120px}.homework-quick-add{padding:8px}}.tt-modal.tt-modal-homework{max-width:760px}.homework-calendar-heading .homework-calendar-today{width:auto;padding-inline:6px;font-size:12px;font-weight:500}.homework-calendar-popover .homework-calendar-footer{padding-top:8px;margin-top:8px}.board-public-page{min-height:100dvh;background:var(--bg);color:var(--text);padding:0 24px 32px}.board-shell{max-width:960px;margin-inline:auto}.board-directory-row,.board-page-heading,.board-subject>header,.board-toolbar,.board-topbar,.board-topbar>div{display:flex;align-items:center;gap:12px;justify-content:space-between}.board-topbar{min-height:64px;border-bottom:1px solid var(--border);font-size:14px}.board-directory-row,.board-topbar a,a.board-secondary,a.board-text-button{color:inherit;text-decoration:none}.board-wordmark{font-size:18px;font-weight:700}.board-wordmark span{font-size:14px;color:var(--text2);margin-left:12px;font-weight:500}.board-page-heading{padding-block:24px 16px}.board-page-heading h1{font-size:24px;line-height:1.3;font-weight:600;margin:0;overflow-wrap:anywhere}.board-page-heading p{display:flex;align-items:center;gap:6px;color:var(--text2);font-size:13px;margin:8px 0 0}.board-icon,.board-primary,.board-secondary,.board-text-button{display:inline-flex;justify-content:center;align-items:center;gap:6px;font:inherit;font-size:13px;cursor:pointer;border-radius:4px;line-height:1.4;white-space:nowrap}.board-primary,.board-secondary{min-height:36px;padding:6px 12px;border:1px solid var(--border-strong)}.board-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.board-secondary{background:var(--surface);color:var(--text)}.board-text-button{padding:6px}.board-icon,.board-text-button{background:none;border:0;color:var(--text2);min-height:32px}.board-icon{padding:8px;min-width:32px}:is(.board-icon,.board-text-button):hover{color:var(--text);background:var(--bg2)}:is(.board-primary,.board-secondary,.board-text-button,.board-icon):disabled{cursor:default;opacity:.6}:is(.board-shell,.board-directory) :is(button,input,textarea,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.board-toolbar{flex-wrap:wrap;margin-block:8px 16px}.board-view-tabs{display:flex;gap:4px}.board-view-tabs button{font:inherit;font-size:14px;border:0;border-radius:4px;padding:8px 12px;background:transparent;color:var(--text2);cursor:pointer}.board-view-tabs button[aria-pressed=true]{background:var(--bg2);color:var(--text);font-weight:600}.board-counts,.board-view-tabs span{font-size:12px;color:var(--text2);font-weight:400}.board-counts{margin-right:auto}.board-new-assignment,.board-subject{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px 16px;margin-block:12px}.board-subject>header{border-bottom:1px solid var(--border);padding-bottom:8px}:is(.board-subject,.board-directory,.board-new-assignment) h2{font-size:14px;font-weight:600;margin:0}.board-subject h2 span{margin-left:8px;font-size:12px;font-weight:400;color:var(--text2)}.board-item{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding-block:12px;border-bottom:1px solid var(--border)}.board-item:last-child{border-bottom:0;padding-bottom:0}.board-item-main{flex:1 1;min-width:120px}.board-item-main p{font-size:14px;font-weight:500;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 4px}.board-deadline{display:inline-flex;align-items:center;gap:4px;color:var(--text2);font-size:12px}.board-deadline.is-overdue,.board-error{color:var(--danger)}.board-row-actions{display:flex;align-items:center;gap:4px}.board-error{font-size:13px;line-height:1.6;width:100%;margin-block:8px}.board-footer,.board-hint,.board-import-success{color:var(--text2);font-size:12px;line-height:1.6;margin:4px 0}.board-import-success{flex-basis:100%}.board-import-success a{color:var(--text);margin-left:8px}.board-footer{padding-block:12px}.board-state{color:var(--text2);padding:24px 0;font-size:14px}.board-edit-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:start;grid-gap:8px 12px;gap:8px 12px;width:100%;padding-block:8px}:is(.board-edit-row,.board-import,.board-create) label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text2);min-width:0}:is(.board-edit-row,.board-import,.board-create) :is(input,textarea){border:1px solid var(--border-strong);border-radius:4px;min-height:36px;padding:6px 8px;background:var(--bg);color:var(--text);font:inherit;font-size:14px;width:100%;box-sizing:border-box}.board-edit-row textarea{min-height:72px;resize:vertical;line-height:1.5}.board-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:20px}.board-conflict{grid-column:1/-1;padding:12px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg2);color:var(--text);font-size:13px}.board-conflict p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.board-conflict>div{display:flex;flex-wrap:wrap;gap:12px}.board-conflict button{font:inherit;color:var(--text);background:var(--surface);padding:6px 8px;border:1px solid var(--border-strong);border-radius:4px;cursor:pointer}.board-edit-row>.board-error{grid-column:1/-1}.board-import{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;padding:12px;border-radius:4px;background:var(--bg2)}.board-import,.board-import>.board-error,.board-import>.board-hint{flex-basis:100%}.board-import .styled-select{min-width:160px}.board-new-assignment h2{margin-bottom:8px}.board-create{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px 12px;padding:16px;margin-bottom:24px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.board-create label{flex:1 1;min-width:160px}.board-create .board-hint{flex-basis:100%}.board-directory-row{padding:16px 0;border-bottom:1px solid var(--border)}.board-directory-row div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.board-directory-row strong{font-size:14px;font-weight:600}.board-directory-row span{font-size:12px;color:var(--text2)}@media (max-width:600px){.board-public-page{padding-inline:16px}.board-page-heading{gap:8px;align-items:flex-start}.board-page-heading h1{font-size:20px}.board-new-assignment,.board-subject{padding:12px}.board-edit-row{grid-template-columns:1fr}.board-edit-actions{padding-top:0}.board-item-main{flex-basis:100%}.board-row-actions{margin-left:auto}.board-import>.styled-select,.board-import>label{flex:1 0 100%}.board-counts{flex-basis:100%;order:3}.board-toolbar>.board-primary{margin-left:auto}.board-topbar{gap:8px}}.board-edit-subject>label{margin-bottom:4px}.board-subject-picker{position:relative}.board-subject-picker>input{padding-right:28px}.board-subject-picker>svg{position:absolute;right:8px;top:11px;color:var(--text2);pointer-events:none}.board-subject-options{position:absolute;z-index:60;top:calc(100% + 4px);left:0;min-width:180px;max-height:240px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);padding:4px;box-shadow:0 8px 24px rgb(0 0 0/.15)}.board-subject-options [role=option]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px;border-radius:4px;cursor:pointer;font-size:14px;color:var(--text)}.board-subject-options [role=option].is-active{background:var(--bg2)}.board-subject-options [aria-selected=true]{font-weight:600}.board-subject-options p{margin:4px;color:var(--text2);font-size:12px}.board-subject-validation{display:block;color:var(--danger);font-size:12px;margin-top:4px}.board-auto-archived{display:inline-block;margin-left:8px;color:var(--text2);font-size:12px}.homework-binding-trigger{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--text2);font:inherit;font-size:12px;min-height:32px;padding:4px;border-radius:4px;cursor:pointer;white-space:nowrap}.homework-binding-trigger:hover{background:var(--bg2);color:var(--text)}.homework-binding-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.homework-binding-editor{grid-column:1/-1;padding:12px;background:var(--bg2);border-radius:4px;margin-top:4px}.homework-binding-editor fieldset{margin:0;padding:0;border:0;min-width:0}.homework-binding-toggle{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;color:var(--text2);font-size:13px}.homework-binding-toggle input[type=checkbox]{width:14px;height:14px;min-height:0;margin:0;padding:0;accent-color:var(--accent)}.homework-binding-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin-top:8px}.homework-binding-fields>label{display:flex;flex-direction:column;gap:4px;color:var(--text2);font-size:12px}.homework-binding-fields input[type=date]{min-height:36px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);font:inherit;font-size:14px}:is(.homework-binding-fields,.homework-independent-add) .board-edit-subject{width:160px}.homework-add-label,:is(.homework-binding-fields,.homework-independent-add) .board-edit-subject>label{display:block;margin-bottom:4px;color:var(--text2);font-size:12px}:is(.homework-binding-fields,.homework-independent-add) .board-subject-picker>input{width:100%;min-height:36px;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:4px;padding:6px 28px 6px 8px;font:inherit;font-size:14px;color:var(--text);background:var(--surface)}.homework-independent-add .homework-binding-toggle{align-self:center}@media (max-width:600px){.homework-binding-fields>.board-edit-subject,.homework-binding-fields>.styled-select{flex:1 0 100%}.homework-inline-controls{flex-wrap:wrap}.homework-inline-controls .homework-inline-share>span{display:none}}.homework-composer{margin-bottom:16px;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.homework-composer-content{position:relative;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg)}.homework-composer-content:focus-within{outline:2px solid var(--accent);outline-offset:1px}.homework-composer-content>svg{position:absolute;left:12px;top:12px;color:var(--text2);pointer-events:none}.homework-composer-content textarea{display:block;width:100%;box-sizing:border-box;min-height:64px;max-height:160px;padding:10px 12px 10px 38px;border:0;border-radius:inherit;outline:0;background:transparent;color:var(--text);font:inherit;font-size:14px;line-height:1.6;resize:vertical}.homework-composer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;margin:10px 0 0;padding:0;border:0}.homework-binding-fields>.board-edit-subject.is-compact,.homework-composer .board-edit-subject.is-compact{flex:0 0 108px;width:108px}.board-edit-subject.is-compact>label.sr-only{margin:0}.board-subject-picker>svg.board-subject-leading{left:8px;right:auto}.board-subject-picker>input,:is(.homework-binding-fields,.homework-independent-add) .board-subject-picker>input{padding-left:30px}.homework-composer .board-subject-picker>input{width:100%;box-sizing:border-box;min-height:34px;padding:6px 28px 6px 30px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg);color:var(--text);font:inherit;font-size:13px}.homework-binding-fields .homework-date-trigger,.homework-composer .homework-date-trigger{min-height:34px;padding:5px 7px;font-size:12px}.homework-icon-toggle,.homework-inline-controls .homework-binding-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text2);cursor:pointer}.homework-icon-toggle:hover:not(:disabled),.homework-inline-controls .homework-binding-trigger:hover{background:var(--bg2);color:var(--text)}.homework-icon-toggle[aria-checked=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.homework-inline-controls .homework-binding-trigger[data-bound=true]{border-color:var(--border-strong);background:var(--bg2);color:var(--text)}.homework-icon-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.homework-icon-toggle:disabled{opacity:.5;cursor:default}.homework-course-field{position:relative;min-width:0;width:164px}.homework-course-field>svg{position:absolute;z-index:1;left:8px;top:10px;color:var(--text2);pointer-events:none}.homework-course-field .styled-select{display:block;min-width:0;width:100%}.homework-course-field .styled-select-label{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.homework-course-field .styled-select-trigger{width:100%;min-height:34px;padding:5px 7px 5px 30px;font-size:12px}.homework-course-field .styled-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homework-composer-submit{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;margin-left:auto;padding:5px 8px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:var(--on-accent);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.homework-composer-submit:disabled{opacity:.5;cursor:default}.homework-composer .board-subject-validation{margin-top:0}@media (max-width:600px){.homework-composer{padding:10px}.homework-binding-fields>.board-edit-subject.is-compact,.homework-composer .board-edit-subject.is-compact{flex:0 0 104px;width:104px}.homework-binding-fields>.homework-course-field{flex:0 1 164px}.board-import>.homework-date-picker{flex:0 0 auto}}.homework-binding-editor fieldset{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.homework-binding-editor .homework-binding-fields{display:contents;margin:0}.homework-binding-editor fieldset>:is(.homework-hint,.homework-error){flex-basis:100%}