/* ===== ufa-cosmos 宇宙星辰模板 ===== */
:root {
    --uo-bg: #050510;
    --uo-bg2: #0a0a1a;
    --uo-bg3: #020208;
    --uo-gold: #ffd54f;
    --uo-gold-dark: #c8a431;
    --uo-gold-light: #ffe88a;
    --uo-purple: #7c4dff;
    --uo-purple-dark: #5a35d0;
    --uo-blue: #448aff;
    --uo-blue-dark: #2a6de0;
    --uo-text: #d0d0e8;
    --uo-text-dim: #6a6a8a;
    --uo-white: #fff;
    --uo-card: #0a0a1a;
    --uo-border: rgba(255,213,79,0.15);
    --uo-border-purple: rgba(124,77,255,0.2);
    --uo-border-blue: rgba(68,138,255,0.2);
    --uo-radius: 12px;
    --uo-font: 'Sarabun', sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--uo-font); background:var(--uo-bg); color:var(--uo-text); line-height:1.7; overflow-x:hidden; }
a { text-decoration:none; color:var(--uo-gold); transition:all .3s; }
a:hover { color:var(--uo-gold-light); }
img { max-width:100%; display:block; }
.container { max-width:1200px; margin:0 auto; padding:0 15px; }

/* ===== Starfield ===== */
.uo-starfield { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.uo-star { position:absolute; background:var(--uo-white); border-radius:50%; animation:uo-twinkle 3s ease-in-out infinite; }
@keyframes uo-twinkle { 0%,100% { opacity:0.2; transform:scale(0.8); } 50% { opacity:1; transform:scale(1.2); } }
.uo-shooting-star { position:absolute; width:2px; height:2px; background:var(--uo-white); border-radius:50%; box-shadow:0 0 6px var(--uo-white); animation:uo-shoot 2s linear forwards; z-index:1; }
.uo-shooting-star::before { content:''; position:absolute; top:0; left:0; width:80px; height:1px; background:linear-gradient(to left,var(--uo-white),transparent); transform-origin:right; }
@keyframes uo-shoot { 0% { transform:translate(0,0); opacity:1; } 100% { transform:translate(-300px,200px); opacity:0; } }

/* ===== Nebula ===== */
.uo-nebula { position:absolute; inset:0; pointer-events:none; z-index:0; opacity:0.4; background:radial-gradient(ellipse at 30% 40%,rgba(124,77,255,0.3) 0%,transparent 40%),radial-gradient(ellipse at 70% 60%,rgba(68,138,255,0.2) 0%,transparent 40%),radial-gradient(ellipse at 50% 30%,rgba(255,213,79,0.08) 0%,transparent 30%); animation:uo-nebula-rotate 30s linear infinite; }
@keyframes uo-nebula-rotate { 0% { transform:rotate(0deg) scale(1.2); } 100% { transform:rotate(360deg) scale(1.2); } }

/* ===== Header ===== */
.uo-header { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(5,5,16,0.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--uo-border); transition:all .3s; }
.uo-header.scrolled { background:rgba(5,5,16,0.98); box-shadow:0 4px 30px rgba(124,77,255,0.15); }
.uo-header-inner { display:flex; align-items:center; justify-content:space-between; padding:12px 0; }
.uo-logo img { height:44px; }
.uo-nav-wrap { flex:1; margin:0 20px; }
.uo-nav { display:flex; align-items:center; gap:4px; list-style:none; flex-wrap:nowrap; overflow-x:auto; }
.uo-nav li { position:relative; white-space:nowrap; }
.uo-nav li a { display:block; padding:8px 12px; color:var(--uo-text); font-size:14px; font-weight:500; border-radius:6px; }
.uo-nav li a:hover, .uo-nav li.active a { color:var(--uo-gold); background:rgba(255,213,79,0.08); }
.uo-menu-dropdown .uo-dropdown { display:none; position:absolute; top:100%; left:0; min-width:200px; background:var(--uo-bg2); border:1px solid var(--uo-border); border-radius:8px; padding:8px 0; box-shadow:0 10px 40px rgba(0,0,0,0.5); z-index:100; }
.uo-menu-dropdown:hover .uo-dropdown { display:block; }
.uo-dropdown li { width:100%; }
.uo-dropdown li a { padding:8px 16px; font-size:13px; }
.uo-sub-dropdown { display:none; padding-left:15px; }
.uo-dropdown li:hover .uo-sub-dropdown { display:block; }
.uo-header-btns { display:flex; gap:8px; align-items:center; }
.uo-btn-star { display:inline-block; padding:10px 24px; background:linear-gradient(135deg,var(--uo-gold),var(--uo-gold-dark)); color:var(--uo-bg) !important; font-weight:700; border-radius:30px; font-size:14px; border:none; cursor:pointer; transition:all .3s; }
.uo-btn-star:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(255,213,79,0.3); color:var(--uo-bg) !important; }
.uo-btn-outline { display:inline-block; padding:10px 24px; background:transparent; color:var(--uo-gold) !important; border:2px solid var(--uo-gold); font-weight:600; border-radius:30px; font-size:14px; cursor:pointer; transition:all .3s; }
.uo-btn-outline:hover { background:var(--uo-gold); color:var(--uo-bg) !important; box-shadow:0 8px 25px rgba(255,213,79,0.2); }
.uo-btn-lg { padding:16px 40px; font-size:17px; }
.uo-btn-sm { padding:8px 20px; font-size:13px; }
.uo-toggle { display:none; background:none; border:none; color:var(--uo-gold); font-size:24px; cursor:pointer; }

