:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#17233b;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{border:1px solid #dce2ed;border-radius:8px;background:#fff;color:#243655;padding:11px 17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap;font-size:14px;transition:background .15s}button:hover,.button:hover{background:#f0f5ff}button:disabled{opacity:.55;cursor:wait}.primary{background:#255ded;border-color:#255ded;color:white}.primary:hover{background:#1849cf}.quiet{background:transparent;border:0;padding:7px}.small{font-size:12px;padding:7px 11px}a{color:#255ded;text-decoration:none}input,select,textarea{width:100%;border:1px solid #dae1ec;border-radius:7px;background:#fff;padding:11px 12px;color:#17233b;font-size:14px;outline:none}input:focus,select:focus,textarea:focus{border-color:#4274ed;box-shadow:0 0 0 3px #255ded16}label{display:block;font-size:13px;color:#596780;margin-bottom:17px}label input,label textarea,label select{margin-top:7px}textarea{resize:vertical;line-height:1.7}h1,h2,h3,p{margin:0}h1{font-size:clamp(24px,2.3vw,32px);font-weight:650;letter-spacing:-.7px}h2{font-size:18px;font-weight:600}p{color:#7a8598;line-height:1.8;font-size:14px}.eyebrow{display:block;font-size:12px;letter-spacing:1.5px;color:#8190aa;margin-bottom:12px}.shell{display:grid;grid-template-columns:228px 1fr;min-height:100vh}.sidebar{padding:32px 20px;background:#fff;border-right:1px solid #e9edf4;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:33px;font-weight:750;letter-spacing:-1.8px;color:#132647;padding:0 12px 38px;display:block}.brand span,.login-brand span{display:block;font-size:12px;font-weight:400;letter-spacing:3px;color:#94a0b4;margin-top:5px}.sidebar nav{display:grid;gap:10px}.sidebar nav button{justify-content:flex-start;border:0;background:none;font-size:16px;color:#8a96aa;padding:15px}.sidebar nav button span{font-size:14px;color:#697891;margin-left:6px}.sidebar nav button.active{background:#edf3ff;color:#255ded}.sidebar nav button.active span{color:#255ded;font-weight:600}.sidebar-bottom{margin-top:auto;padding:20px 12px;color:#64768c;font-size:12px}.sidebar-bottom p{font-size:11px;margin-top:9px}.status-dot{display:inline-block;width:6px;height:6px;background:#2daf83;border-radius:50%;margin-right:5px}.workspace{min-width:0}.topbar{height:77px;border-bottom:1px solid #e6ebf3;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#ffffffc9;color:#7a899f;font-size:13px}.topbar strong{font-weight:500;color:#304461}.topbar>div{display:flex;align-items:center;gap:22px}main{padding:40px;max-width:1720px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:6px 0 32px}.page-head p{margin-top:12px}.actions{display:flex;align-items:center;gap:10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.metric{background:#fff;padding:23px 26px;border:1px solid #e8edf5;border-radius:12px}.metric span{color:#7a879b;font-size:13px}.metric strong{display:block;font-size:32px;letter-spacing:-1px;font-weight:600;margin-top:12px}.panel{background:#fff;border:1px solid #e5eaf3;border-radius:12px;margin-bottom:24px;overflow:hidden}.panel-head{padding:22px 25px;border-bottom:1px solid #edf0f6;display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-head>input{max-width:230px;background:#f9fafc}.tabs{display:flex;gap:10px}.tabs button{border:0;background:none;padding:9px 10px;color:#8a94a6}.tabs button.active{background:#eef3ff;color:#255ded}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px;text-align:left}th{font-size:12px;font-weight:500;color:#8793a6;background:#fafbfd;padding:16px 24px}td{padding:21px 24px;border-top:1px solid #f0f2f7;font-size:13px;color:#7d899c}td:first-child{width:42%}td h3{font-size:14px;line-height:1.6;font-weight:500;color:#293d5a;margin-bottom:6px}td small{font-size:11px;color:#9ba5b4}.badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#f1f4f8;color:#6b788c;font-size:12px}.badge.green{background:#eaf7f1;color:#258b63}.badge.blue{background:#edf3ff;color:#3d6cda}.badge.red{background:#fff0ef;color:#c66358}.badge.orange{background:#fff5e8;color:#a9792a}.empty{padding:70px;text-align:center;color:#8b99ad}.workspace-footer{padding:0 40px 30px;color:#a0aabd;font-size:12px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}.media-item{border:1px solid #e0e7f2;background:#fff;border-radius:10px;overflow:hidden}.media-item img,.media-item .pdf{width:100%;height:160px;object-fit:cover;background:#e9eef6}.media-item .pdf{display:grid;place-items:center;font-size:30px;color:#8391a7}.media-item>div:last-child{padding:16px}.media-item p{overflow-wrap:anywhere;font-size:12px;margin-bottom:10px}.release-current{padding:26px}.release-current p{margin-top:12px;font-family:monospace;overflow-wrap:anywhere}.release-row{padding:18px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef1f5;font-size:13px}.release-row p{font-size:12px;margin-top:5px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.form-panel{padding:27px;margin:0}.form-panel h2{margin-bottom:12px}.form-panel>p{margin-bottom:20px}.form-panel button{margin-top:6px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.muted,.help{font-size:12px;color:#8793a7}.help{margin:10px 0;overflow-wrap:anywhere}hr{border:0;border-top:1px solid #e9edf4;margin:25px 0}dialog{border:1px solid #e0e7f2;border-radius:15px;box-shadow:0 24px 100px #15254528;width:min(570px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;color:#243552}dialog::backdrop{background:#10264565;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-head button,.editor-top>button{border:0;font-size:24px;padding:0 8px;color:#8a96a8}dialog p{margin-bottom:20px}.upload-zone{background:#f7f9fd;border:1px dashed #bac9e0;border-radius:9px;padding:26px;text-align:center}.upload-zone input{background:none;border:0}.editor{width:min(1320px,calc(100vw - 40px));height:calc(100vh - 50px);max-height:none;padding:0}.editor-top{padding:22px 30px;border-bottom:1px solid #e8edf4;display:flex;justify-content:space-between;align-items:center}.editor-top .eyebrow{margin-bottom:5px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;padding:30px}.editor-main input[name=title]{font-size:21px;font-weight:500}.markdown{min-height:430px;font-family:"Cascadia Code",Consolas,"Microsoft YaHei",monospace;font-size:14px;line-height:1.9}.body-toolbar{display:flex;align-items:center;gap:8px;padding:12px 0}.body-toolbar>span{margin-right:auto;font-size:13px;color:#738198}.body-toolbar label{margin:0}.meta-panel{background:#f8fafd;border-radius:10px;padding:20px;margin-bottom:20px}.meta-panel label:last-child{margin-bottom:0}.meta-panel input,.meta-panel select,.meta-panel textarea{font-size:13px}.meta-panel img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:7px;margin:12px 0}.editor-bottom{position:sticky;bottom:0;background:#fff;border-top:1px solid #e7edf5;padding:18px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:#8b97a9}.notice{margin:18px 0;padding:15px;background:#fff7e8;color:#937331;border-radius:8px;font-size:13px;line-height:1.8}details{margin-top:20px}summary{cursor:pointer;font-size:13px;color:#6d7e98;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.version-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:12px}.login{min-height:100vh;background:radial-gradient(ellipse at 15% 20%,#deebff,transparent 55%),radial-gradient(ellipse at 80% 85%,#e7e2ff,transparent 50%),#f8faff;display:grid;place-items:center}.login-brand{position:absolute;top:40px;left:55px;font-size:38px;font-weight:700;letter-spacing:-2px}.login-card{width:min(420px,calc(100vw - 40px));padding:40px;background:#ffffffcc;border:1px solid #fff;border-radius:18px;box-shadow:0 20px 80px #405cab0c}.login-card h1{font-size:29px;line-height:1.6}.login-card>p{margin:15px 0 30px}.login-card .primary{width:100%;justify-content:space-between}.error{color:#c24a4a;font-size:13px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:1000;background:#203856;color:#fff;padding:14px 22px;border-radius:9px;box-shadow:0 5px 25px #1931482a;max-width:90vw;font-size:14px}[hidden]{display:none!important}@media(max-width:1050px){.shell{grid-template-columns:180px 1fr}.sidebar{padding:25px 12px}.brand{font-size:28px}main{padding:28px 22px}.topbar{padding:0 22px}.page-head{align-items:flex-start;flex-direction:column}.metrics{gap:12px}.metric{padding:19px}.editor-grid{grid-template-columns:minmax(0,1fr) 250px;gap:20px;padding:22px}.settings-grid{grid-template-columns:1fr}}@media(max-width:720px){.shell{display:block}.sidebar{position:static;height:auto;padding:18px}.brand{padding:0 0 18px}.sidebar nav{display:flex}.sidebar nav button{padding:10px;font-size:14px}.sidebar nav button span{font-size:12px;margin:0}.sidebar-bottom{display:none}.topbar{height:64px;padding:0 18px}.topbar>span{display:none}.topbar>div{width:100%;justify-content:space-between;gap:10px}main{padding:24px 16px}.metrics{grid-template-columns:1fr 1fr}.panel-head{padding:15px;flex-wrap:wrap}.tabs{gap:0}.panel-head>input{max-width:none}.editor{width:100vw;height:100dvh;border-radius:0;max-width:none;margin:0}.editor-grid{display:block;padding:18px}.editor-meta{margin-top:25px}.editor-bottom{padding:13px;flex-wrap:wrap}.editor-bottom>.actions{width:100%;justify-content:flex-end}.editor-top{padding:18px}.login-brand{top:25px;left:25px}.login-card{margin-top:85px}.release-row{gap:10px;flex-wrap:wrap}}

