/* ================= 主题中心 ================= */
/* 只服务于 templates/beautify.html 里的主题中心 SPA。
   顶部导航、分组卡片外壳沿用 style.css 里的 .settings-* 规则，
   这里只负责主题中心独有的东西：图标列、占位标签、二级页面切换动画。 */

.tc-stage{
    flex:1;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    position:relative;
}

.tc-view{
    flex:1;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
}

@keyframes tc-slide-in-forward{
    from{ opacity:0; transform:translateX(24px); }
    to{ opacity:1; transform:translateX(0); }
}

@keyframes tc-slide-in-back{
    from{ opacity:0; transform:translateX(-24px); }
    to{ opacity:1; transform:translateX(0); }
}

.tc-enter-forward{
    animation:tc-slide-in-forward .26s var(--spring) both;
}

.tc-enter-back{
    animation:tc-slide-in-back .26s var(--spring) both;
}

@media (prefers-reduced-motion:reduce){
    .tc-enter-forward,
    .tc-enter-back{
        animation:none;
    }
}

.tc-row-icon{
    flex-shrink:0;
    font-size:19px;
    line-height:1;
    width:26px;
    text-align:center;
}

.tc-row-disabled{
    cursor:default;
}

.tc-row-disabled:hover,
.tc-row-disabled:active{
    background:transparent;
}

.tc-row-tag{
    flex-shrink:0;
    font-size:12px;
    color:var(--text-2);
    background:var(--bg-2);
    padding:4px 10px;
    border-radius:var(--radius-pill);
}

.tc-hint{
    font-size:12.5px;
    line-height:1.7;
    color:var(--text-2);
    padding:0 2px;
}

.tc-empty-card{
    padding:36px 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.tc-empty-text{
    font-size:13.5px;
    color:var(--text-2);
}

.tc-css-card{
    padding:14px;
}

.tc-css-editor{
    width:100%;
    min-height:160px;
    resize:vertical;
    border:none;
    outline:none;
    background:var(--bg-2);
    border-radius:var(--radius-md);
    padding:14px;
    font-family:"SF Mono",Consolas,Menlo,monospace;
    font-size:13px;
    line-height:1.6;
    color:var(--text-1);
}

.tc-css-editor:disabled{
    opacity:.6;
    cursor:not-allowed;
}

.tc-actions{
    display:flex;
    justify-content:flex-end;
    padding:0 2px;
}

.tc-btn{
    border:none;
    border-radius:var(--radius-pill);
    padding:10px 22px;
    font-size:14px;
    font-weight:600;
    background:var(--bg-0);
    color:var(--text-1);
    box-shadow:var(--shadow-soft);
    cursor:pointer;
    transition:transform .2s var(--spring),opacity .2s ease;
}

.tc-btn:active{
    transform:scale(.96);
}

.tc-btn-primary{
    background:var(--accent);
    color:#fff;
}

.tc-btn:disabled{
    opacity:.5;
    cursor:not-allowed;
    transform:none;
}

/* ---------- 滑块行（圆角/阴影/透明度/动画速度……）---------- */
/* 跟普通 .settings-row 不一样，这种行需要两行高度：上面一行放"标签 + 当前值"，
   下面一行放整条滑块，所以单独用 flex-direction:column 覆盖默认的横向排列。 */

.tc-slider-row{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
}

.tc-slider-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.tc-slider-value{
    font-size:13px;
    color:var(--text-2);
    font-variant-numeric:tabular-nums;
}

.tc-slider{
    -webkit-appearance:none;
    appearance:none;
    width:100%;
    height:4px;
    border-radius:var(--radius-pill);
    background:var(--bg-2);
    outline:none;
    cursor:pointer;
}

.tc-slider::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    width:20px;
    height:20px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 2px 6px rgba(0,0,0,.18);
    cursor:pointer;
    transition:transform .2s var(--spring);
}

.tc-slider::-webkit-slider-thumb:active{
    transform:scale(1.15);
}

.tc-slider::-moz-range-thumb{
    width:20px;
    height:20px;
    border:none;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 2px 6px rgba(0,0,0,.18);
    cursor:pointer;
}

.tc-slider::-moz-range-track{
    height:4px;
    border-radius:var(--radius-pill);
    background:var(--bg-2);
}

/* ---------- 分段选择器（动画曲线）---------- */

.tc-segment-row{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
}

.tc-segment{
    display:flex;
    background:var(--bg-2);
    border-radius:var(--radius-pill);
    padding:3px;
    gap:2px;
}

.tc-segment-btn{
    flex:1;
    border:none;
    background:none;
    padding:8px 0;
    font-size:13px;
    font-weight:600;
    color:var(--text-2);
    border-radius:var(--radius-pill);
    cursor:pointer;
    transition:background .2s ease,color .2s ease;
}

.tc-segment-btn.is-active{
    background:var(--bg-0);
    color:var(--text-1);
    box-shadow:var(--shadow-soft);
}

/* ---------- 分组整体变灰（动画总开关关闭时，其它动画选项跟着变弱）---------- */

.tc-row-disabled-group{
    opacity:.45;
    pointer-events:none;
}

/* ---------- 当前主题：启用状态点 ---------- */

.tc-status-row{
    display:flex;
    align-items:center;
    gap:8px;
    padding-top:4px;
    font-size:13px;
    font-weight:600;
    color:var(--text-2);
}

.tc-status-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--text-2);
    flex-shrink:0;
}

.tc-status-dot.is-on{
    background:#34c759;
}

/* ---------- Theme JSON 查看器（复用 my-themes.css 的 .mt-overlay/.mt-modal 外壳）---------- */

.tc-json-modal{
    max-width:420px;
}

.tc-json-pre{
    max-height:50vh;
    overflow:auto;
    background:var(--bg-2);
    border-radius:var(--radius-md);
    padding:14px;
    font-family:"SF Mono",Consolas,Menlo,monospace;
    font-size:12px;
    line-height:1.6;
    color:var(--text-1);
    white-space:pre-wrap;
    word-break:break-all;
}
