@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0b1219;--panel:#101a23;--panel-2:#15212c;--line:#23303c;--text:#e8eef2;--muted:#8495a5;--mint:#86e5bd;--mint-dim:#1b3a33;--font:'Noto Sans TC',sans-serif;--mono:'Space Grotesk',var(--font)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px var(--font);letter-spacing:.015em}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button{color:inherit}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}button svg,[data-icon] svg{width:20px;height:20px;display:block;stroke-width:1.6}button{border:0;background:none}input,select,textarea{border:1px solid var(--line);background:#0c151d;color:var(--text);padding:12px 13px;border-radius:9px;outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--mint)}input::placeholder,textarea::placeholder{color:#617484}input,textarea{min-width:0}.rail{position:fixed;inset:0 auto 0 0;width:76px;background:#101921;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;z-index:30}.brand-symbol{width:42px;height:42px;border:1px solid #365b50;background:#162c28;border-radius:12px;margin:22px 0 40px;color:var(--mint)}.brand-symbol svg{width:100%;height:100%}.rail nav{display:flex;flex-direction:column;gap:13px}.rail-button{width:54px;min-height:58px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;border-radius:10px;color:var(--muted);font-size:10px}.rail-button.active{color:var(--mint);background:#20372f}.rail-button:hover{color:var(--text);background:var(--line)}.rail-button.active:before{content:'';position:absolute;left:0;width:3px;height:25px;background:var(--mint);border-radius:0 3px 3px 0}.rail-bottom{margin-top:auto;display:grid;justify-items:center;gap:15px;padding-bottom:25px}.avatar{width:35px;height:35px;display:grid;place-items:center;background:#364944;border:1px solid #5b7068;border-radius:50%;font-size:12px}.app-shell{margin-left:76px}.topbar{height:80px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.brand-name{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:600;white-space:nowrap}.brand-divider{height:18px;width:1px;background:#34424c}.brand-sub{font-size:13px;font-weight:400;color:#b0bdc7}.version-tag{font:9px var(--mono);letter-spacing:1px;border:1px solid #3d4a52;color:#a6b3be;padding:3px 5px;border-radius:4px}.top-actions{display:flex;align-items:center;gap:10px}.local-indicator{color:#a6b8b6;display:flex;align-items:center;gap:7px;margin-right:14px;font-size:11px;white-space:nowrap}.local-indicator i,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px #86e5bd44}.primary-button,.secondary-button{min-height:39px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap}.primary-button{background:var(--mint);color:#10261e}.primary-button:hover{background:#a5f4d3}.secondary-button{background:#1b2a35;border:1px solid #34444f;color:#d1dce2}.secondary-button:hover{background:#273b48}.primary-button svg{width:16px;height:16px}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:#9aabb9;border:1px solid transparent;border-radius:6px}.icon-button:hover{background:#21313d;color:var(--mint)}main{max-width:1800px;padding:30px 34px 0;margin:0 auto}.workspace-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:15px}.eyebrow{font:10px var(--mono);color:var(--mint);letter-spacing:2px;margin-bottom:8px}h1{font-size:28px;font-weight:500;letter-spacing:1px;margin:0 0 7px}h1>span{color:var(--mint)}p{line-height:1.8}.workspace-heading p{font-size:12px;color:var(--muted);margin:0}.heading-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.date{font:11px var(--mono);color:#a8b5c0;letter-spacing:1px}.setup-badge{font-size:10px;padding:6px 10px;color:#b9c5cc;background:#17222b;border:1px solid var(--line);border-radius:5px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.metric{background:linear-gradient(120deg,#14202a,#111b24);border:1px solid var(--line);border-radius:10px;padding:17px;display:flex;gap:13px;align-items:center;min-height:86px}.metric-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.mint{background:#1c3933;color:#8de2be}.purple{background:#302b43;color:#b4a1e8}.amber{background:#3c3424;color:#dbbd7c}.blue{background:#213341;color:#83bbde}.metric-label{display:block;color:#9aabb9;font-size:11px}.metric strong{display:block;font:26px var(--mono);margin-top:1px}.metric strong span{font:10px var(--font);color:var(--muted);margin-left:5px}.metric-note,.metric-link{font-size:10px;color:#687f8c;margin-left:auto;align-self:flex-end;white-space:nowrap}.metric-link{color:var(--mint);padding:0}.page{display:none}.page.active{display:block}.office-layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:18px}.scene-panel{height:555px;position:relative;border:1px solid #2a3944;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#23323d 0,#17212d 50%,#101923 100%)}.scene-toolbar{position:absolute;z-index:5;top:19px;left:21px;right:19px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;gap:10px}.scene-toolbar>*{pointer-events:auto}.scene-title{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:500}.floor-tag{font:9px var(--mono);padding:4px 6px;border:1px solid #43525b;border-radius:4px;color:#91a4af;margin-left:5px}.segmented{display:flex;padding:3px;background:#0d1821c9;border:1px solid #2b3b46;border-radius:7px}.segmented button{font-size:10px;padding:6px 10px;border-radius:4px;color:#8ea0ae}.segmented button.active{background:#30443f;color:#c7f3df}#office-canvas{position:absolute;inset:15px 0 0;overflow:hidden}#office-canvas canvas{display:block;outline:none;touch-action:none}#scene-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);z-index:1;font-size:12px}.loading-cube{font-size:55px;color:var(--mint);animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.25;transform:scale(.8)}}.scene-bottom{position:absolute;z-index:5;left:20px;right:20px;bottom:16px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.scene-hint{display:flex;align-items:center;gap:6px;color:#7d93a1;font-size:10px;padding:6px 8px;background:#0e1822a6;border-radius:6px}.scene-hint svg{width:14px}.scene-controls{display:flex;gap:3px;background:#0c1721dc;border:1px solid #2b3c47;border-radius:7px;padding:3px;pointer-events:auto}.scene-coordinate{position:absolute;bottom:70px;left:23px;font:8px var(--mono);color:#49636e;letter-spacing:1.5px;pointer-events:none}.scene-coordinate span{display:block;margin-top:5px;color:#38525e}.scene-panel.expanded{position:fixed;inset:24px;z-index:100;height:auto;box-shadow:0 0 0 100vw #071019e8}.department-panel{height:555px;overflow:auto;background:#111c25;border:1px solid var(--line);border-radius:12px;padding:21px;scrollbar-width:thin;scrollbar-color:#344653 transparent}.panel-eyebrow{color:#718a9a;font:9px var(--mono);letter-spacing:1.5px;margin-bottom:17px}.hub-icon{display:grid;place-items:center;width:46px;height:46px;color:var(--mint);border:1px solid #325649;background:linear-gradient(135deg,#28483d,#18302b);border-radius:13px;margin-bottom:12px}.hub-icon svg{width:24px;height:24px}.department-panel h2{font-size:18px;font-weight:500;margin:0 0 7px}.panel-description{font-size:11px;color:#869aaa;margin:0 0 14px;line-height:1.8}.panel-status{font-size:10px;color:#a4b6c0;display:flex;align-items:center;gap:6px}.panel-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#758b9c}.panel-divider{height:1px;background:var(--line);margin:19px 0}.panel-section-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:12px}.panel-section-heading span{font:10px var(--mono);color:#708695}.department-item{width:100%;padding:10px 0;display:flex;align-items:center;gap:10px;text-align:left;border-bottom:1px solid #23323b55}.department-item:last-child{border:0}.dept-marker{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--dept-color) 12%,transparent);color:var(--dept-color)}.dept-marker svg{width:15px;height:15px}.dept-item-name{font-size:11px}.dept-item-count{margin-left:auto;font:10px var(--mono);color:#718694}.dept-arrow{color:#638275;font-size:15px}.department-item:hover .dept-item-name{color:var(--mint)}.panel-bottom-note{font-size:10px;color:#657d8c;border:1px dashed #31434d;border-radius:7px;padding:10px;margin-top:16px;line-height:1.8}.panel-back{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center;padding:0;margin-bottom:18px}.panel-back svg{width:14px;height:14px}.panel-tool{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.tool-initial{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;font:600 13px var(--mono);background:#20303d;border:1px solid #354957;border-radius:9px;color:#d1dbe2}.panel-tool-content{min-width:0;flex:1}.panel-tool-content b{font-size:11px;display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-tool-content span{font-size:9px;color:#758c9d;display:block;line-height:1.6;margin-top:3px}.open-tool{display:grid;place-items:center;width:29px;height:29px;border-radius:6px;color:#8aa89e;background:#1d332e;font-size:16px;flex-shrink:0}.open-tool:hover{background:var(--mint);color:#14251f}.wide{width:100%}.department-panel .wide{margin-top:17px}.department-task{padding:9px 0;font-size:11px;color:#a8bac5;display:flex;align-items:center;gap:7px}.small-status{width:5px;height:5px;border-radius:50%;background:#d2b678;flex-shrink:0}.activity-strip{border:1px solid var(--line);border-radius:10px;margin-top:18px;padding:16px 20px;background:#101a23}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-heading h2{font-size:12px;font-weight:500;display:flex;align-items:center;gap:8px;margin:0}.text-button{font-size:10px;color:#95aaa9;padding:0}.text-button:hover{color:var(--mint)}.text-button span{margin-left:7px}.activity-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #23313a66;font-size:11px}.activity-row:last-child{border-bottom:0}.activity-dot{width:5px;height:5px;border-radius:50%;background:#72c6a4;flex-shrink:0}.activity-row time{font:10px var(--mono);color:#607989;margin-left:auto;white-space:nowrap}.activity-kind{color:#7ad3b1;white-space:nowrap;width:43px;font-size:10px}.activity-message{color:#acbbc6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px 0 24px}.content-toolbar h2{font-size:22px;margin:0;font-weight:500}.content-toolbar p{font-size:12px;color:var(--muted);margin:7px 0 0}.search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel);width:280px;padding:0 12px;color:#8095a5}.search-field input{border:0;background:none;padding:11px;font-size:12px}.filter-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.filter-button{border:1px solid #2a3b47;border-radius:6px;padding:7px 13px;font-size:11px;color:#91a4b2}.filter-button.active{background:#203d32;border-color:#3e7760;color:var(--mint)}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-height:340px}.tool-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;align-self:start;min-height:190px}.tool-card-head{display:flex;align-items:center;gap:11px}.tool-card h3{font-size:14px;margin:0 0 4px;font-weight:500;overflow-wrap:anywhere}.tool-card .tool-initial{width:40px;height:40px}.tool-card .dept-label{font-size:10px;color:var(--dept-color)}.tool-card p{font-size:11px;color:#91a5b4;flex:1;margin:15px 0;overflow-wrap:anywhere}.tool-card-foot{display:flex;align-items:center;gap:3px}.tool-card-foot a{margin-left:auto;font-size:11px;color:var(--mint)}.sample-tag{font-size:9px;color:#7d919f;border:1px solid #33434e;border-radius:4px;padding:2px 5px;margin-left:auto;align-self:flex-start}.tool-card-foot .icon-button{width:28px;height:28px}.tool-card-foot svg{width:15px;height:15px}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;min-height:390px}.kanban-column{border:1px solid var(--line);border-radius:12px;background:#0f1a23;padding:16px}.kanban-heading{display:flex;align-items:center;gap:8px;font-size:12px;margin:0 0 17px}.kanban-heading b{font:11px var(--mono);margin-left:auto;color:#6d8594;padding:3px 7px;background:#1d2b35;border-radius:4px}.kanban-dot{height:6px;width:6px;border-radius:50%;background:var(--status-color)}.task-card{background:#182631;border:1px solid #2b3e4a;padding:15px;border-radius:9px;margin-bottom:12px}.task-card h3{font-size:12px;line-height:1.8;margin:8px 0 14px;font-weight:500;overflow-wrap:anywhere}.task-card .dept-label{font-size:9px;color:var(--dept-color)}.task-controls{display:flex;align-items:center;gap:10px}.task-controls select{font-size:10px;padding:7px;flex:1}.task-controls svg{width:15px;height:15px}.empty-state{color:#617b8d;text-align:center;padding:35px 15px;font-size:11px;line-height:1.9}.empty-state svg{width:26px;height:26px;margin:0 auto 10px;color:#415f6b}.tool-grid>.empty-state{grid-column:1/-1;min-height:200px;padding-top:70px}.activity-full{min-height:300px;padding:15px 24px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.activity-full .activity-row{padding:17px 0}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;color:#536c7c;padding:22px 0}footer span:last-child{font:8px var(--mono);letter-spacing:1px}.footer-mark{font-size:15px;color:#89bba8;margin-right:4px}dialog{background:#13212c;border:1px solid #3b505c;border-radius:15px;color:var(--text);width:min(475px,calc(100% - 28px));padding:27px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#050d16bb;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-head h2{font-size:20px;font-weight:500;margin:0}.dialog-head .eyebrow{font-size:8px}.dialog-intro{font-size:12px;color:#92a8b7;margin:13px 0 22px}dialog label{display:block;font-size:11px;color:#bfd0da;margin-top:15px}dialog label input,dialog label select,dialog label textarea{display:block;margin-top:8px;font-size:12px}dialog .subtle{font-size:9px;margin-left:4px}.form-note{font-size:10px;color:#7992a3;margin:14px 0;line-height:1.9}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.help-content{font-size:12px;color:#9cb2c0;padding:10px 0}.help-content b{color:#d6e7df;font-weight:500;display:inline-block;margin-bottom:4px}.help-note{padding:13px;border-radius:8px;background:#0d1821;font-size:11px}.subtle{color:#688394;font-size:11px}#confirm-message{color:#9fb4c1;font-size:13px;overflow-wrap:anywhere}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,16px);z-index:200;background:#284f41;border:1px solid #548b74;border-radius:9px;color:#e0f8eb;font-size:12px;padding:12px 20px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.scene-panel,.department-panel{height:620px}.office-layout{grid-template-columns:minmax(0,1fr) 320px}.department-item{padding:13px 0}.department-panel{padding:25px}.workspace-heading{margin-bottom:30px}}
@media(max-width:1150px){main{padding:25px 22px 0}.topbar{padding:0 22px}.metrics{gap:10px}.metric{padding:13px;gap:9px}.metric-note,.metric-link{display:none}.office-layout{grid-template-columns:minmax(0,1fr) 258px;gap:12px}.department-panel{padding:17px}.scene-panel,.department-panel{height:530px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer span:last-child{display:none}.scene-hint{font-size:9px}.scene-coordinate{display:none}}
@media(max-width:850px){.rail{width:62px}.app-shell{margin-left:62px}.brand-name{gap:9px;font-size:14px}.brand-sub{font-size:11px}.version-tag,.local-indicator,.heading-right .date{display:none}.top-actions{gap:3px}.topbar{height:68px}.brand-symbol{width:36px;height:36px;margin-top:17px}.rail-button{width:47px}h1{font-size:24px}.office-layout{grid-template-columns:minmax(0,1fr)}.scene-panel{height:520px}.department-panel{height:auto;max-height:400px}.department-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 15px}.department-item{border:0}.department-panel .panel-description{max-width:500px}.department-panel .hub-icon{float:left;margin-right:14px}.panel-bottom-note{margin-top:10px}.metric{padding:12px}.metric-icon{width:30px;height:30px}.metric-icon svg{width:17px;height:17px}.metric-label{font-size:9px}.metric strong{font-size:22px}.kanban{gap:10px}.kanban-column{padding:10px}.content-toolbar{margin-top:22px}.scene-hint{font-size:10px}}
@media(max-width:600px){.rail{inset:auto 0 0;width:100%;height:63px;border-top:1px solid #31434d;border-right:0;flex-direction:row;justify-content:center;background:#101b24f5;backdrop-filter:blur(12px)}.brand-symbol,.rail-bottom{display:none}.rail nav{flex-direction:row;justify-content:space-around;width:100%;gap:0}.rail-button{height:55px;width:70px;min-height:0;font-size:9px;gap:3px}.rail-button.active:before{left:auto;bottom:0;width:22px;height:2px}.app-shell{margin-left:0;padding-bottom:63px}.topbar{height:63px;padding:0 16px}.brand-name{font-size:14px}.brand-sub{font-size:10px}.brand-divider{height:14px}.top-actions .icon-button{width:28px}.top-actions .icon-button svg{width:16px}.top-actions .primary-button{padding:8px;min-height:33px;font-size:10px}.top-actions .primary-button svg{display:none}main{padding:24px 15px 0}.workspace-heading{align-items:flex-start;margin-bottom:20px}.heading-right{padding-top:4px}.setup-badge{font-size:8px;max-width:90px;line-height:1.6;padding:4px 7px}.eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:21px;letter-spacing:.5px}.workspace-heading p{font-size:10px}.metrics{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:15px}.metric{min-height:71px;padding:12px}.metric-label{font-size:10px}.metric-icon{width:33px;height:33px}.metric strong{font-size:22px}.metric-note,.metric-link{display:block;font-size:8px}.scene-panel{height:480px}.scene-toolbar{top:15px;left:14px;right:14px}.scene-title{font-size:10px;gap:7px}.floor-tag{font-size:8px;padding:2px 4px}.segmented button{font-size:9px;padding:5px 7px}.scene-bottom{left:11px;right:11px;bottom:11px}.scene-hint{font-size:8px;padding:4px;gap:3px}.scene-hint svg{display:none}.scene-controls .icon-button{height:27px;width:27px}.scene-controls svg{width:16px;height:16px}.department-panel{padding:18px;max-height:none}.department-list{grid-template-columns:repeat(2,1fr)}.panel-eyebrow{margin-bottom:12px}.department-panel h2{font-size:16px}.activity-strip{padding:14px;margin-top:15px}.activity-row{font-size:10px;gap:8px}.activity-kind{font-size:9px;width:37px}.activity-row time{font-size:8px}.section-heading h2{font-size:11px}.text-button{font-size:9px}footer{font-size:8px;line-height:1.9;align-items:flex-start;gap:15px}footer span:nth-child(2){max-width:180px;text-align:right}.content-toolbar{align-items:flex-start;flex-wrap:wrap;gap:17px}.content-toolbar h2{font-size:20px}.content-toolbar p{font-size:10px}.search-field{width:100%}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:170px}.filter-button{font-size:10px;padding:7px 10px}.kanban{grid-template-columns:1fr}.kanban-column{padding:15px;min-height:150px}.kanban .empty-state{padding:20px}.activity-full{padding:10px 15px}.scene-panel.expanded{inset:8px}.scene-panel.expanded .scene-hint{display:none}.toast{bottom:80px}.dialog-head h2{font-size:18px}dialog{padding:23px}.top-actions{gap:1px}}
.tool-card-foot{flex-wrap:wrap}.tool-card-foot .tool-source-link{margin-left:auto;color:#839eae;font-size:10px}.tool-card-foot .tool-source-link+a{margin-left:10px}.panel-tool-content .tool-source-link{color:#90b6a8}.panel-tool-content .tool-source-link:hover{color:var(--mint)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