/* ===== Hero: 太空舱视窗 ===== */
.uo-hero { position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:120px 0 80px; overflow:hidden; }
.uo-hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse at center top,#1a1040 0%,var(--uo-bg) 60%); }
.uo-hero-portal { position:relative; z-index:2; width:100%; max-width:600px; aspect-ratio:1; display:flex; align-items:center; justify-content:center; margin:0 auto; }
.uo-hero-portal-frame { position:absolute; inset:0; border-radius:50%; border:3px solid var(--uo-border); background:rgba(10,10,26,0.4); backdrop-filter:blur(8px); box-shadow:0 0 60px rgba(124,77,255,0.2),inset 0 0 80px rgba(5,5,16,0.6); }
.uo-hero-portal-ring { position:absolute; border-radius:50%; }
.uo-hero-portal-ring-1 { inset:-20px; border:1px dashed rgba(255,213,79,0.12); animation:uoPortalSpin 40s linear infinite; }
.uo-hero-portal-ring-2 { inset:-50px; border:1px solid rgba(124,77,255,0.08); animation:uoPortalSpin 60s linear infinite reverse; }
@keyframes uoPortalSpin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.uo-hero-portal-content { position:relative; z-index:3; max-width:420px; padding:0 25px; }
.uo-hero-star { font-size:52px; color:var(--uo-gold); margin-bottom:12px; text-shadow:0 0 40px rgba(255,213,79,0.6); animation:uo-pulse 3s ease-in-out infinite; }
@keyframes uo-pulse { 0%,100% { transform:scale(1); opacity:0.9; } 50% { transform:scale(1.1); opacity:1; } }
.uo-hero-h1 { font-size:clamp(24px,4vw,38px); font-weight:800; color:var(--uo-white); margin-bottom:18px; line-height:1.3; text-shadow:0 0 30px rgba(124,77,255,0.3); }
.uo-hero-accent { display:block; background:linear-gradient(135deg,var(--uo-gold-light),var(--uo-purple)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; font-size:0.7em; margin-top:5px; }
.uo-hero-desc { font-size:14px; color:var(--uo-text-dim); margin-bottom:28px; line-height:1.8; }
.uo-hero-btns { display:flex; gap:15px; justify-content:center; flex-wrap:wrap; }

/* ===== Section ===== */
.uo-section { padding:70px 0; background:var(--uo-bg); position:relative; }
.uo-section-dark { background:var(--uo-bg3); }
.uo-section-title { text-align:center; margin-bottom:50px; }
.uo-section-title h2 { font-size:clamp(24px,4vw,36px); font-weight:700; color:var(--uo-white); }
.uo-title-decor { margin:15px 0; display:flex; justify-content:center; align-items:center; gap:15px; }
.uo-star-icon { color:var(--uo-gold); font-size:18px; text-shadow:0 0 10px rgba(255,213,79,0.5); }
.uo-title-decor::before, .uo-title-decor::after { content:''; width:60px; height:1px; background:linear-gradient(to right,transparent,var(--uo-gold-dark)); }
.uo-title-decor::after { background:linear-gradient(to left,transparent,var(--uo-gold-dark)); }
.uo-section-title p { color:var(--uo-text-dim); font-size:15px; }
.uo-decor-left { justify-content:flex-start; }
.uo-decor-left::before { display:none; }

/* ===== 功能区1: Orbit System ===== */
.uo-orbit-system { position:relative; width:100%; max-width:560px; height:560px; margin:0 auto; }
.uo-orbit-sun { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:80px; height:80px; border-radius:50%; background:radial-gradient(circle,var(--uo-gold) 0%,var(--uo-purple) 80%); box-shadow:0 0 60px rgba(255,213,79,0.6),0 0 120px rgba(124,77,255,0.3); z-index:5; animation:uo-sun-pulse 4s ease-in-out infinite; }
@keyframes uo-sun-pulse { 0%,100% { box-shadow:0 0 60px rgba(255,213,79,0.6),0 0 120px rgba(124,77,255,0.3); } 50% { box-shadow:0 0 80px rgba(255,213,79,0.8),0 0 160px rgba(124,77,255,0.4); } }
.uo-orbit-ring { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border:1px dashed rgba(255,213,79,0.15); border-radius:50%; }
.uo-orbit-ring-1 { width:320px; height:320px; }
.uo-orbit-ring-2 { width:500px; height:500px; }
.uo-orbit-cards { position:absolute; inset:0; animation:uo-orbit-rotate 80s linear infinite; }
@keyframes uo-orbit-rotate { 0% { transform:rotate(0deg); } 100% { transform:rotate(360deg); } }
.uo-orbit-card { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(var(--uo-angle)) translateX(220px) rotate(calc(-1 * var(--uo-angle))); text-align:center; cursor:pointer; animation:uo-orbit-counter 80s linear infinite; }
@keyframes uo-orbit-counter { 0% { } 100% { } }
.uo-orbit-img { width:80px; height:80px; margin:0 auto 6px; border-radius:50%; background:var(--uo-card); border:2px solid var(--uo-border); display:flex; align-items:center; justify-content:center; padding:6px; transition:all .3s; }
.uo-orbit-card:hover .uo-orbit-img { border-color:var(--uo-gold); box-shadow:0 0 25px rgba(255,213,79,0.4); transform:scale(1.1); }
.uo-orbit-img img { width:100%; height:100%; object-fit:contain; }
.uo-orbit-label { color:var(--uo-text); font-size:12px; font-weight:500; }

/* ===== 功能区2: Spiral Galaxy ===== */
.uo-spiral-galaxy { position:relative; width:100%; max-width:900px; height:600px; margin:0 auto; animation:uo-galaxy-rotate 120s linear infinite; }
@keyframes uo-galaxy-rotate { 0% { transform:rotate(0deg); } 100% { transform:rotate(360deg); } }
.uo-spiral-core { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:60px; height:60px; border-radius:50%; background:radial-gradient(circle,var(--uo-purple) 0%,var(--uo-blue) 70%,transparent 100%); box-shadow:0 0 50px rgba(124,77,255,0.5); z-index:5; }
.uo-spiral-arm { position:absolute; top:50%; left:50%; transform-origin:0 0; }
.uo-spiral-arm-1 { transform:translate(0,0) rotate(0deg); }
.uo-spiral-arm-2 { transform:translate(0,0) rotate(90deg); }
.uo-spiral-arm-3 { transform:translate(0,0) rotate(180deg); }
.uo-spiral-arm-4 { transform:translate(0,0) rotate(270deg); }
.uo-spiral-card { position:absolute; text-align:center; cursor:pointer; transition:all .3s; }
.uo-spiral-card img { width:90px; height:90px; object-fit:cover; border-radius:10px; border:1px solid var(--uo-border-blue); transition:all .3s; }
.uo-spiral-card:hover img { border-color:var(--uo-blue); box-shadow:0 0 25px rgba(68,138,255,0.4); transform:scale(1.1); }
.uo-spiral-label { display:block; color:var(--uo-text); font-size:11px; margin-top:5px; }
.uo-spiral-pos-1 { left:80px; top:-45px; }
.uo-spiral-pos-2 { left:160px; top:-60px; }
.uo-spiral-pos-3 { left:240px; top:-80px; }
.uo-spiral-pos-4 { left:80px; top:-45px; }
.uo-spiral-pos-5 { left:160px; top:-60px; }
.uo-spiral-pos-6 { left:240px; top:-80px; }
.uo-spiral-pos-7 { left:80px; top:-45px; }
.uo-spiral-pos-8 { left:160px; top:-60px; }
.uo-spiral-pos-9 { left:240px; top:-80px; }
.uo-spiral-pos-10 { left:80px; top:-45px; }
.uo-spiral-pos-11 { left:160px; top:-60px; }
.uo-spiral-pos-12 { left:240px; top:-80px; }

/* ===== 功能区3: Rocket Crash ===== */
.uo-rocket-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:20px; }
.uo-rocket-card { position:relative; background:var(--uo-card); border:1px solid var(--uo-border); border-radius:12px; padding:15px; text-align:center; cursor:pointer; overflow:hidden; transition:all .3s; }
.uo-rocket-card:hover { border-color:var(--uo-gold); transform:translateY(-5px); box-shadow:0 10px 30px rgba(255,213,79,0.15); }
.uo-rocket-trail { position:absolute; bottom:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,transparent,var(--uo-gold) 50%,transparent); opacity:0.5; }
.uo-rocket-card::before { content:''; position:absolute; bottom:10%; left:10%; width:80%; height:2px; background:linear-gradient(45deg,transparent,var(--uo-blue) 50%,transparent); transform:rotate(-15deg); opacity:0.3; }
.uo-rocket-img { width:100%; height:120px; border-radius:8px; overflow:hidden; margin-bottom:10px; }
.uo-rocket-img img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.uo-rocket-card:hover .uo-rocket-img img { transform:scale(1.1); }
.uo-rocket-mult { display:inline-block; padding:3px 10px; background:linear-gradient(135deg,var(--uo-purple),var(--uo-blue)); color:var(--uo-white); font-size:13px; font-weight:700; border-radius:12px; margin-bottom:5px; }
.uo-rocket-name { display:block; color:var(--uo-text); font-size:13px; font-weight:500; }

