:root{--font-sans: "Inter", "Inter Variable", ui-sans-serif, system-ui, "Hiragino Sans", "Yu Gothic", "PingFang SC", "Apple SD Gothic Neo", "Noto Sans CJK JP", sans-serif;--font-serif: "Newsreader", "Newsreader Variable", "Georgia", "Times New Roman", serif;--font-mono: ui-monospace, "JetBrains Mono", "IBM Plex Mono", "SF Mono", Menlo, Consolas, monospace;--t-xs: 12px;--t-xs-lh: 18px;--t-sm: 13px;--t-sm-lh: 20px;--t-base: 15px;--t-base-lh: 24px;--t-lg: 17px;--t-lg-lh: 26px;--t-xl: 20px;--t-xl-lh: 28px;--t-2xl: 25px;--t-2xl-lh: 32px;--t-3xl: 32px;--t-3xl-lh: 40px;--fw-regular: 400;--fw-medium: 500;--tr-normal: .01em;--tr-wide: .04em;--tr-cap: .12em;--s-0: 0;--s-px: 1px;--s-0_5: 2px;--s-1: 4px;--s-1_5: 6px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-20: 80px;--s-24: 96px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-2xl: 28px;--r-full: 9999px;--r-bubble-user: 18px 18px 4px 18px;--r-bubble-persona: 18px 18px 18px 4px;--d-fast: .12s;--d-default: .2s;--d-slow: .4s;--d-glacial: .8s;--d-pulse: 2.5s;--d-breathe: 4.5s;--d-orbit: 12s;--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-bounce: cubic-bezier(.5, 0, .5, 1);--ease-shake: cubic-bezier(.36, .07, .19, .97);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--n-50: oklch(.985 .003 70);--n-100: oklch(.965 .005 65);--n-150: oklch(.945 .007 65);--n-200: oklch(.92 .008 65);--n-300: oklch(.86 .01 65);--n-400: oklch(.72 .012 60);--n-500: oklch(.58 .014 55);--n-600: oklch(.45 .014 50);--n-700: oklch(.32 .013 45);--n-800: oklch(.22 .012 42);--n-850: oklch(.18 .011 45);--n-900: oklch(.135 .009 48);--n-950: oklch(.085 .008 50);--emo-joy: oklch(.78 .13 85);--emo-tender: oklch(.74 .12 10);--emo-dreamy: oklch(.72 .1 240);--emo-doubt: oklch(.65 .04 70);--emo-energy: oklch(.66 .15 30);--emo-mischief: oklch(.65 .13 310);--emo-neutral: oklch(.7 .008 70);--sem-success: oklch(.62 .13 145);--sem-warning: oklch(.72 .13 75);--sem-danger: oklch(.58 .16 25);--sem-info: oklch(.62 .12 230);--persona-hue: 55;--persona-chroma: .025}[data-theme=dark]{--bg: var(--n-900);--surface: var(--n-850);--elevated: var(--n-800);--overlay: color-mix(in oklab, var(--n-950) 75%, transparent);--sunken: var(--n-950);--text: var(--n-100);--text-2: oklch(from var(--n-200) l c h / .78);--text-3: oklch(from var(--n-300) l c h / .55);--text-disabled: oklch(from var(--n-400) l c h / .32);--text-inverse: var(--n-900);--border-subtle: oklch(from var(--n-50) l c h / .06);--border: oklch(from var(--n-50) l c h / .11);--border-strong: oklch(from var(--n-50) l c h / .22);--border-focus: var(--accent);--accent: oklch(.75 var(--persona-chroma) var(--persona-hue));--accent-hover: oklch(.82 var(--persona-chroma) var(--persona-hue));--accent-soft: oklch(.62 calc(var(--persona-chroma) + .01) var(--persona-hue) / .22);--accent-line: oklch(.75 var(--persona-chroma) var(--persona-hue) / .45);--accent-ink: var(--n-950);--accent-bg: oklch(.2 calc(var(--persona-chroma) * .6) var(--persona-hue));--success: oklch(from var(--sem-success) calc(l + .1) c h);--warning: oklch(from var(--sem-warning) calc(l + .05) c h);--danger: oklch(from var(--sem-danger) calc(l + .1) c h);--info: oklch(from var(--sem-info) calc(l + .08) c h);--e1: 0 1px 0 0 oklch(from var(--n-50) l c h / .04) inset, 0 1px 2px 0 rgb(0 0 0 / .25);--e2: 0 1px 0 0 oklch(from var(--n-50) l c h / .05) inset, 0 4px 12px -2px rgb(0 0 0 / .35);--e3: 0 1px 0 0 oklch(from var(--n-50) l c h / .06) inset, 0 12px 32px -8px rgb(0 0 0 / .45);--e4: 0 1px 0 0 oklch(from var(--n-50) l c h / .07) inset, 0 24px 60px -12px rgb(0 0 0 / .55);--color-scheme: dark}[data-theme=light]{--bg: var(--n-100);--surface: var(--n-50);--elevated: #ffffff;--overlay: color-mix(in oklab, var(--n-900) 55%, transparent);--sunken: var(--n-150);--text: var(--n-900);--text-2: oklch(from var(--n-800) l c h / .72);--text-3: oklch(from var(--n-700) l c h / .5);--text-disabled: oklch(from var(--n-600) l c h / .28);--text-inverse: var(--n-50);--border-subtle: oklch(from var(--n-900) l c h / .06);--border: oklch(from var(--n-900) l c h / .11);--border-strong: oklch(from var(--n-900) l c h / .22);--border-focus: var(--accent);--accent: oklch(.58 var(--persona-chroma) var(--persona-hue));--accent-hover: oklch(.48 var(--persona-chroma) var(--persona-hue));--accent-soft: oklch(.66 calc(var(--persona-chroma) + .005) var(--persona-hue) / .14);--accent-line: oklch(.58 var(--persona-chroma) var(--persona-hue) / .42);--accent-ink: #ffffff;--accent-bg: oklch(.94 calc(var(--persona-chroma) * .4) var(--persona-hue));--success: var(--sem-success);--warning: var(--sem-warning);--danger: var(--sem-danger);--info: var(--sem-info);--e1: 0 1px 2px 0 oklch(from var(--n-900) l c h / .05);--e2: 0 2px 6px -1px oklch(from var(--n-900) l c h / .07), 0 1px 2px 0 oklch(from var(--n-900) l c h / .04);--e3: 0 10px 28px -6px oklch(from var(--n-900) l c h / .1), 0 2px 6px -2px oklch(from var(--n-900) l c h / .05);--e4: 0 24px 56px -12px oklch(from var(--n-900) l c h / .14), 0 4px 12px -4px oklch(from var(--n-900) l c h / .06);--color-scheme: light}[data-persona=luna]{--persona-hue: 30;--persona-chroma: .13}[data-persona=nyx]{--persona-hue: 285;--persona-chroma: .13}[data-theme=dark] [data-persona],[data-theme=dark][data-persona]{--accent: oklch(.75 var(--persona-chroma) var(--persona-hue));--accent-hover: oklch(.82 var(--persona-chroma) var(--persona-hue));--accent-soft: oklch(.62 calc(var(--persona-chroma) + .01) var(--persona-hue) / .22);--accent-line: oklch(.75 var(--persona-chroma) var(--persona-hue) / .45);--accent-ink: var(--n-950);--accent-bg: oklch(.2 calc(var(--persona-chroma) * .6) var(--persona-hue))}[data-theme=light] [data-persona],[data-theme=light][data-persona]{--accent: oklch(.58 var(--persona-chroma) var(--persona-hue));--accent-hover: oklch(.48 var(--persona-chroma) var(--persona-hue));--accent-soft: oklch(.66 calc(var(--persona-chroma) + .005) var(--persona-hue) / .14);--accent-line: oklch(.58 var(--persona-chroma) var(--persona-hue) / .42);--accent-ink: #ffffff;--accent-bg: oklch(.94 calc(var(--persona-chroma) * .4) var(--persona-hue))}@keyframes lun-breathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.025) translateY(-2px)}}@keyframes lun-halo-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.45;transform:scale(1.08)}}@keyframes lun-live-pulse{0%,to{box-shadow:0 0 #4ea95466}50%{box-shadow:0 0 0 6px #4ea95400}}@keyframes lun-typing-bounce{0%,60%,to{transform:translateY(0) scale(.8);opacity:.4}30%{transform:translateY(-8px) scale(1);opacity:1}}@keyframes lun-send-pulse{0%,70%,to{transform:scale(1)}75%{transform:scale(.92)}85%{transform:scale(1.04)}}@keyframes lun-ripple{0%,70%{transform:scale(1);opacity:0}75%{transform:scale(1);opacity:.7}to{transform:scale(2.2);opacity:0}}@keyframes lun-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes lun-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px) rotate(-2deg)}40%{transform:translate(4px) rotate(2deg)}60%{transform:translate(-3px) rotate(-1deg)}80%{transform:translate(3px) rotate(1deg)}}@keyframes lun-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:where(html){color-scheme:var(--color-scheme, dark);font-family:var(--font-sans);font-size:var(--t-base);line-height:var(--t-base-lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;word-break:normal;overflow-wrap:break-word}:where(*,*:before,*:after){box-sizing:border-box}:where(html,body){margin:0;padding:0;background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh}:where(a){color:var(--accent);text-decoration:none}:where(a:hover){color:var(--accent-hover)}:where(button){font-family:inherit;font-size:var(--t-sm);line-height:var(--t-sm-lh);padding:var(--s-2) var(--s-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color var(--d-fast) var(--ease-out-quart),background var(--d-fast) var(--ease-out-quart)}:where(button:hover){border-color:var(--border-strong)}:where(button:disabled){opacity:.4;cursor:not-allowed}:where(input,textarea){font-family:inherit;font-size:var(--t-base);line-height:var(--t-base-lh);color:var(--text)}
