:root{font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#eaf2ff;background:#0c1528}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #72bcff;outline-offset:3px}.top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:15px 25px;background:#0c1425;border-bottom:1px solid #26354c}.brand{display:flex;align-items:center;gap:12px}.logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:28px;font-weight:900;color:#fff;background:linear-gradient(135deg,#496fff,#18b9ff)}.logo span{color:#ffcc49;font-size:14px}.brand strong{display:block;font-size:18px;letter-spacing:.4px}.brand em{color:#61b5ff;font-style:normal}.brand small{display:block;color:#97adc9;font-size:11px}.topRight{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.topRight span{font-size:12px;color:#85a5c8}.ghost{color:#dce9fb;background:#202f48;border:1px solid #3c5272;border-radius:9px;padding:9px 12px}.layout{display:grid;grid-template-columns:265px minmax(0,1fr);min-height:calc(100dvh - 76px)}.side{padding:26px 17px;border-right:1px solid #253852;background:#101d32}.sub,.eyebrow{font-size:11px;letter-spacing:1.4px;color:#57adff;font-weight:800}.side h2{font-size:21px;margin:7px 0 16px}.projectList{display:grid;gap:7px}.projectItem{width:100%;text-align:left;padding:12px;border:1px solid transparent;background:#1c2c44;color:#e4f0ff;border-radius:12px;min-width:0;display:grid;gap:3px}.projectItem strong{overflow-wrap:anywhere}.projectItem small{color:#8fa8c8;font-size:11px}.projectItem.active{border-color:#5baaff;background:#17365d}.add,.secondary{width:100%;margin-top:12px;background:#183855;color:#bce3ff;border:1px solid #335e83;border-radius:10px;padding:12px;font-weight:700}.sideFoot{border-top:1px solid #334662;margin-top:32px;padding-top:22px}.sideFoot p{color:#91a5c0;font-size:12px;line-height:1.8}.pill{display:inline-block;background:#194c42;border-radius:8px;color:#77efd2;padding:4px 10px;font-size:12px;font-weight:800}.content{padding:30px clamp(16px,3vw,46px);max-width:1400px;width:100%;margin:0 auto}.headline{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.headline h1{font-size:clamp(22px,3vw,35px);line-height:1.35;margin:7px 0}.headline p{color:#9bb0cf;margin:5px 0 10px}.primary{border:0;background:linear-gradient(120deg,#377bf7,#36adf8);color:white;border-radius:11px;padding:11px 17px;font-weight:800;box-shadow:0 4px 16px #2e8cff28}.notice{margin:20px 0 30px;border:1px solid #526e97;background:#192c48;padding:15px 17px;border-radius:13px;color:#cddff5}.notice p{font-size:13px;margin:5px 0 0;line-height:1.85}.content>h2{font-size:18px}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.tile{display:grid;gap:6px;text-align:left;align-content:center;padding:18px 15px;min-height:128px;border-radius:15px;border:1px solid #324969;background:#192943;color:#f5f9ff;min-width:0}.tile:hover,.projectItem:hover{background:#224166;border-color:#4384bf}.tile span{font-size:30px}.tile b{font-size:15px}.tile small{font-size:12px;color:#9fbbdc}.cols{display:grid;grid-template-columns:1.05fr 1fr;gap:15px;margin-top:22px}.panel{border-radius:15px;background:#14243d;border:1px solid #32445f;padding:18px;min-width:0}.panel h2{margin:0 0 8px;font-size:17px}.panel>p,.hint{font-size:12px;color:#9eb1cb}.cmdRow{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #2c4565;padding:10px 0}.cmdRow span{font-size:13px}.cmdRow button{background:#2d527e;border:1px solid #5478a3;color:#fff;padding:6px 12px;border-radius:8px}.hint{margin-top:18px;line-height:1.8}dl{margin:0;display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px 6px;font-size:12px}dt{color:#8ca7c7}dd{margin:0;overflow-wrap:anywhere}#copySummary{margin-top:22px}.steps{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;color:#a9c2e1;font-size:12px}.steps b{color:#eff5ff}dialog{border:1px solid #3d5477;border-radius:20px;background:#f7fbff;color:#16304d;box-shadow:0 20px 80px #0009;width:min(490px,calc(100vw - 20px));max-height:calc(100dvh - 30px);overflow:auto;padding:24px}dialog::backdrop{background:#071121c0}.dialogTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialogTop h2{margin:0 0 14px}.close{background:#e4effa;border:0;padding:7px 10px;border-radius:9px}form>label{display:grid;gap:6px;font-weight:750;font-size:13px;margin:12px 0}form>label input{width:100%;min-width:0;padding:11px;border-radius:10px;border:1px solid #b3cde4;color:#1d334d;background:white}.dialogActions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:flex-end;margin-top:22px}.danger,.ghostDark{border:1px solid #c4d2e4;border-radius:9px;padding:10px;background:white;color:#234869}.danger{color:#b62647;border-color:#f7c0cd;margin-right:auto}.toast{position:fixed;left:50%;bottom:20px;background:#e8f4ff;color:#124880;padding:10px 15px;border-radius:10px;box-shadow:0 10px 35px #0006;transform:translate(-50%,180%);transition:transform .2s;z-index:40;max-width:90vw}.toast.show{transform:translate(-50%,0)}@media(max-width:950px){.layout{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid #253852;padding:14px}.side h2{margin:3px 0 9px;font-size:18px}.projectList{display:flex;overflow:auto;padding-bottom:5px}.projectItem{flex:0 0 170px}.add{max-width:240px}.sideFoot{display:none}.content{padding:22px 14px}}@media(max-width:700px){.top{padding:10px 14px}.brand strong{font-size:15px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{min-height:105px;padding:14px}.cols{grid-template-columns:1fr}.content{padding:16px 12px}.notice{margin:16px 0}.topRight{width:100%}dl{grid-template-columns:104px minmax(0,1fr)}}

.migration-tip{border:1px dashed #3d6e9e;background:#102b45;color:#d2eaff;padding:11px 15px;border-radius:11px;font-size:12px;line-height:1.7;margin:-13px 0 20px}
.install-dialog p{line-height:1.8;color:#2a4864;font-size:13px}
.install-dialog .muted{color:#647b93;font-size:12px}
.install-dialog .primary{margin-top:10px;width:100%}
@media(max-width:700px){#installApp{font-size:12px}.migration-tip{margin:0 0 16px}.topRight .ghost{padding:8px 10px}}