/* ===== 功能区4: 火箭发射序列 (img) ===== */
.uo-launch-seq { position:relative; max-width:1000px; margin:0 auto; padding:40px 0 20px; }
.uo-launch-track { position:absolute; left:10%; right:10%; bottom:80px; height:2px; background:linear-gradient(90deg,transparent,var(--uo-purple) 15%,var(--uo-gold) 85%,transparent); opacity:0.35; transform:rotate(-6deg); transform-origin:center; }
.uo-launch-stages { display:flex; justify-content:space-between; align-items:flex-end; gap:15px; position:relative; }
.uo-launch-stage { flex:1; text-align:center; max-width:200px; }
.uo-launch-stage:nth-child(1) { padding-bottom:0; }
.uo-launch-stage:nth-child(2) { padding-bottom:25px; }
.uo-launch-stage:nth-child(3) { padding-bottom:50px; }
.uo-launch-stage:nth-child(4) { padding-bottom:75px; }
.uo-launch-num { width:56px; height:56px; margin:0 auto 12px; border-radius:50%; background:linear-gradient(135deg,var(--uo-bg2),var(--uo-bg3)); border:2px solid var(--uo-gold); display:flex; align-items:center; justify-content:center; color:var(--uo-gold); font-size:16px; font-weight:800; box-shadow:0 0 20px rgba(255,213,79,0.2); transition:all .3s; }
.uo-launch-stage:hover .uo-launch-num { border-color:var(--uo-gold-light); box-shadow:0 0 30px rgba(255,213,79,0.4); transform:scale(1.1); }
.uo-launch-icon { font-size:24px; margin-bottom:8px; }
.uo-launch-stage h4 { color:var(--uo-white); font-size:15px; margin-bottom:6px; }
.uo-launch-stage p { color:var(--uo-text-dim); font-size:13px; }
.uo-launch-rocket { text-align:right; font-size:40px; margin-top:10px; padding-right:8%; animation:uoRocketFly 3s ease-in-out infinite; }
@keyframes uoRocketFly { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.uo-launch-cta { display:table; margin:30px auto 0; }

/* ===== 功能区5: Star Cluster ===== */
.uo-cluster-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:160px; gap:15px; }
.uo-cluster-card { position:relative; overflow:hidden; border-radius:12px; border:1px solid var(--uo-border); cursor:pointer; transition:all .3s; }
.uo-cluster-card:hover { transform:scale(1.05); border-color:var(--uo-gold); box-shadow:0 10px 30px rgba(255,213,79,0.2); z-index:2; }
.uo-cluster-card img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.uo-cluster-card:hover img { transform:scale(1.1); filter:brightness(1.2); }
.uo-cluster-label { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(5,5,16,0.9)); color:var(--uo-white); padding:25px 10px 8px; font-size:13px; text-align:center; }
.uo-cluster-large { grid-column:span 2; grid-row:span 2; }
.uo-cluster-tall { grid-row:span 2; }
.uo-cluster-wide { grid-column:span 2; }