.badge{white-space:nowrap}td:last-child{white-space:nowrap}td small{overflow-wrap:anywhere}.editor-bottom{z-index:2}.media-item p{min-height:22px}
.job-table td:first-child{width:150px;white-space:nowrap}.job-table td:nth-child(2){width:100px}.job-table td:nth-child(3){width:145px}.job-table td:last-child{white-space:normal;min-width:280px}.job-table h3{white-space:nowrap}
.sidebar-bottom{padding:20px 8px 0;line-height:1.8;font-size:11px}.sidebar-bottom span{display:block;max-width:190px;color:#8793a7;text-wrap:balance}
.job-progress{width:min(100%,440px);min-width:230px;margin:2px 0 12px}.job-progress-head{display:flex;justify-content:space-between;align-items:center;gap:18px;line-height:1.6;color:#405575;font-size:12px}.job-progress-head strong{flex-shrink:0;color:#255ded;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.job-progress-track{height:6px;margin-top:8px;border-radius:6px;background:#edf1f8;overflow:hidden}.job-progress-track>span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#4682f5,#255ded);transition:width .3s}.job-progress-detail{margin-top:7px;color:#8a96aa;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.job-progress.succeeded .job-progress-track>span{background:#2daf83}.job-progress.succeeded .job-progress-head strong{color:#258b63}.job-progress.failed .job-progress-track>span{background:#cf7066}.job-progress.failed .job-progress-head strong{color:#b35449}.job-progress.queued .job-progress-head strong{color:#8793a7}.job-progress.indeterminate .job-progress-track>span{animation:job-progress-pulse 1.8s ease-in-out infinite}.job-result{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;line-height:1.8;overflow-wrap:anywhere}.job-version{font-size:11px;color:#99a4b5;font-variant-numeric:tabular-nums}.release-row .job-progress{margin-top:12px}.release-row>div:first-child{min-width:0}
@keyframes job-progress-pulse{from{transform:translateX(-100%)}to{transform:translateX(290%)}}@media(prefers-reduced-motion:reduce){.job-progress.indeterminate .job-progress-track>span{animation:none}.job-progress-track>span{transition:none}}
.job-activity{display:flex;align-items:center;gap:9px;line-height:1.7;margin:2px 0 9px;color:#405575;font-size:12px}.job-activity.queued{color:#8793a7}.job-activity.succeeded{color:#258b63}.job-activity.failed{color:#b35449}.job-spinner{width:15px;height:15px;flex:0 0 15px;border:2px solid #dbe7ff;border-top-color:#255ded;border-right-color:#255ded;border-radius:50%;animation:job-spin .85s linear infinite}.job-activity-symbol{width:15px;flex:0 0 15px;text-align:center;font-size:15px;font-weight:600;line-height:1}@keyframes job-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.job-spinner{animation:none}}

@media(max-width:720px){.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.sidebar nav button{justify-content:flex-start}.release-row p{overflow-wrap:anywhere}.editor-bottom .actions{flex-wrap:wrap}.topbar>div{font-size:12px}.editor-top h2{font-size:18px}}
@media(max-width:720px){dialog{border-radius:12px;padding:22px 18px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.dialog-head{position:sticky;top:-22px;background:#fff;padding:4px 0 14px;z-index:1}.upload-zone{padding:22px 12px}.upload-zone input{max-width:100%;font-size:12px}}
.dialog-error{margin:-4px 0 18px;padding:12px 14px;border:1px solid #f1c8c4;border-radius:8px;background:#fff2f1;color:#a33e36;font-size:13px;line-height:1.65}
#upload-dialog{width:min(640px,calc(100vw - 32px));padding:26px 30px;overscroll-behavior:contain;scroll-padding-top:64px}
#upload-dialog .dialog-head{position:sticky;top:-26px;padding:12px 0;background:#fff;z-index:2;margin:-12px 0 8px}
#upload-dialog .upload-intro{margin-bottom:18px;font-size:13px}
.upload-section-head{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin:6px 0;font-size:13px}
.upload-section-head strong{font-weight:550}.upload-section-head strong span{font-size:12px;color:#8a96aa;font-weight:400;margin-left:7px}
.upload-zone{display:flex;width:100%;flex-direction:column;align-items:center;gap:6px;padding:16px 18px;white-space:normal;transition:border-color .15s,background .15s;color:#5074b8}
.upload-zone strong{font-size:14px;font-weight:550;color:#405472}.upload-zone span{font-size:12px;color:#7a899f}.upload-zone small{max-width:100%;overflow-wrap:anywhere;color:#526581;font-size:12px}
.upload-zone:hover{border-color:#7f9be0;background:#f1f5ff}.upload-zone:focus-visible{outline:2px solid #255ded;outline-offset:3px}
.upload-zone.is-dragging{border-color:#255ded;background:#edf3ff;box-shadow:0 0 0 3px #255ded18}
.upload-cover-preview{width:176px;max-width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:6px;background:#e8edf5;margin-bottom:4px}
#upload-dialog .help{margin:8px 0 14px;line-height:1.65;font-size:12px}
#upload-dialog .check{font-size:13px;line-height:1.6;margin:18px 0 10px}
.upload-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;background:#fff}.upload-footer span{font-size:12px;color:#7a899f}
#upload-error{scroll-margin-top:65px}#upload-form[aria-busy=true] .upload-zone{opacity:.6}
@media(max-width:720px){#upload-dialog{width:calc(100vw - 24px);padding:22px 18px}#upload-dialog .dialog-head{top:-22px}.upload-footer{flex-wrap:wrap}}

.destination-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.destination-card .actions{flex-wrap:wrap;margin-top:20px}.version-code{font-family:Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.destination-card h2{line-height:1.7}.sidebar nav{gap:5px}.sidebar nav button{padding:12px}.release-row .actions{flex-wrap:wrap}#deploy-target-options{display:grid;gap:10px;margin:20px 0}#template-state h3{font-size:14px;margin:16px 0 10px}#target-dialog p{font-size:12px} @media(max-width:720px){.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.destination-grid{grid-template-columns:1fr}}
.danger{color:#bc4c4c;border-color:#efd2d2}.danger:hover{background:#fff2f2}
.cover-api-panel{margin-bottom:24px}.cover-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cover-settings-heading p{max-width:70em}.cover-switches{display:flex;flex-wrap:wrap;gap:24px;margin-top:16px}.cover-style-grid{align-items:start}.cover-style .eyebrow{margin-bottom:10px;display:block}.cover-style textarea{line-height:1.8;resize:vertical}.cover-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.cover-reference{min-width:0}.cover-reference img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid #e2e9f2;border-radius:8px}.cover-reference button{display:block;margin:6px auto;font-size:12px}.cover-reference-drop{margin:10px 0}.cover-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 32px;padding:18px 22px;background:#fff;border:1px solid #e2e9f2;border-radius:12px}.cover-settings-footer span{font-size:13px;color:#506681}#editor-cover-state{white-space:normal;line-height:1.7;font-size:12px;margin:10px 0;color:#6f819b}#editor-cover-state button{margin-top:6px}#generate-cover{margin-top:10px}.table-wrap .badge{display:inline-block;margin:2px}#import-cover-help{margin-top:0}.cover-style .upload-section-head strong{display:flex;align-items:center;gap:10px}.cover-style .upload-section-head span{color:#91a0b3;font-weight:400;font-size:12px}@media(max-width:720px){.cover-settings-footer{align-items:flex-start;flex-direction:column}.cover-settings-heading{flex-direction:column}.cover-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-switches{gap:8px}.cover-style-grid{grid-template-columns:1fr}}

.category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.category-row{padding:24px;background:#fff;border:1px solid #e2e9f2;border-radius:12px;min-width:0}.category-row-head,.category-row-footer,.category-form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.category-row-head{margin-bottom:18px}.category-row-head strong{font-size:14px;color:#677a95}.category-row-footer{flex-wrap:wrap}.category-row-footer small{font-size:12px;color:#7b8aa0;overflow-wrap:anywhere}.category-row input[readonly]{background:#f4f7fb;color:#7b8aa0}.category-form-footer{position:sticky;bottom:0;background:#fff;padding:18px 24px;border:1px solid #e2e9f2;border-radius:12px;z-index:2}.category-form-footer>span{color:#6f819b;font-size:13px}.category-row textarea{resize:vertical}.category-row button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:1000px){.category-list{grid-template-columns:1fr}.category-form-footer{flex-wrap:wrap}}
.job-table .job-build-source{display:block;margin-top:6px;max-width:160px;white-space:normal;line-height:1.6;font-size:11px;color:#8a96aa}
