/* 第二轮评审：贴近桌面系统的密度、直角窗口与底部任务栏，保留原创资产。 */
:root{--bg:#f4f5f6;--paper:#fff;--ink:#20252a;--muted:#68717a;--line:#dce0e4;--accent:#137cbb;--soft:#e5f2fb;--radius:2px;--shadow:0 8px 28px #0003}
button,input,select,textarea{border-radius:2px}
button{padding:7px 13px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1684c7;outline-offset:1px}
input:not([type=checkbox]):not([type=range]):not([type=color]),select,textarea{padding:9px 10px}
.search-box input:not([type=checkbox]):not([type=range]):not([type=color]){padding-left:36px}
.primary{background:var(--accent)}
.image-icon{object-fit:contain;display:inline-block;filter:none;user-select:none}
h1,h2,h3{letter-spacing:0}
.tag,.notice,.transfer,.theme-choice,.permission-grid .check,.status-box{border-radius:2px}
.desktop-top,.desktop-quote{display:none}
.desktop-watermark{position:absolute;right:24px;bottom:68px;font-size:12px;color:#ffffff75;text-align:right;pointer-events:none;letter-spacing:1px}
.desktop-watermark span{display:block;font-size:10px;margin-top:4px}
.shortcuts{top:15px;left:7px;grid-template-columns:90px;gap:6px}
.shortcut{width:90px;min-height:88px;border-radius:0;padding:9px 4px 6px;gap:6px;font-size:12px;border:1px solid transparent;line-height:1.35;text-shadow:0 1px 3px #000c}
.shortcut:hover,.shortcut:focus-visible{background:#8fcbf138;border:1px solid #cce9ff70}
.shortcut .app-icon{width:50px;height:50px}
.app-icon,.app-icon.blue,.app-icon.gold,.app-icon.pink{background:none;border-radius:0;box-shadow:none;color:inherit}
.app-icon .icon{width:100%;height:100%}
.shortcuts.small .shortcut{min-height:68px}
.shortcuts.small .app-icon{width:34px;height:34px}
.shortcuts.large{grid-template-columns:110px;gap:8px}
.shortcuts.large .shortcut{width:110px;min-height:110px;font-size:13px}
.shortcuts.large .app-icon{width:68px;height:68px}
.shortcuts.icons-hidden{display:none}
.taskbar,body.dark .taskbar{position:fixed;left:0;right:0;bottom:0;height:48px;background:#17212deb;color:#fff;border:0;border-radius:0;box-shadow:none;padding:0;gap:0;backdrop-filter:blur(18px)}
.start-button{width:48px;height:48px;min-width:48px;padding:8px;border-radius:0;color:#fff}
.start-button .image-icon{width:32px;height:32px}
.logo>.image-icon{width:30px;height:30px;flex:none}
.start-button:hover,.task-app:hover,.tray button:hover{background:#ffffff1d;border-color:transparent}
.task-search{width:232px;height:48px;display:flex;align-items:center;gap:14px;border:0;border-radius:0;background:#f1f2f3;color:#51575b;text-align:left;padding:0 15px;font-size:13px;margin-right:4px}
.task-search:hover{background:#fff;border-color:transparent}
.task-search .icon{width:18px;height:18px}
.task-app{width:52px;height:48px;border-radius:0;padding:8px 10px;display:grid;place-items:center}
.task-app .app-icon{width:30px;height:30px}
.task-app .image-icon{width:30px;height:30px}
.task-app.active,body.dark .task-app.active{background:#ffffff24}
.task-app.running:after{width:40px;height:2px;left:6px;bottom:0;border-radius:0;background:#8bc9ed}
.task-app.active:after{width:52px;left:0;background:#c4e9ff}
.tray{height:48px;gap:0;padding-left:4px}
.task-review{height:48px;border:0;border-radius:0;background:transparent;color:#b7c4d0;font-size:11px;padding:0 13px}
body:has(.taskbar) #review-toggle{display:none}
.tray .icon-btn{height:48px;min-width:34px;width:34px;border-radius:0;padding:8px}
.tray .icon{height:18px;width:18px;stroke-width:1.4}
.tray .notification-button{width:42px;position:relative}
.task-clock{height:48px;min-width:87px;text-align:center;padding:3px 9px;font-size:12px;line-height:1.5;border-radius:0}
.task-clock small{color:inherit;font-size:11px}
.tray-badge{background:#eee;color:#1e252b;font-size:9px;min-width:13px;padding:0 3px;top:7px;right:5px;border-radius:8px}
.show-desktop{width:6px;min-width:6px;height:48px;padding:0;border-radius:0;border-left:1px solid #ffffff60!important;margin-left:4px}
.start-menu{left:0;bottom:48px;width:640px;border:1px solid #5a6670;border-bottom:0;border-radius:0;background:#202b36f7;color:#f5f6f8;box-shadow:4px -4px 24px #0004;backdrop-filter:blur(18px)}
.start-main{display:flex;min-height:425px}
.start-rail{width:48px;display:flex;flex-direction:column;align-items:center;padding:12px 0 5px;background:#151e2859}
.start-rail button{color:#fff;width:44px;height:44px;border-radius:0;padding:12px}
.start-rail .icon{height:22px;width:22px}
.start-apps{width:256px;flex:none}
.start-menu header{padding:19px 12px 12px}
.start-menu .search-box input{border:1px solid #ffffff38;background:#ffffff10;color:white;font-size:12px;padding:9px 8px 9px 33px}
.start-menu .search-box input::placeholder{color:#bdc6cf}
.start-menu .search-box .icon{left:9px;top:10px;width:16px;height:16px;color:#d1d8de}
.start-menu .section-label{color:#c5cdd5;padding:0 15px;font-size:12px;margin:3px 0 10px}
.start-grid{display:flex;flex-direction:column;gap:1px;padding:0 8px 24px}
.start-grid button{flex-direction:row;gap:12px;padding:8px 9px;text-align:left;font-size:13px;color:inherit;border-radius:0}
.start-grid button:hover,.start-rail button:hover{background:#ffffff16}
.start-grid .app-icon{width:28px;height:28px}
.start-pinned{flex:1;padding:19px 15px 20px 8px}
.start-pinned .section-label{padding:0;margin:0 0 14px}
.start-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.start-tiles button{min-height:111px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#176b9f96;color:white;border:1px solid #ffffff12;border-radius:0;font-size:12px;padding:12px 7px}
.start-tiles button:hover{border-color:#cbeaff;background:#247dac}
.start-tiles .app-icon{width:43px;height:43px}
.start-menu footer{background:#14202a88;border-color:#ffffff12;padding:12px 16px;font-size:12px}
.start-menu footer .avatar{height:29px;width:29px;border-radius:50%;font-size:12px}
.start-menu footer button{color:#fff;border-radius:0}
.start-menu .empty{color:#c1cbd5;padding:20px 10px}
.start-menu .empty h3{color:white}
.window,body.dark .window{border-radius:0;border:1px solid #a6b1ba;box-shadow:0 5px 22px #0003;resize:none;min-width:540px;min-height:350px;max-width:100vw;max-height:calc(100vh - 48px)}
.window.active{border-color:#5488a7;box-shadow:0 7px 26px #0004}
.window.max{left:0!important;top:0!important;width:100vw!important;height:calc(100vh - 48px)!important;border:0}
.window-title{height:34px;background:var(--paper);padding-left:11px;border-bottom:1px solid var(--line);cursor:default}
.window-title .title-name{font-size:12px;font-weight:400;gap:8px}
.window-title .icon{width:19px;height:19px}
.window-controls button{width:46px}
.window-controls .icon{width:14px;height:14px;stroke-width:1}
.window-controls button:hover{background:var(--bg)}
.window-controls button:last-child:hover{background:#e81123;color:#fff}
.window-resize{position:absolute;z-index:5;touch-action:none}
.window.max .window-resize{display:none}
.resize-n,.resize-s{height:5px;left:9px;right:9px;cursor:ns-resize}
.resize-n{top:0}.resize-s{bottom:0}
.resize-e,.resize-w{width:5px;top:9px;bottom:9px;cursor:ew-resize}
.resize-e{right:0}.resize-w{left:0}
.resize-ne,.resize-nw,.resize-se,.resize-sw{width:10px;height:10px}
.resize-ne{right:0;top:0;cursor:nesw-resize}.resize-nw{left:0;top:0;cursor:nwse-resize}
.resize-se{right:0;bottom:0;cursor:nwse-resize}.resize-sw{left:0;bottom:0;cursor:nesw-resize}
.window.resizing,.window.resizing *{user-select:none}
.toolbar{padding:7px 11px;gap:4px;background:var(--bg)}
.toolbar button{border-color:transparent;padding:6px 9px;border-radius:0}
.toolbar button:hover{border-color:var(--line)}
.breadcrumb{padding:7px 12px;gap:6px}
.breadcrumb input{padding:5px 8px!important;width:205px}
.sidebar{width:180px;padding:10px 0;background:var(--paper)}
.sidebar button{border-radius:0;margin:0;padding:8px 15px;font-size:12px;font-weight:400;border-left:3px solid transparent}
.sidebar button.active{border-left-color:var(--accent);background:var(--soft);font-weight:400}
.sidebar .icon{width:20px;height:20px}
.sidebar-label{padding:17px 18px 9px;letter-spacing:0}
.app-main{padding:21px 25px}
.app-heading{margin-bottom:20px}
.app-heading h2{font-size:21px;font-weight:500}
.disk-grid{gap:10px}
.disk{border-radius:0;padding:14px 16px;border-color:transparent}
.disk:hover{border-color:#acd6ef;background:#eaf5fb}
.disk-title{margin-bottom:9px;gap:13px}
.disk-title .icon{width:45px;height:45px}
.disk-bar,.progress,.disk-bar span,.progress span{height:10px;border-radius:0}
.disk-bar{margin:10px 0 7px;background:#e7e9eb}
.folder-grid button{background:var(--paper);border:1px solid transparent;border-radius:0;padding:10px}
.folder-grid button:hover{border-color:#acd6ef;background:#eaf5fb}
.folder-grid .icon{width:34px;height:34px}
.file-table th{font-size:12px;background:var(--paper);padding:8px 10px;border-right:1px solid var(--line)}
.file-table td{padding:8px 10px;border-bottom:1px solid #e8ebee88}
.file-table .name-cell .icon{height:21px;width:21px}
.file-table tbody tr:hover{background:#eaf5fb}
.file-table tr.selected{background:#cde8f8}
.file-status{font-size:11px;padding:7px 13px;background:var(--paper)}
.dialog,.drawer,.quick-panel,.review-panel{border-radius:2px}
.dialog header{padding:15px 20px 14px}
.dialog header h2{font-size:17px;font-weight:500}
.dialog-body{padding:0 20px 20px}
.dialog footer{padding:12px 20px}
.dialog footer button{min-width:78px}
.overlay{backdrop-filter:none;background:#10213240}
.drawer{right:0;bottom:48px;top:0;width:355px;padding:24px;border-right:0;border-top:0;border-bottom:0}
.quick-panel{right:62px;bottom:48px;border-radius:0}
.network-panel{position:fixed;right:0;bottom:48px;width:360px;z-index:960;background:#202b36f7;color:#fff;border:1px solid #5a6670;border-bottom:0;box-shadow:-4px -5px 24px #0004;backdrop-filter:blur(18px)}
.network-panel header{display:flex;align-items:center;justify-content:space-between;padding:19px 19px 12px}
.network-panel h2{font-size:20px;font-weight:400;margin:0}
.network-panel button{color:#fff;background:transparent;border-color:#ffffff55;border-radius:0}
.network-panel button:hover{background:#ffffff18}
.network-panel header button{border-color:transparent;padding:5px}
.network-current{display:flex;gap:16px;padding:20px;background:#177bb764}
.network-current strong{font-size:15px;font-weight:500}
.network-current p{margin:7px 0 4px;font-size:13px}
.network-current small{color:#d5e7f1;font-size:11px}
.network-symbol .icon{width:37px;height:37px;stroke-width:1.2}
.network-actions{display:flex;justify-content:flex-end;padding:12px 20px;background:#177bb764}
.network-connect{min-width:112px;font-size:12px}
.network-panel .network-link{border:0;color:#9bd4f7;padding:22px 20px 10px;text-align:left;width:100%;font-size:14px}
.network-note{margin:0;padding:0 20px 22px;font-size:11px;color:#b6c3cd;line-height:1.7}
.network-tiles{display:flex;gap:5px;padding:0 12px 12px}
.network-tiles button{flex:1;min-height:76px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:11px;border-color:transparent;background:#ffffff13;font-size:11px}
.network-tiles .icon{width:23px;height:23px}
.toast{bottom:64px;right:15px;border-radius:0}
.review-toggle{top:12px;right:12px;border-radius:2px;background:#eaf0f5e8;color:#31506a}
.auth-screen{display:block}
.auth-story{position:absolute;inset:0;min-height:0;padding:32px;pointer-events:none}
.auth-story>div:nth-child(2){display:none}
.auth-story .logo{font-size:13px;font-weight:400;letter-spacing:1px;opacity:.85}
.auth-story .story-bottom{font-size:12px}
.auth-story .large-time{font-size:48px}
.auth-side{min-height:100vh;padding:65px 20px}
.auth-card,body.dark .auth-card{width:380px;background:#142c3cdb;color:#f6f8fa;border:1px solid #ffffff20;border-radius:2px;box-shadow:0 12px 42px #081e3940;padding:30px;backdrop-filter:blur(16px)}
.auth-card .account-head{flex-direction:column;text-align:center;gap:12px;margin-bottom:20px}
.auth-card .avatar.big{height:82px;width:82px;border-radius:50%;font-size:38px;background:#b9d9e8;color:#215575}
.auth-card .account-head h2{font-size:25px;font-weight:400}
.auth-card .account-head small,.auth-card .muted,.auth-card .auth-note,.auth-card .auth-footer>small{color:#c3d4df}
.auth-card .auth-tabs{border-color:#ffffff30}
.auth-card .auth-tabs button{color:#d1dce4;border-radius:0}
.auth-card .auth-tabs button.active{color:#fff;border-bottom-color:#9edbf8}
.auth-card .plain{color:#edf5fa}
.auth-card .plain:hover,.auth-card .auth-account:hover{background:#ffffff15}
.auth-card input:not([type=checkbox]),.auth-card textarea{background:#ffffffed;color:#253947;border:1px solid #fff;border-radius:0}
.auth-card .primary{background:#137cbb;border-color:#8ebad2;border-radius:0}
.auth-card .auth-footer{border-color:#ffffff30}
.auth-card .auth-account{color:#edf5fa;border-radius:0}
.auth-card .auth-account small{color:#c3d4df}
.auth-card .auth-note{font-size:10px}
.auth-card .qr-label{color:#c3d4df}
.auth-card .notice{background:#ffffff16;color:#e7f4ff}
.auth-card .field label{color:#eef5f9}
.auth-card .error{background:#fcece7;color:#913527}
body.dark{--bg:#252a30;--paper:#30353c;--ink:#e9edf1;--muted:#b1bac4;--line:#4b535e;--soft:#294a63}
body.dark .sidebar button.active{color:#e7f6ff}
body.dark .disk:hover,body.dark .folder-grid button:hover,body.dark .file-table tbody tr:hover{background:#344b5d}
body.dark .file-table tr.selected{background:#295a7c}
body.dark .disk-bar{background:#4b535e}
@media(max-width:1050px){.task-search{width:190px}.window{min-width:540px}.app-main{padding:20px}.auth-story{padding:25px}.auth-story .story-bottom{display:none}}
@media(max-width:700px){.task-search{width:44px;min-width:44px;padding:13px}.task-search span{display:none}.task-app{width:44px}.taskbar .task-app{width:44px;padding:7px}.taskbar .tray .connection{display:grid}.task-clock{min-width:70px;padding:3px}.task-clock small{display:block!important}.tray .icon-btn{min-width:29px;width:29px}.start-menu{width:min(640px,100vw)}.start-pinned{display:none}.start-apps{flex:1}.window{left:0!important;top:0!important;width:100vw!important;height:calc(100vh - 48px)!important;min-width:0}.window-resize{display:none}.network-panel{width:min(360px,100vw)}.auth-side{padding:62px 15px 25px}.auth-card{max-width:100%}.quick-panel{right:0;max-width:100vw}.drawer{width:min(355px,100vw)}.desktop-watermark{display:none}}
@media(prefers-reduced-motion:reduce){button,.progress span{transition:none}}

/* 通知中心与任务栏浮层保持一致；内容区独立滚动，底部操作始终可见。 */
.notification-center{position:fixed;right:0;top:0;bottom:48px;width:min(390px,100vw);display:flex;flex-direction:column;background:#242b32;color:#edf2f5;border-left:1px solid #505a64;box-shadow:-8px 0 30px #0003;z-index:960;font:13px/1.5 'Segoe UI','Microsoft YaHei',sans-serif;color-scheme:dark}
.notification-center button,.notification-toast button{font:inherit;color:inherit;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer}
.notification-center button:hover:not(:disabled),.notification-toast button:hover{background:#ffffff10}
.notification-center button:disabled{opacity:.4;cursor:default}
.notification-center button:focus-visible,.notification-toast button:focus-visible{outline:2px solid #8fd3ff;outline-offset:-2px}
.notification-heading{display:flex;align-items:center;gap:5px;padding:23px 18px 15px 22px}
.notification-heading>div{flex:1}.notification-heading h2{font-size:22px;font-weight:400;margin:0;color:#fff}
.notification-heading p{font-size:12px;color:#afbbc5;margin:4px 0 0}
.notification-center .notification-icon-button,.notification-toast .notification-icon-button{padding:6px;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}
.notification-icon-button .icon{width:15px;height:15px}
.notification-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px 12px;border-bottom:1px solid #ffffff19;gap:8px}
.notification-filters{display:flex;gap:14px}.notification-filters button{padding:6px 0;border-bottom:2px solid transparent;color:#b9c3cb}
.notification-filters button.active{color:#fff;border-bottom-color:#65b7ed}.notification-filters span{font-size:11px;margin-left:4px;color:#aebbc6}
.notification-center .notification-text-button{padding:4px 0;font-size:11px;color:#acd9f6;white-space:nowrap}
.notification-scroll{flex:1;overflow:auto;min-height:0;overscroll-behavior:contain;padding:5px 18px 20px;scrollbar-color:#626e78 transparent;scrollbar-width:thin}
.notification-group{margin:14px 0 20px}.notification-group>header{display:flex;align-items:center;gap:9px;margin:0 3px 8px}
.notification-group>header .icon{width:22px;height:22px}.notification-group h3{margin:0;font-size:12px;font-weight:500;flex:1}
.notification-group>header>span{font-size:11px;color:#a7b6c3}
.notification-card{position:relative;border:1px solid #ffffff13;background:#303840;margin:0 0 7px;padding:10px 13px 9px;border-left:3px solid transparent}
.notification-card.unread{border-left-color:#65b7ed;background:#324252}.notification-card.read{background:#2c343c}
.notification-card-meta{display:flex;align-items:center;gap:9px;color:#a9b9c7;font-size:10px;min-height:20px}
.notification-card-meta>span{font-size:10px}.notification-card.unread .notification-card-meta>span{color:#a7d9fa}
.notification-card-meta time{flex:1}.notification-card-meta .notification-icon-button{width:22px;height:22px;padding:3px;color:#bccbd6}
.notification-card .notification-card-content{display:block;width:100%;padding:7px 0 10px;text-align:left;min-width:0;overflow-wrap:anywhere}
.notification-card-content strong{display:block;font-weight:500;font-size:14px;color:#f3f6f8;line-height:1.55}
.notification-card-content>span{display:block;font-size:12px;line-height:1.7;color:#bdcbd6;margin-top:4px}
.notification-card footer{display:flex;gap:18px}
.notification-bottom{padding:12px 20px 16px;border-top:1px solid #ffffff19;background:#20272e}
.notification-cleanup{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.notification-cleanup small{font-size:10px;color:#aab7c3}
.notification-center .notification-dnd{display:flex;width:100%;align-items:center;gap:12px;border:1px solid #586774;padding:12px;text-align:left}
.notification-dnd>.icon{width:21px;height:21px;color:#bed8ed}.notification-dnd>span:nth-child(2){flex:1}
.notification-dnd strong{display:block;font-size:12px;font-weight:500}.notification-dnd small{display:block;font-size:10px;color:#b4c1cc;margin-top:2px}
.notification-switch{display:block;width:31px;height:16px;border:1px solid #a4b1bc;border-radius:10px;padding:2px;flex-shrink:0}
.notification-switch:after{content:'';display:block;width:10px;height:10px;background:#c5cfd7;border-radius:50%}
.notification-switch.on{background:#2187c3;border-color:#70b5df}.notification-switch.on:after{margin-left:15px;background:#fff}
.notification-empty{text-align:center;padding:65px 12px;color:#abbac6}.notification-empty>.icon{width:38px;height:38px;margin-bottom:15px;color:#879eaf}
.notification-empty h3{font-size:15px;font-weight:400;color:#e0e7ed;margin:0 0 7px}.notification-empty p{font-size:12px;margin:0}
.notification-toast{position:fixed;right:16px;bottom:64px;width:min(350px,calc(100vw - 32px));padding:14px 16px 12px;background:#283541;color:#eef4f9;border:1px solid #687d8b;box-shadow:0 8px 25px #0005;z-index:2800;font:13px/1.5 'Segoe UI','Microsoft YaHei',sans-serif}
.notification-toast header{display:flex;align-items:center;gap:10px;color:#bccddd;font-size:11px}.notification-toast header>.icon{width:23px;height:23px}.notification-toast header>span{flex:1}
.notification-toast .notification-popup-body{width:100%;display:block;text-align:left;padding:10px 0;overflow-wrap:anywhere}
.notification-popup-body strong{display:block;font-size:14px;font-weight:500}.notification-popup-body>span{display:block;font-size:12px;color:#c0cfdb;margin-top:5px}
.notification-toast>small{font-size:10px;color:#9eb6c9}
.shortcuts .shortcut.selected{background:#ffffff23;border-color:#ffffff85}
.network-services{margin:15px 22px 8px;padding-top:6px;border-top:1px solid #ffffff20}
.network-services>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:12px}.network-services small{display:block;color:#aebdca;font-size:10px;margin-top:2px}
.network-services b{font-size:10px;font-weight:400;color:#abd6ee}.network-services b.pending{color:#c2c9ce}
