[data-persona]{--ai-accent:var(--svc-saju,var(--color-gold))}[data-persona=wolha]{--ai-accent:var(--svc-compat)}[data-persona=seoun]{--ai-accent:var(--svc-astro)}[data-persona=dancheong]{--ai-accent:var(--svc-tarot)}[data-persona=mukhyang]{--ai-accent:var(--svc-naming)}[data-persona=sugyeong]{--ai-accent:var(--svc-face)}.ai-room{--ai-log-bg:radial-gradient(560px 340px at 50% -80px,color-mix(in oklab,var(--ai-accent) 22%,transparent),transparent 72%),radial-gradient(420px 300px at 100% 100%,rgb(168 85 247/0.10),transparent 70%),var(--color-bg);--ai-bot:var(--card-bg,var(--color-surface-2));--ai-bot-line:var(--card-border,var(--color-border));--ai-me:linear-gradient(135deg,color-mix(in oklab,var(--ai-accent) 34%,var(--color-surface)),color-mix(in oklab,var(--ai-accent) 18%,var(--color-surface)));--ai-me-line:color-mix(in oklab,var(--ai-accent) 50%,transparent);--ai-r:16px;border-color:color-mix(in oklab,var(--ai-accent) 35%,var(--color-border))!important;box-shadow:0 0 48px -12px color-mix(in oklab,var(--ai-accent) 45%,transparent),0 24px 60px -20px rgb(0 0 0/.7)}:root[data-theme=light] .ai-room{--ai-log-bg:radial-gradient(560px 340px at 50% -80px,color-mix(in oklab,var(--ai-accent) 12%,transparent),transparent 72%),var(--color-bg);--ai-me:linear-gradient(135deg,color-mix(in oklab,var(--ai-accent) 16%,var(--color-surface)),color-mix(in oklab,var(--ai-accent) 8%,var(--color-surface)));--ai-me-line:color-mix(in oklab,var(--ai-accent) 38%,transparent);box-shadow:0 0 40px -14px color-mix(in oklab,var(--ai-accent) 35%,transparent),0 24px 60px -24px rgb(25 30 55/.25)}.ai-room>form,.ai-room>header{background:color-mix(in oklab,var(--color-surface) 82%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:color-mix(in oklab,var(--ai-accent) 22%,var(--color-border))!important}.ai-room>header .av{box-shadow:0 0 0 2px var(--ai-accent),0 0 14px -2px color-mix(in oklab,var(--ai-accent) 60%,transparent)}.ai-room>header{background:linear-gradient(135deg,var(--crew-deep,transparent) 0,color-mix(in oklab,var(--color-surface) 88%,transparent) 100%);border-bottom:1px solid color-mix(in oklab,var(--ai-accent) 55%,transparent)!important;box-shadow:0 8px 22px -14px var(--crew-glow,transparent)}.ai-room>header h2{color:var(--crew-name,var(--ai-accent))}.ai-room>form{background:linear-gradient(0deg,var(--crew-deep,transparent) 0,color-mix(in oklab,var(--color-surface) 88%,transparent) 100%);border-top:1px solid color-mix(in oklab,var(--ai-accent) 45%,transparent)!important}.ai-room .ai-input{border-color:color-mix(in oklab,var(--ai-accent) 45%,var(--field-border,var(--color-border-strong)))}@media (min-width:640px){dialog.ai-room{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(30rem,100vw);max-width:none;border-radius:24px 0 0 24px;border-right:0}dialog.ai-room::backdrop{background:rgb(3 5 9/.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}@media (min-width:1280px){dialog.ai-room{width:34rem}}.ai-entry{border-radius:var(--radius);transition:border-color var(--dur-hover) ease,background-color var(--dur-hover) ease,transform var(--dur-press) var(--ease-press);-webkit-tap-highlight-color:transparent}.ai-entry:hover{border-color:var(--ai-accent)}.ai-entry:active{transform:translateY(1px)}.ai-fab-spot{right:10px;bottom:calc(130px + env(safe-area-inset-bottom))}@media (min-width:1024px){.ai-fab-spot{bottom:78px}}.ai-fab{background:var(--color-surface);box-shadow:0 0 0 2px var(--ai-accent),0 0 18px -2px color-mix(in oklab,var(--ai-accent) 60%,transparent),0 8px 20px -8px var(--color-shadow);transition:transform var(--dur-press) var(--ease-press),box-shadow var(--dur-hover) ease}.ai-fab,.ai-fab-btn{border-radius:9999px;-webkit-tap-highlight-color:transparent}.ai-fab-btn:hover .ai-fab{box-shadow:0 0 0 2px var(--ai-accent),0 10px 24px -8px var(--color-shadow)}.ai-fab-btn:active .ai-fab{transform:scale(.95)}.ai-fab-btn:focus-visible{outline:2px solid var(--color-teal);outline-offset:3px}.ai-fab-label{padding:.4rem .8rem;border:1px solid var(--ai-accent);border-radius:9999px;background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:600;white-space:nowrap;box-shadow:0 6px 16px -8px var(--color-shadow)}.ai-scroll{background:var(--ai-log-bg);overscroll-behavior:contain}.ai-bubble{padding:.5rem .8rem;border-radius:var(--ai-r);font-size:var(--text-base);line-height:1.65;white-space:pre-line;overflow-wrap:anywhere;color:var(--color-text)}.ai-bubble>p+p{margin-top:.7em}.ai-bubble>.ai-sec-head+p{margin-top:.25em}.ai-bubble>p+.ai-sec-head{margin-top:1.3em}.ai-bubble-bot{background:var(--ai-bot);border:1px solid var(--ai-bot-line);border-top-left-radius:4px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgb(255 255 255/.06)}li:has(>div .ai-film){padding-right:0}.ai-bubble:has(>.ai-film){flex:1 1 auto;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ai-bubble-me{background:var(--ai-me);border:1px solid var(--ai-me-line);border-top-right-radius:4px;box-shadow:0 6px 18px -10px color-mix(in oklab,var(--ai-accent) 60%,transparent)}.ai-time{flex-shrink:0;line-height:1.2;white-space:nowrap}.ai-date,.ai-time{font-size:var(--text-2xs);color:var(--color-faint)}.ai-date{display:flex;align-items:center;gap:.75rem}.ai-date:after,.ai-date:before{content:"";flex:1;height:1px;background:var(--color-border)}@keyframes ai-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.ai-in{animation:ai-in .32s var(--ease-out) backwards}.ai-in-me{transform-origin:100% 100%}.ai-in-bot{transform-origin:0 100%}.ai-dots{display:inline-flex;align-items:center;gap:.3rem;height:1.65em}.ai-dots>i{width:6px;height:6px;border-radius:9999px;background:var(--color-dim);animation:ai-dot 1.1s ease-in-out infinite}.ai-dots>i:nth-child(2){animation-delay:.15s}.ai-dots>i:nth-child(3){animation-delay:.3s}@keyframes ai-dot{0%,60%,to{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}.ai-error{border-right:2px solid var(--color-danger);padding-right:.625rem;font-size:var(--text-xs)}.ai-error,.ai-topic{color:var(--color-text)}.ai-topic{border:1px solid var(--ai-bot-line);border-radius:12px;background:var(--ai-bot);transition:border-color var(--dur-hover) ease,transform var(--dur-press) var(--ease-press)}.ai-topic:hover{border-color:var(--ai-accent)}.ai-topic:active{transform:translateY(1px)}.ai-question{border-radius:var(--ai-r);background:var(--ai-bot);line-height:1.5;border-color:color-mix(in oklab,var(--ai-accent) 32%,var(--ai-bot-line))!important}.ai-question:not(:disabled):hover{border-color:var(--ai-accent)!important}.ai-question:disabled{opacity:.5;cursor:default}.ai-topic-tag{border:1px solid color-mix(in oklab,var(--ai-accent) 55%,transparent);border-radius:var(--radius);background:color-mix(in oklab,var(--ai-accent) 12%,var(--color-surface));color:var(--ai-accent)}.ai-memo{border:1px solid var(--ai-bot-line);border-left:2px solid var(--ai-accent);border-radius:var(--radius);background:color-mix(in oklab,var(--ai-accent) 5%,var(--ai-bot))}.ai-memo-sum{color:var(--ai-accent);letter-spacing:.02em}.ai-memo-sum::-webkit-details-marker{display:none}.ai-memo:not([open]) .ai-memo-when-open,.ai-memo[open] .ai-memo-when-closed{display:none}.ai-memo-chev{transform:rotate(-90deg);transition:transform var(--dur-hover) var(--ease-press)}.ai-memo[open] .ai-memo-chev{transform:none}.ai-memo-note{background:var(--ai-bot);color:var(--color-dim)}.ai-memo-cell,.ai-memo-note{border:1px solid var(--color-border);border-radius:var(--radius)}.ai-memo-cell{background:var(--ai-log-bg)}.ai-day{min-height:1.5rem;border-radius:var(--radius)}.ai-day-good{border:1px solid var(--ai-accent);color:var(--color-text);background:color-mix(in oklab,var(--ai-accent) 10%,transparent)}.ai-day-bad{border:1px solid var(--color-border);color:var(--color-faint)}.ai-day-avoid{border-radius:var(--radius);background:var(--color-surface-2);color:var(--color-dim);font-size:var(--text-2xs);line-height:1.3}.ai-link{border:1px solid var(--ai-bot-line);border-radius:var(--radius);background:var(--ai-bot);color:var(--color-text);transition:border-color var(--dur-hover) ease}.ai-link:hover{border-color:var(--ai-accent)}.ai-link:active{transform:translateY(1px)}.ai-reset-box{border:1px solid var(--color-border);border-left:2px solid var(--color-danger);border-radius:var(--radius);background:var(--ai-log-bg)}.ai-input{display:block;max-height:7.5rem;padding:.6rem .8rem;border:1px solid var(--field-border,var(--color-border-strong));border-radius:var(--ai-r);background:var(--field-bg,var(--color-surface));color:var(--color-text);font-size:max(16px,var(--text-base));line-height:1.5;resize:none;transition:border-color var(--dur-hover) ease}.ai-input:focus-visible{border-color:var(--ai-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--ai-accent) 25%,transparent);outline:none}.ai-send{border-radius:9999px;background:var(--crew-grad,linear-gradient(135deg,var(--ai-accent),color-mix(in oklab,var(--ai-accent) 55%,#e11d48)));color:var(--crew-ink,#ffffff);box-shadow:0 6px 18px -6px color-mix(in oklab,var(--ai-accent) 65%,transparent);transition:transform var(--dur-press) var(--ease-press),background-color var(--dur-hover) ease}.ai-send:not(:disabled):active{transform:scale(.94)}.ai-send:disabled{background:var(--color-surface-2);color:var(--color-muted);box-shadow:none;cursor:default}.ai-send[aria-busy=true]:disabled{background:color-mix(in oklab,var(--ai-accent) 30%,var(--color-surface-2));color:var(--ai-accent)}@media (prefers-reduced-motion:reduce){.ai-dots>i,.ai-in{animation:none!important}.ai-dots>i{opacity:.6}.ai-entry,.ai-fab,.ai-input,.ai-link,.ai-memo-chev,.ai-send,.ai-topic{transition:none!important}.ai-entry:active,.ai-fab:active,.ai-link:active,.ai-send:not(:disabled):active,.ai-topic:active{transform:none}}dialog.ai-room[data-kb] form{padding-bottom:.5rem!important}@media (max-width:639.98px){dialog.ai-room::backdrop{background:var(--color-surface,#fff);backdrop-filter:none}}.ai-result-btn{border-radius:9999px;border:1px solid color-mix(in oklab,var(--ai-accent) 60%,transparent);background:color-mix(in oklab,var(--ai-accent) 14%,var(--color-surface));color:var(--crew-name,var(--ai-accent));transition:transform var(--dur-press) var(--ease-press),background-color var(--dur-hover) ease}.ai-result-btn:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.ai-result-btn{transition:none}.ai-result-btn:active{transform:none}}