:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #edf2ff; background: #0b111d; --surface:#101827; --surface-2:#151f31; --line:#273248; --muted:#8f9bb1; --primary:#6571e6; --good:#2abf7e; --danger:#d95b70; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
#analyze-status.analysis-error, #dom-text-status.analysis-error { color: var(--danger); }
#element-selection { padding: 12px; border: 1px solid var(--line); border-radius: 10px; overflow-wrap: anywhere; }
.element-row:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.visual-editor-card{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.visual-editor-card .section-heading{margin-bottom:7px}.visual-editor-card .section-heading>button{flex:none}
#visual-editor-host{overflow:auto;max-height:min(76vh,780px);margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#080e18}
#visual-editor-stage{position:relative;width:100%;min-width:0;margin:0 auto}#visual-editor-image{display:block;width:100%;max-width:100%;height:auto;margin:0 auto;user-select:none}
#visual-editor-overlay{position:absolute;inset:0;pointer-events:none}.visual-hit{position:absolute;min-width:4px;min-height:4px;padding:0;border:1px solid #58c7ff;border-radius:3px;background:#28b8f018;box-shadow:0 0 0 1px #07111bcc;pointer-events:auto}.visual-hit:hover,.visual-hit:focus-visible{z-index:3;border-color:#fff;background:#6571e655;outline:2px solid #6571e6;outline-offset:1px}.visual-hit.editable{border-color:#38d996;background:#2abf7e1f}.visual-hit.repeated{border-style:dashed}
#visual-inline-input{position:absolute;z-index:6;min-width:80px;min-height:34px;margin:0;padding:6px 8px;border:2px solid #38d996;border-radius:7px;resize:none;overflow:hidden;box-shadow:0 10px 32px #000b;background:#101827f2;color:#f8fafc;caret-color:#38d996}
.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.filter-chips button{padding:6px 9px;border:1px solid #344057;color:#aebbd0;background:#111b2c;font-size:9px}.filter-chips button[aria-pressed=true]{border-color:#6571e6;color:#fff;background:#273453;box-shadow:inset 0 0 0 1px #6571e6}
button:disabled { cursor: not-allowed; opacity: .5; }
.message-text { overflow-wrap: anywhere; }
#message-input { min-width: 0; }
/* Keep the composer usable when the admin is open in a narrow side panel. */
@media (max-width: 900px) {
  main .chat-workspace { grid-template-columns: 1fr; }
  main .chat-workspace > aside:first-child { max-height: 180px; overflow: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  main .chat-panel { min-height: 430px; }
}
body { min-width: 320px; min-height: 100vh; margin: 0; background: radial-gradient(circle at 50% -20%, #202d56, #0b111d 40%); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.app-shell { display: grid; grid-template-columns: 220px minmax(0,1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 18px 12px 14px; border-right: 1px solid #202b3e; background: #0e1625; }
.brand { display: flex; align-items: center; gap: 10px; padding: 0 8px 20px; }
.brand > div, .login-mark { display: grid; width: 38px; height: 38px; place-items: center; }
.brand > div img, .login-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.brand > span, .profile > span { display: grid; }
.brand strong { font-size: 14px; }.brand small,.profile small { margin-top:2px;color:#7f8ca3;font-size:10px; }
nav { display: grid; gap: 3px; }
nav button { display: grid; grid-template-columns: 20px 1fr auto; align-items:center; gap:8px; min-height:40px; padding:8px 10px; border:0; border-radius:9px; color:#9aa7bd; text-align:left; background:transparent; font-size:12px; }
nav button:hover { color:#eef3ff; background:#19243a; } nav button.active { color:#fff; background:#273453; }
nav button > span { color:#8290aa; font-size:14px; } nav button b { min-width:20px; padding:2px 5px; border-radius:99px; color:#cfd6ff; text-align:center; background:#33416a; font-size:9px; }
.profile { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:9px; margin-top:auto; padding:13px 8px 0; border-top:1px solid #253047; }
.profile > div { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:#fff; background:#5968dc; font-size:10px; }.profile strong{font-size:11px;}
.main-area { min-width:0; }
.funny-browser-list{max-height:240px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:9px;background:#0b1320}.funny-browser-list .check{margin:8px 0;font-size:11px}.funny-browser-list span{overflow-wrap:anywhere}#funny-browser-picker[hidden]{display:none}
.context-preview{margin:14px 0;padding:14px;border:1px solid #485e87;border-radius:12px;background:#101d30}.context-preview[hidden]{display:none}.context-preview>strong{font-size:16px}.context-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.context-comparison>div{min-width:0;padding:12px;border:1px solid #34445e;border-radius:9px;background:#1b273b}.context-comparison small{color:#9aabc3;font-size:10px}.context-comparison p{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.4}.card-context-label{padding:5px 0;color:#9ad9bf;font-size:12px;overflow-wrap:anywhere}#context-rule-statuses p{padding:8px;border-left:3px solid #9aabc3}input[readonly]{opacity:.8}@media(max-width:720px){.context-comparison{grid-template-columns:1fr}}
.topbar { position:sticky; z-index:5; top:0; display:flex; justify-content:space-between; align-items:center; min-height:78px; padding:14px 24px; border-bottom:1px solid var(--line); background:#101827e8; backdrop-filter:blur(16px); }
.topbar h2 { margin:0;font-size:18px; }.topbar p{margin:4px 0 0;color:var(--muted);font-size:11px;}
.server-state { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:10px; }.server-state > span{width:7px;height:7px;border-radius:50%;background:#687286}.server-state > span.online{background:var(--good);box-shadow:0 0 0 4px #2abf7e1f}.server-state b{font-weight:600}.server-state em{padding-left:8px;border-left:1px solid var(--line);font-style:normal}
main { max-width:1500px; margin:0 auto; padding:22px; }
section[hidden] { display:none; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:15px; }.section-heading h3,.editor-card h3,.two-column>div>h3{margin:0;font-size:15px}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:10px;}
button { padding:9px 12px; border:0; border-radius:8px; color:#fff; background:var(--primary); font-size:11px; font-weight:650; }button.secondary{border:1px solid #354158;color:#bac5d7;background:#172135}.actions{display:flex;gap:8px;margin-top:14px}.actions button{flex:1}
.table-surface { overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
table { width:100%; border-collapse:collapse; font-size:11px; }th{padding:11px 13px;color:#8592a8;text-align:left;background:#0e1624;font-size:9px;font-weight:600}td{padding:12px 13px;border-top:1px solid #222d41}td strong,td span{display:block}td span{margin-top:2px;color:#7f8ca2;font-size:9px}.status{display:inline-flex!important;align-items:center;gap:5px}.status::before{content:"";width:6px;height:6px;border-radius:50%;background:#778297}.status.online::before{background:var(--good)}td button{padding:6px 8px}.tag{display:inline-block!important;margin:2px 4px 2px 0;padding:4px 7px;border-radius:99px;color:#cbd3ff!important;background:#29365b;font-size:9px!important}
.two-column { display:grid; grid-template-columns:minmax(320px,.75fr) minmax(420px,1.25fr); gap:18px; align-items:start; }
.editor-card { padding:19px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }.editor-card.compact{padding:17px}.eyebrow{margin:0 0 6px;color:#8c99ff;font-size:8px;font-weight:800;letter-spacing:.16em}.editor-card h3{margin-bottom:16px}
label { display:grid; gap:6px; margin-top:13px; color:#b7c1d4; font-size:10px; font-weight:650; }input,textarea,select{width:100%;padding:9px 10px;border:1px solid #344057;border-radius:8px;color:#eaf0fb;outline:none;background:#0b1320;font-size:11px}input:focus,textarea:focus,select:focus{border-color:#6674e8;box-shadow:0 0 0 3px #6674e822}textarea{resize:vertical;line-height:1.45}.code{font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;align-items:center;gap:7px}.check input{width:auto}.hint{color:var(--muted);font-size:9px;line-height:1.5}.form-error{min-height:16px;color:#ff9baa;font-size:10px}
.card-list{display:grid;gap:9px}.item-card{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.item-card.disabled{opacity:.55}.item-card h4{margin:0;font-size:12px}.item-card p{margin:5px 0 0;color:#a6b0c2;font-size:10px;line-height:1.45;white-space:pre-wrap}.item-card small{display:block;margin-top:7px;color:#748198;font-size:8px}.item-actions{display:flex;align-items:start;gap:5px}.item-actions button{padding:6px 8px}.item-actions .delete{color:#ffadba;background:#4a2330}
.chat-workspace{display:grid;grid-template-columns:250px minmax(320px,1fr) 200px;min-height:650px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.chat-workspace>aside:first-child{border-right:1px solid var(--line);background:#0e1624}.chat-workspace>aside>header{display:flex;justify-content:space-between;padding:13px;border-bottom:1px solid var(--line);font-size:10px}.chat-workspace>aside>header span{color:var(--muted);font-size:9px}.conversation-group>strong{display:block;padding:11px 11px 5px;color:#8996ab;font-size:9px}.conversation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:calc(100% - 12px);margin:2px 6px;padding:9px;border:0;border-radius:9px;color:#dce3f1;text-align:left;background:transparent}.conversation:hover,.conversation.active{background:#1d2941}.avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#fff;background:#6658df;font-size:9px;font-weight:700}.conversation span{display:grid;min-width:0}.conversation span strong{overflow:hidden;font-size:10px;text-overflow:ellipsis}.conversation span small{overflow:hidden;margin-top:3px;color:#8591a6;font-size:8px;text-overflow:ellipsis}.conversation b{display:grid;min-width:18px;height:18px;place-items:center;border-radius:99px;background:#6571e6;font-size:8px}.chat-panel{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.chat-panel>header{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:12px;border-bottom:1px solid var(--line)}.chat-panel>header>div:nth-child(2){display:grid}.chat-panel>header strong{font-size:11px}.chat-panel>header span{margin-top:2px;color:var(--muted);font-size:8px}.messages{display:flex;flex-direction:column;gap:9px;overflow:auto;padding:16px}.message{display:grid;max-width:75%}.message>.message-text{padding:9px 11px;border-radius:11px;background:#202b3e;font-size:10px;line-height:1.45;white-space:pre-wrap}.message>small{margin-top:3px;color:#77859a;font-size:7px}.message.admin{align-self:flex-end;justify-items:end}.message.admin>.message-text{background:#6571e6}.message-attachments{display:grid;gap:5px;width:100%;margin-top:5px}.message-attachment{display:grid;min-width:190px;padding:8px 10px;border:1px solid #33405a;border-radius:9px;color:#dce3f1;text-align:left;background:#111c2e}.message-attachment strong{max-width:260px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.message-attachment small{margin-top:2px;color:#8390a5;font-size:7px}.chat-panel form{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:7px;padding:10px;border-top:1px solid var(--line)}.chat-compose-tools{display:flex;gap:5px}.chat-compose-tools button{width:35px;padding:0}.admin-emoji-menu{position:absolute;z-index:4;left:10px;bottom:58px;display:grid;grid-template-columns:repeat(6,32px);gap:4px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#111a2a;box-shadow:0 15px 40px #0008}.admin-emoji-menu button{width:32px;height:32px;padding:0;border:0;background:#1b273d}.admin-pending-files{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:5px}.admin-pending-file{display:grid;grid-template-columns:1fr auto;gap:2px 7px;align-items:center;padding:6px 8px;border-radius:8px;background:#1b273d}.admin-pending-file strong{max-width:240px;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.admin-pending-file small{color:#8490a3;font-size:7px}.admin-pending-file button{grid-row:1/3;grid-column:2;padding:2px 6px}.admin-upload-state{grid-column:1/-1;color:#8e9db5;font-size:8px}.chat-info{padding:15px;border-left:1px solid var(--line);background:#0e1624}.chat-info>strong{font-size:10px}.chat-info dl{margin:14px 0}.chat-info dl div{margin-bottom:12px}.chat-info dt{color:#7f8ca2;font-size:8px}.chat-info dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:9px}
.page-editor-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:14px}.split-results{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.split-results h3{font-size:12px}.element-list{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.element-row{display:grid;grid-template-columns:70px 1fr;gap:9px;width:100%;padding:9px 10px;border:0;border-bottom:1px solid #222d41;border-radius:0;color:#dbe3f1;text-align:left;background:transparent}.element-row:hover{background:#19243a}.element-row b{color:#8e9aff;font-size:9px}.element-row span{display:grid;min-width:0}.element-row code{overflow:hidden;color:#c8d0df;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.element-row small{overflow:hidden;margin-top:3px;color:#7d899e;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.empty{padding:25px;color:#7f8ca2;text-align:center;font-size:10px}
.inline-controls{display:flex;gap:8px}.inline-controls select{min-width:210px}.bookmark-layout{display:grid;grid-template-columns:1fr 320px;gap:15px}.bookmark-tree{min-height:420px;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.bookmark-node{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:35px;padding:6px 9px;border-bottom:1px solid #202b3e;font-size:10px}.bookmark-node button:first-child{overflow:hidden;padding:4px 6px;color:#d7dfed;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:transparent}.bookmark-node .remove{padding:4px 6px;color:#ff9eae;background:transparent}.bookmark-node small{color:#77859a}.blocker-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:16px}.blocker-stats article{display:grid;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.blocker-stats span{color:var(--muted);font-size:9px}.blocker-stats strong{margin-top:5px;font-size:21px}
.login-overlay{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:#08101bd9;backdrop-filter:blur(14px)}.login-overlay.hidden{display:none}.login-card{width:min(420px,100%);padding:30px;border:1px solid #344057;border-radius:18px;background:#111a2a;box-shadow:0 30px 90px #0008}.login-card h1{margin:8px 0;font-size:25px}.login-card>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.55}.login-card button{width:100%;margin-top:14px;padding:11px}.toast{position:fixed;z-index:60;right:22px;bottom:22px;max-width:380px;padding:11px 14px;border-radius:10px;color:#fff;background:#263452;box-shadow:0 15px 45px #0007;font-size:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:none}
@media(max-width:1050px){.chat-workspace{grid-template-columns:220px 1fr}.chat-info{display:none}.two-column{grid-template-columns:1fr}.editor-card{position:static}.bookmark-layout{grid-template-columns:1fr}.page-editor-grid,.split-results{grid-template-columns:1fr}}
@media(max-width:720px){.app-shell{grid-template-columns:58px minmax(0,1fr)}.sidebar{padding-inline:7px}.brand{justify-content:center;padding-inline:0}.brand>span,.profile>span,nav button:not(.active) b,nav button>span+span{display:none}.brand>div{width:36px}.profile{grid-template-columns:1fr;justify-items:center;padding-inline:0}nav button{grid-template-columns:1fr;justify-items:center;padding-inline:5px;font-size:0}nav button>span{font-size:14px}.topbar{align-items:flex-start;flex-direction:column;padding:13px 15px}.server-state{width:100%}main{padding:13px}.chat-workspace{grid-template-columns:1fr}.chat-workspace>aside:first-child{max-height:280px;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.blocker-stats{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.inline-controls{width:100%;flex-direction:column}.inline-controls select{min-width:0}.table-surface table{min-width:760px}}
:root .funny-toolbar { display:flex; flex-wrap:wrap; gap:6px; }
:root .funny-toolbar[hidden], :root .funny-link-editor[hidden] { display:none; }
.funny-link-editor { padding:14px; border:1px solid var(--line, #334155); border-radius:10px; display:grid; gap:10px; }
.funny-preview-wrap { min-width:0; }
.funny-preview-wrap h4 { margin:0 0 10px; }
.funny-preview { padding:20px; border-radius:12px; background:#fff; color:#202124; font:400 20px/1.55 Arial,sans-serif; max-height:420px; overflow:auto; overflow-wrap:anywhere; }
#delete-browser-dialog { width:min(520px, calc(100vw - 32px)); max-height:calc(100vh - 32px); overflow:auto; background:var(--surface); color:inherit; border:1px solid var(--line); border-radius:16px; padding:24px; }
#delete-browser-dialog::backdrop { background:#0009; }
#delete-browser-target { font-weight:700; overflow-wrap:anywhere; }
#delete-browser-dialog p { font-size:13px; line-height:1.6; }
#delete-browser-error { color:var(--danger); }
#delete-browser-confirm, #browsers-body .delete { color:#ffadba; background:#4a2330; }
#browsers-body td:last-child { min-width:175px; }
#browsers-body td:last-child button { margin:3px; }
