:root{color-scheme:dark;font-family:Inter,"Microsoft YaHei",sans-serif;color:#ebedf8;background:#090b16}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 80% 0,#29203e66,transparent 50%),#090b16;color:#ebedf8}aside{background:#0d0f1d;border-right:1px solid #25263a;width:222px;padding:25px 18px}.brand{display:flex;align-items:center;gap:8px;font-size:23px;letter-spacing:2px}.brand img{width:59px;height:59px;object-fit:cover;border-radius:12px}.subtitle{font-size:10px;letter-spacing:2px;text-align:center;color:#8b8ba8}nav div{background:linear-gradient(90deg,#7c56d63d,#7c56d610);border:1px solid #8061bb4d;color:#d8c8ff;box-shadow:inset 3px 0 #b289ff}.sidefoot{color:#767990}main{margin-left:222px;max-width:1700px;padding:28px 36px}header{color:#8e91ad;border-color:#282b40}a{color:#b6a2e8;text-decoration:none}.online{color:#8dcab8}.intro{position:relative;overflow:hidden;padding:30px 26px;margin-top:25px;border:1px solid #37304e;border-radius:14px;background:linear-gradient(110deg,#242038,#121627)}.intro>div:not(.hero-orbit),.intro>button{z-index:1}.intro h1{margin:12px 0;font-size:29px;letter-spacing:1px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#b29adb}.intro p{margin-bottom:0}.hero-orbit{position:absolute;width:280px;height:280px;border:1px solid #986dd03d;border-radius:50%;right:130px;top:-135px;box-shadow:0 0 0 25px #8665bb0a,0 0 0 55px #8665bb08,0 0 80px #9267ef12}p{color:#9598b1}button{background:#1b1e30;border:1px solid #36394e;color:#d8d9e8}button:hover{border-color:#bd91f5;background:#29243c}.primary,.login-button{background:linear-gradient(110deg,#8652d9,#ae70c2);color:white;box-shadow:0 4px 20px #8552d326;border:1px solid #c399ed66}.primary:hover{background:#9869d9}.stats{gap:15px}.stat,.panel{background:#121524;border-color:#2b2e42;box-shadow:0 8px 30px #0000000d}.stat{position:relative;padding:22px}.stat:before{content:'';position:absolute;top:22px;right:20px;width:7px;height:7px;border-radius:50%;background:#ab88ec;box-shadow:0 0 12px #ab88ec}.stat small{color:#a1a4bb}.stat strong{color:#f1efff;font-size:28px}.stat em{color:#80849f}.stat:last-child{background:linear-gradient(120deg,#2a203b,#1a1a30);border-color:#5b416f}.stat:last-child strong{color:#edc398}.workspace{grid-template-columns:minmax(0,1fr) 285px;gap:20px}.panel{padding:21px}h2{color:#e6e5f3}.filters input,.filters select,input,select{background:#0d1020;border-color:#31354a;color:#dddff1}input:focus,select:focus{outline:2px solid #966ce0;outline-offset:2px}.cards{gap:18px}.card{background:#16192a;border-color:#303348;border-radius:12px;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:#72588f}.cover,.card:nth-child(2n) .cover{height:255px;position:relative;padding:0;overflow:hidden;background:#171d33}.cover img{position:absolute;width:100%;height:100%;object-fit:cover}.poster-bottom{position:absolute;bottom:0;left:0;right:0;padding:48px 18px 16px;background:linear-gradient(transparent,#0b0e1bef);display:flex;justify-content:space-between;align-items:end}.poster-bottom b{font-size:19px}.poster-bottom span{color:#b0b1c5;font-size:10px}.poster-art{position:absolute;inset:0;background:linear-gradient(150deg,#152e40,#342446 65%,#6c4461);display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}.poster-art:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 70px,#f2d3a608 71px);z-index:-1}.moon{position:absolute;width:115px;height:115px;background:linear-gradient(130deg,#ffe6ae,#d1957544);border-radius:50%;top:25px;right:30px;box-shadow:0 0 70px #e0b29a33;z-index:-1}.mountain{position:absolute;width:400px;height:220px;background:linear-gradient(130deg,#162a3a,#0d1426);transform:rotate(28deg);bottom:-120px;left:-30px;z-index:-1}.poster-art strong{font-family:"STSong","SimSun",serif;font-size:32px;letter-spacing:4px;text-shadow:0 2px 20px #000;margin:10px 0}.poster-caption{font-size:8px!important;letter-spacing:2px!important;color:#d3bfa5}.poster-art small{font-size:10px;color:#c1b6ca}.card:nth-child(2n) .poster-art{background:linear-gradient(135deg,#3c294b,#8c5967,#2b304d)}.card:nth-child(3n) .poster-art{background:linear-gradient(130deg,#193a43,#506e77,#3a3049)}.badge{background:#28403c;color:#8bddc5}.edit{color:#baa0e7;background:none}.people{margin:16px 0}.person-row{display:flex;align-items:start;gap:10px;margin-bottom:10px}.role-label{flex-shrink:0;color:#858aa5;font-size:11px;line-height:32px}.members{display:flex;flex-wrap:wrap;gap:6px}.person{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border:1px solid #36394f;border-radius:6px;background:#202438;color:#c9cce2;font-size:11px;line-height:22px}.person i{font-style:normal;width:23px;height:23px;text-align:center;border-radius:4px;background:#353c59;color:#c0cbea}.person.director{background:#342744;border-color:#594268;color:#edddff}.person.director i{background:#70518d;color:#f3e7ff}.person small{color:#bba1cd;border-left:1px solid #665073;padding-left:7px;margin-left:6px}.metrics{border-color:#2c3044}.metrics small{color:#858ba6}.metrics b{color:#e1d6fa}.metrics span{color:#b1b8d0;font-size:12px}.progress{background:#2a2e43}.progress i{background:linear-gradient(90deg,#7552ba,#c28ed8);box-shadow:0 0 12px #a66edf}.muted{color:#848aa6}.calc label{color:#a1a6bd}.result{background:linear-gradient(120deg,#392c4e,#23213d);border:1px solid #6c4f81;color:#e9caab}.note{border-color:#303348}.note p{font-size:12px}footer{color:#70758e}dialog{background:#151827;color:#e8e4f4;border:1px solid #5b496e}dialog::backdrop{background:#030612cf;backdrop-filter:blur(6px)}.upload{padding:14px;border:1px dashed #615076;border-radius:8px;margin-bottom:22px}.upload input{margin-top:10px}.upload img{display:block;max-height:130px;margin:10px 0}.upload img[hidden]{display:none}.upload button{margin-top:8px;font-size:12px}.login-page{margin:0;min-height:100vh;background:radial-gradient(ellipse at 18% 55%,#50306a33,transparent 45%),radial-gradient(ellipse at 90% 10%,#56436a26,transparent 40%),#080a13}.login-top{max-width:1400px;margin:auto;display:flex;align-items:center;padding:28px 5%;gap:12px}.login-top img{width:58px;border-radius:10px}.login-top span{font-size:22px;font-weight:bold;letter-spacing:2px}.login-top small{font-size:12px;color:#8c8aa5;display:block;letter-spacing:3px;margin-top:5px}.login-top b{margin-left:auto;font-size:10px;letter-spacing:2px;color:#686b85}.login-layout{max-width:1200px;margin:30px auto 45px;padding:0 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.login-brand h1{font-size:42px;line-height:1.5;letter-spacing:2px;margin:20px 0}.login-brand p{line-height:1.9;font-size:14px}.big-logo{display:block;width:240px;height:240px;object-fit:contain;mix-blend-mode:screen;margin:8px 0 12px 40px}.login-features{display:flex;gap:24px;font-size:10px;color:#9b8daa;letter-spacing:1px}.login-box{position:relative;padding:38px;background:linear-gradient(150deg,#242034bb,#121523dd);border:1px solid #574365;border-radius:20px;box-shadow:0 24px 100px #0005}.login-box h2{font-size:29px;margin:22px 0 8px}.login-box p{font-size:13px;line-height:1.8}.lock-icon{position:absolute;right:35px;top:32px;color:#d1a5ec;font-size:30px}.identity-card{margin:32px 0 24px;background:#0b0e1c80;padding:20px;border-radius:9px;border:1px solid #363146;display:flex;flex-direction:column;gap:10px}.identity-card span{font-size:11px;color:#9291aa}.identity-card strong{font-size:16px;letter-spacing:1px}.identity-card small{font-size:11px;color:#85879f}.login-button{display:flex;justify-content:space-between;text-decoration:none;padding:16px;border-radius:8px;font-size:13px}.login-button:hover{filter:brightness(1.15)}.login-hint{font-size:11px!important;color:#84849d!important;margin:20px 0 28px}.secure-line{border-top:1px solid #353046;padding-top:23px;font-size:11px;color:#a997b4;text-align:center}.login-footer{max-width:1200px;margin:auto;padding:20px 40px;border-top:1px solid #232235;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}@media(min-width:1500px){.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:1150px){.workspace{grid-template-columns:1fr}.calc{display:block}.login-layout{gap:45px}.login-brand h1{font-size:34px}}@media(max-width:700px){aside{width:100%;padding:12px 18px;background:#0e1020;display:flex}.brand img{width:43px;height:43px}.brand{font-size:21px}.brand:after{content:'工作管理台';font-size:11px;color:#9690ac;letter-spacing:0;margin-left:8px}main{margin-left:0;padding:16px}.intro{margin-top:16px;padding:22px 18px;display:block}.intro h1{font-size:22px}.intro p{font-size:11px}.intro button{margin-top:20px}.eyebrow{font-size:8px;letter-spacing:1.5px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:22px}.stat:before{right:12px;top:17px}.stat small{font-size:11px}.stat em{font-size:10px}.cards{grid-template-columns:1fr}.cover{height:290px}.workspace{margin-top:18px}.panel{padding:15px}.login-top{padding:20px}.login-top b{display:none}.login-layout{display:flex;flex-direction:column;margin:18px auto;padding:0 22px;gap:26px}.login-brand{width:100%}.login-brand h1{font-size:28px;margin:13px 0}.login-brand p,.big-logo,.login-features{display:none}.login-box{width:100%;padding:26px}.login-box h2{font-size:25px}.login-footer{padding:24px;font-size:8px;gap:20px}.login-top span{font-size:20px}.login-top img{width:48px}.formgrid{grid-template-columns:1fr 1fr}}

.account-form{margin-top:25px}.account-form label{display:block;font-size:13px;color:#aaa6bf;margin:18px 0}.account-form input{display:block;width:100%;padding:14px;margin-top:10px;background:#0c1020;border:1px solid #47405d;border-radius:8px;color:white;box-sizing:border-box}.account-form button{width:100%;cursor:pointer}.account-form #login-error{color:#f4a0ad;min-height:22px}.metrics b{font-size:16px}.stat strong{font-size:24px}

.mobile-install{margin:14px 0;color:#c9b0ec;font-size:13px}
.mobile-install summary{cursor:pointer;padding:8px 0}
.mobile-install p{color:#afb1c8;line-height:1.7}
.mobile-install [hidden]{display:none}
@media(display-mode:standalone){.mobile-install{display:none}}
@media(max-width:700px){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}input,select,.account-form input{font-size:16px}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
