@import url('../theme.css');
:root { --dark-purple:var(--ink); --medium-purple:var(--panel); --light-purple:var(--accent); --accent-purple:var(--accent); --glow-purple:var(--accent); --glow-purpleA:#c4a9fa15; --text-color:var(--paper); --neon-blueA2:#c4a9fa15; --error:#efa1b8; }
* { box-sizing:border-box; }
[hidden], dialog:not([open]) { display:none !important; }
body { margin:0; background:var(--ink); color:var(--paper); font:14px/1.55 Arial,Helvetica,sans-serif; }
button,input,textarea,select { font:inherit; }
button,.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:6px; background:var(--accent); color:var(--ink); padding:10px 16px; text-decoration:none; cursor:pointer; font-weight:600; line-height:1.4; }
button:hover,.button:hover { filter:brightness(1.08); }
button:disabled { opacity:.45; cursor:wait; }
button.secondary,.button.secondary { background:transparent; border-color:var(--line); color:var(--paper); }
.text-button { background:transparent; color:var(--muted); padding:8px; }
a { color:var(--accent); text-underline-offset:3px; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
input,textarea,select { width:100%; min-width:0; padding:11px 12px; border:1px solid #ffffff25; border-radius:5px; background:#17151d; color:var(--paper); }
textarea { resize:vertical; }
input::placeholder,textarea::placeholder { color:#88818f; }
input:focus,textarea:focus,select:focus { outline:1px solid var(--accent); border-color:var(--accent); }
label { display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-weight:600; }
label small,.field-hint { font-weight:400; font-size:12px; color:var(--muted); }
small { color:var(--muted); }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:32px; line-height:1.2; letter-spacing:-1px; margin-bottom:9px; }
h2 { font-size:18px; letter-spacing:-.3px; }
h3 { font-size:16px; }
.muted { color:var(--muted); }
.eyebrow { color:var(--muted); font-size:11px; letter-spacing:1.4px; text-transform:uppercase; margin-bottom:10px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.badge { display:inline-block; font-size:10px; line-height:1.5; padding:2px 6px; margin-left:8px; border:1px solid var(--line); border-radius:4px; color:var(--accent); font-weight:400; vertical-align:middle; }
dialog { width:min(620px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid #ffffff30; border-radius:12px; padding:28px; background:var(--panel); color:var(--paper); box-shadow:0 24px 100px #0008; }
dialog::backdrop { background:#09070fc4; backdrop-filter:blur(4px); }
dialog h1 { font-size:24px; }
dialog form { display:flex; flex-direction:column; gap:16px; }
dialog form>div { display:flex; flex-direction:column; gap:10px; }
.dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.dialog-heading h2 { font-size:24px; margin-bottom:10px; }
.dialog-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
#settings-dialog textarea { max-width:100%; height:130px; }
.auth-methods { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; padding:4px; margin:24px 0; background:var(--ink); border-radius:7px; }
.auth-methods button { background:transparent; color:var(--muted); padding:10px 4px; font-size:12px; }
.auth-methods [aria-pressed=true] { background:#34303e; color:var(--paper); }
#auth-form label { margin-top:6px; }
#auth-form h3 { margin-bottom:2px; }
#auth-form p { margin:0; }
.session-note { color:var(--muted); font-size:12px; border-top:1px solid var(--line); padding-top:16px; }
#auth-status { font-size:13px; color:var(--accent); min-height:20px; overflow-wrap:anywhere; }
#auth-notice textarea { font:12px/1.5 monospace; }
#auth-approval { overflow-wrap:anywhere; }
#error { color:var(--error); padding:16px; border:1px solid #efa1b850; border-radius:6px; display:none; overflow-wrap:anywhere; }
info { display:none; color:var(--accent); font-size:12px; border-left:2px solid var(--accent); padding:10px; }
.choices--purple .choices__inner,.choices--purple .choices__input { background:var(--ink); color:var(--paper); }
.choices--purple .choices__inner { border:1px solid #ffffff25; border-radius:5px; min-height:44px; }
.choices--purple .choices__list--dropdown,.choices--purple .choices__list[aria-expanded] { background:var(--panel); border-color:#ffffff25; color:var(--paper); z-index:10; }
.choices--purple .choices__list--dropdown .is-highlighted { background:#34303e !important; }
.choices--purple .choices__list--multiple .choices__item { background:#c4a9fa25; border:0; border-radius:4px; color:var(--paper); }
.choices--purple .choices__button { border-left-color:#ffffff40; }
.choices--purple.is-disabled .choices__inner { background:var(--ink); opacity:.7; }
.choices--purple .choices__input { border:0; }
.disabled { pointer-events:none; opacity:.7; }
@media(max-width:500px) { dialog { padding:20px; } label { flex-direction:column; gap:4px; } }
#connect-invitation { display:flex; flex-direction:column; gap:10px; }
.qr-button { align-self:center; display:flex; flex-direction:column; gap:9px; padding:12px; background:#fff; color:#211d2a; border-radius:9px; }
.qr-button canvas { width:200px; height:200px; max-width:100%; }
.qr-button span { font-size:11px; font-weight:400; }
#connect-qr-dialog { width:min(680px,calc(100vw - 24px)); }
#connect-qr-expanded { display:block; width:min(100%,560px); height:auto; margin:12px auto 0; background:#fff; border-radius:6px; }
