/* 全页面方案延续首版配色、圆角、字体与按钮体系。 */
.studio{grid-template-columns:245px 460px 260px;gap:45px;padding-top:24px;padding-bottom:24px}.studio-sidebar{padding-top:19px;height:calc(100vh - 48px);position:sticky;top:24px}.edition{margin-top:25px}.studio-sidebar h1{font-size:31px;line-height:1.5;margin-top:10px}.studio-intro{margin-top:10px;font-size:12px}.phone{height:calc(100vh - 98px);min-height:660px}.palette-panel{margin-top:19px}.studio-foot{margin-top:17px}.stage-label{padding-bottom:13px}.stage-caption{margin-top:13px}#preview-nav{width:100%;flex:1;min-height:100px;overflow:auto;margin-top:21px;padding-right:8px;scrollbar-width:thin;scrollbar-color:#cbd6e5 transparent}.nav-group{margin-bottom:10px}.nav-group>summary{font-size:11px;color:#8797ac;list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:10px 2px;letter-spacing:.5px}.nav-group>summary span{font:10px Consolas,monospace;color:#99a7bb}.preview-link{padding:10px 12px;margin:3px 0;font-size:12px;gap:10px}.design-notes{padding-top:100px;max-height:calc(100vh - 55px);overflow:auto;scrollbar-width:thin}.design-notes .flow-note{margin-top:24px}.design-notes h2{font-size:20px}.note-item{margin-bottom:17px}.note-line{margin:19px 0}.state-tools{margin-top:24px;padding-top:20px;border-top:1px solid #dce3ed}.scene-switcher{display:flex;gap:5px;flex-wrap:wrap;margin-top:13px}.scene-switcher button{font-size:10px;padding:6px 9px;border:1px solid #d8e1ed;border-radius:6px;color:#8594a9}.scene-switcher button.active{background:#fff;color:var(--accent);border-color:var(--accent-line)}.portal-heading{font-size:22px;letter-spacing:.5px;line-height:1.7;font-weight:650}.portal-subtitle{font-size:11px;color:var(--muted);margin-top:4px}.identity-panel{background:#fff;border:1px solid #e9eef5;border-radius:16px;padding:19px;position:relative;overflow:hidden}.identity-row{display:flex;align-items:center;gap:12px}.avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--accent-soft);color:var(--accent);font-size:18px;font-weight:600}.identity-row strong{font-size:16px;display:block}.identity-row small{color:var(--muted);font-size:11px;display:block;margin-top:5px}.identity-row .chip{margin-left:auto}.identity-metadata{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.identity-metadata strong{display:block;color:#395774;font-size:12px;margin-top:6px;font-weight:500}.portal-modules{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.module-tile{text-align:left;padding:20px 17px;background:#fff;border:1px solid #e9eef5;border-radius:14px;min-height:145px;display:flex;flex-direction:column;align-items:flex-start}.tile-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-bottom:17px}.tile-icon.teal{background:#eaf7f3;color:#168b76}.tile-icon.amber{background:#fff5e5;color:#b37b2c}.tile-icon.slate{background:#f0f3f7;color:#8d9caf}.tile-icon .icon{width:21px;height:21px}.module-tile strong{font-size:15px;font-weight:600}.module-tile small{font-size:10px;color:#8e9caf;margin-top:7px;line-height:1.8}.module-tile.excluded{background:#f9fafc}.shortcut-banner{display:flex;gap:12px;align-items:center;background:#eef4ff;border:1px solid var(--accent-line);border-radius:11px;padding:15px;margin-top:18px;width:100%;text-align:left}.shortcut-banner>.icon{color:var(--accent)}.shortcut-banner strong{display:block;font-size:12px}.shortcut-banner small{font-size:10px;color:#8094b0;display:block;margin-top:4px}.shortcut-banner .icon:last-child{margin-left:auto;width:16px}.app-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);padding:11px 8px max(15px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.app-bottom-nav a{display:flex;flex-direction:column;align-items:center;color:#91a0b4;gap:5px;font-size:10px;min-height:35px}.app-bottom-nav .icon{width:19px;height:19px}.app-bottom-nav a.active{color:var(--accent);font-weight:600}.resource-entry{display:flex;align-items:center;gap:14px;width:100%;padding:18px;background:#fff;border:1px solid #e9eef5;border-radius:13px;margin-bottom:12px;text-align:left}.resource-entry .tile-icon{margin:0;width:43px;height:43px}.resource-entry>div:nth-child(2){flex:1;min-width:0}.resource-entry strong{font-size:15px;display:block;line-height:1.7}.resource-entry small{font-size:11px;color:#8f9db0;display:block;margin-top:4px;line-height:1.75}.resource-entry>.icon{width:16px;height:16px;color:#97a9c0}.breadcrumb{display:flex;gap:5px;align-items:center;font-size:10px;color:#8b9caf;margin:0 0 14px;flex-wrap:wrap}.breadcrumb .icon{width:12px;height:12px}.breadcrumb button{font-size:10px;padding:0;color:var(--accent)}.split-picker{display:grid;grid-template-columns:115px minmax(0,1fr);gap:12px;min-height:390px;margin-top:17px}.picker-left{border-right:1px solid var(--line);padding-right:10px}.picker-left>button{display:block;width:100%;text-align:left;padding:14px 10px;border-radius:9px;font-size:12px;color:#7a8ba3;line-height:1.7;margin-bottom:8px}.picker-left>button.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.picker-left small{font-size:9px;display:block;margin-top:6px;color:#9cabbc;line-height:1.7;font-weight:400}.picker-title{font-size:11px;color:#91a1b7;margin:3px 0 13px}.region-entry{width:100%;padding:16px 13px;background:#fff;border:1px solid #e9eef5;border-radius:10px;margin-bottom:10px;display:flex;gap:9px;align-items:center;text-align:left}.region-entry>div{flex:1;min-width:0}.region-entry strong{font-size:13px;display:block;line-height:1.7}.region-entry small{color:#93a1b5;font-size:10px;display:block;margin-top:6px}.region-entry>.icon{width:15px;color:var(--accent)}.equipment-mini{height:33px;width:28px;display:grid;place-items:center;color:var(--accent)}.rack-overview{background:#fff;border:1px solid #e8edf5;border-radius:14px;padding:18px}.rack-overview-top{display:flex;align-items:center;gap:13px}.rack-overview-top>.icon{width:28px;height:28px;color:var(--accent);box-sizing:content-box;padding:12px;border-radius:11px;background:var(--accent-soft)}.rack-overview h3{font-size:16px;line-height:1.6}.rack-overview p{font-size:10px;color:#8b9caf;margin-top:5px}.rack-quick-actions{display:flex;justify-content:space-around;border-top:1px solid var(--line);margin-top:17px;padding-top:11px;gap:12px}.rack-quick-actions button{font-size:11px;color:var(--accent);display:flex;align-items:center;gap:5px;min-height:28px}.rack-quick-actions .icon{width:14px;height:14px}.rack-legend{display:flex;align-items:center;gap:12px;font-size:10px;color:#899bb1;margin:16px 0 13px;flex-wrap:wrap}.status-dot{display:inline-block;width:6px;height:6px;background:#12a184;border-radius:50%;margin-right:4px}.status-dot.disconnected{background:#d86868}.rack-legend .text-button{margin-left:auto;padding:0}.frame-card{background:#fff;border:1px solid #e9eef5;border-radius:13px;padding:16px;margin-bottom:14px}.frame-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.frame-heading strong{font-size:14px}.frame-heading small{font-size:10px;color:#95a6b9}.equipment-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 8px}.equipment-port{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;min-width:0;font-size:10px;color:#8a9cb2}.equipment-port i{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#ecf8f3;border:1px solid #b8e2d2;color:#178c70;position:relative;font:10px var(--font);font-style:normal}.equipment-port.off i{background:#fcf1f1;border-color:#f0cdcd;color:#c66a6a}.equipment-port i .icon{width:12px;height:12px;position:absolute;bottom:-3px;right:-4px;background:#fff;border-radius:3px;color:var(--accent)}.equipment-port.selected i{outline:2px solid var(--accent);outline-offset:2px}.port-side-title{font-size:11px;color:#7f93ac;display:flex;align-items:center;gap:7px;margin:18px 0 14px}.port-side-title:before{content:"";width:3px;height:10px;border-radius:2px;background:var(--accent)}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.data-cell{padding:17px;border-radius:12px;border:1px solid #e9eef5;background:#fff}.data-cell span{color:#8597af;display:block;font-size:11px}.data-cell strong{display:block;font:500 28px Bahnschrift,var(--font);margin-top:12px}.data-cell small{color:#95a6ba;font-size:10px;margin-left:5px}.data-cell .icon{width:16px;height:16px;color:var(--accent);float:right}.occupancy-bar{display:flex;height:7px;border-radius:6px;overflow:hidden;background:#edf2f8;margin:18px 0 12px}.occupancy-bar i{display:block;background:var(--accent);width:64%}.data-legend{font-size:10px;color:#8d9cb0;display:flex;justify-content:space-between}.meter-card{display:flex;align-items:flex-end;gap:8px}.meter-card strong{font:500 42px Bahnschrift,var(--font);letter-spacing:-1px}.meter-card span{font-size:18px;margin-bottom:5px;color:#7c92af}.plain-menu{background:#fff;border:1px solid #e9eef5;border-radius:14px;padding:0 17px;margin-bottom:15px}.plain-menu>button,.plain-menu>a{display:flex;align-items:center;gap:12px;width:100%;min-height:59px;font-size:13px;border-bottom:1px solid var(--line);text-align:left;padding:12px 0}.plain-menu>:last-child{border-bottom:0}.plain-menu>.menu-caption{font-size:10px;color:#96a5ba;padding:10px 0}.plain-menu .icon{width:18px;height:18px;color:#7c93b1}.plain-menu .icon:last-child{margin-left:auto;width:14px}.plain-menu small{margin-left:auto;font-size:10px;color:#9badc2}.account-hero{padding:26px 0;text-align:center}.account-hero .brand-mark{margin:0 auto 15px;width:60px;height:60px;border-radius:17px;font-size:32px}.account-hero strong{display:block;font-size:21px;letter-spacing:3px}.account-hero p{font-size:11px;margin-top:10px;color:#90a1b7}.login-hero{padding:29px 10px 31px}.login-hero .brand-mark{width:50px;height:50px;border-radius:14px;font-size:26px}.login-hero h2{font-size:27px;margin-top:24px;line-height:1.6;letter-spacing:1px}.login-hero p{font-size:12px;color:#8a9cb3;line-height:1.9;margin-top:9px}.login-form{padding:0 10px}.login-form .field input{background:#fff;font-size:14px;min-height:48px}.password-wrap{position:relative}.password-wrap input{padding-right:43px}.password-wrap button{position:absolute;right:7px;top:4px;height:40px;width:30px;display:grid;place-items:center;color:#92a2b7}.password-wrap .icon{width:17px}.login-legal{text-align:center;color:#a2aec0;font-size:10px;margin:35px 0 10px;line-height:2}.start-surface{display:grid;place-items:center;min-height:calc(100dvh - 260px)}.start-art{text-align:center}.start-art .brand-mark{width:78px;height:78px;border-radius:23px;font-size:41px;margin:0 auto 27px;box-shadow:0 13px 25px #2566eb18}.start-art h2{font-size:31px;letter-spacing:8px;margin-left:8px}.start-art p{font-size:12px;color:#8498b4;margin-top:16px;letter-spacing:3px}.start-art svg{width:190px;height:90px;color:#c5d8f5;margin-top:37px}.source-tip{font-size:10px;color:#a0b0c4;text-align:center;line-height:1.8;margin-top:22px}.search-result-heading{font-size:13px;margin:20px 0 12px;display:flex;align-items:center;justify-content:space-between}.search-result-heading span{font-size:10px;color:#97a7bb}.search-result{padding:16px;background:#fff;border:1px solid #e9eef5;border-radius:12px;margin-bottom:11px}.search-result mark{background:var(--accent-soft);color:var(--accent);padding:0 2px;border-radius:2px}.search-result h3{font-size:14px;line-height:1.7;margin-bottom:9px}.result-row{font-size:11px;line-height:1.85;color:#899bb3;display:flex;gap:7px;margin:4px 0}.result-row>span:first-child{flex-shrink:0;color:#96a6ba}.result-row strong{font-weight:500;color:#526f90;overflow-wrap:anywhere}.fault-card{padding:16px;background:#fff;border:1px solid #e9eef5;border-radius:13px;margin-bottom:12px;cursor:pointer}.fault-card-top{display:flex;align-items:center;gap:10px}.fault-card-top>.icon{width:18px;height:18px;color:#c58a35}.fault-card-top>div{flex:1}.fault-card h3{font-size:14px;line-height:1.7}.fault-card .date{font:10px Consolas,monospace;color:#9aaabe;margin-top:4px}.fault-card .card-bottom{border-top:1px solid var(--line);padding-top:12px;margin-top:13px;font-size:11px;color:#8a9bb2;display:flex;justify-content:space-between;gap:8px}.fault-card .card-bottom strong{font-weight:500;color:#5c789a}.photo-gallery{display:flex;gap:10px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-bottom:18px}.site-photo{flex-shrink:0;width:100%;border-radius:13px;overflow:hidden;background:#dce6ee;position:relative;scroll-snap-align:start;padding:0;display:block;text-align:left;aspect-ratio:1.65}.site-photo>svg{width:100%;height:100%;display:block}.photo-watermark{position:absolute;bottom:0;left:0;right:0;background:#153047d9;padding:11px 13px;color:#fff;font-size:9px;line-height:1.9}.photo-watermark b{font-size:10px;font-weight:550}.photo-count{position:absolute;top:10px;right:11px;color:#fff;background:#294a69a8;border-radius:5px;padding:3px 7px;font-size:9px}.detail-section{background:#fff;border:1px solid #e9eef5;border-radius:13px;padding:18px;margin-bottom:14px}.detail-section h3{font-size:14px;margin-bottom:15px;display:flex;align-items:center;justify-content:space-between}.detail-kv{display:grid;grid-template-columns:103px 1fr;gap:15px 9px;font-size:12px;line-height:1.8;margin:0}.detail-kv dt{color:#8b9cb3}.detail-kv dd{color:#344f71;margin:0;overflow-wrap:anywhere}.detail-kv dd .text-button{font-size:10px;margin-left:8px;padding:0}.metric-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.metric-pair>div:first-child{border-right:1px solid var(--line)}.metric-pair label{display:block;font-size:10px;color:#879bb5}.metric-pair strong{font:500 26px Bahnschrift,var(--font);display:block;margin-top:10px;color:var(--accent)}.metric-pair strong small{font:11px var(--font);color:#8f9fb5;margin-left:5px}.photo-uploader{display:flex;gap:11px;margin-bottom:20px;overflow:auto}.add-photo{flex:0 0 96px;width:96px;height:89px;border:1px dashed #b9ccea;background:var(--accent-soft);border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--accent);font-size:11px}.add-photo .icon{width:22px;height:22px}.photo-thumb{width:106px;height:89px;position:relative;flex-shrink:0;border-radius:10px;overflow:hidden;cursor:pointer}.photo-thumb svg{width:100%;height:100%}.photo-thumb>span{position:absolute;bottom:0;background:#153047c9;color:#fff;font-size:9px;width:100%;padding:4px 7px}.field-readonly{padding:12px 13px;background:#f5f8fc;color:#6b83a0;border-radius:8px;font-size:12px;line-height:1.7;border:1px solid var(--line)}.location-result{display:flex;gap:10px;font-size:10px;color:#8a9db6;margin-top:12px}.location-result>span{flex:1}.photo-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-slot strong{font-size:11px;display:block;margin-bottom:9px}.slot-image{width:100%;aspect-ratio:.9;background:#f0f5fa;border:1px solid #e3ebf5;border-radius:9px;overflow:hidden;display:grid;place-items:center;color:#9caec4;position:relative;padding:0}.slot-image svg{width:100%;height:100%}.slot-image>.icon{width:24px;height:24px}.slot-actions{display:flex;justify-content:space-between;font-size:10px;color:var(--accent);padding-top:7px;gap:5px}.slot-actions button{padding:4px 0;font-size:10px}.map-illustration{width:100%;aspect-ratio:1.45;border-radius:12px;overflow:hidden;position:relative;background:#e8f0f3;border:1px solid #dde7ed;margin:13px 0}.map-illustration svg{width:100%;height:100%;display:block}.map-credit{position:absolute;bottom:8px;left:9px;background:#ffffffcd;padding:4px 7px;border-radius:4px;font-size:8px;color:#8397aa}.map-pin-label{position:absolute;right:14px;top:13px;background:#fff;border-radius:6px;padding:7px 10px;font-size:10px;color:#5a789a;box-shadow:0 3px 10px #3d688420}.numeric-input-row{display:flex;gap:9px;align-items:center}.numeric-input-row input{flex:1;min-width:0}.numeric-input-row>.btn{flex-shrink:0;font-size:11px;min-height:42px}.history-record{display:grid;grid-template-columns:115px 1fr 27px;gap:7px;align-items:start;margin-bottom:9px}.history-record input{min-width:0;width:100%;padding:10px 7px;font-size:11px;border:1px solid var(--line);border-radius:6px;background:#fbfcfe}.history-record button{font-size:17px;color:var(--red);height:35px}.port-edit-tabs{display:flex;gap:5px;position:sticky;top:-8px;background:#fff;z-index:2;padding:9px 0 13px;margin-bottom:10px}.port-edit-tabs button{font-size:11px;flex:1;color:#8a9db5;padding:9px 0;border-bottom:2px solid transparent}.port-edit-tabs button.active{color:var(--accent);border-color:var(--accent)}.toggle-status{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.toggle-status button{font-size:12px;border:1px solid var(--line);padding:13px;border-radius:9px;color:#9cacc0}.toggle-status button.active{border-color:#9bcfbc;background:#eff9f3;color:var(--green)}.toggle-status button.off.active{border-color:#edbcbc;background:var(--red-soft);color:var(--red)}.module-unavailable{padding:20px 0;text-align:center}.module-unavailable>.icon{width:40px;height:40px;color:#9db0c8;margin-bottom:15px}.module-unavailable h3{font-size:18px}.module-unavailable p{color:#8c9db3;font-size:12px;line-height:1.9;margin-top:14px}.catalog-section{margin-bottom:22px}.catalog-section h3{font-size:14px;margin:16px 0 12px}.catalog-entry{display:flex;align-items:center;gap:11px;padding:13px;background:#fff;border:1px solid #e9eef5;border-radius:9px;margin-bottom:8px;cursor:pointer}.catalog-entry>.index{font:10px Consolas,monospace;color:var(--accent)}.catalog-entry>div{flex:1;min-width:0}.catalog-entry strong{font-size:12px;font-weight:550}.catalog-entry small{font-size:9px;color:#93a3b8;display:block;line-height:1.8;margin-top:4px}.catalog-entry>.icon{width:13px;color:#94a7bf}.catalog-banner{background:var(--accent-soft);border-radius:12px;padding:18px;margin-bottom:18px}.catalog-banner strong{font-size:24px;font-family:Bahnschrift,var(--font);margin-right:7px;color:var(--accent)}.catalog-banner p{font-size:11px;color:#859ab8;line-height:1.9;margin-top:8px}.skeleton{background:linear-gradient(90deg,#edf1f7,#f8fafd,#edf1f7);background-size:200% 100%;animation:loading 1.5s linear infinite;border-radius:9px;height:100px;margin-bottom:13px}.readonly-banner{font-size:11px;background:#fff5e5;color:#ad7b35;border:1px solid #f4e6cf;border-radius:9px;padding:12px;margin-bottom:15px;line-height:1.8}.scene-panel{min-height:300px}.modal-caption{font-size:10px;color:#98a8bc;line-height:1.8;margin-top:13px}.full-page-count{font-size:9px;color:#8da1b8;letter-spacing:.4px}.full-list-count{font-size:10px;color:#9aacc0;margin-left:auto}.photo-full{width:100%;height:auto;display:block;border-radius:9px;background:#e6edf2;overflow:hidden}.photo-full svg{width:100%;height:auto;display:block}.note-preview{background:#f5f8fc;padding:12px;border-radius:9px;font-size:11px;color:#6e86a4;line-height:1.9}.port-number-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.port-number-fields .field{margin:0}.full-dialog-actions{display:flex;gap:9px}.full-dialog-actions>.btn{flex:1;min-width:0}.btn.wide{width:100%}.state-links{display:flex;gap:8px;margin-top:15px}.state-links button{font-size:11px;color:var(--accent);padding:8px;background:var(--accent-soft);border-radius:7px}.app-brand[data-nav]{cursor:pointer}.frame-scroll-hint{font-size:9px;color:#99a9be;margin-top:11px}.inline-unit{font-size:10px;color:#99acc3;margin-left:5px}@keyframes loading{to{background-position:-200% 0}}@media(max-width:1180px){.studio{grid-template-columns:225px 440px;gap:25px}.phone{height:calc(100vh - 98px)}.studio-sidebar h1{font-size:30px}.design-notes{display:none}.studio-sidebar{max-width:225px}}@media(max-width:760px){.studio{display:block;padding:0}.phone{height:100dvh;min-height:0;width:100%;max-width:480px}.studio-sidebar{display:none}.design-notes{display:none}.start-surface{min-height:calc(100dvh - 210px)}.login-hero{padding-top:40px}}@media(max-width:360px){.split-picker{grid-template-columns:100px minmax(0,1fr);gap:9px}.picker-left>button{font-size:11px;padding:12px 7px}.region-entry{padding:13px 10px}.equipment-grid{gap:12px 6px}.equipment-port i{width:27px;height:27px}.detail-kv{grid-template-columns:91px 1fr;font-size:11px}.module-tile{padding:16px 13px}.module-tile strong{font-size:14px}.history-record{grid-template-columns:105px 1fr 23px}}
/* 全页面预览控件与窄屏边界。 */
.footer-about{width:100%;display:block;text-align:center;color:var(--muted);font-size:11px;padding:9px}.catalog-entry{width:100%;text-align:left}.rack-legend>span{display:flex;align-items:center;gap:4px}.rack-legend .icon{width:12px;height:12px}.page-toolbar h2{min-width:0;line-height:1.5}.equipment-grid .icon{flex-shrink:0}.field input,.field select,.field textarea{min-width:0;max-width:100%}.field-grid>*{min-width:0}.studio-sidebar{display:flex;flex-direction:column}.module-tile strong,.resource-entry strong{overflow-wrap:anywhere}.start-surface{min-height:400px}.source-tip{overflow-wrap:anywhere}.port-edit-tabs button{min-height:41px}.account-hero>.icon{width:37px;height:37px;color:var(--accent)}.scene-switcher button:hover{color:var(--accent);border-color:var(--accent-line)}.history-record input{height:38px}.frame-card .equipment-grid{margin-bottom:19px}.btn .icon{flex-shrink:0}.page-content{overflow-wrap:anywhere}
@media(max-width:760px){.phone{max-width:none}.start-surface{min-height:calc(100dvh - 215px)}.page-toolbar h2{font-size:15px}.photo-slots{gap:8px}.catalog-banner strong{font-size:23px}.studio-sidebar{display:none}.login-hero{padding-top:22px}.login-form .hint{font-size:10px}.app-bottom-nav a{min-height:43px;justify-content:center}}
@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}

/* 启动页仅展示居中的品牌与加载状态，不提供手动进入按钮。 */
.phone.is-starting #app-main{display:flex}
.phone.is-starting .page-content{display:grid;place-items:center;flex:1;width:100%;min-height:100%;padding:40px 20px}
.phone.is-starting .start-surface{min-height:0;width:100%}
.startup-loading{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:37px;font-size:12px;color:#8197b4;letter-spacing:1px}
.startup-spinner{width:18px;height:18px;flex-shrink:0;border:2px solid var(--accent-line);border-top-color:var(--accent);border-radius:50%;animation:startup-spin .8s linear infinite}
@keyframes startup-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.startup-spinner{animation:none}}
