:root{--color-bg:#f5f7fb;--color-surface:#fff;--color-surface-soft:#f8faff;--color-border:#dfe6f2;--color-primary:#175cff;--color-primary-soft:#eaf0ff;--color-text:#1f2937;--color-muted:#637083;--header-height:68px;--default-hero-background:linear-gradient(125deg, #4374f242 0 16%, transparent 16% 100%), linear-gradient(238deg, #00b8ff47 0 14%, transparent 14% 100%), radial-gradient(circle at 20% 30%, #4374f26b, transparent 30%), linear-gradient(90deg, #111827 0%, #06258f 48%, #083a9f 100%)}html[data-theme=dark]{--color-bg:#1a1a1c;--color-surface:#242427;--color-surface-soft:#2b2b2f;--color-border:#ffffff26;--color-primary:#4374f2;--color-primary-soft:#4374f229;--color-text:#fffffff5;--color-muted:#ffffffc7}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif}.app-root{isolation:isolate;background:var(--color-bg);min-height:100vh;position:relative}.public-background-layer,.public-background-overlay{pointer-events:none;position:fixed}.public-background-layer{z-index:0;will-change:transform, filter;inset:-28px}.public-background-overlay{z-index:0;background:linear-gradient(180deg, #f5f7fbeb, #f5f7fbd1), var(--color-bg);inset:0}html[data-theme=dark] .public-background-overlay{background:linear-gradient(180deg, #1a1a1ceb, #1a1a1cdb), var(--color-bg)}.public-content{z-index:1;position:relative}.full-width{width:100%}.site-header{height:var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:20;justify-content:space-between;align-items:center;padding:0 10vw;display:flex;position:sticky;top:0}.brand{color:var(--color-text);align-items:center;gap:12px;font-weight:700;text-decoration:none;display:inline-flex}.brand__mark{background:var(--color-primary-soft);width:42px;height:42px;color:var(--color-primary);border-radius:8px;place-items:center;font-size:24px;display:inline-grid}.brand__mark img{object-fit:contain;width:28px;height:28px;display:block}.brand__copy{flex-direction:column;line-height:1.15;display:flex}.brand__copy strong{color:var(--color-text);white-space:nowrap;font-size:17px;font-weight:800}.brand__copy span{color:var(--color-muted);white-space:nowrap;margin-top:3px;font-size:12px;font-weight:600}.brand__admin-label{color:var(--color-muted);font-size:15px}.theme-toggle{width:36px;height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 36px;place-items:center;padding:0;transition:color .16s;display:inline-grid}.theme-toggle:hover{color:var(--color-primary)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}.theme-toggle__icon--sun,.theme-toggle.is-dark .theme-toggle__icon--moon{display:none}.theme-toggle.is-dark .theme-toggle__icon--sun{display:block}.home-hero{color:#fff;isolation:isolate;z-index:1;place-items:center;min-height:280px;padding:48px 24px;display:grid;position:relative}.home-hero__bg,.home-hero__overlay,.home-hero__bg:before,.home-hero__bg:after{content:"";pointer-events:none;position:absolute}.home-hero__bg{z-index:0;background:var(--default-hero-background);inset:0;overflow:hidden}.home-hero__overlay{z-index:0;background:linear-gradient(90deg,#0307129e,#06258f6b),#03071285;inset:0}.home-hero__bg:before{opacity:.28;background:linear-gradient(90deg,#0000 0 44%,#ffffff29 44% 44.4%,#0000 44.4% 100%),repeating-linear-gradient(135deg,#0000 0 20px,#ffffff14 20px 22px);inset:0}.home-hero__bg:after{aspect-ratio:1;background:linear-gradient(145deg,#00c2ff5c,#175cff14);border:1px solid #ffffff29;width:min(420px,36vw);top:26px;right:7vw;transform:rotate(14deg)}.home-hero__content{z-index:1;text-align:center;justify-items:center;width:min(760px,100%);display:grid;position:relative}.home-hero h1{color:#fff;margin:0;font-size:38px;font-weight:800;line-height:1.2}.home-hero p{color:#ffffffd1;margin:14px 0 26px;font-size:15px}.home-search-wrap{z-index:2;width:min(640px,100%);position:relative}.home-hero__search{color:#ffffffb8;background:#111827d1;border:1px solid #ffffff47;border-radius:6px;grid-template-columns:96px 1px 22px minmax(0,1fr);align-items:center;gap:10px;width:100%;height:48px;padding:0 18px;display:grid;box-shadow:0 14px 36px #00000038}.home-hero__search select{color:#fff;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;outline:0}.home-hero__search option{color:#1f2937}.home-search-divider{background:#ffffff42;width:1px;height:22px}.home-hero__search input{color:#fff;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.home-hero__search input::placeholder{color:#ffffff7a}.home-search-results{text-align:left;z-index:40;background:#1f1f22f5;border:1px solid #ffffff1f;border-radius:0 0 6px 6px;max-height:min(560px,100vh - 240px);position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto;box-shadow:0 24px 48px #0000005c}.home-search-group{border-bottom:1px solid #ffffff1f;padding:18px 24px}.home-search-group:last-child{border-bottom:0}.home-search-group__head{color:#ffffffbd;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;font-size:13px;display:flex}.home-search-group__head em{color:#ffffffdb;white-space:nowrap;font-style:normal}.home-search-group__items{gap:8px;display:grid}.home-search-group__items button{color:#ffffffeb;cursor:pointer;min-height:28px;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:0;display:grid}.home-search-group__items button:hover span{color:#6b8cff}.home-search-group__items span{text-overflow:ellipsis;white-space:nowrap;color:#6b8cff;min-width:0;overflow:hidden}.home-search-group__items b{color:#ffffffbd;white-space:nowrap;font-size:12px;font-weight:600}.home-search-empty{color:#ffffffb8;padding:22px 24px}.public-shell{width:80vw;margin:0 auto;padding:32px 0 64px}.public-shell--home{padding-top:48px}.page-head{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-head h1{margin:0}.page-head p,.vendor-grid p{color:var(--color-muted)}.eyebrow{color:var(--color-primary);text-transform:uppercase;font-size:12px;font-weight:800}.vendor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.vendor-grid .ant-card{border-color:var(--color-border);height:100%;min-height:220px}.vendor-grid .ant-card-body{flex-direction:column;height:100%;min-height:218px;display:flex}.vendor-card__mark{background:var(--color-primary-soft);width:42px;height:42px;color:var(--color-primary);border-radius:8px;place-items:center;margin-bottom:14px;font-weight:900;display:inline-grid}.vendor-logo img,.vendor-logo__fallback{object-fit:contain;width:30px;height:30px;display:block}.vendor-logo--ubuntu{background:#e95420}.vendor-logo--centos{background:#8f4cad1f}.vendor-logo--debian{background:#d70a531a}.vendor-logo--openeuler{background:#1677ff1a}.vendor-logo--suse{background:#30ba781f}.vendor-logo--fedora{background:#519cda1f}.vendor-logo--deepin{background:#008ed81f}.vendor-logo--kylinos{background:#be2a341a}.vendor-logo--archlinux{background:#1793d11f}.vendor-logo--windows{background:#0078d4}.vendor-logo--redhat{color:#c40000;background:#ee00001a}.vendor-logo--fallback{background:var(--color-primary-soft);color:var(--color-primary)}.vendor-grid h3{margin:0 0 8px;font-size:18px}.vendor-grid .ant-card-body>p{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:4.8em;margin:0 0 16px;line-height:1.6;display:-webkit-box;overflow:hidden}.vendor-card__count{color:var(--color-muted);margin-top:auto;padding-top:16px;font-size:13px;font-weight:600}.vendor-card__count b{color:var(--color-primary)}.download-page{min-height:calc(100vh - var(--header-height));background:0 0}.download-hero{background:var(--default-hero-background);color:#fff;isolation:isolate;padding:54px 10vw 72px;position:relative;overflow:hidden}.download-hero:before,.download-hero:after{content:"";pointer-events:none;z-index:0;position:absolute}.download-hero:before{opacity:.28;background:linear-gradient(90deg,#0000 0 44%,#ffffff29 44% 44.4%,#0000 44.4% 100%),repeating-linear-gradient(135deg,#0000 0 20px,#ffffff14 20px 22px);inset:0}.download-hero:after{aspect-ratio:1;background:linear-gradient(145deg,#00c2ff5c,#175cff14);border:1px solid #ffffff29;width:min(420px,36vw);top:26px;right:7vw;transform:rotate(14deg)}.download-hero>*{z-index:1;position:relative}.download-hero--custom:before,.download-hero--custom:after{display:none}.download-back.ant-btn{color:#fff;background:0 0;border-color:#ffffff57;margin-bottom:34px}.download-back.ant-btn:hover{color:#fff!important;background:#ffffff14!important;border-color:#fff!important}.download-hero h1{color:#fff;max-width:920px;margin:0;font-size:40px;font-weight:700;line-height:1.2}.download-hero p{color:#ffffffc7;max-width:820px;margin:18px 0 0;font-size:16px;line-height:1.8}.download-filter-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;width:80vw;margin:32px auto 72px;padding:28px 32px 34px;box-shadow:0 16px 44px #0f172a14}.download-tip{border-left:3px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-muted);margin:0 0 24px;padding:14px 18px;line-height:1.7}.download-search{border:1px solid var(--color-border);background:var(--color-surface-soft);height:48px;color:var(--color-muted);border-radius:6px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:24px;padding:0 18px;display:grid}.download-search input{width:100%;min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0}.download-search input::placeholder{color:var(--color-muted)}.download-filter-group{border-top:1px solid var(--color-border)}.download-filter-row{grid-template-columns:82px minmax(0,1fr);align-items:start;gap:14px;padding:11px 0;display:grid}.download-filter-row+.download-filter-row{border-top:1px solid #94a3b82e}.download-filter-label{color:var(--color-text);font-weight:700;line-height:30px}.download-filter-options{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.download-filter-options button{min-height:30px;color:var(--color-muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 12px}.download-filter-options button:hover,.download-filter-options button.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.download-table{border:1px solid var(--color-border);background:var(--color-surface);margin-top:26px}.download-table__row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,2.2fr) minmax(84px,.58fr) minmax(120px,.85fr) minmax(110px,.75fr) minmax(90px,.58fr) minmax(84px,.58fr) minmax(108px,.75fr);align-items:center;min-height:64px;display:grid}.download-table__row:last-child{border-bottom:0}.download-table__row>div{min-width:0;color:var(--color-text);padding:16px 18px}.download-table__head{background:var(--color-surface-soft);min-height:52px;font-weight:700}.download-table__head>div{color:var(--color-muted)}.download-version{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.download-tag-cell{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.download-tag{border:1px solid var(--color-border);background:var(--color-surface-soft);max-width:100%;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:12px;line-height:20px;overflow:hidden}.download-detail-cell{text-align:center}.download-actions{white-space:nowrap;align-items:center;gap:14px;display:inline-flex}.download-link,.download-copy,.download-detail{color:var(--color-primary);white-space:nowrap;font-weight:700;text-decoration:none}.download-copy,.download-detail{appearance:none;cursor:pointer;background:0 0;border:0;padding:0}.download-link:hover,.download-copy:hover,.download-detail:hover{text-decoration:underline}.download-empty{color:var(--color-muted);text-align:center;padding:36px 18px}.site-footer{border-top:1px solid var(--color-border);width:80vw;color:var(--color-muted);text-align:center;margin:0 auto;padding:22px 0 34px;font-size:13px}.login-wrap,.admin-loading{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(430px,100%)}.admin-shell{background:var(--color-bg);height:100vh;overflow:hidden}.admin-shell__toprow{z-index:20;position:sticky;top:0}.admin-topbar{height:var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:20;align-items:center;padding:0 18px 0 0;display:flex;position:sticky;top:0}.admin-topbar--compact{position:static}.admin-topbar__brand{border-right:1px solid var(--color-border);justify-content:center;width:248px;height:100%;padding:0 18px}.admin-topbar__actions{flex:auto;justify-content:flex-end;align-items:center;gap:12px;display:flex}.admin-help-btn{color:var(--color-muted)}.admin-help-btn:hover{color:var(--color-primary)!important}.admin-layout{height:calc(100vh - var(--header-height));background:var(--color-bg);overflow:hidden}.admin-sider{border-right:1px solid var(--color-border);height:calc(100vh - var(--header-height));flex-direction:column;padding:16px 0;display:flex;overflow:hidden;background:var(--color-surface)!important}.admin-sider .ant-layout-sider-children{flex-direction:column;min-height:100%;display:flex}.admin-sider .ant-menu{flex:auto;border-inline-end:0!important}.logout-btn{width:calc(100% - 32px);margin:auto 16px 0}.admin-content{height:calc(100vh - var(--header-height));min-width:0;padding:18px;overflow:hidden}.page-card{height:calc(100vh - var(--header-height) - 36px);flex-direction:column;display:flex;overflow:hidden}.page-card>.ant-card-body{flex:auto;min-height:0;padding:18px;overflow:hidden}.page-card .full-width{height:100%}.page-card .ant-space-vertical{display:flex}.page-card .ant-space-vertical>.ant-space-item{flex:none}.page-card .ant-space-vertical>.ant-space-item:last-child{flex:auto;min-height:0;overflow:hidden}.page-card .ant-table-wrapper{min-height:0;overflow:hidden}.admin-table-page{flex-direction:column;gap:14px;height:100%;min-height:0;display:flex}.admin-table-toolbar{flex:none;align-items:center;gap:10px;min-height:40px;display:flex}.admin-table-box{flex:auto;min-height:0;display:flex;overflow:hidden}.admin-table-box .ant-table-wrapper{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.admin-table-box .ant-spin-nested-loading,.admin-table-box .ant-spin-container{flex-direction:column;flex:auto;min-height:0;display:flex}.admin-table-box .ant-table{flex:none}.admin-table-box .ant-pagination{flex:none;margin:12px 0 0}.upload-progress--queued .ant-progress-bg,.upload-progress--queued .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#faad14!important;background-color:#faad14!important}.page-card .ant-table{table-layout:fixed}.page-card .ant-table-thead>tr>th{position:relative}.page-card .ant-table-content,.page-card .ant-table-container,.page-card .ant-table-body{overflow-x:hidden!important}.resizable-column-title{min-width:0;padding-right:0;display:block}.resizable-column-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.column-resize-handle{z-index:3;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;width:16px;position:absolute;top:0;bottom:0;right:0;transform:translate(50%)}.column-resize-handle:after{content:"";display:none}body.is-resizing-columns{cursor:col-resize;-webkit-user-select:none;user-select:none}.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.ant-toolbar{flex:none;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;display:grid}.ant-toolbar .ant-space{flex-wrap:wrap}.toolbar-search{width:100%;max-width:520px}.filter-bar{border:1px solid var(--color-border);background:var(--color-surface-soft);white-space:nowrap;border-radius:6px;flex:none;grid-template-columns:minmax(88px,1.1fr) minmax(88px,1.1fr) minmax(104px,1fr) minmax(86px,1fr) minmax(180px,1.4fr) minmax(106px,1fr) auto;align-items:center;gap:8px;padding:12px;display:grid;overflow:hidden}.filter-bar>*{min-width:0}.filter-bar .ant-select,.filter-bar .ant-input,.filter-bar .ant-picker{width:100%}.filter-bar .ant-segmented,.filter-bar .ant-btn{justify-self:end}.image-name-cell{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.nowrap-tags{white-space:nowrap;max-width:100%;overflow:hidden}.nowrap-tags .ant-space-item{max-width:100%;display:inline-flex}.nowrap-tags .ant-tag{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.page-card .ant-table-cell{white-space:nowrap;text-overflow:ellipsis;max-width:0;overflow:hidden}.notice-link,.upload-modal-progress{margin-top:12px}.entity-help{color:var(--color-muted);margin-bottom:12px;font-size:13px}.form-help-text{color:var(--color-muted);margin-top:-12px;font-size:12px}.theme-settings-page{flex-direction:column;gap:16px;height:100%;min-height:0;display:flex}.theme-settings-actions{border-bottom:1px solid var(--color-border);flex:none;justify-content:flex-end;gap:10px;padding-bottom:14px;display:flex}.theme-settings-scroll{flex:auto;min-height:0;padding-right:6px;overflow:auto}.theme-settings-form{max-width:980px}.theme-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.system-settings-page{height:100%;min-height:0;overflow:auto}.system-settings-card{max-width:520px}.background-controls{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:6px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;margin:-6px 0 16px;padding:14px 16px 0;display:grid}.theme-upload-row{grid-column:1/-1;margin:-10px 0 18px}.theme-settings-form .ant-input-group-addon{background:0 0;border:0;padding:0}.background-preview{border:1px solid var(--color-border);background:var(--color-surface-soft);height:116px;color:var(--color-muted);border-radius:6px;place-items:center;margin-top:16px;display:grid;overflow:hidden}.background-preview span{color:#1f2937;background:#ffffffc7;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:700}@media (width<=1180px){.vendor-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.download-filter-panel{width:calc(100vw - 48px)}}@media (width<=720px){.site-header{height:auto;min-height:var(--header-height);flex-wrap:wrap;padding:12px}.public-shell{width:100%}.site-footer{width:calc(100vw - 32px)}.page-head{flex-direction:column;align-items:stretch;gap:14px}.home-hero{min-height:240px;padding:34px 16px}.home-hero h1{font-size:28px}.vendor-grid,.stats-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:minmax(88px,1.1fr) minmax(88px,1.1fr) minmax(104px,1fr) minmax(86px,1fr) minmax(180px,1.4fr) minmax(106px,1fr) auto}.theme-settings-grid,.background-controls{grid-template-columns:1fr}.download-hero{padding:34px 20px 58px}.download-hero h1{font-size:30px}.download-filter-panel{width:calc(100vw - 24px);margin:24px auto 40px;padding:22px 16px 26px}.download-filter-row{grid-template-columns:1fr;gap:8px}.download-table__head{display:none}.download-table__row{grid-template-columns:1fr;gap:4px;padding:14px 0}.download-table__row>div{padding:4px 16px}.download-version{font-size:16px}}
