:root{--t-surface-0: #0a0a12;--t-surface-1: #0f0f1a;--t-surface-2: #161625;--t-surface-3: #1e1e32;--t-surface-4: #262640;--t-surface-glass: rgba(22, 22, 37, .85);--t-surface-scrim: rgba(0, 0, 0, .55);--t-text-primary: #e8e8f0;--t-text-secondary: #b4b4cc;--t-text-muted: #9a9ab5;--t-text-disabled: #5a5a75;--t-text-inverse: #0a0a12;--t-border-subtle: rgba(255, 255, 255, .06);--t-border-default: rgba(255, 255, 255, .1);--t-border-strong: rgba(255, 255, 255, .18);--t-accent: #64ffda;--t-accent-hover: #7dffe1;--t-accent-press: #4de6c2;--t-accent-soft: rgba(100, 255, 218, .15);--t-accent-glow: rgba(100, 255, 218, .08);--t-on-accent: #0a0a12;--t-success: #4ade80;--t-success-soft: rgba(74, 222, 128, .14);--t-warning: #ffd93d;--t-warning-soft: rgba(255, 217, 61, .14);--t-danger: #ff6b6b;--t-danger-soft: rgba(255, 107, 107, .12);--t-info: #3B82F6;--t-info-soft: rgba(59, 130, 246, .14);--t-focus-ring: 0 0 0 2px var(--t-surface-0), 0 0 0 4px var(--t-accent);--t-focus-ring-width: 2px;--t-focus-ring-offset: 2px;--t-focus-ring-color: var(--t-accent);--t-space-0: 0;--t-space-1: 4px;--t-space-2: 8px;--t-space-3: 12px;--t-space-4: 16px;--t-space-5: 20px;--t-space-6: 24px;--t-space-7: 32px;--t-space-8: 40px;--t-space-9: 48px;--t-space-10: 64px;--t-space-11: 80px;--t-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--t-font-mono: "SF Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;--t-font-size-xs: 12px;--t-font-size-sm: 13px;--t-font-size-base: 15px;--t-font-size-md: 16px;--t-font-size-lg: 18px;--t-font-size-xl: 20px;--t-font-size-h3: 22px;--t-font-size-h2: 26px;--t-font-size-h1: 32px;--t-font-size-display: 40px;--t-line-tight: 1.2;--t-line-snug: 1.35;--t-line-normal: 1.5;--t-line-relaxed: 1.7;--t-weight-regular: 400;--t-weight-medium: 500;--t-weight-semibold: 600;--t-weight-bold: 700;--t-tracking-tight: -.02em;--t-tracking-normal: 0;--t-tracking-wide: .04em;--t-tracking-caps: .08em;--t-radius-xs: 4px;--t-radius-sm: 6px;--t-radius-md: 8px;--t-radius-lg: 12px;--t-radius-xl: 16px;--t-radius-2xl: 20px;--t-radius-pill: 999px;--t-shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .2);--t-shadow-2: 0 4px 12px rgba(0, 0, 0, .45), 0 2px 4px rgba(0, 0, 0, .2);--t-shadow-3: 0 16px 40px rgba(0, 0, 0, .55), 0 4px 12px rgba(0, 0, 0, .3);--t-shadow-glow: 0 0 24px var(--t-accent-glow);--t-motion-instant: 0ms;--t-motion-fast: .12s;--t-motion-base: .18s;--t-motion-slow: .26s;--t-motion-slower: .4s;--t-ease-standard: cubic-bezier(.2, 0, 0, 1);--t-ease-emphasis: cubic-bezier(.3, 0, 0, 1);--t-ease-out: cubic-bezier(0, 0, .2, 1);--t-ease-in: cubic-bezier(.4, 0, 1, 1);--t-z-base: 0;--t-z-raised: 10;--t-z-sticky: 100;--t-z-overlay: 500;--t-z-drawer: 800;--t-z-modal: 900;--t-z-toast: 1000;--t-z-tooltip: 1100;--t-content-width-narrow: 560px;--t-content-width: 720px;--t-content-width-wide: 960px;--t-tap-target-min: 44px;--t-bp-sm: 640px;--t-bp-md: 1024px;--t-bp-lg: 1280px}@media (prefers-reduced-motion: reduce){:root{--t-motion-instant: 0ms;--t-motion-fast: 0ms;--t-motion-base: 0ms;--t-motion-slow: 0ms;--t-motion-slower: 0ms}}:focus{outline:none}:focus-visible{outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);outline-offset:var(--t-focus-ring-offset);border-radius:var(--t-radius-sm);transition:outline-offset var(--t-motion-fast) var(--t-ease-out)}button,[role=button],a,input,select,textarea,summary{font-family:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.t-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.t-skip-link{position:absolute;left:var(--t-space-4);top:var(--t-space-4);padding:var(--t-space-2) var(--t-space-4);background:var(--t-accent);color:var(--t-on-accent);border-radius:var(--t-radius-md);font-weight:var(--t-weight-semibold);text-decoration:none;transform:translateY(-200%);transition:transform var(--t-motion-base) var(--t-ease-out);z-index:var(--t-z-tooltip)}.t-skip-link:focus-visible{transform:translateY(0)}.app-main{display:block;flex:1;min-width:0}.app-alert-slot{margin-bottom:var(--t-space-4)}.t-skip-link{left:var(--t-space-4);top:var(--t-space-2)}.interview-sticky{position:sticky;top:0;z-index:var(--t-z-sticky);padding-top:var(--t-space-2);padding-bottom:var(--t-space-3);margin-bottom:var(--t-space-4);background:linear-gradient(180deg,var(--t-surface-0) 0%,var(--t-surface-0) 72%,rgba(10,10,18,0) 100%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.interview-sticky .interview-top{margin-bottom:var(--t-space-3)}.interview-sticky .progress-bar{margin-top:0}.interview-progress-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--t-space-2);font-size:var(--t-font-size-xs);color:var(--t-text-muted);letter-spacing:var(--t-tracking-wide)}.answer-shortcut-hint{display:inline-flex;align-items:center;gap:var(--t-space-1);font-size:var(--t-font-size-xs);color:var(--t-text-muted);margin-left:var(--t-space-2)}.answer-shortcut-hint kbd{display:inline-flex;align-items:center;padding:1px var(--t-space-2);background:var(--t-surface-3);border:1px solid var(--t-border-default);border-bottom-width:2px;border-radius:var(--t-radius-xs);font-family:var(--t-font-mono);font-size:11px;color:var(--t-text-secondary);line-height:1.4}.upload-alert-slot{margin-top:var(--t-space-4)}.upload-dropzone-wrap{margin-top:var(--t-space-5)}.drawer-overlay[data-trap=true]{animation:t-drawer-fade-in var(--t-motion-base) var(--t-ease-out)}.drawer-overlay[data-trap=true] .drawer{animation:t-drawer-slide-in var(--t-motion-slow) var(--t-ease-standard)}@keyframes t-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes t-drawer-slide-in{0%{transform:translate(16px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-footer{position:sticky;bottom:0;background:var(--t-surface-2);border-top:1px solid var(--t-border-subtle)}.drawer-header{position:sticky;top:0;z-index:1;background:var(--t-surface-2);border-bottom:1px solid var(--t-border-subtle)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--t-surface-0: #f7f7fb;--t-surface-1: #ffffff;--t-surface-2: #f0f0f7;--t-surface-3: #e4e4ef;--t-surface-4: #d5d5e4;--t-surface-glass: rgba(255, 255, 255, .85);--t-surface-scrim: rgba(15, 15, 26, .45);--t-text-primary: #0f1020;--t-text-secondary: #353651;--t-text-muted: #60617a;--t-text-disabled: #9a9ab5;--t-text-inverse: #ffffff;--t-border-subtle: rgba(15, 16, 32, .06);--t-border-default: rgba(15, 16, 32, .12);--t-border-strong: rgba(15, 16, 32, .22);--t-accent: #0ea47e;--t-accent-hover: #13b88d;--t-accent-press: #0a8a69;--t-accent-soft: rgba(14, 164, 126, .12);--t-accent-glow: rgba(14, 164, 126, .14);--t-on-accent: #ffffff;--t-success: #16a34a;--t-success-soft: rgba(22, 163, 74, .12);--t-warning: #b8860b;--t-warning-soft: rgba(184, 134, 11, .12);--t-danger: #dc2626;--t-danger-soft: rgba(220, 38, 38, .1);--t-info: #2563eb;--t-info-soft: rgba(37, 99, 235, .1);--t-shadow-1: 0 1px 2px rgba(15, 16, 32, .06), 0 1px 3px rgba(15, 16, 32, .08);--t-shadow-2: 0 4px 12px rgba(15, 16, 32, .08), 0 2px 4px rgba(15, 16, 32, .06);--t-shadow-3: 0 16px 40px rgba(15, 16, 32, .14), 0 4px 12px rgba(15, 16, 32, .08)}}:root[data-theme=light]{color-scheme:light;--t-surface-0: #f7f7fb;--t-surface-1: #ffffff;--t-surface-2: #f0f0f7;--t-surface-3: #e4e4ef;--t-surface-4: #d5d5e4;--t-surface-glass: rgba(255, 255, 255, .85);--t-text-primary: #0f1020;--t-text-secondary: #353651;--t-text-muted: #60617a;--t-text-disabled: #9a9ab5;--t-text-inverse: #ffffff;--t-border-subtle: rgba(15, 16, 32, .06);--t-border-default: rgba(15, 16, 32, .12);--t-border-strong: rgba(15, 16, 32, .22);--t-accent: #0ea47e;--t-accent-hover: #13b88d;--t-accent-press: #0a8a69;--t-accent-soft: rgba(14, 164, 126, .12);--t-accent-glow: rgba(14, 164, 126, .14);--t-on-accent: #ffffff}@keyframes t-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes t-scale-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes t-slide-up-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.t-anim-fade{animation:t-fade-in var(--t-motion-base) var(--t-ease-out) both}.t-anim-scale{animation:t-scale-in var(--t-motion-base) var(--t-ease-out) both}.t-anim-slideup{animation:t-slide-up-in var(--t-motion-slow) var(--t-ease-standard) both}.t-btn{will-change:transform;transition:background var(--t-motion-fast) var(--t-ease-out),border-color var(--t-motion-fast) var(--t-ease-out),color var(--t-motion-fast) var(--t-ease-out),transform var(--t-motion-fast) var(--t-ease-out),box-shadow var(--t-motion-base) var(--t-ease-out)}.t-btn--primary:hover:not(:disabled){box-shadow:var(--t-shadow-2),var(--t-shadow-glow)}.t-card--interactive{will-change:transform}.t-card--interactive:focus-visible{border-color:var(--t-accent);box-shadow:var(--t-shadow-2),0 0 0 3px var(--t-accent-soft);transform:translateY(-1px);outline:none}.t-alert{animation:t-fade-in var(--t-motion-base) var(--t-ease-out) both}.t-progress__fill{box-shadow:0 0 12px var(--t-accent-glow)}.t-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--t-space-4);padding:var(--t-space-9) var(--t-space-5);text-align:center;min-height:260px;border:1px dashed var(--t-border-default);border-radius:var(--t-radius-xl);background:var(--t-surface-1);animation:t-fade-in var(--t-motion-base) var(--t-ease-out) both}.t-empty__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--t-radius-pill);background:var(--t-surface-3);color:var(--t-text-muted);font-size:var(--t-font-size-xl)}.t-empty__title{font-size:var(--t-font-size-lg);font-weight:var(--t-weight-semibold);color:var(--t-text-primary);letter-spacing:var(--t-tracking-tight)}.t-empty__desc{font-size:var(--t-font-size-sm);color:var(--t-text-muted);max-width:420px;line-height:var(--t-line-relaxed)}.t-empty__actions{display:flex;gap:var(--t-space-3);margin-top:var(--t-space-2)}@media (max-width: 360px){.app-content{padding:var(--t-space-3) var(--t-space-3)}.t-btn{padding-left:var(--t-space-4);padding-right:var(--t-space-4)}.t-card{padding:var(--t-space-4)}}@media (max-width: 640px){:root{--t-font-size-h1: 26px;--t-font-size-h2: 22px;--t-font-size-display: 32px}.app-content{padding:var(--t-space-3) var(--t-space-4)}.interview-sticky{padding-top:var(--t-space-1)}.interview-top{flex-wrap:wrap;gap:var(--t-space-2)}.interview-progress-meta{flex-direction:column;align-items:flex-start;gap:var(--t-space-1)}.answer-actions,.upload-actions{flex-direction:column;align-items:stretch}.answer-actions .t-btn,.upload-actions .t-btn{width:100%}.drawer{width:100%;max-width:100%;border-radius:var(--t-radius-xl) var(--t-radius-xl) 0 0}.t-skeleton-hero{padding:var(--t-space-5) 0}.t-skeleton-bubble{padding:var(--t-space-4)}}@media (min-width: 641px) and (max-width: 1023px){.app-content{max-width:640px}}@media (min-width: 1024px){.app-content{max-width:var(--t-content-width)}.interview-sticky{padding-top:var(--t-space-3)}}@media (min-width: 1280px){.app-content{max-width:var(--t-content-width-wide)}}@media (prefers-contrast: more){:root{--t-border-subtle: rgba(255, 255, 255, .2);--t-border-default: rgba(255, 255, 255, .3);--t-border-strong: rgba(255, 255, 255, .5);--t-focus-ring-width: 3px}:root[data-theme="light"],@media (prefers-color-scheme: light){--t-border-subtle: rgba(15, 16, 32, .25);--t-border-default: rgba(15, 16, 32, .4);--t-border-strong: rgba(15, 16, 32, .6)}}@media (forced-colors: active){.t-btn,.t-card,.t-alert,.t-badge,.t-field__control,.t-progress{border:1px solid CanvasText}.t-btn--primary{background:Highlight;color:HighlightText}.t-progress__fill{background:Highlight}}.launch-loader{--ll-size: clamp(220px, 34vmin, 320px);--ll-accent: #7c9cff;--ll-accent-2: #c59bff;--ll-accent-3: #5ff0d6;--ll-ink: rgba(255, 255, 255, .92);--ll-ink-soft: rgba(255, 255, 255, .58);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(24px,4vmin,40px);min-height:min(70vh,620px);padding:clamp(24px,5vmin,48px);isolation:isolate;overflow:hidden}.launch-loader__field{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.launch-loader__mote{position:absolute;width:4px;height:4px;border-radius:50%;background:radial-gradient(circle,#ffffffe6,#fff0);filter:blur(.3px);opacity:0;animation:ll-drift 9s ease-in-out infinite}.launch-loader__mote--1{left:12%;top:28%;animation-delay:0s;transform:scale(1.2)}.launch-loader__mote--2{left:82%;top:22%;animation-delay:1.2s;transform:scale(.8)}.launch-loader__mote--3{left:18%;top:72%;animation-delay:2.3s;transform:scale(1)}.launch-loader__mote--4{left:76%;top:78%;animation-delay:3.1s;transform:scale(1.4)}.launch-loader__mote--5{left:50%;top:12%;animation-delay:4s;transform:scale(.9)}.launch-loader__mote--6{left:50%;top:88%;animation-delay:5.2s;transform:scale(1.1)}@keyframes ll-drift{0%{transform:translateZ(0) scale(.6);opacity:0}25%{opacity:.9}50%{transform:translate3d(12px,-14px,0) scale(1.2);opacity:.7}75%{opacity:.8}to{transform:translate3d(-8px,10px,0) scale(.6);opacity:0}}.launch-loader__stage{position:relative;width:var(--ll-size);height:var(--ll-size);z-index:1;transform-style:preserve-3d}.launch-loader__halo{position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;border-radius:50%;background:radial-gradient(circle at center,rgba(124,156,255,.35) 0%,rgba(197,155,255,.18) 28%,rgba(95,240,214,.08) 52%,transparent 72%);filter:blur(12px);animation:ll-halo 4.8s ease-in-out infinite}@keyframes ll-halo{0%,to{transform:scale(.9);opacity:.75}50%{transform:scale(1.08);opacity:1}}.launch-loader__core{position:absolute;top:50%;left:50%;width:38%;height:38%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffffe6,#fff0 55%),linear-gradient(135deg,var(--ll-accent),var(--ll-accent-2) 55%,var(--ll-accent-3));box-shadow:0 0 40px #7c9cff73,0 0 80px #c59bff40,inset 0 0 24px #ffffff59;display:grid;place-items:center;animation:ll-core-pulse 2.4s ease-in-out infinite}@keyframes ll-core-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.06)}}.launch-loader__core-glyph{position:relative;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(14px,2.2vmin,18px);font-weight:700;letter-spacing:.08em;color:#141830d9;text-shadow:0 1px 0 rgba(255,255,255,.4);mix-blend-mode:screen}.launch-loader__core-ring{position:absolute;top:-14%;right:-14%;bottom:-14%;left:-14%;border-radius:50%;border:1px solid rgba(255,255,255,.5);animation:ll-core-ring 2.4s ease-out infinite}.launch-loader__core-ring--delay{animation-delay:1.2s}@keyframes ll-core-ring{0%{transform:scale(.85);opacity:.9}to{transform:scale(1.55);opacity:0}}.launch-loader__orbit{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(255,255,255,.14);transform-origin:center}.launch-loader__orbit--a{width:100%;height:100%;transform:translate(-50%,-50%) rotateX(68deg);animation:ll-spin 6s linear infinite}.launch-loader__orbit--b{width:78%;height:78%;transform:translate(-50%,-50%) rotateX(68deg) rotate(60deg);animation:ll-spin 4.2s linear infinite reverse;border-color:#c59bff40}.launch-loader__orbit--c{width:58%;height:58%;transform:translate(-50%,-50%) rotateX(68deg) rotate(-30deg);animation:ll-spin 3.2s linear infinite;border-color:#5ff0d638}@keyframes ll-spin{0%{transform:translate(-50%,-50%) rotateX(68deg) rotate(0)}to{transform:translate(-50%,-50%) rotateX(68deg) rotate(360deg)}}.launch-loader__orbit--b{animation-name:ll-spin-b}.launch-loader__orbit--c{animation-name:ll-spin-c}@keyframes ll-spin-b{0%{transform:translate(-50%,-50%) rotateX(68deg) rotate(60deg)}to{transform:translate(-50%,-50%) rotateX(68deg) rotate(-300deg)}}@keyframes ll-spin-c{0%{transform:translate(-50%,-50%) rotateX(68deg) rotate(-30deg)}to{transform:translate(-50%,-50%) rotateX(68deg) rotate(330deg)}}.launch-loader__node{position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff;box-shadow:0 0 12px var(--ll-accent),0 0 22px #ffffffb3}.launch-loader__orbit--b .launch-loader__node{background:var(--ll-accent-2);box-shadow:0 0 14px var(--ll-accent-2),0 0 24px #c59bff8c}.launch-loader__orbit--c .launch-loader__node{background:var(--ll-accent-3);box-shadow:0 0 14px var(--ll-accent-3),0 0 24px #5ff0d68c}.launch-loader__status{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:20px;width:min(520px,92vw);padding:22px 28px;text-align:center;background:linear-gradient(180deg,#12162c8c,#12162c40);border:1px solid rgba(255,255,255,.08);border-radius:18px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 20px 60px #00000059,inset 0 1px #ffffff0d}.launch-loader__phases{position:relative;min-height:2em;width:100%;display:grid;place-items:center}.launch-loader__phase{grid-area:1 / 1;font-size:clamp(18px,2.4vmin,22px);font-weight:700;line-height:1.3;letter-spacing:.005em;color:#fff;text-shadow:0 0 18px rgba(124,156,255,.55),0 1px 2px rgba(0,0,0,.6);opacity:0;transform:translateY(10px);transition:opacity .48s ease,transform .48s ease;will-change:opacity,transform;white-space:nowrap}.launch-loader__phase--active{opacity:1;transform:translateY(0)}.launch-loader__track{position:relative;width:min(260px,70vw);height:3px;border-radius:999px;background:#ffffff1a;overflow:hidden}.launch-loader__bead{position:absolute;top:0;left:-30%;width:30%;height:100%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--ll-accent),var(--ll-accent-2),transparent);animation:ll-bead 1.8s ease-in-out infinite}@keyframes ll-bead{0%{left:-35%}50%{left:55%}to{left:105%}}.launch-loader__tagline{margin:0;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3}@media (max-width: 460px){.launch-loader__phase{font-size:16px;white-space:normal}.launch-loader__phases{min-height:2.6em}}@media (prefers-reduced-motion: reduce){.launch-loader__mote,.launch-loader__halo,.launch-loader__core,.launch-loader__core-ring,.launch-loader__orbit,.launch-loader__orbit--a,.launch-loader__orbit--b,.launch-loader__orbit--c,.launch-loader__bead,.launch-loader__phase{animation:none!important;transition:none!important}.launch-loader__phase{opacity:0;transform:none}.launch-loader__phase--active{opacity:1}.launch-loader__core{opacity:.95}.launch-loader__halo{opacity:.8}}@media (forced-colors: active){.launch-loader__halo,.launch-loader__mote,.launch-loader__bead{display:none}.launch-loader__core,.launch-loader__orbit,.launch-loader__node{border-color:CanvasText;background:Canvas;box-shadow:none;color:CanvasText}.launch-loader__phase{color:CanvasText}}@media (prefers-color-scheme: light){.launch-loader{--ll-ink: rgba(20, 24, 48, .92);--ll-ink-soft: rgba(20, 24, 48, .55)}.launch-loader__orbit{border-color:#14183024}.launch-loader__track{background:#1418301a}.launch-loader__core-ring{border-color:#7c9cff8c}}[data-theme=light] .launch-loader{--ll-ink: rgba(20, 24, 48, .92);--ll-ink-soft: rgba(20, 24, 48, .55)}:root{--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--bg-0: #0a0a12;--bg-1: #0f0f1a;--bg-2: #161625;--bg-3: #1e1e32;--bg-glass: rgba(22, 22, 37, .85);--text-1: #e8e8f0;--text-2: #9a9ab5;--text-3: #5a5a75;--accent: #64ffda;--accent-dim: rgba(100, 255, 218, .15);--accent-glow: rgba(100, 255, 218, .08);--blue: #3B82F6;--green: #64ffda;--yellow: #ffd93d;--red: #ff6b6b;--border: rgba(255, 255, 255, .06);--border-2: rgba(255, 255, 255, .1);--radius: 12px;--radius-sm: 8px;--radius-xs: 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg-0);color:var(--text-1);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{height:100%}.app{position:relative;min-height:100%;display:flex;flex-direction:column}.app-content{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:16px 20px;width:100%;flex:1}.particles-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.app-header{display:flex;justify-content:flex-end;margin-bottom:12px}.status-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--bg-2);border:1px solid var(--border-2);border-radius:100px;font-size:12px;color:var(--text-2);cursor:pointer;font-family:var(--font);transition:all .2s}.status-chip:hover{background:var(--bg-3);border-color:var(--accent-dim)}.status-led{width:6px;height:6px;border-radius:50%}.status-led.ok{background:var(--green);box-shadow:0 0 6px var(--green)}.status-led.warn{background:var(--yellow);box-shadow:0 0 6px var(--yellow)}.status-text{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:50vh;color:var(--text-3);font-size:14px}.start-screen{text-align:center}.start-hero{padding:32px 0 28px;display:flex;flex-direction:column;align-items:center}.hero-title{font-size:32px;font-weight:700;color:var(--text-1);margin-top:16px;letter-spacing:-.5px}.hero-sub{font-size:14px;color:var(--accent);margin-top:6px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.hero-desc{font-size:14px;color:var(--text-2);margin-top:14px;line-height:1.7;max-width:420px}.notice-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 14px;border-radius:var(--radius);background:#ff6b6b14;border:1px solid rgba(255,107,107,.22);color:var(--text-1);text-align:left}.notice-card p{font-size:13px;line-height:1.6;color:var(--text-2)}.session-grid{display:flex;flex-direction:column;gap:10px;margin-top:8px}.session-tile{position:relative;display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;font-family:var(--font);width:100%;overflow:hidden;transition:all .2s ease;animation:tileIn .4s ease both}@keyframes tileIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.session-tile:hover{border-color:var(--accent-dim);background:var(--bg-3);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.session-tile:hover .tile-glow{opacity:1}.tile-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,var(--accent-glow),transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}.tile-content{flex:1;position:relative;z-index:1}.tile-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;position:relative;z-index:1}.tile-name{font-size:15px;font-weight:500;color:var(--text-1)}.tile-sub{font-size:12px;color:var(--text-3);margin-top:3px}.tile-arrow{color:var(--text-3);flex-shrink:0;position:relative;z-index:1;transition:transform .2s}.session-tile:hover .tile-arrow{transform:translate(3px);color:var(--accent)}.tile-arrow.rotated{transform:rotate(90deg);color:#a78bfa}.ai-tile{border-color:#a78bfa33}.ai-tile:hover{border-color:#a78bfa66}.ai-tile--open{border-color:#a78bfa66;background:#a78bfa0d}.ai-panel{background:var(--bg-2);border:1px solid rgba(167,139,250,.2);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:12px;margin-top:-4px}.ai-panel-label{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.ai-topic-select{width:100%;padding:10px 14px;background:var(--bg-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-1);font-size:14px;font-family:var(--font);cursor:pointer;outline:none;transition:border-color .15s}.ai-topic-select:focus{border-color:#a78bfa}.ai-panel-hint{font-size:12px;color:var(--text-3);line-height:1.6}.ai-gen-btn{background:linear-gradient(135deg,#7c3aed,#a78bfa)!important;width:100%;justify-content:center}.ai-gen-btn:hover{opacity:.9}.interview-screen{display:flex;flex-direction:column;gap:0}.interview-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.ghost-btn{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-3);background:none;border:none;cursor:pointer;font-family:var(--font);padding:4px 8px;border-radius:var(--radius-xs);transition:all .15s}.ghost-btn:hover{color:var(--text-1);background:var(--bg-3)}.interview-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);flex:1}.meta-section{color:var(--text-2);font-weight:500}.meta-divider{opacity:.3}.meta-attempt{font-size:10px;padding:2px 8px;border-radius:100px;background:#ffd93d1f;color:var(--yellow);font-weight:500}.avg-badge{font-size:12px;font-weight:600;padding:4px 12px;border-radius:100px;background:var(--accent-dim);color:var(--accent)}.progress-bar{height:3px;background:var(--bg-3);border-radius:100px;overflow:hidden;margin-bottom:20px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--blue));border-radius:100px;transition:width .4s ease}.interviewer-area{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px}.interviewer-bubble{flex:1;background:var(--bg-2);border:1px solid var(--border);border-radius:2px var(--radius) var(--radius) var(--radius);padding:18px 20px;position:relative}.bubble-tags{display:flex;gap:6px;margin-bottom:12px}.bubble-tag{font-size:10px;padding:3px 10px;border-radius:100px;background:var(--bg-3);border:1px solid var(--border);color:var(--text-3);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.bubble-text{font-size:15px;color:var(--text-1);line-height:1.75;cursor:default}.cursor-blink{color:var(--accent);animation:blink .6s step-end infinite}@keyframes blink{50%{opacity:0}}.tap-hint{font-size:10px;color:var(--text-3);margin-top:8px;opacity:.5}.answer-area{display:flex;flex-direction:column;gap:12px}.voice-controls{display:flex;align-items:center;gap:10px;min-height:32px}.waveform{flex-shrink:0}.voice-label{flex:1;font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.voice-mode-badge{font-size:10px;padding:2px 8px;border-radius:100px;background:#64ffda1a;color:var(--accent);font-weight:500;white-space:nowrap}.voice-toggle{padding:6px 16px;border-radius:var(--radius-xs);border:1px solid var(--border-2);background:var(--bg-2);color:var(--text-2);font-size:12px;font-family:var(--font);cursor:pointer;transition:all .15s;white-space:nowrap}.voice-toggle:hover{border-color:var(--accent-dim);color:var(--text-1)}.voice-toggle.active{background:var(--red);border-color:var(--red);color:#fff;animation:pulse-soft 1.5s infinite}.voice-toggle.transcribing{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);cursor:not-allowed;animation:none}.voice-toggle:disabled{opacity:.7;cursor:not-allowed}@keyframes pulse-soft{0%,to{box-shadow:0 0 #ff6b6b66}50%{box-shadow:0 0 0 6px #ff6b6b00}}.answer-input{width:100%;border:1px solid var(--border-2);border-radius:var(--radius);padding:16px 18px;font-size:14px;color:var(--text-1);font-family:var(--font);line-height:1.75;resize:vertical;min-height:130px;outline:none;background:var(--bg-1);transition:border-color .2s,box-shadow .2s}.answer-input::placeholder{color:var(--text-3)}.answer-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.inline-error{font-size:12px;color:var(--red)}.answer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .2s;border:none}.action-btn.primary{background:linear-gradient(135deg,var(--accent),#4ecdc4);color:var(--bg-0);font-weight:600}.action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #64ffda40}.action-btn.outline{background:transparent;border:1px solid var(--border-2);color:var(--text-1)}.action-btn.outline:hover{background:var(--bg-3);border-color:var(--text-3)}.action-btn.ghost{background:none;color:var(--text-3);padding:8px 12px;text-decoration:underline;text-underline-offset:2px}.action-btn.ghost:hover{color:var(--text-2)}.ml-auto{margin-left:auto}.your-answer-box{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:14px}.ya-label{font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;display:block}.ya-text{font-size:13px;color:var(--text-2);line-height:1.65;word-break:break-word}.thinking-area{display:flex;flex-direction:column;gap:14px}.thinking-indicator{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text-2)}.think-dots{display:flex;gap:4px}.think-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotBounce 1.4s ease-in-out infinite}.think-dots span:nth-child(2){animation-delay:.2s}.think-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.3}40%{transform:translateY(-6px);opacity:1}}.result-area{display:flex;flex-direction:column;gap:14px}.result-panel{border-radius:var(--radius);padding:24px;border:1px solid var(--border);animation:panelIn .4s ease}@keyframes panelIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.result-panel.correct{background:#64ffda0d;border-color:#64ffda33}.result-panel.partial{background:#ffd93d0d;border-color:#ffd93d33}.result-panel.incorrect{background:#ff6b6b0d;border-color:#ff6b6b33}.result-top{display:flex;gap:24px;align-items:flex-start;margin-bottom:16px}.score-reveal{flex-shrink:0}.result-verdict-info{flex:1}.verdict-text{font-size:18px;font-weight:600;margin-bottom:4px;display:block}.correct .verdict-text{color:var(--green)}.partial .verdict-text{color:var(--yellow)}.incorrect .verdict-text{color:var(--red)}.semantic-note{font-size:10px;color:var(--text-3);font-style:italic;display:block;margin-bottom:8px}.score-bar-wrap{display:flex;align-items:center;gap:10px;margin-bottom:16px}.score-bar{flex:1;height:6px;background:var(--bg-3);border-radius:100px;overflow:hidden}.score-bar-fill{height:100%;border-radius:100px;transition:width .8s ease}.score-bar-fill.correct{background:linear-gradient(90deg,var(--green),#00e5ff)}.score-bar-fill.partial{background:linear-gradient(90deg,var(--yellow),#ffaa00)}.score-bar-fill.incorrect{background:linear-gradient(90deg,var(--red),#ff4444)}.score-bar-label{font-size:12px;color:var(--text-3);white-space:nowrap}.concept-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.concept-card{display:flex;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);align-items:flex-start}.concept-card.covered{background:#64ffda0f;border:1px solid rgba(100,255,218,.15)}.concept-card.missing{background:#ff6b6b0f;border:1px solid rgba(255,107,107,.15)}.concept-icon{font-size:13px;font-weight:700;flex-shrink:0;margin-top:1px}.concept-card.covered .concept-icon{color:var(--green)}.concept-card.missing .concept-icon{color:var(--red)}.concept-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);display:block;margin-bottom:3px}.concept-text{font-size:13px;color:var(--text-2);line-height:1.6;margin:0}.feedback-row{margin-bottom:10px}.fb-label{font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.fb-value{font-size:13px;color:var(--text-2);line-height:1.6}.hint-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:#ffd93d0f;border:1px solid rgba(255,217,61,.12);border-radius:var(--radius-sm);margin-bottom:12px}.hint-icon{font-size:16px;flex-shrink:0;line-height:1.6}.hint-box p{font-size:13px;color:var(--text-2);line-height:1.6}.ideal-btn{font-size:12px;color:var(--text-3);background:none;border:none;cursor:pointer;font-family:var(--font);text-decoration:underline;text-underline-offset:2px;padding:0}.ideal-btn:hover{color:var(--text-2)}.ideal-answer{margin-top:10px;padding:14px 16px;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text-2);line-height:1.75}.done-screen{text-align:center;padding:40px 0;display:flex;flex-direction:column;align-items:center;gap:12px}.done-score-area{margin:8px 0}.done-msg{font-size:18px;font-weight:500;color:var(--text-1)}.done-sub{font-size:13px;color:var(--text-3);margin-bottom:8px}.done-stats{width:100%;max-width:460px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.stat-pill{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 8px;text-align:center}.stat-val{font-size:24px;font-weight:600;display:block}.stat-lbl{font-size:10px;color:var(--text-3);margin-top:4px;text-transform:uppercase;letter-spacing:.5px;display:block}.done-actions{display:flex;gap:10px;justify-content:center}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.drawer{width:380px;max-width:90vw;background:var(--bg-1);border-left:1px solid var(--border);display:flex;flex-direction:column;animation:drawerSlide .25s ease}@keyframes drawerSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.drawer-title{font-size:18px;font-weight:600;color:var(--text-1)}.drawer-close{background:none;border:none;color:var(--text-3);cursor:pointer;padding:4px;border-radius:6px;display:flex}.drawer-close:hover{color:var(--text-1);background:var(--bg-3)}.drawer-body{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.field-label{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;margin-top:12px;display:block}.field-label:first-child{margin-top:0}.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.provider-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);transition:all .15s;position:relative}.provider-card:hover{border-color:var(--border-2);background:var(--bg-3)}.provider-card.active{border-color:var(--accent);background:var(--accent-dim)}.provider-icon{font-size:22px}.provider-name{font-size:12px;color:var(--text-1);font-weight:500}.provider-badge{position:absolute;top:6px;right:6px;font-size:9px;padding:2px 6px;border-radius:100px;background:var(--accent-dim);color:var(--accent);font-weight:600;text-transform:uppercase}.groq-badge{background:#ffd93d26;color:var(--yellow)}.groq-hint a{color:var(--accent);text-decoration:none}.groq-hint a:hover{text-decoration:underline}.key-input-wrap{position:relative;display:flex;align-items:center;gap:8px}.key-input-wrap .field-input{flex:1;padding-right:42px}.key-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-3);padding:4px;line-height:1;transition:color .15s}.key-toggle:hover{color:var(--text-1)}.field-input{width:100%;padding:10px 14px;background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--radius-xs);color:var(--text-1);font-size:13px;font-family:var(--mono);outline:none;transition:border-color .15s}.field-input::placeholder{color:var(--text-3);font-family:var(--font)}.field-input:focus{border-color:var(--accent)}.field-hint{font-size:11px;color:var(--text-3);margin-top:6px;line-height:1.5}.field-select{width:100%;padding:10px 14px;background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--radius-xs);color:var(--text-1);font-size:13px;font-family:var(--font);outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9ab5' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.field-select:focus{border-color:var(--accent)}.field-select option{background:var(--bg-1);color:var(--text-1)}.drawer-footer{padding:16px 24px;border-top:1px solid var(--border)}.btn-save{width:100%;padding:12px;background:linear-gradient(135deg,var(--accent),#4ecdc4);color:var(--bg-0);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .2s}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 16px #64ffda40}.avatar{transition:transform .3s ease}.avatar--speaking{animation:avatarBreathe 2s ease-in-out infinite}.avatar--thinking{animation:avatarThink 1.5s ease-in-out infinite}.avatar--happy .avatar-ring{stroke:var(--green)}.avatar--disappointed .avatar-ring{stroke:var(--red)}.avatar-ring{transition:stroke .3s}.avatar-eye{transition:all .3s}.avatar--speaking .avatar-mouth-speak{animation:mouthMove .4s ease-in-out infinite alternate}@keyframes mouthMove{0%{ry:2}to{ry:4}}@keyframes avatarBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes avatarThink{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.slide-up{animation:slideUp .35s ease both}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 600px){.notice-card{flex-direction:column;align-items:stretch}.interviewer-area{flex-direction:column;align-items:center;text-align:center}.interviewer-bubble{border-radius:var(--radius)}.result-top{flex-direction:column;align-items:center;text-align:center}.stat-row{grid-template-columns:repeat(2,1fr)}.provider-grid{grid-template-columns:1fr}.hero-title{font-size:26px}}.upload-page{max-width:560px;margin:0 auto;padding:32px 20px 48px;display:flex;flex-direction:column;gap:24px}.upload-header{display:flex;align-items:flex-start;gap:16px}.upload-back-btn{display:flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--border-2);color:var(--text-2);border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;flex-shrink:0;margin-top:4px}.upload-back-btn:hover{background:var(--bg-3);color:var(--text-1)}.upload-title-area{flex:1}.upload-title{font-size:22px;font-weight:700;color:var(--text-1);margin-bottom:6px}.upload-sub{font-size:14px;color:var(--text-2);line-height:1.5}.dropzone{border:2px dashed var(--border-2);border-radius:var(--radius);background:var(--bg-1);padding:48px 32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;min-height:200px;outline:none}.dropzone:hover,.dropzone:focus-visible{border-color:#34d39966;background:#34d39908}.dropzone--over{border-color:#34d399;background:#34d3990f;box-shadow:0 0 0 4px #34d39914}.dropzone--has-file{cursor:default;padding:24px 32px;min-height:unset}.dropzone-idle{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.dropzone-icon{color:var(--text-3);margin-bottom:4px}.dropzone-main{font-size:16px;font-weight:600;color:var(--text-1)}.dropzone-hint{font-size:14px;color:var(--text-2)}.dropzone-browse{color:#34d399;text-decoration:underline;cursor:pointer}.dropzone-types{font-size:12px;color:var(--text-3);margin-top:4px}.dropzone-file{display:flex;align-items:center;gap:16px;width:100%}.dropzone-file-icon{color:#34d399;flex-shrink:0}.dropzone-file-info{flex:1;min-width:0}.dropzone-file-name{font-size:15px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropzone-file-size{font-size:12px;color:var(--text-2);margin-top:3px}.dropzone-clear{background:none;border:1px solid var(--border-2);color:var(--text-3);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .2s,border-color .2s}.dropzone-clear:hover{color:var(--red);border-color:var(--red)}.upload-error{color:var(--red);font-size:13px;background:#ff6b6b14;border:1px solid rgba(255,107,107,.2);border-radius:var(--radius-sm);padding:10px 14px}.upload-actions{display:flex;justify-content:center}.upload-note{font-size:12px;color:var(--text-3);text-align:center;line-height:1.6}.iv-progress{display:flex;flex-direction:column;gap:12px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin:12px 0 18px}.iv-profile-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border)}.iv-profile-block{display:flex;flex-direction:column;gap:2px}.iv-profile-role{font-size:14px;font-weight:600;color:var(--text-1)}.iv-profile-meta{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.4px}.iv-phase-bar{display:flex;gap:6px;flex-wrap:wrap}.iv-phase-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--bg-2);border:1px solid var(--border-2);font-size:11px;color:var(--text-3);transition:all .25s}.iv-phase-dot{width:6px;height:6px;border-radius:50%;background:var(--text-3)}.iv-phase-chip.past{color:var(--text-2);border-color:#64ffda26}.iv-phase-chip.past .iv-phase-dot{background:var(--accent);opacity:.5}.iv-phase-chip.active{background:#64ffda14;color:var(--accent);border-color:#64ffda66;box-shadow:0 0 0 3px #64ffda0f}.iv-phase-chip.active .iv-phase-dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}.iv-meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.iv-difficulty{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--yellow)}.iv-difficulty-text{color:var(--text-3);margin-left:4px}.iv-skills{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1}.iv-skills-label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px}.iv-skill-tag{font-size:11px;padding:3px 8px;border-radius:999px;background:#a78bfa1a;color:#c4b5fd;border:1px solid rgba(167,139,250,.2)}.iv-skill-more{background:var(--bg-3);color:var(--text-3);border-color:var(--border-2)}.iv-history{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:280px;overflow-y:auto;padding-right:6px}.iv-history::-webkit-scrollbar{width:6px}.iv-history::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}.iv-bubble{position:relative;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;max-width:88%}.iv-bubble.assistant{background:var(--bg-2);border:1px solid var(--border-2);color:var(--text-2);align-self:flex-start;border-top-left-radius:4px}.iv-bubble.user{background:#64ffda0d;border:1px solid rgba(100,255,218,.15);color:var(--text-1);align-self:flex-end;border-top-right-radius:4px;margin-left:auto}.iv-bubble p{margin:0}.iv-bubble-tag{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);margin-bottom:4px;padding:2px 6px;border-radius:4px;background:var(--bg-3)}.iv-bubble-score{display:inline-block;margin-top:6px;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px}.iv-bubble-score.score-good{background:#64ffda1f;color:var(--accent)}.iv-bubble-score.score-mid{background:#ffd93d1f;color:var(--yellow)}.iv-bubble-score.score-bad{background:#ff6b6b1f;color:var(--red)}.t-btn{--_bg: var(--t-surface-3);--_fg: var(--t-text-primary);--_bd: var(--t-border-default);--_bg-hover: var(--t-surface-4);-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--t-space-2);min-height:var(--t-tap-target-min);padding:var(--t-space-3) var(--t-space-5);background:var(--_bg);color:var(--_fg);border:1px solid var(--_bd);border-radius:var(--t-radius-lg);font-family:var(--t-font-sans);font-size:var(--t-font-size-md);font-weight:var(--t-weight-semibold);line-height:var(--t-line-tight);letter-spacing:var(--t-tracking-normal);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-motion-fast) var(--t-ease-out),border-color var(--t-motion-fast) var(--t-ease-out),transform var(--t-motion-fast) var(--t-ease-out),box-shadow var(--t-motion-fast) var(--t-ease-out)}.t-btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--_bg-hover);border-color:var(--t-border-strong)}.t-btn:active:not(:disabled):not([aria-disabled=true]){transform:scale(.98)}.t-btn:disabled,.t-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.t-btn--primary{--_bg: var(--t-accent);--_fg: var(--t-on-accent);--_bd: transparent;--_bg-hover: var(--t-accent-hover);box-shadow:var(--t-shadow-glow)}.t-btn--primary:active:not(:disabled){background:var(--t-accent-press)}.t-btn--secondary{--_bg: var(--t-surface-2);--_fg: var(--t-text-primary);--_bd: var(--t-border-default);--_bg-hover: var(--t-surface-3)}.t-btn--ghost{--_bg: transparent;--_fg: var(--t-text-secondary);--_bd: transparent;--_bg-hover: var(--t-surface-2)}.t-btn--danger{--_bg: var(--t-danger-soft);--_fg: var(--t-danger);--_bd: var(--t-danger);--_bg-hover: rgba(255, 107, 107, .2)}.t-btn--sm{min-height:36px;padding:var(--t-space-2) var(--t-space-4);font-size:var(--t-font-size-sm)}.t-btn--lg{min-height:52px;padding:var(--t-space-4) var(--t-space-6);font-size:var(--t-font-size-lg)}.t-btn--block{width:100%}.t-btn--icon{min-width:var(--t-tap-target-min);padding:var(--t-space-2)}.t-card{background:var(--t-surface-2);border:1px solid var(--t-border-subtle);border-radius:var(--t-radius-xl);padding:var(--t-space-6);box-shadow:var(--t-shadow-1);transition:border-color var(--t-motion-base) var(--t-ease-out),box-shadow var(--t-motion-base) var(--t-ease-out),transform var(--t-motion-base) var(--t-ease-out)}.t-card--interactive{cursor:pointer}.t-card--interactive:hover{border-color:var(--t-border-strong);box-shadow:var(--t-shadow-2);transform:translateY(-1px)}.t-card--glass{background:var(--t-surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.t-card--flat{box-shadow:none}.t-card__header{margin-bottom:var(--t-space-4)}.t-card__title{font-size:var(--t-font-size-lg);font-weight:var(--t-weight-semibold);color:var(--t-text-primary);letter-spacing:var(--t-tracking-tight);margin:0}.t-card__subtitle{font-size:var(--t-font-size-sm);color:var(--t-text-muted);margin-top:var(--t-space-1)}.t-card__body{color:var(--t-text-secondary);font-size:var(--t-font-size-md);line-height:var(--t-line-normal)}.t-card__footer{margin-top:var(--t-space-5);display:flex;gap:var(--t-space-3)}.t-field{display:flex;flex-direction:column;gap:var(--t-space-2)}.t-field__label{font-size:var(--t-font-size-sm);font-weight:var(--t-weight-medium);color:var(--t-text-secondary)}.t-field__required{color:var(--t-danger);margin-left:var(--t-space-1)}.t-field__control{min-height:var(--t-tap-target-min);padding:var(--t-space-3) var(--t-space-4);background:var(--t-surface-1);border:1px solid var(--t-border-default);border-radius:var(--t-radius-md);color:var(--t-text-primary);font-family:var(--t-font-sans);font-size:var(--t-font-size-md);line-height:var(--t-line-normal);transition:border-color var(--t-motion-fast) var(--t-ease-out),background var(--t-motion-fast) var(--t-ease-out)}.t-field__control::placeholder{color:var(--t-text-disabled)}.t-field__control:hover{border-color:var(--t-border-strong)}.t-field__control:focus-visible{border-color:var(--t-accent);background:var(--t-surface-2);outline:none;box-shadow:0 0 0 3px var(--t-accent-soft)}.t-field--invalid .t-field__control{border-color:var(--t-danger)}.t-field--invalid .t-field__control:focus-visible{box-shadow:0 0 0 3px var(--t-danger-soft)}.t-field__help{font-size:var(--t-font-size-xs);color:var(--t-text-muted)}.t-field__error{font-size:var(--t-font-size-xs);color:var(--t-danger);font-weight:var(--t-weight-medium)}textarea.t-field__control{resize:vertical;min-height:96px;line-height:var(--t-line-relaxed)}.t-alert{display:flex;gap:var(--t-space-3);padding:var(--t-space-4) var(--t-space-5);border-radius:var(--t-radius-lg);border:1px solid var(--t-border-default);background:var(--t-surface-2);color:var(--t-text-primary);align-items:flex-start}.t-alert__icon{flex:0 0 auto;line-height:1;font-size:var(--t-font-size-lg)}.t-alert__body{flex:1 1 auto;min-width:0}.t-alert__title{font-size:var(--t-font-size-md);font-weight:var(--t-weight-semibold);line-height:var(--t-line-snug)}.t-alert__desc{font-size:var(--t-font-size-sm);color:var(--t-text-muted);margin-top:var(--t-space-1);line-height:var(--t-line-normal)}.t-alert__actions{margin-top:var(--t-space-3);display:flex;gap:var(--t-space-2)}.t-alert--info{border-color:var(--t-info);background:var(--t-info-soft)}.t-alert--success{border-color:var(--t-success);background:var(--t-success-soft)}.t-alert--warning{border-color:var(--t-warning);background:var(--t-warning-soft)}.t-alert--danger{border-color:var(--t-danger);background:var(--t-danger-soft)}.t-badge{display:inline-flex;align-items:center;gap:var(--t-space-1);padding:2px var(--t-space-3);border-radius:var(--t-radius-pill);font-size:var(--t-font-size-xs);font-weight:var(--t-weight-semibold);letter-spacing:var(--t-tracking-wide);text-transform:uppercase;background:var(--t-surface-3);color:var(--t-text-secondary);border:1px solid var(--t-border-default);line-height:1.6}.t-badge--accent{background:var(--t-accent-soft);color:var(--t-accent);border-color:var(--t-accent)}.t-badge--success{background:var(--t-success-soft);color:var(--t-success);border-color:var(--t-success)}.t-badge--warning{background:var(--t-warning-soft);color:var(--t-warning);border-color:var(--t-warning)}.t-badge--danger{background:var(--t-danger-soft);color:var(--t-danger);border-color:var(--t-danger)}.t-badge--info{background:var(--t-info-soft);color:var(--t-info);border-color:var(--t-info)}.t-progress{position:relative;width:100%;height:8px;background:var(--t-surface-3);border-radius:var(--t-radius-pill);overflow:hidden}.t-progress__fill{position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,var(--t-accent),var(--t-accent-hover));border-radius:inherit;transition:width var(--t-motion-slow) var(--t-ease-out)}.t-progress--indeterminate .t-progress__fill{width:40%;animation:t-progress-slide 1.2s var(--t-ease-standard) infinite}@keyframes t-progress-slide{0%{left:-40%}to{left:100%}}.t-progress--sm{height:4px}.t-progress--lg{height:12px}.t-skeleton{display:inline-block;background:linear-gradient(90deg,var(--t-surface-2) 0%,var(--t-surface-3) 50%,var(--t-surface-2) 100%);background-size:200% 100%;animation:t-skeleton-shimmer 1.4s var(--t-ease-standard) infinite;border-radius:var(--t-radius-md);vertical-align:middle}.t-skeleton--circle{border-radius:var(--t-radius-pill)}.t-skeleton--line{display:block;height:14px;border-radius:var(--t-radius-sm)}.t-skeleton--rect{display:block}.t-skeleton--card{display:block;min-height:160px;border-radius:var(--t-radius-xl)}.t-skeleton-stack{display:flex;flex-direction:column;gap:var(--t-space-2)}.t-skeleton-page{display:flex;flex-direction:column;gap:var(--t-space-5);padding:var(--t-space-6) 0;min-height:60vh}.t-skeleton-hero{display:flex;flex-direction:column;align-items:center;gap:var(--t-space-3);padding:var(--t-space-6) 0}.t-skeleton-dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--t-space-3);padding:var(--t-space-9) var(--t-space-5);border:1px dashed var(--t-border-default);border-radius:var(--t-radius-xl);background:var(--t-surface-1)}.t-skeleton-row{display:flex;align-items:center;gap:var(--t-space-3);justify-content:space-between}.t-skeleton-bubble{display:flex;gap:var(--t-space-4);align-items:flex-start;padding:var(--t-space-5);border:1px solid var(--t-border-subtle);border-radius:var(--t-radius-xl);background:var(--t-surface-2)}@keyframes t-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.t-skeleton{animation:none;background:var(--t-surface-2)}}
