:root{--blue:#3982f5;--ink:#33373c;--muted:#9399a1;--red:#ca394a;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:#f3f3f3}
*{box-sizing:border-box}
body{margin:0;font-size:14px}
button,select{font:inherit;color:inherit}
button{border:0;background:transparent;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.topbar{height:65px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 24px;background:#fff;box-shadow:0 2px 7px #23252f09}
.brand{display:flex;gap:11px;align-items:center;font-weight:650;white-space:nowrap;font-size:16px}
.brand img{width:30px;height:30px}
.topnav{display:flex;align-items:center;gap:clamp(11px,1.35vw,28px);white-space:nowrap}
.topnav button{padding:0}
.topnav button:hover,.topnav a:hover,.subtle:hover{color:var(--blue)}
.notice-trigger{position:relative;display:flex;align-items:center;justify-content:center;border-inline:1px solid #f0f0f2;padding:0 19px!important}
.notice-trigger img{width:22px;height:22px}
.notice-trigger span{position:absolute;right:4px;top:-9px;font-size:11px;color:#fff;background:#fb676b;border-radius:9px;padding:1px 6px}
.user-button{display:flex;align-items:center;gap:10px}
.user-button img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.workbench{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:clamp(16px,1.8vw,36px);padding:clamp(16px,1.8vw,36px)}
.main-column,.side-column{display:grid;gap:clamp(16px,1.8vw,36px);min-width:0}
.panel{background:#fff;border-radius:17px;padding:24px;min-width:0;box-shadow:0 4px 19px #1f24340a}
.panel h2,dialog h2{font-size:16px;font-weight:550;margin:0;line-height:1.4}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:24px}
.subtle,.muted{color:var(--muted)}
.subtle{white-space:nowrap;padding:0;display:inline-flex;align-items:center;gap:7px}
.subtle span{font-size:22px;line-height:13px}
.subtle img{width:15px;height:15px;opacity:.68}
.system-grid{display:flex;flex-wrap:wrap;gap:18px clamp(13px,2.3vw,45px);margin:34px 0 10px}
.system,.quick{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 4px 2px;min-width:74px;color:#657184;white-space:nowrap;border-radius:9px}
.system:hover,.quick:hover{background:#f7faff;color:var(--blue)}
.system-mark{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:20px;font-weight:700;letter-spacing:.02em;color:#3277d0;background:linear-gradient(145deg,#eaf3ff,#f5f9ff);border:1px solid #e8f0fb}
.system-mark.teal{color:#28776f;background:#eaf7f4;border-color:#e1f2ed}
.system-mark.violet{color:#7155af;background:#f2edfb;border-color:#eee6f9}
.system-mark.amber{color:#91621d;background:#fff4de;border-color:#fdf0d1}
.messages{display:grid;gap:0}
.message{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;text-align:left;width:100%;padding:0;color:#6f7378}
.message:hover{color:var(--blue)}
.message time{font-size:13px;white-space:nowrap}
.message-title{display:flex;align-items:center;gap:5px}
.message-title::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#dce1e8}
.message.unread .message-title::before{background:#fa454e}
.quick-panel{min-height:clamp(220px,15.65vw,320px)}
.quick-grid{display:flex;flex-wrap:wrap;gap:18px clamp(10px,1vw,26px);margin:32px 0 6px}
.quick{color:#505357;min-width:70px}
.quick-icon{position:relative;display:grid;place-items:center;width:41px;height:41px}
.quick-icon img{width:100%;height:100%}
.quick-icon small{position:absolute;top:-3px;right:-4px;width:14px;height:14px;line-height:14px;color:#7356eb;background:#f1ebff;border-radius:50%;font-size:9px}
.todo-top{display:flex;align-items:center;gap:clamp(13px,1.3vw,26px);margin-bottom:14px}
.todo-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.3vw,26px);flex:1}
.todo-tab{background:#f3f5f8;height:96px;display:grid;place-content:center;gap:4px;border-radius:8px;color:#6c737c}
.todo-tab strong{font-size:27px;color:#343941}
.todo-tab.selected,.weekday button.selected{background:var(--blue);color:#fff}
.todo-tab.selected strong{color:#fff}
.todo-art{width:min(16%,170px);height:96px;object-fit:contain}
.todo-row{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:74px;color:#65696f}
.todo-row time{display:block;margin-top:8px;font-size:13px}
.outline{border:1px solid #b7d2fd;color:var(--blue);border-radius:4px;padding:6px 15px;display:inline-block;white-space:nowrap}
.outline:hover{background:#eff6ff}
.schedule-panel{min-height:300px}
.week-nav{display:flex;align-items:center;gap:8px}
.week-nav>button{background:#f0f2f5;color:#8490a1;border-radius:4px;width:24px;height:24px;font-size:18px;padding:0}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1;gap:3px}
.weekday{display:flex;flex-direction:column;align-items:center;gap:9px;position:relative}
.weekday button{border-radius:50%;padding:0;width:40px;max-width:100%;aspect-ratio:1}
.weekday button:not(.selected):hover{background:#f0f6ff;color:var(--blue)}
.weekday i{width:6px;height:6px;background:#3b83ee;border-radius:50%;position:absolute;top:calc(100% + 5px)}
#schedule-events{text-align:center;padding:34px 0 6px}
#schedule-events.has-events{display:grid;gap:7px;padding:25px 0 3px}
#schedule-events img{width:120px;height:82px;object-fit:contain;opacity:.7}
#schedule-events p{margin:6px 0}
.schedule-event{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:#f7f9fc;border:1px solid #eef2f8;border-radius:8px;padding:9px 11px}
.schedule-event:hover{border-color:#cde1fd;background:#f1f6fd}
.schedule-description{display:grid;gap:4px}
.schedule-description strong{font-weight:550;color:#46536a}
.schedule-description .muted{font-size:12px}
.schedule-status{font-size:11px;white-space:nowrap;color:#3669a6;background:#eaf2ff;border-radius:4px;padding:3px 6px}
.schedule-status.pending{color:#936422;background:#fff2d8}
.ai-launcher{position:fixed;right:16px;bottom:22px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:3}
.ai-tip{width:min(252px,calc(100vw - 28px));min-height:69px;position:relative;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:12px 30px 12px 15px;background:#fff6f7;border:1px solid #f4c8cf;border-radius:16px 16px 4px 16px;box-shadow:0 9px 25px #801e2c13;color:#8d3a44}
.ai-tip::after{content:"";background:#fff6f7;border-right:1px solid #f4c8cf;border-bottom:1px solid #f4c8cf;position:absolute;right:20px;bottom:-5px;width:9px;height:9px;transform:rotate(45deg)}
.ai-kicker{font-size:11px;font-weight:750;color:#bd2d40}
.ai-arrow{position:absolute;top:19px;right:14px;color:var(--red);font-size:16px}
.ai-button{display:grid;justify-items:center;gap:4px;font-size:11px;color:#a32e3a;margin-right:0}
.ai-button img{width:64px;height:64px;filter:drop-shadow(0 4px 8px #b5273f39);transition:transform .18s ease}
.ai-button:hover img{transform:translateY(-2px) scale(1.04)}
dialog{max-width:min(620px,calc(100% - 28px));width:100%;max-height:min(85vh,770px);border:none;box-shadow:0 20px 72px #28345538;border-radius:13px;padding:22px 24px;color:var(--ink)}
dialog::backdrop{background:#2a334a50}
#dialog-close{font-size:24px;color:#758099}
.detail-meta{color:#69768a;font-size:13px;line-height:1.55}
.detail-summary{line-height:1.75}
.detail-features{display:flex;gap:8px;flex-wrap:wrap;padding:0;list-style:none}
.detail-features li{color:#466180;background:#f1f5fc;padding:6px 10px;border-radius:6px}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.shortcut-choices{display:grid;gap:10px;margin-bottom:18px}
.shortcut-choices label{display:flex;align-items:center;gap:9px}
@media(max-width:950px){.topnav>[data-nav]:not(.user-button){display:none}.panel{padding:17px}.todo-art{display:none}.system-grid{gap:8px}.quick-grid{gap:8px}.system,.quick{min-width:62px}.weekday button{width:32px}}
@media(max-width:690px){.workbench{grid-template-columns:1fr}.topbar{padding:0 13px;gap:10px;height:57px}.brand{font-size:14px;gap:5px}.brand img{width:26px;height:26px}.topnav{gap:8px}.topnav>a,.user-button{display:none}.notice-trigger{border:0;padding:0 10px!important}.ai-launcher{right:10px;bottom:12px}.ai-button img{width:53px;height:53px}.ai-tip{min-height:57px}.todo-tab{height:76px}.panel-heading{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.ai-button img{transition:none}}
