:root{--font-sans: "Noto Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Noto Serif", Georgia, "Times New Roman", serif;--font-display: "Sora", var(--font-sans);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--sidebar-width: 236px;--sidebar-collapsed: 72px;--content-max: 1400px;color-scheme:light;--bg: #eef0f4;--surface: #ffffff;--surface-2: #f4f5f8;--surface-3: #eceef2;--surface-hover: #f0f1f5;--border: #e3e5ea;--border-strong: #d2d5dc;--text: #2b3044;--text-2: #5c6276;--text-3: #8f95a5;--text-inverse: #ffffff;--primary: #2b3044;--primary-hover: #3b4159;--primary-contrast: #ffffff;--accent: #a35bd0;--accent-strong: #8e4ccf;--accent-soft: #e6bff8;--accent-softer: #f6ecfc;--accent-border: #b98be0;--teal: #138a8c;--teal-soft: #5cc8d2;--orange: #f08a4b;--orange-soft: #fbd9c3;--star: #f5a242;--success: #1f9d55;--success-soft: #e3f5ea;--danger: #d23f3f;--danger-soft: #fbe7e7;--warning: #c98500;--warning-soft: #fdf3dc;--series-1: #8e4ccf;--series-2: #1aa3a0;--series-3: #e5743a;--heat-0: #ffffff;--heat-1: #ecd9f9;--heat-2: #d6b0f1;--heat-3: #b783e4;--heat-4: #8e4ccf;--shadow-sm: 0 1px 2px rgb(23 27 45 / 4%);--shadow-md: 0 6px 24px rgb(23 27 45 / 10%);--shadow-lg: 0 18px 48px rgb(23 27 45 / 18%);--backdrop: rgb(23 27 45 / 38%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #13151d;--surface: #1e2130;--surface-2: #252939;--surface-3: #2d3244;--surface-hover: #2a2e3f;--border: #2f3446;--border-strong: #3d435a;--text: #e8eaf1;--text-2: #b2b7c7;--text-3: #7f859a;--text-inverse: #1e2130;--primary: #dcbcf7;--primary-hover: #e8d1fa;--primary-contrast: #1d1530;--accent: #c792ee;--accent-strong: #b57ae6;--accent-soft: #4b3566;--accent-softer: #2b2440;--accent-border: #6c4d92;--teal: #4cc3c9;--teal-soft: #2f9ea6;--orange: #f59a5e;--orange-soft: #5a3a28;--star: #f5a242;--success: #3fbf74;--success-soft: #1b3a2a;--danger: #ef6b6b;--danger-soft: #3d2228;--warning: #e0a730;--warning-soft: #3a3020;--series-1: #9f6bdf;--series-2: #1d9a95;--series-3: #d1672f;--heat-0: #1e2130;--heat-1: #3a2c52;--heat-2: #5a3f85;--heat-3: #7e57b6;--heat-4: #a77ae6;--shadow-sm: 0 1px 2px rgb(0 0 0 / 25%);--shadow-md: 0 6px 24px rgb(0 0 0 / 35%);--shadow-lg: 0 18px 48px rgb(0 0 0 / 50%);--backdrop: rgb(5 6 10 / 60%)}}:root[data-theme=dark]{color-scheme:dark;--bg: #13151d;--surface: #1e2130;--surface-2: #252939;--surface-3: #2d3244;--surface-hover: #2a2e3f;--border: #2f3446;--border-strong: #3d435a;--text: #e8eaf1;--text-2: #b2b7c7;--text-3: #7f859a;--text-inverse: #1e2130;--primary: #dcbcf7;--primary-hover: #e8d1fa;--primary-contrast: #1d1530;--accent: #c792ee;--accent-strong: #b57ae6;--accent-soft: #4b3566;--accent-softer: #2b2440;--accent-border: #6c4d92;--teal: #4cc3c9;--teal-soft: #2f9ea6;--orange: #f59a5e;--orange-soft: #5a3a28;--star: #f5a242;--success: #3fbf74;--success-soft: #1b3a2a;--danger: #ef6b6b;--danger-soft: #3d2228;--warning: #e0a730;--warning-soft: #3a3020;--series-1: #9f6bdf;--series-2: #1d9a95;--series-3: #d1672f;--heat-0: #1e2130;--heat-1: #3a2c52;--heat-2: #5a3f85;--heat-3: #7e57b6;--heat-4: #a77ae6;--shadow-sm: 0 1px 2px rgb(0 0 0 / 25%);--shadow-md: 0 6px 24px rgb(0 0 0 / 35%);--shadow-lg: 0 18px 48px rgb(0 0 0 / 50%);--backdrop: rgb(5 6 10 / 60%)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}h1,h2,h3,h4,p{margin:0}h1{font-size:30px;font-weight:400}h2{font-size:20px;font-weight:400}h3{font-size:16px;font-weight:500}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.serif{font-family:var(--font-serif)}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.page{max-width:var(--content-max);margin:0 auto;padding:28px 24px 48px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-header h1{font-size:26px}.page-subtitle{color:var(--text-2);margin-top:4px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}@media(max-width:900px){.grid-2{grid-template-columns:minmax(0,1fr)}.page{padding:20px 16px 40px}}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 16px}.card-title{font-size:19px;font-weight:400;margin-bottom:14px}.panel{background:var(--surface-2);border-radius:var(--radius);padding:14px 16px}.btn{--btn-bg: var(--surface-3);--btn-fg: var(--text);--btn-hover: var(--border);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 18px;border:0;border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-fg);font-size:15px;font-weight:500;white-space:nowrap;transition:background-color .15s ease,transform .05s ease,opacity .15s;text-decoration:none!important}.btn:hover:not(:disabled){background:var(--btn-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{--btn-bg: var(--primary);--btn-fg: var(--primary-contrast);--btn-hover: var(--primary-hover)}.btn-ghost{--btn-bg: transparent;--btn-hover: var(--surface-hover)}.btn-outline{--btn-bg: transparent;--btn-hover: var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border-strong)}.btn-danger{--btn-bg: var(--danger);--btn-fg: #fff;--btn-hover: color-mix(in srgb, var(--danger) 85%, black)}.btn-sm{min-height:32px;padding:0 12px;font-size:14px}.btn-lg{min-height:46px;font-size:16px}.btn-block{width:100%}.btn-icon{width:36px;min-height:36px;padding:0;border-radius:var(--radius)}.link-btn{background:none;border:0;padding:0;color:var(--accent);font-weight:400}.link-btn:hover{text-decoration:underline}.chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 13px;border:0;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text);font-size:14px;font-weight:500;white-space:nowrap}.chip:hover{background:var(--border)}.chip.is-active{background:var(--accent-soft)}.chip-count{font-size:12px;color:var(--text-2)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 6px;border-radius:4px;background:var(--surface-3);color:var(--text-2);font-size:12px;font-weight:500}.badge-accent{background:var(--accent-soft);color:var(--text)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.label{font-size:14px;font-weight:500;color:var(--text)}.hint{font-size:12.5px;color:var(--text-3)}.error-text{font-size:13px;color:var(--danger)}.input,.select,.textarea{width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.textarea{min-height:96px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-softer)}.input.is-invalid,.textarea.is-invalid{border-color:var(--danger)}.input-filled{background:var(--surface-3);border-color:transparent}.form-alert{padding:10px 14px;border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:14px;margin-bottom:16px}.notice{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);font-size:13.5px}.notice>app-icon{flex-shrink:0;color:var(--text-3)}.notice>p{flex:1;min-width:0}.notice b{color:var(--text);font-weight:500}.notice.is-warning{background:var(--warning-soft)}.notice.is-warning>app-icon{color:var(--warning)}.notice>app-usage-meter{flex:0 0 190px}@media(max-width:640px){.notice{flex-wrap:wrap}.notice>p{flex-basis:calc(100% - 40px)}.notice>app-usage-meter{flex-basis:100%}}.switch{position:relative;display:inline-flex;flex-shrink:0;width:60px;height:24px;border-radius:999px;border:0;padding:0;background:var(--border-strong);transition:background-color .2s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease}.switch[aria-checked=true]{background:var(--primary)}.switch[aria-checked=true]:after{transform:translate(36px);background:var(--surface)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius);background:var(--surface-3)}.segmented button{border:0;background:transparent;padding:6px 12px;border-radius:6px;font-size:14px;color:var(--text-2)}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.progress{position:relative;display:flex;height:8px;border-radius:999px;background:var(--border);overflow:hidden}.progress>span{display:block;height:100%;transition:width .4s ease}.progress-thin{height:4px}.menu{position:absolute;z-index:30;min-width:200px;padding:6px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font-size:14px;text-align:left}.menu-item:hover:not(:disabled){background:var(--surface-hover)}.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-item.is-danger{color:var(--danger)}.menu-sep{height:1px;margin:6px 4px;background:var(--border)}.row-list>*+*{border-top:1px solid var(--border)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:500;color:var(--text-3);font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;padding:10px 12px;border-bottom:1px solid var(--border)}.table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--accent-strong);animation:spin .8s linear infinite}.loading-block{display:grid;place-items:center;min-height:180px}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-3),var(--surface-hover),var(--surface-3));background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 16px;text-align:center;color:var(--text-2)}.empty-state app-icon{color:var(--text-3)}.kbd{display:inline-block;min-width:22px;padding:1px 6px;border-radius:4px;border:1px solid var(--border-strong);border-bottom-width:2px;background:var(--surface-2);font-size:12px;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fade-up{animation:fade-up .25s ease both}