/* ===== 功能区6: Shooting Star Promotions ===== */
.uo-promo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:25px; }
.uo-promo-card { background:var(--uo-card); border-radius:12px; overflow:hidden; border:1px solid var(--uo-border); transition:all .3s; position:relative; }
.uo-promo-card:hover { border-color:var(--uo-gold); transform:translateY(-5px); box-shadow:0 15px 40px rgba(0,0,0,0.4); }
.uo-promo-img { height:200px; overflow:hidden; position:relative; }
.uo-promo-img img { width:100%; height:100%; object-fit:cover; }
.uo-promo-shooting { position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; pointer-events:none; z-index:2; }
.uo-promo-shooting::before { content:''; position:absolute; top:20%; left:-100%; width:60%; height:2px; background:linear-gradient(90deg,transparent,var(--uo-white),transparent); animation:uo-promo-shoot 4s ease-in-out infinite; }
@keyframes uo-promo-shoot { 0% { left:-100%; top:20%; } 40% { left:100%; top:60%; } 100% { left:100%; top:60%; } }
.uo-promo-card:nth-child(2) .uo-promo-shooting::before { animation-delay:1.3s; }
.uo-promo-card:nth-child(3) .uo-promo-shooting::before { animation-delay:2.6s; }
.uo-promo-ribbon { position:absolute; top:10px; right:-5px; background:var(--uo-gold); color:var(--uo-bg); padding:4px 16px; font-size:12px; font-weight:700; border-radius:4px 0 0 4px; z-index:3; }
.uo-ribbon-hot { background:#e74c3c; color:var(--uo-white); }
.uo-ribbon-new { background:#2ecc71; color:var(--uo-white); }
.uo-promo-body { padding:20px; }
.uo-promo-body h4 { color:var(--uo-gold); font-size:18px; margin-bottom:8px; }
.uo-promo-body p { color:var(--uo-text-dim); font-size:14px; margin-bottom:15px; }

/* ===== Articles ===== */
.uo-list-item { display:flex; gap:20px; background:var(--uo-card); border-radius:12px; padding:15px; margin-bottom:15px; border:1px solid var(--uo-border); transition:all .3s; }
.uo-list-item:hover { border-color:var(--uo-gold); box-shadow:0 5px 20px rgba(255,213,79,0.1); }
.uo-list-item .list-img { flex:0 0 200px; height:130px; border-radius:8px; overflow:hidden; }
.uo-list-item .list-img img { width:100%; height:100%; object-fit:cover; }
.uo-list-item .list-body { flex:1; }
.uo-list-item h3 { font-size:18px; margin-bottom:8px; }
.uo-list-item h3 a { color:var(--uo-white); }
.uo-list-item h3 a:hover { color:var(--uo-gold); }
.uo-list-item .list-desc { color:var(--uo-text-dim); font-size:14px; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.uo-list-item .list-meta { font-size:12px; color:var(--uo-text-dim); }
.uo-list-item .list-meta span { margin-right:15px; }

/* ===== Sidebar ===== */
.uo-sidebar-card { background:var(--uo-card); border-radius:12px; padding:20px; margin-bottom:20px; border:1px solid var(--uo-border); }
.uo-sidebar-title { color:var(--uo-gold); font-weight:600; margin-bottom:15px; font-size:16px; }
.uo-sidebar-list { list-style:none; }
.uo-sidebar-list li { padding:8px 0; border-bottom:1px solid rgba(255,213,79,0.06); }
.uo-sidebar-list li:last-child { border-bottom:none; }
.uo-sidebar-list a { color:var(--uo-text); font-size:14px; }
.uo-sidebar-list a:hover { color:var(--uo-gold); }
.uo-tag-cloud { display:flex; flex-wrap:wrap; gap:8px; }
.uo-tag-cloud a { padding:5px 12px; background:rgba(124,77,255,0.1); border:1px solid var(--uo-border-purple); border-radius:20px; font-size:13px; color:var(--uo-text); }
.uo-tag-cloud a:hover { background:var(--uo-purple); color:var(--uo-white); }

/* ===== FAQ ===== */
.uo-faq { max-width:800px; margin:0 auto; }
.uo-faq-item { background:var(--uo-card); border:1px solid var(--uo-border); border-radius:10px; margin-bottom:12px; overflow:hidden; transition:all .3s; }
.uo-faq-item:hover { border-color:var(--uo-border-purple); }
.uo-faq-btn { width:100%; padding:18px 22px; background:none; border:none; color:var(--uo-white); font-size:16px; font-weight:600; font-family:var(--uo-font); text-align:left; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.uo-faq-btn::after { content:'+'; color:var(--uo-gold); font-size:24px; transition:transform .3s; }
.uo-faq-btn.active::after { transform:rotate(45deg); }
.uo-faq-answer { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.uo-faq-answer.show { max-height:500px; }
.uo-faq-answer p { padding:0 22px 18px; color:var(--uo-text-dim); font-size:14px; line-height:1.8; }

/* ===== Footer ===== */
.uo-footer { background:var(--uo-bg3); border-top:1px solid var(--uo-border); }
.uo-footer-top { padding:50px 0 30px; border-bottom:1px solid var(--uo-border); }
.uo-footer-logo img { height:50px; margin-bottom:15px; }
.uo-footer-desc { color:var(--uo-text-dim); font-size:14px; line-height:1.8; }
.uo-footer-title { color:var(--uo-gold); font-size:16px; font-weight:600; margin-bottom:15px; }
.uo-footer-links { list-style:none; }
.uo-footer-links li { margin-bottom:10px; }
.uo-footer-links a { color:var(--uo-text-dim); font-size:14px; }
.uo-footer-links a:hover { color:var(--uo-gold); }
.uo-contact-item { color:var(--uo-text-dim); font-size:14px; margin-bottom:8px; }
.uo-footer-cta { margin-top:15px; }
.uo-footer-middle { padding:25px 0; border-bottom:1px solid var(--uo-border); }
.uo-friend-links { margin-bottom:10px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.uo-fl-label { color:var(--uo-text-dim); font-size:14px; }
.uo-fl-item { color:var(--uo-text-dim); font-size:13px; padding:3px 10px; background:rgba(124,77,255,0.05); border-radius:4px; }
.uo-fl-item:hover { color:var(--uo-gold); background:rgba(124,77,255,0.15); }
.uo-footer-bottom { padding:20px 0; text-align:center; }
.uo-footer-bottom p { color:var(--uo-text-dim); font-size:13px; }
.uo-footer-bottom a { color:var(--uo-gold); }
.uo-icp { margin-top:5px; }

/* ===== Breadcrumb & Detail ===== */
.uo-breadcrumb { padding:20px 0; color:var(--uo-text-dim); font-size:14px; }
.uo-breadcrumb a { color:var(--uo-gold); }
.uo-breadcrumb .separator { margin:0 8px; }
.uo-detail { background:var(--uo-card); border-radius:12px; padding:30px; border:1px solid var(--uo-border); margin-bottom:20px; }
.uo-detail-title { font-size:28px; color:var(--uo-white); margin-bottom:15px; }
.uo-detail-meta { display:flex; flex-wrap:wrap; gap:15px; color:var(--uo-text-dim); font-size:13px; margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid var(--uo-border); }
.uo-detail-meta a { color:var(--uo-gold); }
.uo-detail-body { color:var(--uo-text); line-height:1.9; }
.uo-detail-body img { max-width:100%; height:auto; border-radius:8px; margin:15px 0; }
.uo-detail-body p { margin-bottom:15px; }
.uo-detail-nav { display:flex; justify-content:space-between; gap:20px; margin:25px 0; }
.uo-detail-nav .nav-item { flex:1; }
.uo-detail-nav .nav-label { color:var(--uo-text-dim); font-size:12px; margin-bottom:5px; }
.uo-detail-nav a { color:var(--uo-gold); font-size:14px; }
.uo-related { margin-top:30px; }
.uo-related h3 { color:var(--uo-gold); margin-bottom:15px; }
.uo-related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:15px; }
.uo-news-card { background:var(--uo-card); border-radius:8px; overflow:hidden; border:1px solid var(--uo-border); }
.uo-news-card .news-img { height:120px; overflow:hidden; }
.uo-news-card .news-img img { width:100%; height:100%; object-fit:cover; }
.uo-news-card .news-body { padding:12px; }
.uo-news-card h4 a { color:var(--uo-white); font-size:14px; }
.uo-news-card h4 a:hover { color:var(--uo-gold); }
.uo-news-meta { color:var(--uo-text-dim); font-size:12px; margin-top:5px; }

/* ===== Search ===== */
.uo-search-form { display:flex; gap:10px; margin-bottom:25px; }
.uo-search-form input { flex:1; padding:12px 18px; background:var(--uo-card); border:1px solid var(--uo-border); border-radius:8px; color:var(--uo-text); font-family:var(--uo-font); font-size:15px; }
.uo-search-form input:focus { outline:none; border-color:var(--uo-gold); }
.uo-search-form button { padding:12px 25px; background:var(--uo-gold); color:var(--uo-bg); border:none; border-radius:8px; font-weight:700; cursor:pointer; font-family:var(--uo-font); }
.uo-no-data { text-align:center; padding:60px 20px; }
.uo-no-data .no-icon { font-size:48px; margin-bottom:15px; }
.uo-no-data p { color:var(--uo-text-dim); }

/* ===== Pagination ===== */
.uo-pagination { text-align:center; margin-top:25px; }
.uo-pagination a, .uo-pagination span { display:inline-block; padding:8px 14px; margin:0 3px; background:var(--uo-card); border:1px solid var(--uo-border); border-radius:6px; color:var(--uo-text); font-size:14px; }
.uo-pagination .current { background:var(--uo-gold); color:var(--uo-bg); border-color:var(--uo-gold); }

/* ===== Share ===== */
.uo-share-bar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:15px 0; border-top:1px solid var(--uo-border); border-bottom:1px solid var(--uo-border); margin:20px 0; }
.uo-share-bar .share-label { color:var(--uo-text-dim); font-size:14px; }
.uo-share-btn { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; background:var(--uo-card); border:1px solid var(--uo-border); border-radius:20px; color:var(--uo-text); font-size:13px; }
.uo-share-btn:hover { border-color:var(--uo-gold); color:var(--uo-gold); }
.uo-share-btn .share-icon { width:18px; height:18px; }
.uo-share-fixed { position:fixed; left:15px; top:50%; transform:translateY(-50%); z-index:999; display:flex; flex-direction:column; gap:8px; }
.uo-share-fixed .share-label { writing-mode:vertical-rl; color:var(--uo-gold); font-size:12px; margin-bottom:5px; }
.uo-share-fixed .uo-share-btn { padding:8px; border-radius:50%; }
.uo-share-float { position:fixed; bottom:15px; right:15px; z-index:999; display:flex; gap:8px; }
.uo-share-float .uo-share-btn { padding:8px; border-radius:50%; }

/* ===== Responsive ===== */
@media (max-width:991px) {
    .uo-nav-wrap { display:none; }
    .uo-toggle { display:block; }
    .uo-nav-wrap.show { display:block; position:fixed; top:68px; left:0; right:0; background:var(--uo-bg2); padding:15px; max-height:80vh; overflow-y:auto; z-index:999; }
    .uo-nav-wrap.show .uo-nav { flex-direction:column; }
    .uo-header-btns { display:none !important; }
    .uo-launch-stages { flex-wrap:wrap; justify-content:center; }
    .uo-launch-stage { min-width:45%; padding-bottom:0 !important; }
    .uo-launch-track { display:none; }
    .uo-launch-rocket { text-align:center; }
    .uo-cluster-grid { grid-template-columns:repeat(2,1fr); }
    .uo-cluster-large { grid-column:span 2; }
    .uo-cluster-tall { grid-row:auto; }
    .uo-share-fixed { display:none; }
    .uo-list-item { flex-direction:column; }
    .uo-list-item .list-img { flex:none; width:100%; height:180px; }
    .uo-orbit-system { height:420px; max-width:420px; }
    .uo-orbit-ring-1 { width:240px; height:240px; }
    .uo-orbit-ring-2 { width:380px; height:380px; }
    .uo-orbit-card { transform:translate(-50%,-50%) rotate(var(--uo-angle)) translateX(170px) rotate(calc(-1 * var(--uo-angle))); }
    .uo-spiral-galaxy { height:auto; max-width:100%; animation:none; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; padding:20px 0; }
    .uo-spiral-core { display:none; }
    .uo-spiral-arm { position:static; transform:none !important; }
    .uo-spiral-card { position:static; }
}
@media (max-width:576px) {
    .uo-orbit-system { height:360px; max-width:360px; }
    .uo-orbit-ring-1 { width:200px; height:200px; }
    .uo-orbit-ring-2 { width:320px; height:320px; }
    .uo-orbit-card { transform:translate(-50%,-50%) rotate(var(--uo-angle)) translateX(140px) rotate(calc(-1 * var(--uo-angle))); }
    .uo-orbit-img { width:60px; height:60px; }
    .uo-rocket-grid { grid-template-columns:repeat(2,1fr); }
    .uo-cluster-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:130px; }
    .uo-launch-stage { min-width:100%; }
    .uo-hero-portal { max-width:380px; }
    .uo-hero-btns { flex-direction:column; align-items:center; }
    .uo-hero-btns a { width:100%; max-width:280px; text-align:center; }
    .uo-spiral-galaxy { grid-template-columns:repeat(2,1fr); }
}
