:root{--ui-canvas: #0d1824;--ui-surface: #132331;--ui-line: #2b4050;--ui-ink: #edf5f8;--ui-muted: #aec0ce;--ui-accent: #70dacc;--ui-soft: #1c393e;--ui-shadow: 0 5px 20px rgb(0 0 0 / 10%);--ui-action: #71d7c6;--ui-on-action: #092e2a;--ui-danger: #ffafb5;--ui-danger-soft: #40272f;--ui-warning: #f2cc84;--ui-warning-soft: #3b3323;--ui-success: #8ce1b3;--ui-success-soft: #183a31}html[data-theme=day]{--ui-canvas: #f3f7f7;--ui-surface: #fff;--ui-line: #dae6e6;--ui-ink: #19383e;--ui-muted: #526b72;--ui-accent: #14796f;--ui-soft: #e9f5f1;--ui-shadow: 0 5px 20px rgb(35 74 72 / 4%);--ui-action: #116f66;--ui-on-action: #fff;--ui-danger: #a32f42;--ui-danger-soft: #fff0f2;--ui-warning: #82530d;--ui-warning-soft: #fff6e4;--ui-success: #196643;--ui-success-soft: #eaf7ef}html[data-theme] body:has(.shell){background:var(--ui-canvas)}html[data-theme] body:has(.shell):before,html[data-theme] body:has(.shell):after{display:none}html[data-theme] .shell{color:var(--ui-ink)}html[data-theme] .shell .sidebar,html[data-theme] .shell .quality-backend-nav{background:var(--ui-surface);border-right:1px solid var(--ui-line);box-shadow:none}html[data-theme] .shell .brand img{box-shadow:none}html[data-theme] .shell .nav button,html[data-theme] .shell .quality-backend-nav nav button{font-weight:600}html[data-theme] .shell .nav button.active,html[data-theme] .shell .quality-backend-nav nav button.active{color:var(--ui-accent);background:var(--ui-soft);border-color:transparent;box-shadow:none}html[data-theme] .shell .nav button.active .nav-icon{color:var(--ui-accent);background:var(--ui-surface);border-color:var(--ui-line)}html[data-theme] .shell .nav-label,html[data-theme] .shell .quality-backend-nav-label{color:var(--ui-muted);letter-spacing:.08em}html[data-theme] .shell .main{min-width:0}html[data-theme] .shell .topbar{gap:20px;margin-bottom:24px;background:transparent;backdrop-filter:none}html[data-theme] .shell .top-left,.page-heading{min-width:0}html[data-theme] .shell .page-title{color:var(--ui-ink);line-height:1.4}.page-subtitle{margin:5px 0 0;color:var(--ui-muted);font-size:12px;font-weight:400;line-height:1.6}html[data-theme] .shell .top-actions{gap:10px}html[data-theme] .shell .topbar .search-box{background:var(--ui-surface);border:1px solid var(--ui-line);box-shadow:none}html[data-theme] .shell .search-box:focus-within{border-color:var(--ui-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 12%,transparent)}html[data-theme] .shell .topbar .theme-toggle,html[data-theme] .shell .topbar .bell-btn,html[data-theme] .shell .topbar .user-chip{border-color:var(--ui-line);background:var(--ui-surface);box-shadow:none}html[data-theme] .shell .bell-count[hidden],html[data-theme] .shell .bell-dot[hidden]{display:none!important}html[data-theme] .shell :is(.dash-card,.profile-card,.panel-card){border-color:var(--ui-line);border-radius:16px;background:var(--ui-surface);box-shadow:var(--ui-shadow);backdrop-filter:none}html[data-theme] .shell :is(.dash-card,.profile-card,.panel-card):before{pointer-events:none}html[data-theme] .shell :is(.field input,.field select,.field textarea,.form-grid input,.form-grid select,.form-grid textarea){border-radius:10px;border-color:var(--ui-line);color:var(--ui-ink);background:var(--ui-canvas);line-height:1.5}html[data-theme] .shell :is(.field input,.field select,.form-grid input,.form-grid select):not([type=checkbox]):not([type=radio]){min-height:42px}html[data-theme] .shell :is(input,textarea)::placeholder{color:var(--ui-muted);opacity:1}html[data-theme] .shell button:disabled{cursor:not-allowed;opacity:.55;transform:none}html[data-theme] .shell :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}html[data-theme] .shell .tools-subnav{gap:8px}html[data-theme] .shell .tools-subnav button{border-radius:12px}html[data-theme] .shell .tool-backbar{min-height:0;padding:20px 24px}html[data-theme] .shell .tool-form{display:grid;gap:12px}html[data-theme] .shell .tool-form>button{justify-self:start}html[data-theme] .shell .field>span{color:var(--ui-muted)}html[data-theme] .shell .engineering-fields :is(input,select){width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-canvas);color:var(--ui-ink)}html[data-theme] .shell .tool-result{background:var(--ui-soft);border-color:var(--ui-line);color:var(--ui-ink)}html[data-theme] .shell .tool-result strong{color:var(--ui-ink)}html[data-theme] .shell .tool-result :is(span,small){color:var(--ui-muted)}html[data-theme] .shell .calculator-result{font-variant-numeric:tabular-nums}.campus-skip-link{position:fixed;top:8px;left:12px;z-index:10000;padding:12px 18px;border-radius:10px;background:var(--ui-surface);color:var(--ui-ink);transform:translateY(-150%)}.campus-skip-link:focus{transform:translateY(0);outline:3px solid var(--ui-accent)}.tools-directory{max-width:1200px;margin:0 auto}.tools-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:38px 40px;border:1px solid var(--ui-line);border-radius:22px;background:linear-gradient(110deg,var(--ui-soft),var(--ui-surface))}.tools-eyebrow{margin:0 0 17px;color:var(--ui-accent);font-size:12px;font-weight:700;letter-spacing:.14em}.tools-welcome h2{margin:0;color:var(--ui-ink);font-size:clamp(26px,2.8vw,38px);line-height:1.4;letter-spacing:-.03em}.tools-welcome-copy{max-width:480px;margin:18px 0 0;color:var(--ui-muted);font-size:14px;line-height:1.9}.tools-welcome-mark{display:grid;place-items:center;width:152px;height:152px;flex:0 0 auto;margin-right:32px;border:1px solid var(--ui-line);border-radius:38px;background:var(--ui-surface);color:var(--ui-accent);transform:rotate(-7deg);box-shadow:12px 12px color-mix(in srgb,var(--ui-accent) 7%,transparent)}.tools-welcome-mark svg{width:66px;height:66px}.tools-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 16px}.tools-directory-heading h2{margin:0;font-size:17px}.tools-directory-heading>span{color:var(--ui-muted);font-size:12px}.tools-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tool-directory-card{display:flex;flex-direction:column;align-items:stretch;gap:15px;padding:24px;border:1px solid var(--ui-line);border-radius:18px;background:var(--ui-surface);color:var(--ui-ink);text-align:left;box-shadow:var(--ui-shadow);transition:border-color .18s,transform .18s,box-shadow .18s}.tool-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.tool-directory-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:var(--ui-accent);background:var(--ui-soft)}.tool-directory-icon svg{width:24px;height:24px}.tool-category{font-size:11px;color:var(--ui-muted)}.tool-directory-card>strong{font-size:19px;font-weight:700}.tool-description{max-width:460px;min-height:48px;color:var(--ui-muted);font-size:13px;line-height:1.85}.tool-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;border-top:1px solid var(--ui-line);color:var(--ui-muted);font-size:11px}.tool-card-arrow{color:var(--ui-accent);font-size:20px;line-height:1}@media(hover:hover){.tool-directory-card:hover{border-color:var(--ui-accent);transform:translateY(-3px);box-shadow:0 10px 24px color-mix(in srgb,var(--ui-accent) 10%,transparent)}}@media(max-width:1100px)and (min-width:761px){html[data-theme] .shell .topbar{flex-wrap:wrap}html[data-theme] .shell .top-actions{margin-left:auto}.tools-welcome-mark{width:110px;height:110px;margin-right:0}}@media(max-width:760px){html[data-theme] .shell .topbar{margin-bottom:18px;gap:12px}html[data-theme] .shell .main{padding:16px 14px 28px}html[data-theme] .shell .top-left{width:auto}html[data-theme] .shell .top-left:before{display:none}html[data-theme] .shell .page-title{font-size:20px}html[data-theme] .shell .top-actions{gap:8px;min-width:0}html[data-theme] .shell .search-box{min-width:0}html[data-theme] .shell .search-box input{min-width:0;font-size:16px}html[data-theme] .shell .topbar .theme-toggle,html[data-theme] .shell .topbar .bell-btn,html[data-theme] .shell .topbar .user-chip{min-width:44px;width:44px;height:44px;min-height:44px;padding:0;justify-content:center}html[data-theme] .shell .menu-btn,html[data-theme] .shell .nav button{min-height:44px}html[data-theme] .shell .quality-backend-topbar{position:static}html[data-theme] .shell .quality-backend-nav-label{display:none}html[data-theme] .shell .quality-backend-nav{border-right:0;border-bottom:1px solid var(--ui-line)}html[data-theme] .shell .quality-backend-topbar .top-left{flex-wrap:wrap}html[data-theme] .shell :is(.field input,.field select,.field textarea,.form-grid input,.form-grid select,.form-grid textarea){font-size:16px}.tools-welcome{padding:24px;border-radius:18px}.tools-welcome h2{font-size:27px}.tools-eyebrow{margin-bottom:12px}.tools-welcome-copy{margin-top:12px;font-size:13px}.tools-welcome-mark{display:none}.tools-directory-heading{margin-top:24px}.tools-directory-heading h2{font-size:16px}.tools-directory-grid{grid-template-columns:1fr;gap:12px}.tool-directory-card{padding:20px;gap:12px}.tool-description{min-height:0}}@media(prefers-reduced-motion:reduce){.tool-directory-card{transition:none}.tool-directory-card:hover{transform:none}}@media(max-width:360px){html[data-theme] .shell .topbar{grid-template-columns:1fr}html[data-theme] .shell .top-actions{justify-self:end}}html[data-theme=day]{color-scheme:light}html[data-theme=night]{color-scheme:dark}html[data-theme] body:has(.shell){--text: var(--ui-ink);--muted: var(--ui-muted);--line: var(--ui-line);--panel: var(--ui-surface);--panel-2: var(--ui-canvas);--shadow: var(--ui-shadow);--warning: var(--ui-warning)}html[data-theme] .shell :is(.card,.dash-card,.software-card,.engine-card,.student-list-card){background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line);box-shadow:var(--ui-shadow);backdrop-filter:none;border-radius:16px}html[data-theme] .shell :is(.muted,.row-meta,.site-footer,.field-label,.page-subtitle,.tool-backbar p,.tools-hero p,.exam-hero p,.library-hero p,.source-meta,.user-chip-copy small,.week-one-start-field small,.software-filters button span){color:var(--ui-muted)}html[data-theme] .shell :is(.section-title,.row-title,.card h2,.card h3,.dash-card h2,.dash-card h3){color:var(--ui-ink)}html[data-theme] .shell .row{background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line);box-shadow:none}html[data-theme] .shell .row :is(small,.row-meta){color:var(--ui-muted)}html[data-theme] .shell :is(.field input,.field select,.field textarea,.engineering-fields input,.engineering-fields select,.permission-manager input,.permission-manager select){box-shadow:none}html[data-theme] .shell :is(input,select,textarea):disabled{opacity:1;color:var(--ui-muted);background:var(--ui-canvas);cursor:not-allowed}html[data-theme] .shell :is(input[type=checkbox],input[type=radio]){accent-color:var(--ui-action)}html[data-theme] .shell input::file-selector-button{border:1px solid var(--ui-line);border-radius:6px;padding:6px 10px;margin-right:10px;color:var(--ui-accent);background:var(--ui-soft);font:inherit;cursor:pointer}html[data-theme] .shell .primary-btn{background:var(--ui-action);color:var(--ui-on-action);border:1px solid transparent;box-shadow:none}html[data-theme] .shell .ghost-btn{background:var(--ui-surface);color:var(--ui-accent);border:1px solid var(--ui-line);box-shadow:none}html[data-theme] .shell :is(.primary-btn,.ghost-btn):after{display:none}html[data-theme] .shell .ghost-btn.danger{color:var(--ui-danger);background:var(--ui-danger-soft);border-color:color-mix(in srgb,var(--ui-danger) 40%,var(--ui-line))}html[data-theme] .shell :is(.primary-btn,.ghost-btn):disabled{opacity:1;color:var(--ui-muted);background:var(--ui-canvas);border-color:var(--ui-line);box-shadow:none}html[data-theme] .shell .badge{background:var(--ui-soft);color:var(--ui-accent);border-color:var(--ui-line)}html[data-theme] .shell .badge.warning{background:var(--ui-warning-soft);color:var(--ui-warning)}html[data-theme] .shell .badge.success{background:var(--ui-success-soft);color:var(--ui-success)}html[data-theme] .shell .badge.danger,html[data-theme] .shell .badge.error{background:var(--ui-danger-soft);color:var(--ui-danger)}html[data-theme] .shell :is(th,.table th){color:var(--ui-muted);background:var(--ui-canvas);border-color:var(--ui-line)}html[data-theme] .shell :is(td,.table td){color:var(--ui-ink);border-color:var(--ui-line)}html[data-theme] .shell .table :is(input,select){background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line)}html[data-theme] .shell :is(.empty,.empty-day){color:var(--ui-muted);line-height:1.8}html[data-theme] .shell .notice-list>.empty{display:block;padding:20px 12px;border:1px dashed var(--ui-line);background:var(--ui-canvas);text-align:center}html[data-theme] .shell .course-list>.empty{padding:20px 12px;border:1px dashed var(--ui-line);border-radius:10px;background:var(--ui-canvas);text-align:center}html[data-theme] .shell .tools-hero{margin-bottom:18px}html[data-theme] .shell .dashboard-grid{align-items:start}html[data-theme] .shell .dashboard-grid>.dash-card{min-height:0}html[data-theme] .shell .dashboard-grid>.apps-card{grid-column:1 / -1;order:-1}html[data-theme] .shell .module-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}html[data-theme] .shell .module-group{background:var(--ui-canvas);border-color:var(--ui-line);align-content:start}html[data-theme] .shell .module-grid{grid-template-columns:1fr;align-content:start}html[data-theme] .shell .module-card{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:none}html[data-theme] .shell .module-card em,html[data-theme] .shell .module-group-title>span{color:var(--ui-muted)}html[data-theme] .shell .dashboard-grid>.food-card{grid-column:span 2}html[data-theme] .shell :is(.weather-copy small,.weather-copy span,.reserve-live-meta,.reserve-summary-copy small,.reserve-summary-copy span,.ring-value small,.reserve-mini-stats span){color:var(--ui-muted)}html[data-theme] .shell .reserve-summary-note{color:var(--ui-warning)}html[data-theme] .shell .profile-page{align-items:start}html[data-theme] .shell .profile-page .row{border-width:0 0 1px;border-radius:0;padding:12px 0}html[data-theme] .shell .profile-page .form{display:grid;gap:14px}html[data-theme] .shell .profile-page .form>button{justify-self:start}html[data-theme] .shell .permission-capabilities{margin-top:16px;border-top:1px solid var(--ui-line);padding-top:14px}html[data-theme] .shell .permission-capabilities summary{cursor:pointer;color:var(--ui-accent);line-height:1.6}html[data-theme] .shell .permission-capability-list{max-height:340px;overflow-y:auto;margin-top:10px;padding-right:8px}html[data-theme] .shell .payment-bind-item{background:var(--ui-canvas);border-color:var(--ui-line)}html[data-theme] .shell .payment-bind-item strong{color:var(--ui-ink)}html[data-theme] .shell .payment-bind-item p{color:var(--ui-muted)}html[data-theme] .shell .pay-logo.wechat{background:#167843;color:#fff;box-shadow:none}html[data-theme] .shell .pay-logo.alipay{background:#176ba6;color:#fff;box-shadow:none}html[data-theme] .shell :is(.ai-provider-presets button,.ai-admin-note,.admin-import-guide,.admin-current-role,.student-import-dropzone,.admin-import-template,.ai-admin-status){background:var(--ui-canvas);border-color:var(--ui-line);color:var(--ui-ink);box-shadow:none}html[data-theme] .shell :is(.ai-provider-presets button,.admin-import-guide,.admin-current-role,.ai-admin-status) :is(p,small,span){color:var(--ui-muted)}html[data-theme] .shell .ai-provider-presets button strong{color:var(--ui-ink)}html[data-theme] .shell :is(.admin-import-result,.student-metric span,.student-metric small){color:var(--ui-muted)}html[data-theme] .shell :is(.ai-admin-form,.student-entry-form){row-gap:14px}html[data-theme] .shell .ai-admin-form{display:grid}html[data-theme] .shell :is(.ai-admin-tabs button,.student-role-tabs button,.reservation-record-filter,.lab-week-switcher button,.reservation-category-tab,.reservation-room-option,.tools-subnav button,.software-filters button){color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-line);box-shadow:none}html[data-theme] .shell :is(.ai-admin-tabs button,.student-role-tabs button,.reservation-record-filter,.lab-week-switcher button,.reservation-category-tab,.reservation-room-option,.tools-subnav button,.software-filters button).active{color:var(--ui-accent);background:var(--ui-soft);border-color:var(--ui-accent);box-shadow:none}html[data-theme] .shell :is(.reservation-record-filter,.reservation-category-tab,.lab-schedule-context) :is(span,small),html[data-theme] .shell .software-filters button span{color:var(--ui-muted)}html[data-theme] .shell .lab-schedule-context{color:var(--ui-muted)}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired{background:var(--ui-canvas)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired :is(.ai-side-panel,.ai-composer){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired :is(.ai-chat-head,.ai-side-head){border-color:var(--ui-line)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired :is(.ai-side-head strong,.ai-chat-head h2,.ai-landing h3,.ai-composer textarea){color:var(--ui-ink)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired :is(.ai-chat-head p,.ai-landing p,.ai-recents>p,.ai-disclaimer,.ai-conversation-item time){color:var(--ui-muted)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired :is(.ai-side-action,.ai-conversation-item,.ai-service-pill,.ai-pet-actions button,.ai-suggestion-row button,.ai-composer-tools button){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired :is(.ai-side-action,.ai-conversation-item).active{background:var(--ui-soft)!important;color:var(--ui-accent)!important;border-color:var(--ui-accent)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-conversation-item button{color:inherit!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-greeting-bubble{background:var(--ui-soft);color:var(--ui-ink)!important;border-color:var(--ui-line)}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-send-button{background:var(--ui-action);color:var(--ui-on-action);box-shadow:none}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-composer textarea::placeholder{color:var(--ui-muted)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-message>div{background:var(--ui-surface)!important;border-color:var(--ui-line)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-message.user>div{background:var(--ui-soft)!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-message p{color:var(--ui-ink)!important}html[data-theme] body:has(.shell) :is(.timetable-edit-card,.lab-booking-modal-card,.software-detail-card,.chat-modal,.required-password-card,.qr-modal-card,.toast){background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line);box-shadow:0 18px 54px #00000038}html[data-theme] body:has(.shell) :is(.modal-title-row h2,.chat-modal-head h2){color:var(--ui-ink)}html[data-theme] body:has(.shell) :is(.import-format-card span,.chat-modal-head p,.chat-modal-hint){color:var(--ui-muted)}html[data-theme] body:has(.shell) :is(.modal-title-row button,.software-detail-card .modal-close){color:var(--ui-ink);background:var(--ui-canvas);border-color:var(--ui-line)}html[data-theme] .shell .search-results{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:0 12px 30px #00000026}html[data-theme] .shell .search-results button{color:var(--ui-ink);background:var(--ui-surface)}html[data-theme] .shell .search-results button :is(em,small){color:var(--ui-muted)}html[data-theme] .shell .search-results button.active{background:var(--ui-soft);color:var(--ui-accent)}html[data-theme] .shell .quality-assessment-page{--q-ink: var(--ui-ink);--q-muted: var(--ui-muted);--q-surface: var(--ui-surface);--q-surface-strong: var(--ui-surface);--q-line: var(--ui-line);--q-shadow: var(--ui-shadow)}html[data-theme] .shell .quality-eyebrow{color:var(--ui-accent)}html[data-theme] .shell .quality-empty.error{color:var(--ui-danger);background:var(--ui-danger-soft)}@media(hover:hover){html[data-theme] .shell .primary-btn:not(:disabled):hover{background:color-mix(in srgb,var(--ui-action) 88%,#000);color:var(--ui-on-action);box-shadow:none}html[data-theme] .shell .ghost-btn:not(:disabled):hover{background:var(--ui-soft);border-color:var(--ui-accent);color:var(--ui-accent);box-shadow:none}html[data-theme] .shell .ghost-btn.danger:not(:disabled):hover{background:var(--ui-danger-soft);color:var(--ui-danger);border-color:var(--ui-danger)}html[data-theme] .shell :is(.module-card,.software-filters button):hover{border-color:var(--ui-accent);background:var(--ui-soft);color:var(--ui-accent)}}@media(max-width:1000px){html[data-theme] .shell .module-groups{grid-template-columns:1fr}html[data-theme] .shell .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){html[data-theme] .shell .dashboard-grid>.food-card{grid-column:auto}html[data-theme] .shell .dashboard-grid>.apps-card{order:0}html[data-theme] .shell .profile-page .permission-capability-list{max-height:300px}html[data-theme] .shell .payment-bind-item{align-items:start;flex-wrap:wrap;gap:12px}}html[data-theme] .shell .campus-news-preview .notice-list{grid-template-rows:none;align-content:start;flex:initial}html[data-theme] .shell .ring-value span,html[data-theme] .shell .reserve-kpis small{color:var(--ui-muted)}html[data-theme] .shell .reserve-local-note{color:var(--ui-warning)}html[data-theme] .shell :is(.grid-day span,.grid-time span,.exam-sort span,.exam-page-gap,.exam-risk,.library-map-legend,.library-map-legend span,.library-zone-row span,.library-zone-row em){color:var(--ui-muted)}html[data-theme] .shell .pay-methods label{color:var(--ui-ink)}html[data-theme] .shell :is(.schedule-switch button,.exam-filter,.exam-pagination button,.library-floor-tabs button){background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line);box-shadow:none}html[data-theme] .shell :is(.schedule-switch button,.exam-filter,.exam-pagination button,.library-floor-tabs button).active{background:var(--ui-soft);color:var(--ui-accent);border-color:var(--ui-accent);box-shadow:none}html[data-theme] .shell .library-floor-tabs{min-height:0;display:flex;overflow-x:auto;align-items:stretch}html[data-theme] .shell .library-floor-tabs button{min-width:150px;min-height:70px;flex:0 0 auto}html[data-theme] .shell .library-floor-tabs span{color:var(--ui-muted)}html[data-theme] .shell .library-zone-row{color:var(--ui-ink);background:var(--ui-canvas);border-color:var(--ui-line);box-shadow:none}html[data-theme] .shell .library-zone-row strong{color:var(--ui-ink)}html[data-theme] .shell .library-book-card .form{display:grid;gap:14px}html[data-theme] .shell :is(.notification-toolbar b,.quality-admin-actions strong,.chat-admin-hero span){color:var(--ui-accent)}html[data-theme] .shell .chat-composer-tools button{color:var(--ui-ink);background:var(--ui-canvas);border-color:var(--ui-line);box-shadow:none}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .yunbao-model-actions button{color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-line);box-shadow:none}html[data-theme] .shell .student-class-filters{background:var(--ui-canvas)}html[data-theme] .shell .software-download-slot small{color:var(--ui-muted)}html[data-theme] .shell .main:has(#softwareDetailModal:not(.hidden),.timetable-edit-modal:not(.hidden),.lab-booking-modal:not(.hidden),.chat-modal-root:not([hidden])){position:relative;z-index:150}html[data-theme] body:has(.shell) .software-detail-card .modal-close{position:sticky;top:0;float:right;margin-bottom:-34px}html[data-theme] body:has(.shell) :is(.chat-modal-form input,.chat-modal-form textarea,.chat-qr-content input){color:var(--ui-ink);background:var(--ui-canvas);border-color:var(--ui-line)}html[data-theme] body:has(.shell) .chat-modal-actions button{color:var(--ui-ink);background:var(--ui-canvas);border-color:var(--ui-line)}html[data-theme] body:has(.shell) .chat-modal-actions .primary{color:var(--ui-on-action);background:var(--ui-action);border-color:transparent}html[data-theme] body:has(.shell) .chat-inline-error{color:var(--ui-danger);background:var(--ui-danger-soft);border-color:var(--ui-danger)}html[data-theme] body:has(.shell #softwareDetailModal:not(.hidden),.shell .timetable-edit-modal:not(.hidden),.shell .lab-booking-modal:not(.hidden),.shell .chat-modal-root:not([hidden])) .campus-pet{visibility:hidden}html[data-theme] .shell .timetable-edit-card .modal-title-row{position:sticky;top:-20px;z-index:2;margin-top:-4px;padding-block:4px 10px;background:var(--ui-surface)}@media(hover:hover){html[data-theme] .shell :is(.schedule-switch button,.exam-filter,.exam-pagination button,.library-floor-tabs button,.library-zone-row,.ai-provider-presets button,.chat-composer-tools button):not(:disabled):hover{color:var(--ui-accent);background:var(--ui-soft);border-color:var(--ui-accent)}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired :is(.ai-side-action,.ai-conversation-item,.ai-suggestion-row button,.ai-composer-tools button):not(:disabled):hover{color:var(--ui-accent)!important;background:var(--ui-soft)!important;border-color:var(--ui-accent)!important}}@media(max-width:760px){html[data-theme] .shell:has(.ai-agent-workspace){height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}html[data-theme] .shell:has(.ai-agent-workspace)>.main{display:flex;flex-direction:column;min-height:0;padding-bottom:8px}html[data-theme] .shell:has(.ai-agent-workspace) .topbar{flex:0 0 auto;margin-bottom:10px}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired{flex:1;height:auto!important;min-height:0!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-chat-panel{min-height:0;padding:0 10px;grid-template-rows:44px minmax(0,1fr) auto auto auto!important}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-chat-head{display:flex;flex-direction:row;min-height:44px;height:44px;padding:0;gap:8px}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-active-model{justify-content:flex-start}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-service-pill{margin:0;flex:0 0 auto}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-message-stage{min-height:0;overflow:auto}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-landing{min-height:0;padding:12px 0;gap:8px}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-pet-host{width:clamp(90px,17dvh,144px);height:clamp(90px,17dvh,144px)}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-landing h3{font-size:22px;margin:0}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-greeting-bubble{margin:6px 0;padding:9px 12px;font-size:12px}html[data-theme] .shell .yunbao-model-actions{margin-top:6px}html[data-theme] .shell .yunbao-model-actions button{padding:6px 12px}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-suggestion-row{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:6px 0;margin:0}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-composer{margin:4px 0 0}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-composer textarea{font-size:16px}html[data-theme] .shell .ai-agent-workspace.ai-mobile-inspired .ai-disclaimer{margin:5px 0 0;font-size:10px;line-height:1.5}html[data-theme] body:has(.shell) :is(.chat-modal-form input,.chat-modal-form textarea){font-size:16px}}
