:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #070b16;
  color: #eef3ff;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: #070b16; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 80% -10%, rgba(55, 91, 190, .25), transparent 36rem), radial-gradient(circle at -10% 48%, rgba(23, 175, 208, .12), transparent 32rem), #070b16; }
body::before { position: fixed; inset: 0; z-index: 0; pointer-events: none; content: ""; opacity: .25; background-image: linear-gradient(rgba(134, 157, 207, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(134, 157, 207, .07) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, black, transparent 86%); }
button { font: inherit; }
.app-shell { position: relative; z-index: 1; width: min(1080px, calc(100% - 40px)); margin: 0 auto; padding: 24px 0 22px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { display: grid; width: 39px; height: 39px; place-items: center; color: #8cecff; border: 1px solid rgba(118, 228, 255, .32); border-radius: 12px; background: linear-gradient(145deg, rgba(46, 212, 255, .22), rgba(70, 92, 255, .16)); box-shadow: 0 0 25px rgba(44, 202, 255, .14); }
.brand-mark svg { width: 26px; height: 26px; }
.brand strong, .brand span { display: block; }
.brand strong { font-size: .96rem; letter-spacing: .01em; }
.brand span { margin-top: 2px; color: #7888aa; font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }
.secure-badge { display: flex; align-items: center; gap: 8px; padding: 8px 12px; color: #aab9d7; border: 1px solid #223252; border-radius: 999px; background: rgba(14, 24, 45, .64); font-size: .75rem; }
.status-dot, .pulse-dot { display: inline-block; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #65e6b1; box-shadow: 0 0 0 4px rgba(101, 230, 177, .1), 0 0 14px rgba(101, 230, 177, .65); }
.pulse-dot { animation: pulse 2s ease-in-out infinite; }
.panel { border: 1px solid #223354; border-radius: 24px; background: linear-gradient(140deg, rgba(21, 32, 56, .95), rgba(10, 17, 32, .96)); box-shadow: 0 22px 80px rgba(0, 0, 0, .19), inset 0 1px rgba(255, 255, 255, .035); }
.hero-panel { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(250px, .85fr); min-height: 392px; overflow: hidden; }
.hero-copy { padding: clamp(30px, 5vw, 59px); }
.eyebrow { margin: 0 0 13px; color: #6e8dbf; font-size: .68rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow span { color: #6586ff; padding: 0 4px; }
h1, h2, p { margin-top: 0; }
h1 { max-width: 650px; margin-bottom: 18px; font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: .98; letter-spacing: -.055em; }
h1 em { color: #93a9ff; font-style: normal; }
.hero-description { max-width: 520px; margin-bottom: 30px; color: #93a3c1; font-size: .96rem; line-height: 1.65; }
.controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 0 17px; border-radius: 12px; font-size: .83rem; font-weight: 800; cursor: pointer; transition: transform .2s, filter .2s, opacity .2s; }
.primary-button { color: #041323; border: 0; background: linear-gradient(105deg, #83edff, #7da0ff); box-shadow: 0 9px 28px rgba(86, 180, 255, .22); }
.secondary-button { color: #ced9f2; border: 1px solid #334a73; background: rgba(20, 34, 61, .55); }
.primary-button:hover, .secondary-button:hover { transform: translateY(-1px); filter: brightness(1.08); }
button:disabled { opacity: .42; cursor: not-allowed; transform: none; filter: none; }
.button-icon svg { display: block; width: 20px; height: 20px; }
.state-pill { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 0 10px; color: #9cafcf; border: 1px solid #2b4166; border-radius: 999px; background: rgba(7, 15, 30, .5); font-size: .7rem; font-weight: 700; text-transform: lowercase; }
.state-pill::before { width: 6px; height: 6px; content: ""; border-radius: 50%; background: #7386aa; }
.state-pill.error { color: #ffb2c0; border-color: rgba(255, 102, 133, .4); }
.state-pill.error::before { background: #ff718d; box-shadow: 0 0 10px rgba(255, 113, 141, .8); }
.hint { min-height: 20px; margin: 14px 0 0; color: #7182a4; font-size: .76rem; }
.hero-visual { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; overflow: hidden; border-left: 1px solid rgba(48, 72, 115, .55); background: radial-gradient(circle at 50% 45%, rgba(57, 91, 198, .3), transparent 10rem); }
.hero-visual::before, .hero-visual::after { position: absolute; width: 280px; height: 280px; content: ""; border: 1px solid rgba(123, 156, 255, .13); border-radius: 50%; }
.hero-visual::after { width: 390px; height: 390px; border-color: rgba(123, 156, 255, .07); }
.visual-orb { display: grid; width: 158px; height: 158px; place-items: center; border: 1px solid rgba(143, 202, 255, .45); border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(117, 237, 255, .85), rgba(73, 108, 240, .75) 38%, rgba(32, 39, 98, .86) 73%); box-shadow: 0 0 0 15px rgba(83, 143, 255, .06), 0 0 75px rgba(66, 127, 255, .4), inset 0 0 35px rgba(209, 241, 255, .28); }
.wave-bars { display: flex; align-items: center; justify-content: center; gap: 5px; height: 48px; }
.wave-bars i { display: block; width: 4px; height: 25%; border-radius: 4px; background: #d5f7ff; box-shadow: 0 0 9px rgba(194, 248, 255, .8); animation: wave 1.15s ease-in-out infinite; }
.wave-bars i:nth-child(2), .wave-bars i:nth-child(8) { animation-delay: -.85s; height: 48%; }
.wave-bars i:nth-child(3), .wave-bars i:nth-child(7) { animation-delay: -.65s; height: 74%; }
.wave-bars i:nth-child(4), .wave-bars i:nth-child(6) { animation-delay: -.45s; height: 100%; }
.wave-bars i:nth-child(5) { animation-delay: -.3s; height: 62%; }
.visual-caption { display: flex; align-items: center; gap: 8px; margin-top: 28px; color: #9db0d5; font-size: .75rem; }
.meter { position: absolute; right: 17%; bottom: 32px; left: 17%; height: 4px; overflow: hidden; border-radius: 99px; background: #1c2b4a; }
#level { width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #61e3b1, #6fd6ff, #8993ff); transition: width 80ms linear; }
.workspace-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.transcript-card, .response-card { min-height: 358px; padding: 27px 28px; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 28px; }
.section-heading .eyebrow { margin-bottom: 5px; }
h2 { margin-bottom: 0; font-size: 1.32rem; letter-spacing: -.025em; }
.live-badge, .type-badge { display: inline-flex; align-items: center; gap: 7px; color: #76e1bd; font-size: .62rem; font-weight: 800; letter-spacing: .14em; }
.type-badge { color: #7186ae; font-size: .57rem; }
.stream-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #8294b7; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.partial-box, .transcript-box, .answer-box { white-space: pre-wrap; line-height: 1.65; }
.partial-box { min-height: 54px; margin-top: 12px; padding: 13px 15px; color: #b4c1ff; border: 1px solid #2a3e68; border-radius: 13px; background: rgba(21, 38, 79, .4); font-size: .93rem; }
.placeholder, .empty-state { color: #586b91; }
.stream-divider { height: 1px; margin: 24px 0; background: #203251; }
.transcript-box { min-height: 73px; margin-top: 10px; color: #dce5fa; font-size: .9rem; }
.final { padding: 8px 0; border-bottom: 1px solid rgba(43, 63, 98, .58); }
.final:last-child { border-bottom: 0; }
.answer-box { display: flex; min-height: 192px; align-items: flex-start; padding: 19px; color: #d5f8e9; border: 1px solid rgba(66, 120, 111, .52); border-radius: 14px; background: rgba(18, 55, 55, .21); font-size: .95rem; }
.response-note { display: flex; align-items: center; gap: 8px; margin-top: 20px; color: #6f89a8; font-size: .68rem; }
.sparkle { color: #89d9ff; font-size: 1.5rem; text-shadow: 0 0 18px rgba(137, 217, 255, .75); }
.how-it-works { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 27px 4px 8px; }
.step { display: flex; gap: 13px; padding: 6px 12px; }
.step-number { color: #6d8fff; font-size: .65rem; font-weight: 900; letter-spacing: .1em; }
.step strong { display: block; margin-bottom: 5px; color: #cbd7ee; font-size: .78rem; }
.step p { margin-bottom: 0; color: #687c9f; font-size: .7rem; line-height: 1.5; }
.footer { padding-top: 18px; color: #536687; font-size: .65rem; text-align: center; letter-spacing: .08em; text-transform: uppercase; }
.footer span { padding: 0 8px; color: #38527e; }
@keyframes pulse { 0%, 100% { opacity: .6; transform: scale(.85); } 50% { opacity: 1; transform: scale(1.12); } }
@keyframes wave { 0%, 100% { transform: scaleY(.45); opacity: .72; } 50% { transform: scaleY(1); opacity: 1; } }
@media (max-width: 760px) { .app-shell { width: min(100% - 26px, 600px); padding-top: 17px; } .topbar { margin-bottom: 19px; } .secure-badge { padding: 7px 9px; font-size: .66rem; } .hero-panel, .workspace-grid { grid-template-columns: 1fr; } .hero-panel { min-height: 0; } .hero-copy { padding: 30px 24px 25px; } .hero-visual { min-height: 220px; border-top: 1px solid rgba(48, 72, 115, .55); border-left: 0; } .visual-orb { width: 118px; height: 118px; } .meter { bottom: 21px; } .workspace-grid { gap: 14px; } .transcript-card, .response-card { min-height: 0; padding: 23px 22px; } .answer-box { min-height: 142px; } .how-it-works { grid-template-columns: 1fr; gap: 7px; padding-top: 22px; } .step { padding: 5px 2px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
