:root{--maroon: #7a1020;--maroon-d: #4a0914;--gold: #f3b53f;--cream: #fff8ec;--ink: #20141a;--card: rgba(255, 255, 255, .08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Noto Sans Devanagari,Noto Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--cream);background:var(--maroon-d)}button{font:inherit;cursor:pointer;border:0;border-radius:12px;padding:10px 18px;background:var(--gold);color:var(--ink);font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:transparent;color:inherit;border:1px solid currentColor}input,textarea{font:inherit;padding:12px 14px;border-radius:12px;border:1px solid #c9b79a;background:#fff;color:var(--ink);width:100%}.err{color:#ff9b9b}.small{font-size:.85rem;opacity:.8}.kiosk{height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 30%,#9b1b30 0%,var(--maroon) 40%,var(--maroon-d) 100%);position:relative;overflow:hidden}.top{display:flex;justify-content:space-between;align-items:center;padding:18px 28px}.univ{font-size:1.35rem;font-weight:700}.motto{color:var(--gold);letter-spacing:.08em;font-size:.95rem}.lang{background:transparent;color:var(--gold);border:1px solid var(--gold)}.stage{flex:1;display:flex;align-items:center;justify-content:center;padding:0 24px;min-height:0}.center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;max-width:980px;width:100%}.center h1{font-size:clamp(1.6rem,3.4vw,2.6rem);margin:6px 0 0}.hint{opacity:.8;font-size:1.1rem;margin:0}.start{font-size:1.4rem;padding:16px 44px;border-radius:40px;margin-top:8px}.status{color:var(--gold);font-size:1.15rem;letter-spacing:.04em;min-height:1.6em}.who{font-size:1.05rem;opacity:.9}.said{font-size:1.1rem;opacity:.85;font-style:italic}.said span{color:var(--gold);font-style:normal}.answer{font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.5;background:var(--card);border:1px solid rgba(255,255,255,.15);border-radius:22px;padding:22px 28px;max-height:38vh;overflow:auto}.orb{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe3a0,var(--gold) 55%,#c98a10);box-shadow:0 0 40px #f3b53f80;transition:transform .3s}.orb.idle{animation:breathe 3.2s ease-in-out infinite}.orb.listening{animation:pulse 1.1s ease-in-out infinite;box-shadow:0 0 70px #78ffaab3;background:radial-gradient(circle at 35% 30%,#d6ffe6,#5fe39b 55%,#20a15f)}.orb.speaking{animation:talk .55s ease-in-out infinite}.orb.thinking{animation:spin 1.2s linear infinite;border-radius:40%}.orb.boot{width:110px;height:110px}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes talk{0%,to{transform:scale(1)}50%{transform:scale(1.12,.94)}}@keyframes spin{to{transform:rotate(360deg)}}.cam{position:absolute;right:18px;bottom:18px;width:190px;height:142px;object-fit:cover;border-radius:16px;border:3px solid var(--gold);transform:scaleX(-1);background:#000;z-index:5}.cam.hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.regform{display:flex;gap:10px;justify-content:center;padding:8px 24px 28px;flex-wrap:wrap}.regform input{max-width:300px}.bottom{padding:8px 24px 22px;display:flex;flex-direction:column;gap:10px;align-items:center}.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:900px}.chips button{background:#ffffff1f;color:var(--cream);font-weight:500;border:1px solid rgba(255,255,255,.2);padding:8px 14px}.typed{display:flex;gap:8px;width:min(640px,70vw)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:20}.modal{background:var(--cream);color:var(--ink);border-radius:22px;padding:28px;width:min(420px,92vw);display:flex;flex-direction:column;gap:12px}.modal h2{margin:0 0 4px;color:var(--maroon)}.row{display:flex;gap:10px;justify-content:flex-end}.modal .ghost{color:var(--maroon)}.libpanel{position:absolute;top:0;right:0;bottom:0;width:min(520px,94vw);background:var(--cream);color:var(--ink);z-index:15;padding:20px;overflow:auto;box-shadow:-10px 0 40px #00000080;display:flex;flex-direction:column;gap:10px}.libpanel h2,.libpanel h3{margin:4px 0;color:var(--maroon)}.libpanel .ghost{color:var(--maroon)}.libhead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.book{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:12px;border:1px solid #e6d8bd}.toast{background:#fff3cc;border:1px solid var(--gold);border-radius:12px;padding:10px 12px}.adm{min-height:100%;background:#f6f1e7;color:var(--ink);padding:24px}.adm h2,.adm h3{color:var(--maroon)}.adm .small{color:#5b4d44;opacity:1}.adm .ghost{color:var(--maroon)}.tabs{display:flex;gap:8px;margin:12px 0 18px;flex-wrap:wrap}.tabs button{background:#fff;color:var(--ink);border:1px solid #d8c9aa}.tabs button.on{background:var(--maroon);color:#fff}.stack{display:flex;flex-direction:column;gap:10px;max-width:520px;margin-bottom:18px}.stack.narrow{margin:80px auto}.cards{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.card{background:#fff;border:1px solid #e0d2b4;border-radius:14px;padding:14px 20px;display:flex;flex-direction:column;min-width:130px}.card b{font-size:1.8rem;color:var(--maroon)}.row-item{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e0d2b4;border-radius:12px;padding:10px 14px;margin-bottom:8px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #eee3cd;font-size:.92rem;vertical-align:top}th{background:#efe4cb}.capture{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.capture video{width:320px;max-width:100%;border-radius:12px;background:#000;transform:scaleX(-1)}
