/*
 * UU Game 主题：主样式
 * 设计系统：CSS 变量 + Tailwind-like 实用类；颜色主色取自 Customizer
 */

:root{
    --uu-primary:        #6c5ce7;
    --uu-primary-soft:   #a29bfe;
    --uu-accent:         #fd79a8;
    --uu-text:           #2d3436;
    --uu-text-sub:       #636e72;
    --uu-bg:             #f5f6fa;
    --uu-bg-2:           #ffffff;
    --uu-border:         #dfe6e9;
    --uu-danger:         #e17055;
    --uu-success:        #00b894;
    --uu-warn:           #fdcb6e;
    --uu-radius:         12px;
    --uu-radius-sm:      8px;
    --uu-shadow-sm:      0 1px 3px rgba(0,0,0,.06);
    --uu-shadow:         0 6px 20px rgba(108,92,231,.12);
    --uu-sidebar-w:      240px;
    --uu-topbar-h:       60px;
    --uu-font:           -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;}
body{
    font-family:var(--uu-font);
    font-size:14px;
    line-height:1.6;
    color:var(--uu-text);
    background:var(--uu-bg);
}
a{color:inherit;text-decoration:none;transition:.2s;}
a:hover{color:var(--uu-primary);}
img{max-width:100%;height:auto;display:block;}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}
input,textarea,select{font-family:inherit;font-size:14px;}
.uu-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;
    padding:8px 16px;border-radius:var(--uu-radius-sm);
    background:var(--uu-bg-2);color:var(--uu-text);
    border:1px solid var(--uu-border);font-weight:500;
    transition:.2s;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1;}
.uu-btn:hover{transform:translateY(-1px);box-shadow:var(--uu-shadow-sm);}
.uu-btn-primary{background:var(--uu-primary);color:#fff;border-color:var(--uu-primary);}
.uu-btn-primary:hover{background:#5d4de6;color:#fff;}
.uu-btn-outline{background:transparent;border:1px solid var(--uu-primary);color:var(--uu-primary);}
.uu-btn-ghost{background:rgba(108,92,231,.08);border-color:transparent;color:var(--uu-primary);}
.uu-btn-sm{padding:4px 10px;font-size:12px;border-radius:6px;}
.uu-btn-lg{padding:12px 26px;font-size:15px;}
.uu-btn-block{display:flex;width:100%;}
.uu-mt-8{margin-top:8px}

/* ============ 通用布局 ============ */
.uu-site{display:grid;grid-template-columns:var(--uu-sidebar-w) 1fr;min-height:100vh;}
.uu-sidebar{position:sticky;top:0;align-self:start;height:100vh;background:var(--uu-bg-2);
    border-right:1px solid var(--uu-border);z-index:30;overflow:auto;}
.uu-sidebar-inner{padding:20px 14px;display:flex;flex-direction:column;min-height:100vh;gap:14px;}
.uu-site-brand{margin-bottom:8px;}
.uu-logo-text{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--uu-primary);}
.uu-logo-emoji{font-size:22px;}
.uu-nav-main{flex:1;}
.uu-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;}
.uu-nav-list a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--uu-radius-sm);
    color:var(--uu-text);font-weight:500;}
.uu-nav-list a:hover,.uu-nav-list li.active a{background:rgba(108,92,231,.1);color:var(--uu-primary);}
.uu-nav-divider{height:1px;background:var(--uu-border);margin:10px 0;}

.uu-sidebar-account{margin-top:10px;}
.uu-account-card{display:flex;gap:10px;padding:10px;border:1px solid var(--uu-border);border-radius:var(--uu-radius);
    background:linear-gradient(135deg,#f3f1ff,#fff);}
.uu-ac-avatar{flex:0 0 48px;width:48px;height:48px;border-radius:50%;overflow:hidden;
    background:var(--uu-bg);display:flex;align-items:center;justify-content:center;position:relative;}
.uu-ac-avatar img{width:100%;height:100%;object-fit:cover;}
.uu-ac-avatar.frame-galaxy::before{content:"";position:absolute;inset:-2px;border-radius:50%;
    background:linear-gradient(135deg,#74b9ff,#a29bfe,#fd79a8,#fdcb6e);z-index:-1;animation:galaxySpin 6s linear infinite;}
@keyframes galaxySpin{to{transform:rotate(360deg);}}
.uu-ac-name{font-weight:600;}
.uu-ac-level{display:inline-block;margin-left:6px;background:var(--uu-primary);color:#fff;font-size:11px;
    padding:1px 6px;border-radius:10px;}
.uu-ac-role{color:var(--uu-text-sub);font-size:12px;}
.uu-ac-wallet{display:flex;gap:10px;margin-top:4px;font-size:12px;color:var(--uu-text-sub);}
.uu-ac-links{margin-top:8px;display:flex;flex-direction:column;gap:4px;}
.uu-ac-links a{display:block;padding:6px 10px;border-radius:6px;color:var(--uu-text-sub);font-size:13px;}
.uu-ac-links a:hover{background:var(--uu-bg);color:var(--uu-primary);}

.uu-login-card{border:1px dashed var(--uu-border);padding:14px;border-radius:var(--uu-radius);
    text-align:center;background:#fafbfc;}
.uu-login-tip{margin:0 0 10px;color:var(--uu-text-sub);font-size:13px;}

/* ============ 顶部导航 ============ */
.uu-main-wrap{display:flex;flex-direction:column;min-width:0;}
.uu-topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--uu-border);}
.uu-topbar-inner{height:var(--uu-topbar-h);padding:0 24px;display:flex;align-items:center;gap:16px;
    max-width:1400px;margin:0 auto;}
.uu-topbar-left{flex:1;display:flex;gap:24px;align-items:center;}
.uu-topbar-list{list-style:none;display:flex;gap:18px;padding:0;margin:0;}
.uu-topbar-list a{color:var(--uu-text);font-weight:500;}
.uu-topbar-list a:hover{color:var(--uu-primary);}
.uu-topbar-right{display:flex;gap:10px;align-items:center;}
.uu-search-form{position:relative;}
.uu-search-input{width:260px;padding:7px 30px 7px 12px;border:1px solid var(--uu-border);
    border-radius:20px;background:var(--uu-bg);outline:none;transition:.2s;}
.uu-search-input:focus{border-color:var(--uu-primary);background:#fff;width:320px;}
.uu-search-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);opacity:.6;font-size:14px;}
.uu-topbar-create{font-size:13px;}

/* ============ 主内容通用 ============ */
.uu-main{padding:24px;max-width:1400px;width:100%;margin:0 auto;}
.uu-section{margin-bottom:28px;}
.uu-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px;}
.uu-section-title{margin:0;font-size:20px;}
.uu-section-more{color:var(--uu-primary);font-size:13px;}
.uu-empty{padding:40px;text-align:center;color:var(--uu-text-sub);
    background:var(--uu-bg-2);border-radius:var(--uu-radius);}

/* ============ 首页：Banner 轮播 ============ */
.uu-home-hero{margin-bottom:14px;}
.uu-banner-carousel{position:relative;height:320px;border-radius:var(--uu-radius);overflow:hidden;
    background:#1a1a2e;margin-bottom:18px;}
.uu-banner-track{position:relative;height:100%;}
.uu-banner-slide{position:absolute;inset:0;display:flex;align-items:flex-end;padding:36px 40px;
    background-size:cover;background-position:center;opacity:0;transition:opacity .6s;}
.uu-banner-slide.active{opacity:1;}
.uu-banner-mask{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,46,.6),rgba(26,26,46,.2),rgba(108,92,231,.5));}
.uu-banner-text{position:relative;z-index:2;color:#fff;max-width:560px;}
.uu-banner-cat{display:inline-block;background:rgba(255,255,255,.15);color:#fff;padding:4px 12px;
    border-radius:20px;font-size:12px;margin-bottom:10px;backdrop-filter:blur(4px);}
.uu-banner-title{margin:0 0 10px;font-size:32px;font-weight:700;line-height:1.2;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);}
.uu-banner-desc{margin:0 0 16px;color:rgba(255,255,255,.9);}
.uu-banner-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.uu-banner-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);}
.uu-banner-dot.active{background:#fff;width:24px;border-radius:4px;}
.uu-banner-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;
    background:rgba(255,255,255,.2);color:#fff;border-radius:50%;font-size:22px;
    display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);z-index:5;}
