:root {
    --primary: #ff5e7f; --primary-dark: #e62455; --accent: #ff967e;
    --gradient-btn: linear-gradient(135deg, #ff5e7f 30%, #ff967e 100%);
    --gradient-exec: linear-gradient(135deg, #fb69b3, #ff96d0);
    --bg-from: #FFF5F7; --bg-to: #FCE4EC;
    --card-bg: rgba(255,255,255,0.375); --card-border: rgba(255,255,255,0.125);
    --text: #333; --text-secondary: #888;
    --danger: #e62455; --success: #66BB6A; --warning: #FFA726;
    --nav-h: 56px; --sidebar-w: 220px; --bottom-h: 56px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Microsoft YaHei',sans-serif;color:var(--text);background:linear-gradient(135deg,var(--bg-from),var(--bg-to));height:100vh;overflow:hidden}
/* === 樱花动画 === */
.sakura{position:fixed;pointer-events:none;z-index:0}
.sakura span{display:block;width:10px;height:10px;background:rgba(255,94,127,0.4);border-radius:50% 0;animation:sakura-fall linear infinite;position:absolute}
@keyframes sakura-fall{0%{transform:translateY(-10vh) rotate(0deg);opacity:0.8}100%{transform:translateY(110vh) rotate(720deg);opacity:0}}
/* === 顶部导航 === */
.top-nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:rgba(255,255,255,0.375);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:100;box-shadow:0 0.75rem 2rem 0 rgba(0,0,0,0.1)}
.top-nav .logo{font-size:18px;font-weight:700;background:linear-gradient(135deg,#f97794,#623aa2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:2px;cursor:pointer}
.top-nav .nav-links{display:flex;gap:8px}
.top-nav .nav-links a{color:var(--text-secondary);text-decoration:none;font-size:14px;padding:8px 20px;border-radius:45px;transition:all .3s;font-weight:500}
.top-nav .nav-links a:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(255,94,127,0.25);color:var(--primary);background:rgba(255,94,127,0.08)}
.top-nav .nav-links a.active{color:#fff;background:var(--gradient-btn);box-shadow:0 4px 15px rgba(255,94,127,0.35)}
.hamburger{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text);padding:4px 12px;border-radius:45px;transition:all .3s}
.hamburger:hover{background:rgba(255,94,127,0.08)}
/* === 侧边栏 === */
.sidebar{position:fixed;top:var(--nav-h);left:0;bottom:0;width:var(--sidebar-w);background:rgba(255,255,255,0.375);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-right:1px solid var(--card-border);padding:16px 12px;z-index:90;overflow-y:auto;transition:transform .3s;box-shadow:0 0.75rem 2rem 0 rgba(0,0,0,0.05)}
.sidebar .menu-item{display:block;padding:12px 16px;margin-bottom:4px;border-radius:45px;color:var(--text);text-decoration:none;font-size:14px;cursor:pointer;transition:all .3s;font-weight:500}
.sidebar .menu-item:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(255,94,127,0.15);background:rgba(255,94,127,0.08);color:var(--primary)}
.sidebar .menu-item.active{background:var(--gradient-btn);color:#fff;font-weight:600;box-shadow:0 4px 15px rgba(255,94,127,0.35)}
.sidebar .menu-item .icon{margin-right:8px}
.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);z-index:89}
/* === 主内容区 === */
.main-wrap{margin-left:var(--sidebar-w);margin-top:var(--nav-h);padding:24px;height:calc(100vh - var(--nav-h));position:relative;z-index:1;overflow-y:auto}
.page-section{display:none}
.page-section.active{display:block;height:100%}
/* === 卡片 === */
.card{background:var(--card-bg);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:1.5rem;border:1px solid var(--card-border);padding:24px;margin-bottom:16px;box-shadow:0 0.75rem 2rem 0 rgba(0,0,0,0.1)}
.card-title{font-size:16px;font-weight:600;background:linear-gradient(135deg,#f97794,#623aa2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px;display:flex;align-items:center;gap:8px}
/* === 表单 === */
input[type="text"],input[type="password"],input[type="number"],select,textarea{width:100%;padding:10px 16px;border-radius:45px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.5);font-size:14px;color:var(--text);outline:none;transition:all .3s;font-family:inherit;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
input[type="text"]:focus,input[type="password"]:focus,input[type="number"]:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(255,94,127,0.12);transform:translateY(-1px)}
.input-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.input-row>*{flex:1;min-width:80px}
/* === 按钮 - 药丸风格 === */
.btn{padding:1em 2.5em;border-radius:45px;border:none;font-size:14px;cursor:pointer;transition:all .3s;font-weight:600;font-family:inherit;white-space:nowrap;letter-spacing:0.5px;box-shadow:0 8px 15px rgba(0,0,0,0.1);background:#fff;color:var(--text)}
.btn:hover{transform:translateY(-7px);box-shadow:0 15px 25px rgba(255,94,127,0.3)}
.btn:active{transform:translateY(-1px)}
.btn:disabled{opacity:0.5;pointer-events:none;transform:none!important}
.btn-primary{background:var(--gradient-btn);color:#fff}
.btn-primary:hover{box-shadow:0 15px 25px rgba(255,94,127,0.4)}
.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}
.btn-outline:hover{background:var(--gradient-btn);color:#fff;border-color:transparent}
.btn-danger{background:var(--gradient-btn);color:#fff}
.btn-danger:hover{background:var(--danger);box-shadow:0 15px 25px rgba(230,36,85,0.4)}
.btn-sm{padding:0.5em 1.2em;font-size:12px;border-radius:45px}
.btn-xs{padding:0.3em 0.8em;font-size:11px;border-radius:45px}
/* === Tab切换 - 药丸风格 === */
.tab-bar{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px;flex-wrap:wrap}
.tab-bar .tab{padding:8px 20px;border-radius:45px;font-size:14px;cursor:pointer;transition:all .3s;white-space:nowrap;color:var(--text-secondary);background:rgba(255,255,255,0.3);font-weight:600;user-select:none;box-shadow:0 2px 6px rgba(0,0,0,0.06)}
.tab-bar .tab:hover{transform:translateY(-3px);box-shadow:0 6px 15px rgba(255,94,127,0.2);color:var(--primary);background:rgba(255,94,127,0.1)}
.tab-bar .tab.active{background:var(--gradient-btn);color:#fff;box-shadow:0 4px 15px rgba(255,94,127,0.35);transform:translateY(-2px)}
.tab-content{display:none}
.tab-content.active{display:block;animation:fadeIn .3s}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* === 二级子标签 - 参考老版本 spawn-tabs === */
.sub-tab-bar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;justify-content:center}
.sub-tab{padding:6px 14px;font-size:12px;border-radius:45px;border:none;background:rgba(255,255,255,0.55);color:#666;cursor:pointer;font-weight:600;transition:all .25s ease;box-shadow:0 2px 6px rgba(0,0,0,0.06);white-space:nowrap;user-select:none}
.sub-tab:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(255,94,127,0.15);color:var(--primary)}
.sub-tab.active{background:var(--gradient-btn);color:#fff;box-shadow:0 4px 12px rgba(255,94,127,0.35)}
/* === 快捷指令按钮组 - 药丸风格 === */
.quick-group{margin-bottom:16px}
.quick-group-label{font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:600;padding-left:4px}
.quick-btns{display:flex;flex-wrap:wrap;gap:8px}
.quick-btns .btn-sm{background:rgba(255,255,255,0.4);border:1px solid rgba(255,255,255,0.2);color:var(--text);box-shadow:0 4px 10px rgba(0,0,0,0.06)}
.quick-btns .btn-sm:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(255,94,127,0.25);background:rgba(255,94,127,0.1);color:var(--primary)}
.quick-btns .btn-sm.danger{background:rgba(230,36,85,0.06);color:var(--danger)}
.quick-btns .btn-sm.danger:hover{background:var(--danger);color:#fff;box-shadow:0 10px 20px rgba(230,36,85,0.3)}
/* === 道具生成 === */
.spawner-item{background:rgba(255,255,255,0.4);border-radius:1.25rem;padding:16px;margin-bottom:12px;border:1px solid rgba(255,255,255,0.1);transition:all .3s}
.spawner-item:hover{box-shadow:0 8px 20px rgba(255,94,127,0.1)}
.spawner-item .row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.spawner-item .row>*{flex:1;min-width:100px}
.spawner-item label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;font-weight:600}
.spawner-item .search-wrap{position:relative;flex:2;min-width:180px}
/* 搜索下拉框通用样式 */
.search-wrap .search-results{display:none;position:absolute;top:100%;left:0;right:0;max-height:430px;overflow-y:auto;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:0 0 1rem 1rem;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,0.15)}
.search-results .sr-item{padding:10px 16px;cursor:pointer;font-size:13px;border-bottom:1px solid #f5f5f5;color:var(--text)}
.search-results .sr-item:hover{background:rgba(255,94,127,0.08)}
.search-results .sr-item.no-match{color:var(--text-secondary);cursor:default;text-align:center}
.search-results .sr-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-top:1px solid #eee}
.search-results .sr-page-btn{padding:3px 12px;border-radius:45px;border:none;background:rgba(255,94,127,0.1);color:var(--primary);cursor:pointer;font-size:12px;font-family:inherit}
.search-results .sr-page-btn:hover{background:var(--gradient-btn);color:#fff}
.search-results .sr-page-info{font-size:11px;color:#999}

/* 搜索弹窗（移动端） */
.search-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.45);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s ease}
.search-modal{background:rgba(255,255,255,0.97);backdrop-filter:blur(15px);width:100%;max-height:75vh;border-radius:1.5rem 1.5rem 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:hidden}
.sm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #eee;font-size:15px;font-weight:700;color:var(--text);flex-shrink:0}
.sm-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;line-height:1}
.sm-list{flex:1;overflow-y:auto;padding:8px 0;-webkit-overflow-scrolling:touch}
.sm-item{padding:13px 20px;font-size:13px;cursor:pointer;color:var(--text);border-bottom:1px solid #f7f7f7;transition:background .2s}
.sm-item:active{background:rgba(255,94,127,0.08)}
.sm-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;border-top:1px solid #eee;flex-shrink:0}
.sm-page-btn{padding:8px 20px;border-radius:45px;border:none;background:rgba(255,94,127,0.1);color:var(--primary);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit}
.sm-page-btn:active{background:var(--gradient-btn);color:#fff}
.sm-page-info{font-size:12px;color:#999}
/* 任务三按钮行 */
.quest-btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.quest-cmd-btn{flex:1;padding:10px 12px!important;font-size:12px!important}
.spawner-item.quest-spawner .search-wrap{flex:none;width:100%!important}

/* === 圣遗物 === */
.artifact-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.artifact-row .field{flex:1;min-width:120px}
.artifact-row .field label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;font-weight:600}
.sub-stat-list{min-height:44px;border:1px dashed rgba(255,94,127,0.25);border-radius:1rem;padding:10px;margin:8px 0}
.sub-stat-item{display:inline-flex;align-items:center;gap:6px;background:rgba(255,94,127,0.12);border-radius:45px;padding:5px 14px;margin:4px;font-size:13px;font-weight:500;transition:all .2s}
.sub-stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(255,94,127,0.15)}
.sub-stat-item .remove{cursor:pointer;color:var(--danger);font-weight:bold;margin-left:4px;font-size:16px;line-height:1;transition:all .2s}
.sub-stat-item .remove:hover{transform:scale(1.2)}
/* === 广场 === */
.plaza-card{background:rgba(255,255,255,0.4);border-radius:1.25rem;border:1px solid rgba(255,255,255,0.1);padding:18px;margin-bottom:12px;transition:all .3s}
.plaza-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px rgba(255,94,127,0.15)}
.plaza-card .pc-title{font-weight:600;color:var(--primary);font-size:15px;margin-bottom:6px}
.plaza-card .pc-meta{font-size:12px;color:var(--text-secondary);margin-bottom:8px;display:flex;gap:16px;flex-wrap:wrap}
.plaza-card .pc-desc{font-size:13px;color:var(--text);margin-bottom:8px;line-height:1.5}
.plaza-card .pc-cmd{font-size:12px;background:rgba(255,94,127,0.08);padding:8px 14px;border-radius:45px;word-break:break-all;margin-bottom:8px;font-family:monospace}
.plaza-card .pc-actions{display:flex;gap:8px;flex-wrap:wrap}
.pagination{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:16px;flex-wrap:wrap}
.pagination button{padding:8px 16px;border-radius:45px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.5);cursor:pointer;font-size:13px;color:var(--text);transition:all .3s;font-weight:500;box-shadow:0 2px 6px rgba(0,0,0,0.06)}
.pagination button:hover{transform:translateY(-3px);box-shadow:0 8px 15px rgba(255,94,127,0.2)}
.pagination button.active{background:var(--gradient-btn);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(255,94,127,0.3)}
.pagination button:disabled{opacity:.3;pointer-events:none;transform:none!important}
/* === Toast === */
.toast-container{position:fixed;top:72px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{max-width:360px;background:rgba(255,255,255,0.9);backdrop-filter:blur(15px);border-radius:1rem;padding:14px 18px;font-size:14px;box-shadow:0 8px 25px rgba(0,0,0,0.12);animation:toastIn .35s ease;pointer-events:auto;border-left:4px solid var(--primary);display:flex;align-items:center;gap:10px}
.toast.success{border-left-color:var(--success)}.toast.success .toast-icon{color:var(--success)}
.toast.error{border-left-color:var(--danger)}.toast.error .toast-icon{color:var(--danger)}
.toast.info{border-left-color:var(--primary)}.toast.info .toast-icon{color:var(--primary)}
.toast.removing{animation:toastOut .3s ease forwards}
@keyframes toastIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes toastOut{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}
/* === 确认弹窗 === */
.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.35);z-index:9998;justify-content:center;align-items:center}
.modal-overlay.show{display:flex;animation:fadeIn .2s}
.modal-box{background:#fff;border-radius:1.5rem;padding:32px;max-width:420px;width:90%;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,0.2);animation:scaleIn .25s ease}
@keyframes scaleIn{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}
.modal-box .modal-icon{font-size:44px;margin-bottom:12px}
.modal-box .modal-text{font-size:15px;margin-bottom:24px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-all}
.modal-box .modal-actions{display:flex;gap:10px;justify-content:center}
/* === 底部导航（移动端） === */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-h);background:rgba(255,255,255,0.375);backdrop-filter:blur(15px);border-top:1px solid var(--card-border);z-index:100;justify-content:space-around;align-items:center;box-shadow:0 -0.75rem 2rem 0 rgba(0,0,0,0.08)}
.bottom-nav .bn-item{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;padding:4px 12px;border-radius:45px;transition:all .3s;position:relative;font-size:11px;color:var(--text-secondary);user-select:none;font-weight:500}
.bottom-nav .bn-item .bn-icon{font-size:18px}
.bottom-nav .bn-item.active{color:var(--primary)}
.bottom-nav .bn-item.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:3px;background:var(--gradient-btn);border-radius:0 0 3px 3px}
/* === 响应式 === */
@media(max-width:767px){
    .hamburger{display:block}
    .sidebar{transform:translateX(-100%)}
    .sidebar.open{transform:translateX(0);z-index:95}
    .sidebar-overlay.show{display:block}
    .main-wrap{margin-left:0;margin-top:var(--nav-h);padding:16px;height:calc(100vh - var(--nav-h) - var(--bottom-h));overflow-y:auto}
    .bottom-nav{display:flex}
    .toast-container{top:60px;right:10px;left:10px}
    .toast{max-width:100%}
    .input-row{flex-direction:column}
    .spawner-item .row{flex-direction:column}
    .top-nav .nav-links{display:none}
    .gm-left,.gm-right{max-height:none}
}
@media(min-width:768px){
    .sidebar{transform:translateX(0)!important}
    .sidebar-overlay.show{display:none!important}
}
/* === 上传区 === */
#upload-section{display:none}
#upload-section .upload-form{display:flex;flex-direction:column;gap:12px}
/* === 搜索栏 === */
.search-bar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.search-bar select{padding:8px 14px;border-radius:45px;border:1px solid rgba(255,255,255,0.2);font-size:13px;background:rgba(255,255,255,0.5);color:var(--text);outline:none;width:auto;min-width:100px;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
/* === 装饰 === */
.section-divider{border:none;border-top:1px solid rgba(255,255,255,0.2);margin:16px 0}

/* === GM双栏布局（参考老版本 InputModule + SpawnModule） === */
.gm-dual-layout{display:flex;gap:1.5vw;align-items:stretch;width:100%;height:100%}
.gm-left,.gm-right{flex:1;background:rgba(255,255,255,0.375);box-shadow:0 0.75rem 2rem 0 rgba(0,0,0,0.1);border-radius:1.5rem;border:1px solid rgba(255,255,255,0.125);padding:24px;overflow-y:auto;overflow-x:hidden}

/* GM标题 */
.gm-title{text-align:center;margin-bottom:20px;font-size:22px;display:flex;align-items:center;justify-content:center;gap:8px}
.gm-title-brand{background:linear-gradient(135deg,#f97794,#623aa2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.gm-title-ver{color:#f08080;font-size:15px}

/* === 服务器选择药丸 === */
.radio-inputs{position:relative;display:flex;flex-wrap:wrap;border-radius:1.5rem;background-color:#eeeeeeb9;box-sizing:border-box;box-shadow:0 0 0px 1px rgba(0,0,0,0.06);padding:0.25rem;width:100%;font-size:14px;margin-bottom:20px}
.radio-inputs .radio{flex:1 1 auto;text-align:center}
.radio-inputs .radio input{display:none}
.radio-inputs .radio .name{display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:1.5rem;border:none;padding:.5rem 0;color:rgba(51,65,85,1);transition:all .15s ease-in-out}
.radio-inputs .radio input:checked+.name{background:linear-gradient(135deg,#ff5e7f 30%,#ff967e 100%);color:#fff;font-weight:600}

/* GM左侧表单 */
.gm-field{margin-bottom:16px}
.gm-field-label{font-size:14px;background:linear-gradient(135deg,#f97794,#623aa2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;margin-bottom:6px}
.gm-field-row{display:flex;gap:8px;align-items:center}
.gm-field-row button{padding:9px 18px;border-radius:45px;border:none;font-size:13px;cursor:pointer;font-weight:600;font-family:inherit;white-space:nowrap;background:var(--gradient-btn);color:#fff;box-shadow:0 4px 12px rgba(255,94,127,0.25);transition:all .3s}
.gm-field-row button:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(255,94,127,0.4)}
.btn-execute-main{padding:0.9em 2em !important;font-size:14px !important;letter-spacing:2px !important;background:linear-gradient(135deg,#fb69b3 0%,#ff96d0 100%) !important;color:#fff !important;box-shadow:0 6px 20px rgba(251,105,179,0.35) !important;margin:0 !important;white-space:nowrap}
.btn-execute-main:hover{box-shadow:0 10px 28px rgba(251,105,179,0.5) !important;transform:translateY(-3px) !important}

/* === 滑动条（range） === */
.gm-range{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:45px;outline:none;cursor:pointer;margin-top:4px}
.gm-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--gradient-btn);cursor:pointer;box-shadow:0 2px 8px rgba(255,94,127,0.3);transition:all .2s;border:2px solid #fff}
.gm-range::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 14px rgba(255,94,127,0.45)}
.gm-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--gradient-btn);cursor:pointer;box-shadow:0 2px 8px rgba(255,94,127,0.3);border:2px solid #fff}
.range-val{display:inline-block;background:var(--gradient-btn);color:#fff;font-size:12px;font-weight:700;padding:2px 10px;border-radius:45px;margin-left:6px;min-width:32px;text-align:center}

/* === 药丸按钮组（天赋类别选择） === */
.pill-group{display:flex;flex-wrap:wrap;gap:6px}
.pill-btn{padding:6px 16px;border-radius:45px;border:none;font-size:12px;font-weight:600;cursor:pointer;background:rgba(255,255,255,0.55);color:#666;transition:all .25s ease;box-shadow:0 2px 6px rgba(0,0,0,0.06);white-space:nowrap;user-select:none;font-family:inherit}
.pill-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(255,94,127,0.15);color:var(--primary)}
.pill-btn.active{background:var(--gradient-btn);color:#fff;box-shadow:0 4px 12px rgba(255,94,127,0.3)}

/* === 移动端双栏变单列 === */
@media(max-width:811px){
    .gm-dual-layout{flex-direction:column;overflow:hidden}
    .gm-left{width:100%;flex:0 0 auto;overflow-y:visible}
    .gm-right{width:100%;flex:1 1 0;min-height:0}
}
