:root{color-scheme:dark;--bg: #0b1020;--card: rgba(255, 255, 255, .06);--stroke: rgba(255, 255, 255, .12);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .65);--brand: #7c5cff;--brand2: #20d3ff}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(1200px 600px at 20% 10%,rgba(124,92,255,.22),transparent 60%),radial-gradient(900px 500px at 80% 0%,rgba(32,211,255,.14),transparent 55%),var(--bg);color:var(--text)}.page{min-height:100%;display:grid;place-items:center;padding:24px}.card{width:min(980px,100%);border:1px solid var(--stroke);background:linear-gradient(180deg,#ffffff12,#ffffff0a);box-shadow:0 24px 80px #0000008c;border-radius:18px;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid var(--stroke)}.title{font-weight:700;letter-spacing:.2px}.subtitle{color:var(--muted);font-size:13px;margin-top:2px}.right{display:flex;align-items:center;gap:10px}.pill{font-size:12px;color:var(--muted);padding:7px 10px;border:1px solid var(--stroke);border-radius:999px;background:#0000002e}.auth{padding:18px;display:grid;gap:12px}.tabs{display:flex;gap:10px;padding-bottom:6px}.tab{cursor:pointer;padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);background:#0000002e;color:var(--muted)}.tab.active{color:var(--text);border-color:#7c5cff8c;box-shadow:0 0 0 4px #7c5cff1a}.field{display:grid;gap:6px}.field span{font-size:12px;color:var(--muted)}.field input,.composer input{width:100%;padding:12px;border-radius:12px;border:1px solid var(--stroke);background:#00000038;color:var(--text);outline:none}.field input:focus,.composer input:focus{border-color:#20d3ff8c;box-shadow:0 0 0 4px #20d3ff1a}.field-inline{display:flex;align-items:center;gap:10px}.field-inline span{font-size:12px;color:var(--muted);min-width:70px}.field-inline input{flex:1}.btn{cursor:pointer;padding:11px 14px;border-radius:12px;border:1px solid var(--stroke);background:#0000002e;color:var(--text)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{border-color:#7c5cff8c;background:linear-gradient(135deg,#7c5cfff2,#20d3ff80)}.btn-ghost{background:transparent}.hint{color:var(--muted);font-size:12px}.error{margin:0 18px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,84,84,.35);background:#ff545414;color:#ffd2d2f2}.notice{margin:0 18px 12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(120,180,255,.35);background:#78b4ff14;color:#d2e6fff2}.toolbar{padding:12px 18px;border-bottom:1px solid var(--stroke);display:flex;gap:10px;align-items:center;justify-content:space-between}.chat{height:min(62vh,520px);overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.empty{color:var(--muted);padding:18px 0}.empty-sub{margin-top:8px;font-size:12px}.msg{display:flex}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.msg-body{display:flex;flex-direction:column;gap:8px;max-width:min(720px,92%)}.bubble{max-width:100%;padding:12px;border-radius:14px;border:1px solid var(--stroke);background:#0000002e;white-space:pre-wrap;line-height:1.3}.msg.user .bubble{border-color:#7c5cff59;background:#7c5cff24}.typing{color:var(--muted)}.feedback{padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);background:#00000024}.feedback-label{font-size:12px;color:var(--muted);margin-bottom:8px}.feedback-actions{display:flex;gap:8px;margin-bottom:10px}.btn-feedback{min-width:72px;font-weight:600}.btn-yes{border-color:#38c8788c;background:#38c8782e;color:#d2ffe1fa}.btn-yes:hover:not(:disabled){background:#38c87847}.btn-yes.active{box-shadow:0 0 0 3px #38c87838;background:#38c87861}.btn-no{border-color:#ff54548c;background:#ff545429;color:#ffdcdcfa}.btn-no:hover:not(:disabled){background:#ff545442}.btn-no.active{box-shadow:0 0 0 3px #ff545433;background:#ff545457}.feedback-field{display:grid;gap:6px}.feedback-field span{font-size:12px;color:var(--muted)}.feedback-field textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--stroke);background:#00000038;color:var(--text);outline:none;resize:vertical;min-height:56px;font-family:inherit;line-height:1.35}.feedback-field textarea:focus{border-color:#20d3ff8c;box-shadow:0 0 0 4px #20d3ff1a}.feedback-field textarea:disabled{opacity:.65}.feedback-saved,.feedback-hint{margin-top:8px;font-size:11px;color:var(--muted)}.composer{padding:12px 18px 18px;display:grid;grid-template-columns:1fr auto;gap:10px}
