@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;0,700;1,500;1,600&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap');
:root{--wine:#7a0f24;--wine2:#a3122f;--rose:#f4b3c0;--blush:#fbeef0;--gold:#ffd27a;--ink:#0d0106;--glass:rgba(255,255,255,.075);--glass2:rgba(255,255,255,.12);--line:rgba(255,200,212,.18);--muted:#d6a7b1;--r:22px}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:Inter,system-ui,sans-serif;color:var(--blush);background:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(1100px 700px at 85% -10%,#6b0c22 0%,transparent 60%),radial-gradient(900px 700px at -10% 110%,#4d0820 0%,transparent 60%),linear-gradient(160deg,#1a030b,#0d0106 60%,#160208)}
.bg i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:drift 26s ease-in-out infinite alternate}
.bg i:nth-child(1){width:520px;height:520px;left:-140px;top:-160px;background:#a3122f}
.bg i:nth-child(2){width:420px;height:420px;right:-120px;top:30%;background:#d8436a;opacity:.25;animation-duration:32s}
.bg i:nth-child(3){width:380px;height:380px;left:35%;bottom:-200px;background:#5d0b2a;animation-duration:40s}
@keyframes drift{to{transform:translate(60px,40px) scale(1.12)}}
.glass{background:linear-gradient(135deg,var(--glass2),var(--glass));backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12)}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
h1.title{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(34px,5vw,56px);line-height:1;margin:0;background:linear-gradient(180deg,#fff,#f6c7cf 60%,#e88a9c);-webkit-background-clip:text;background-clip:text;color:transparent}
.kick{letter-spacing:.28em;text-transform:uppercase;font-size:11px;font-weight:700;color:var(--rose);opacity:.9}
header.top{display:flex;align-items:center;gap:16px;padding:22px 26px}
header.top img{width:54px;height:54px;border-radius:16px;object-fit:cover;box-shadow:0 0 30px #ff2d5560}
header.top .sp{flex:1}
a{color:var(--gold)}
.btn{appearance:none;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--blush);padding:10px 16px;border-radius:999px;font:600 14px Inter;cursor:pointer;transition:.18s;white-space:nowrap}
.btn:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.btn.pri{background:linear-gradient(135deg,#c21a3f,#7a0f24);border-color:#ff8aa3;box-shadow:0 8px 24px #a3122f60}
.btn.pri:hover{filter:brightness(1.12)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(20,2,8,.45);border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--muted)}
.chip b{color:var(--gold)}
.dot{width:8px;height:8px;border-radius:50%;background:#555}.dot.on{background:#5ef08a;box-shadow:0 0 10px #5ef08a}
select,textarea,input{font:15px Inter;color:var(--blush);background:rgba(10,1,5,.55);border:1px solid var(--line);border-radius:14px;padding:11px 14px;outline:none}
select:focus,textarea:focus,input:focus{border-color:#ff8aa3;box-shadow:0 0 0 3px #a3122f40}
textarea{resize:none;width:100%}
.msg{padding:14px 18px;border-radius:18px;line-height:1.6;max-width:min(780px,92%);white-space:normal;word-wrap:break-word;animation:pop .25s ease}
.msg.user{align-self:flex-end;background:linear-gradient(135deg,#a3122f,#6b0c22);border:1px solid #ff8aa380}
.msg.bot{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid var(--line)}
.msg p{margin:.4em 0}.msg pre{background:#0a0104;border:1px solid var(--line);border-radius:12px;padding:12px;overflow:auto;font:13px 'JetBrains Mono',monospace}
.msg code{font-family:'JetBrains Mono',monospace;font-size:.9em;background:#0a010499;padding:1px 5px;border-radius:6px}
.msg pre code{background:none;padding:0}
.think{font-size:13px;color:var(--muted);border-left:2px solid #ff8aa380;padding:4px 0 4px 12px;margin-bottom:8px;max-height:180px;overflow:auto;font-style:italic}
.meta{font-size:11px;color:var(--muted);margin-top:8px;opacity:.85}
.caret::after{content:"▍";animation:blink 1s steps(2) infinite;color:var(--rose)}
@keyframes blink{50%{opacity:0}}@keyframes pop{from{opacity:0;transform:translateY(6px)}}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#ffffff22;border-radius:10px}
footer{text-align:center;font-size:12px;color:var(--muted);padding:18px;opacity:.8}
