@charset "UTF-8";:root,:root[data-theme=light]{color-scheme:light;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--surface-3: #e7eaef;--border: #e1e4ea;--text: #1a1e26;--text-muted: #5c6574;--text-faint: #8a93a3;--accent: #4f6bed;--accent-hover: #3f5be0;--accent-soft: rgba(79, 107, 237, .12);--accent-contrast: #ffffff;--success: #1f9d6b;--success-soft: rgba(31, 157, 107, .12);--warning: #c98a12;--warning-soft: rgba(201, 138, 18, .14);--danger: #d64545;--danger-soft: rgba(214, 69, 69, .12);--mark: rgba(255, 196, 0, .35);--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 14px rgba(16, 24, 40, .06);--shadow-lg: 0 12px 40px rgba(16, 24, 40, .18);--overlay: rgba(15, 18, 25, .45)}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1015;--surface: #161920;--surface-2: #1d2129;--surface-3: #262b35;--border: #2a303b;--text: #e6e8ee;--text-muted: #9ba3b2;--text-faint: #6c7484;--accent: #7d97ff;--accent-hover: #93a9ff;--accent-soft: rgba(125, 151, 255, .16);--accent-contrast: #0e1015;--success: #3ecf8e;--success-soft: rgba(62, 207, 142, .14);--warning: #f2b64c;--warning-soft: rgba(242, 182, 76, .15);--danger: #ff6b6b;--danger-soft: rgba(255, 107, 107, .14);--mark: rgba(255, 196, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .25);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);--overlay: rgba(0, 0, 0, .6)}:root{--radius: 10px;--radius-sm: 7px;--radius-lg: 14px;--font: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--sidebar-w: 232px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4{margin:0;line-height:1.25;font-weight:650}h1{font-size:1.55rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.page{padding:28px 32px 96px;max-width:1280px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-header .subtitle{color:var(--text-muted);margin-top:4px}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.grow{flex:1;min-width:0}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:.85rem}.tiny{font-size:.75rem}.mono{font-family:var(--mono)}.pre{white-space:pre-wrap;word-break:break-word}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden{display:none!important}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow)}.card-title{display:flex;align-items:center;gap:8px;font-weight:650;margin-bottom:12px}.empty{text-align:center;color:var(--text-muted);padding:28px 12px;font-size:.92rem}.divider{height:1px;background:var(--border);margin:14px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.9rem;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{color:var(--danger);border-color:var(--danger-soft);background:transparent}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{height:30px;padding:0 10px;font-size:.83rem}.btn-lg{height:44px;padding:0 20px;font-size:1rem}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.active{color:var(--accent);background:var(--accent-soft)}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.input,.textarea,.select{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);font:inherit;font-size:.93rem;padding:8px 11px;transition:border-color .15s,box-shadow .15s}.input,.select{height:38px}.textarea{resize:vertical;min-height:90px;line-height:1.55}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input-bare{border:none;background:transparent;color:var(--text);font:inherit;width:100%;outline:none}.checkbox{appearance:none;width:19px;height:19px;border:2px solid var(--text-faint);border-radius:6px;cursor:pointer;display:inline-grid;place-content:center;flex-shrink:0;margin:0;transition:background .15s,border-color .15s}.checkbox:after{content:"";width:9px;height:5px;border-left:2px solid var(--accent-contrast);border-bottom:2px solid var(--accent-contrast);transform:rotate(-45deg) translate(1px,-1px);opacity:0}.checkbox:checked{background:var(--accent);border-color:var(--accent)}.checkbox:checked:after{opacity:1}.error-text{color:var(--danger);font-size:.86rem}.alert{border-radius:var(--radius-sm);padding:10px 12px;font-size:.88rem;background:var(--surface-2);border:1px solid var(--border)}.alert-danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.alert-warning{background:var(--warning-soft);border-color:transparent}.alert-info{background:var(--accent-soft);border-color:transparent}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.76rem;font-weight:600;white-space:nowrap}.tag button{border:none;background:none;color:inherit;cursor:pointer;padding:0;font-size:.9rem;line-height:1}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;font-size:.84rem;cursor:pointer}.chip:hover{color:var(--text)}.chip.active{background:var(--accent-soft);color:var(--accent);border-color:transparent;font-weight:600}.badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;font-size:.72rem;font-weight:650;background:var(--surface-3);color:var(--text-muted)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.kbd{font-family:var(--mono);font-size:.72rem;padding:1px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;color:var(--text-muted);background:var(--surface-2)}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow-y:auto;animation:fade-in .15s ease-out}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:620px;animation:pop-in .18s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 0}.modal-body{padding:16px 18px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:0 18px 16px;flex-wrap:wrap}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes pulse{0%{box-shadow:0 0 #d6454580}70%{box-shadow:0 0 0 14px #d6454500}to{box-shadow:0 0 #d6454500}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.list-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer}.list-item:hover{background:var(--surface-2)}.scroll-y{overflow-y:auto;scrollbar-width:thin}.card{min-width:0}@media(max-width:860px){html,body{overflow-x:clip}input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important}.page{padding:18px 14px 110px}h1{font-size:1.3rem}.modal-backdrop{padding:0;align-items:stretch}.modal{max-width:none;border-radius:0;min-height:100%}}
