html,body{min-height:100%;height:100%}body{overflow:auto}.scene{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:40px;background:radial-gradient(ellipse at 25% 20%,#e6eee3,transparent 60%),#e5eae5}.scene::before{content:'';position:fixed;inset:0;background-image:linear-gradient(110deg,transparent 55%,#fff3 55.1%,transparent 75%);pointer-events:none}.install-window{width:840px;max-width:100%;min-height:530px;position:relative;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:13px;box-shadow:0 35px 100px #233c3029;overflow:hidden}.installer-chrome{height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;font-size:10px;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line)}.installer-chrome img{width:17px;height:17px}.installer-chrome>span{flex:1}.installer-chrome>button{font-size:16px;width:30px;height:30px;border-radius:5px}.installer-chrome>button:hover{background:var(--line)}.installer-layout{display:flex;min-height:490px}.brand-panel{width:290px;flex-shrink:0;position:relative;background:#e8eee5;padding:40px 36px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.brand-panel::before,.brand-panel::after{content:'';position:absolute;border:1px solid #a3baa550;border-radius:50%;width:400px;height:400px;left:-135px;top:240px}.brand-panel::after{width:340px;height:340px;left:-105px;top:270px}.brand-panel .brand-label{display:flex;align-items:center;gap:10px;color:#386651;font-size:12px;z-index:1}.brand-panel .brand-label img{width:28px}.brand-panel .hero-icon{width:91px;border-radius:24px;box-shadow:0 18px 50px #24766b19;margin:40px 0 20px;z-index:1}.brand-panel h1{font-size:36px;font-weight:550;letter-spacing:-1.4px;color:#254536;margin:0 0 10px;z-index:1}.brand-panel .brand-copy{font-family:var(--serif);font-size:17px;color:#56735e;line-height:1.9;z-index:1}.brand-panel .brand-bottom{font-size:9px;color:#7b9481;line-height:2;z-index:1}.installer-content{padding:43px 44px 25px;flex:1;display:flex;flex-direction:column;min-width:0}.step-caption{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px;letter-spacing:1.4px;margin-bottom:27px}.step-caption .dot{width:5px;height:5px}.installer-content h2{font-size:25px;font-weight:550;letter-spacing:-.7px;line-height:1.5;margin:0 0 15px}.installer-content .description{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 24px;max-width:350px}.install-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.install-meta .pill{font-size:9px;background:var(--panel);border-color:transparent}.install-details{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:8px 0 22px}.install-details summary{list-style:none;padding:12px 14px;display:flex;justify-content:space-between;cursor:pointer;font-size:11px;color:var(--muted)}.install-details summary::after{content:'⌄'}.install-details[open] summary{border-bottom:1px solid var(--line)}.detail-body{padding:15px}.detail-body label{display:block;font-size:10px;color:var(--muted);margin-bottom:9px}.directory-row{display:flex;gap:6px;margin-bottom:14px}.directory-row .field{font-size:10px;padding:8px}.directory-row .btn{font-size:10px;padding:6px 10px;min-height:30px}.option-row{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin:9px 0}.option-row input{accent-color:var(--accent)}.install-actions{display:flex;gap:8px;margin-top:auto;align-items:center;justify-content:flex-end;padding-top:20px}.install-actions .btn{font-size:12px;padding:9px 18px;min-height:37px}.install-actions .btn.primary{min-width:119px}.install-footer{margin-top:24px;font-size:9px;color:var(--subtle);display:flex;justify-content:space-between;gap:12px}.install-footer a{color:var(--muted)}.terms-note{font-size:9px;color:var(--subtle);line-height:1.8;margin:0}.success-symbol,.error-symbol{width:55px;height:55px;background:var(--accent-soft);color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:25px;margin:10px 0 22px}.error-symbol{background:var(--danger-soft);color:var(--danger)}.progress-header{display:flex;justify-content:space-between;font-size:11px;margin:25px 0 10px}.progress-header strong{font-weight:500;color:var(--accent)}.progress-track{height:5px;background:var(--line);overflow:hidden;border-radius:5px}.progress-track span{display:block;height:100%;background:var(--accent);transition:width .2s linear;border-radius:5px}.progress-sub{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin:12px 0 20px}.install-file{font-family:var(--mono);font-size:10px;color:var(--subtle);line-height:1.8;word-break:break-all}.information-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:15px;font-size:11px;color:var(--muted);line-height:1.8;margin:15px 0}.system-modal{position:fixed;inset:0;background:#1a2c2555;backdrop-filter:blur(3px);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.system-dialog{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--pop-shadow);padding:27px;width:390px;max-width:100%}.system-dialog>img{width:45px;margin-bottom:20px}.system-dialog h2{font-size:18px;margin:0 0 13px;font-weight:600}.system-dialog p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 20px}.system-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px}.system-dialog label{font-size:11px;color:var(--muted);display:block;margin:12px 0 7px}.system-dialog .field{font-size:12px}.store-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);padding:16px 24px}.store-header strong{font-size:13px;font-weight:550;color:var(--fg)}.store-app{display:flex;gap:18px;align-items:center;padding:30px 27px 23px}.store-app img{width:77px;border-radius:19px}.store-app h1{font-size:23px;margin:0 0 8px;font-weight:600;letter-spacing:-.6px}.store-app p{font-size:10px;color:var(--muted);margin:0 0 13px}.store-app .btn{min-height:28px;font-size:11px;padding:5px 22px;border-radius:20px}.store-subtitle{font-size:9px!important;color:var(--subtle)!important}.store-ratings{display:flex;justify-content:space-around;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 25px;padding:16px 0;text-align:center}.store-ratings strong{display:block;font-size:15px;font-weight:550;color:var(--muted)}.store-ratings span{display:block;font-size:8px;color:var(--subtle);margin-top:5px}.store-copy{padding:23px 27px}.store-copy h3{font-size:15px;font-weight:600;margin:0 0 14px}.store-copy p{font-size:11px;color:var(--muted);line-height:1.9}.store-art{height:190px;background:#e8eee5;position:relative;overflow:hidden;border-radius:12px;padding:23px;color:#305440}.store-art h2{font-family:var(--serif);font-size:23px;line-height:1.6;font-weight:500;margin:0}.mini-app{position:absolute;right:-30px;bottom:-28px;width:190px;height:165px;background:#fff;box-shadow:0 15px 35px #23493220;border:1px solid #dce6da;border-radius:8px;padding:16px;transform:rotate(-5deg);color:#305440}.mini-app small{font-size:7px;color:#73917d}.mini-app h4{font-size:11px;margin:12px 0}.mini-app i{display:block;height:3px;background:#e8eee5;margin:8px 0}.mini-app i:nth-child(3n){width:65%}.store-art>span{font-size:9px;display:block;margin-top:13px;color:#718a76}.package-info{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:11px;margin:25px 0}.package-info dt{color:var(--muted)}.package-info dd{margin:0;color:var(--fg)}.linux-layout{display:flex}.linux-sidebar{width:172px;background:var(--sidebar);border-right:1px solid var(--line);padding:25px 16px;flex-shrink:0}.linux-sidebar strong{font-size:11px;display:block;margin:4px 9px 25px}.linux-sidebar div{padding:11px 10px;color:var(--muted);font-size:11px;border-radius:6px}.linux-sidebar div.selected{background:var(--accent-soft);color:var(--accent)}.linux-main{padding:30px 34px;flex:1}.linux-app-header{display:flex;gap:20px;align-items:center;margin-bottom:26px}.linux-app-header img{width:69px}.linux-app-header h1{font-size:27px;font-weight:550;margin:0 0 7px}.linux-app-header p{font-size:11px;color:var(--muted);margin:0}.linux-main h3{font-size:13px;font-weight:550}.linux-main>p{font-size:12px;color:var(--muted);line-height:1.9}.mac-scene{background:radial-gradient(ellipse at 20% 90%,#b3bb9a,transparent 50%),linear-gradient(140deg,#cadccf,#e8dec8)}.mac-window{width:740px;min-height:470px;border-radius:12px}.mac-chrome{justify-content:center;position:relative;height:43px;font-size:11px;background:var(--panel)}.traffic-lights{position:absolute;left:16px;display:flex;gap:7px}.traffic-lights i{width:11px;height:11px;border-radius:50%;background:#ec6c62}.traffic-lights i:nth-child(2){background:#efbc4d}.traffic-lights i:nth-child(3){background:#59bf65}.mac-volume{display:flex;height:44px;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--bg);font-size:11px;color:var(--muted)}.mac-volume span{flex:1}.mac-content{padding:36px 45px 25px;background:var(--surface);text-align:center}.mac-content h1{font-family:var(--serif);font-weight:500;font-size:22px;margin:7px 0 12px}.mac-content>p{font-size:11px;color:var(--muted)}.mac-drag-area{display:flex;align-items:center;justify-content:center;gap:60px;padding:33px 0 20px}.mac-drag-area button{display:flex;flex-direction:column;align-items:center;gap:17px;font-size:12px;min-width:110px}.mac-drag-area img{width:88px;filter:drop-shadow(0 10px 18px #24766b15)}.mac-folder{width:101px;height:74px;border-radius:7px;background:linear-gradient(#94b9ce,#6a9fb9);box-shadow:inset 0 1px 2px #fff7,0 8px 15px #183c4712;position:relative;margin:14px 0 0;display:flex;align-items:center;justify-content:center;color:#4d7c95;font:45px var(--font);border:1px solid #6997ad}.mac-folder:before{content:'';position:absolute;left:2px;top:-10px;width:42px;height:13px;border-radius:5px 5px 0 0;background:#89b0c6}.mac-drag-area .arrow{font-size:33px;font-weight:200;color:var(--subtle);margin-bottom:35px;min-width:0}.mac-folder-target.drop{outline:3px dashed var(--accent);outline-offset:12px;border-radius:10px}.mac-note{font-size:9px!important;margin:28px 0 5px;color:var(--subtle)!important}.mac-progress{max-width:380px;margin:30px auto 0;text-align:left}.mac-content .success-symbol,.mac-content .error-symbol{margin:20px auto}.mac-content .install-actions{justify-content:center}.phone-scene{background:#e3e8e1}.system-device{width:398px;max-width:100%;height:838px;max-height:calc(100dvh - 56px);min-height:660px;border:8px solid #283d31;border-radius:45px;background:var(--surface);box-shadow:0 25px 80px #203e3026;position:relative;overflow:hidden;display:flex;flex-direction:column}.device-status{height:42px;flex-shrink:0;padding:13px 24px;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;background:var(--bg)}.device-body{flex:1;overflow:auto;position:relative}.device-home{height:24px;background:var(--bg);position:relative;flex-shrink:0}.device-home::after{content:'';position:absolute;width:110px;height:4px;border-radius:3px;left:50%;top:9px;transform:translateX(-50%);background:var(--fg)}.system-install-page{padding:35px 28px 22px;min-height:100%;display:flex;flex-direction:column}.system-install-page>.app-icon{width:72px;margin:8px auto 18px}.system-install-page h1{font-size:23px;font-weight:550;text-align:center;margin:0 0 9px}.system-install-page>.version{text-align:center;font-size:10px;color:var(--muted);margin-bottom:33px}.system-install-page>h2{font-size:17px;font-weight:550;margin:12px 0 18px}.system-install-page>p{font-size:12px;line-height:1.9;color:var(--muted)}.permission-row{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);align-items:center}.permission-row b{display:block;font-size:11px;font-weight:500;color:var(--fg);margin-bottom:5px}.permission-row small{font-size:9px;line-height:1.7}.permission-row>span:first-child{width:32px;height:32px;background:var(--panel);border-radius:9px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.system-install-page .install-actions{padding-top:35px;flex-direction:column-reverse}.system-install-page .install-actions .btn{width:100%;border-radius:30px;min-height:43px}.system-install-page .install-actions .btn.quiet{min-height:32px}.system-install-page .terms-note{text-align:center;margin-top:20px}.system-install-page .success-symbol,.system-install-page .error-symbol{margin:20px auto}.system-install-page .progress-wrap{margin-top:25px}.system-install-page .install-meta{justify-content:center;margin-bottom:15px}.android-wallpaper{background:linear-gradient(145deg,#d2e5d3,#f0ead0 55%,#d7e0ce);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#507357;flex-direction:column;padding-bottom:330px}.android-wallpaper strong{font-size:55px;font-weight:300}.android-wallpaper p{font-size:11px;letter-spacing:2px}.android-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--surface);border-radius:28px 28px 0 0;padding:29px 25px 23px;min-height:315px}.android-app{display:flex;align-items:center;gap:14px;margin-bottom:25px}.android-app img{width:46px;border-radius:12px}.android-app strong{font-size:19px;font-weight:550}.android-app small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.android-sheet h2{font-size:16px;font-weight:500;margin:0 0 12px}.android-sheet p{font-size:11px;color:var(--muted);line-height:1.9}.android-sheet .install-actions{margin-top:23px}.android-sheet .btn{border-radius:30px;font-size:11px}.harmony-desktop .install-window{width:720px;border-radius:20px}.harmony-desktop .system-install-page{padding:38px 55px 30px;max-width:580px;margin:auto;min-height:580px}.harmony-desktop .system-install-page .install-actions{flex-direction:row;justify-content:center;padding-top:30px}.harmony-desktop .system-install-page .install-actions .btn{width:150px}.harmony-tablet .install-window{width:920px;min-height:680px;border-radius:25px}.harmony-tablet .system-install-page{max-width:500px;margin:auto;padding:55px 35px;min-height:620px}.testflight-banner{display:flex;align-items:center;gap:13px;padding:18px 25px;background:#e8f0f8;color:#4f7c9d}.testflight-banner>span:first-child{font-size:28px}.testflight-banner strong{font-size:12px;font-weight:550}.testflight-banner small{display:block;font-size:9px;margin-top:4px}.ios-notes{background:var(--panel);padding:14px;border-radius:9px;font-size:10px;color:var(--muted);line-height:1.8}.installed-check{font-size:12px;color:var(--accent);display:flex;gap:7px;align-items:center}.ios-download-progress{width:70px;height:28px;border-radius:30px;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent);font-size:10px}.permission-warning{color:var(--danger)!important;font-size:10px!important}.cancelled-screen{text-align:center;padding:85px 25px;display:flex;align-items:center;flex-direction:column;gap:13px}.cancelled-screen img{width:64px}.cancelled-screen h2{font-size:22px;font-weight:500;margin:10px 0}.cancelled-screen p{font-size:12px;color:var(--muted);line-height:1.9;margin:0 0 15px}.cancelled-screen>a{font-size:11px;margin-top:10px}.installer-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;background:var(--fg);color:var(--surface);font-size:12px;padding:12px 22px;border-radius:9px;box-shadow:var(--pop-shadow);max-width:90%;text-align:center}.demo-label{position:fixed;bottom:14px;right:20px;color:#708477;font-size:9px;pointer-events:none}.ios-scene .system-device{border-color:#23362f}.ios-scene .device-status:after{content:'';position:absolute;left:50%;top:7px;transform:translateX(-50%);width:90px;height:22px;border-radius:30px;background:#172a20}.dark .scene{background:radial-gradient(ellipse at 30% 20%,#34483a,transparent 70%),#17221e}.dark .brand-panel{background:#243a2d}.dark .brand-panel h1,.dark .brand-panel .brand-label{color:#c9decf}.dark .brand-panel .brand-copy{color:#98b7a2}.dark .mac-scene{background:radial-gradient(ellipse at 20% 80%,#3e4c3e,transparent 60%),#1e3026}.dark .mac-window .mac-content{background:var(--surface)}.dark .android-wallpaper{background:linear-gradient(145deg,#283f30,#454c35);color:#98b59c}.dark .testflight-banner{background:#243a49;color:#9dbed8}
@media(max-width:850px){.scene{padding:20px}.brand-panel{width:245px;padding:35px 28px}.installer-content{padding:35px 30px 25px}.linux-sidebar{display:none}.install-window{width:760px}.harmony-tablet .install-window{min-height:620px}.demo-label{display:none}}
@media(max-width:600px){.scene{padding:0;min-height:100dvh;background:var(--bg)}.system-device{width:100%;height:100dvh;max-height:none;min-height:600px;border:0;border-radius:0;box-shadow:none}.install-window{border:0;border-radius:0;min-height:100dvh;box-shadow:none}.installer-layout{min-height:calc(100dvh - 38px)}.brand-panel{display:none}.installer-content{padding:35px 26px;min-height:calc(100dvh - 38px)}.installer-content h2{font-size:26px}.mac-drag-area{gap:18px}.mac-drag-area button{min-width:80px;font-size:10px}.mac-drag-area img{width:70px}.mac-folder{width:78px;height:61px}.mac-content{padding:40px 24px}.mac-drag-area .arrow{font-size:25px}.linux-main{padding:35px 25px}.package-info{grid-template-columns:75px 1fr;gap:12px}.system-modal{padding:18px}.system-dialog{padding:25px}.harmony-desktop .system-install-page,.harmony-tablet .system-install-page{padding:40px 28px}.harmony-desktop .system-install-page .install-actions{flex-direction:column-reverse}.harmony-desktop .system-install-page .install-actions .btn{width:100%}.harmony-desktop .install-window,.harmony-tablet .install-window{border-radius:0;min-height:100dvh}}

.mac-chrome>span{text-align:center}

/* Linux：软件包页与所有操作状态共用完整窗口高度，按钮固定在内容底部。 */
.linux-window{display:flex;flex-direction:column;height:min(570px,calc(100dvh - 80px));min-height:460px}
.linux-window .installer-chrome{flex-shrink:0}
.linux-layout{flex:1;min-height:0;align-items:stretch}
.linux-sidebar{height:auto;min-height:100%}
.linux-main{display:flex;flex-direction:column;min-width:0;overflow:auto}
.linux-main>h2{font-size:24px;font-weight:550;line-height:1.5;margin:0 0 14px;letter-spacing:-.4px}
.linux-main>.success-symbol,.linux-main>.error-symbol{flex-shrink:0;margin-top:10px}
.linux-main>.description{max-width:430px;font-size:12px;color:var(--muted);line-height:1.9;margin:0 0 20px}
.linux-main>.install-actions{flex-shrink:0;margin-top:auto;padding-top:26px;border-top:1px solid var(--line)}
.linux-main>.package-info{margin:17px 0 22px}
.linux-main>.progress-wrap{margin-top:16px}
.linux-main>.progress-wrap .progress-header{margin-top:10px}
.linux-main .information-card{margin-bottom:20px}
@media(max-width:850px){.linux-window{width:720px;height:min(570px,calc(100dvh - 40px));min-height:460px}}
@media(max-width:600px){.linux-window{height:100dvh;min-height:540px}.linux-main{padding:30px 25px 25px}.linux-main>.install-actions{padding-top:20px}.linux-main>.package-info{grid-template-columns:65px minmax(0,1fr);gap:10px;font-size:10px}.package-info dd{overflow-wrap:anywhere}}

.linux-main>.install-actions[style]{border-top:0}.linux-main>.terms-note{margin-top:auto}

.system-dialog { border-radius:14px; padding:28px; }
.system-dialog h2 { font-size:22px; }
.system-dialog p { font-size:14px; line-height:1.8; }
.system-dialog .btn { font-size:14px; min-height:38px; }
/* 软件自己的品牌页面共用可读字号；移动系统权限页仍按系统流程呈现。 */
.mac-content h1 { font-size:28px; line-height:1.6; }
.mac-content>p,.mac-drag-area button { font-size:14px; line-height:1.8; }
.mac-note { font-size:12px!important; }
.mac-content { background:radial-gradient(ellipse at 15% 100%,#24766b0d,transparent 65%),var(--surface); }
.linux-app-header h1 { font-size:32px; }
.linux-main>p,.linux-app-header p,.package-info,.linux-main .btn { font-size:14px; }
.linux-main .terms-note { font-size:12px; }
.store-copy p,.store-app p { font-size:14px; line-height:1.8; }
.store-art { border:1px solid #24766b18; }
.system-install-page>p,.permission-row,.android-sheet p { font-size:14px; line-height:1.8; }
.system-install-page>.version,.permission-row small,.android-app small { font-size:12px; }
@property --install-progress { syntax:'<percentage>'; inherits:true; initial-value:0%; }
.progress-wrap { transition:--install-progress .2s linear; margin-bottom:20px; }
.progress-header { position:relative; height:20px; margin:24px 0 8px; font-size:13px; }
.progress-header strong { position:absolute; left:clamp(20px,var(--install-progress),calc(100% - 20px)); width:40px; line-height:20px; text-align:center; white-space:nowrap; font-variant-numeric:tabular-nums; transform:translateX(-50%); }
.progress-track span { transition:none; }
@media(prefers-reduced-motion:reduce) { .progress-wrap { transition:none; } }
