:root{
  --bg:#07090e;--bg2:#0b1018;--panel:#0f151f;--panel2:#121b27;--panel3:#0c121b;
  --line:rgba(185,206,255,.11);--line2:rgba(128,105,255,.28);--text:#f5f7fb;--muted:#8f9aab;
  --violet:#8b7cff;--violet2:#5c4bd6;--cyan:#55d6e8;--blue:#65a8ff;--good:#49d69d;--bad:#ff6f86;--warn:#ffbe6a;
  --shadow:0 28px 90px rgba(0,0,0,.48);--radius:28px;
}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:"Segoe UI Variable",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{overflow:hidden;background:
 radial-gradient(circle at 8% -10%,rgba(85,214,232,.16),transparent 28%),
 radial-gradient(circle at 98% 0%,rgba(139,124,255,.18),transparent 29%),
 radial-gradient(circle at 52% 115%,rgba(101,168,255,.10),transparent 33%),
 linear-gradient(145deg,#05070b 0%,#090d14 52%,#06080d 100%)}
button,input,textarea,select{font:inherit}.hidden{display:none!important}button{color:inherit}
#bgGlow{position:fixed;inset:0;pointer-events:none;opacity:.58;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at center,#000 20%,transparent 80%)}
.glass{background:linear-gradient(145deg,rgba(18,25,36,.90),rgba(9,14,22,.86));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(1.15)}

/* Main shell */
.app{height:100dvh;min-height:0;padding:16px;display:grid;grid-template-rows:72px minmax(0,1fr);gap:14px}
.topbar{border-radius:22px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px 0 20px;position:relative;overflow:hidden}
.topbar:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--cyan),var(--violet));box-shadow:0 0 24px var(--cyan)}
.top-status,.top-actions{display:flex;align-items:center;gap:8px}.top-center{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:2px}.brand-side{justify-self:end}
.brand{font-size:23px;font-weight:800;letter-spacing:-.045em}.brand-k{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:5px;border-radius:10px;background:linear-gradient(145deg,var(--cyan),var(--violet));color:#071019;letter-spacing:0;box-shadow:0 0 28px rgba(85,214,232,.22)}
.brand small{font-size:10px;letter-spacing:.12em;color:#b8c2d3;vertical-align:top;margin-left:3px}.brand-sub{display:block;margin:3px 0 0 36px;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:#657183;font-weight:700;white-space:nowrap}
.hello{font-size:13px;color:#d7dce6;font-weight:650}.local-clock{font-size:11px;color:#6f7a8b;font-variant-numeric:tabular-nums}
.status-pill,.icon-btn,.mini-toggle,.round-btn,.primary,.secondary,.ghost{border:0;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}
.status-pill{display:flex;gap:8px;align-items:center;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:#8e9aab;font-size:11px}.status-pill:hover,.icon-btn:hover{background:rgba(139,124,255,.10);border-color:rgba(139,124,255,.22)}.status-pill i{width:7px;height:7px;border-radius:50%;background:#596273}.status-pill.ok i{background:var(--good);box-shadow:0 0 14px rgba(73,214,157,.75)}.status-pill.bad i{background:var(--bad);box-shadow:0 0 14px rgba(255,111,134,.55)}
.icon-btn{width:38px;height:38px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-weight:750}.text-icon{font-size:15px}

.workspace{display:grid;grid-template-columns:minmax(360px,43%) minmax(0,1fr);gap:14px;min-height:0}.avatar-panel,.chat-panel{min-height:0;border-radius:var(--radius);overflow:hidden;position:relative}
.avatar-panel{display:grid;grid-template-rows:minmax(0,1fr) 78px;background:linear-gradient(155deg,#0f1822,#080d14)}
.avatar-panel:before{content:"PERSONA // LIVE";position:absolute;top:18px;left:19px;z-index:10;font-size:9px;font-weight:800;letter-spacing:.2em;color:#75869c}
.avatar-stage{position:relative;min-height:0;overflow:hidden;isolation:isolate;background:
 radial-gradient(ellipse at 50% 42%,rgba(85,214,232,.16),transparent 36%),
 radial-gradient(ellipse at 50% 68%,rgba(139,124,255,.14),transparent 45%),
 linear-gradient(180deg,#111b27,#080d14 75%)}
.avatar-stage:before{content:"";position:absolute;z-index:0;left:9%;right:9%;top:10%;bottom:8%;border:1px solid rgba(151,186,255,.08);border-radius:48% 48% 38% 38%/44% 44% 28% 28%;box-shadow:inset 0 0 80px rgba(85,214,232,.025),0 0 70px rgba(139,124,255,.05)}
.avatar-stage:after{content:"";position:absolute;z-index:0;left:18%;right:18%;bottom:7%;height:10%;border-radius:50%;background:radial-gradient(ellipse,rgba(92,75,214,.34),transparent 68%);filter:blur(16px)}
#avatarCanvasHost{position:absolute;inset:0;z-index:3}#avatarCanvasHost canvas{display:block;width:100%;height:100%;pointer-events:none!important}.stage-vignette{position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(2,4,8,.42));box-shadow:inset 0 0 90px rgba(0,0,0,.24)}
.avatar-load{position:absolute;z-index:8;left:50%;bottom:20px;transform:translateX(-50%);border:1px solid rgba(85,214,232,.2);background:rgba(7,13,20,.86);padding:8px 13px;border-radius:999px;color:#b8ced9;font-size:11px;white-space:nowrap}
.avatar-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 19px;border-top:1px solid var(--line);background:rgba(7,12,18,.9)}.state-title{font-size:15px;font-weight:760}.state-sub{font-size:11px;color:#788599;margin-top:4px}.avatar-badges{display:flex;gap:6px}.badge{padding:5px 8px;border:1px solid rgba(139,124,255,.16);background:rgba(139,124,255,.06);border-radius:999px;font-size:9px;color:#9aa7bb}

/* Fallback avatar */
.avatar-illustration{position:absolute;inset:0;z-index:1;display:flex;justify-content:center;align-items:center;pointer-events:none;transition:opacity .45s ease}.avatar-illustration.dim{opacity:0;visibility:hidden}.avatar-illustration .portrait{width:min(78%,440px);height:min(84%,600px);filter:drop-shadow(0 32px 55px rgba(0,0,0,.38));transform-origin:50% 78%;animation:portraitIdle 5.2s ease-in-out infinite}.illustration-caption{position:absolute;bottom:6%;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#7896a8;font-weight:800}.k-eyes{transform-origin:170px 196px;animation:blinkEyes 4.8s infinite}.k-blink{opacity:0;animation:blinkClosed 4.8s infinite}.k-mouth{transform-origin:170px 247px}.avatar-stage.is-speaking .k-mouth{animation:talk .21s ease-in-out infinite alternate}.avatar-stage.is-listening .portrait{animation:portraitListen 2s ease-in-out infinite}.avatar-stage.is-thinking .portrait{animation:portraitThink 3.1s ease-in-out infinite}.avatar-stage.is-greeting .k-wave{animation:wave .6s ease-in-out 3 alternate;transform-origin:288px 305px}.avatar-stage.is-happy .portrait{animation:portraitHappy 1.4s ease-in-out 2}.avatar-stage.is-male .k-hair{fill:#183248}.avatar-stage.is-male .k-fringe{transform:translateY(12px) scaleY(.75);transform-origin:170px 110px}.avatar-stage.is-male .k-body{fill:#9dabc5}

/* Conversation */
.chat-panel{display:grid;grid-template-rows:minmax(0,1fr) auto auto;background:linear-gradient(160deg,rgba(16,23,34,.96),rgba(8,13,20,.96))}
.chat-panel:before{content:"CONVERSATION";position:absolute;z-index:3;top:18px;left:24px;font-size:9px;font-weight:800;letter-spacing:.2em;color:#657285}.chat{overflow:auto;padding:52px 28px 14px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.chat::-webkit-scrollbar{width:8px}.chat::-webkit-scrollbar-thumb{background:#253145;border-radius:9px}
.msg{max-width:min(82%,780px);padding:13px 16px;border-radius:18px;line-height:1.62;font-size:14.5px;white-space:pre-wrap;word-break:break-word}.msg.user{align-self:flex-end;background:linear-gradient(135deg,#6c5ee4,#5143b4);color:#fff;border-bottom-right-radius:5px;box-shadow:0 10px 30px rgba(92,75,214,.19)}.msg.assistant{align-self:flex-start;background:rgba(255,255,255,.045);border:1px solid rgba(190,210,255,.085);color:#e9edf5;border-bottom-left-radius:5px}.msg .meta{font-size:9.5px;color:#697487;margin-top:7px}.typing{padding:0 29px 8px;display:flex;gap:5px}.typing span{width:6px;height:6px;background:var(--cyan);border-radius:50%;animation:bop 1.1s infinite}.typing span:nth-child(2){animation-delay:.14s}.typing span:nth-child(3){animation-delay:.28s}
.composer-wrap{padding:11px 16px 15px;border-top:1px solid var(--line);background:rgba(6,10,16,.78)}.composer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:end;padding:7px;border:1px solid rgba(185,206,255,.10);border-radius:18px;background:rgba(255,255,255,.035)}.composer:focus-within{border-color:rgba(85,214,232,.34);box-shadow:0 0 0 3px rgba(85,214,232,.05)}textarea{resize:none;max-height:150px;min-height:40px;padding:9px 5px;border:0;outline:0;background:transparent;color:#edf1f7;line-height:1.45}textarea::placeholder{color:#596678}.round-btn{width:44px;height:44px;border-radius:14px;background:#151f2d;border:1px solid rgba(185,206,255,.08)}.send-btn{background:linear-gradient(145deg,var(--cyan),#5592ee);color:#061016;font-size:18px;font-weight:900}.send-btn:hover{box-shadow:0 0 28px rgba(85,214,232,.22)}.mic-btn.active{background:linear-gradient(145deg,#ff7892,#c5486c);box-shadow:0 0 0 5px rgba(255,111,134,.10)}
.composer-meta{display:flex;align-items:center;gap:6px;padding:8px 2px 0;color:#637084;font-size:10px;flex-wrap:wrap}.composer-meta #latency{margin-left:auto}.mini-toggle{padding:6px 9px;border-radius:999px;border:1px solid rgba(185,206,255,.08);background:rgba(255,255,255,.03);color:#7d899b;font-size:10px}.mini-toggle[aria-pressed="true"]{background:rgba(73,214,157,.085);border-color:rgba(73,214,157,.20);color:#74e8b5}.mini-toggle.mic-mute[aria-pressed="true"]{background:rgba(255,111,134,.08);border-color:rgba(255,111,134,.2);color:#ff98a9}.voice-hint{margin:0 1px 8px;padding:8px 11px;border:1px solid rgba(255,190,106,.15);border-radius:11px;background:rgba(255,190,106,.06);color:#e8bd85;font-size:11px}

/* Auth / onboarding */
.auth-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 12% 20%,rgba(85,214,232,.12),transparent 30%),radial-gradient(circle at 88% 80%,rgba(139,124,255,.15),transparent 32%),rgba(4,7,11,.97)}
.auth-card{position:relative;width:min(1040px,96vw);min-height:650px;max-height:94dvh;overflow:auto;padding:48px 52px 48px calc(48% + 48px);border-radius:32px}
.auth-card:before{content:"KIRA AI\A PERSONAL INTELLIGENCE CORE\A\ADeine Gespräche.\ADeine Erinnerungen.\ADeine Assistenz.";white-space:pre;position:absolute;left:0;top:0;bottom:0;width:46%;padding:58px 48px;border-right:1px solid var(--line);background:radial-gradient(circle at 25% 18%,rgba(85,214,232,.23),transparent 28%),radial-gradient(circle at 76% 80%,rgba(139,124,255,.24),transparent 34%),linear-gradient(160deg,#101b27,#0a0f18);font-size:clamp(22px,3vw,42px);line-height:1.08;font-weight:830;letter-spacing:-.05em;color:#eef3fa}
.auth-card:after{content:"K";position:absolute;left:48px;bottom:46px;width:74px;height:74px;display:grid;place-items:center;border-radius:23px;background:linear-gradient(145deg,var(--cyan),var(--violet));color:#071018;font-size:38px;font-weight:900;box-shadow:0 20px 55px rgba(85,214,232,.16)}
.auth-brand{margin-bottom:20px}.auth-card>.eyebrow{color:#7890a5}.auth-card h1{margin:0 0 9px;font-size:34px;letter-spacing:-.045em}.muted{color:var(--muted)}.auth-card>.muted{font-size:13px;line-height:1.55;margin:0 0 24px}.auth-methods{padding:16px;border:1px solid rgba(185,206,255,.08);background:rgba(255,255,255,.025);border-radius:18px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#5e6b7d;font-size:10px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-divider span{padding:0 3px}
#googleSignInTarget{min-height:44px;display:flex;align-items:center;justify-content:center;margin:6px 0 4px}.eyebrow{margin:0 0 8px;font-size:9px;font-weight:800;letter-spacing:.18em;color:#728197}.auth-card details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.auth-card summary{cursor:pointer;color:#77879a;font-size:11px}
label{display:block;margin:12px 0 7px;font-size:11px;color:#9ba7b7;font-weight:650}.hint{color:#5f6b7d;font-size:9px;margin-left:4px}input,select{width:100%;height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(185,206,255,.10);background:#0b111a;color:#eef2f8;outline:0}input:focus,select:focus{border-color:rgba(85,214,232,.40);box-shadow:0 0 0 3px rgba(85,214,232,.055)}.primary,.secondary,.ghost{padding:11px 16px;border-radius:12px;font-weight:720;border:1px solid rgba(185,206,255,.09)}.primary{background:linear-gradient(145deg,#6e62e6,#4f45b9);color:#fff}.secondary{background:#131d2a;color:#c8d2e1}.ghost{background:rgba(255,255,255,.025);color:#8f9bad}.wide{width:100%;margin-top:10px}.primary:hover,.secondary:hover,.ghost:hover{transform:translateY(-1px);filter:brightness(1.08)}.form-error{margin-top:13px;padding:10px 12px;border-radius:11px;border:1px solid rgba(255,111,134,.18);background:rgba(255,111,134,.065);color:#ff9aac;font-size:11px}

/* Modals */
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:rgba(2,5,9,.82);backdrop-filter:blur(12px)}.modal-card{width:min(940px,96vw);max-height:92dvh;overflow:auto;border-radius:28px;padding:24px}.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between}.modal-head{margin-bottom:18px}.modal-head h2{margin:0;font-size:27px;letter-spacing:-.04em}.modal-foot{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.setting-section,.guide-section{padding:16px;border-radius:16px;border:1px solid rgba(185,206,255,.075);background:rgba(255,255,255,.025)}.setting-section.full{grid-column:1/-1}.setting-section h3,.guide-section h3{margin:0 0 8px;font-size:13px}.setting-note,.guide-section p{margin:8px 0 0;font-size:10.5px;line-height:1.5;color:#748195}.button-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.system-details{display:grid;gap:6px}.sys-row{display:flex;justify-content:space-between;gap:9px;padding:7px 9px;border-radius:9px;background:#0b111a;font-size:10.5px}.sys-row b.ok{color:var(--good)}.sys-row b.bad{color:var(--bad)}.memory-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.memory-chip{display:flex;align-items:center;gap:7px;border-radius:999px;padding:6px 9px;background:rgba(139,124,255,.07);border:1px solid rgba(139,124,255,.12);color:#b6b0da;font-size:10px}.memory-chip button{border:0;background:none;color:#77839a;cursor:pointer}.learn-row{display:grid;grid-template-columns:1fr auto;gap:8px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guide-card{width:min(880px,96vw)}.danger{color:#ff92a6!important}.toast{position:fixed;z-index:100;right:22px;bottom:22px;max-width:min(420px,88vw);padding:12px 15px;border:1px solid rgba(85,214,232,.18);border-radius:13px;background:#101923;color:#dfe8f2;box-shadow:0 18px 60px rgba(0,0,0,.35);font-size:11px}.mic-meter{height:9px;border-radius:999px;background:#0a1119;border:1px solid var(--line);overflow:hidden}.mic-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:width .07s linear}

@keyframes bop{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}
@keyframes portraitIdle{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-7px) rotate(.4deg)}}
@keyframes portraitListen{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(1.3deg) translateY(-5px)}}
@keyframes portraitThink{0%,100%{transform:translateY(0) rotate(-1.8deg)}50%{transform:translateY(-3px) rotate(1.8deg)}}
@keyframes portraitHappy{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes blinkEyes{0%,91%,95%,100%{opacity:1}92%,94%{opacity:0}}@keyframes blinkClosed{0%,91%,95%,100%{opacity:0}92%,94%{opacity:1}}@keyframes talk{from{transform:scaleY(.8)}to{transform:scaleY(2.4)}}@keyframes wave{from{transform:rotate(-12deg)}to{transform:rotate(18deg)}}

@media(max-width:980px){.workspace{grid-template-columns:minmax(300px,40%) 1fr}.auth-card{padding-left:48%;}.auth-card:before{width:43%;padding:45px 32px}.auth-card:after{left:32px}}
@media(max-width:820px){body{overflow:hidden}.app{padding:8px;gap:8px;grid-template-rows:58px minmax(0,1fr)}.topbar{border-radius:17px;padding:0 11px}.top-center,.top-brand .brand-sub,.avatar-badges{display:none}.workspace{grid-template-columns:1fr;grid-template-rows:minmax(160px,32dvh) minmax(0,1fr);gap:8px}.avatar-panel,.chat-panel{border-radius:18px}.avatar-footer{height:58px;padding:8px 13px}.chat{padding:42px 13px 10px}.settings-grid,.guide-grid{grid-template-columns:1fr}.setting-section.full{grid-column:1}.auth-card{width:min(520px,95vw);min-height:auto;padding:26px}.auth-card:before,.auth-card:after{display:none}.auth-card h1{font-size:28px}}
@media(max-width:560px){.top-status span{display:none}.top-actions{gap:4px}.status-pill{padding:8px}.brand{font-size:18px}.brand-k{width:26px;height:26px}.workspace{grid-template-rows:minmax(145px,27dvh) minmax(0,1fr)}.avatar-panel:before,.chat-panel:before{font-size:8px;top:10px;left:12px}.avatar-footer{height:52px}.state-title{font-size:13px}.state-sub{font-size:9px}.chat{padding:32px 10px 8px;gap:9px}.msg{max-width:92%;font-size:13px;padding:10px 12px}.composer-wrap{padding:7px 8px max(9px,env(safe-area-inset-bottom))}.composer{grid-template-columns:40px 1fr 40px;padding:5px}.round-btn{width:40px;height:40px}.composer-meta{max-height:60px;overflow:auto}.mini-toggle{font-size:9px;padding:5px 7px}.modal{padding:6px}.modal-card{padding:15px;border-radius:18px}.auth-screen{padding:8px}.auth-card{padding:18px;border-radius:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* KIRA AI 8.2 — visual refresh */
:root{--kira-accent:#a98bff;--kira-mint:#60e5db}
body{background:radial-gradient(ellipse at 9% 4%,rgba(99,50,174,.29),transparent 38%),radial-gradient(ellipse at 91% 93%,rgba(24,111,141,.25),transparent 35%),#070a12}
.glass,.auth-card{backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);border-color:rgba(184,154,255,.16)!important;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.auth-card{max-height:96dvh;overflow-y:auto;scrollbar-width:thin;border-radius:30px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid #a98bff2b;background:#090e18;padding:5px;border-radius:14px;margin:16px 0 22px}
.auth-tabs button{min-height:42px;border:0;border-radius:11px;color:#a2aabc;background:transparent;font-weight:750;cursor:pointer}
.auth-tabs button.active{background:linear-gradient(110deg,#6443ac,#3b627c);color:white;box-shadow:0 5px 18px #0005}
.auth-spark{letter-spacing:.23em;font-weight:800;text-align:center;font-size:9px;color:#9ecadd;margin:10px}
#emailPasswordSection{padding:0 2px 8px}
#emailPasswordBtn{margin-top:17px}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #a996ff;outline-offset:3px}
.avatar-stage{background:radial-gradient(ellipse at 50% 36%,rgba(88,62,158,.34),transparent 56%),linear-gradient(145deg,#0b1120,#080b14)}
.avatar-panel{overflow:hidden}
.state-title{letter-spacing:.01em}
@media(max-width:800px){.app{min-height:100dvh}.auth-card{width:calc(100vw - 22px)!important;max-height:calc(100dvh - 24px);padding:20px!important}.workspace{display:flex;flex-direction:column}.avatar-panel{min-height:240px;max-height:37dvh}.chat-panel{min-height:42dvh}.topbar{flex-wrap:wrap}.composer-wrap{padding-bottom:max(12px,env(safe-area-inset-bottom))}}

/* KIRA 8.3 – interface rebuild: dramatic violet, accessible authentication */
:root{--bg:#080612;--panel:#110e22;--panel2:#181329;--violet:#bd78ff;--violet2:#7645ef;--cyan:#a075ff;--line:rgba(197,155,255,.16);--text:#f7f2ff;--muted:#aaa2bd}
body{background:radial-gradient(ellipse 58% 75% at 15% 13%,#2a174d85,transparent 70%),radial-gradient(ellipse 48% 70% at 95% 93%,#38106d5e,transparent 75%),#080611}
#bgGlow{opacity:.40;background-size:52px 52px}
.glass{background:linear-gradient(145deg,#18102ce9,#0c0b1cea);border-color:#d1a5ff29;box-shadow:0 25px 90px #0008}
.auth-screen{background:radial-gradient(ellipse at 12% 36%,#4c258f3f,transparent 55%),#060711ed;padding:20px}
.auth-card{width:min(1080px,97vw);padding:48px 50px 44px calc(46% + 45px);background:linear-gradient(130deg,#17112de9,#0d0b1b);border:1px solid #d0a0ff39;border-radius:30px;min-height:590px;max-height:94dvh;overflow-y:auto;box-shadow:0 48px 120px #000b}
.auth-card:before{content:'KIRA AI\A\A DEINE INTELLIGENZ.\A DEINE WELT.\A\A Ein Assistent,\A der dich versteht.';white-space:pre-wrap;padding:76px 42px 40px;width:43%;background:radial-gradient(circle at 47% 35%,#8845e960,transparent 50%),linear-gradient(145deg,#2d1746,#0a0a17 80%);font-size:clamp(23px,2.5vw,37px);letter-spacing:-.04em;line-height:1.18;border-radius:30px 0 0 30px;box-sizing:border-box;pointer-events:none}
.auth-card:after{content:'✦';left:38px;bottom:32px;background:linear-gradient(135deg,#ab71ff,#573ed9);color:white;box-shadow:0 0 45px #9c59ff48;pointer-events:none}
.auth-brand{font-size:28px}.brand-k{background:linear-gradient(145deg,#d7a4ff,#6d55ed);color:#150824}.auth-card h1{font-size:clamp(24px,2.7vw,35px);line-height:1.13;margin-bottom:12px}
.auth-methods{padding:8px 0;border:0;background:transparent}.auth-tabs{margin:16px 0 24px;gap:6px;background:#0a0818;border:1px solid #a77de536;border-radius:15px;padding:6px}.auth-tabs button{color:#a79cbe;font-size:14px}.auth-tabs button.active{background:linear-gradient(115deg,#9551e3,#5b38c9);box-shadow:0 7px 24px #6a36bd44;color:white}
.auth-spark{color:#c193ff;text-align:left;font-size:10px;letter-spacing:.20em;margin:12px 0 8px}
.auth-verify-heading{font-weight:800;font-size:15px;margin-top:17px}.auth-card label{margin-top:15px;font-size:12px;color:#c9c0d7}.auth-card input{height:49px;background:#0a091a;border:1px solid #aa89e83c;border-radius:12px;color:#fff;font-size:14px}.auth-card input:focus{border-color:#ba7dff;box-shadow:0 0 0 3px #aa78fa1f}.auth-card input::placeholder{color:#6f6985}
.primary{background:linear-gradient(115deg,#9954e7,#6741d6);color:#fff;border-color:#d6a5ff32;box-shadow:0 10px 22px #6734bc38}.primary:hover{box-shadow:0 12px 32px #9a4fed55}.secondary{background:#211735;border-color:#b783ff31;color:#eee0ff}.ghost{color:#bdabd5}.auth-card .wide{min-height:46px}
.auth-card details{border-top:1px solid #b99bd11f;margin-top:15px;padding-top:15px}.auth-card summary{font-size:12px;color:#b6a8d1;font-weight:650}.auth-links{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;margin-top:20px}.auth-links a{color:#c19aff;text-decoration:none}.auth-links span{color:#74698e}
.auth-card .form-error{color:#ffc4ce;background:#811b2c29;border-color:#ff90af38;font-size:12px;line-height:1.5}
.avatar-stage{background:radial-gradient(ellipse 50% 50% at 50% 42%,#7739b446,transparent 80%),linear-gradient(#18112b,#0a0a16)}.avatar-illustration .portrait{filter:drop-shadow(0 25px 58px #9a53ef28)}.avatar-panel:before{content:'✦  KIRA // CHARACTER CORE';color:#bfa1eb}
.chat-panel:before{content:'✦  KIRA // CHAT';color:#bfa1eb}.chat-panel,.avatar-panel{background:linear-gradient(145deg,#171029,#0b0a19)}.msg.assistant{background:#24173c99;border-color:#ad7bff33}.msg.user{background:linear-gradient(120deg,#9250d8,#5238ad)}.send-btn{background:linear-gradient(135deg,#d19aff,#9060ec);color:#190f2c}.status-pill.ok i{background:#65dbb0}
@media(max-width:820px){.auth-card{width:min(540px,98vw);padding:26px;min-height:unset}.auth-card:before,.auth-card:after{display:none}.auth-screen{padding:8px}}
@media(max-width:560px){.auth-card{padding:23px!important;max-height:calc(100dvh - 14px)}.auth-card h1{font-size:26px}.auth-brand{font-size:24px}.auth-card .setting-note{font-size:11px}}

/* KIRA SAFE DROP-IN 8.3.1: animated illustrations for missing VRMs */
.avatar-stage[data-avatar] .avatar-illustration{opacity:1}
.avatar-stage .avatar-illustration.dim{opacity:0}
.avatar-stage[data-avatar="kira_longhair"] .k-hair,.avatar-stage[data-avatar="kira_longhair"] .k-fringe{fill:#20465b}
.avatar-stage[data-avatar="aiko"] .k-hair,.avatar-stage[data-avatar="aiko"] .k-fringe{fill:#7954c8}
.avatar-stage[data-avatar="aiko"] .k-body{fill:#eee6ff}
.avatar-stage[data-avatar="shino"] .k-hair,.avatar-stage[data-avatar="shino"] .k-fringe{fill:#4b2859}
.avatar-stage[data-avatar="shino"] .k-body{fill:#bb89b6}
.avatar-stage[data-avatar="ren"] .k-hair,.avatar-stage[data-avatar="ren"] .k-fringe{fill:#253d64}
.avatar-stage[data-avatar="ren"] .k-body{fill:#536e9b}
.avatar-stage[data-avatar="ren"] .k-hair{clip-path:inset(0 0 28% 0)}
.avatar-stage[data-avatar="ren"] .k-fringe{transform:translateY(12px) scaleY(.70);transform-origin:170px 110px}
.avatar-illustration .portrait{max-width:430px;filter:drop-shadow(0 18px 50px #ad76ff52)}
.avatar-stage.is-speaking .avatar-illustration .k-mouth{animation:talk .22s ease-in-out infinite alternate}
.avatar-stage.is-listening .avatar-illustration .portrait{animation:portraitListen 2s ease-in-out infinite}
.avatar-stage.is-thinking .avatar-illustration .portrait{animation:portraitThink 3.0s ease-in-out infinite}
.avatar-stage .illustration-caption{z-index:7;color:#dec8ff;letter-spacing:.12em;bottom:12%;background:#130e22ae;border:1px solid #bda2ff36;padding:7px 12px;border-radius:50px;max-width:90%;text-align:center}
.avatar-stage .avatar-load{bottom:7%;max-width:95%;white-space:normal;text-align:center;border-color:#8f7cff57;color:#decaf5}
.avatar-stage:before{border-color:#be8fff30;box-shadow:inset 0 0 120px #a86bff13,0 0 80px #743de528}
.avatar-panel,.chat-panel{border:1px solid #b990ff30}
.setting-section{background:#190f2d94;border-color:#b289ff27}
.setting-section h3{color:#e3caff}
#voiceSelect,#avatarSelect{color:#f4eaff}
@media(prefers-reduced-motion: reduce){.avatar-illustration .portrait,.k-eyes,.k-blink{animation:none!important}}

/* Kira 8.3.2 CharacterEngine 2D + Wakeword diagnostics */
.avatar-stage[data-engine="js"] .avatar-illustration .portrait{animation:none!important;will-change:transform;transition:filter .28s ease}
.avatar-stage[data-engine="js"] .avatar-illustration .k-mouth{animation:none!important;stroke:#a45a75;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5;transition:fill .11s ease}
.avatar-stage[data-engine="js"] .avatar-illustration .k-wave{animation:none!important}
.avatar-stage.is-thinking .avatar-illustration .portrait{filter:drop-shadow(0 18px 40px #8255da88)}
.avatar-stage.is-listening .avatar-illustration .portrait{filter:drop-shadow(0 18px 55px #54c2d677)}
.avatar-stage.is-speaking .avatar-illustration .portrait{filter:drop-shadow(0 24px 60px #bb68e98f)}
.wake-live{padding:5px 9px;border:1px solid #875db65a;color:#baa8d8;border-radius:9px;font-size:10px;flex:1 1 100%;background:#2b184a43;min-height:24px;line-height:1.35;overflow-wrap:anywhere}
.wake-live[data-ok="true"]{border-color:#74e1a36a;background:#144d3b40;color:#b5f5cc}
@media(prefers-reduced-motion:reduce){.avatar-stage[data-engine="js"] .portrait{transition:none!important}}
