:root{--color-brand-primary: #0078d4;--color-brand-primary-hover: #106ebe;--color-brand-primary-active: #005a9e;--color-brand-light: #deecf9;--color-brand-lighter: #eff6fc;--color-neutral-background-1: #ffffff;--color-neutral-background-2: #faf9f8;--color-neutral-background-3: #f3f2f1;--color-neutral-background-4: #edebe9;--color-neutral-background-5: #d2d0ce;--color-neutral-background-inverted: #1b1a19;--color-neutral-background-dark: #252423;--color-neutral-foreground-1: #242424;--color-neutral-foreground-2: #424242;--color-neutral-foreground-3: #616161;--color-neutral-foreground-disabled: #a19f9d;--color-neutral-foreground-on-brand: #ffffff;--color-neutral-stroke-1: #d1d1d1;--color-neutral-stroke-2: #e1dfdd;--color-success: #107c10;--color-success-background: #dff6dd;--color-warning: #ffb900;--color-warning-background: #fff4ce;--color-error: #d13438;--color-error-background: #fde7e9;--color-info: #0078d4;--color-info-background: #deecf9;--color-copilot-gradient-start: #7b2ff2;--color-copilot-gradient-end: #0078d4;--color-copilot-bg: #f7f7ff;--font-family-base: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--font-family-mono: "Cascadia Code", "Fira Code", Consolas, "Courier New", monospace;--font-size-100: 10px;--font-size-200: 12px;--font-size-300: 14px;--font-size-400: 16px;--font-size-500: 20px;--font-size-600: 24px;--font-size-700: 28px;--font-size-800: 32px;--font-size-900: 40px;--font-weight-regular: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-100: 14px;--line-height-200: 16px;--line-height-300: 20px;--line-height-400: 22px;--line-height-500: 28px;--line-height-600: 32px;--spacing-xxs: 2px;--spacing-xs: 4px;--spacing-s: 8px;--spacing-m: 12px;--spacing-l: 16px;--spacing-xl: 24px;--spacing-xxl: 32px;--spacing-xxxl: 48px;--radius-none: 0;--radius-small: 2px;--radius-medium: 4px;--radius-large: 8px;--radius-xlarge: 12px;--radius-circular: 9999px;--shadow-2: 0 1px 2px rgba(0, 0, 0, .12);--shadow-4: 0 2px 4px rgba(0, 0, 0, .14);--shadow-8: 0 4px 8px rgba(0, 0, 0, .14);--shadow-16: 0 8px 16px rgba(0, 0, 0, .14);--shadow-28: 0 14px 28px rgba(0, 0, 0, .14);--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--easing-ease: cubic-bezier(.33, 0, .67, 1);--easing-ease-out: cubic-bezier(0, 0, 0, 1);--easing-ease-in: cubic-bezier(1, 0, 1, 1);--topbar-height: 48px;--chat-max-width: 760px;--sessions-sidebar-width: 260px;--file-viewer-width: 420px}[data-theme=dark]{--color-brand-light: #004578;--color-brand-lighter: #003263;--color-neutral-background-1: #1b1a19;--color-neutral-background-2: #252423;--color-neutral-background-3: #292827;--color-neutral-background-4: #323130;--color-neutral-background-5: #3b3a39;--color-neutral-background-inverted: #f3f2f1;--color-neutral-background-dark: #141414;--color-neutral-foreground-1: #f3f2f1;--color-neutral-foreground-2: #c8c6c4;--color-neutral-foreground-3: #a19f9d;--color-neutral-foreground-disabled: #605e5c;--color-neutral-stroke-1: #484644;--color-neutral-stroke-2: #3b3a39;--color-success-background: #093807;--color-warning-background: #3a2e02;--color-error-background: #3b0509;--color-info-background: #002848;--color-copilot-bg: #1a1a2e}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family-base);font-size:var(--font-size-300);line-height:var(--line-height-300);color:var(--color-neutral-foreground-1);background:var(--color-neutral-background-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-height);padding:0 var(--spacing-l);background:var(--color-brand-primary);color:var(--color-neutral-foreground-on-brand);z-index:100;flex-shrink:0}.topbar-brand{display:flex;align-items:center;gap:var(--spacing-s);font-size:var(--font-size-400);font-weight:var(--font-weight-semibold);text-decoration:none;color:inherit;cursor:pointer}.topbar-brand img{width:20px;height:20px;filter:brightness(0) invert(1)}.topbar-actions{display:flex;align-items:center;gap:var(--spacing-m)}.topbar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-medium);background:transparent;color:var(--color-neutral-foreground-on-brand);cursor:pointer;transition:background var(--duration-fast) var(--easing-ease)}.topbar-btn:hover,.topbar-btn:focus-visible{background:#ffffff26}.topbar-btn:active{background:#ffffff40}.topbar-btn.active{background:#fff3}.topbar-user{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-xs) var(--spacing-s);border-radius:var(--radius-medium);cursor:pointer;border:none;background:transparent;color:inherit;font-size:var(--font-size-200)}.topbar-user:hover{background:#ffffff26}.topbar-avatar{width:28px;height:28px;border-radius:var(--radius-circular);background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-200);font-weight:var(--font-weight-semibold)}.topbar-avatar-img{width:28px;height:28px;border-radius:var(--radius-circular);object-fit:cover}.topbar-user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout{display:flex;flex:1;overflow:hidden}.sessions-sidebar{width:var(--sessions-sidebar-width);background:var(--color-neutral-background-1);border-right:1px solid var(--color-neutral-stroke-2);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width var(--duration-slow) var(--easing-ease-out),opacity var(--duration-normal) var(--easing-ease)}.sessions-sidebar.hidden{width:0;opacity:0;border-right:none;pointer-events:none}.sessions-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-m) var(--spacing-l);font-size:var(--font-size-300);font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--color-neutral-stroke-2);flex-shrink:0}.sessions-close-btn{width:28px;height:28px;border:none;border-radius:var(--radius-medium);background:transparent;color:var(--color-neutral-foreground-2);cursor:pointer;display:flex;align-items:center;justify-content:center}.sessions-close-btn:hover{background:var(--color-neutral-background-3)}.sessions-new-btn{display:flex;align-items:center;gap:var(--spacing-s);width:100%;padding:var(--spacing-s) var(--spacing-m);border:1px solid var(--color-neutral-stroke-2);border-radius:var(--radius-medium);background:transparent;color:var(--color-brand-primary);cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-200);font-weight:var(--font-weight-semibold)}.sessions-new-btn:hover{background:var(--color-neutral-background-3)}.sessions-footer{padding:var(--spacing-s) var(--spacing-m);border-top:1px solid var(--color-neutral-stroke-2);flex-shrink:0}.sessions-list{flex:1;overflow-y:auto;padding:var(--spacing-s)}.session-item{padding:var(--spacing-s) var(--spacing-m);border-radius:var(--radius-medium);font-size:var(--font-size-200);color:var(--color-neutral-foreground-2);cursor:pointer;transition:background var(--duration-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:var(--spacing-s)}.session-indicator{width:6px;height:6px;border-radius:var(--radius-circular);background:var(--color-brand-primary);flex-shrink:0}.session-item:hover{background:var(--color-neutral-background-3)}.session-item.active{background:var(--color-brand-light);color:var(--color-brand-primary);font-weight:var(--font-weight-semibold)}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-neutral-background-2);min-width:0}.file-viewer{width:var(--file-viewer-width);background:var(--color-neutral-background-1);border-left:1px solid var(--color-neutral-stroke-2);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width var(--duration-slow) var(--easing-ease-out),opacity var(--duration-normal) var(--easing-ease)}.file-viewer.hidden{width:0;opacity:0;border-left:none;pointer-events:none}:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none!important}.sessions-sidebar.hidden,.file-viewer.hidden{display:flex!important}@media(max-width:1024px){.file-viewer{position:fixed;top:var(--topbar-height);right:0;bottom:0;z-index:200;box-shadow:var(--shadow-28)}}@media(max-width:768px){.sessions-sidebar{position:fixed;top:var(--topbar-height);left:0;bottom:0;z-index:200;box-shadow:var(--shadow-28)}.sessions-sidebar.hidden{display:flex!important;transform:translate(-100%);width:var(--sessions-sidebar-width);opacity:1}.file-viewer{width:100%}}.chat-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-phase{display:flex;align-items:center;justify-content:center;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-l);background:var(--color-neutral-background-1);border-bottom:1px solid var(--color-neutral-stroke-2);font-size:var(--font-size-200);color:var(--color-neutral-foreground-3);flex-shrink:0}.chat-phase-step{display:flex;align-items:center;gap:var(--spacing-xs)}.chat-phase-dot{width:6px;height:6px;border-radius:var(--radius-circular);background:var(--color-neutral-stroke-1);transition:background var(--duration-normal)}.chat-phase-dot.active{background:var(--color-brand-primary);box-shadow:0 0 0 2px var(--color-brand-light)}.chat-phase-dot.completed{background:var(--color-success)}.chat-phase-connector{width:16px;height:1px;background:var(--color-neutral-stroke-2)}.chat-phase-connector.completed{background:var(--color-success)}.chat-messages{flex:1;overflow-y:auto;scroll-behavior:smooth}.chat-messages-inner{max-width:var(--chat-max-width);margin:0 auto;padding:var(--spacing-xl) var(--spacing-l);display:flex;flex-direction:column;gap:var(--spacing-xl)}.chat-bubble{padding:var(--spacing-m) 0;font-size:var(--font-size-300);line-height:1.6;word-wrap:break-word;animation:bubbleIn var(--duration-normal) var(--easing-ease-out)}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-bubble.user{padding:var(--spacing-m) var(--spacing-l);background:var(--color-brand-primary);color:var(--color-neutral-foreground-on-brand);border-radius:var(--radius-large);border-bottom-right-radius:var(--radius-small);align-self:flex-end;max-width:80%}.chat-bubble.assistant{color:var(--color-neutral-foreground-1)}.chat-bubble.assistant a{color:var(--color-brand-primary)}.chat-bubble.assistant p{margin-bottom:var(--spacing-m)}.chat-bubble.assistant p:last-child{margin-bottom:0}.chat-bubble.assistant ul{margin:var(--spacing-s) 0;padding-left:var(--spacing-xl)}.chat-bubble.assistant ul li{margin-bottom:var(--spacing-xs)}.chat-bubble.assistant pre{background:var(--color-neutral-background-inverted);color:#d4d4d4;border-radius:var(--radius-medium);padding:var(--spacing-m);overflow-x:auto;font-family:var(--font-family-mono);font-size:var(--font-size-200);line-height:1.5;margin:var(--spacing-m) 0}.chat-bubble.assistant code{font-family:var(--font-family-mono);font-size:.9em;background:var(--color-neutral-background-3);padding:1px 4px;border-radius:var(--radius-small)}.chat-bubble.assistant pre code{background:transparent;padding:0;border-radius:0}.chat-bubble.assistant .a2ui-component{margin:var(--spacing-m) 0}.chat-bubble.assistant .a2ui-component:last-child{margin-bottom:0}@keyframes componentEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.a2ui-component--entering{animation:componentEnter var(--duration-normal) var(--easing-ease-out) both}.model-indicator{display:block;margin-top:var(--spacing-s);font-size:10px;color:var(--color-neutral-foreground-3, #888);opacity:.7;font-family:var(--font-family-mono, monospace);letter-spacing:.02em}.typing-indicator{display:flex;align-items:center;gap:4px;padding:var(--spacing-m) 0;width:fit-content}.typing-dot{width:6px;height:6px;border-radius:var(--radius-circular);background:var(--color-neutral-foreground-3);animation:typingBounce 1.4s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}@keyframes typingBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}.chat-input-area{flex-shrink:0;background:var(--color-neutral-background-2);border-top:1px solid var(--color-neutral-stroke-2);padding:var(--spacing-m) var(--spacing-l) var(--spacing-l)}.chat-input-inner{max-width:var(--chat-max-width);margin:0 auto;display:flex;align-items:flex-end;gap:var(--spacing-s);background:var(--color-neutral-background-1);border:1px solid var(--color-neutral-stroke-1);border-radius:var(--radius-large);padding:var(--spacing-s) var(--spacing-m);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.chat-input-inner:focus-within{border-color:var(--color-brand-primary);box-shadow:0 0 0 1px var(--color-brand-primary)}.chat-textarea{flex:1;min-height:24px;max-height:160px;padding:var(--spacing-xs) 0;border:none;font-family:var(--font-family-base);font-size:var(--font-size-300);line-height:1.5;resize:none;outline:none;background:transparent;color:var(--color-neutral-foreground-1)}.chat-textarea::placeholder{color:var(--color-neutral-foreground-disabled)}.chat-send-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--color-neutral-foreground-3);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast)}.chat-send-btn:hover{background:var(--color-neutral-background-3)}.chat-send-btn:disabled{background:transparent;color:var(--color-neutral-foreground-disabled);cursor:not-allowed}.demo-badge{display:inline-flex;align-items:center;padding:1px 8px;font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-warning);background:var(--color-warning-background);border-radius:var(--radius-medium);margin-left:var(--spacing-s)}.prompt-inspector{margin-top:var(--spacing-s);font-size:var(--font-size-200)}.prompt-inspector summary{cursor:pointer;color:var(--color-neutral-foreground-2);font-size:var(--font-size-200);padding:var(--spacing-xs) 0;-webkit-user-select:none;user-select:none}.prompt-inspector summary:hover{color:var(--color-brand-primary)}.prompt-inspector .code-block{margin-top:var(--spacing-s);max-height:300px;overflow-y:auto}.prompt-inspector .code-block pre{font-size:var(--font-size-100, 11px);white-space:pre-wrap;word-break:break-word}.chat-bubble.error-bubble{background:var(--color-error-background);border:1px solid var(--color-error);padding:var(--spacing-m) var(--spacing-l);border-radius:var(--radius-large);color:var(--color-neutral-foreground-1);display:flex;flex-direction:column;gap:var(--spacing-s)}.error-bubble-text{font-size:var(--font-size-200)}.error-retry-btn{align-self:flex-start;padding:var(--spacing-xs) var(--spacing-m);font-size:var(--font-size-200);font-weight:var(--font-weight-semibold);color:var(--color-error);background:transparent;border:1px solid var(--color-error);border-radius:var(--radius-medium);cursor:pointer;transition:background var(--duration-fast)}.error-retry-btn:hover{background:var(--color-error);color:#fff}.chat-bubble.auto-continue{padding:var(--spacing-xs) var(--spacing-m);background:transparent;align-self:flex-end;max-width:80%}.auto-continue-label{font-size:var(--font-size-100);color:var(--color-neutral-foreground-3);font-style:italic;opacity:.7}.chat-bubble.streaming{opacity:.85;border-left:2px solid var(--color-brand-primary);padding-left:var(--spacing-m)}.streaming-text{white-space:pre-wrap;word-break:break-word}.streaming-cursor{display:inline-block;width:2px;height:1.1em;background:var(--color-brand-primary);margin-left:2px;vertical-align:text-bottom;animation:blink-cursor .8s step-end infinite}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}[data-a2ui-action]{cursor:pointer}.file-viewer-container{display:flex;flex-direction:column;height:100%}.file-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-s) var(--spacing-m);border-bottom:1px solid var(--color-neutral-stroke-2);flex-shrink:0}.file-viewer-title{font-size:var(--font-size-300);font-weight:var(--font-weight-semibold)}.file-viewer-close{width:28px;height:28px;border:none;border-radius:var(--radius-medium);background:transparent;color:var(--color-neutral-foreground-2);cursor:pointer;font-size:var(--font-size-400);display:flex;align-items:center;justify-content:center}.file-viewer-close:hover{background:var(--color-neutral-background-3)}.file-viewer-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--color-neutral-stroke-2);background:var(--color-neutral-background-1);flex-shrink:0}.file-tab{padding:var(--spacing-s) var(--spacing-l);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-neutral-foreground-2);font-family:var(--font-family-mono);font-size:var(--font-size-200);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast)}.file-tab:hover{color:var(--color-neutral-foreground-1);background:var(--color-neutral-background-3)}.file-tab.active{color:var(--color-brand-primary);border-bottom-color:var(--color-brand-primary);font-weight:var(--font-weight-semibold)}.file-viewer-content{flex:1;overflow:auto;background:var(--color-neutral-background-inverted)}.file-viewer-code{margin:0;padding:var(--spacing-m);font-family:var(--font-family-mono);font-size:var(--font-size-200);line-height:1.6;color:#d4d4d4;white-space:pre;-moz-tab-size:2;tab-size:2}.file-viewer-actions{display:flex;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-m);border-top:1px solid var(--color-neutral-stroke-2);background:var(--color-neutral-background-1);flex-shrink:0}.file-viewer-copy-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-m);border:1px solid var(--color-neutral-stroke-1);border-radius:var(--radius-medium);background:transparent;color:var(--color-neutral-foreground-2);font-size:var(--font-size-200);font-family:var(--font-family-base);cursor:pointer}.file-viewer-copy-btn:hover{background:var(--color-neutral-background-3)}.card{background:var(--color-neutral-background-1);border:1px solid var(--color-neutral-stroke-2);border-radius:var(--radius-large);padding:var(--spacing-xl);box-shadow:var(--shadow-2);transition:box-shadow var(--duration-fast)}.card:hover{box-shadow:var(--shadow-4)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-l)}.card-title{font-size:var(--font-size-500);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1)}.card-subtitle{font-size:var(--font-size-200);color:var(--color-neutral-foreground-3);margin-top:var(--spacing-xs)}.card-body{color:var(--color-neutral-foreground-2)}.card-footer{display:flex;gap:var(--spacing-s);margin-top:var(--spacing-l);padding-top:var(--spacing-l);border-top:1px solid var(--color-neutral-stroke-2)}.status-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-s);border-radius:var(--radius-circular);font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.status-badge-dot{width:6px;height:6px;border-radius:var(--radius-circular)}.status-badge.success{background:var(--color-success-background);color:var(--color-success)}.status-badge.success .status-badge-dot{background:var(--color-success)}.status-badge.warning{background:var(--color-warning-background);color:#8a6d00}.status-badge.warning .status-badge-dot{background:var(--color-warning)}.status-badge.error{background:var(--color-error-background);color:var(--color-error)}.status-badge.error .status-badge-dot{background:var(--color-error)}.status-badge.info{background:var(--color-info-background);color:var(--color-info)}.status-badge.info .status-badge-dot{background:var(--color-info)}.code-block{position:relative;background:var(--color-neutral-background-inverted);color:#d4d4d4;border-radius:var(--radius-medium);overflow:hidden;font-family:var(--font-family-mono);font-size:var(--font-size-200);line-height:1.5}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-s) var(--spacing-m);background:#ffffff0d;font-size:var(--font-size-100);color:#fff9}.code-block-copy{display:flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-s);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-small);background:transparent;color:#ffffffb3;font-size:var(--font-size-100);font-family:var(--font-family-base);cursor:pointer}.code-block-copy:hover{background:#ffffff1a}.code-block pre{margin:0;padding:var(--spacing-m);overflow-x:auto}.code-block code{font-family:inherit}.spinner{width:20px;height:20px;border:2px solid var(--color-neutral-stroke-2);border-top-color:var(--color-brand-primary);border-radius:var(--radius-circular);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner.large{width:40px;height:40px;border-width:3px}.skeleton{background:linear-gradient(90deg,var(--color-neutral-background-3) 25%,var(--color-neutral-background-4) 50%,var(--color-neutral-background-3) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-medium)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:14px;margin-bottom:var(--spacing-s)}.skeleton-heading{height:20px;width:60%;margin-bottom:var(--spacing-m)}.skeleton-block{height:80px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-l);border-radius:var(--radius-medium);border:1px solid var(--color-neutral-stroke-1);background:var(--color-neutral-background-1);color:var(--color-neutral-foreground-1);font-family:var(--font-family-base);font-size:var(--font-size-300);cursor:pointer;transition:all var(--duration-fast);text-decoration:none}.btn:hover{background:var(--color-neutral-background-3)}.btn.primary{background:var(--color-brand-primary);color:var(--color-neutral-foreground-on-brand);border-color:var(--color-brand-primary)}.btn.primary:hover{background:var(--color-brand-primary-hover)}.btn.large{padding:var(--spacing-m) var(--spacing-xxl);font-size:var(--font-size-400)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-l)}.form-label{font-size:var(--font-size-300);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1)}.form-label .required{color:var(--color-error);margin-left:2px}.form-input{padding:var(--spacing-s) var(--spacing-m);border:1px solid var(--color-neutral-stroke-1);border-radius:var(--radius-medium);font-family:var(--font-family-base);font-size:var(--font-size-300);color:var(--color-neutral-foreground-1);background:var(--color-neutral-background-1);outline:none;transition:border-color var(--duration-fast)}.form-input:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 1px var(--color-brand-primary)}.form-hint{font-size:var(--font-size-200);color:var(--color-neutral-foreground-3)}.form-error{font-size:var(--font-size-200);color:var(--color-error)}.tabs{display:flex;border-bottom:1px solid var(--color-neutral-stroke-2)}.tab-item{padding:var(--spacing-s) var(--spacing-l);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-neutral-foreground-2);font-family:var(--font-family-base);font-size:var(--font-size-300);cursor:pointer;transition:all var(--duration-fast)}.tab-item:hover{color:var(--color-neutral-foreground-1);background:var(--color-neutral-background-3)}.tab-item.active{color:var(--color-brand-primary);border-bottom-color:var(--color-brand-primary);font-weight:var(--font-weight-semibold)}.tab-content{padding:var(--spacing-l) 0}.sparkle-loader{display:flex;align-items:center;gap:var(--spacing-m);padding:var(--spacing-m) 0;animation:sparkleIn var(--duration-normal) var(--easing-ease-out)}.sparkle-dots{display:flex;align-items:center;gap:4px}.sparkle-dot{width:8px;height:8px;border-radius:var(--radius-circular);background:linear-gradient(135deg,var(--color-copilot-gradient-start),var(--color-copilot-gradient-end));animation:sparklePulse 1.4s infinite ease-in-out}.sparkle-dot:nth-child(2){animation-delay:.2s}.sparkle-dot:nth-child(3){animation-delay:.4s}@keyframes sparklePulse{0%,to{transform:scale(.6);opacity:.4}50%{transform:scale(1.2);opacity:1}}@keyframes sparkleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sparkle-text{font-size:var(--font-size-200);color:var(--color-neutral-foreground-3);font-style:italic}.file-chips-row{display:flex;flex-wrap:wrap;gap:var(--spacing-s);margin:var(--spacing-s) 0}.file-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-m);border:1px solid var(--color-neutral-stroke-2);border-radius:var(--radius-circular);background:var(--color-neutral-background-1);color:var(--color-neutral-foreground-2);font-family:var(--font-family-mono);font-size:var(--font-size-200);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap}.file-chip:hover{background:var(--color-brand-lighter);border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.file-chip-icon{display:inline-flex;align-items:center}.file-chip-name{font-weight:var(--font-weight-semibold)}.file-chip-status{display:inline-flex;align-items:center}.file-chip-spinner{width:12px;height:12px;border:2px solid var(--color-neutral-stroke-2);border-top-color:var(--color-brand-primary);border-radius:var(--radius-circular);animation:spin .8s linear infinite}.file-chip-pending{width:6px;height:6px;border-radius:var(--radius-circular);background:var(--color-neutral-foreground-disabled)}.preview-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-m) var(--spacing-l);background:var(--color-neutral-background-1);border-bottom:1px solid var(--color-neutral-stroke-2);flex-shrink:0}.preview-panel-title{font-size:var(--font-size-300);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1)}.preview-panel-close{width:28px;height:28px;border:none;border-radius:var(--radius-medium);background:transparent;color:var(--color-neutral-foreground-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast)}.preview-panel-close:hover{background:var(--color-neutral-background-3)}.preview-panel-body{padding:var(--spacing-m);overflow-y:auto;flex-shrink:0;border-bottom:1px solid var(--color-neutral-stroke-2)}.preview-panel-body.hidden{display:none;border-bottom:none}#file-viewer .file-viewer-header{display:none}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--duration-fast) var(--easing-ease)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog{background:var(--color-neutral-background-1);border-radius:var(--radius-xlarge);box-shadow:var(--shadow-28);min-width:400px;max-width:600px;max-height:80vh;display:flex;flex-direction:column;animation:dialogSlideIn var(--duration-normal) var(--easing-ease-out)}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-l) var(--spacing-xl);border-bottom:1px solid var(--color-neutral-stroke-2)}.dialog-title{font-size:var(--font-size-500);font-weight:var(--font-weight-semibold)}.dialog-body{padding:var(--spacing-xl);overflow-y:auto;flex:1}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--spacing-s);padding:var(--spacing-l) var(--spacing-xl);border-top:1px solid var(--color-neutral-stroke-2)}.landing-page{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:1;overflow-y:auto;padding:var(--spacing-xxxl) var(--spacing-l);background:url(../assets/hero-bg.svg) center/cover no-repeat,var(--color-neutral-background-2);animation:landingFadeIn var(--duration-normal) var(--easing-ease-out)}@keyframes landingFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.landing-inner{max-width:900px;width:100%;display:flex;flex-direction:column;gap:var(--spacing-l)}.landing-brand{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-s)}.landing-brand-logo{width:64px;height:64px}.landing-brand-name{font-size:2.25rem;font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1);line-height:1;margin:0;letter-spacing:-.02em}.landing-brand-subtitle{font-size:var(--font-size-700);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1);line-height:var(--line-height-700);margin:0}.landing-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-m)}.landing-hero-title{font-size:var(--font-size-900);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1);line-height:52px;margin:0;letter-spacing:-.02em}.landing-hero-input-wrap{width:100%;max-width:600px;position:relative;display:flex;align-items:center}.hero-input-icon{position:absolute;left:14px;display:inline-flex;align-items:center;color:var(--color-neutral-foreground-3);pointer-events:none}.landing-hero-input-wrap input,.landing-hero-input-wrap textarea{width:100%;min-height:44px;height:44px;max-height:200px;padding:11px 80px 11px 42px;border-radius:var(--radius-medium);border:1px solid var(--color-neutral-stroke-2);background:var(--color-neutral-background-1);color:var(--color-neutral-foreground-1);font-family:var(--font-family-base);font-size:var(--font-size-400);line-height:1.43;outline:none;transition:border-color var(--duration-fast),height var(--duration-fast);box-sizing:border-box;resize:none;overflow-y:hidden}.landing-hero-input-wrap input::placeholder,.landing-hero-input-wrap textarea::placeholder{color:var(--color-neutral-foreground-3)}.landing-hero-input-wrap input:focus,.landing-hero-input-wrap textarea:focus{border-color:var(--color-brand-primary)}.hero-input-placeholder{position:absolute;left:42px;top:50%;transform:translateY(-50%);color:var(--color-neutral-foreground-3);font-family:var(--font-family-base);font-size:var(--font-size-400);pointer-events:none;opacity:0;transition:opacity .3s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 126px)}.hero-input-placeholder.visible{opacity:1}.hero-input-placeholder.dimmed{opacity:.4}.hero-send-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:var(--radius-medium);border:none;background:transparent;color:var(--color-neutral-foreground-1);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--duration-fast),transform var(--duration-fast);padding:0}.hero-send-btn:hover{background:var(--color-neutral-background-3);transform:translateY(-50%)}.hero-send-btn img{width:16px;height:16px}.hero-inspire-btn{position:absolute;right:40px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:var(--radius-medium);border:none;background:transparent;color:var(--color-neutral-foreground-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),opacity var(--duration-fast);padding:0}.hero-inspire-btn:hover{background:var(--color-neutral-background-3);color:var(--color-neutral-foreground-1);transform:translateY(-50%)}.hero-inspire-btn:disabled{cursor:default;opacity:.5}.hero-inspire-btn.loading{animation:inspireSpinPulse .8s ease-in-out infinite}@keyframes inspireSpinPulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.hero-input-progress{position:absolute;bottom:1px;left:1px;right:1px;height:2px;border-radius:0 0 var(--radius-medium) var(--radius-medium);overflow:hidden;pointer-events:none;z-index:2}.hero-input-progress:after{content:"";display:block;width:40%;height:100%;background:var(--color-brand-primary);border-radius:1px;animation:heroInputSlide 1.2s ease-in-out infinite}@keyframes heroInputSlide{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(-100%)}}.framework-section{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-l)}.framework-separator-label{font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-3);text-transform:uppercase;letter-spacing:.08em;text-align:center}.framework-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-s);max-width:560px}.framework-pill{padding:var(--spacing-xs) var(--spacing-l);border-radius:var(--radius-circular);border:1px solid var(--color-neutral-stroke-2);background:var(--color-neutral-background-1);color:var(--color-neutral-foreground-2);font-family:var(--font-family-base);font-size:var(--font-size-200);font-weight:var(--font-weight-regular);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap}.framework-pill:hover{background:var(--color-brand-lighter);border-color:var(--color-brand-primary);color:var(--color-brand-primary);box-shadow:var(--shadow-2)}.landing-ide{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-l)}.landing-ide-label{font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-foreground-3)}.ide-cards{display:flex;justify-content:center;gap:var(--spacing-m)}.ide-card{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-l);border:1px solid var(--color-neutral-stroke-2);border-radius:var(--radius-large);background:var(--color-neutral-background-1);color:var(--color-neutral-foreground-2);font-family:var(--font-family-base);font-size:var(--font-size-300);font-weight:var(--font-weight-semibold);text-decoration:none;cursor:pointer;transition:all var(--duration-fast)}.ide-card:hover{box-shadow:var(--shadow-4);border-color:var(--color-neutral-stroke-1);color:var(--color-neutral-foreground-1)}.ide-card-icon{display:inline-flex;align-items:center;width:24px;height:24px}.ide-card-name{white-space:nowrap}.landing-tracks{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-m);max-width:640px;margin:0 auto}.track-card{background:var(--color-neutral-background-1);border:1px solid var(--color-neutral-stroke-2);border-radius:var(--radius-xlarge);padding:var(--spacing-m);display:flex;flex-direction:column;gap:var(--spacing-xs);transition:box-shadow var(--duration-fast),border-color var(--duration-fast);cursor:default}.track-card:hover{box-shadow:var(--shadow-8);border-color:var(--color-neutral-stroke-1)}.track-card-icon{display:inline-flex;align-items:center;color:var(--color-brand-primary)}.track-card-title{font-size:var(--font-size-300);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1);line-height:var(--line-height-300)}.track-card-desc{font-size:var(--font-size-200);color:var(--color-neutral-foreground-2);line-height:var(--line-height-200);flex:1}.track-card-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-brand-primary);font-size:var(--font-size-300);font-weight:var(--font-weight-semibold);text-decoration:none;cursor:pointer;border:none;background:none;padding:0;font-family:var(--font-family-base);transition:color var(--duration-fast)}.track-card-link:hover{color:var(--color-brand-primary-hover);text-decoration:underline}.landing-page.hiding{animation:landingFadeOut var(--duration-normal) var(--easing-ease) forwards}@keyframes landingFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}body.on-landing #topbar-sessions-toggle{display:none}.recent-sessions-section{display:flex;flex-direction:column;gap:var(--spacing-m);max-height:260px;overflow-y:auto}.recent-sessions-header{display:flex;align-items:center;justify-content:space-between}.recent-sessions-label{font-size:var(--font-size-200);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-3);text-transform:uppercase;letter-spacing:.06em}.recent-sessions-clear{background:none;border:none;font-size:var(--font-size-200);color:var(--color-neutral-foreground-3);cursor:pointer;padding:0}.recent-sessions-clear:hover{color:var(--color-brand-primary);text-decoration:underline}.recent-session-item{display:flex;align-items:center;padding:var(--spacing-m) var(--spacing-l);border-radius:var(--radius-medium);border:1px solid var(--color-neutral-stroke-2);background:var(--color-neutral-background-1);cursor:pointer;transition:all var(--duration-fast);position:relative}.recent-session-item:hover{border-color:var(--color-neutral-stroke-1);box-shadow:var(--shadow-4)}.recent-session-title{font-size:var(--font-size-300);font-weight:var(--font-weight-regular);color:var(--color-neutral-foreground-1);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-session-date{font-size:var(--font-size-200);color:var(--color-neutral-foreground-3);white-space:nowrap;margin-left:var(--spacing-l)}.recent-session-delete{display:none;align-items:center;justify-content:center;width:20px;height:20px;margin-left:var(--spacing-s);border:none;border-radius:var(--radius-small);background:transparent;color:var(--color-neutral-foreground-3);cursor:pointer;padding:0;flex-shrink:0;transition:all var(--duration-fast)}.recent-session-item:hover .recent-session-delete{display:flex}.recent-session-delete:hover{background:var(--color-neutral-background-3);color:var(--color-neutral-foreground-1)}.recent-session-content{display:flex;align-items:center;gap:var(--spacing-s);width:100%}.confirm-delete-bar{display:flex;align-items:center;gap:var(--spacing-s);width:100%;padding:2px 0}.confirm-delete-label{flex:1;font-size:var(--font-size-200);color:var(--color-neutral-foreground-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-delete-yes,.confirm-delete-no{border:none;border-radius:var(--radius-small);padding:2px 10px;font-size:var(--font-size-100);font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);cursor:pointer;flex-shrink:0}.confirm-delete-yes{background:var(--color-status-danger-background-3, #d13438);color:#fff}.confirm-delete-yes:hover{opacity:.9}.confirm-delete-no{background:var(--color-neutral-background-3);color:var(--color-neutral-foreground-2)}.confirm-delete-no:hover{background:var(--color-neutral-background-4, #e0e0e0)}.landing-footer{text-align:center;padding:var(--spacing-s) 0 var(--spacing-m);display:flex;flex-direction:column;gap:var(--spacing-xs)}.landing-footer-version{font-size:var(--font-size-100);color:var(--color-neutral-foreground-4);font-family:var(--font-family-monospace, "Cascadia Code", "Consolas", monospace);letter-spacing:.02em}.landing-footer-disclaimer{font-size:var(--font-size-100);color:var(--color-neutral-foreground-4)}.landing-footer-powered{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xxs);font-size:var(--font-size-100);color:var(--color-neutral-foreground-3)}.landing-footer-meta{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.landing-footer-link{font-size:var(--font-size-100);color:var(--color-neutral-foreground-3);text-decoration:none}.landing-footer-link:before{content:"("}.landing-footer-link:after{content:")"}.landing-footer-link:hover{color:var(--color-brand-primary);text-decoration:underline}@media(max-width:768px){.landing-page{padding:var(--spacing-xl) var(--spacing-m)}.landing-hero-title{font-size:var(--font-size-700);line-height:36px}.landing-tracks{grid-template-columns:1fr}}.file-editor{display:flex;width:var(--file-viewer-width);min-width:320px;max-width:50vw;flex-shrink:0;border-left:1px solid var(--color-neutral-stroke-2);background:var(--color-neutral-background-1);overflow:hidden}.file-tree{width:220px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--color-neutral-stroke-2);background:var(--color-neutral-background-inverted);color:#ccc;overflow:hidden}.file-tree-header{padding:var(--spacing-s) var(--spacing-m);font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:#888;border-bottom:1px solid #333333;flex-shrink:0}.file-tree-list{flex:1;overflow-y:auto;padding:var(--spacing-xs) 0}.file-tree-item{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:3px 12px;border:none;background:transparent;color:#ccc;font-family:var(--font-family-base);font-size:var(--font-size-200);line-height:var(--line-height-200);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast) var(--easing-ease)}.file-tree-item:hover{background:#ffffff0f}.file-tree-item.selected{background:#ffffff1f;color:#fff}.file-tree-item.generating{animation:tree-pulse 1.5s ease-in-out infinite}.file-tree-icon{font-size:14px;flex-shrink:0;line-height:1}.file-tree-name{overflow:hidden;text-overflow:ellipsis}.code-view{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#1e1e1e;color:#d4d4d4}.code-view-empty{display:flex;align-items:center;justify-content:center}.code-view-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-m);color:#666;font-size:var(--font-size-300)}.code-view-placeholder-icon{font-size:40px;opacity:.5}.code-view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-m);background:#252526;border-bottom:1px solid #333333;flex-shrink:0;min-height:36px}.code-view-file-info{display:flex;align-items:center;gap:var(--spacing-s);min-width:0;overflow:hidden}.code-view-filename{font-size:var(--font-size-200);font-weight:var(--font-weight-semibold);color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-view-lang-badge{font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:var(--radius-small);background:#0e639c;color:#fff;white-space:nowrap;flex-shrink:0}.code-view-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.code-view-btn{display:flex;align-items:center;gap:4px;padding:2px 8px;border:none;border-radius:var(--radius-small);background:transparent;color:#aaa;font-family:var(--font-family-base);font-size:var(--font-size-100);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast),color var(--duration-fast)}.code-view-btn:hover{background:#ffffff1a;color:#fff}.code-view-body{flex:1;overflow:auto;padding:var(--spacing-s) 0}.code-view-pre{margin:0;padding:0;font-family:var(--font-family-mono);font-size:13px;line-height:20px;-moz-tab-size:2;tab-size:2}.code-line{display:flex;min-height:20px;padding:0 var(--spacing-m) 0 0}.code-line:hover{background:#ffffff0a}.code-line-number{display:inline-block;width:48px;padding-right:var(--spacing-m);text-align:right;color:#555;-webkit-user-select:none;user-select:none;flex-shrink:0}.code-line-content{flex:1;white-space:pre;min-width:0}.code-view.generating{position:relative}.code-view-generating{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-xs) var(--spacing-m);background:#252526;border-top:1px solid #333333;color:#aaa;font-size:var(--font-size-100);flex-shrink:0}.generating-dot{width:8px;height:8px;border-radius:50%;background:var(--color-brand-primary);animation:dot-pulse 1.2s ease-in-out infinite}@keyframes tree-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.app-layout.has-files .chat-main{flex:1;min-width:0}.file-tree-list::-webkit-scrollbar,.code-view-body::-webkit-scrollbar{width:8px}.file-tree-list::-webkit-scrollbar-track,.code-view-body::-webkit-scrollbar-track{background:transparent}.file-tree-list::-webkit-scrollbar-thumb,.code-view-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.file-tree-list::-webkit-scrollbar-thumb:hover,.code-view-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}.a2ui-surface-wrapper button{font-family:var(--font-family-base)!important;font-size:var(--font-size-300)!important;border-radius:var(--radius-medium)!important;padding:var(--spacing-s) var(--spacing-l)!important;cursor:pointer!important;transition:all var(--duration-fast)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:var(--spacing-s)!important;border:1px solid var(--color-neutral-stroke-1)!important;background:var(--color-neutral-background-1)!important;color:var(--color-neutral-foreground-1)!important;box-sizing:border-box!important;line-height:1.4!important;font-weight:var(--font-weight-semibold)!important;margin:var(--spacing-xs)!important}.a2ui-surface-wrapper button:hover{background:var(--color-neutral-background-3)!important;border-color:var(--color-neutral-stroke-1)!important}.a2ui-surface-wrapper button:focus-visible{outline:2px solid var(--color-brand-primary)!important;outline-offset:1px!important}.a2ui-surface-wrapper button:active{background:var(--color-neutral-background-4)!important}.a2ui-surface-wrapper button[style*="background-color: var(--a2ui-primary"],.a2ui-surface-wrapper button[style*=backgroundColor][style*="#007"]{background:var(--color-brand-primary)!important;color:var(--color-neutral-foreground-on-brand)!important;border-color:var(--color-brand-primary)!important}.a2ui-surface-wrapper button[style*="background-color: var(--a2ui-primary"]:hover,.a2ui-surface-wrapper button[style*=backgroundColor][style*="#007"]:hover{background:var(--color-brand-primary-hover)!important;border-color:var(--color-brand-primary-hover)!important}.a2ui-surface-wrapper button[style*="background-color: var(--a2ui-primary"]:active,.a2ui-surface-wrapper button[style*=backgroundColor][style*="#007"]:active{background:var(--color-brand-primary-active)!important;border-color:var(--color-brand-primary-active)!important}.a2ui-surface-wrapper button:disabled{background:var(--color-neutral-background-4)!important;color:var(--color-neutral-foreground-disabled)!important;border-color:var(--color-neutral-stroke-2)!important;cursor:not-allowed!important;box-shadow:none!important}.a2ui-surface-wrapper button[style*="background: transparent"],.a2ui-surface-wrapper button[style*="backgroundColor: transparent"],.a2ui-surface-wrapper button[style*="background-color: transparent"]{background:transparent!important;border-color:transparent!important;color:var(--color-brand-primary)!important}.a2ui-surface-wrapper button[style*="background: transparent"]:hover,.a2ui-surface-wrapper button[style*="backgroundColor: transparent"]:hover,.a2ui-surface-wrapper button[style*="background-color: transparent"]:hover{background:var(--color-brand-lighter)!important}.a2ui-surface-wrapper div[style*=box-shadow],.a2ui-surface-wrapper div[style*=boxShadow]{background:var(--color-neutral-background-1)!important;border:1px solid var(--color-neutral-stroke-2)!important;border-radius:var(--radius-large)!important;padding:var(--spacing-l)!important;box-shadow:var(--shadow-2)!important;transition:box-shadow var(--duration-fast)!important}.a2ui-surface-wrapper div[style*=box-shadow]:hover,.a2ui-surface-wrapper div[style*=boxShadow]:hover{box-shadow:var(--shadow-4)!important}.a2ui-surface-wrapper h1{font-family:var(--font-family-base)!important;font-size:var(--font-size-700)!important;font-weight:var(--font-weight-bold)!important;color:var(--color-neutral-foreground-1)!important;line-height:var(--line-height-600)!important;margin:var(--spacing-xs)!important}.a2ui-surface-wrapper h2{font-family:var(--font-family-base)!important;font-size:var(--font-size-600)!important;font-weight:var(--font-weight-bold)!important;color:var(--color-neutral-foreground-1)!important;line-height:var(--line-height-600)!important;margin:var(--spacing-xs)!important}.a2ui-surface-wrapper h3{font-family:var(--font-family-base)!important;font-size:var(--font-size-500)!important;font-weight:var(--font-weight-semibold)!important;color:var(--color-neutral-foreground-1)!important;line-height:var(--line-height-500)!important;margin:var(--spacing-xs)!important}.a2ui-surface-wrapper h4,.a2ui-surface-wrapper h5{font-family:var(--font-family-base)!important;font-size:var(--font-size-400)!important;font-weight:var(--font-weight-semibold)!important;color:var(--color-neutral-foreground-1)!important;line-height:var(--line-height-400)!important;margin:var(--spacing-xs)!important}.a2ui-surface-wrapper span{font-family:var(--font-family-base)!important;font-size:var(--font-size-300)!important;color:var(--color-neutral-foreground-1)!important;line-height:var(--line-height-300)!important}.a2ui-surface-wrapper caption{font-family:var(--font-family-base)!important;font-size:var(--font-size-200)!important;color:var(--color-neutral-foreground-3)!important;line-height:var(--line-height-200)!important}.a2ui-surface-wrapper span strong,.a2ui-surface-wrapper span b{font-weight:var(--font-weight-semibold)!important}.a2ui-surface-wrapper div[style*="flex-direction: row"],.a2ui-surface-wrapper div[style*="flexDirection: row"]{gap:var(--spacing-m)!important}.a2ui-surface-wrapper div[style*="flex-direction: column"],.a2ui-surface-wrapper div[style*="flexDirection: column"]{gap:var(--spacing-s)!important}.a2ui-surface-wrapper div[style*="background-color: rgb(204, 204, 204)"],.a2ui-surface-wrapper div[style*="backgroundColor: rgb(204, 204, 204)"],.a2ui-surface-wrapper div[style*="background-color: #ccc"],.a2ui-surface-wrapper div[style*=backgroundColor][style*="height: 1px"],.a2ui-surface-wrapper div[style*=backgroundColor][style*="width: 1px"]{background-color:var(--color-neutral-stroke-2)!important;margin:var(--spacing-s) 0!important}.a2ui-surface-wrapper div[style*="border-bottom: 1px solid"],.a2ui-surface-wrapper div[style*="borderBottom: 1px solid"]{border-bottom-color:var(--color-neutral-stroke-2)!important;gap:0!important;margin-bottom:var(--spacing-m)!important}.a2ui-surface-wrapper div[style*="border-bottom: 1px solid"]>button,.a2ui-surface-wrapper div[style*="borderBottom: 1px solid"]>button{padding:var(--spacing-s) var(--spacing-l)!important;border:none!important;border-bottom:2px solid transparent!important;background:transparent!important;color:var(--color-neutral-foreground-2)!important;font-family:var(--font-family-base)!important;font-size:var(--font-size-300)!important;border-radius:0!important;margin:0!important;transition:all var(--duration-fast)!important}.a2ui-surface-wrapper div[style*="border-bottom: 1px solid"]>button:hover,.a2ui-surface-wrapper div[style*="borderBottom: 1px solid"]>button:hover{color:var(--color-neutral-foreground-1)!important;background:var(--color-neutral-background-3)!important}.a2ui-surface-wrapper div[style*="border-bottom: 1px solid"]>button[style*="font-weight: bold"],.a2ui-surface-wrapper div[style*="border-bottom: 1px solid"]>button[style*="fontWeight: bold"],.a2ui-surface-wrapper div[style*="borderBottom: 1px solid"]>button[style*="font-weight: bold"],.a2ui-surface-wrapper div[style*="borderBottom: 1px solid"]>button[style*="fontWeight: bold"]{color:var(--color-brand-primary)!important;border-bottom-color:var(--color-brand-primary)!important;font-weight:var(--font-weight-semibold)!important}.a2ui-surface-wrapper div[style*="flex-direction: column"]>span,.a2ui-surface-wrapper div[style*="flexDirection: column"]>span{line-height:1.6!important;padding:var(--spacing-xxs) 0!important}.a2ui-surface-wrapper label[style*="cursor: pointer"]{padding:var(--spacing-xs) var(--spacing-s)!important;border-radius:var(--radius-medium)!important;transition:background var(--duration-fast)!important}.a2ui-surface-wrapper label[style*="cursor: pointer"]:hover{background:var(--color-neutral-background-3)!important}.a2ui-surface-wrapper label[style*="cursor: pointer"]>span{font-size:var(--font-size-300)!important;color:var(--color-neutral-foreground-1)!important}.a2ui-surface-wrapper input[type=radio],.a2ui-surface-wrapper input[type=checkbox]{width:18px!important;height:18px!important;accent-color:var(--color-brand-primary)!important;cursor:pointer!important}.a2ui-surface-wrapper button[style*="border-radius: 16px"]{border-radius:var(--radius-circular)!important;font-size:var(--font-size-200)!important;font-weight:var(--font-weight-semibold)!important;padding:var(--spacing-xs) var(--spacing-m)!important;transition:all var(--duration-fast)!important}.a2ui-surface-wrapper strong[style*="font-size: 14px"]{font-family:var(--font-family-base)!important;font-size:var(--font-size-300)!important;font-weight:var(--font-weight-semibold)!important;color:var(--color-neutral-foreground-1)!important}.a2ui-surface-wrapper input[type=text],.a2ui-surface-wrapper input[type=number],.a2ui-surface-wrapper input[type=password],.a2ui-surface-wrapper textarea{font-family:var(--font-family-base)!important;font-size:var(--font-size-300)!important;color:var(--color-neutral-foreground-1)!important;background:var(--color-neutral-background-1)!important;border:1px solid var(--color-neutral-stroke-1)!important;border-radius:var(--radius-medium)!important;padding:var(--spacing-s) var(--spacing-m)!important;outline:none!important;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)!important;box-sizing:border-box!important}.a2ui-surface-wrapper input[type=text]:focus,.a2ui-surface-wrapper input[type=number]:focus,.a2ui-surface-wrapper input[type=password]:focus,.a2ui-surface-wrapper textarea:focus{border-color:var(--color-brand-primary)!important;box-shadow:0 0 0 1px var(--color-brand-primary)!important}.a2ui-surface-wrapper input[type=text]::placeholder,.a2ui-surface-wrapper textarea::placeholder{color:var(--color-neutral-foreground-disabled)!important}.a2ui-surface-wrapper label[style*="font-weight: bold"],.a2ui-surface-wrapper label[style*="fontWeight: bold"],.a2ui-surface-wrapper label[style*="font-weight:bold"]{font-family:var(--font-family-base)!important;font-size:var(--font-size-300)!important;font-weight:var(--font-weight-semibold)!important;color:var(--color-neutral-foreground-1)!important}.a2ui-surface-wrapper span[style*="color: red"]{color:var(--color-error)!important;font-size:var(--font-size-200)!important}.a2ui-surface-wrapper label[style*="cursor: pointer"][for]{font-family:var(--font-family-base)!important;font-size:var(--font-size-300)!important;color:var(--color-neutral-foreground-1)!important}.a2ui-surface-wrapper input[placeholder="Filter options..."]{font-family:var(--font-family-base)!important;font-size:var(--font-size-300)!important;border:1px solid var(--color-neutral-stroke-1)!important;border-radius:var(--radius-medium)!important;padding:var(--spacing-xs) var(--spacing-m)!important}.kickstart-radio-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-m);width:100%}.kickstart-radio-card{position:relative;background:var(--color-neutral-background-1);border:2px solid var(--color-neutral-stroke-2);border-radius:var(--radius-large);padding:var(--spacing-l);cursor:pointer;transition:all var(--duration-normal);box-shadow:var(--shadow-2)}.kickstart-radio-card:hover{border-color:var(--color-brand-light);box-shadow:var(--shadow-4)}.kickstart-radio-card.selected{border-color:var(--color-brand-primary);background:var(--color-brand-lighter);box-shadow:0 0 0 1px var(--color-brand-primary),var(--shadow-4)}.kickstart-radio-card-title{font-size:var(--font-size-400);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1);margin-bottom:var(--spacing-xs)}.kickstart-radio-card-desc{font-size:var(--font-size-200);color:var(--color-neutral-foreground-3);line-height:var(--line-height-200)}.kickstart-recommended-badge{display:inline-block;padding:1px var(--spacing-s);font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-brand-primary);background:var(--color-brand-light);border-radius:var(--radius-circular);margin-bottom:var(--spacing-s)}.kickstart-form-group{background:var(--color-neutral-background-1);border:1px solid var(--color-neutral-stroke-2);border-radius:var(--radius-large);padding:var(--spacing-xl);box-shadow:var(--shadow-2)}.kickstart-form-group-header{display:flex;align-items:center;gap:var(--spacing-m);margin-bottom:var(--spacing-l);padding-bottom:var(--spacing-m);border-bottom:1px solid var(--color-neutral-stroke-2)}.kickstart-form-group-title{font-size:var(--font-size-500);font-weight:var(--font-weight-semibold);color:var(--color-neutral-foreground-1)}.kickstart-step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--spacing-s);font-size:var(--font-size-200);font-weight:var(--font-weight-bold);color:var(--color-neutral-foreground-on-brand);background:var(--color-brand-primary);border-radius:var(--radius-circular)}.kickstart-code-block{border-radius:var(--radius-large);overflow:hidden;background:var(--color-neutral-background-inverted);box-shadow:var(--shadow-4);font-family:var(--font-family-mono)}.kickstart-code-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-s) var(--spacing-m);background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.08)}.kickstart-code-filename{display:flex;align-items:center;gap:var(--spacing-s);font-size:var(--font-size-200);color:#ffffffb3}.kickstart-code-lang-badge{font-size:var(--font-size-100);padding:1px var(--spacing-s);background:#ffffff1a;border-radius:var(--radius-small);color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.kickstart-code-copy-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-s);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-small);background:transparent;color:#fff9;font-size:var(--font-size-100);font-family:var(--font-family-base);cursor:pointer;transition:all var(--duration-fast)}.kickstart-code-copy-btn:hover{background:#ffffff1a!important;color:#ffffffe6!important;border-color:#ffffff4d!important}.kickstart-code-content{margin:0;padding:var(--spacing-m) var(--spacing-l);overflow-x:auto;font-size:var(--font-size-200);line-height:1.6;color:#d4d4d4;-moz-tab-size:2;tab-size:2}.kickstart-code-content code{font-family:var(--font-family-mono)}.kickstart-progress-steps{display:flex;align-items:flex-start;gap:0;width:100%;padding:var(--spacing-m) 0}.kickstart-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;min-width:0}.kickstart-step-indicator{position:relative;display:flex;align-items:center;width:100%;margin-bottom:var(--spacing-s)}.kickstart-step-dot{width:28px;height:28px;border-radius:var(--radius-circular);border:2px solid var(--color-neutral-stroke-1);background:var(--color-neutral-background-1);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;margin:0 auto;transition:all var(--duration-normal);font-size:var(--font-size-100);color:var(--color-neutral-foreground-3)}.kickstart-step.active .kickstart-step-dot{border-color:var(--color-brand-primary);background:var(--color-brand-primary);color:var(--color-neutral-foreground-on-brand);box-shadow:0 0 0 4px var(--color-brand-light);animation:stepPulse 2s ease-in-out infinite}.kickstart-step.complete .kickstart-step-dot{border-color:var(--color-success);background:var(--color-success);color:#fff}.kickstart-step.error .kickstart-step-dot{border-color:var(--color-error);background:var(--color-error);color:#fff}.kickstart-step-connector{position:absolute;top:14px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--color-neutral-stroke-2);z-index:0}.kickstart-step.complete .kickstart-step-connector{background:var(--color-success)}.kickstart-step:last-child .kickstart-step-connector{display:none}.kickstart-step-label{font-size:var(--font-size-200);color:var(--color-neutral-foreground-3);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kickstart-step.active .kickstart-step-label{color:var(--color-brand-primary);font-weight:var(--font-weight-semibold)}.kickstart-step.complete .kickstart-step-label{color:var(--color-success)}.kickstart-step.error .kickstart-step-label{color:var(--color-error)}@keyframes stepPulse{0%,to{box-shadow:0 0 0 4px var(--color-brand-light)}50%{box-shadow:0 0 0 8px #0078d41f}}.assistant-avatar{flex-shrink:0;border-radius:var(--radius-circular);margin-right:var(--spacing-s);margin-top:2px}.chat-bubble-row{display:flex;align-items:flex-start;gap:0}.chat-bubble-row .chat-bubble.assistant{flex:1;min-width:0}.playground-page{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;font-family:var(--fontFamilyBase)}.playground-gallery-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;background:#f5f5f5}.playground-gallery{column-count:1;column-gap:20px;max-width:1600px;margin:0 auto}@media(min-width:640px){.playground-gallery{column-count:2}}@media(min-width:1024px){.playground-gallery{column-count:3}}@media(min-width:1440px){.playground-gallery{column-count:4}}.playground-create-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:40px 20px;background:var(--color-bg-secondary, #f8f8f8)}.playground-surfaces{display:flex;flex-direction:column;gap:16px}.playground-widget-card{transition:transform .2s ease,box-shadow .2s ease}.playground-widget-card:hover{transform:translateY(-2px)}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
