/* Morpheus // Matrix visual override */
:root {
  --paper: #030806;
  --paper-deep: #06110b;
  --ink: #c7ffd7;
  --muted: #62966f;
  --line: rgba(55, 255, 116, .17);
  --card: rgba(3, 18, 10, .72);
  --accent: #39ff72;
  --accent-soft: #0cbf48;
  --shadow: 0 22px 70px rgba(0,0,0,.55), 0 0 24px rgba(26,255,91,.04);
}
body { font-family: "JetBrains Mono", monospace; background:#020604; color:var(--ink); }
.matrix-rain { position:fixed; inset:0; width:100%; height:100%; z-index:-2; opacity:.16; }
.scanlines { position:fixed; inset:0; z-index:19; pointer-events:none; opacity:.18; background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(0,0,0,.34) 4px); }
.noise { opacity:.055; mix-blend-mode:screen; }
.sidebar { background:rgba(2,9,5,.91); border-right-color:rgba(57,255,114,.2); box-shadow:8px 0 32px rgba(0,0,0,.26); }
.brand { font:700 19px/1 "JetBrains Mono",monospace; letter-spacing:.14em; text-shadow:0 0 14px rgba(57,255,114,.48); }
.brand-mark { border:1px solid rgba(57,255,114,.45); border-radius:3px; box-shadow:inset 0 0 12px rgba(57,255,114,.12),0 0 9px rgba(57,255,114,.1); }
.brand-mark i { width:2px; height:17px; background:var(--accent); border-radius:0; box-shadow:0 0 5px var(--accent); }
.new-thread { border-color:rgba(57,255,114,.25); border-radius:4px; background:rgba(5,30,14,.5); color:var(--accent); text-transform:uppercase; letter-spacing:.08em; font-size:10px; }
.new-thread:hover { background:rgba(57,255,114,.09); box-shadow:0 0 16px rgba(57,255,114,.08),inset 0 0 18px rgba(57,255,114,.04); }
kbd { border-color:rgba(57,255,114,.2); border-radius:2px; color:#65b67b; box-shadow:none; }
.eyebrow { color:#39754a; }
.thread { border-radius:3px; color:#588967; font-size:10px; }
.thread:hover { color:#b5ffc9; background:rgba(57,255,114,.045); }
.thread.active { background:linear-gradient(90deg,rgba(57,255,114,.11),rgba(57,255,114,.025)); color:var(--accent); box-shadow:inset 2px 0 var(--accent); }
.thread.active .thread-dot { box-shadow:0 0 8px var(--accent); }
.utility { color:#568963; }
.profile { border-color:rgba(57,255,114,.15); }
.avatar { border-radius:3px; color:var(--accent); background:#07180d; border:1px solid rgba(57,255,114,.3); box-shadow:inset 0 0 12px rgba(57,255,114,.08); }
.profile small { color:#416e4d; }
.main { background:radial-gradient(circle at 53% 40%,rgba(16,87,39,.11),transparent 36%),linear-gradient(rgba(2,8,5,.88),rgba(2,8,5,.94)); }
.topbar { border-bottom:1px solid rgba(57,255,114,.08); }
.model-picker { border-color:rgba(57,255,114,.2); border-radius:3px; background:rgba(4,20,10,.72); color:#89d89e; font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.status-dot { background:var(--accent); box-shadow:0 0 4px var(--accent),0 0 0 3px rgba(57,255,114,.1); animation:signal 2s infinite; }
@keyframes signal { 50% { opacity:.45; box-shadow:0 0 12px var(--accent),0 0 0 4px rgba(57,255,114,.05); } }
.icon-button { color:#659273; border-radius:3px; }.icon-button:hover{color:var(--accent);background:rgba(57,255,114,.07)}
.orb-wrap { width:104px;height:104px; }
.orb { width:64px;height:64px;border-radius:3px;transform:rotate(45deg);background:linear-gradient(135deg,#06130a,#0a3418);border:1px solid rgba(57,255,114,.65);box-shadow:inset 0 0 22px rgba(57,255,114,.18),0 0 25px rgba(57,255,114,.18);animation:matrix-core 3.2s ease-in-out infinite; }
.orb:before,.orb:after { content:"";position:absolute;background:var(--accent);box-shadow:0 0 8px var(--accent); }
.orb:before { width:1px;height:42px;left:31px;top:10px; }.orb:after{height:1px;width:42px;left:10px;top:31px}.orb span{display:none}
@keyframes matrix-core { 50% { transform:rotate(135deg) scale(.94);box-shadow:inset 0 0 32px rgba(57,255,114,.25),0 0 38px rgba(57,255,114,.22); } }
.orbit { border-color:rgba(57,255,114,.3);border-radius:3px;transform:rotate(25deg) scale(.75); }.orbit-two{transform:rotate(-25deg) scale(.95)}.orbit-one:after{background:var(--accent);box-shadow:0 0 8px var(--accent)}
.overline { color:#41a95e; letter-spacing:.18em; }
h1 { font:500 clamp(43px,5vw,66px)/.98 "Space Grotesk",sans-serif;letter-spacing:-.05em;text-shadow:0 0 35px rgba(57,255,114,.08); }
h1 em { color:var(--accent);font-style:normal;text-shadow:0 0 20px rgba(57,255,114,.35); }
.welcome-copy { font:400 11px/1.8 "JetBrains Mono",monospace;color:#659372;max-width:500px; }
.suggestions { gap:8px; }
.suggestion { border-color:rgba(57,255,114,.15);border-radius:4px;background:linear-gradient(135deg,rgba(4,22,10,.76),rgba(2,12,6,.6));box-shadow:none; }
.suggestion:hover { transform:translateY(-2px);border-color:rgba(57,255,114,.5);background:rgba(8,37,16,.75);box-shadow:0 0 24px rgba(57,255,114,.07); }
.suggestion-icon,.coral,.lilac,.mint { border-radius:2px;background:#061a0c;color:var(--accent);border:1px solid rgba(57,255,114,.25);font-size:9px; }
.suggestion strong { color:#a7eeb9;font-size:10px; }.suggestion small{color:#487857;font-size:8px}.suggestion b{color:#2da94d}
.message.user .bubble { background:#0a2814;border:1px solid rgba(57,255,114,.14);border-radius:4px 4px 0 4px;color:#c3f7cf; }
.message-text { background:#0a2814;border:1px solid rgba(57,255,114,.14);border-radius:4px 4px 0 4px; }
.message-images img { border-radius:4px;border-color:rgba(57,255,114,.3);filter:saturate(.78) contrast(1.04); }
.assistant-mark { border-radius:3px;background:#07190d;border:1px solid rgba(57,255,114,.5);box-shadow:inset 0 0 15px rgba(57,255,114,.12),0 0 12px rgba(57,255,114,.08);position:relative; }
.assistant-mark:after{content:"M";position:absolute;inset:0;display:grid;place-items:center;color:var(--accent);font-size:11px;font-weight:700;text-shadow:0 0 7px var(--accent)}
.message.assistant .bubble { font:400 12px/1.8 "JetBrains Mono",monospace;color:#a8dbb5; }
.typing span { background:var(--accent);box-shadow:0 0 6px var(--accent);border-radius:0; }
.composer-zone { background:linear-gradient(transparent,#020805 35%); }
.composer { border-color:rgba(57,255,114,.25);border-radius:5px;background:rgba(3,16,8,.92);box-shadow:0 18px 55px rgba(0,0,0,.48),inset 0 0 30px rgba(57,255,114,.018); }
.composer:focus-within { border-color:rgba(57,255,114,.65);box-shadow:0 18px 55px rgba(0,0,0,.5),0 0 19px rgba(57,255,114,.08),inset 0 0 25px rgba(57,255,114,.025); }
.composer.dragging { border-color:var(--accent);background:rgba(7,35,15,.94); }
textarea { color:#c8fbd4;font-size:11px;caret-color:var(--accent); } textarea::placeholder{color:#406c4d}
.round-button { border-radius:3px;border-color:rgba(57,255,114,.22);color:#69ad7a; }.round-button:hover{color:var(--accent);background:rgba(57,255,114,.06)}
.mode-button { color:#4f8a5e;font-size:8px;letter-spacing:.08em; }.mode-button span{color:var(--accent)}
.send-button { border-radius:3px;background:var(--accent);color:#011805;box-shadow:0 0 14px rgba(57,255,114,.2); }.send-button:hover{background:#7cff9e;box-shadow:0 0 22px rgba(57,255,114,.35)}
.attachment-card { border-radius:3px;border-color:rgba(57,255,114,.3); }.remove-attachment{border-radius:2px;background:#021107;color:var(--accent)}
.fine-print { color:#315d3e;letter-spacing:.1em; }.toast{border-radius:3px;background:#07180c;color:var(--accent);border:1px solid rgba(57,255,114,.3);box-shadow:0 0 18px rgba(57,255,114,.1)}
body.night { --paper:#030806;--paper-deep:#06110b;--ink:#c7ffd7;--muted:#62966f;--line:rgba(55,255,116,.17);--card:rgba(3,18,10,.72); }
body.night .sidebar{background:rgba(2,9,5,.91)} body.night .thread.active,body.night .new-thread{background:rgba(57,255,114,.06)} body.night .message.user .bubble{background:#0a2814}
@media(max-width:850px){.sidebar{background:rgba(2,9,5,.98)}h1{font-size:47px}.suggestions{max-width:430px}}

/* Conversation controls and colour signal themes */
.thread-row{display:flex;align-items:center;position:relative;border-radius:3px}.thread-row .thread{flex:1;min-width:0;padding-right:34px}.thread-row.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 11%,transparent),transparent);box-shadow:inset 2px 0 var(--accent)}.thread-row.active .thread{color:var(--accent);background:transparent;box-shadow:none}.delete-thread{position:absolute;right:5px;width:24px;height:24px;border:0;background:transparent;color:color-mix(in srgb,var(--accent) 45%,#789);opacity:0;cursor:pointer;font-size:16px}.thread-row:hover .delete-thread,.thread-row.active .delete-thread{opacity:1}.delete-thread:hover{color:#ff667f;background:rgba(255,102,127,.08)}
body{--accent:#39ff72;--accent-soft:#0cbf48;--theme-rgb:57,255,114;--theme-dark:#020604;--theme-panel:#06110b;transition:background-color .45s,color .45s}body.theme-green{--accent:#39ff72;--accent-soft:#0cbf48;--theme-rgb:57,255,114;--theme-dark:#020604;--theme-panel:#06110b}body.theme-blue{--accent:#35c8ff;--accent-soft:#147ed8;--theme-rgb:53,200,255;--theme-dark:#02060b;--theme-panel:#051220}body.theme-purple{--accent:#bb73ff;--accent-soft:#7137c9;--theme-rgb:187,115,255;--theme-dark:#08030d;--theme-panel:#170824}body.theme-red{--accent:#ff536d;--accent-soft:#c7193d;--theme-rgb:255,83,109;--theme-dark:#0b0204;--theme-panel:#21070d}body.theme-gold{--accent:#ffd166;--accent-soft:#c18a12;--theme-rgb:255,209,102;--theme-dark:#090702;--theme-panel:#1b1405}body[class*="theme-"]{--paper:var(--theme-dark);--paper-deep:var(--theme-panel);--ink:color-mix(in srgb,var(--accent) 35%,white);--muted:color-mix(in srgb,var(--accent) 45%,#61706a);--line:rgba(var(--theme-rgb),.17);--card:rgba(var(--theme-rgb),.035);background:var(--theme-dark)}body[class*="theme-"] .main{background:radial-gradient(circle at 53% 40%,rgba(var(--theme-rgb),.11),transparent 36%),linear-gradient(color-mix(in srgb,var(--theme-dark) 92%,transparent),color-mix(in srgb,var(--theme-dark) 96%,transparent))}body[class*="theme-"] .sidebar{background:color-mix(in srgb,var(--theme-dark) 91%,transparent);border-right-color:rgba(var(--theme-rgb),.2)}body[class*="theme-"] .new-thread{border-color:rgba(var(--theme-rgb),.25);background:rgba(var(--theme-rgb),.055);color:var(--accent)}body[class*="theme-"] .orb{background:linear-gradient(135deg,var(--theme-dark),var(--theme-panel));border-color:rgba(var(--theme-rgb),.65);box-shadow:inset 0 0 22px rgba(var(--theme-rgb),.18),0 0 25px rgba(var(--theme-rgb),.18)}body[class*="theme-"] h1 em,body[class*="theme-"] .mode-button span,body[class*="theme-"] .suggestion-icon,body[class*="theme-"] .assistant-mark:after{color:var(--accent)}body[class*="theme-"] .message.user .bubble,body[class*="theme-"] .message-text{background:rgba(var(--theme-rgb),.09);border-color:rgba(var(--theme-rgb),.16)}body[class*="theme-"] .composer{background:color-mix(in srgb,var(--theme-dark) 90%,transparent);border-color:rgba(var(--theme-rgb),.25)}body[class*="theme-"] .send-button{background:var(--accent);box-shadow:0 0 18px rgba(var(--theme-rgb),.3)}body[class*="theme-"] .admin-link,body[class*="theme-"] .billing-button{border-color:rgba(var(--theme-rgb),.25);background:rgba(var(--theme-rgb),.06);color:var(--accent)}body[class*="theme-"] .matrix-rain{filter:hue-rotate(var(--theme-hue,0deg))}.theme-blue{--theme-hue:110deg}.theme-purple{--theme-hue:190deg}.theme-red{--theme-hue:285deg}.theme-gold{--theme-hue:45deg}
