:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #fafafb;--border: #e5e7eb;--border-strong: #d4d7dc;--text: #111113;--text2: #62666e;--text3: #9ba0a8;--primary: #3b82f6;--primary-hover: #2563eb;--primary-active: #1d4ed8;--primary-bg: rgba(59, 130, 246, .09);--primary-ring: rgba(59, 130, 246, .18);--danger: #e5484d;--danger-hover: #d93b40;--danger-bg: rgba(229, 72, 77, .08);--success: #18a058;--success-bg: rgba(24, 160, 88, .1);--warning: #b7791f;--warning-bg: rgba(234, 179, 8, .12);--sidebar-bg: #ffffff;--sidebar-border: #e9eaee;--sidebar-text: #62666e;--sidebar-text-active: #111113;--sidebar-hover: #f3f4f6;--sidebar-active-bg: rgba(59, 130, 246, .09);--sidebar-active-text: #2563eb;--radius: 10px;--radius-sm: 7px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", "Fira Code", Menlo, monospace;--shadow-sm: 0 1px 2px rgba(16, 18, 22, .05);--shadow: 0 1px 3px rgba(16, 18, 22, .07), 0 1px 2px rgba(16, 18, 22, .04)}html.dark{--bg: #0b0b0d;--surface: #141416;--surface-2: #1b1b1f;--border: #26262b;--border-strong: #35353c;--text: #f4f4f5;--text2: #9c9fa7;--text3: #5f636b;--primary: #60a5fa;--primary-hover: #3b82f6;--primary-active: #2563eb;--primary-bg: rgba(96, 165, 250, .12);--primary-ring: rgba(96, 165, 250, .22);--danger: #f1646a;--danger-hover: #e5484d;--danger-bg: rgba(241, 100, 106, .12);--success: #3fb97a;--success-bg: rgba(63, 185, 122, .13);--warning: #f0b429;--warning-bg: rgba(240, 180, 41, .13);--sidebar-bg: #101012;--sidebar-border: #222226;--sidebar-text: #8b8e96;--sidebar-text-active: #f4f4f5;--sidebar-hover: #1a1a1e;--sidebar-active-bg: rgba(96, 165, 250, .12);--sidebar-active-text: #60a5fa;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .25)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--primary-ring)}.token-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.token-card{width:380px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:40px;box-shadow:var(--shadow);text-align:center}.token-card h1{font-size:20px;font-weight:650;letter-spacing:-.01em;margin-bottom:8px}.token-card .token-subtitle{font-size:13px;color:var(--text2);margin-bottom:24px}.token-card input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--bg);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s;margin-bottom:16px}.token-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.token-card button{width:100%;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:550;cursor:pointer;transition:background .15s}html.dark .token-card button{color:#0b0b0d}.token-card button:hover:not(:disabled){background:var(--primary-hover)}.token-card button:disabled{opacity:.5;cursor:not-allowed}.app-layout{display:flex;min-height:100vh}.sidebar{width:224px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10}.sidebar-header{padding:20px 18px 14px}.sidebar-logo{display:flex;align-items:center}.sidebar-logo-img{height:20px;width:auto;object-fit:contain}.sidebar-nav{flex:1;padding:4px 10px 12px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;min-height:0}.sidebar-group-label{font-size:11px;font-weight:600;color:var(--text3);letter-spacing:.06em;padding:16px 10px 6px;-webkit-user-select:none;user-select:none}.sidebar-group-label:first-child{padding-top:6px}.sidebar-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--sidebar-text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,color .12s;text-align:left;position:relative}.sidebar-item svg{width:15px;height:15px;flex-shrink:0;opacity:.85}.sidebar-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.sidebar-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.sidebar-item.active svg{opacity:1}.sidebar-footer{padding:10px;border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:4px}.sidebar-footer-row{display:flex;align-items:center;gap:6px}.lang-select{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;font-family:inherit;color:var(--text2);background:var(--bg);cursor:pointer;outline:none}.lang-select:hover{border-color:var(--text3)}.btn-theme-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;color:var(--text2);font-size:14px;transition:all .15s;flex-shrink:0}.btn-theme-toggle:hover{border-color:var(--text3);color:var(--text)}.btn-sidebar-logout{display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--sidebar-text);font-size:12.5px;font-family:inherit;cursor:pointer;width:100%;transition:background .12s,color .12s}.btn-sidebar-logout:hover{background:var(--danger-bg);color:var(--danger)}.content{flex:1;margin-left:224px;min-height:100vh}.content-inner{max-width:1080px;margin:0 auto;padding:36px 40px 64px}.page-header{margin-bottom:22px}.page-title{font-size:20px;font-weight:650;letter-spacing:-.01em}.page-subtitle{font-size:13px;color:var(--text2);margin-top:4px}.card,.form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.card h3,.form-section h3{font-size:14px;font-weight:600;letter-spacing:-.005em;margin-bottom:14px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-header h3{margin-bottom:0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting-row-text{min-width:0}.setting-row-title{font-size:14px;font-weight:550}.setting-row-desc{font-size:12.5px;color:var(--text2);margin-top:2px}.form-section input:not([type=checkbox]):not([type=radio]),.form-section textarea,.form-section select,.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;font-family:inherit;background:var(--surface-2);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}html.dark .form-section input:not([type=checkbox]):not([type=radio]),html.dark .form-section textarea,html.dark .form-section select,html.dark .field input:not([type=checkbox]):not([type=radio]),html.dark .field textarea,html.dark .field select{background:var(--bg)}.form-section input:focus,.form-section textarea:focus,.form-section select:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-section textarea,.field textarea{resize:vertical;min-height:80px}.form-section label,.field-label{display:block;font-size:13px;font-weight:550;margin-bottom:6px;color:var(--text2)}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.field-hint{font-size:12px;color:var(--text3);margin-top:5px;line-height:1.4}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-bottom:16px}@media(max-width:720px){.form-grid{grid-template-columns:1fr}}.form-grid .field{margin-bottom:0}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:4px}input[type=checkbox],input[type=radio]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--text);width:fit-content}.switch{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0;cursor:pointer}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-strong);border-radius:100px;transition:background .18s;pointer-events:none}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;transition:transform .18s}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 3px var(--primary-ring)}.switch input:disabled+.switch-track{opacity:.5;cursor:not-allowed}.btn,.btn-primary,.btn-outline,.btn-danger,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:13px;font-weight:550;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-primary{background:var(--primary);color:#fff}html.dark .btn-primary{color:#0b0b0d}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:active:not(:disabled){background:var(--primary-active)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:var(--surface);color:var(--text2);border-color:var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--text3);color:var(--text)}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:none;color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:none;color:var(--text2)}.btn-ghost:hover:not(:disabled){background:var(--sidebar-hover);color:var(--text)}.btn-sm,.btn.btn-sm,.btn-primary.btn-sm,.btn-outline.btn-sm,.btn-danger.btn-sm,.btn-ghost.btn-sm{height:26px;padding:0 10px;font-size:12px;font-weight:500;border-radius:6px}.btn-sm:not(.btn):not(.btn-primary):not(.btn-outline):not(.btn-danger):not(.btn-ghost){border:1px solid transparent;background:none;cursor:pointer}.input-sm{height:26px;padding:0 8px;font-size:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);outline:none}.input-sm:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.hint{font-size:12.5px;color:var(--text2);margin-bottom:12px;line-height:1.5}.yml-preview{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre;font-family:var(--font-mono)}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;transition:box-shadow .15s;box-shadow:var(--shadow-sm)}.stat-card:hover{box-shadow:var(--shadow)}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.25;font-variant-numeric:tabular-nums}.stat-label{font-size:12.5px;color:var(--text2);margin-top:3px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.form-section .table-wrap,.card .table-wrap{border:1px solid var(--border);box-shadow:none}.data-table{width:100%;border-collapse:collapse;background:var(--surface)}.data-table th,.data-table td{padding:9px 14px;text-align:left;font-size:13px;white-space:nowrap;border-bottom:1px solid var(--border)}.data-table th{font-size:12px;font-weight:550;color:var(--text2);background:var(--surface-2);letter-spacing:.01em}.data-table th.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.th-sortable:hover{color:var(--text1)}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:var(--surface-2)}.data-table tbody tr:last-child td{border-bottom:none}.mono,.font-mono{font-family:var(--font-mono);font-size:12px}.truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-text{text-align:center;color:var(--text3);padding:28px 0!important}.text-dim{color:var(--text2)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:100px;font-size:12px;font-weight:500;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%}.badge-green,.badge-active{background:var(--success-bg);color:var(--success)}.badge-green .badge-dot,.badge-active .badge-dot{background:var(--success)}.badge-yellow{background:var(--warning-bg);color:var(--warning)}.badge-yellow .badge-dot{background:var(--warning)}.badge-blue{background:var(--primary-bg);color:var(--primary)}.badge-blue .badge-dot{background:var(--primary)}.badge-red,.badge-inactive{background:var(--danger-bg);color:var(--danger)}.badge-red .badge-dot,.badge-inactive .badge-dot{background:var(--danger)}.badge-gray{background:#8b8e961f;color:var(--text2)}.badge-gray .badge-dot{background:var(--text3)}.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.filter-bar label{font-size:13px;color:var(--text2);font-weight:550}.filter-bar select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);outline:none;cursor:pointer}.filter-bar select:hover{border-color:var(--text3)}.empty-state{text-align:center;padding:48px 24px;color:var(--text3)}.empty-state-icon{font-size:30px;margin-bottom:12px;opacity:.4}.empty-state p{font-size:13.5px}.loading-state{text-align:center;padding:32px;color:var(--text3);font-size:13.5px}.loading-state:before{content:"";display:inline-block;width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.error,.success{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;padding:9px 14px;border-radius:var(--radius-sm);margin:0 0 14px}.error{color:var(--danger);background:var(--danger-bg)}.success{color:var(--success);background:var(--success-bg)}.forms-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:800px){.forms-row{grid-template-columns:1fr}}.page-count{display:inline-block;margin-left:8px;font-size:12px;color:var(--text3);font-weight:400}.status-badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:500;font-family:var(--font-mono)}.status-error{background:var(--danger-bg);color:var(--danger)}.status-warning{background:var(--warning-bg);color:var(--warning)}.expanded-row{background:var(--primary-bg)!important}.detail-row{background:var(--surface-2)}.detail-row td{padding:16px 20px!important}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-field label{display:block;font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.detail-field code{font-family:var(--font-mono);font-size:12px;background:var(--surface);padding:4px 8px;border-radius:5px;border:1px solid var(--border);display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-field-full{grid-column:1 / -1}.error-raw{font-family:var(--font-mono);font-size:12px;background:var(--surface);padding:12px;border-radius:6px;border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto;line-height:1.5;color:var(--danger)}.truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-container{margin-top:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.chart-bars{display:flex;align-items:flex-end;gap:3px;height:200px}.chart-bar-wrapper{flex:1;height:100%;display:flex;align-items:flex-end;position:relative}.chart-bar{width:100%;background:var(--primary);border-radius:2px 2px 0 0;min-height:2px;transition:opacity .15s;cursor:pointer}.chart-bar-wrapper:hover .chart-bar{opacity:.75}.chart-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text);color:var(--surface);padding:4px 8px;border-radius:5px;font-size:11px;white-space:nowrap;pointer-events:none;margin-bottom:6px}.chart-tooltip-date{opacity:.7}.chart-tooltip-value{font-weight:600}.chart-x-labels{display:flex;justify-content:space-between;margin-top:6px}.chart-x-label{font-size:10px;color:var(--text3)}.skill-scheduler-status{display:flex;gap:14px;margin-bottom:22px;flex-wrap:wrap}.skill-scheduler-status .stat-card{align-items:flex-start}.section-title{font-size:15px;font-weight:600;letter-spacing:-.005em;margin:24px 0 12px}.leaderboard-dims{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.leaderboard-dim-btn{padding:5px 12px;border:1px solid var(--border);border-radius:100px;background:var(--surface);color:var(--text2);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.leaderboard-dim-btn:hover{border-color:var(--text3);color:var(--text)}.leaderboard-dim-btn.active{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.leaderboard-search-bar{display:flex;gap:8px;margin-bottom:16px}.leaderboard-search-input{padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);outline:none;width:240px;transition:border-color .15s,box-shadow .15s}.leaderboard-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.leaderboard-table{min-width:1000px}.leaderboard-active-col{font-weight:600;color:var(--primary)}.leaderboard-highlight-row{background:var(--primary-bg)!important}.leaderboard-name{font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px;padding:12px 0}.leaderboard-page-info{font-size:13px;color:var(--text2);font-weight:500}.new-code-box{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);width:fit-content}.new-code-value{font-family:var(--font-mono);font-size:22px;font-weight:700;letter-spacing:5px;color:var(--text)}
