:root{--color-bg:#06060b;--color-surface:#12121e;--color-surface-raised:#1a1a2e;--color-border:#232336;--color-border-subtle:#1c1c30;--color-text-primary:#eef0f4;--color-text-secondary:#8b8fa3;--color-accent:#f90;--color-accent-hover:#ffad33;--color-accent-glow:#ff99001f;--color-accent-glow-strong:#ff990040;--color-error:#f87171;--color-success:#34d399;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 8px 32px #00000073;--shadow-glow:0 0 20px #ff990014;--shadow-card-hover:0 8px 30px #ff99001a, 0 0 0 1px #f903;--glass-bg:#12121ebf;--glass-blur:blur(16px);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--transition-fast:.15s ease;--transition-med:.25s cubic-bezier(.4, 0, .2, 1);--transition-view:.35s cubic-bezier(.4, 0, .2, 1);font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}[data-theme=light]{--color-bg:#f4f5f7;--color-surface:#fff;--color-surface-raised:#f9fafb;--color-border:#d4d7de;--color-border-subtle:#e5e7eb;--color-text-primary:#0f1117;--color-text-secondary:#5f6577;--color-accent:#d97706;--color-accent-hover:#b45309;--color-accent-glow:#d977061a;--color-accent-glow-strong:#d9770633;--color-error:#dc2626;--color-success:#16a34a;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-glow:0 0 20px #d977060f;--shadow-card-hover:0 8px 30px #d9770614, 0 0 0 1px #d9770626;--glass-bg:#fffc;--glass-blur:blur(16px)}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);margin:0}p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{background:var(--glass-bg);height:52px;-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--color-border-subtle);z-index:50;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 8px #00000026}.app-header-brand{color:var(--color-accent);letter-spacing:-.01em;font-size:.9375rem;font-weight:700;text-decoration:none}.app-header-right{align-items:center;gap:6px;display:flex}.app-header-user{color:var(--color-text-secondary);margin-right:8px;font-size:.8125rem}.app-header-logout{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:.8125rem;font-family:var(--font-sans);transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:5px 12px}.app-header-logout:hover{color:var(--color-text-primary);background-color:var(--color-accent-glow);border-color:var(--color-border)}.app-header-logout:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-header-settings-link{color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:color var(--transition-fast), background-color var(--transition-fast);padding:5px 10px;font-size:.8125rem;text-decoration:none}.app-header-settings-link:hover{color:var(--color-text-primary);background-color:var(--color-accent-glow)}.app-header-settings-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.app-header-theme-btn{border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);background:0 0;border:1px solid #0000;padding:4px 8px;font-size:.9375rem;line-height:1}.app-header-theme-btn:hover{border-color:var(--color-border);background-color:var(--color-accent-glow);transform:rotate(15deg)}.app-header-theme-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width>=1920px){.app-header{padding:0 48px}}@media (width>=2560px){.app-header{padding:0 64px}.app-header-brand{font-size:1rem}}.auth-page{background:radial-gradient(ellipse at 30% 20%, var(--color-accent-glow) 0%, transparent 50%), radial-gradient(ellipse at 70% 80%, #8b5cf60f 0%, transparent 50%), var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg), var(--shadow-glow);padding:44px 40px;animation:.5s cubic-bezier(.4,0,.2,1) auth-card-enter}@keyframes auth-card-enter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-card h1{color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:6px;font-size:1.5rem;font-weight:700}.auth-card .auth-subtitle{color:var(--color-text-secondary);margin-bottom:28px;font-size:.875rem}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.auth-field input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:11px 14px}.auth-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow);outline:none}.auth-field input::placeholder{color:var(--color-text-secondary);opacity:.5}.auth-submit{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);color:#000;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);font-size:.9375rem;font-weight:600;font-family:var(--font-sans);border:none;margin-top:8px;padding:12px;box-shadow:0 2px 8px #ff990040}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #ff990059}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-error{border-radius:var(--radius-md);color:var(--color-error);background-color:#f8717114;border:1px solid #f871714d;padding:10px 14px;font-size:.8125rem}.auth-success{border-radius:var(--radius-md);color:var(--color-success);background-color:#34d39914;border:1px solid #34d3994d;padding:10px 14px;font-size:.8125rem}.auth-footer{text-align:center;color:var(--color-text-secondary);margin-top:24px;font-size:.8125rem}.auth-footer a{color:var(--color-accent);font-weight:500}.auth-footer a:hover{color:var(--color-accent-hover)}.auth-resend{text-align:center;color:var(--color-text-secondary);margin-top:16px;font-size:.875rem}.auth-resend-button{color:var(--color-accent);cursor:pointer;font-size:.875rem;font-weight:500;font-family:var(--font-sans);transition:color var(--transition-fast);background:0 0;border:none;padding:0;text-decoration:underline}.auth-resend-button:hover:not(:disabled){color:var(--color-accent-hover)}.auth-resend-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.auth-resend-button:disabled{opacity:.6;cursor:not-allowed}.loading-indicator{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.loading-indicator--inline{flex-direction:row;gap:10px;padding:12px 0}.loading-indicator--fullpage{min-height:60vh}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite loading-spin}.loading-indicator--inline .loading-spinner{border-width:2px;width:20px;height:20px}.loading-indicator--small .loading-spinner{border-width:2px;width:24px;height:24px}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-label{color:var(--color-text-secondary);font-size:.9375rem}.loading-indicator--inline .loading-label{font-size:.875rem}.loading-indicator--small .loading-label{font-size:.8125rem}.onboarding-help-link{color:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.875rem;font-weight:500;display:inline-flex}.onboarding-help-link:hover{background-color:#ff99001a}.onboarding-help-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.onboarding-help-icon{width:16px;height:16px}.dashboard{flex-direction:column;gap:48px;padding:8px 0;display:flex}.dashboard-heading{color:var(--color-text-primary);letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.dashboard-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.input-modes-section{flex-direction:column;gap:20px;display:flex}.input-modes-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.input-modes-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.input-modes-grid{grid-template-columns:repeat(4,1fr)}}.input-mode-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);box-shadow:var(--shadow-sm);transition:border-color var(--transition-med), transform var(--transition-med), box-shadow var(--transition-med);flex-direction:column;align-items:center;gap:14px;padding:32px 20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.input-mode-card:before{content:"";background:radial-gradient(circle at 50% 0%, var(--color-accent-glow) 0%, transparent 70%);opacity:0;transition:opacity var(--transition-med);pointer-events:none;position:absolute;inset:0}.input-mode-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.input-mode-card:hover:before{opacity:1}.input-mode-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-lg)}.input-mode-icon{width:40px;height:40px;color:var(--color-accent);z-index:1;position:relative}.input-mode-label{z-index:1;font-size:1.125rem;font-weight:600;position:relative}.input-mode-description{color:var(--color-text-secondary);text-align:center;z-index:1;font-size:.8125rem;line-height:1.5;position:relative}.diagrams-section{flex-direction:column;gap:20px;display:flex}.diagrams-heading{color:var(--color-text-primary);font-size:1.25rem;font-weight:600}.diagrams-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.diagram-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);box-shadow:var(--shadow-sm);transition:border-color var(--transition-med), transform var(--transition-med), box-shadow var(--transition-med);flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.diagram-card-delete{cursor:pointer;opacity:0;z-index:2;background:#0009;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:opacity .2s,background-color .2s;display:flex;position:absolute;top:8px;right:8px}.diagram-card:hover .diagram-card-delete{opacity:1}.diagram-card-delete:hover{background:#ef4444cc}.diagram-card-delete-icon{color:#fff;width:14px;height:14px}.diagram-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);color:var(--color-text-primary);transform:translateY(-3px)}.diagram-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-lg)}.diagram-thumbnail{object-fit:cover;background-color:var(--color-bg);width:100%;height:160px}.diagram-thumbnail-placeholder{background-color:var(--color-bg);width:100%;height:160px;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.diagram-card-body{flex-direction:column;gap:8px;padding:16px;display:flex}.diagram-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.diagram-card-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.diagram-card-date{color:var(--color-text-secondary);font-size:.75rem}.diagram-card-badge{background-color:var(--color-accent-glow);color:var(--color-accent);text-transform:capitalize;letter-spacing:.02em;border-radius:9999px;padding:2px 10px;font-size:.6875rem;font-weight:600}.dashboard-loading{color:var(--color-text-secondary);justify-content:center;align-items:center;padding:48px 0;font-size:.9375rem;display:flex}.dashboard-empty{text-align:center;color:var(--color-text-secondary);background-color:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:56px 24px;font-size:.9375rem}.dashboard-error{text-align:center;color:var(--color-error);border-radius:var(--radius-lg);background-color:#f871710f;border:1px solid #f8717133;padding:24px;font-size:.9375rem}@media (width>=1920px){.input-modes-grid{grid-template-columns:repeat(4,1fr);gap:24px}.input-mode-card{padding:36px 24px}.diagrams-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}}@media (width>=2560px){.dashboard{gap:64px}.dashboard-heading{font-size:2rem}.input-mode-card{gap:16px;padding:44px 32px}.input-mode-icon{width:48px;height:48px}.diagrams-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}.input-mode-card--drawio{border-color:var(--color-border)}.input-mode-card--drawio .input-mode-icon{color:#f08705}.input-mode-card--drawio:hover{border-color:#f08705}.input-mode-card--drawio:before{background:radial-gradient(circle at 50% 0,#f0870514 0%,#0000 70%)}.diagram-card--drawio{border-color:var(--color-border)}.diagram-card--drawio:hover{border-color:#f08705}.diagram-card-badge--drawio{color:#f08705;background-color:#f087051a;align-items:center;gap:4px;display:inline-flex}.diagram-card-badge-icon{flex-shrink:0;width:12px;height:12px}.diagram-viewer{flex-direction:column;gap:0;height:calc(100vh - 120px);display:flex}.dv-header{border-bottom:1px solid var(--color-border-subtle);z-index:10;background-color:var(--color-bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex;position:sticky;top:0}.dv-header-left{align-items:center;gap:12px;min-width:0;display:flex}.dv-back-link{color:var(--color-text-secondary);white-space:nowrap;border-radius:var(--radius-sm);transition:color var(--transition-fast), background-color var(--transition-fast);align-items:center;gap:4px;padding:4px 8px;font-size:.8125rem;text-decoration:none;display:flex}.dv-back-link:hover{color:var(--color-accent);background-color:var(--color-accent-glow)}.dv-back-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.dv-back-icon{width:16px;height:16px}.dv-name-display{color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:border-color var(--transition-fast), background-color var(--transition-fast);text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;max-width:400px;padding:4px 8px;font-size:1.125rem;font-weight:600;overflow:hidden}.dv-name-display:hover{border-color:var(--color-border);background-color:var(--color-accent-glow)}.dv-name-input{color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-sm);max-width:400px;box-shadow:0 0 0 2px var(--color-accent-glow);outline:none;padding:4px 8px;font-family:inherit;font-size:1.125rem;font-weight:600}.dv-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.dv-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.8125rem;font-weight:500;display:inline-flex}.dv-btn:hover{border-color:var(--color-accent);background-color:var(--color-accent-glow)}.dv-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dv-btn:disabled{opacity:.45;cursor:not-allowed}.dv-btn--primary{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);color:#000;border-color:#0000;box-shadow:0 1px 6px #ff990040}.dv-btn--primary:hover{box-shadow:0 2px 12px #ff990059}.dv-btn--studio{color:#fff;background:linear-gradient(135deg,#3b48cc 0%,#5c6bc0 100%);border-color:#0000}.dv-btn--studio:hover{box-shadow:0 2px 12px #3b48cc59}.dv-btn--studio:disabled{opacity:.5;cursor:not-allowed}.dv-btn-icon{width:15px;height:15px}.dv-save-confirm{color:var(--color-success);padding:0 8px;font-size:.8125rem;animation:2s forwards dv-fade-out}@keyframes dv-fade-out{0%{opacity:1}70%{opacity:1}to{opacity:0}}.dv-download-wrapper{position:relative}.dv-download-menu{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:20;min-width:140px;box-shadow:var(--shadow-lg);padding:4px 0;animation:.15s dv-menu-enter;position:absolute;top:calc(100% + 4px);right:0}@keyframes dv-menu-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dv-download-option{width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;transition:background-color var(--transition-fast);background:0 0;border:none;padding:8px 16px;font-family:inherit;font-size:.8125rem;display:block}.dv-download-option:hover{background-color:var(--color-accent-glow)}.dv-download-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.dv-content{flex:1;min-height:0;display:flex;overflow:hidden}.dv-canvas-area{background-color:var(--color-bg);cursor:grab;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.dv-canvas-area--panning{cursor:grabbing}.dv-canvas-inner{transform-origin:50%;will-change:transform;justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex}.dv-diagram-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;max-width:100%;max-height:calc(100vh - 240px);display:block}.dv-zoom-controls{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:5;box-shadow:var(--shadow-md);align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:16px;right:16px}.dv-zoom-btn{width:30px;height:30px;color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:1rem;display:flex}.dv-zoom-btn:hover{background-color:var(--color-accent-glow)}.dv-zoom-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.dv-zoom-level{color:var(--color-text-secondary);text-align:center;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;min-width:42px;font-size:.6875rem}.dv-sidebar{border-left:1px solid var(--color-border-subtle);background-color:var(--color-surface);width:320px;transition:width var(--transition-view), opacity var(--transition-view);flex-shrink:0;overflow-y:auto}.dv-sidebar--collapsed{opacity:0;border-left:none;width:0;overflow:hidden}.dv-sidebar-toggle{z-index:6;border:1px solid var(--color-border);background:var(--glass-bg);width:28px;height:28px;-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;font-family:inherit;font-size:.875rem;display:flex;position:absolute;top:12px;right:12px}.dv-sidebar-toggle:hover{color:var(--color-accent);border-color:var(--color-accent)}.dv-sidebar-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dv-sidebar-content{flex-direction:column;gap:20px;padding:20px 16px;display:flex}.dv-sidebar-heading{color:var(--color-text-primary);font-size:.9375rem;font-weight:600}.dv-pillar{flex-direction:column;gap:8px;display:flex}.dv-pillar-header{align-items:center;gap:8px;display:flex}.dv-pillar-score{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex}.dv-pillar-score--pass{color:var(--color-success)}.dv-pillar-score--needs_improvement{color:#f59e0b}.dv-pillar-score--not_evaluated{color:var(--color-text-secondary)}.dv-pillar-name{color:var(--color-text-primary);font-size:.8125rem;font-weight:500}.dv-pillar-findings{flex-direction:column;gap:4px;margin:0;padding-left:28px;list-style:outside;display:flex}.dv-pillar-finding{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.4}.dv-review-section{flex-direction:column;gap:8px;display:flex}.dv-review-section-title{color:var(--color-text-primary);font-size:.8125rem;font-weight:600}.dv-review-list{flex-direction:column;gap:4px;margin:0;padding-left:20px;list-style:outside;display:flex}.dv-review-list-item{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.4}.dv-loading{height:100%;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:.9375rem;display:flex}.dv-error{height:100%;color:var(--color-error);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;font-size:.9375rem;display:flex}.dv-not-found{height:100%;color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;font-size:.9375rem;display:flex}@media (width<=1023px){.dv-content{flex-direction:column}.dv-sidebar{border-left:none;border-top:1px solid var(--color-border);width:100%;max-height:300px}.dv-sidebar--collapsed{width:100%;max-height:0}.dv-name-display{max-width:200px}}@media (width>=1920px){.dv-sidebar{width:380px}.dv-name-display{max-width:500px}}@media (width>=2560px){.dv-sidebar{width:440px}.dv-name-display{max-width:600px;font-size:1.25rem}.dv-sidebar-heading{font-size:1.0625rem}}.dv-feedback{flex-shrink:0;align-items:center;gap:8px;padding:8px 0;display:flex}.dv-feedback-label{color:var(--color-text-secondary);margin-right:4px;font-size:.8125rem}.dv-feedback-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);cursor:pointer;width:36px;height:36px;transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;font-family:inherit;font-size:1.125rem;display:flex}.dv-feedback-btn:hover{border-color:var(--color-accent);box-shadow:0 0 8px var(--color-accent-glow);transform:scale(1.1)}.dv-feedback-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dv-feedback-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.dv-feedback-btn--active{border-color:var(--color-accent);background-color:var(--color-accent-glow)}.dv-generation-status{background-color:var(--color-accent-glow);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;padding:10px 16px}.dv-generation-status-inner{color:var(--color-text-primary);align-items:center;gap:10px;font-size:.8125rem;display:flex}.dv-status-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite dv-spin;display:inline-block}@keyframes dv-spin{to{transform:rotate(360deg)}}.dv-review-progress{flex-wrap:wrap;gap:6px;margin-left:8px;display:flex}.dv-review-pill{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-secondary);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;display:inline-flex}.dv-review-pill--complete{border-color:var(--color-success);color:var(--color-success)}.dv-review-pill--evaluating{border-color:var(--color-accent);color:var(--color-accent)}.dv-generation-error{color:var(--color-error);border-bottom:1px solid var(--color-border-subtle);background-color:#f871710f;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;font-size:.8125rem;display:flex}.dv-generation-error-icon{flex-shrink:0;width:16px;height:16px}.analytics-dashboard{flex-direction:column;gap:32px;padding:8px 0;display:flex}.analytics-heading{color:var(--color-text-primary);font-size:1.75rem;font-weight:600}.analytics-access-denied{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.analytics-access-denied h1{color:var(--color-error);font-size:1.5rem}.analytics-access-denied p{color:var(--color-text-secondary);font-size:1rem}.analytics-filters{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.analytics-filter-group{flex-direction:column;gap:4px;display:flex}.analytics-filter-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.analytics-filter-input,.analytics-filter-select{color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--transition-fast);border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:.875rem}.analytics-filter-input:focus,.analytics-filter-select:focus{border-color:var(--color-accent)}.analytics-filter-input:focus-visible,.analytics-filter-select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.analytics-section{flex-direction:column;gap:16px;display:flex}.analytics-section-title{color:var(--color-text-primary);font-size:1.125rem;font-weight:600}.analytics-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.analytics-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex}.analytics-card-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.analytics-card-value{color:var(--color-text-primary);font-size:1.75rem;font-weight:700}.analytics-card-unit{color:var(--color-text-secondary);font-size:.75rem;font-weight:400}.analytics-ratio-gauge{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex}.analytics-ratio-bar-track{background-color:var(--color-border);border-radius:6px;width:100%;height:12px;overflow:hidden}.analytics-ratio-bar-fill{background-color:var(--color-accent);border-radius:6px;height:100%;transition:width .3s}.analytics-ratio-label{color:var(--color-text-secondary);justify-content:space-between;font-size:.75rem;display:flex}.analytics-period-selector{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;align-self:flex-start;gap:4px;padding:2px;display:flex}.analytics-period-btn{color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:.8125rem;font-weight:500}.analytics-period-btn:hover{color:var(--color-text-primary)}.analytics-period-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.analytics-period-btn--active{background-color:var(--color-accent);color:#000}.analytics-loading{color:var(--color-text-secondary);justify-content:center;align-items:center;padding:48px 0;font-size:.9375rem;display:flex}.analytics-error{text-align:center;color:var(--color-error);border:1px solid var(--color-error);background-color:#ef44441a;border-radius:12px;padding:24px;font-size:.9375rem}@media (width<=1023px){.analytics-cards{grid-template-columns:repeat(2,1fr)}.analytics-filters{flex-direction:column;align-items:stretch}}@media (width>=1920px){.analytics-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}}@media (width>=2560px){.analytics-heading{font-size:2rem}.analytics-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.analytics-card{padding:24px}.analytics-card-value{font-size:2rem}}.analytics-billing-table-wrapper{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;overflow-x:auto}.analytics-billing-table{border-collapse:collapse;width:100%;font-size:.875rem}.analytics-billing-table th,.analytics-billing-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:12px 16px}.analytics-billing-table th{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.analytics-billing-table td{color:var(--color-text-primary)}.analytics-billing-table tbody tr:last-child td{border-bottom:none}.analytics-billing-table tbody tr:hover{background-color:#ffffff08}.analytics-billing-user-id{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:monospace;font-size:.8125rem;overflow:hidden}.account-settings{max-width:600px;margin:0 auto;padding:32px 24px}.account-settings-heading{color:var(--color-text-primary);margin-bottom:32px;font-size:1.5rem}.account-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-bottom:24px;padding:24px}.account-section h2{color:var(--color-text-primary);margin-bottom:16px;font-size:1.125rem}.account-field-readonly{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.account-field-readonly label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.account-field-readonly span{color:var(--color-text-primary);font-size:1rem}.account-form{flex-direction:column;gap:16px;display:flex}.account-form .auth-field{flex-direction:column;gap:6px;display:flex}.account-form .auth-field label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.account-form .auth-field input{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:1rem;font-family:var(--font-sans);transition:border-color var(--transition-fast);border-radius:6px;padding:10px 12px}.account-form .auth-field input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #f903}.account-save-btn{background-color:var(--color-accent);color:#000;cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-sans);transition:background-color var(--transition-fast);border:none;border-radius:6px;align-self:flex-start;padding:10px 20px}.account-save-btn:hover:not(:disabled){background-color:var(--color-accent-hover)}.account-save-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.account-save-btn:disabled{opacity:.6;cursor:not-allowed}.account-danger-section{border-color:var(--color-error)}.account-danger-section h2{color:var(--color-error)}.account-danger-text{color:var(--color-text-secondary);margin-bottom:16px;font-size:.875rem}.account-delete-btn{color:var(--color-error);border:1px solid var(--color-error);cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-sans);transition:background-color var(--transition-fast), color var(--transition-fast);background-color:#0000;border-radius:6px;padding:10px 20px}.account-delete-btn:hover:not(:disabled){background-color:var(--color-error);color:#fff}.account-delete-btn:focus-visible{outline:2px solid var(--color-error);outline-offset:2px}.account-delete-btn:disabled{opacity:.6;cursor:not-allowed}.account-confirm-dialog{border:1px solid var(--color-error);background-color:#ef444414;border-radius:8px;margin-top:12px;padding:16px}.account-confirm-dialog p{color:var(--color-text-primary);margin-bottom:12px;font-size:.875rem}.account-confirm-actions{gap:12px;display:flex}.account-confirm-delete{background-color:var(--color-error);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-sans);border:none;border-radius:6px;padding:8px 16px}.account-confirm-delete:disabled{opacity:.6;cursor:not-allowed}.account-confirm-cancel{border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;font-size:.875rem;font-family:var(--font-sans);background:0 0;border-radius:6px;padding:8px 16px}.apikey-description,.apikey-loading,.apikey-empty{color:var(--color-text-secondary);margin-bottom:16px;font-size:.875rem}.apikey-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.apikey-item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.apikey-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.apikey-item-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.apikey-item-meta{color:var(--color-text-secondary);font-size:.75rem}.apikey-revoke-btn{border:1px solid var(--color-error);color:var(--color-error);cursor:pointer;font-size:.8125rem;font-weight:500;font-family:var(--font-sans);white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:6px;padding:6px 12px}.apikey-revoke-btn:hover{background-color:var(--color-error);color:#fff}.apikey-revoke-btn:focus-visible{outline:2px solid var(--color-error);outline-offset:2px}.apikey-revoke-confirm{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:.8125rem;display:flex}.apikey-revoke-yes{background-color:var(--color-error);color:#fff;cursor:pointer;font-size:.8125rem;font-family:var(--font-sans);border:none;border-radius:4px;padding:4px 10px}.apikey-revoke-yes:disabled{opacity:.6;cursor:not-allowed}.apikey-revoke-no{border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;font-size:.8125rem;font-family:var(--font-sans);background:0 0;border-radius:4px;padding:4px 10px}.apikey-revoke-no:disabled{opacity:.6;cursor:not-allowed}.apikey-new-banner{border:1px solid var(--color-accent);background-color:#ff990014;border-radius:8px;margin-bottom:16px;padding:16px}.apikey-new-warning{color:var(--color-accent);margin-bottom:8px;font-size:.875rem;font-weight:600}.apikey-new-value{align-items:center;gap:8px;margin-bottom:12px;display:flex}.apikey-new-value code{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:.8125rem;font-family:var(--font-mono,monospace);word-break:break-all;border-radius:4px;flex:1;padding:8px 10px}.apikey-copy-btn{background-color:var(--color-accent);color:#000;cursor:pointer;font-size:.8125rem;font-weight:600;font-family:var(--font-sans);white-space:nowrap;transition:background-color var(--transition-fast);border:none;border-radius:4px;padding:6px 12px}.apikey-copy-btn:hover{background-color:var(--color-accent-hover)}.apikey-copy-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.apikey-mcp-config{margin-bottom:8px}.apikey-mcp-config summary{color:var(--color-text-secondary);cursor:pointer;margin-bottom:8px;font-size:.8125rem}.apikey-config-block{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:.75rem;font-family:var(--font-mono,monospace);white-space:pre;border-radius:4px;margin-bottom:8px;padding:12px;overflow-x:auto}.apikey-dismiss-btn{color:var(--color-text-secondary);cursor:pointer;font-size:.8125rem;font-family:var(--font-sans);background:0 0;border:none;padding:0;text-decoration:underline}.apikey-dismiss-btn:hover{color:var(--color-text-primary)}.apikey-create-form{flex-direction:column;gap:12px;display:flex}.apikey-create-actions{gap:8px;display:flex}.apikey-cancel-btn{border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;font-size:.875rem;font-family:var(--font-sans);background:0 0;border-radius:6px;padding:10px 20px}.apikey-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.apikey-create-trigger{margin-top:4px}.docs-page{max-width:1200px;margin:0 auto}.docs-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.docs-back-link{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.875rem;text-decoration:none}.docs-back-link:hover{color:var(--color-accent)}.docs-back-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.docs-title{color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:600}.docs-api-link-row{flex-wrap:wrap;gap:.75rem;margin-bottom:16px;display:flex}.docs-api-link{color:var(--color-accent);transition:background-color var(--transition-fast), color var(--transition-fast);border:1px solid #ff99004d;border-radius:6px;padding:6px 12px;font-size:.875rem;text-decoration:none;display:inline-block}.docs-api-link:hover{background-color:#ff990014}.docs-api-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.docs-layout{gap:32px;min-height:60vh;display:flex}.docs-sidebar{flex-shrink:0;width:220px}.docs-nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.docs-nav-item{text-align:left;width:100%;font-size:.875rem;font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:8px 12px;display:block}.docs-nav-item:hover{color:var(--color-text-primary);background-color:#ffffff0a}.docs-nav-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.docs-nav-item--active{color:var(--color-accent);background-color:#ff99001a;font-weight:500}.docs-content{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex:1;min-width:0;padding:32px}.docs-content-title{color:var(--color-text-primary);margin:0 0 20px;font-size:1.25rem;font-weight:600}.docs-content p{color:var(--color-text-secondary);margin:0 0 12px;font-size:.9375rem;line-height:1.6}.docs-subheading{color:var(--color-text-primary);margin:24px 0 8px;font-size:1rem;font-weight:600}.docs-content ul,.docs-content ol{color:var(--color-text-secondary);margin:0 0 16px;padding-left:24px;font-size:.9375rem;line-height:1.6}.docs-content li{margin-bottom:4px}.docs-content strong{color:var(--color-text-primary);font-weight:500}.docs-code-block{border:1px solid var(--color-border);background-color:#00000026;border-radius:8px;margin:0 0 16px;overflow:hidden}.docs-code-header{border-bottom:1px solid var(--color-border);background-color:#0000001a;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.docs-code-lang{font-size:.75rem;font-family:var(--font-sans);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.docs-code-copy-btn{border:1px solid var(--color-border);font-size:.75rem;font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border-radius:4px;padding:3px 10px}.docs-code-copy-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.docs-code-copy-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.docs-code-pre{color:var(--color-text-primary);margin:0;padding:16px;font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.5;overflow-x:auto}.docs-code-pre code{font-family:inherit}@media (width<=768px){.docs-layout{flex-direction:column;gap:16px}.docs-sidebar{width:100%}.docs-nav-list{flex-flow:wrap;gap:4px}.docs-nav-item{padding:6px 10px;font-size:.8125rem}}@media (width>=1920px){.docs-page{max-width:1400px}.docs-sidebar{width:260px}}@media (width>=2560px){.docs-page{max-width:1800px}.docs-content{padding:40px}.docs-content-title{font-size:1.375rem}}.api-docs-page{max-width:1200px;margin:0 auto}.api-docs-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.api-docs-back-link{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.875rem;text-decoration:none}.api-docs-back-link:hover{color:var(--color-accent)}.api-docs-back-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.api-docs-title{color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:600}.api-docs-version{color:var(--color-text-secondary);background:#ffffff0f;border-radius:4px;padding:2px 8px;font-size:.75rem}.api-docs-auth-banner{color:var(--color-text-secondary);background:#ff990014;border:1px solid #f903;border-radius:6px;margin-bottom:24px;padding:10px 16px;font-size:.8125rem}.api-docs-auth-banner code{background:#ffffff14;border-radius:3px;padding:1px 5px;font-size:.8125rem}.api-docs-layout{gap:24px;min-height:60vh;display:flex}.api-docs-sidebar{flex-direction:column;flex-shrink:0;gap:2px;width:180px;display:flex}.api-docs-tag-btn{text-align:left;width:100%;font-size:.8125rem;font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:8px 12px;display:block}.api-docs-tag-btn:hover{color:var(--color-text-primary);background-color:#ffffff0a}.api-docs-tag-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.api-docs-tag-btn--active{color:var(--color-accent);background-color:#ff99001a;font-weight:500}.api-docs-sidebar-divider{background:var(--color-border);height:1px;margin:8px 0}.api-docs-download-link{color:var(--color-accent);transition:background-color var(--transition-fast);border-radius:6px;padding:8px 12px;font-size:.8125rem;text-decoration:none;display:block}.api-docs-download-link:hover{background-color:#ff990014}.api-docs-download-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.api-docs-content{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.api-endpoint{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;overflow:hidden}.api-endpoint-header{cursor:pointer;width:100%;font-family:var(--font-sans);text-align:left;transition:background-color var(--transition-fast);background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.api-endpoint-header:hover{background-color:#ffffff05}.api-endpoint-header:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.api-method{text-align:center;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;min-width:56px;padding:2px 8px;font-size:.6875rem;font-weight:700;display:inline-block}.api-method--get{color:#61affe;background:#61affe26}.api-method--post{color:#49cc90;background:#49cc9026}.api-method--put{color:#fca130;background:#fca13026}.api-method--delete{color:#f93e3e;background:#f93e3e26}.api-path{color:var(--color-text-primary);font-family:monospace;font-size:.875rem;font-weight:500}.api-summary{color:var(--color-text-secondary);flex:1;font-size:.8125rem}.api-expand-icon{color:var(--color-text-secondary);font-size:.75rem}.api-endpoint-detail{border-top:1px solid var(--color-border);padding:0 16px 16px}.api-description{color:var(--color-text-secondary);margin:12px 0;font-size:.875rem;line-height:1.6}.api-meta-row{align-items:baseline;gap:8px;margin-bottom:6px;font-size:.8125rem;display:flex}.api-meta-label{color:var(--color-text-secondary);min-width:80px;font-weight:500}.api-meta-value{color:var(--color-text-primary)}.api-code-block{margin-top:12px}.api-code-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.api-code-block pre{border:1px solid var(--color-border);background:#0000004d;border-radius:6px;margin:0;padding:12px;overflow-x:auto}.api-code-block code{color:var(--color-text-primary);font-size:.8125rem;line-height:1.5}@media (width<=768px){.api-docs-layout{flex-direction:column;gap:16px}.api-docs-sidebar{flex-flow:wrap;gap:4px;width:100%}.api-docs-sidebar-divider{display:none}.api-endpoint-header{flex-wrap:wrap}.api-summary{width:100%;margin-top:4px}}@media (width>=1920px){.api-docs-page{max-width:1400px}}@media (width>=2560px){.api-docs-page{max-width:1800px}}.arch-page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem}.arch-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.arch-back-link{color:var(--color-primary,#2563eb);font-size:.9rem;text-decoration:none}.arch-back-link:hover{text-decoration:underline}.arch-title{color:var(--color-text,#1a1a2e);margin:0;font-size:1.75rem;font-weight:700}.arch-content{flex-direction:column;gap:2.5rem;display:flex}.arch-section-title{color:var(--color-text,#1a1a2e);border-bottom:2px solid var(--color-border,#e2e8f0);margin:0 0 .75rem;padding-bottom:.5rem;font-size:1.35rem;font-weight:600}.arch-section p{color:var(--color-text-secondary,#4a5568);margin:0 0 .75rem;line-height:1.65}.arch-section code{background:var(--color-bg-secondary,#f1f5f9);border-radius:3px;padding:.15em .4em;font-size:.9em}.arch-diagram-block{background:var(--color-bg-secondary,#f8fafc);border:1px solid var(--color-border,#e2e8f0);text-align:center;border-radius:8px;margin:.75rem 0;padding:1rem;overflow-x:auto}.arch-diagram-img{border-radius:4px;max-width:100%;height:auto}.arch-flow-steps{flex-direction:column;gap:.75rem;margin:.75rem 0 1rem;display:flex}.arch-flow-step{background:var(--color-bg,#fff);border:1px solid var(--color-border,#e2e8f0);color:var(--color-text-secondary,#4a5568);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.5;display:flex}.arch-flow-step strong{color:var(--color-text,#1a1a2e)}.arch-flow-step code{background:var(--color-bg-secondary,#f1f5f9);border-radius:3px;padding:.1em .35em;font-size:.85em}.arch-flow-step-num{background:var(--color-primary,#2563eb);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.8rem;font-weight:600;display:flex}.arch-component-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:.5rem;display:grid}.arch-component-card{background:var(--color-bg,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;padding:1rem 1.25rem}.arch-component-card h3{color:var(--color-primary,#2563eb);margin:0 0 .4rem;font-size:.95rem;font-weight:600}.arch-component-card p{color:var(--color-text-secondary,#4a5568);margin:0;font-size:.85rem;line-height:1.5}.arch-table-wrap{margin:.75rem 0;overflow-x:auto}.arch-table{border-collapse:collapse;width:100%;font-size:.85rem}.arch-table th,.arch-table td{text-align:left;border-bottom:1px solid var(--color-border,#e2e8f0);padding:.6rem .75rem}.arch-table th{color:var(--color-text,#1a1a2e);background:var(--color-bg-secondary,#f8fafc);font-weight:600}.arch-table td{color:var(--color-text-secondary,#4a5568)}.arch-table td:first-child{color:var(--color-text,#1a1a2e);white-space:nowrap;font-weight:500}[data-theme=dark] .arch-title,[data-theme=dark] .arch-section-title{color:#e2e8f0}[data-theme=dark] .arch-section p{color:#a0aec0}[data-theme=dark] .arch-diagram-block{background:#1a202c;border-color:#2d3748}[data-theme=dark] .arch-flow-step{color:#a0aec0;background:#1a202c;border-color:#2d3748}[data-theme=dark] .arch-flow-step strong{color:#e2e8f0}[data-theme=dark] .arch-component-card{background:#1a202c;border-color:#2d3748}[data-theme=dark] .arch-component-card p{color:#a0aec0}[data-theme=dark] .arch-table th{color:#e2e8f0;background:#1a202c}[data-theme=dark] .arch-table td{color:#a0aec0}[data-theme=dark] .arch-table td:first-child{color:#e2e8f0}[data-theme=dark] .arch-section code,[data-theme=dark] .arch-flow-step code{background:#2d3748}.billing-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.billing-heading{color:var(--color-text-primary,#e0e0e0);margin-bottom:1.5rem;font-size:1.75rem;font-weight:600}.billing-error{background:var(--color-error-bg,#3a1c1c);color:var(--color-error,#f87171);border-radius:6px;margin-bottom:1.5rem;padding:.75rem 1rem}.billing-current-plan{background:var(--color-surface,#1e1e2e);border:1px solid var(--color-border,#333);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.billing-section-title{color:var(--color-text-primary,#e0e0e0);margin-bottom:1rem;font-size:1.15rem;font-weight:600}.billing-plan-details{flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;display:flex}.billing-plan-item{flex-direction:column;gap:.25rem;display:flex}.billing-plan-label{color:var(--color-text-secondary,#999);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.billing-plan-value{color:var(--color-text-primary,#e0e0e0);font-size:1.1rem;font-weight:500}.billing-usage-section{margin-bottom:1.5rem}.billing-usage-label{color:var(--color-text-secondary,#999);justify-content:space-between;margin-bottom:.4rem;font-size:.85rem;display:flex}.billing-usage-bar-track{background:var(--color-bg-secondary,#2a2a3a);border-radius:5px;height:10px;overflow:hidden}.billing-usage-bar-fill{background:var(--color-accent,#4fc3f7);border-radius:5px;height:100%;transition:width .3s}.billing-usage-bar-fill--warning{background:var(--color-warning,#fbbf24)}.billing-usage-bar-fill--danger{background:var(--color-error,#f87171)}.billing-tiers{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.billing-tier-card{background:var(--color-surface,#1e1e2e);border:1px solid var(--color-border,#333);border-radius:8px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.billing-tier-card--active{border-color:var(--color-accent,#4fc3f7)}.billing-tier-name{color:var(--color-text-primary,#e0e0e0);text-transform:capitalize;font-size:1.15rem;font-weight:600}.billing-tier-price{color:var(--color-accent,#4fc3f7);font-size:1.5rem;font-weight:700}.billing-tier-price-period{color:var(--color-text-secondary,#999);font-size:.8rem;font-weight:400}.billing-tier-limit{color:var(--color-text-secondary,#999);font-size:.85rem}.billing-tier-features{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.billing-tier-feature{color:var(--color-text-secondary,#999);font-size:.85rem}.billing-tier-feature:before{content:"✓ ";color:var(--color-accent,#4fc3f7)}.billing-tier-btn{border:1px solid var(--color-accent,#4fc3f7);color:var(--color-accent,#4fc3f7);cursor:pointer;background:0 0;border-radius:6px;margin-top:auto;padding:.6rem 1rem;font-size:.9rem;transition:background .2s,color .2s}.billing-tier-btn:hover:not(:disabled){background:var(--color-accent,#4fc3f7);color:var(--color-bg-primary,#121212)}.billing-tier-btn:disabled{opacity:.5;cursor:default}.billing-history{background:var(--color-surface,#1e1e2e);border:1px solid var(--color-border,#333);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.billing-history-empty{color:var(--color-text-secondary,#999);font-size:.9rem}.billing-history-row{border-bottom:1px solid var(--color-border,#333);color:var(--color-text-primary,#e0e0e0);justify-content:space-between;padding:.5rem 0;font-size:.9rem;display:flex}.billing-history-row:last-child{border-bottom:none}.billing-email-btn{border:1px solid var(--color-border,#333);background:var(--color-surface,#1e1e2e);color:var(--color-text-primary,#e0e0e0);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;transition:background .2s}.billing-email-btn:hover:not(:disabled){background:var(--color-bg-secondary,#2a2a3a)}.billing-email-btn:disabled{opacity:.5;cursor:default}.chat-input-bar-container{flex-direction:column;flex-shrink:0;display:flex}.chat-input-bar-divider{cursor:row-resize;border-top:1px solid var(--color-border);height:5px;transition:background-color var(--transition-fast);background-color:#0000;flex-shrink:0}.chat-input-bar-divider:hover{background-color:var(--color-accent);opacity:.4}.chat-input-bar{background-color:var(--color-surface);flex-direction:column;gap:6px;padding:10px 12px;display:flex;overflow:hidden}.chat-input-bar-textarea{resize:none;min-height:0;font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg);border:1px solid var(--color-border);transition:border-color var(--transition-fast);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:.875rem;line-height:1.5}.chat-input-bar-textarea::placeholder{color:var(--color-text-secondary);opacity:.7}.chat-input-bar-textarea:focus{border-color:var(--color-accent)}.chat-input-bar-textarea:disabled{opacity:.5;cursor:not-allowed}.chat-input-bar-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.chat-input-bar-attach-btn,.chat-input-bar-voice-btn{width:34px;height:34px;color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.chat-input-bar-attach-btn:hover:not(:disabled),.chat-input-bar-voice-btn:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-text-secondary);background-color:var(--color-bg)}.chat-input-bar-attach-btn:disabled,.chat-input-bar-voice-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-bar-attach-btn:focus-visible,.chat-input-bar-voice-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.chat-input-bar-voice-btn--recording{color:var(--color-error);border-color:var(--color-error);animation:1.5s ease-in-out infinite chat-input-voice-pulse}@keyframes chat-input-voice-pulse{0%,to{opacity:1}50%{opacity:.6}}.chat-input-bar-send-btn{color:#000;background-color:var(--color-accent);cursor:pointer;width:34px;height:34px;transition:background-color var(--transition-fast), opacity var(--transition-fast);border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.chat-input-bar-send-btn:hover:not(:disabled){background-color:var(--color-accent-hover)}.chat-input-bar-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-bar-send-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-input-bar-icon{width:16px;height:16px}.studio{flex-direction:column;height:calc(100vh - 52px);display:flex;overflow:hidden}.studio-toolbar{border-bottom:1px solid var(--color-border-subtle);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);flex-shrink:0;align-items:center;gap:6px;padding:5px 12px;display:flex}.studio-toolbar-btn{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);white-space:nowrap;background-color:#0000;border:1px solid #0000;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:.75rem;font-weight:500;display:inline-flex}.studio-toolbar-btn:hover{color:var(--color-text-primary);border-color:var(--color-border);background-color:var(--color-accent-glow)}.studio-toolbar-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.studio-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.studio-toolbar-btn--active{border-color:var(--color-accent);background-color:var(--color-accent-glow);color:var(--color-accent)}.studio-toolbar-btn--primary{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);color:#000;border-color:#0000;font-weight:600;box-shadow:0 1px 6px #ff99004d}.studio-toolbar-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 12px #f906}.studio-toolbar-separator{background-color:var(--color-border-subtle);flex-shrink:0;width:1px;height:18px}.studio-toolbar-zoom{color:var(--color-text-secondary);text-align:center;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;min-width:38px;font-size:.6875rem}.studio-toolbar-spacer{flex:1}.studio-body{flex:1;min-height:0;display:flex;overflow:hidden}.studio-palette{border-right:1px solid var(--color-border-subtle);background-color:var(--color-surface);flex-direction:column;flex-shrink:0;width:220px;min-width:220px;display:flex;overflow:hidden}.studio-palette--collapsed{display:none}.studio-palette-search{border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;padding:8px}.studio-palette-input{width:100%;color:var(--color-text-primary);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:7px 10px;font-family:inherit;font-size:.8125rem}.studio-palette-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow)}.studio-palette-list{flex:1;padding:4px 0;overflow-y:auto}.studio-category-header{width:100%;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:.6875rem;font-weight:600;display:flex}.studio-category-header:hover{color:var(--color-text-primary)}.studio-category-arrow{transition:transform var(--transition-fast);font-size:.5625rem}.studio-category-arrow--collapsed{transform:rotate(-90deg)}.studio-service-item{cursor:grab;transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none;border-radius:0;align-items:center;gap:8px;padding:5px 10px 5px 20px;display:flex}.studio-service-item:hover{background-color:var(--color-accent-glow)}.studio-service-item:active{cursor:grabbing}.studio-service-icon{color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.5625rem;font-weight:700;display:flex;box-shadow:0 1px 3px #0000004d}.studio-service-label{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.studio-palette-empty{color:var(--color-text-secondary);text-align:center;padding:16px;font-size:.8125rem}.studio-canvas-area{background-color:var(--color-bg);cursor:grab;flex:1;position:relative;overflow:hidden}.studio-canvas-area--panning{cursor:grabbing}.studio-canvas-area--connecting{cursor:crosshair}.studio-canvas-svg{width:100%;height:100%;display:block}.studio-grid-line{stroke:var(--color-border);stroke-width:.5px;opacity:.2}.studio-node-rect{fill:var(--color-surface);stroke:var(--color-border);stroke-width:1.5px;filter:drop-shadow(0 2px 4px #0003);transition:stroke var(--transition-fast)}.studio-node-rect--selected{stroke:var(--color-accent);stroke-width:2px;filter:drop-shadow(0 0 8px #ff99004d)}.studio-node-icon-bg{rx:5;ry:5}.studio-node-abbr{fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:9px;font-weight:700}.studio-node-label{fill:var(--color-text-primary);text-anchor:middle;pointer-events:none;font-size:11px}.studio-connection-line{stroke:var(--color-text-secondary);stroke-width:1.5px;opacity:.5}.studio-connection-temp{stroke:var(--color-accent);stroke-width:1.5px;stroke-dasharray:6 4;opacity:.7}.studio-arrowhead{fill:var(--color-text-secondary);opacity:.5}.studio-empty-hint{fill:var(--color-text-secondary);text-anchor:middle;opacity:.4;font-size:14px}.studio-chat{border-left:1px solid var(--color-border-subtle);background-color:var(--color-surface);flex-direction:column;flex-shrink:0;width:340px;min-width:340px;display:flex;overflow:hidden}.studio-chat--collapsed{display:none}.studio-chat-header{border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.studio-chat-title{color:var(--color-text-primary);font-size:.8125rem;font-weight:600}.studio-chat-messages{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.studio-chat-empty{text-align:center;height:100%;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:.8125rem;line-height:1.5;display:flex}.studio-chat-empty-icon{opacity:.3;width:32px;height:32px}.studio-msg{flex-direction:column;gap:3px;animation:.25s cubic-bezier(.4,0,.2,1) msg-slide-in;display:flex}@keyframes msg-slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.studio-msg--user{align-items:flex-end}.studio-msg--assistant{align-items:flex-start}.studio-msg-bubble{border-radius:var(--radius-lg);word-break:break-word;max-width:88%;padding:9px 14px;font-size:.8125rem;line-height:1.5}.studio-msg--user .studio-msg-bubble{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);color:#000;border-bottom-right-radius:4px;box-shadow:0 1px 4px #f903}.studio-msg--assistant .studio-msg-bubble{background-color:var(--color-surface-raised);color:var(--color-text-primary);border:1px solid var(--color-border-subtle);border-bottom-left-radius:4px}.studio-msg-diagram{border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);max-width:100%;margin-top:8px;display:block}.studio-msg-time{color:var(--color-text-secondary);opacity:.6;font-size:.625rem}.studio-chat-typing{color:var(--color-text-secondary);align-items:center;gap:8px;padding:8px 12px;font-size:.8125rem;display:flex}.studio-typing-dots{gap:3px;display:flex}.studio-typing-dot{background-color:var(--color-accent);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite studio-dot-bounce}.studio-typing-dot:nth-child(2){animation-delay:.2s}.studio-typing-dot:nth-child(3){animation-delay:.4s}@keyframes studio-dot-bounce{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.studio-chat-error{color:var(--color-error);align-items:center;gap:6px;padding:8px 12px;font-size:.8125rem;display:flex}.studio-chat-error-icon{flex-shrink:0;width:14px;height:14px}.studio-chat-input-bar{border-top:1px solid var(--color-border-subtle);flex-shrink:0;align-items:flex-end;gap:6px;padding:8px 10px;display:flex}.studio-chat-input-wrapper{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;flex:1;gap:4px;padding:7px 10px;display:flex}.studio-chat-input-wrapper:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow)}.studio-chat-textarea{width:100%;color:var(--color-text-primary);resize:none;background:0 0;border:none;outline:none;max-height:120px;font-family:inherit;font-size:.8125rem;line-height:1.4}.studio-chat-textarea::placeholder{color:var(--color-text-secondary);opacity:.5}.studio-chat-input-actions{align-items:center;gap:2px;display:flex}.studio-chat-attach-btn,.studio-chat-voice-btn{width:26px;height:26px;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.studio-chat-attach-btn:hover,.studio-chat-voice-btn:hover{color:var(--color-accent);background-color:var(--color-accent-glow)}.studio-chat-attach-btn:focus-visible,.studio-chat-voice-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.studio-chat-voice-btn--recording{color:var(--color-error);animation:1.2s ease-in-out infinite studio-voice-pulse}@keyframes studio-voice-pulse{0%,to{opacity:1}50%{opacity:.5}}.studio-chat-attach-icon,.studio-chat-voice-icon{width:15px;height:15px}.studio-chat-send-btn{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);color:#000;cursor:pointer;border-radius:var(--radius-md);width:32px;height:32px;transition:box-shadow var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 4px #ff990040}.studio-chat-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 10px #f906}.studio-chat-send-btn:disabled{opacity:.25;cursor:not-allowed}.studio-chat-send-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.studio-chat-send-icon{width:15px;height:15px}.studio-resize-gutter{cursor:col-resize;z-index:10;background-color:#0000;flex-shrink:0;width:5px;position:relative}.studio-resize-gutter:after{content:"";background-color:var(--color-border-subtle);width:1px;transition:background-color var(--transition-fast);position:absolute;top:0;bottom:0;left:2px}.studio-resize-gutter:hover,.studio-resize-gutter:active{background-color:var(--color-accent-glow)}.studio-resize-gutter:hover:after,.studio-resize-gutter:active:after{background-color:var(--color-accent)}.studio-preview-overlay{z-index:20;background-color:#000000d9;flex-direction:column;animation:.3s studio-preview-fade-in;display:flex;position:absolute;inset:0}@keyframes studio-preview-fade-in{0%{opacity:0}to{opacity:1}}.studio-preview-header{background-color:#0006;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.studio-preview-label{color:#fff;font-size:.8125rem;font-weight:600}.studio-preview-actions{align-items:center;gap:8px;display:flex}.studio-preview-view-btn{border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background-color:#0000;align-items:center;gap:4px;padding:5px 12px;font-family:inherit;font-size:.75rem;font-weight:600;display:inline-flex}.studio-preview-view-btn:hover{background-color:var(--color-accent);color:#000}.studio-preview-view-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.studio-preview-close-btn{border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:28px;height:28px;transition:background-color var(--transition-fast), border-color var(--transition-fast);background-color:#0000;border:1px solid #fff3;justify-content:center;align-items:center;font-size:.875rem;display:flex}.studio-preview-close-btn:hover{background-color:#ffffff1a;border-color:#fff6}.studio-preview-close-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.studio-preview-image-wrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex;overflow:auto}.studio-preview-image{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:100%;box-shadow:0 4px 24px #0006}.studio-msg-diagram-btn{cursor:pointer;border-radius:var(--radius-md);width:100%;transition:opacity var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;margin-top:8px;padding:0;display:block}.studio-msg-diagram-btn:hover{opacity:.85;box-shadow:0 0 0 2px var(--color-accent)}.studio-msg-diagram-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.studio-msg-diagram-btn .studio-msg-diagram{margin-top:0}.studio-preview-download-btn{border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background-color:#0000;border:1px solid #ffffff4d;align-items:center;gap:4px;padding:5px 12px;font-family:inherit;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.studio-preview-download-btn:hover{background-color:#ffffff1a;border-color:#ffffff80}.studio-preview-download-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.studio-session-loading{height:100%;color:var(--text-secondary,#666);justify-content:center;align-items:center;gap:.75rem;font-size:.95rem;display:flex}.studio-session-error{height:100%;color:var(--text-secondary,#666);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;font-size:.95rem;display:flex}.studio-session-error-btn{border:1px solid var(--border-color,#ddd);background:var(--bg-primary,#fff);color:var(--text-primary,#333);cursor:pointer;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem}.studio-session-error-btn:hover{background:var(--bg-hover,#f5f5f5)}.studio-conflict-notice{color:#856404;background:#fff3cd;border-bottom:1px solid #ffc107;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.studio-conflict-reload-btn{color:#856404;cursor:pointer;background:0 0;border:1px solid #856404;border-radius:4px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.studio-conflict-reload-btn:hover{background:#8564041a}.studio-conflict-dismiss-btn{color:#856404;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:.125rem .375rem;font-size:.9rem}.studio-msg--plan .studio-msg-bubble,.studio-msg--clarification .studio-msg-bubble,.studio-msg--review .studio-msg-bubble{border-bottom-left-radius:4px}.studio-msg--plan .studio-msg-bubble{color:var(--color-text-primary);background-color:#3b82f614;border:1px solid #3b82f640}.studio-msg--clarification .studio-msg-bubble{color:var(--color-text-primary);background-color:#f59e0b14;border:1px solid #f59e0b40}.studio-msg--review .studio-msg-bubble{color:var(--color-text-primary);background-color:#8b5cf614;border:1px solid #8b5cf640}.studio-msg-reasoning-label{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;margin-bottom:4px;font-size:.6875rem;font-weight:600;display:inline-flex}.studio-msg--plan .studio-msg-reasoning-label{color:#3b82f6e6}.studio-msg--clarification .studio-msg-reasoning-label{color:#f59e0be6}.studio-msg--review .studio-msg-reasoning-label{color:#8b5cf6e6}.studio-msg-services-list{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.studio-msg-service-badge{color:#3b82f6e6;background-color:#3b82f61f;border-radius:9999px;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-block}.studio-msg-questions-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.studio-msg-question-item{padding-left:16px;font-size:.8125rem;position:relative}.studio-msg-question-item:before{content:"•";color:#f59e0bb3;position:absolute;left:4px}.studio-msg-pillar-badges{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.studio-msg-pillar-badge{border-radius:9999px;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-block}.studio-msg-pillar-badge--pass{color:#22c55ee6;background-color:#22c55e1f}.studio-msg-pillar-badge--fail,.studio-msg-pillar-badge--needs_improvement{color:#ef4444e6;background-color:#ef44441f}.studio-msg-pillar-badge--warning{color:#f59e0be6;background-color:#f59e0b1f}.studio-msg-pillar-badge--not_evaluated{color:#6b7280e6;background-color:#6b72801f}.drawio-chat-panel{background-color:var(--color-bg);flex-direction:column;height:100%;display:flex;overflow:hidden}.drawio-chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:16px 12px;display:flex;overflow-y:auto}.drawio-chat-messages::-webkit-scrollbar{width:5px}.drawio-chat-messages::-webkit-scrollbar-track{background:0 0}.drawio-chat-messages::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.drawio-chat-empty{color:var(--color-text-secondary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:32px 16px;display:flex}.drawio-chat-empty-icon{width:40px;height:40px;color:var(--color-border)}.drawio-chat-empty-text{max-width:280px;font-size:.875rem;line-height:1.5}.drawio-chat-message{flex-direction:column;gap:4px;max-width:90%;display:flex}.drawio-chat-message--user{align-self:flex-end}.drawio-chat-message--assistant{align-self:flex-start}.drawio-chat-message--system{align-self:center;max-width:95%}.drawio-chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:10px;padding:10px 14px;font-size:.875rem;line-height:1.5}.drawio-chat-message--user .drawio-chat-bubble{background-color:var(--color-accent);color:#000;border-bottom-right-radius:4px}.drawio-chat-message--assistant .drawio-chat-bubble{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-bottom-left-radius:4px}.drawio-chat-message--system .drawio-chat-bubble{color:var(--color-error);text-align:center;background-color:#ef44441a;border:1px solid #ef44444d;border-radius:8px;font-size:.8125rem}.drawio-chat-time{color:var(--color-text-secondary);padding:0 4px;font-size:.6875rem}.drawio-chat-message--user .drawio-chat-time{text-align:right}.drawio-chat-typing{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:10px 10px 10px 4px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;font-size:.8125rem;display:flex}.drawio-chat-typing-dots{gap:3px;display:flex}.drawio-chat-typing-dot{background-color:var(--color-text-secondary);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite drawio-dot-bounce}.drawio-chat-typing-dot:nth-child(2){animation-delay:.2s}.drawio-chat-typing-dot:nth-child(3){animation-delay:.4s}@keyframes drawio-dot-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.drawio-chat-message--plan .drawio-chat-bubble{color:var(--color-text-primary);background-color:#3b82f614;border:1px solid #3b82f640;border-bottom-left-radius:4px}.drawio-chat-message--clarification .drawio-chat-bubble{color:var(--color-text-primary);background-color:#f59e0b14;border:1px solid #f59e0b40;border-bottom-left-radius:4px}.drawio-chat-reasoning-label{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;margin-bottom:4px;font-size:.6875rem;font-weight:600;display:inline-flex}.drawio-chat-message--plan .drawio-chat-reasoning-label{color:#3b82f6e6}.drawio-chat-message--clarification .drawio-chat-reasoning-label{color:#f59e0be6}.drawio-chat-services-list{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.drawio-chat-service-badge{color:#3b82f6e6;background-color:#3b82f61f;border-radius:9999px;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-block}.drawio-chat-questions-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.drawio-chat-question-item{padding-left:16px;font-size:.8125rem;position:relative}.drawio-chat-question-item:before{content:"•";color:#f59e0bb3;position:absolute;left:4px}.drawio-workspace-page{background-color:var(--color-bg);flex-direction:column;height:calc(100vh - 52px);display:flex;overflow:hidden}.drawio-workspace-header{border-bottom:1px solid var(--color-border-subtle);background:var(--glass-bg);height:44px;-webkit-backdrop-filter:var(--glass-blur);flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex}.drawio-workspace-back{color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:color var(--transition-fast), background-color var(--transition-fast);white-space:nowrap;align-items:center;gap:4px;padding:4px 8px;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.drawio-workspace-back:hover{color:var(--color-text-primary);background-color:var(--color-accent-glow)}.drawio-workspace-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.drawio-workspace-title-area{flex:1;min-width:0}.drawio-workspace-title-btn{max-width:100%;color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:left;transition:border-color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:4px 8px;font-family:inherit;font-size:.875rem;font-weight:600;display:block;overflow:hidden}.drawio-workspace-title-btn:hover{border-color:var(--color-border);background-color:var(--color-accent-glow)}.drawio-workspace-title-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.drawio-workspace-title-input{width:100%;color:var(--color-text-primary);background-color:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-sm);box-shadow:0 0 0 2px var(--color-accent-glow);outline:none;padding:4px 8px;font-family:inherit;font-size:.875rem;font-weight:600}.drawio-workspace-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.drawio-workspace-save-btn{color:#000;background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:box-shadow var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);border:none;align-items:center;padding:5px 14px;font-family:inherit;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:0 1px 6px #ff99004d}.drawio-workspace-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 12px #f906}.drawio-workspace-save-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.drawio-workspace-save-btn:disabled{opacity:.35;cursor:not-allowed}.drawio-workspace-export-wrap{position:relative}.drawio-workspace-export-btn{color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background-color:#0000;align-items:center;padding:5px 12px;font-family:inherit;font-size:.75rem;font-weight:500;display:inline-flex}.drawio-workspace-export-btn:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-accent);background-color:var(--color-accent-glow)}.drawio-workspace-export-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.drawio-workspace-export-btn:disabled{opacity:.35;cursor:not-allowed}.drawio-workspace-export-dropdown{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:50;min-width:160px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0000004d}.drawio-workspace-export-option{width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;transition:background-color var(--transition-fast);background:0 0;border:none;padding:8px 14px;font-family:inherit;font-size:.8125rem;display:block}.drawio-workspace-export-option:hover{background-color:var(--color-accent-glow)}.drawio-workspace-export-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.drawio-workspace-content{flex:1;min-height:0;display:flex;overflow:hidden}.drawio-workspace-editor{background-color:var(--color-bg);flex-shrink:0;position:relative;overflow:hidden}.drawio-workspace-iframe{border:none;width:100%;height:100%;display:block}.drawio-workspace-divider{cursor:col-resize;z-index:10;width:4px;transition:background-color var(--transition-fast);background-color:#0000;flex-shrink:0;position:relative}.drawio-workspace-divider:after{content:"";background-color:var(--color-border-subtle);width:2px;transition:background-color var(--transition-fast);position:absolute;top:0;bottom:0;left:1px}.drawio-workspace-divider:hover,.drawio-workspace-divider:active{background-color:var(--color-accent-glow)}.drawio-workspace-divider:hover:after,.drawio-workspace-divider:active:after{background-color:var(--color-accent)}.drawio-workspace-chat{border-left:1px solid var(--color-border-subtle);flex-shrink:0;overflow:hidden}.drawio-workspace-loading-overlay{background-color:var(--color-bg);color:var(--color-text-secondary);z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.875rem;display:flex;position:absolute;inset:0}.drawio-workspace-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite drawio-spin}@keyframes drawio-spin{to{transform:rotate(360deg)}}.drawio-workspace-error-overlay{background-color:var(--color-bg);color:var(--color-text-secondary);z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:.9375rem;display:flex;position:absolute;inset:0}.drawio-workspace-error-overlay p{color:var(--color-error);margin:0}.drawio-workspace-retry-btn{color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);padding:8px 20px;font-family:inherit;font-size:.8125rem;font-weight:600}.drawio-workspace-retry-btn:hover{border-color:var(--color-accent);background-color:var(--color-accent-glow)}.drawio-workspace-retry-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dev-mode-banner{z-index:9999;color:#fff;letter-spacing:.04em;text-transform:uppercase;-webkit-user-select:none;user-select:none;background-color:#b45309;justify-content:center;align-items:center;gap:.5rem;padding:.375rem 1rem;font-size:.8125rem;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0}.dev-mode-banner__icon{font-size:.875rem}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:24px}.app-main>*{animation:page-fade-in var(--transition-view) ease}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=1920px){.app-main{max-width:1600px;padding:32px 48px}}@media (width>=2560px){.app-main{max-width:2000px;padding:40px 64px}}@media (width>=3200px){.app-main{max-width:2400px;padding:48px 80px}}.page-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.page-placeholder h1{color:var(--color-text-primary);font-size:2rem}.page-placeholder p{color:var(--color-text-secondary);font-size:1rem}.auth-loading{min-height:100vh;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:1rem;display:flex}
