@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:Inter,Noto Sans SC,system-ui,sans-serif;color:#182034;background:#f7f8fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f7f8fb}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.site-filing{min-height:54px;display:flex;align-items:center;justify-content:center;padding:15px 24px;border-top:1px solid #e8ebf1;background:#fff;color:#8b94a6;font-size:12px}.site-filing a{color:inherit;text-decoration:none}.site-filing a:hover{color:#4165e7;text-decoration:underline}.topbar{height:68px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#fffffff2;border-bottom:1px solid #ebedf3}.brand{display:flex;align-items:center;gap:3px;font-size:20px;font-weight:700;letter-spacing:-.8px;color:#20283a}.brand b{color:#3f65f2}.brand-mark{width:26px;height:26px;margin-right:5px;display:grid;place-items:center;border-radius:8px;color:#fff;font-size:14px;background:linear-gradient(135deg,#4269ff,#7658f6);box-shadow:0 5px 12px #536bf535}.topbar-actions{display:flex;align-items:center;gap:18px}.help-link{border:0;background:transparent;color:#667087;font-size:13px}.account{height:34px;padding:0 9px 0 11px;border:1px solid #eceef4;border-radius:9px;background:#fff;color:#4c5670;font-size:12px;display:flex;align-items:center;gap:7px}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{padding:32px 20px;background:#fff;border-right:1px solid #ebedf3}.sidebar-title{display:flex;align-items:center;justify-content:space-between;padding:0 8px;color:#3c465e;font-size:13px;font-weight:600}.icon-button{width:31px;height:31px;display:inline-grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#778198}.icon-button:hover{background:#f3f5fa;color:#3d63ef}.pale{background:#f5f7fe;color:#5172ee}.group-list{display:grid;gap:4px;margin-top:14px}.group{min-height:38px;padding:0 10px;border:0;border-radius:8px;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left;color:#596379;font-size:14px}.group em{font-size:12px;font-style:normal;color:#9ba3b5}.group:hover{background:#f6f7fb}.group.active{color:#3e60ed;font-weight:600;background:#edf1ff}.group.active em{color:#6981ee}.sidebar-divider{height:1px;margin:27px 8px 19px;background:#eff1f5}.script-button{width:100%;padding:10px;display:flex;align-items:center;gap:9px;border:1px solid #e3e7f1;border-radius:9px;color:#526078;background:#fff;font-size:13px;font-weight:500}.script-button:hover{border-color:#b8c5f7;background:#f7f9ff;color:#405fdf}.sidebar-note{margin:12px 9px;font-size:12px;line-height:1.65;color:#a0a7b7}.content{padding:48px clamp(28px,5vw,76px);max-width:1560px;width:100%;margin:0 auto}.content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.eyebrow{margin:0 0 9px;color:#8290ae;font-family:DM Mono,monospace;font-size:10px;letter-spacing:1.2px}.content h1{margin:0;color:#1d2537;letter-spacing:-1.3px;font-size:30px;line-height:1.2}.subtle{margin:10px 0 0;color:#8790a3;font-size:14px}.primary{min-height:40px;padding:0 16px;border:0;border-radius:9px;background:linear-gradient(135deg,#4569f4,#3e56d9);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:600;box-shadow:0 7px 16px #465ff32e}.primary:hover{filter:brightness(1.04);transform:translateY(-1px)}.toolbar{margin:35px 0 24px;display:flex;gap:14px;justify-content:space-between;align-items:center}.search{height:40px;width:min(390px,100%);display:flex;gap:10px;align-items:center;padding:0 12px;border:1px solid #e3e6ed;border-radius:9px;color:#9da5b6;background:#fff}.search:focus-within{border-color:#8da1f5;box-shadow:0 0 0 3px #4d6cf110}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#4f596e;font-size:13px}.toolbar-actions{display:flex;gap:8px}.plain-button{min-height:38px;padding:0 13px;border:1px solid #e5e7ee;border-radius:8px;background:#fff;color:#727b90;font-size:13px}.plain-button:hover{border-color:#b9c5f3;color:#425ddd}.selected-action{color:#465fdc;border-color:#b9c5f3}.danger:hover{border-color:#fecaca;color:#e15055}.empty-state{min-height:420px;margin-top:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #e2e6ef;border-radius:16px;background:#fff;text-align:center}.empty-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:20px;color:#7184de;background:#f0f3ff}.empty-state h2{margin:19px 0 8px;color:#4a5365;font-size:17px}.empty-state p{max-width:350px;margin:0 0 22px;color:#9aa2b2;font-size:13px;line-height:1.75}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:24px}.project-card{width:100%;height:340px;padding:20px;border:0;border-radius:12px;background:#fff;box-shadow:none;color:#333}.project-card-head{height:20px;display:grid;grid-template-columns:14px minmax(0,1fr) 40px;align-items:center;gap:14px}.project-check{width:14px;height:14px;margin:0;accent-color:#3377f5}.project-name{min-width:0;padding:0;border:0;background:transparent;overflow:hidden;color:#282828;font-size:16px;font-weight:600;line-height:20px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.project-name:hover{color:#2468e8}.status{width:40px;height:20px;padding:0;border:1px solid #dedede;border-radius:4px;background:#fafafa;color:#999;font-size:12px;line-height:18px}.status.live{border-color:#a7ebc8;background:#effcf5;color:#09a964}.project-desc{height:20px;margin:14px 0 0;overflow:hidden;color:#8b8b8b;font-size:13px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.project-divider{height:1px;margin-top:31px;background:#ededed}.project-divider.lower{margin-top:10px}.project-details{margin:11px 0 0;color:#888;font-size:13px;line-height:26px}.project-details>div{height:26px;display:flex;align-items:center;justify-content:space-between}.project-details dt,.project-details dd{margin:0}.project-details dd{color:#333;text-align:right}.share-code{height:24px;padding:0 8px;border:1px solid #b9cbff;border-radius:4px;background:#f1f4ff;color:#2467ee;font-family:DM Mono,monospace;font-size:12px;line-height:22px}.share-code:hover{background:#e8eeff}.card-footer{height:36px;margin-top:14px;display:flex;align-items:center;gap:8px;padding:0;border:0}.card-footer button{height:36px;min-height:36px;border:1px solid #dcdcdc;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#3c3c3c;font-size:13px}.card-footer button:hover{border-color:#aebee8;background:#fafbff;color:#245fd5}.card-footer .copy-button{width:112px;gap:7px;padding:0 10px}.card-footer .open-link-button{width:104px;gap:7px;padding:0 10px}.card-footer .card-icon-button{width:36px;padding:0}.card-footer .card-icon-button.active{border-color:#b9cbff;background:#f1f4ff;color:#2467ee}.card-footer .card-icon-button.delete{border-color:#ffb8ba;color:#ff4d55}.card-footer .card-icon-button.delete:hover{background:#fff5f5}.backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#20283a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog{width:min(100%,620px);border:1px solid #eff1f5;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 28px 70px #171e3145}.dialog-head{min-height:66px;padding:0 18px 0 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f4}.dialog-head h2{margin:0;color:#283145;font-size:16px}.dialog-body{padding:24px}.upload-dialog{width:min(100%,696px);border:0;border-radius:12px;box-shadow:0 24px 70px #171e3140}.upload-dialog .dialog-head{min-height:64px;padding:0 19px 0 23px;border-color:#e8ebf0}.upload-dialog .dialog-head h2{font-size:16px;font-weight:600}.upload-dialog .icon-button{border:1px solid #e4e8ef;background:#f5f7fa;color:#7a8494}.upload-project-body{display:grid;gap:18px;padding:20px 23px 37px}.upload-row{display:grid;grid-template-columns:80px minmax(0,1fr);column-gap:20px;align-items:center;color:#5c6676;font-size:14px}.upload-row>span{justify-self:end;white-space:nowrap}.upload-label{display:inline-flex;align-items:center}.required-label i{margin-right:5px;color:#f05157;font-size:14px;font-style:normal;line-height:1}.upload-row input,.upload-row textarea,.upload-row select{width:100%;border:1px solid #dfe3eb;border-radius:8px;outline:0;background:#fafbfc;color:#3d4659;font-size:14px}.upload-row input,.upload-row select{height:32px;padding:0 11px}.upload-row textarea{height:72px;padding:9px 11px;resize:vertical}.upload-row input::placeholder,.upload-row textarea::placeholder{color:#a5adba}.upload-row input:focus,.upload-row textarea:focus,.upload-row select:focus{border-color:#8da5f6;box-shadow:0 0 0 3px #4d6cf110}.upload-file-row{align-items:start}.upload-file-row>span{padding-top:9px}.file-stage{min-height:182px;overflow:hidden;border:1px dashed #cbd2df;border-radius:9px;background:#fff;transition:border .15s,background .15s}.file-stage.dragging{border-color:#6690f7;background:#f6f8ff}.file-stage.selected{min-height:311px;padding:14px}.file-stage.selected.uploading{min-height:370px}.empty-file-stage{width:100%;min-height:180px;padding:22px;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:transparent;color:#7c8799}.empty-file-stage:hover{color:#3f68ed}.empty-file-stage strong{font-size:14px;font-weight:600}.empty-file-stage small{color:#a0a8b5;font-size:12px}.file-stage-summary{height:27px;display:flex;align-items:center;justify-content:space-between;color:#627085;font-size:14px}.file-stage-summary strong{font-weight:500}.file-stage-summary button{height:25px;padding:0 10px;border:1px solid #dfe4ed;border-radius:6px;background:#f7f8fa;color:#707b8d;font-size:13px}.file-stage-summary button:disabled{opacity:.58;cursor:not-allowed}.overall-upload-progress{margin-top:10px;padding:0 12px;border-radius:8px;background:#f4f5f7}.overall-upload-progress>div{height:48px;display:grid;grid-template-columns:auto minmax(80px,1fr) 31px;align-items:center;gap:10px;color:#687489;font-size:13px}.overall-upload-progress i,.file-upload-progress i{height:6px;overflow:hidden;border-radius:999px;background:#e1e4e9}.overall-upload-progress i{display:block}.overall-upload-progress b,.file-upload-progress b{display:block;height:100%;border-radius:inherit;background:#2f6cf2;transition:width .18s ease}.overall-upload-progress strong{font-weight:500;text-align:right}.file-table-wrap{margin-top:10px}.file-table{width:100%;border-collapse:collapse;table-layout:fixed;color:#657187;font-size:13px}.file-table th{height:45px;background:#f4f5f7;color:#6d7789;font-weight:500;text-align:left}.file-table th:first-child,.file-table td:first-child{width:40px;padding-left:18px}.file-table th:nth-child(2){width:auto}.file-table th:nth-child(3),.file-table td:nth-child(3){width:80px}.file-table th:nth-child(4),.file-table td:nth-child(4){width:94px}.file-table th:nth-child(5),.file-table td:nth-child(5){width:45px;text-align:center}.file-table td{height:33px;border-bottom:1px solid #e4e7ec;vertical-align:middle}.file-table td:nth-child(2){overflow:hidden;display:table-cell;white-space:nowrap;text-overflow:ellipsis}.file-table td:nth-child(2) svg{margin-right:5px;vertical-align:-2px;color:#9aa4b4}.file-table td:nth-child(2) span{vertical-align:middle}.file-table em{padding:2px 7px;border:1px solid #b5c8ff;border-radius:4px;background:#f3f5ff;color:#3466e7;font-style:normal;font-size:12px}.file-table em.uploaded{border-color:#9de6bb;background:#edfdf4;color:#1ba85b}.file-upload-progress{display:flex;align-items:center;gap:7px}.file-upload-progress i{display:block;width:60px;flex:0 0 60px;height:4px}.file-upload-progress small{min-width:24px;color:#6d788b;font-size:12px}.file-operation-muted{color:#adb5c1}.file-table td:last-child button{border:0;background:transparent;color:#9aa4b4;font-size:17px;line-height:1}.file-table-more{margin:8px 0 0;color:#9da6b5;font-size:12px}.file-picker-row{grid-column:2;display:flex;align-items:center;gap:10px;margin-top:10px}.file-picker-row button{height:32px;padding:0 14px;border:1px solid #dfe4ec;border-radius:7px;background:#f4f5f7;color:#596579;font-size:14px}.file-picker-row button:disabled{opacity:.52;cursor:not-allowed}.file-picker-row small{color:#a0a8b4;font-size:12px}.upload-dialog-foot{min-height:70px;padding:0 23px;border-color:#e5e8ee}.upload-dialog-foot .plain-button{min-width:60px;height:32px;min-height:32px}.upload-dialog-foot .primary{min-width:88px;height:32px;min-height:32px;padding:0 13px;box-shadow:none}.upload-dialog-foot .primary.processing{min-width:105px;gap:6px;background:#7895ef;cursor:wait}.upload-dialog-foot .primary.processing svg{animation:upload-spin .85s linear infinite}.upload-dialog-foot .primary:disabled{opacity:1}@keyframes upload-spin{to{transform:rotate(360deg)}}.project-form{display:grid;gap:19px}.field-label{display:grid;gap:8px;color:#586277;font-size:13px;font-weight:500}.required:before{content:"*";position:absolute;margin-left:-10px;color:#ec6060}.field-label input,.field-label textarea,.field-label select{width:100%;padding:10px 11px;border:1px solid #e0e4ec;border-radius:8px;outline:0;color:#3d4659;background:#fff;font-size:13px}.field-label textarea{min-height:76px;resize:vertical}.field-label input:focus,.field-label textarea:focus,.field-label select:focus{border-color:#8498ef;box-shadow:0 0 0 3px #4d6cf110}.dropzone{min-height:160px;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #cfd5e0;border-radius:10px;color:#99a3b4;background:#fafbfc;text-align:center;cursor:pointer}.dropzone:hover,.dropzone.ready{border-color:#8498ef;color:#526ad9;background:#f5f7ff}.dropzone strong{color:#626d80;font-size:13px}.dropzone span{color:#a1a9b8;font-size:11px}.file-input{position:absolute;width:1px!important;height:1px;opacity:0;pointer-events:none}.password-form{display:grid;gap:22px}.password-intro{padding:15px;display:flex;gap:13px;align-items:flex-start;border:1px solid #e4e9f8;border-radius:10px;background:#f7f9ff}.password-intro>span{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;color:#4566df;background:#eaf0ff}.password-intro strong{display:block;color:#343d51;font-size:14px}.password-intro p{margin:5px 0 0;color:#8992a5;font-size:12px;line-height:1.55}.dialog-foot{min-height:68px;padding:0 24px;display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid #edf0f4}.password-foot>span{flex:1}.password-foot .remove-password{color:#dc555c}.delete-confirm{display:flex;align-items:flex-start;gap:13px;color:#e15259}.delete-confirm strong{display:block;color:#343d51;font-size:14px}.delete-confirm p{margin:7px 0 0;color:#8e96a7;font-size:12px}.dialog-foot .confirm-delete{border-color:#ffc4c7;color:#e15259}.script-content{text-align:center;color:#70798b;font-size:13px;line-height:1.7}.script-badge{width:43px;height:43px;margin:0 auto 14px;display:grid;place-items:center;border-radius:12px;background:#eef2ff;color:#526cf0}.script-content p{margin:10px auto;max-width:460px}.script-content pre{padding:12px;border-radius:8px;background:#1f2937;color:#dbe7ff;font-family:DM Mono,monospace;font-size:12px;text-align:left}.muted{color:#9ba3b3;font-size:12px}.toast{position:fixed;z-index:20;left:50%;bottom:32px;transform:translate(-50%);padding:11px 16px;border-radius:9px;background:#263047;color:#fff;box-shadow:0 12px 28px #1b233a36;font-size:13px}@media(max-width:720px){.topbar{height:60px;padding:0 17px}.topbar-actions .help-link{display:none}.workspace{display:block;min-height:auto}.sidebar{padding:16px;border-right:0;background:#f7f8fb}.sidebar-title{padding:0 2px 10px}.group-list{margin-top:0;padding:7px;display:flex;gap:2px;border-radius:13px;background:#fff;box-shadow:0 2px 9px #33415508}.group{flex:1;padding:0 8px;justify-content:center;gap:5px;font-size:13px}.sidebar-divider,.sidebar-note,.script-button{display:none}.content{padding:25px 12px 40px}.content-head{align-items:flex-start}.content h1{font-size:25px}.subtle{font-size:12px;line-height:1.5}.content-head .primary{min-width:42px;padding:0 11px;font-size:0}.content-head .primary svg{margin:0}.toolbar{margin:22px 0 17px;flex-direction:column;align-items:stretch}.search,.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.empty-state{min-height:360px;padding:25px}.project-grid{grid-template-columns:1fr}.project-card{width:100%}.dialog-body{padding:20px}.dialog-foot{padding:0 20px}.dialog-foot .primary,.dialog-foot .plain-button{min-width:80px}}
