:root{--bg:#0a0205;--bg2:#16050b;--card:rgba(48,8,18,.5);--line:rgba(255,70,100,.2);--ac:#c4122f;--ac2:#ff5a78;--tx:#f7e9ec;--mu:#b48a94;--gl:0 0 28px rgba(196,18,47,.4)}
[data-theme=mono]{--bg:#000;--bg2:#0c0c0c;--card:rgba(255,255,255,.04);--line:rgba(255,255,255,.2);--ac:#fff;--ac2:#cfcfcf;--tx:#fff;--mu:#8f8f8f;--gl:0 0 28px rgba(255,255,255,.18)}
*{box-sizing:border-box;margin:0}
body{font-family:Rajdhani,sans-serif;font-size:18px;color:var(--tx);background:radial-gradient(900px 500px at 15% -5%,color-mix(in srgb,var(--ac) 35%,transparent),transparent),radial-gradient(700px 500px at 100% 100%,color-mix(in srgb,var(--ac) 20%,transparent),transparent),var(--bg);background-attachment:fixed;min-height:100vh}
h1,h2,h3,.logo{font-family:Orbitron,sans-serif}
.nav{position:sticky;top:0;z-index:9;display:flex;gap:14px;align-items:center;padding:12px 20px;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{font-weight:800;letter-spacing:.12em;color:var(--ac2);text-shadow:var(--gl)}
nav{display:flex;gap:4px;flex:1;overflow-x:auto}
nav a{padding:8px 14px;color:var(--mu);text-decoration:none;border:1px solid transparent;border-radius:6px;white-space:nowrap;font-weight:600}
nav a:hover,nav a.on{color:var(--tx);border-color:var(--line);background:var(--card)}
.btn{font:600 16px Rajdhani,sans-serif;background:var(--ac);color:#fff;border:0;padding:10px 18px;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:var(--gl)}
[data-theme=mono] .btn{color:#000}
.btn.ghost{background:transparent;color:var(--tx);border:1px solid var(--line);box-shadow:none}.btn.sm{padding:6px 12px;font-size:14px}
.btn:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--ac2);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:36px 20px}
.hero{min-height:62vh;display:grid;align-content:center;gap:14px}
.hero h1{font-size:clamp(64px,16vw,170px);line-height:.9;font-weight:800;letter-spacing:.06em;background:linear-gradient(180deg,var(--tx),var(--ac) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px color-mix(in srgb,var(--ac) 50%,transparent))}
.hero h3{font-weight:600;letter-spacing:.2em;color:var(--ac2);font-size:clamp(13px,2.4vw,20px)}
.mu{color:var(--mu)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;backdrop-filter:blur(6px)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;margin-bottom:12px;background:var(--bg2)}
.card h3{margin-bottom:6px;font-size:16px}.pre{white-space:pre-line}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:20px}
.price{color:var(--ac2);font-weight:700;font-size:22px;margin:8px 0}
.welcome{margin-top:20px;border-left:3px solid var(--ac);line-height:1.6}
.chat{margin-top:16px;border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:hidden}
#msgs{height:52vh;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.m{max-width:80%;padding:9px 13px;border-radius:10px;white-space:pre-wrap;word-break:break-word}
.me{align-self:flex-end;background:var(--ac);color:#fff}[data-theme=mono] .me{color:#000}
.ot{align-self:flex-start;background:rgba(255,255,255,.08)}
.send{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}
input,select,textarea{flex:1;font:16px Rajdhani,sans-serif;background:var(--bg2);color:var(--tx);border:1px solid var(--line);border-radius:6px;padding:10px;width:100%}
footer{text-align:center;color:var(--mu);padding:30px;font-size:15px}
.form{display:grid;gap:10px;max-width:520px;margin:16px 0}.form label{color:var(--mu);font-size:14px}
.row{display:flex;gap:10px;margin:10px 0}.cols{display:grid;grid-template-columns:240px 1fr;gap:16px;margin-top:12px}
.sess{display:block;width:100%;text-align:left;margin-bottom:6px}.login{max-width:380px;margin:12vh auto}
@media(max-width:700px){.cols{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.hero h1{animation:rise .9s ease both}@keyframes rise{from{opacity:0;letter-spacing:.3em}}}
