:root{color-scheme:light;--bg:#f8f9fc;--surface:#fff;--ink:#24263b;--muted:#75788d;--line:#e8e9f1;--accent:#7161df;--accent-hover:#5e4dcc;--soft:#f1eefe;--green:#26775a;--green-bg:#eaf6ef;--red:#ad3a4f;--red-bg:#fff0f1;--shadow:0 16px 60px #38305e08;--radius:22px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a69be9;outline-offset:5px}button:disabled{cursor:default;opacity:.6}.header{max-width:1160px;padding:25px 36px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:23px;font-weight:750;letter-spacing:-.9px}.brand-dot{color:var(--accent)}.brand img{border-radius:8px}.header nav{display:flex;align-items:center;gap:28px;font-size:13px;color:var(--muted)}.repo-link span{margin-left:5px}.language{border:1px solid var(--line);border-radius:8px;padding:5px 10px;color:var(--ink);background:var(--surface);font-size:11px;font-weight:650}main{max-width:1090px;margin:auto;padding:0 36px 70px;min-height:76vh}.hero{text-align:center;padding:64px 10px 42px;position:relative}.hero:before{content:"";position:absolute;width:420px;height:260px;max-width:100%;left:50%;top:2px;transform:translateX(-50%);background:radial-gradient(ellipse,#e9e4ff88,transparent 70%);z-index:-1}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2.6px;color:var(--accent);margin:0 0 16px}.hero h1{font-size:49px;line-height:1.2;letter-spacing:-2px;margin:0 0 20px;font-weight:720}.hero h1 em{font-style:normal;color:var(--accent)}.hero .subtitle{color:var(--muted);font-size:15px;margin:0 auto 23px;max-width:570px}.release-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:100px;background:var(--surface);padding:6px 13px;font-size:11px;color:var(--muted)}.release-pill strong{font-weight:650;color:var(--ink)}.dot{display:inline-block;width:6px;height:6px;background:#54a980;border-radius:50%}.separator{width:1px;height:12px;background:var(--line);margin:0 2px}.section-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;margin:8px 4px 13px;gap:12px}.section-label>span:first-child{font-size:12px;font-weight:600;color:#555870}.package-list{display:grid;gap:16px}.package-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:27px 30px;box-shadow:var(--shadow);display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:25px;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s}.package-card:hover{transform:translateY(-2px);border-color:#ccc5ef;box-shadow:0 15px 40px #463f720b}.package-card.recommended{border-color:#c8c0f0;background:linear-gradient(110deg,#fff 42%,#f7f5ff)}.platform-icon{width:64px;height:64px;border:1px solid var(--line);background:#f8f9fd;border-radius:17px;display:grid;place-items:center;color:#5c65a4}.platform-icon svg{width:30px;height:30px}.recommended .platform-icon{color:var(--accent);background:var(--soft);border-color:#e6e0fb}.platform-icon.apple{color:var(--ink)}.platform-icon.code{color:#438573;background:#edf6f2;border-color:#e2eee8}.package-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:5px}.package-title h2{margin:0;font-size:20px;font-weight:680;letter-spacing:-.4px}.badge{display:inline-flex;padding:2px 8px;border-radius:5px;font-size:10px;color:var(--accent);background:var(--soft);white-space:nowrap}.badge.green{background:var(--green-bg);color:var(--green)}.badge.red{background:var(--red-bg);color:var(--red)}.package-description{color:var(--muted);font-size:12px;margin:0 0 10px}.package-meta{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:#85889a}.package-meta span{display:inline-flex;align-items:center;gap:4px}.package-meta svg{width:12px;height:12px}.card-actions{text-align:right;min-width:160px}.button{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:11px 19px;font-size:12px;font-weight:650;white-space:nowrap;transition:background .2s,transform .2s;min-height:43px}.button:hover{background:var(--soft);color:var(--accent);border-color:#d6cef7}.button svg{width:15px;height:15px}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 12px #7161df20}.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.button.muted-button{color:var(--muted);background:var(--bg);border-color:var(--line)}.action-note{font-size:10px;color:var(--muted);margin:6px 0 0}.package-details{grid-column:2/-1;color:var(--muted);font-size:11px;border-top:1px solid var(--line);padding-top:13px;margin-top:-8px}.package-details summary{cursor:pointer;display:inline-block;color:#74718c}.package-details p{margin:10px 0 0;line-height:1.9}.hash-row{display:flex;gap:8px;align-items:center;margin-top:10px}.hash-row code{font-size:10px;overflow-wrap:anywhere;min-width:0;color:var(--ink)}.copy{border:1px solid var(--line);border-radius:6px;background:var(--bg);padding:3px 8px;color:var(--muted);font-size:10px;flex-shrink:0}.trust-row{display:flex;justify-content:center;gap:33px;margin:30px 0 48px;color:var(--muted);font-size:11px}.trust-row span{display:flex;align-items:center;gap:6px}.trust-row svg{width:14px;height:14px;color:#9694ac}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;border-top:1px solid var(--line);padding:31px 7px 0}.help-grid h3{font-size:13px;font-weight:650;display:flex;align-items:center;gap:8px;margin:0 0 8px}.help-grid h3 svg{width:16px;height:16px;color:var(--accent)}.help-grid p{color:var(--muted);font-size:12px;margin:0;line-height:1.9}.help-grid a{color:var(--accent)}footer{border-top:1px solid var(--line);max-width:1090px;margin:auto;padding:23px 36px 30px;display:flex;align-items:center;gap:22px;color:var(--muted);font-size:11px}.footer-brand{font-size:16px;letter-spacing:-.3px;color:#62657b}footer>a:last-child{margin-left:auto}.loading{padding:120px 20px;text-align:center;color:var(--muted)}.error{color:var(--red);font-size:12px;min-height:20px}.notice{border:1px solid #e5dcba;background:#fffcf1;color:#89743e;border-radius:12px;padding:13px 16px;margin:16px 0;font-size:12px}.muted{color:var(--muted)}.admin-hero{padding:48px 0 30px;display:flex;justify-content:space-between;align-items:end;gap:20px}.admin-hero h1{font-size:32px;line-height:1.3;letter-spacing:-1px;margin:0 0 10px}.admin-hero .eyebrow{margin-bottom:12px}.admin-hero p:last-child{font-size:12px;margin:0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:15px;padding:19px 22px;background:var(--surface)}.stat-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin-bottom:9px}.stat-label svg{width:14px;height:14px}.stat strong{font-size:23px;font-weight:650;letter-spacing:-.6px}.stat small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:20px;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.panel h2{font-size:15px;margin:0;font-weight:650;display:flex;align-items:center;gap:8px}.panel h2 svg{width:17px;height:17px;color:var(--accent)}.build-intro{display:flex;align-items:center;gap:18px}.build-intro .platform-icon{flex-shrink:0;width:53px;height:53px}.build-intro h3{margin:0 0 5px;font-size:15px}.build-intro p{font-size:12px;margin:0;color:var(--muted)}.build-platforms{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 20px}.build-platform{border:1px solid var(--line);background:var(--bg);border-radius:13px;padding:16px;min-width:0}.build-platform-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.build-platform-head svg{width:18px;height:18px;flex-shrink:0}.build-platform small{display:block;margin-top:8px;font-size:11px;color:var(--muted)}.step-note{font-size:10px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.progress-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:10px}.progress-track{height:5px;background:var(--soft);border-radius:8px;overflow:hidden;margin:10px 0 14px}.progress-track span{height:100%;background:var(--accent);display:block;border-radius:8px;transition:width .4s}.log-box{border:1px solid var(--line);border-radius:11px;padding:14px 16px;max-height:200px;overflow:auto;background:#fafaff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;color:#62647c}.log-box time{color:#a0a1b1;margin-right:10px}.build-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;font-size:11px;color:var(--muted)}.build-foot a{color:var(--accent)}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;align-items:center;width:100%;background:none;color:inherit;border:0;border-bottom:1px solid var(--line);padding:15px 0;text-align:left}.history-row:last-child{border:0}.history-row strong{font-size:12px;font-weight:600}.history-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.history-row time{color:var(--muted);font-size:11px}.history-row:hover strong{color:var(--accent)}.empty{text-align:center;color:var(--muted);font-size:12px;padding:30px 10px}.empty svg{display:block;width:30px;height:30px;margin:0 auto 12px;color:#b4afce}.admin-empty{padding-top:35px}.admin-empty .panel{max-width:600px;margin:30px auto;text-align:center;padding:45px}.admin-empty h2{display:block;font-size:22px;margin:15px 0}.admin-empty p{color:var(--muted)}dialog{width:420px;max-width:calc(100% - 32px);padding:35px;border:1px solid var(--line);border-radius:25px;background:var(--surface);color:var(--ink);box-shadow:0 30px 120px #3b326b30}dialog::backdrop{background:#25213a33;backdrop-filter:blur(7px)}dialog .eyebrow{font-size:9px;letter-spacing:1.8px}dialog h2{font-size:25px;letter-spacing:-.6px;margin:0 0 8px}dialog .muted{font-size:12px;margin:0 0 25px}dialog label{display:block;font-size:12px;margin-bottom:8px;font-weight:600}.lock-icon{display:grid;place-items:center;color:var(--accent);background:var(--soft);border:1px solid #e6dffc;border-radius:15px;width:52px;height:52px;margin-bottom:25px}.lock-icon svg{width:23px;height:23px}.password-wrap{display:flex;border:1px solid #d9d7e6;border-radius:10px;overflow:hidden}.password-wrap:focus-within{outline:3px solid #7161df20;border-color:var(--accent)}.password-wrap input{min-width:0;flex:1;border:0;background:transparent;padding:12px;color:var(--ink);outline:none}.password-wrap button{border:0;padding:0 13px;background:transparent;color:var(--muted);font-size:11px}dialog .button{width:100%}.login-back{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:18px}.spinner{display:inline-block;width:12px;height:12px;border:2px solid #b8afe3;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:1450px){.hero{padding-top:84px}}@media(max-width:700px){.header{padding:20px}.header nav{gap:17px}.header nav>a:first-child{display:none}.brand{font-size:21px}main{padding:0 20px 45px}.hero{padding:42px 0 32px}.hero h1{font-size:35px;letter-spacing:-1.4px}:lang(zh-CN) .hero h1 em{display:block;margin-top:6px}.hero .subtitle{font-size:13px;max-width:300px}.section-label{font-size:10px}.section-label>span:first-child{font-size:11px}.package-card{padding:21px;grid-template-columns:48px minmax(0,1fr);gap:15px}.platform-icon{width:48px;height:48px;border-radius:13px}.platform-icon svg{width:24px;height:24px}.package-title h2{font-size:18px}.package-description{font-size:11px}.package-meta{gap:8px}.card-actions{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:12px}.card-actions .button{flex:1}.action-note{font-size:9px;max-width:110px;margin:0}.package-details{grid-column:1/-1;margin:0}.trust-row{gap:16px;margin:25px 0 33px;font-size:10px;flex-wrap:wrap}.trust-row svg{width:12px}.help-grid{grid-template-columns:1fr;gap:25px;padding-top:25px}footer{padding:22px 20px;gap:12px;font-size:10px;flex-wrap:wrap}.footer-brand{font-size:14px}footer>a:last-child{margin-left:auto}.admin-hero{padding-top:30px;align-items:start;flex-direction:column;gap:18px}.admin-hero h1{font-size:28px}.admin-actions{width:100%}.admin-actions>.primary{flex:1}.stats{gap:8px}.stat{padding:14px 12px;border-radius:12px}.stat strong{font-size:18px}.stat-label{font-size:10px;gap:4px}.stat-label svg{width:12px}.stat small{font-size:9px}.panel{padding:19px;border-radius:17px}.build-platforms{gap:7px}.build-platform{padding:12px 9px}.build-platform-head{gap:6px;font-size:11px;flex-wrap:wrap}.build-platform-head svg{width:15px;height:15px}.build-platform small{font-size:10px}.build-intro .platform-icon{display:none}.build-intro h3{font-size:14px}.history-row{gap:8px;grid-template-columns:minmax(0,1fr) auto}.history-row time{display:none}.build-foot{align-items:start;flex-direction:column;gap:8px}.panel-heading{gap:8px}.panel-heading h2{font-size:14px}.panel-heading .badge{font-size:9px}.log-box{padding:11px;font-size:10px}.progress-meta{font-size:10px}.release-pill{font-size:10px;gap:7px}.admin-empty .panel{padding:28px 18px}dialog{padding:28px}}@media(max-width:360px){main{padding-left:14px;padding-right:14px}.header{padding-left:14px;padding-right:14px}.package-card{padding:17px}.package-title{gap:6px}.hero h1{font-size:31px}.trust-row{gap:12px}.stat{padding:12px 9px}.stat-label svg{display:none}}