.uu-banner-arrow:hover{background:rgba(255,255,255,.35);color:#fff;}
.uu-banner-prev{left:14px;}.uu-banner-next{right:14px;}

/* ============ 榜单切换 ============ */
.uu-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px;}
.uu-tabs-nav{display:flex;gap:4px;flex-wrap:wrap;}
.uu-tab{padding:8px 18px;border-radius:20px;border:1px solid transparent;
    background:transparent;color:var(--uu-text-sub);font-weight:500;font-size:14px;cursor:pointer;}
.uu-tab.active,.uu-tab:hover{background:var(--uu-primary);color:#fff;}
.uu-subtab{padding:6px 14px;font-size:13px;border-radius:16px;color:var(--uu-text-sub);}
.uu-subtab.active,.uu-subtab:hover{background:rgba(108,92,231,.1);color:var(--uu-primary);}
.uu-filter-bar{margin-bottom:16px;}
.uu-filter-tags{display:flex;gap:8px;flex-wrap:wrap;}
.uu-filter-tag{padding:6px 14px;border:1px solid var(--uu-border);border-radius:20px;
    background:var(--uu-bg-2);font-size:13px;cursor:pointer;}
.uu-filter-tag.active,.uu-filter-tag:hover{background:var(--uu-primary);color:#fff;border-color:var(--uu-primary);}

/* ============ 游戏卡片 ============ */
.uu-game-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
.uu-game-list.uu-sm{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.uu-game-card{position:relative;background:var(--uu-bg-2);border-radius:var(--uu-radius);overflow:hidden;
    box-shadow:var(--uu-shadow-sm);transition:.25s;display:flex;flex-direction:column;}
.uu-game-card:hover{transform:translateY(-3px);box-shadow:var(--uu-shadow);}
.uu-card-index{position:absolute;top:10px;left:10px;z-index:2;width:28px;height:28px;border-radius:50%;
    background:rgba(108,92,231,.9);color:#fff;display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:13px;}
.uu-card-cover{display:block;aspect-ratio:220/310;background-size:cover;background-position:center;
    background:#eee;position:relative;}
.uu-card-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.3));}
.uu-card-body{padding:14px 14px 12px;display:flex;flex-direction:column;gap:8px;flex:1;}
.uu-card-title{margin:0;font-size:15px;font-weight:600;line-height:1.3;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;}
.uu-card-tags{display:flex;gap:5px;flex-wrap:wrap;}
.uu-card-tag{padding:2px 8px;border-radius:10px;font-size:11px;
    background:rgba(253,121,168,.12);color:var(--uu-accent);}
.uu-card-desc{margin:0;font-size:12px;color:var(--uu-text-sub);line-height:1.5;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;}
.uu-card-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;}
.uu-card-stats{display:flex;gap:10px;font-size:12px;color:var(--uu-text-sub);}
.uu-card-footer{display:flex;justify-content:space-between;align-items:center;
    padding-top:8px;border-top:1px dashed var(--uu-border);margin-top:auto;}
.uu-card-author{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--uu-text-sub);}
.uu-card-author img{width:20px;height:20px;border-radius:50%;}
.uu-price{font-size:13px;font-weight:600;color:var(--uu-primary);}
.uu-price-free{color:var(--uu-success);}
.uu-price-unit{font-weight:400;font-size:11px;color:var(--uu-text-sub);}

/* ============ 分页 ============ */
.uu-pagination{margin-top:26px;display:flex;justify-content:center;}
.uu-pagination ul,.pagination ul{list-style:none;display:flex;gap:6px;padding:0;margin:0;flex-wrap:wrap;}
.uu-pagination li a,.uu-pagination li span,
.pagination li a,.pagination li span{display:inline-flex;align-items:center;justify-content:center;
    min-width:34px;height:34px;padding:0 10px;border-radius:var(--uu-radius-sm);
    background:var(--uu-bg-2);border:1px solid var(--uu-border);font-size:13px;}
.uu-pagination li.current a,.pagination li.current span{background:var(--uu-primary);color:#fff;border-color:var(--uu-primary);}
.uu-pagination li a:hover,.pagination li a:hover{border-color:var(--uu-primary);color:var(--uu-primary);}

/* ============ 创作者推广 ============ */
.uu-creator-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 36px;
    background:linear-gradient(135deg,#ede9fe,#fce7f3);border-radius:var(--uu-radius);}
.uu-creator-title{margin:0 0 8px;font-size:22px;}
.uu-creator-desc{margin:0 0 16px;color:var(--uu-text-sub);max-width:560px;}
.uu-creator-art{font-size:54px;filter:drop-shadow(0 8px 10px rgba(108,92,231,.3));}

/* ============ 游戏详情页 ============ */
.uu-game-hero{margin:-24px -24px 0;padding:0 0 24px;background:var(--uu-bg-2);}
.uu-game-cover-lg{position:relative;height:300px;background-size:cover;background-position:center;}
.uu-cover-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),var(--uu-bg-2));}
.uu-game-hero-inner{max-width:1400px;margin:0 auto;padding:0 24px;margin-top:-80px;position:relative;}
.uu-game-hero-head{margin-bottom:14px;}
.uu-game-title{margin:0 0 10px;font-size:30px;font-weight:700;line-height:1.3;}
.uu-game-tags{display:flex;gap:6px;flex-wrap:wrap;}
.uu-game-tag{padding:4px 12px;border-radius:16px;background:rgba(108,92,231,.1);
    color:var(--uu-primary);font-size:12px;font-weight:500;}
