/* Current workspace design. One shell and component layer for all screen sizes. */
:root{--xu-bg:#f5f7fb;--xu-surface:#fff;--xu-soft:#eef3fc;--xu-ink:#18263d;--xu-muted:#64748b;--xu-line:#e5eaf1;--xu-brand:#285de5;--xu-ring:#91adff;--xu-radius:13px;--xu-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
html:not(.theme-light){--xu-bg:#0e1726;--xu-surface:#17243a;--xu-soft:#22334e;--xu-ink:#e8effa;--xu-muted:#a4b4cc;--xu-line:#33455e;--xu-brand:#92b5ff}
html{--base:var(--xu-bg);--surface:var(--xu-surface);--surface2:var(--xu-soft);--text:var(--xu-ink);--muted:var(--xu-muted);--border:var(--xu-line);--blue:var(--xu-brand);scroll-behavior:auto}
html.theme-light{--base:var(--xu-bg);--surface:var(--xu-surface);--surface2:var(--xu-soft);--text:var(--xu-ink);--muted:var(--xu-muted);--border:var(--xu-line);--blue:var(--xu-brand)}
body{background:var(--xu-bg);color:var(--xu-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}
[hidden]{display:none!important}button,a,summary{touch-action:manipulation}button{color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--xu-ring);outline-offset:3px}
.shell{display:block!important;background:transparent;min-height:100vh}.workspace{width:100%;min-width:0}.workspace main{max-width:1220px;padding:32px 30px 72px;margin:auto}
.x-v7-header{position:sticky;top:0;z-index:90;background:var(--xu-surface);border-bottom:1px solid var(--xu-line)}
.x-v7-header-inner{max-width:1220px;min-height:74px;padding:0 30px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}
.x-v7-brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:20px;font-weight:750;color:var(--xu-ink)}
.x-v7-brand-mark{display:grid;place-items:center;width:33px;height:35px;border:2px solid var(--xu-brand);border-radius:4px 12px 4px 4px;color:var(--xu-brand);font-size:19px}
.x-v7-header .main-nav{display:flex;gap:5px}.x-v7-header .nav-link{display:flex;align-items:center;gap:7px;justify-content:center;min-height:44px;min-width:62px;padding:10px 15px;border-radius:8px;border:0;background:transparent;box-shadow:none;color:var(--xu-muted);font-size:14px;font-weight:550}
.x-v7-header .nav-link.active,.x-v7-header .nav-link:hover{background:var(--xu-soft);color:var(--xu-brand);box-shadow:none}.xu-nav-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.x-v8-header-actions,.xu-header-tools{display:flex;gap:8px;align-items:center}.xu-header-tools .header-date{display:none}.x-v8-header-theme,.xu-header-tools .search-action{display:grid;place-items:center;min-width:44px;min-height:44px;padding:9px;border:0;background:transparent;color:var(--xu-muted);border-radius:8px}.xu-header-tools .search-action{width:44px;height:44px}.x-v8-header-theme:hover,.xu-header-tools .search-action:hover{background:var(--xu-soft)}.x-v8-header-theme .dorm-ui-icon{width:19px;height:19px}.x-v8-icon-sun{display:none}html:not(.theme-light) .x-v8-icon-sun{display:block}html:not(.theme-light) .x-v8-icon-moon{display:none}.x-v8-search-label,.x-v8-shortcut{display:none}
.xu-header-tools .v4-add{display:flex;gap:5px;align-items:center;justify-content:center;min-height:44px;width:auto;padding:7px 13px;border-radius:8px;background:var(--xu-brand);border:0;color:var(--xu-surface);font-size:21px;box-shadow:none}.v4-add-label{font-size:12px}
.heading{margin:0 0 24px}.heading h1,.x-v7-home-intro h1{font-size:27px;letter-spacing:-.7px;line-height:1.4;font-weight:700;margin:0}.xu-page-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.x-v7-home-date{margin:5px 0 0;color:var(--xu-muted);font-size:13px}
#app .card{background:var(--xu-surface);border:1px solid var(--xu-line);border-radius:var(--xu-radius);box-shadow:none;padding:22px;min-width:0;color:var(--xu-ink)}.card-header{margin-bottom:15px;gap:12px}.card-title{font-size:16px;font-weight:650}.card-title small{font-size:12px;font-weight:400;color:var(--xu-muted);margin-left:7px}
#app .primary,.primary{background:var(--xu-brand);border:1px solid var(--xu-brand);color:var(--xu-surface);border-radius:8px;box-shadow:none;min-height:44px;padding:10px 16px;font-size:13px;font-weight:600}
#app .secondary,.secondary{background:var(--xu-surface);border:1px solid var(--xu-line);color:var(--xu-ink);border-radius:8px;box-shadow:none;min-height:44px;padding:9px 13px;font-size:13px}
#app .primary:hover,#app .secondary:hover{filter:brightness(.97)}.action-link{color:var(--xu-brand);font-size:12px;min-height:44px;display:inline-flex;align-items:center;padding:6px 0}.muted,.entry-sub{color:var(--xu-muted)}.entry-sub{font-size:12px;line-height:1.65}.small{font-size:12px}.tiny{font-size:11px}.entry-title{font-size:14px;font-weight:550;color:var(--xu-ink)}
#app .empty,.friendly-empty{color:var(--xu-muted);font-size:13px;line-height:1.7;padding:25px 10px;text-align:center;border:0}.friendly-empty strong,.friendly-empty span{display:block}.friendly-empty .action-link{display:flex;justify-content:center}.x-v91-course-empty{display:flex;align-items:flex-start;text-align:left;gap:10px;flex-direction:column}.x-v91-course-empty strong{color:var(--xu-ink)}
#app .v4-hero.x-v7-home-intro{display:block;min-height:0;padding:0;margin:0 0 24px;border:0;border-radius:0;background:transparent;color:var(--xu-ink);overflow:visible;box-shadow:none}.x-v7-home-intro:before,.x-v7-home-intro:after{display:none}.x-v7-day-selector{display:flex;background:var(--xu-soft);padding:3px;border-radius:8px;gap:3px}.x-v7-day-chip{border:0;background:transparent;color:var(--xu-muted);min-height:38px;padding:7px 12px;border-radius:6px;font-size:12px;white-space:nowrap}.x-v7-day-chip.selected{background:var(--xu-surface);color:var(--xu-brand)}
.x-v91-next-area{margin-top:23px}.x-v91-next-summary,.x-v91-next-empty{border:1px solid var(--xu-line);border-left:4px solid var(--xu-brand);border-radius:12px;background:var(--xu-surface);color:var(--xu-ink);padding:22px 25px;display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;gap:15px}.x-v91-next-summary>span:first-child{display:grid;gap:5px}.x-v91-next-summary strong{font-size:22px;font-weight:650}.x-v91-next-summary small{font-size:12px;color:var(--xu-brand)}.x-v91-next-summary span span{font-size:13px;color:var(--xu-muted)}.x-v91-next-summary>span:last-child{font-size:23px}.x-v91-next-empty{padding:12px 22px;font-size:13px;color:var(--xu-muted)}
.xu-section-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.xu-section-toolbar h2{font-size:17px;font-weight:650;margin:0}.home-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.v4-main-widgets .home-widget{min-height:0}.home-panel .entry{padding:16px 0}.home-panel .entry:last-child{border:0}.home-widget .task-item{border-left:0;border-right:0;border-radius:0;padding:16px 0;background:transparent;margin:0}.home-widget .task-item:first-of-type{border-top:1px solid var(--xu-line)}.home-widget .pill{white-space:normal}.home-widget .xu-cloud-task{flex-wrap:wrap}.home-widget .xu-cloud-task .task-main{flex-basis:70%}.home-widget .xu-cloud-task button{margin-left:auto}.x-v7-home-notices{margin-top:23px}.x-v7-home-notices .x-v7-notice-date{display:block}.x-v7-home-notices .x-v7-notice-item{grid-template-columns:60px minmax(0,1fr) auto}.home-widget .panel-stat{display:none}.v4-expansion summary{min-height:44px}.life-preview{display:flex;gap:24px}.life-preview b{font-size:24px}.life-preview span{font-size:12px}
#app .task-item{background:var(--xu-surface);border-color:var(--xu-line);box-shadow:none;gap:12px}.v4-task-list .task-item{border:0;border-bottom:1px solid var(--xu-line);border-radius:0;margin:0;padding:18px 0}.v4-task-list .task-item:last-child{border-bottom:0}.v4-task-list{padding-top:0}.x-v92-task-toggle{display:grid;place-items:center;flex:0 0 44px;min-height:44px;width:44px;cursor:pointer}.x-v92-task-toggle input[type=checkbox]{width:21px;height:21px;accent-color:var(--xu-brand)}.task-actions .icon-btn{min-width:44px;min-height:44px;color:var(--xu-muted)}.task-actions{gap:2px}.task-main.done .entry-title{color:var(--xu-muted)}.task-platform-status{font-size:12px}.task-context{margin:16px 0 12px}.v4-task-toolbar{gap:15px}.v4-filters{gap:4px}.filter-btn{background:transparent;border:0;border-radius:8px;color:var(--xu-muted);min-height:44px;padding:9px 15px}.filter-btn.active{background:var(--xu-soft);color:var(--xu-brand)}select[data-task-source]{max-width:155px;min-height:44px;border:1px solid var(--xu-line);background:var(--xu-surface);color:var(--xu-muted);border-radius:8px;padding:9px}.xu-task-tools{position:relative}.xu-task-tools>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--xu-muted);padding:8px 12px}.xu-task-menu{position:absolute;right:0;top:100%;min-width:170px;padding:10px 15px;background:var(--xu-surface);border:1px solid var(--xu-line);border-radius:9px;box-shadow:0 10px 28px #14274020;z-index:12}.xu-task-menu button{display:block;text-align:left;width:100%}.xu-review-hint{margin:8px 0 20px}.xu-inbox-panel{margin-top:16px}
.x-v7-secondary{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--xu-line);padding:0 0 12px;margin-bottom:22px}.x-v7-secondary button{border:0;background:none;border-radius:8px;color:var(--xu-muted);padding:10px 16px;min-height:44px;white-space:nowrap;font-size:14px}.x-v7-secondary button.selected{background:var(--xu-soft);color:var(--xu-brand)}.x-v7-academic-card h2{font-size:18px;margin:0 0 14px}.x-v7-services-head{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.x-v83-notice-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 0}.x-v83-notice-search{display:flex;align-items:center;gap:9px;flex:1 1 230px;border:1px solid var(--xu-line);border-radius:8px;padding:0 12px;min-width:0;min-height:44px;background:var(--xu-surface);color:var(--xu-muted)}.x-v83-notice-search input{border:0;background:transparent;color:var(--xu-ink);padding:10px 0;min-width:0;width:100%;font-size:13px}.x-v83-notice-search:focus-within{outline:3px solid var(--xu-ring);outline-offset:2px}.x-v83-notice-search .dorm-ui-icon{width:18px;height:18px}.x-v7-notice-filters{margin:0;flex-wrap:wrap}.x-v7-notice-filters button{min-height:44px}.x-v7-notice-row{min-width:0}.x-v7-notice-row:hover{background:var(--xu-soft)}.x-v7-mark-read,.x-v7-mark-all{min-height:44px}.x-v7-notice-topic{color:var(--xu-brand)}.x-v7-alert-pref>span{color:var(--xu-muted);font-size:12px}
#app .xu-connections-page{display:flex;flex-direction:column;gap:18px}.xu-connection-source{align-items:flex-start}.xu-connection-copy{min-width:0}.xu-connection-copy strong{font-size:15px}.xu-connection-copy small{font-size:12px}.xu-connection-actions{flex-wrap:wrap;justify-content:flex-end}.xu-connection-actions .xu-private-status{max-width:240px;white-space:normal;text-align:right;border:0;background:var(--xu-soft);border-radius:5px}.xu-school-session-tools{display:flex;gap:8px;flex-wrap:wrap}.xu-school-manage>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--xu-brand)}.xu-school-manage-body{padding:14px 0}.xu-school-connect{max-width:650px}.xu-school-connect .button-row{gap:8px}.xu-connection-more>summary,.xu-settings-more>summary{min-height:44px;cursor:pointer}.xu-settings-more .page-grid{margin-top:18px}.xu-connection-primary-actions{margin-bottom:15px}.xu-private-panel .card-title{display:none}.xu-private-panel .card-header{justify-content:flex-end}
#app .v4-profile-card{max-width:800px;padding:8px 22px 18px}.v4-profile-head{padding:14px 0}.v4-profile-link{min-height:66px;padding:13px 3px;gap:14px}.v4-profile-symbol{background:none;width:28px;height:28px;border-radius:0}.v4-profile-symbol svg{width:22px;height:22px}.v4-profile-link b{font-size:20px;color:var(--xu-muted)}.x-v7-legacy-links{border-top:1px solid var(--xu-line);margin-top:18px;padding-top:10px}.x-v7-legacy-links summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--xu-muted)}.x-v7-legacy-list{display:flex;gap:8px;flex-wrap:wrap}.x-v7-legacy-list button{background:var(--xu-soft);border:1px solid var(--xu-line);border-radius:8px;min-height:44px;padding:9px 13px;color:var(--xu-ink)}
.pill{background:var(--xu-soft);border-color:var(--xu-line);color:var(--xu-brand);border-radius:5px}.pill.orange{background:#fff1e9;border-color:#f5dfd2;color:#9c4e2e}.pill.green{background:#eaf6f0;border-color:#d4e8de;color:#327554}.theme-light .entry-title,.theme-light .entry-sub{color:inherit}.theme-light .entry-sub{color:var(--xu-muted)}.editor{background:var(--xu-surface);color:var(--xu-ink);border-color:var(--xu-line)}.editor::backdrop{background:#13243b66;backdrop-filter:none}.toast{background:#25364e;border-color:#40536f;color:#fff;box-shadow:0 5px 20px #17263a20}.search-result{color:var(--xu-ink)}.search-result:hover{background:var(--xu-soft)}.v42-day-picker button{min-height:46px}.v42-day-picker button[aria-pressed=true],.v42-segments button[aria-pressed=true]{font-weight:700}.xu-work-details>summary,.xu-wc-details>summary,.xu-inbox-details>summary{min-height:44px;cursor:pointer}
@media(max-width:790px){
 .x-v7-header-inner{min-height:62px;padding:0 15px;gap:12px}.x-v7-brand{font-size:18px;gap:8px}.x-v7-brand-mark{width:30px;height:32px}.x-v7-header .main-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--xu-bottom);padding:6px 8px max(6px,env(safe-area-inset-bottom,0px));background:var(--xu-surface);border-top:1px solid var(--xu-line);gap:0;z-index:95}.x-v7-header .nav-link{flex-direction:column;min-width:0;min-height:54px;gap:3px;padding:6px 2px;font-size:11px}.xu-nav-icon{width:21px;height:21px}.workspace main{padding:25px 15px calc(var(--xu-bottom) + 25px)}.x-v8-header-actions{gap:0}.xu-header-tools{gap:2px}.xu-header-tools .v4-add{min-width:44px;padding:6px 10px}.v4-add-label{display:none}.xu-page-head{gap:9px;align-items:flex-start}.heading h1,.x-v7-home-intro h1{font-size:24px}.x-v7-day-chip{padding:7px 8px;font-size:11px}.x-v7-home-date{font-size:12px}.x-v91-next-area{margin-top:18px}.x-v91-next-summary{padding:18px}.x-v91-next-summary strong{font-size:21px}.x-v91-next-empty{padding:10px 15px}.home-widget-grid{grid-template-columns:1fr;gap:18px}#app .card{padding:17px}.home-widget .task-item{padding:14px 0}.x-v7-home-notices .x-v7-notice-item{grid-template-columns:50px minmax(0,1fr)}.x-v7-home-notices .x-v7-notice-date{grid-column:2}.task-context{font-size:11px;gap:5px}.v4-task-toolbar>.button-row{width:100%;justify-content:space-between}.v4-filters{flex-wrap:nowrap;width:100%}.v4-filters button{padding:8px 13px;font-size:12px}.v4-task-list .task-item{flex-wrap:wrap;gap:7px}.v4-task-list .task-main{flex:1 1 calc(100% - 60px)}.v4-task-list .task-actions{margin-left:auto}.v4-task-list .xu-cloud-task .task-main{flex-basis:100%}.v4-task-list .xu-cloud-task button{margin-left:auto}.xu-task-menu{top:100%;bottom:auto}.xu-connection-source{flex-direction:column;gap:10px}.xu-connection-actions{width:100%;justify-content:flex-start}.xu-connection-actions .xu-private-status{max-width:100%;text-align:left}.xu-connection-copy{width:100%}#app .xu-private-panel{padding:17px}.x-v7-secondary button{font-size:13px;padding:9px 13px}.x-v83-notice-tools{display:grid;gap:10px}.x-v7-notice-filters{display:flex;overflow-x:auto;flex-wrap:nowrap}.x-v7-notice-filters button{flex:1 0 auto}.x-v83-notice-search{width:100%}.toast{bottom:calc(var(--xu-bottom) + 12px)!important;max-width:calc(100vw - 28px);right:14px}.xu-settings-more .page-grid{grid-template-columns:1fr}.editor{max-width:calc(100vw - 20px)}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.xu-task-title{padding:0;background:none;border:0;text-align:left;cursor:pointer;min-height:44px}.xu-task-title:hover{color:var(--xu-brand)}

/* Preserve proven mobile task hit areas after removing V8/V9 style layers. */
#app .v4-task-list .task-actions button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
#app .v4-task-list .task-actions{flex-wrap:wrap}
#app .v4-task-list .task-item{min-width:0}
#app .v4-task-list .task-main{min-width:0;overflow-wrap:anywhere}
.x-v7-home-intro h1{writing-mode:horizontal-tb;min-width:112px;min-height:0}
@media(max-width:790px){
 .xu-page-head{flex-wrap:wrap}
 .xu-page-head>div:first-child{min-width:130px;flex:1 1 130px}
 .x-v7-day-selector{flex:0 0 auto;max-width:100%}
 .x-v91-next-summary{min-width:0;overflow-wrap:anywhere}
 .v4-task-toolbar{flex-wrap:wrap}
 .v4-task-toolbar>.button-row{flex-wrap:wrap}
 #app .v4-task-list .task-actions button{min-width:44px;min-height:44px}
}
