:root{--bg:#0b0d12;--surface:#151922;--surface-2:#1e2430;--text:#e8ecf3;--text-dim:#8b94a7;--accent:#6ea8fe;--accent-warm:#ffb86b;--radius:.875rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:400 1rem/1.5 system-ui,-apple-system,Segoe UI,Noto Sans TC,sans-serif;overflow:hidden}.app{max-width:30rem;height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin-inline:auto;display:flex}.app__head{border-bottom:1px solid var(--surface-2);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.app__state{color:var(--text-dim);text-transform:capitalize;font-size:.8125rem}.app__body{-webkit-overflow-scrolling:touch;flex:1;padding:1rem;overflow-y:auto}.app__error{color:var(--accent-warm);font-size:.875rem}.transcript__empty{color:var(--text-dim);text-align:center;margin-top:3rem}.bubble{border-radius:var(--radius);max-width:85%;margin:0 0 .625rem;padding:.625rem .875rem}.bubble--user{background:var(--accent);color:#0b0d12;margin-left:auto}.bubble--assistant{background:var(--surface)}.app__foot{flex-direction:column;align-items:center;gap:.75rem;padding:1rem 1rem 1.5rem;display:flex}.pill{background:var(--surface-2);color:var(--text);border:0;border-radius:999px;padding:.375rem .875rem;font-size:.8125rem}.orb{background:var(--surface-2);width:5.5rem;height:5.5rem;color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;place-items:center;display:grid;position:relative}.orb__pulse{background:var(--accent);opacity:.18;border-radius:50%;transition:transform 80ms linear;position:absolute;inset:0}.orb--listening .orb__pulse{opacity:.3}.orb--speaking .orb__pulse{background:var(--accent-warm);opacity:.35}.orb--error .orb__pulse{background:var(--accent-warm);opacity:.2}.orb__label{font-size:.75rem;position:relative}.sheet{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;max-width:30rem;max-height:70dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin-inline:auto;display:flex;position:fixed;inset:auto 0 0}.sheet__head{border-bottom:1px solid var(--surface-2);color:var(--text-dim);justify-content:space-between;align-items:center;padding:.875rem 1rem;font-size:.8125rem;display:flex}.sheet__head button{color:var(--accent);background:0 0;border:0;font-size:.875rem}.sheet__query{border-bottom:1px solid var(--surface-2);align-items:baseline;gap:.5rem;margin:0;padding:.625rem 1rem;font-size:.8125rem;display:flex}.sheet__query .badge{color:var(--text-dim);flex:none;font-size:.6875rem}.sheet__query-text{overflow-wrap:anywhere;min-width:0}.sheet__body{padding:.75rem 1rem 1rem;overflow-y:auto}.sheet__empty{color:var(--text-dim);margin:0;font-size:.8125rem}.card{background:var(--surface-2);border-radius:var(--radius);margin-bottom:.625rem;padding:.75rem}.card__title{align-items:baseline;gap:.5rem;margin:0 0 .375rem;font-size:.9375rem;font-weight:600;display:flex}.card__rank{color:var(--accent);font-variant-numeric:tabular-nums;flex:none}.card__name{overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.card__meta{color:var(--text-dim);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.75rem;display:flex}.card__text{color:var(--text-dim);overflow-wrap:anywhere;margin:0 0 .5rem;font-size:.8125rem}.card a{color:var(--accent);font-size:.8125rem}.badge{background:var(--bg);text-transform:uppercase;letter-spacing:.03em;border-radius:.375rem;padding:.125rem .375rem}
