:root{--font-sans: "Inter", "SF Pro Display", -apple-system, "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--bg: #06070c;--bg-rgb: 6, 7, 12;--fg: #f2f3f7;--fg-dim: rgba(242, 243, 247, .55);--accent: #8ea2ff;--accent-strong: #6d84ff;--accent-rgb: 142, 162, 255;--particle-rgb: 205, 214, 255;--glass-bg: rgba(14, 16, 26, .55);--glass-border: rgba(255, 255, 255, .09);--bubble-ai: rgba(255, 255, 255, .08);--bubble-ai-fg: #eceef4;--input-bg: rgba(255, 255, 255, .06);color-scheme:dark}:root[data-theme=light]{--bg: #f5f4f0;--bg-rgb: 245, 244, 240;--fg: #16171d;--fg-dim: rgba(22, 23, 29, .55);--accent: #4f63e0;--accent-strong: #3a4ec9;--accent-rgb: 79, 99, 224;--particle-rgb: 70, 78, 120;--glass-bg: rgba(255, 255, 255, .6);--glass-border: rgba(20, 20, 30, .08);--bubble-ai: rgba(20, 21, 28, .06);--bubble-ai-fg: #1d1e25;--input-bg: rgba(20, 21, 28, .05);color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);overflow-x:hidden;transition:background .6s var(--ease-out),color .6s var(--ease-out);-webkit-font-smoothing:antialiased}.scroll-track{height:520vh}.stage{position:fixed;inset:0;overflow:hidden;pointer-events:none}.stage canvas{position:absolute;inset:0;width:100%;height:100%}.top-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,44px);z-index:30}.monogram{font-weight:700;letter-spacing:.12em;font-size:15px;color:var(--fg);text-decoration:none;pointer-events:auto}.top-actions{display:flex;gap:10px;align-items:center}.pill-btn{pointer-events:auto;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--fg);font:inherit;font-size:13px;padding:9px 16px;border-radius:999px;cursor:pointer;transition:transform .25s var(--ease-out),border-color .25s}.pill-btn:hover{transform:translateY(-1px);border-color:var(--accent)}#theme-toggle{width:38px;height:38px;padding:0;display:grid;place-items:center;font-size:15px}.phrase{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 6vw;opacity:0;z-index:10}.phrase[data-phrase="1"]{opacity:1}.hero-portrait{display:block;width:clamp(96px,14vw,124px);height:clamp(96px,14vw,124px);margin:0 auto 26px;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--accent-rgb),.55);box-shadow:0 0 0 7px rgba(var(--accent-rgb),.1),0 0 42px rgba(var(--accent-rgb),.3),0 14px 40px #00000059}.kin-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.kin{display:inline-block;will-change:transform}.phrase h1{font-size:clamp(2.6rem,8vw,6.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.04}.phrase h2{font-size:clamp(1.8rem,5vw,4rem);font-weight:650;letter-spacing:-.02em;line-height:1.1}.phrase p{margin-top:18px;font-size:clamp(1rem,1.8vw,1.25rem);color:var(--fg-dim);font-weight:400}.typer{margin-top:30px;min-height:1.6em;font-family:ui-monospace,Cascadia Code,Consolas,SF Mono,monospace;font-size:clamp(.82rem,1.4vw,.98rem)!important;letter-spacing:.03em;color:var(--accent)!important}.typer-caret{display:inline-block;width:.55em;height:1.15em;margin-left:3px;vertical-align:text-bottom;background:var(--accent);opacity:.85;animation:caret-blink 1.1s steps(2,start) infinite}@keyframes caret-blink{to{visibility:hidden}}@media(prefers-reduced-motion:reduce){.typer-caret{animation:none}}.scroll-hint{position:absolute;bottom:34px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--fg);font-size:12.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;z-index:20;animation:hint-glow 2.2s ease-in-out infinite}@keyframes hint-glow{0%,to{opacity:.7;text-shadow:0 0 0 rgba(var(--accent-rgb),0)}50%{opacity:1;text-shadow:0 0 14px rgba(var(--accent-rgb),.9),0 0 34px rgba(var(--accent-rgb),.5)}}.scroll-hint .line{width:2px;height:46px;border-radius:2px;background:linear-gradient(to bottom,var(--accent),transparent);box-shadow:0 0 12px rgba(var(--accent-rgb),.8);animation:hint-drop 1.8s var(--ease-out) infinite}@keyframes hint-drop{0%{transform:scaleY(0);transform-origin:top;opacity:0}35%{transform:scaleY(1);opacity:1}to{transform:scaleY(1);transform-origin:top;opacity:0}}.chat-shell{position:absolute;inset:0;display:grid;place-items:center;opacity:0;z-index:15;padding:76px 16px 20px}.chat-shell.active{pointer-events:auto}.chat-frame{width:min(400px,100%);height:min(640px,100%);display:flex;flex-direction:column;border-radius:28px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);box-shadow:0 30px 80px #00000059;overflow:hidden}.chat-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--glass-border)}.chat-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));flex-shrink:0}.chat-avatar img{width:100%;height:100%;object-fit:cover;display:block}.chat-id{display:flex;flex-direction:column;gap:2px}.chat-id strong{font-size:15px}.chat-badge{font-size:10.5px;letter-spacing:.06em;color:var(--fg-dim);text-transform:uppercase}.chat-status{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-dim)}.chat-status .dot{width:7px;height:7px;border-radius:50%;background:#3ecf72}.chat-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 14px 8px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin}.msg{max-width:82%;padding:10px 14px;border-radius:18px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;animation:msg-in .35s var(--ease-out)}@keyframes msg-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.msg.ai{align-self:flex-start;background:var(--bubble-ai);color:var(--bubble-ai-fg);border-bottom-left-radius:6px}.msg.user{align-self:flex-end;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;border-bottom-right-radius:6px}.msg.system{align-self:center;background:none;color:var(--fg-dim);font-size:12.5px;text-align:center}.msg.typing{display:flex;gap:5px;padding:14px 16px}.msg.typing i{width:7px;height:7px;border-radius:50%;background:var(--fg-dim);animation:bounce 1.2s infinite}.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}.chat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:8px 14px}.chip{border:1px solid var(--glass-border);background:var(--input-bg);color:var(--fg);font:inherit;font-size:12.5px;padding:7px 13px;border-radius:999px;cursor:pointer;transition:border-color .2s,transform .2s}.chip:hover{border-color:var(--accent);transform:translateY(-1px)}.chat-input{display:flex;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--glass-border)}.chat-input input{flex:1;border:1px solid var(--glass-border);background:var(--input-bg);color:var(--fg);font:inherit;font-size:14px;padding:11px 16px;border-radius:999px;outline:none}.chat-input input:focus{border-color:var(--accent)}.chat-input input:disabled{opacity:.55;cursor:not-allowed}.chat-input button{width:42px;height:42px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;font-size:17px;cursor:pointer;transition:transform .2s var(--ease-out),opacity .2s;flex-shrink:0}.chat-input button:hover{transform:scale(1.07)}.chat-input button:disabled{opacity:.45;cursor:default}.site-footer{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:11.5px;color:var(--fg-dim);z-index:5}.site-footer a{color:inherit;pointer-events:auto}@media(max-width:520px){.chat-shell{padding:70px 10px 12px}.chat-frame{border-radius:22px}.scroll-track{height:420vh}}@media(prefers-reduced-motion:reduce){.scroll-hint,.scroll-hint .line,.msg{animation:none}}
