@charset "UTF-8";:root{--color-primary-50: #f5f3ff;--color-primary-100: #ede9fe;--color-primary-200: #ddd6fe;--color-primary-300: #c4b5fd;--color-primary-400: #a78bfa;--color-primary-500: #8b5cf6;--color-primary-600: #7c3aed;--color-primary-700: #6d28d9;--color-primary-800: #5b21b6;--color-primary-900: #4c1d95;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-danger-800: #991b1b;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-info-700: #1d4ed8;--color-pink-700: #be185d;--color-danger-500-rgb: 239, 68, 68;--color-danger-700-rgb: 185, 28, 28;--color-warning-500-rgb: 245, 158, 11;--color-success-500-rgb: 16, 185, 129;--color-info-500-rgb: 59, 130, 246;--color-primary-500-rgb: 139, 92, 246;--color-primary-600-rgb: 124, 58, 237;--color-shadow-rgb: 15, 23, 42;--color-announce-primary: #7c3aed;--color-announce-blue: #2563eb;--color-announce-green: #16a34a;--color-announce-orange: #ea580c;--color-announce-purple: #9333ea;--color-brand-valorant-rgb: 255, 70, 85;--color-brand-discord-rgb: 88, 101, 242;--color-chat-bg: #18181b;--color-chat-text: #efeff1;--color-bg: var(--color-gray-50);--color-surface: #ffffff;--color-text-main: var(--color-gray-900);--color-text-muted: var(--color-gray-500);--color-border: var(--color-gray-200);--color-text-success: var(--color-success-700);--color-text-warning: var(--color-warning-800);--color-text-danger: var(--color-danger-700);--color-text-info: var(--color-info-700);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 40px;--spacing-4xl: 56px;--border-radius-xs: 2px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-2xl: 20px;--border-radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 24px rgba(15, 23, 42, .12);--shadow-xl: 0 24px 48px rgba(15, 23, 42, .18);--color-overlay: rgba(15, 23, 42, .55);--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-page-title: 24px;--font-page-title-weight: 700;--font-page-title-tracking: -.02em;--font-block-title: 15px;--font-block-title-weight: 600;--font-body: 14px;--font-field-label: 13px;--font-field-label-weight: 500;--font-help: 12px;--font-mono-id: 13px;--font-family-mono: "SF Mono", Menlo, Consolas, monospace;--font-hero: 28px;--font-metric: 28px;--font-metric-lg: 36px;--btn-height: 40px;--btn-height-live: 44px;--transition-fast: .12s ease-out;--transition-base: .2s ease-out;--sidebar-width: 248px;--navbar-height: 60px;--side-panel-width: 400px;--side-panel-docked-top: calc(var(--navbar-height) + var(--spacing-lg));--z-index-navbar: 90;--z-index-sidebar: 100;--z-index-savebar: 200;--z-index-dialog: 8000;--z-index-toast: 9000;--duration-overlay-in: .22s;--duration-panel-in: .26s;--easing-panel-in: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}:root{color-scheme:light}html,body{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base);color:var(--color-text-main);background-color:var(--color-bg);line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:var(--font-weight-semibold);color:var(--color-text-main)}button{font-family:inherit;cursor:pointer}a{color:var(--color-primary-600);text-decoration:none}a:hover{text-decoration:underline}textarea,input,select{font-family:inherit;font-size:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary-600)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;white-space:nowrap;border:0;clip-path:inset(50%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;border:1px solid transparent;border-radius:var(--border-radius-md);background-color:var(--color-surface);color:var(--color-text-main);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background-color:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-700);border-color:var(--color-primary-700)}.btn--ghost{background-color:transparent;border-color:var(--color-border)}.btn--ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn--danger{background-color:var(--color-danger-600);color:#fff;border-color:var(--color-danger-600)}.btn--danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.btn--chip{padding:2px var(--spacing-md);border-radius:var(--border-radius-pill);background-color:var(--color-primary-100);color:var(--color-primary-700);font-size:var(--font-size-xs);font-family:SF Mono,Menlo,Consolas,monospace}.btn--chip:hover:not(:disabled){background-color:var(--color-primary-200)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.card__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--spacing-lg)}.card__header h2{font-size:var(--font-size-xl)}.label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-surface);color:var(--color-text-main);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.input::placeholder{color:var(--color-text-muted)}.input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.input:disabled{background-color:var(--color-gray-50);color:var(--color-text-muted);cursor:not-allowed}.ph{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-2xl)}.ph__eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.ph__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-xl)}.ph__heading{min-width:0}.ph__title{font-size:var(--font-page-title);font-weight:var(--font-page-title-weight);letter-spacing:var(--font-page-title-tracking);line-height:1.2;margin:0}.ph__subtitle{color:var(--color-text-muted);font-size:var(--font-size-base);margin:var(--spacing-xs) 0 0;max-width:700px}.ph__actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.seg{display:inline-flex;gap:2px;padding:3px;background-color:var(--color-gray-100);border-radius:var(--border-radius-md)}.seg__item{border:none;background:transparent;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.seg__item--active{background-color:var(--color-surface);color:var(--color-text-main);box-shadow:var(--shadow-sm)}.seg__count{font-variant-numeric:tabular-nums;opacity:.75}.var-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.var-chip{font-family:SF Mono,Menlo,Consolas,monospace;font-size:var(--font-size-xs);background-color:var(--color-primary-50);color:var(--color-primary-700);padding:3px var(--spacing-sm);border-radius:var(--border-radius-pill);border:1px solid var(--color-primary-100);cursor:pointer;transition:background-color var(--transition-fast)}.var-chip:hover{background-color:var(--color-primary-100)}.preview-chat{background-color:var(--color-chat-bg);border-radius:var(--border-radius-lg);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-chat-text);line-height:1.5;display:flex;flex-direction:column;gap:var(--spacing-xs)}.preview-chat__msg{display:flex;gap:var(--spacing-xs);align-items:flex-start;flex-wrap:wrap}.preview-chat__badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border-radius:var(--border-radius-xs);font-size:9px;font-weight:var(--font-weight-bold);color:#fff}.preview-chat__badge--bot{background-color:var(--color-primary-500)}.preview-chat__user{font-weight:var(--font-weight-bold)}.preview-chat__user--bot{color:#a970ff}.preview-chat__text{color:var(--color-chat-text)}.preview-chat__announcement{border-left:3px solid var(--color-primary-500);padding:var(--spacing-sm) var(--spacing-md);background-color:rgba(var(--color-primary-500-rgb),.12);border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}.preview-chat__caption{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.savebar{position:fixed;left:var(--sidebar-width);right:0;bottom:var(--spacing-lg);z-index:var(--z-index-savebar);width:min(var(--page-content-width, 1200px),100% - var(--sidebar-width) - 2 * var(--spacing-xl));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-text-main);color:var(--color-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg)}.savebar__msg{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.savebar__actions{display:flex;gap:var(--spacing-sm)}.savebar__btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-md);border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--color-bg);cursor:pointer;transition:background-color var(--transition-fast)}.savebar__btn:hover:not(:disabled){background-color:#ffffff1a}.savebar__btn:disabled{opacity:.5;cursor:not-allowed}.savebar__btn--primary{background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff}.savebar__btn--primary:hover:not(:disabled){background-color:var(--color-primary-700)}.app-shell{min-height:100vh;display:flex;background-color:var(--color-bg)}.app-shell__main{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:var(--sidebar-width)}.app-shell__main--full{margin-left:0}.app-shell__content{flex:1;padding:var(--spacing-2xl) var(--spacing-xl) calc(var(--spacing-2xl) + 64px)}.app-shell__content>*{max-width:var(--page-content-width, 1200px);margin-inline:auto}.app-shell__content>*:has(.side-panel--docked){max-width:calc(var(--page-content-width, 1200px) + var(--side-panel-width) + var(--spacing-xl))}.edit-layout{display:flex;align-items:flex-start;gap:var(--spacing-xl);max-width:var(--page-content-width, 1200px)}.edit-layout:has(.side-panel--docked){max-width:calc(var(--page-content-width, 1200px) + var(--side-panel-width) + var(--spacing-xl))}.edit-layout__main{flex:1;min-width:0}.modal-backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-backdrop-in var(--duration-overlay-in) ease-out}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.modal-panel,.modal-panel--confirm,.modal-panel--wide{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);max-width:95vw;max-height:90vh;overflow:hidden;outline:none;animation:modal-panel-in var(--duration-panel-in) var(--easing-panel-in)}.modal-panel cdk-dialog-container,.modal-panel--confirm cdk-dialog-container,.modal-panel--wide cdk-dialog-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal-panel cdk-dialog-container>*,.modal-panel--confirm cdk-dialog-container>*,.modal-panel--wide cdk-dialog-container>*{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal-panel{width:520px}.modal-panel--confirm{width:440px}.modal-panel--wide{width:1100px}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-title{display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--spacing-xl) var(--spacing-2xl);color:var(--color-text-main);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-body{padding:var(--spacing-xl) var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto;flex:1;min-height:0}.modal-text{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5}.modal-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-surface);color:var(--color-text-main)}.modal-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.modal-input-hint{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.modal-input-error{margin:0;font-size:var(--font-size-xs);color:var(--color-text-danger)}.modal-footer{padding:var(--spacing-lg) var(--spacing-2xl);background:var(--color-gray-50);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-sm);flex-shrink:0}