.uu-game-author{display:flex;justify-content:space-between;align-items:center;padding:14px;
    background:var(--uu-bg);border-radius:var(--uu-radius);margin:16px 0;gap:14px;flex-wrap:wrap;}
.uu-author-block{display:flex;gap:12px;align-items:center;}
.uu-author-block img{width:48px;height:48px;border-radius:50%;}
.uu-author-name{font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px;}
.uu-author-sub{font-size:12px;color:var(--uu-text-sub);}
.uu-author-badge{display:inline-block;padding:1px 8px;border-radius:10px;
    background:linear-gradient(135deg,#fdcb6e,#fd79a8);color:#fff;font-size:11px;font-weight:500;}
.uu-author-badge.uu-sm{padding:1px 6px;font-size:10px;}
.uu-author-actions{display:flex;gap:8px;flex-wrap:wrap;}
.uu-engine-card{padding:14px 18px;background:linear-gradient(135deg,#fff9db,#fff0f6);
    border:1px solid #ffeaa7;border-radius:var(--uu-radius);margin-bottom:14px;}
.uu-engine-head{display:flex;gap:10px;align-items:center;margin-bottom:10px;}
.uu-engine-icon{font-size:22px;}
.uu-engine-ref{font-size:12px;color:var(--uu-text-sub);margin-left:6px;}
.uu-engine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.uu-engine-item{display:flex;justify-content:space-between;align-items:center;
    padding:10px 12px;background:#fff;border-radius:var(--uu-radius-sm);}
.uu-engine-label{color:var(--uu-text-sub);}
.uu-engine-value{font-weight:600;}
.uu-cta-row{display:flex;gap:10px;align-items:center;}
.uu-play-btn{min-width:220px;font-size:16px;}
.uu-status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;}
.uu-status-pending{background:#fff3cd;color:#856404;}
.uu-status-rejected{background:#f8d7da;color:#721c24;}
.uu-status-offline{background:#e2e3e5;color:#383d41;}

/* ============ 详情页 Tab ============ */
.uu-game-tabs{margin-top:8px;background:var(--uu-bg-2);padding:10px 24px 24px;border-radius:var(--uu-radius);}
.uu-tabs-nav{border-bottom:1px solid var(--uu-border);margin-bottom:18px;padding-bottom:0;}
.uu-tabs-nav .uu-tab{border-radius:8px 8px 0 0;border-bottom:2px solid transparent;margin-bottom:-1px;}
.uu-tabs-nav .uu-tab.active{background:transparent;color:var(--uu-primary);border-bottom-color:var(--uu-primary);}
.uu-tab-pane{display:none;}
.uu-tab-pane.active{display:block;animation:fadeIn .25s;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.uu-intro-content{font-size:15px;line-height:1.8;padding:8px 4px;}
.uu-intro-content p{margin:0 0 14px;}

/* 更新日志 */
.uu-update-log{list-style:none;padding:0;margin:0;}
.uu-update-log li{padding:12px 14px;border-left:3px solid var(--uu-primary);background:var(--uu-bg);
    border-radius:0 var(--uu-radius-sm) var(--uu-radius-sm) 0;margin-bottom:10px;}
.uu-log-idx{font-weight:700;margin-right:10px;color:var(--uu-primary);}
.uu-log-time{font-size:12px;color:var(--uu-text-sub);}
.uu-log-content{margin-top:4px;font-size:13px;}

/* 角色沉浸榜 */
.uu-char-intro{background:rgba(253,121,168,.08);padding:10px 14px;border-radius:var(--uu-radius-sm);
    color:var(--uu-accent);margin-bottom:16px;font-size:13px;}
.uu-character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.uu-character-card{background:var(--uu-bg-2);border-radius:var(--uu-radius);overflow:hidden;
    box-shadow:var(--uu-shadow-sm);transition:.25s;display:flex;flex-direction:column;}
.uu-character-card:hover{transform:translateY(-3px);box-shadow:var(--uu-shadow);}
.uu-char-img{aspect-ratio:3/4;background-size:cover;background-position:center;background:#f0ecff;
    cursor:pointer;position:relative;}
.uu-rank-mini{position:absolute;top:8px;left:8px;padding:2px 10px;border-radius:10px;
    background:rgba(253,121,168,.9);color:#fff;font-size:12px;font-weight:600;}
.uu-char-body{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1;}
.uu-char-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.uu-char-name{margin:0;font-size:16px;font-weight:600;}
.uu-char-bixin{color:var(--uu-accent);font-size:13px;white-space:nowrap;}
.uu-char-sub{font-size:12px;color:var(--uu-text-sub);}
.uu-char-attrs{font-size:13px;color:var(--uu-text);line-height:1.6;display:flex;flex-direction:column;gap:2px;}
.uu-char-attrs p{margin:0;}
.uu-char-footer{margin-top:auto;padding-top:8px;}

/* 打赏榜 */
.uu-tip-rank{list-style:none;padding:0;margin:0;}
.uu-tip-row{display:flex;align-items:center;gap:12px;padding:10px 14px;
    border-bottom:1px solid var(--uu-border);}
.uu-tip-rank-no{width:28px;height:28px;border-radius:50%;background:var(--uu-bg);
    display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 28px;}
.uu-tip-rank-no.top{background:linear-gradient(135deg,#fdcb6e,#fd79a8);color:#fff;}
.uu-tip-row:nth-child(1) .uu-tip-rank-no{background:#ffd700;color:#4a3a00;}
.uu-tip-row:nth-child(2) .uu-tip-rank-no{background:#c0c0c0;color:#333;}
.uu-tip-row:nth-child(3) .uu-tip-rank-no{background:#cd7f32;color:#fff;}
.uu-tip-avatar{flex:0 0 36px;}
.uu-tip-avatar img{width:36px;height:36px;border-radius:50%;}
.uu-tip-info{flex:1;display:flex;flex-direction:column;min-width:0;}
.uu-tip-name{font-weight:600;}
.uu-tip-msg{color:var(--uu-text-sub);font-size:12px;
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.uu-tip-amount{font-weight:700;color:var(--uu-primary);}
.uu-tip-form{margin-top:24px;padding:18px;background:var(--uu-bg);border-radius:var(--uu-radius);}
.uu-tip-form h4{margin:0 0 12px;}
.uu-tip-amounts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;align-items:center;}
.uu-tip-form input{margin-bottom:10px;}

/* ============ 讨论区评论（comments.php 已渲染） ============ */
.uu-comments{padding-top:8px;}
.uu-comments-title{font-size:16px;margin:0 0 16px;padding:8px 0;border-bottom:1px solid var(--uu-border);}
.uu-comment-list{list-style:none;padding:0;margin:0;}
.uu-comment-body{display:flex;gap:12px;padding:14px 0;border-bottom:1px dashed var(--uu-border);}
.uu-comment-avatar{flex:0 0 40px;}
.uu-comment-avatar img{width:40px;height:40px;border-radius:50%;}
.uu-comment-main{flex:1;min-width:0;}
.uu-comment-meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--uu-text-sub);margin-bottom:4px;flex-wrap:wrap;}
.uu-comment-author b{color:var(--uu-text);font-size:14px;margin-right:4px;}
.uu-comment-reply{margin-left:auto;}
.uu-comment-reply a{padding:2px 10px;border-radius:10px;background:var(--uu-bg);font-size:12px;}
.uu-comment-content{font-size:14px;line-height:1.7;}
.uu-comment-awaiting{color:var(--uu-warn);font-size:12px;padding:4px 0;}
.comment-form{display:flex;flex-direction:column;gap:10px;margin-top:20px;
    padding:16px;background:var(--uu-bg);border-radius:var(--uu-radius);}
.comment-form p{margin:0;}
.comment-form textarea{width:100%;padding:10px;border-radius:var(--uu-radius-sm);border:1px solid var(--uu-border);min-height:100px;}
.comment-form input[type=text],.comment-form input[type=email]{padding:8px 12px;border-radius:var(--uu-radius-sm);border:1px solid var(--uu-border);width:100%;max-width:360px;}
.must-log-in{padding:10px;color:var(--uu-text-sub);}

/* ============ 个人中心 ============ */
.uu-profile-hero{padding:24px;background:var(--uu-bg-2);border-radius:var(--uu-radius);margin-bottom:20px;}
.uu-profile-head{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;}
.uu-avatar-xl{width:120px;height:120px;border-radius:50%;overflow:hidden;flex:0 0 120px;
    background:#eee;display:flex;align-items:center;justify-content:center;position:relative;}
.uu-avatar-xl img{width:100%;height:100%;object-fit:cover;}
.uu-avatar-xl.frame-galaxy::before{content:"";position:absolute;inset:-3px;border-radius:50%;
    background:linear-gradient(135deg,#74b9ff,#a29bfe,#fd79a8,#fdcb6e);z-index:-1;animation:galaxySpin 6s linear infinite;}
.uu-profile-meta{flex:1;min-width:280px;}
.uu-profile-name{margin:0 0 8px;font-size:26px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.uu-level-badge{background:var(--uu-primary);color:#fff;padding:2px 10px;border-radius:14px;font-size:12px;font-weight:600;}
.uu-level-badge.uu-sm{padding:1px 7px;font-size:11px;}
.uu-profile-desc{color:var(--uu-text-sub);margin:0 0 14px;}
.uu-profile-stats{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:14px;}
.uu-profile-stats div{display:flex;flex-direction:column;gap:2px;}
.uu-profile-stats b{font-size:18px;}
.uu-profile-stats span{font-size:12px;color:var(--uu-text-sub);}
.uu-profile-actions{display:flex;gap:10px;flex-wrap:wrap;}
.uu-profile-tabs{display:flex;gap:4px;margin-top:20px;border-top:1px solid var(--uu-border);padding-top:10px;flex-wrap:wrap;}
.uu-profile-body .uu-col-title{font-size:18px;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--uu-border);
    display:flex;justify-content:space-between;align-items:center;}
.uu-more-link{font-size:13px;color:var(--uu-primary);font-weight:normal;}
.uu-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;}
.uu-profile-col{min-width:0;}

/* 钱包 / 表格 */
.uu-wallet-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:20px;}
.uu-wallet-card{padding:18px;background:linear-gradient(135deg,#fff,#ede9fe);border-radius:var(--uu-radius);
    display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;}
.uu-wallet-label{color:var(--uu-text-sub);font-size:12px;}
.uu-wallet-value{font-size:24px;font-weight:700;}
.uu-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--uu-radius);
    overflow:hidden;background:var(--uu-bg-2);box-shadow:var(--uu-shadow-sm);}
.uu-table th,.uu-table td{padding:12px 14px;text-align:left;font-size:13px;border-bottom:1px solid var(--uu-border);}
.uu-table th{background:var(--uu-bg);font-weight:600;color:var(--uu-text-sub);}
.uu-table tr:last-child td{border-bottom:0;}
.uu-table tr:hover td{background:#fafbff;}
.uu-table .pos{color:var(--uu-success);font-weight:600;}
.uu-table .neg{color:var(--uu-danger);font-weight:600;}

/* 用户列表 */
.uu-user-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;}
.uu-user-item{display:flex;gap:12px;padding:12px;background:var(--uu-bg-2);border-radius:var(--uu-radius-sm);
    box-shadow:var(--uu-shadow-sm);align-items:center;}
.uu-user-item img{width:48px;height:48px;border-radius:50%;flex:0 0 48px;}
.uu-user-item-meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.uu-user-item-meta a{font-weight:600;}
.uu-user-item-sub{color:var(--uu-text-sub);font-size:12px;}

/* ============ 创作中心 ============ */
.uu-create-tabs{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap;padding:10px;background:var(--uu-bg-2);border-radius:var(--uu-radius);}
.uu-form{display:flex;flex-direction:column;gap:14px;max-width:760px;}
.uu-form label{display:flex;flex-direction:column;gap:6px;font-weight:500;}
.uu-form input[type=text],.uu-form input[type=number],.uu-form textarea{
    padding:9px 12px;border-radius:var(--uu-radius-sm);border:1px solid var(--uu-border);}
.uu-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.uu-check-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;
    padding:10px;background:var(--uu-bg);border-radius:var(--uu-radius-sm);}
.uu-check-list label{flex-direction:row;gap:6px;align-items:center;font-weight:400;font-size:13px;}
.notice{padding:10px 14px;border-radius:var(--uu-radius-sm);margin-bottom:14px;font-size:13px;}
.notice-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb;}
.notice-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;}
/* 模板库 */
.uu-tpl-intro{margin-bottom:16px;}
.uu-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.uu-template-card{padding:20px;background:var(--uu-bg-2);border-radius:var(--uu-radius);text-align:center;
    transition:.2s;border:2px solid transparent;cursor:pointer;}
.uu-template-card:hover{border-color:var(--uu-primary);transform:translateY(-3px);box-shadow:var(--uu-shadow);}
.uu-tpl-icon{font-size:48px;margin-bottom:10px;}
.uu-tpl-name{margin:0 0 6px;font-size:16px;}
.uu-tpl-desc{margin:0 0 12px;color:var(--uu-text-sub);font-size:12px;line-height:1.5;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;}
/* 我的创作统计 */
.uu-my-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px;}
.uu-stat-card{padding:16px;background:var(--uu-bg-2);border-radius:var(--uu-radius);
    display:flex;flex-direction:column;gap:6px;box-shadow:var(--uu-shadow-sm);position:relative;overflow:hidden;}
.uu-stat-card b{font-size:22px;color:var(--uu-primary);}
.uu-stat-card span{color:var(--uu-text-sub);font-size:13px;}
.uu-my-games td img{width:60px;height:80px;object-fit:cover;border-radius:4px;}
.uu-status-mini{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;margin-left:6px;}
.uu-status-mini.ok{background:#d4edda;color:#155724;}
.uu-status-mini.warn{background:#fff3cd;color:#856404;}
.uu-status-mini.info{background:#d1ecf1;color:#0c5460;}

/* ============ 排行榜 ============ */
.uu-rank-hero{padding:24px;background:var(--uu-bg-2);border-radius:var(--uu-radius);margin-bottom:20px;}
.uu-rank-title{margin:0 0 18px;font-size:26px;}
.uu-rank-switch{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.uu-rank-types,.uu-rank-periods{display:flex;gap:4px;flex-wrap:wrap;}
.uu-top3-podium{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:16px;margin-bottom:20px;align-items:end;}
.uu-podium-item{text-align:center;padding:16px;background:var(--uu-bg-2);border-radius:var(--uu-radius);
    display:flex;flex-direction:column;align-items:center;gap:10px;}
.uu-podium-item.rank-1{order:2;padding-top:30px;
    background:linear-gradient(180deg,#fff 0%,#fff9db 60%,#ffd700 100%);}
.uu-podium-item.rank-2{order:1;
    background:linear-gradient(180deg,#fff 0%,#f0f0f0 60%,#c0c0c0 100%);}
.uu-podium-item.rank-3{order:3;
    background:linear-gradient(180deg,#fff 0%,#f8efde 60%,#cd7f32 100%);}
.uu-podium-cover{position:relative;width:130px;height:180px;border-radius:var(--uu-radius-sm);
    background-size:cover;background-position:center;box-shadow:var(--uu-shadow);}
.uu-podium-no{position:absolute;top:-8px;right:-8px;background:var(--uu-primary);color:#fff;
    padding:2px 10px;border-radius:12px;font-weight:700;}
.uu-podium-info{width:100%;}
.uu-podium-info h4{margin:0 0 6px;font-size:15px;
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.uu-podium-score{font-weight:600;color:var(--uu-primary);}
.uu-rank-list{list-style:none;padding:0;margin:0;}
.uu-rank-row{display:flex;gap:14px;align-items:center;padding:12px;background:var(--uu-bg-2);
    border-radius:var(--uu-radius-sm);margin-bottom:8px;transition:.2s;}
.uu-rank-row:hover{transform:translateX(4px);box-shadow:var(--uu-shadow-sm);}
.uu-rank-no{font-weight:700;flex:0 0 48px;color:var(--uu-text-sub);}
.uu-rank-thumb{width:56px;height:78px;border-radius:6px;background-size:cover;background-position:center;flex:0 0 56px;}
.uu-rank-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex:0 0 48px;}
.uu-rank-avatar img{width:100%;height:100%;object-fit:cover;}
.uu-rank-meta{flex:1;min-width:0;}
.uu-rank-meta h4{margin:0 0 4px;font-size:15px;
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.uu-rank-author{font-size:12px;color:var(--uu-text-sub);}
.uu-rank-score{font-weight:700;color:var(--uu-primary);flex:0 0 auto;text-align:right;}
.uu-rank-score small{display:block;font-weight:400;font-size:11px;color:var(--uu-text-sub);}
.uu-char-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}

/* ============ 社区广场 ============ */
.uu-comm-hero{padding:24px;background:var(--uu-bg-2);border-radius:var(--uu-radius);margin-bottom:16px;}
.uu-comm-title{margin:0 0 6px;font-size:26px;}
.uu-comm-sub{margin:0 0 16px;color:var(--uu-text-sub);}
.uu-comm-tabs{display:flex;gap:4px;flex-wrap:wrap;}
.uu-comm-grid{display:grid;grid-template-columns:1fr 280px;gap:20px;}
@media (max-width:980px){.uu-comm-grid{grid-template-columns:1fr;}.uu-comm-side{order:2;}}
.uu-new-post-box{padding:16px;background:var(--uu-bg-2);border-radius:var(--uu-radius);margin-bottom:16px;box-shadow:var(--uu-shadow-sm);}
.uu-login-tip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;}
.uu-post-list{list-style:none;padding:0;margin:0;}
.uu-post-item{display:flex;gap:14px;padding:16px;background:var(--uu-bg-2);border-radius:var(--uu-radius-sm);
    margin-bottom:10px;transition:.2s;}
.uu-post-item:hover{box-shadow:var(--uu-shadow-sm);transform:translateX(3px);}
.uu-post-avatar{flex:0 0 40px;}
.uu-post-avatar img{width:40px;height:40px;border-radius:50%;}
.uu-post-body{flex:1;min-width:0;}
.uu-post-meta{font-size:12px;color:var(--uu-text-sub);margin-bottom:4px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.uu-post-author b{color:var(--uu-text);font-size:14px;margin-right:6px;}
.uu-post-title{margin:0 0 6px;font-size:16px;font-weight:600;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.uu-post-excerpt{margin:0 0 8px;color:var(--uu-text-sub);font-size:13px;}
.uu-post-foot{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--uu-text-sub);flex-wrap:wrap;}
.uu-read-more{margin-left:auto;color:var(--uu-primary);}
.uu-comm-side{display:flex;flex-direction:column;gap:14px;}
.uu-side-box{padding:14px;background:var(--uu-bg-2);border-radius:var(--uu-radius);}
.uu-side-title{margin:0 0 10px;font-size:15px;}
.uu-side-rank{list-style:none;padding:0;margin:0;}
.uu-side-rank li{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;
    border-bottom:1px dashed var(--uu-border);}
.uu-side-rank li:last-child{border-bottom:0;}
.uu-side-no{width:20px;text-align:center;font-weight:700;color:var(--uu-text-sub);flex:0 0 20px;}
.uu-side-no.top{color:var(--uu-primary);}
.uu-side-rank a{flex:1;min-width:0;
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.uu-side-score{color:var(--uu-primary);font-size:12px;}
.uu-side-authors{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.uu-side-authors li{display:flex;gap:10px;align-items:center;}
.uu-side-authors img{width:32px;height:32px;border-radius:50%;}
.uu-side-author-meta{flex:1;display:flex;flex-direction:column;line-height:1.3;font-size:12px;}
.uu-side-author-meta a{font-weight:600;font-size:13px;}

/* ============ 兑换中心 ============ */
.uu-ex-hero{padding:24px;background:linear-gradient(135deg,#ede9fe,#fce7f3);border-radius:var(--uu-radius);margin-bottom:20px;}
.uu-ex-title{margin:0 0 16px;font-size:26px;}
.uu-ex-wallet{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.uu-ex-card{padding:16px;background:rgba(255,255,255,.7);backdrop-filter:blur(4px);
    border-radius:var(--uu-radius);border:1px solid #fff;}
.uu-ex-card span{color:var(--uu-text-sub);font-size:13px;}
.uu-ex-card h2{margin:4px 0;font-size:26px;}
.uu-ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;}
.uu-pkg{position:relative;padding:18px 14px;background:var(--uu-bg-2);border-radius:var(--uu-radius);
    text-align:center;box-shadow:var(--uu-shadow-sm);border:2px solid transparent;
    transition:.2s;display:flex;flex-direction:column;gap:8px;}
.uu-pkg:hover{transform:translateY(-3px);border-color:var(--uu-primary-soft);box-shadow:var(--uu-shadow);}
.uu-pkg.recommended{border-color:var(--uu-primary);}
.uu-pkg-tag{position:absolute;top:-10px;right:8px;padding:2px 10px;border-radius:12px;
    background:var(--uu-accent);color:#fff;font-size:11px;}
.uu-pkg-coin{font-size:24px;font-weight:700;color:var(--uu-primary);}
.uu-pkg-sub{font-size:12px;color:var(--uu-text-sub);}
.uu-pkg-rmb{font-size:20px;font-weight:700;}
.uu-ex-tip{margin-top:10px;color:var(--uu-text-sub);font-size:12px;}
.uu-divider{border:0;border-top:1px dashed var(--uu-border);margin:32px 0;}
.uu-ex-model{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.uu-model-card{padding:20px;background:var(--uu-bg-2);border-radius:var(--uu-radius);}
.uu-model-card h4{margin:0 0 8px;font-size:17px;}
.uu-model-card p{margin:0 0 10px;color:var(--uu-text-sub);font-size:13px;}
.uu-model-card ul{margin:0;padding-left:18px;color:var(--uu-text);font-size:13px;line-height:1.8;}

/* ============ 404 ============ */
.uu-error-page{padding:80px 24px;display:flex;align-items:center;justify-content:center;min-height:70vh;}
.uu-404-inner{text-align:center;max-width:560px;}
.uu-404-num{font-size:120px;font-weight:900;line-height:1;
    background:linear-gradient(135deg,var(--uu-primary),var(--uu-accent));
    -webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px;}
.uu-404-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px;}

/* ============ 普通文章/页面 ============ */
.uu-single-post{max-width:880px;margin:0 auto;padding:20px 24px;background:var(--uu-bg-2);
    border-radius:var(--uu-radius);box-shadow:var(--uu-shadow-sm);}
.uu-single-header{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--uu-border);}
.uu-single-title{font-size:28px;margin:0 0 12px;line-height:1.3;}
.uu-single-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--uu-text-sub);}
.uu-single-meta img{width:24px;height:24px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:4px;}
.uu-single-content{font-size:15px;line-height:1.9;padding:8px 0;}
.uu-single-content p{margin:0 0 16px;}
.uu-single-content h2{font-size:20px;margin:24px 0 10px;}
.uu-single-footer{margin-top:20px;padding-top:14px;border-top:1px dashed var(--uu-border);}
.uu-single-share{margin-top:10px;display:flex;gap:14px;align-items:center;}
.uu-single-share a{padding:4px 10px;border-radius:14px;background:var(--uu-bg);font-size:12px;}
.uu-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.uu-tags a{padding:3px 10px;border-radius:12px;background:rgba(108,92,231,.1);color:var(--uu-primary);font-size:12px;}
.uu-single-comments{margin-top:24px;}

/* ============ Footer ============ */
.uu-footer{background:#1e1e2e;color:#a6adc8;margin-top:24px;}
.uu-footer-inner{max-width:1400px;margin:0 auto;padding:36px 24px 20px;}
.uu-footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-bottom:24px;}
.uu-footer-title{color:#fff;margin:0 0 12px;font-size:15px;}
.uu-footer-desc{color:#888;font-size:13px;line-height:1.7;margin:0;}
.uu-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.uu-footer-links a{color:#a6adc8;font-size:13px;}
.uu-footer-links a:hover{color:var(--uu-primary-soft);}
.uu-footer-bottom{padding-top:16px;border-top:1px solid #2f2f44;
    display:flex;justify-content:space-between;align-items:center;font-size:12px;flex-wrap:wrap;gap:10px;}
.uu-footer-sep{margin:0 6px;color:#444;}
.uu-footer-copy a{color:var(--uu-primary-soft);}
.uu-footer-meta{color:#666;}

/* ============ 公告弹窗 ============ */
.uu-modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;
    display:flex;align-items:center;justify-content:center;animation:fadeIn .2s;}
.uu-modal{background:#fff;border-radius:var(--uu-radius);padding:24px;max-width:520px;width:92%;
    position:relative;box-shadow:var(--uu-shadow);}
.uu-modal-md{max-width:520px;}
.uu-modal-title{margin:0 0 14px;font-size:18px;padding-right:28px;}
.uu-modal-body{font-size:14px;line-height:1.7;color:var(--uu-text);max-height:60vh;overflow:auto;}
.uu-modal-body p{margin:0 0 10px;}
.uu-modal-footer{margin-top:16px;text-align:right;}
.uu-modal-close{position:absolute;top:10px;right:12px;background:transparent;border:0;font-size:24px;
    color:var(--uu-text-sub);cursor:pointer;line-height:1;}
.uu-modal-close:hover{color:var(--uu-text);}

/* ============================================================
 * 认证模块：登录/注册/找回密码前台页 + 模态登录框
 * 设计语言：暖色编辑风（米纸 + 深暖棕 + 鞍棕 + LXGW WenKai）
 * - 去毛玻璃 / 去紫粉渐变 / 去装饰性 emoji
 * - 硬质偏移阴影，hover 微位移
 * ============================================================ */
:root{
    --uu-warm-bg:        #faf6ed;   /* 暖米纸 */
    --uu-warm-paper:     #fffdf7;   /* 纸面 */
    --uu-warm-ink:       #2c2416;   /* 深暖棕（正文） */
    --uu-warm-ink-soft:  #6e5f43;   /* 次级文字 */
    --uu-warm-line:      #e6dcc3;   /* 米黄边线 */
    --uu-warm-accent:    #8b5a2b;   /* 鞍棕（主按钮） */
    --uu-warm-accent-dk: #6d4420;
    --uu-warm-danger:    #b14a30;   /* 错误色（陶土红） */
    --uu-warm-success:   #5a7d3a;   /* 成功色（橄榄绿） */
    --uu-warn-soft:      #fff3d6;
    --uu-font-wen:       "LXGW WenKai","Noto Serif SC","Songti SC","PingFang SC","Microsoft YaHei",serif;
}

/* ---------- 通用：字段 / 输入框 / 复选框 ---------- */
.uu-auth-page *,
.uu-auth-modal *{box-sizing:border-box;}
.uu-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.uu-field-label{font-size:13px;color:var(--uu-warm-ink);font-weight:600;letter-spacing:.04em;}
.uu-field-hint{font-size:12px;color:var(--uu-warm-ink-soft);min-height:1em;}
.uu-field-hint.pwd-0{color:var(--uu-warm-danger);}
.uu-field-hint.pwd-1{color:#b08a3a;}
.uu-field-hint.pwd-2{color:var(--uu-warm-success);}
.uu-field-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px;}
.uu-field-link{color:var(--uu-warm-accent);font-size:13px;text-decoration:none;}
.uu-field-link:hover{color:var(--uu-warm-accent-dk);text-decoration:underline;}
.uu-input{
    display:block;width:100%;padding:10px 12px;
    background:var(--uu-warm-paper);
    border:1px solid var(--uu-warm-line);
    border-radius:4px;
    color:var(--uu-warm-ink);
    font-size:14px;font-family:inherit;
    transition:.15s;
}
.uu-input::placeholder{color:#b3a585;}
.uu-input:focus{
    outline:none;border-color:var(--uu-warm-accent);
    background:#fff;
    box-shadow:0 0 0 3px rgba(139,90,43,.12);
}
.uu-pwd-wrap{position:relative;}
.uu-pwd-wrap .uu-input{padding-right:40px;}
.uu-pwd-toggle{
    position:absolute;right:6px;top:50%;transform:translateY(-50%);
    width:30px;height:30px;display:flex;align-items:center;justify-content:center;
    background:transparent;border:0;color:var(--uu-warm-ink-soft);cursor:pointer;
    border-radius:4px;
}
.uu-pwd-toggle:hover{color:var(--uu-warm-accent);background:rgba(139,90,43,.08);}
.uu-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--uu-warm-ink);cursor:pointer;}
.uu-checkbox input{accent-color:var(--uu-warm-accent);width:14px;height:14px;}
.uu-checkbox-block{display:flex;align-items:flex-start;margin-bottom:14px;line-height:1.6;}
.uu-checkbox-block input{margin-top:3px;}
.uu-checkbox-block a{color:var(--uu-warm-accent);text-decoration:underline;}

/* ---------- 前台三页布局（左 hero + 右表单） ---------- */
.uu-auth-page{
    display:grid;grid-template-columns:1.1fr 1fr;
    min-height:calc(100vh - var(--uu-topbar-h));
    background:var(--uu-warm-bg);
    font-family:var(--uu-font-wen);
}
.uu-auth-page-sm{grid-template-columns:1fr;}
.uu-auth-hero{
    background:linear-gradient(180deg,#f3ead0 0%,#faf6ed 100%);
    border-right:1px solid var(--uu-warm-line);
    padding:64px 56px;
    display:flex;align-items:center;
    position:relative;
    /* 米纸格纹：18px 网格、3.5% alpha */
    background-image:
        linear-gradient(180deg,#f3ead0 0%,#faf6ed 100%),
        linear-gradient(rgba(44,36,22,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(44,36,22,.035) 1px,transparent 1px);
    background-size:100% 100%,18px 18px,18px 18px;
}
.uu-auth-hero-inner{max-width:480px;}
.uu-auth-logo{display:inline-flex;align-items:center;gap:10px;
    font-size:22px;font-weight:700;color:var(--uu-warm-accent);
    margin-bottom:32px;text-decoration:none;}
.uu-auth-logo-mark{font-size:24px;}
.uu-auth-hero-title{
    font-size:30px;line-height:1.45;color:var(--uu-warm-ink);
    margin:0 0 18px;font-weight:700;letter-spacing:.02em;
}
.uu-auth-hero-desc{font-size:15px;line-height:1.85;color:var(--uu-warm-ink-soft);margin:0 0 24px;}
.uu-auth-hero-points{list-style:none;padding:0;margin:0 0 28px;}
.uu-auth-hero-points li{
    position:relative;padding:6px 0 6px 22px;
    color:var(--uu-warm-ink);font-size:14px;line-height:1.7;
}
.uu-auth-hero-points li::before{
    content:"";position:absolute;left:0;top:14px;
    width:8px;height:8px;background:var(--uu-warm-accent);
    border-radius:1px;
}
.uu-auth-hero-foot{
    margin:24px 0 0;padding:12px 14px;
    background:var(--uu-warn-soft);border-left:3px solid var(--uu-warm-accent);
    font-size:13px;color:var(--uu-warm-ink);line-height:1.7;
}
/* 右侧表单区 */
.uu-auth-form-wrap{
    padding:48px 40px;display:flex;align-items:center;justify-content:center;
    background:var(--uu-warm-bg);
}
.uu-auth-form-wrap-center{padding:64px 24px;}
.uu-auth-form-card{
    width:100%;max-width:420px;
    background:var(--uu-warm-paper);
    border:1px solid var(--uu-warm-line);
    border-radius:6px;
    padding:36px 32px;
    /* 硬质偏移阴影 */
    box-shadow:4px 4px 0 rgba(44,36,22,.08);
}
.uu-auth-form-title{
    margin:0 0 6px;font-size:22px;font-weight:700;
    color:var(--uu-warm-ink);letter-spacing:.04em;
}
.uu-auth-form-sub{margin:0 0 24px;color:var(--uu-warm-ink-soft);font-size:13px;}
.uu-auth-form{display:flex;flex-direction:column;}
.uu-auth-msg{
    font-size:13px;line-height:1.6;min-height:1em;
    margin-bottom:10px;padding:0;border-radius:3px;
}
.uu-auth-msg.show{padding:8px 10px;}
.uu-auth-msg.error{background:rgba(177,74,48,.08);color:var(--uu-warm-danger);border-left:2px solid var(--uu-warm-danger);}
.uu-auth-msg.success{background:rgba(90,125,58,.08);color:var(--uu-warm-success);border-left:2px solid var(--uu-warm-success);}
.uu-auth-divider{
    display:flex;align-items:center;text-align:center;
    margin:22px 0 14px;color:var(--uu-warm-ink-soft);font-size:12px;
}
.uu-auth-divider::before,.uu-auth-divider::after{
    content:"";flex:1;height:1px;background:var(--uu-warm-line);
}
.uu-auth-divider span{padding:0 12px;}
.uu-auth-social{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.uu-auth-social-btn{
    padding:8px 0;font-size:12px;color:var(--uu-warm-ink);
    background:var(--uu-warm-paper);border:1px solid var(--uu-warm-line);
    border-radius:4px;cursor:pointer;transition:.15s;
}
.uu-auth-social-btn:hover:not(:disabled){border-color:var(--uu-warm-accent);color:var(--uu-warm-accent);}
.uu-auth-social-btn:disabled{opacity:.5;cursor:not-allowed;}
.uu-auth-social-tip{
    grid-column:1 / -1;text-align:center;font-size:11px;color:var(--uu-warm-ink-soft);margin:8px 0 0;
}
.uu-auth-switch{
    margin:22px 0 0;text-align:center;font-size:13px;color:var(--uu-warm-ink-soft);
}
.uu-auth-switch a{color:var(--uu-warm-accent);margin-left:4px;text-decoration:none;font-weight:600;}
.uu-auth-switch a:hover{text-decoration:underline;}

/* 角色选择（注册页） */
.uu-role-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.uu-role-opt{position:relative;cursor:pointer;margin:0;}
.uu-role-opt input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.uu-role-opt-card{
    display:block;padding:12px;border:1px solid var(--uu-warm-line);border-radius:4px;
    background:var(--uu-warm-paper);transition:.15s;
}
.uu-role-opt input:checked + .uu-role-opt-card{
    border-color:var(--uu-warm-accent);background:#fff;
    box-shadow:inset 0 0 0 1px var(--uu-warm-accent);
}
.uu-role-opt-name{display:block;font-weight:700;color:var(--uu-warm-ink);font-size:14px;margin-bottom:2px;}
.uu-role-opt-desc{display:block;font-size:11px;color:var(--uu-warm-ink-soft);line-height:1.5;}

/* /activate 结果页 */
.uu-auth-result{
    max-width:560px;margin:64px auto;padding:32px;
    background:var(--uu-warm-paper);border:1px solid var(--uu-warm-line);
    border-radius:6px;box-shadow:4px 4px 0 rgba(44,36,22,.08);
    text-align:center;font-family:var(--uu-font-wen);
}
.uu-auth-result h1{margin:0 0 12px;color:var(--uu-warm-ink);font-size:24px;}
.uu-auth-result p{color:var(--uu-warm-ink-soft);line-height:1.8;margin:0 0 16px;}

/* ---------- 模态登录框 ---------- */
body.uu-modal-open{overflow:hidden;}
.uu-auth-modal{font-family:var(--uu-font-wen);align-items:flex-start;padding-top:8vh;}
.uu-auth-modal[hidden]{display:none !important;}
.uu-auth-modal-box{
    max-width:400px;width:92%;padding:0;overflow:hidden;
    background:var(--uu-warm-paper);
    border:1px solid var(--uu-warm-line);
    border-radius:6px;
    box-shadow:4px 4px 0 rgba(44,36,22,.1),0 12px 40px rgba(44,36,22,.18);
    position:relative;
}
.uu-auth-modal-box .uu-modal-close{
    top:14px;right:14px;width:28px;height:28px;font-size:22px;color:var(--uu-warm-ink-soft);
    z-index:2;
}
.uu-auth-modal-box .uu-modal-close:hover{color:var(--uu-warm-ink);}
.uu-auth-tabs{
    display:flex;border-bottom:1px solid var(--uu-warm-line);
    background:#fbf5e6;
}
.uu-auth-tab{
    flex:1;padding:14px 0;background:transparent;border:0;
    font-size:14px;color:var(--uu-warm-ink-soft);cursor:pointer;
    border-bottom:2px solid transparent;transition:.15s;font-family:inherit;font-weight:600;
}
.uu-auth-tab:hover{color:var(--uu-warm-ink);}
.uu-auth-tab.active{color:var(--uu-warm-accent);border-bottom-color:var(--uu-warm-accent);background:var(--uu-warm-paper);}
.uu-auth-pane{display:none;padding:24px 28px 28px;}
.uu-auth-pane.active{display:flex;flex-direction:column;}
.uu-auth-pane[hidden]{display:none !important;}
.uu-auth-pane-tip{font-size:13px;color:var(--uu-warm-ink-soft);line-height:1.7;margin:0 0 14px;}
/* 模态内字段沿用 .uu-field / .uu-input，间距收紧 */
.uu-auth-modal-box .uu-field{margin-bottom:12px;}
.uu-auth-modal-box .uu-auth-msg{margin-bottom:8px;}
.uu-auth-modal-box .uu-btn-lg{margin-top:4px;}

/* 响应式：小屏单列 */
@media (max-width:768px){
    .uu-auth-page{grid-template-columns:1fr;}
    .uu-auth-hero{padding:36px 28px;border-right:0;border-bottom:1px solid var(--uu-warm-line);}
    .uu-auth-hero-title{font-size:24px;}
    .uu-auth-form-wrap{padding:32px 20px;}
    .uu-auth-form-card{padding:28px 22px;}
    .uu-auth-modal{padding-top:0;align-items:center;}
}

/* ============ 响应式 ============ */
@media (max-width:1024px){
    :root{--uu-sidebar-w:68px;}
    .uu-nav-list a span,.uu-nav-list a{font-size:0;justify-content:center;}
    .uu-nav-list a::before{content:attr(class);display:none;}
    .uu-site-brand .uu-logo-text span:not(.uu-logo-emoji){display:none;}
    .uu-account-card{flex-direction:column;align-items:center;text-align:center;}
    .uu-ac-avatar{width:40px;height:40px;}
    .uu-ac-info .uu-ac-name{font-size:12px;}
    .uu-ac-info .uu-ac-role,.uu-ac-info .uu-ac-wallet{display:none;}
    .uu-login-card p{display:none;}
    .uu-login-card .uu-btn{font-size:12px;padding:6px 8px;}
    .uu-ac-links a{font-size:11px;padding:4px;}
}
@media (max-width:720px){
    .uu-site{grid-template-columns:72px 1fr;}
    .uu-main{padding:14px;}
    .uu-topbar-inner{padding:0 12px;}
    .uu-search-input{width:140px;}
    .uu-search-input:focus{width:180px;}
    .uu-topbar-create{display:none;}
    .uu-banner-carousel{height:220px;}
    .uu-banner-title{font-size:22px;}
    .uu-banner-slide{padding:18px 20px;}
    .uu-game-hero-inner{padding:0 14px;}
    .uu-game-title{font-size:22px;}
    .uu-creator-box{flex-direction:column;text-align:center;padding:24px;}
    .uu-top3-podium{grid-template-columns:1fr;}
    .uu-podium-item.rank-1{order:0;padding-top:16px;}
}
/* 滚动条美化 */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--uu-primary);}
