@font-face{font-family:OngleIpSeaBreeze;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2510-1@1.0/Ownglyph_the_sea_breeze-Rg.woff2) format("woff2");font-weight:400;font-display:swap}:root{--accent: #FF5A1F;--accent-soft: color-mix(in oklab, var(--accent) 18%, transparent);--accent-ink: #0a0a0b;--bg: #0a0a0b;--bg-2: #0f0e0e;--surface: #141417;--surface-2: #1a1a1f;--surface-hi: #202027;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--grid-line: rgba(255, 255, 255, .075);--dot: rgba(255, 255, 255, .11);--text: #f3f3f1;--text-dim: rgba(243, 243, 241, .58);--text-faint: rgba(243, 243, 241, .34);--shadow: 0 24px 60px -24px rgba(0, 0, 0, .7);--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-script: "Great Vibes", cursive;--maxw: 1180px;--nav-w: 184px;--reveal-shift: 22px;--reveal-dur: .7s;--parallax: 1;color-scheme:dark}html[data-lang=ko]{--font-script: "OngleIpSeaBreeze", "Nanum Brush Script", cursive}[data-theme=light]{--accent-ink: #fff;--bg: #f4f2ee;--bg-2: #f3f2ef;--surface: #ffffff;--surface-2: #f6f6f4;--surface-hi: #efefec;--border: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .18);--grid-line: rgba(0, 0, 0, .032);--dot: rgba(0, 0, 0, .06);--text: #16160f;--text-dim: rgba(22, 22, 15, .62);--text-faint: rgba(22, 22, 15, .4);--shadow: 0 24px 60px -28px rgba(0, 0, 0, .28);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip;scrollbar-width:none;-ms-overflow-style:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(pointer:coarse)and (prefers-reduced-motion:no-preference){html,body{overflow:hidden;height:100%;overscroll-behavior:none}main{position:fixed;inset:0;overflow-y:auto;touch-action:pinch-zoom;scroll-behavior:auto;overscroll-behavior-y:none;scrollbar-width:none}main::-webkit-scrollbar{width:0;height:0;display:none}}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}.reveal{opacity:0;transform:translateY(var(--reveal-shift));transition:opacity var(--reveal-dur) cubic-bezier(.16,.84,.34,1),transform var(--reveal-dur) cubic-bezier(.16,.84,.34,1);transition-delay:var(--d, 0s)}.reveal.in-view,.reveal[data-revealed]{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: true;}@keyframes glow-spin{to{--angle: 360deg}}.glow,.glow-p{position:relative;--mx: 50%;--my: 50%;--angle: 0deg}.glow:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;background:conic-gradient(from var(--angle),transparent 0deg,color-mix(in oklab,var(--accent) 45%,transparent) 38deg,var(--accent) 58deg,transparent 66deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.85;transition:opacity .35s;pointer-events:none;z-index:2;animation:glow-spin 6s linear infinite}.glow:hover:before{opacity:1;animation:none}.glow:after,.glow-p:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:radial-gradient(190px circle at var(--mx) var(--my),color-mix(in oklab,var(--accent) 24%,transparent),transparent 60%);opacity:0;transition:opacity .35s}.glow:hover:after,.glow-p:hover:after{opacity:1}.glow>*,.glow-p>*{position:relative;z-index:1}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:13px 20px;border:1px solid var(--border-strong);border-radius:2px;color:var(--text);background:transparent;overflow:hidden;transition:border-color .2s,background .2s,color .2s,transform .2s}.btn:hover{border-color:var(--text);transform:translateY(-2px)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{background:color-mix(in oklab,var(--accent) 86%,#000);border-color:transparent}.btn svg{width:15px;height:15px}.iconbtn{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:2px;color:var(--text-dim);background:transparent;overflow:hidden;transition:all .2s}.iconbtn:hover{color:var(--text);border-color:var(--text);transform:translateY(-2px)}.iconbtn svg{width:18px;height:18px}.iconbtn-label{display:none}.chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;padding:4px 9px;border:1px solid var(--border);border-radius:2px;color:var(--text-dim);background:var(--surface);white-space:nowrap}.bgfield{position:fixed;inset:0;z-index:0;pointer-events:none;transition:opacity .5s ease}.bgfield[data-variant=plain]{opacity:0}.bgfield[data-variant=grid]{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:88px 88px}.bgfield[data-variant=dots]{background-image:radial-gradient(var(--dot) 1.2px,transparent 1.3px);background-size:30px 30px}.bgfield[data-variant=glow]{background:radial-gradient(60% 50% at 78% 8%,var(--accent-soft),transparent 70%),radial-gradient(50% 40% at 12% 92%,var(--accent-soft),transparent 70%)}.app{position:relative;z-index:1}@media(min-width:561px){.app .section,.app .hero{padding-left:clamp(92px,8vw,124px);padding-right:clamp(92px,8vw,124px)}}.section{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:100%;align-content:center;padding:clamp(80px,10vh,128px) clamp(24px,6vw,88px);padding-top:clamp(80px,10svh,128px);padding-bottom:clamp(80px,10svh,128px)}.section:not(.hero):not(.contact){min-height:100vh;min-height:100svh;padding-top:clamp(130px,20vh,280px);padding-top:clamp(130px,20svh,280px);padding-bottom:clamp(130px,20vh,280px);padding-bottom:clamp(130px,20svh,280px)}#solutions{padding-top:clamp(130px,20vh,280px);padding-top:clamp(130px,20svh,280px);padding-bottom:clamp(130px,20vh,280px);padding-bottom:clamp(130px,20svh,280px)}.section-inner{max-width:var(--maxw);margin:0 auto;width:100%}.section.alt{background:var(--bg-2)}.section.alt:before,.section.alt:after{content:none}.kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);display:flex;align-items:center;gap:12px}.kicker .idx{color:var(--accent)}.kicker:after{content:"";flex:1;height:1px;background:var(--border);max-width:120px}.kicker.center{justify-content:center}.kicker.center:after{content:none}.sec-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.02;font-size:clamp(34px,5.2vw,60px);margin-top:22px}.sec-lead{color:var(--text-dim);font-size:clamp(17px,1.6vw,20px);max-width:60ch;margin-top:18px;text-wrap:pretty}.topbar{position:fixed;top:0;left:0;right:0;z-index:55;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,44px);pointer-events:none;transition:transform .35s cubic-bezier(.16,.84,.34,1)}.topbar>*{pointer-events:auto}.topbar.hidden{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){.topbar{transition:none}}.brand{display:flex;align-items:center;gap:11px;font-family:var(--font-mono);font-size:13px;letter-spacing:.06em}.brand .mark{height:30px;display:flex;align-items:center;color:var(--text)}.brand .mark svg{height:30px;width:auto;display:block}.brand b{font-weight:600}.brand .dim{color:var(--text-faint)}.theme-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:2px;padding:8px 12px;background:color-mix(in oklab,var(--surface) 60%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);transition:color .2s,border-color .2s}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong)}.theme-toggle svg{width:15px;height:15px}.sidenav{position:fixed;left:clamp(14px,2.2vw,30px);top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:6px}.sidenav.boxed{background:color-mix(in oklab,var(--surface) 72%,transparent);border:1px solid var(--border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--shadow)}.navitem{display:flex;align-items:center;gap:12px;padding:8px;border-radius:6px;color:var(--text-faint);border:0;background:transparent;transition:color .2s,background .2s;position:relative}.navitem:hover{color:var(--text)}.navitem.active{color:var(--accent);background:radial-gradient(circle at 50% 50%,var(--accent-soft),transparent 68%);border-radius:8px}.navitem .ni-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex:none}.navitem .ni-icon svg{width:18px;height:18px}.navitem .ni-dot{width:8px;height:8px;border-radius:50%;margin:6px;border:1.5px solid currentColor;flex:none;transition:all .25s}.navitem.active .ni-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.navitem .lbl{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.navitem:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%) scaleY(0);width:2px;height:18px;background:var(--accent);border-radius:2px;transition:transform .22s cubic-bezier(.16,.84,.34,1)}.navitem.active:before{transform:translateY(-50%) scaleY(1)}.sidenav[data-style=icons] .ni-dot{display:none}.sidenav[data-style=icons] .lbl,.sidenav[data-style=dots] .lbl{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-6px);background:var(--surface);border:1px solid var(--border);padding:5px 10px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;box-shadow:var(--shadow);color:var(--text)}.sidenav[data-style=icons] .navitem:hover .lbl,.sidenav[data-style=dots] .navitem:hover .lbl{opacity:1;transform:translateY(-50%)}.sidenav[data-style=labels] .ni-dot,.sidenav[data-style=dots] .ni-icon{display:none}.nav-progress{position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--border);border-radius:2px}.sidenav:not([data-style=labels]) .nav-progress{display:none}@media(max-width:560px){.sidenav{display:none}}.socialrail{position:fixed;right:clamp(14px,2vw,26px);top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:4px;align-items:center}.socialrail a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--text-faint);transition:color .2s,transform .2s;position:relative}.socialrail a:hover{color:var(--accent);transform:translateY(-2px)}.socialrail a svg{width:17px;height:17px}.socialrail a[data-tip]:after{content:attr(data-tip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(6px);background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:4px;white-space:nowrap;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.socialrail a:hover:after{opacity:1;transform:translateY(-50%)}.socialrail .vline{width:1px;height:46px;background:var(--border);margin:4px 0}@media(max-width:560px){.socialrail{display:none}}.socialrail{transition:transform .35s cubic-bezier(.16,.84,.34,1),opacity .3s}html[data-chat-open] .socialrail{transform:translateY(-50%) translate(84px);opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.socialrail{transition:none}}.mobilenav{display:none}@media(max-width:560px){.mobilenav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;justify-content:space-around;gap:2px;padding:8px max(12px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));background:color-mix(in oklab,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-top:1px solid var(--border)}.mnav-item{flex:1 1 0;min-width:0;height:40px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-faint);border-radius:9px;transition:color .2s,background .2s}.mnav-item svg{width:21px;height:21px}.mnav-item.active{color:var(--accent);background:var(--accent-soft)}}.scroll-hint{position:fixed;inset:0;z-index:40;pointer-events:none}.scroll-hint-bar{position:fixed;left:50%;transform:translate(-50%);width:2px;height:24px;border-radius:2px;background:color-mix(in oklab,var(--text) 12%,transparent);overflow:hidden;opacity:0;transition:opacity .5s ease,height .4s ease,background .4s ease}.scroll-hint-bar.up{top:16px}.scroll-hint-bar.down{bottom:16px}.scroll-hint-bar .fill{position:absolute;left:0;top:0;width:100%;height:70%;background:linear-gradient(to bottom,transparent,var(--accent),transparent);will-change:transform}.scroll-hint-bar.down .fill{animation:hint-sweep-down 1.9s ease-in-out infinite}.scroll-hint-bar.up .fill{animation:hint-sweep-up 1.9s ease-in-out infinite}@keyframes hint-sweep-down{0%{transform:translateY(-115%)}to{transform:translateY(160%)}}@keyframes hint-sweep-up{0%{transform:translateY(160%)}to{transform:translateY(-115%)}}.hint-label{position:fixed;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:color-mix(in oklab,var(--accent) 72%,var(--text-faint));white-space:nowrap;opacity:0;transition:opacity .5s ease}.hint-label.up{top:118px}.hint-label.down{bottom:118px}.hint-label:after{content:var(--pull-label, "")}:root[data-pull=down] .scroll-hint-bar.down,:root[data-pull=up] .scroll-hint-bar.up{opacity:1;height:calc(30px + var(--pull, 0) * 72px);background:color-mix(in oklab,var(--accent) 16%,transparent);transition:opacity .08s ease,height .08s ease,background .18s ease}:root[data-pull=down] .scroll-hint-bar.down .fill,:root[data-pull=up] .scroll-hint-bar.up .fill{animation:none;transform:none;height:100%;box-shadow:0 0 9px 1px color-mix(in oklab,var(--accent) 55%,transparent)}:root[data-pull=down] .scroll-hint-bar.down .fill{background:linear-gradient(to top,color-mix(in oklab,var(--accent) 20%,transparent),var(--accent))}:root[data-pull=up] .scroll-hint-bar.up .fill{background:linear-gradient(to bottom,color-mix(in oklab,var(--accent) 20%,transparent),var(--accent))}:root[data-pull=down] .hint-label.down,:root[data-pull=up] .hint-label.up{opacity:calc(.38 + var(--pull, 0) * .62);transition:opacity .12s ease}@media(max-width:560px){.scroll-hint-bar.down{bottom:calc(60px + env(safe-area-inset-bottom))}.hint-label.down{bottom:calc(162px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.scroll-hint-bar .fill{animation:none}}.settings-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:2px;padding:9px;background:color-mix(in oklab,var(--surface) 60%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-dim);transition:color .2s,border-color .2s}.settings-toggle:hover{color:var(--text);border-color:var(--border-strong)}.settings-toggle svg{width:16px;height:16px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:color-mix(in oklab,var(--bg) 55%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:modal-fade-in .25s ease both}.modal-panel{background:color-mix(in oklab,var(--surface) 72%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow);width:min(420px,calc(100vw - 40px));padding:22px 24px;outline:none;animation:modal-panel-in .25s cubic-bezier(.16,.84,.34,1) both}.modal-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-title{font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}.modal-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-faint);transition:color .2s,border-color .2s}.modal-close:hover{color:var(--text);border-color:var(--border-strong)}.modal-close svg{width:14px;height:14px}.modal-group{margin-top:16px}.modal-group-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px}.seg{display:flex;gap:8px}.seg-btn{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;border:1px solid var(--border);border-radius:2px;padding:8px 14px;background:transparent;color:var(--text-dim);transition:color .2s,border-color .2s,background .2s}.seg-btn:hover{color:var(--text);border-color:var(--border-strong)}.seg-btn.active,.seg-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-panel{animation:none}}@media(max-width:560px){.modal-panel{width:calc(100vw - 24px)}}.modal-backdrop{touch-action:none}.hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:100%;align-items:center;position:relative;padding:clamp(80px,12vh,140px) clamp(24px,6vw,88px) clamp(60px,9vh,110px);padding-top:clamp(80px,12svh,140px);padding-bottom:clamp(60px,9svh,110px);overflow:hidden}.hero-inner{max-width:var(--maxw);margin:0 auto;width:100%;display:grid;gap:clamp(24px,4vw,56px);align-items:center;position:relative;z-index:2}.hero[data-layout=split] .hero-inner{grid-template-columns:1.05fr .95fr}.hero[data-layout=reverse] .hero-inner{grid-template-columns:.95fr 1.05fr}.hero[data-layout=reverse] .hero-copy{order:2}.hero[data-layout=reverse] .hero-stage{order:1}.hero[data-layout=center] .hero-inner{grid-template-columns:1fr;text-align:center}.hero[data-layout=center] .hero-stage{position:absolute;inset:-8% -4% 0;z-index:0;opacity:.9}.hero[data-layout=center] .hero-copy{z-index:2}.hero[data-layout=center] .hero-cta,.hero[data-layout=center] .hero-handle{justify-content:center}.hero[data-layout=center] .hero-name{font-size:clamp(56px,12vw,150px)}@media(max-width:880px){.hero[data-layout] .hero-inner{grid-template-columns:1fr!important}.hero[data-layout] .hero-stage{order:2!important}.hero[data-layout] .hero-copy{order:1!important}}.hero-handle{font-family:var(--font-mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);display:flex;align-items:center;gap:10px;margin-bottom:26px}.hero-handle .ping{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:ping 2.4s ease-out infinite}@keyframes ping{0%{box-shadow:0 0 0 0 var(--accent-soft)}70%,to{box-shadow:0 0 0 12px transparent}}.hero-copy{min-width:0}.hero-name{font-family:var(--font-display);font-weight:700;line-height:.92;letter-spacing:-.035em;font-size:var(--name-size, clamp(60px, 11vw, 156px));text-transform:uppercase}.hero-name .ln{display:block}.hero-name .accent{color:var(--accent)}.hero-name .script{font-family:Great Vibes,cursive;text-transform:none;font-weight:400;letter-spacing:0;line-height:.82;font-size:var(--script-size, clamp(120px, 18vw, 250px));margin-top:-.14em;margin-left:.04em;position:relative;z-index:2;pointer-events:none}.hero-role{font-family:var(--font-mono);font-size:clamp(14px,1.6vw,18px);letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin-top:22px;display:inline-flex;align-items:center;gap:12px}.hero-role .bar{width:34px;height:2px;background:var(--accent)}.hero-tag{font-size:var(--tag-size, clamp(19px, 2.4vw, 27px));color:var(--text-dim);max-width:26ch;margin-top:20px;line-height:1.4;text-wrap:balance}.hero-tag b{color:var(--text);font-weight:600}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;align-items:center}.hero-social{display:flex;gap:12px;align-items:center}@media(max-width:560px){.hero-tag{max-width:none}.hero-cta{gap:14px;width:100%}.hero-cta>.btn{flex:1 1 0;justify-content:center}.hero-social{flex-basis:100%;width:100%;flex-direction:column;align-items:stretch;gap:10px}.hero-social .iconbtn{width:100%;height:48px;gap:10px;border-radius:2px}.hero-social .iconbtn-label{display:inline;font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase}}.hero-stage{position:relative;aspect-ratio:1 / 1;width:100%;max-width:560px;margin:0 auto;min-width:0}.hero-stage canvas{display:block;width:100%!important;height:100%!important}.stage-frame{position:absolute;inset:0;pointer-events:none}.stage-frame .corner{position:absolute;width:18px;height:18px;border:2px solid var(--accent)}.stage-frame .tl{top:0;left:0;border-right:0;border-bottom:0}.stage-frame .tr{top:0;right:0;border-left:0;border-bottom:0}.stage-frame .bl{bottom:0;left:0;border-right:0;border-top:0}.stage-frame .br{bottom:0;right:0;border-left:0;border-top:0}.stage-tag{position:absolute;bottom:10px;left:10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}@media(pointer:coarse){.hero-stage{pointer-events:none}}.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,5vw,72px);margin-top:52px;align-items:start}@media(max-width:880px){.about-grid{grid-template-columns:1fr}}.about-lead{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.6vw,30px);line-height:1.3;letter-spacing:-.01em;text-wrap:pretty}.about-body{color:var(--text-dim);margin-top:22px;font-size:18px;max-width:56ch}.facts{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 22px;box-shadow:var(--shadow)}.fact{display:grid;grid-template-columns:9rem 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.fact:last-child{border-bottom:0}.fact .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding-top:3px}.fact .v{font-size:16px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:56px;background:var(--border);border:1px solid var(--border)}@media(max-width:720px){.statgrid{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--bg);padding:26px 22px;overflow:hidden}.section.alt .stat{background:var(--bg-2)}.stat .n{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,4vw,44px);letter-spacing:-.02em;color:var(--accent)}.stat .l{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-top:8px}.timeline{margin-top:56px;position:relative;padding-left:40px}.tl-line{position:absolute;left:9px;top:8px;bottom:8px;width:2px}.tl-line.reveal{opacity:1;transform:none;transition:none}.tl-line-draw{position:absolute;inset:0;background:linear-gradient(var(--accent),var(--border) 30%)}.tl-line.reveal .tl-line-draw{clip-path:inset(0 0 100% 0);transition:clip-path .7s cubic-bezier(.16,.84,.34,1);transition-delay:var(--d, 0s)}:root[data-scrolldir=up] .tl-line.reveal:not([data-revealed]) .tl-line-draw{clip-path:inset(100% 0 0 0)}.tl-line.reveal[data-revealed] .tl-line-draw{clip-path:inset(0 0 0 0)}.tl-item{position:relative;padding-bottom:52px}.tl-item:last-child{padding-bottom:0}.tl-dot{position:absolute;left:-30px;top:16px;transform:translate(-50%,-50%);width:15px;height:15px;border-radius:50%;z-index:1;background:var(--bg);border:2px solid var(--border-strong);transition:border-color .3s,box-shadow .3s}.section.alt .tl-dot{background:var(--bg-2)}.tl-item[data-revealed] .tl-dot{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tl-now{position:absolute;left:-30px;top:16px;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;border:1px solid var(--accent);animation:ping 2.4s ease-out infinite;pointer-events:none}.tl-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}.tl-role{flex:1 1 auto;min-width:0;font-family:var(--font-display);font-weight:600;font-size:clamp(20px,2.3vw,26px);letter-spacing:-.01em;line-height:1.15}.tl-sub{color:var(--accent);font-size:14px;font-family:var(--font-mono);letter-spacing:.04em;margin-left:12px;white-space:nowrap}.tl-period{flex:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--text-faint)}.tl-org{color:var(--text-dim);font-size:15px;margin-top:7px;font-weight:500}.tl-points{margin-top:16px;display:flex;flex-direction:column;gap:11px}.tl-points li{list-style:none;position:relative;padding-left:20px;color:var(--text-dim);font-size:15.5px;max-width:70ch;text-wrap:pretty}.tl-points li:before{content:"";position:absolute;left:2px;top:11px;width:6px;height:1px;background:var(--accent)}.tl-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.sol-grid{margin-top:52px;display:flex;flex-direction:column;gap:16px}.sol-card{position:relative;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden;transition:border-color .3s,box-shadow .3s,opacity .55s cubic-bezier(.16,.84,.34,1) var(--d, 0s),transform .55s cubic-bezier(.16,.84,.34,1) var(--d, 0s)}.sol-card:hover{border-color:var(--border-strong)}.sol-card.open{box-shadow:var(--shadow)}.sol-head{display:flex;align-items:center;gap:20px;padding:24px clamp(20px,3vw,30px);width:100%;text-align:left;background:transparent;border:0;color:inherit}.sol-no{font-family:var(--font-mono);font-size:13px;color:var(--text-faint);flex:none}.sol-headmain{flex:1;min-width:0}.sol-title{font-family:var(--font-display);font-weight:600;font-size:clamp(19px,2.2vw,25px);letter-spacing:-.01em;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.sol-code{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.06em}.sol-blurb{color:var(--text-dim);font-size:15px;margin-top:6px;max-width:64ch}.sol-status{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;flex:none;display:inline-flex;align-items:center;gap:6px}.sol-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.sol-status.live{color:#2fbf71;background:color-mix(in oklab,#2fbf71 14%,transparent)}.sol-status.in-progress{color:var(--accent);background:var(--accent-soft)}.sol-toggle{flex:none;width:34px;height:34px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-dim);transition:transform .35s,color .2s,border-color .2s}.sol-card.open .sol-toggle{transform:rotate(180deg);color:var(--accent);border-color:var(--accent)}.sol-toggle svg{width:14px;height:14px}.sol-body{overflow:hidden;transition:height .45s cubic-bezier(.16,.84,.34,1)}.sol-bodyinner{padding:4px clamp(20px,3vw,30px) 30px;display:grid;grid-template-columns:1fr;gap:28px;border-top:1px solid var(--border);margin-top:4px}.sol-section-l{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px}.sol-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media(max-width:760px){.sol-cols{grid-template-columns:1fr}}.sol-text{color:var(--text-dim);font-size:15.5px;text-wrap:pretty}.sol-role{font-size:14px;color:var(--text)}.sol-planned .sol-text{color:var(--text-faint)}.flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;margin-top:18px}.flow-node{position:relative;flex:1 1 120px;min-width:110px;border:1px solid var(--border);background:var(--surface-2);padding:13px 14px;border-radius:3px;margin:0 14px 14px 0;transition:border-color .3s,transform .3s;transition-delay:var(--fd, 0s)}.sol-card.armed.open .flow-node{animation:flowin .5s both;animation-delay:var(--fd, 0s)}@keyframes flowin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.flow-node:hover{border-color:var(--accent)}.flow-node .fk{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text)}.flow-node .fd{font-size:12px;color:var(--text-faint);margin-top:4px}.flow-node:not(:last-child):after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:14px;text-align:center;color:var(--accent);font-family:var(--font-mono);font-size:13px}.sol-metrics{display:flex;flex-wrap:wrap;gap:28px;margin-top:4px}.sol-metric .mn{font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--accent);letter-spacing:-.01em}.sol-metric .ml{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-dim);text-transform:uppercase;margin-top:3px}.proj-grid{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1100px){.proj-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.proj-grid{grid-template-columns:1fr}}.proj-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:26px 24px;display:flex;flex-direction:column;min-height:230px;transition:border-color .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden}.proj-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px -22px #0000009e,0 0 30px -12px var(--accent-soft)}.proj-top{display:flex;align-items:center;justify-content:space-between}.proj-no{font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.proj-link{color:var(--text-faint);transition:color .2s,transform .2s}.proj-card:hover .proj-link{color:var(--accent)}.proj-link svg{width:17px;height:17px}.proj-link.live{color:color-mix(in oklab,var(--accent) 70%,var(--text-faint))}.proj-name{font-family:var(--font-mono);font-weight:600;font-size:18px;margin-top:20px;letter-spacing:-.01em;word-break:break-word}.proj-desc{color:var(--text-dim);font-size:14.5px;margin-top:12px;flex:1;text-wrap:pretty}.proj-stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.proj-nolink{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.proj-skeleton{display:none;align-items:center;justify-content:center;border-style:dashed;background:color-mix(in oklab,var(--surface) 55%,transparent)}@media(min-width:901px)and (max-width:1100px){.proj-skeleton.sk-0,.proj-skeleton.sk-1{display:flex}}@media(min-width:1101px){.proj-skeleton.sk-0{display:flex}}.proj-skeleton svg{width:64px;height:auto;color:var(--text-faint);opacity:.45;transition:opacity .3s}.proj-skeleton svg path{fill:currentColor}.proj-skeleton:hover{transform:none;box-shadow:none;border-color:var(--border)}.proj-skeleton:hover svg{opacity:.7}.skill-marquee{margin-top:46px;display:flex;flex-direction:column;gap:14px}.mrow{display:flex;align-items:center;gap:24px}.mrow .mlabel{width:9.5rem;flex:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.mviewport{position:relative;flex:1;min-width:0;overflow:hidden;padding:4px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.mtrack{display:flex;width:max-content;animation:marquee var(--mdur, 42s) linear infinite}.mrow[data-dir=rev] .mtrack{animation-direction:reverse}@keyframes marquee{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.mtrack{animation:none}}.mcap{display:flex;align-items:center;gap:9px;flex:none;margin-right:12px;padding:11px 17px;border:1px solid var(--border);border-radius:9px;background:var(--surface);white-space:nowrap;transition:border-color .2s,transform .2s,box-shadow .2s}.mcap:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px -12px var(--accent-soft)}.mcap .md{width:6px;height:6px;border-radius:2px;background:var(--accent);flex:none}.mcap .mc-ic{width:18px;height:18px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}.mcap .mc-ic svg{width:100%;height:100%;display:block}.mcap b{font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--text);letter-spacing:-.01em}@media(max-width:720px){.mrow{flex-direction:column;align-items:flex-start;gap:9px}.mrow .mlabel{width:auto}.mviewport{width:100%}}.contact{text-align:center;padding-top:clamp(160px,26vh,300px);padding-top:clamp(160px,26svh,300px);padding-bottom:clamp(160px,26vh,300px);padding-bottom:clamp(160px,26svh,300px)}.contact-inner{max-width:860px;margin:0 auto}.contact-big{font-family:var(--font-display);font-weight:700;font-size:clamp(40px,8vw,96px);line-height:.98;letter-spacing:-.03em;text-transform:uppercase;margin-top:26px}.contact-big .accent{color:var(--accent)}.kw{font-family:var(--font-script);font-weight:400;color:var(--accent);text-transform:none;font-size:1.92em;line-height:.66;letter-spacing:0;padding:0 .06em;display:inline-block;vertical-align:-.14em}html[data-lang=ko] .kw{font-size:1.72em;line-height:.78;vertical-align:-.08em}html[data-lang=ko] .contact-big .kw{font-size:1.4em;line-height:.85}.contact-big .kw{display:inline-block;font-size:1.5em;margin-top:-.14em;line-height:.8;white-space:nowrap;position:relative}.contact-big .kw .kw-word{position:relative;z-index:2}.contact-big .kw .kw-dot{position:absolute;left:100%;bottom:.16em;transform:translate(-.36em);z-index:1;font-family:var(--font-display);font-style:normal;font-weight:700;color:var(--text);font-size:.46em;letter-spacing:normal}.contact-mail-wrap{display:inline-flex;flex-direction:column;align-items:stretch;margin-top:34px;min-width:min(340px,86vw);text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.cb-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.cb-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.cb-name{margin-left:8px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--text-faint)}.cb-body{display:flex;align-items:center;gap:8px;padding:11px 9px 11px 14px;background:linear-gradient(var(--grid-line) 1px,transparent 1px) 0 0 / 14px 14px,linear-gradient(90deg,var(--grid-line) 1px,transparent 1px) 0 0 / 14px 14px}.cb-body:before{content:"$";font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--accent)}.cb-body .copy-btn{margin-left:auto}.contact-mail-wrap.glow:after{z-index:2}.email-plain{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:14px;letter-spacing:.02em;color:var(--text);transition:color .2s}.email-plain:hover{color:var(--accent)}.copy-btn{position:relative;flex:none;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:var(--text-faint);transition:color .2s,background .2s}.copy-btn:hover{color:var(--text);background:color-mix(in oklab,var(--text) 8%,transparent)}.copy-btn.copied{color:var(--accent)}.copy-btn svg{width:15px;height:15px}.copy-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:4px;white-space:nowrap;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.copy-btn:hover .copy-tip,.copy-btn.copied .copy-tip{opacity:1;transform:translate(-50%)}.copy-btn.copied .copy-tip{color:var(--accent);border-color:var(--accent)}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px}.footer{margin-top:58px;padding-top:26px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--text-faint)}.footer-repo{display:inline-flex;align-items:center;gap:9px}.repo-link{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);transition:color .2s,transform .2s}.repo-link svg{width:15px;height:15px;display:block}.repo-link:hover{color:var(--text);transform:translateY(-1px)}.chat-root{position:fixed;bottom:24px;right:24px;z-index:75;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.chat-root>*{pointer-events:auto}.chat-launcher{width:52px;height:52px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px -8px color-mix(in oklab,var(--accent) 55%,transparent);transition:transform .2s,box-shadow .2s;flex-shrink:0}.chat-launcher:hover{transform:translateY(-3px);box-shadow:0 10px 30px -8px color-mix(in oklab,var(--accent) 65%,transparent)}.chat-launcher:active{transform:translateY(0)}.chat-launcher-avatar{width:28px;height:28px}.chat-launcher--open{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.chat-launcher--open:hover{background:var(--surface-hi)}.chat-launcher--open svg{width:18px;height:18px}.chat-panel{position:fixed;bottom:88px;right:24px;width:min(380px,calc(100vw - 32px));height:min(560px,70vh);height:min(560px,70svh);display:flex;flex-direction:column;background:color-mix(in oklab,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);z-index:75;overflow:hidden;animation:chat-panel-in .3s cubic-bezier(.16,.84,.34,1) both}@keyframes chat-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.chat-panel-identity{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.chat-panel-avatar-wrap{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--accent)}.chat-panel-avatar{width:28px;height:28px}.chat-panel-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.chat-panel-name{font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--text);line-height:1.2}.chat-panel-sub{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--text-faint);line-height:1.2}.chat-online-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:chat-pulse 2.4s ease-out infinite;margin-left:auto;margin-right:4px;cursor:default;position:relative}.chat-online-dot--offline{background:var(--text-faint);animation:none}.chat-online-dot:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:4px;white-space:nowrap;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .18s}.chat-online-dot:hover:after,.chat-online-dot:focus-visible:after{opacity:1}@keyframes chat-pulse{0%{box-shadow:0 0 color-mix(in oklab,var(--accent) 60%,transparent)}70%,to{box-shadow:0 0 0 6px transparent}}.chat-close-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-faint);border-radius:6px;transition:color .2s,background .2s;flex-shrink:0}.chat-close-btn:hover{color:var(--text);background:color-mix(in oklab,var(--text) 8%,transparent)}.chat-close-btn svg{width:16px;height:16px}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;overscroll-behavior:contain;padding:16px 14px;display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.chat-messages::-webkit-scrollbar{display:none}.chat-msg{display:flex;align-items:flex-end;gap:8px}.chat-msg--user{justify-content:flex-end}.chat-msg--assistant{justify-content:flex-start}.chat-avatar-wrap{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--accent)}.chat-avatar{width:22px;height:22px}.chat-bubble{max-width:82%;border-radius:8px;padding:9px 12px;font-size:14.5px;line-height:1.55}.chat-bubble--user{background:var(--accent-soft);color:var(--text);border-bottom-right-radius:2px}.chat-bubble--assistant{background:var(--surface-2);color:var(--text);border-bottom-left-radius:2px}.chat-text{white-space:pre-wrap;word-break:break-word;display:inline}.chat-typing{display:inline-flex;align-items:center;gap:5px;padding:2px 0}.chat-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);animation:chat-dot-bounce 1.4s ease-in-out infinite}.chat-dot:nth-child(2){animation-delay:.2s}.chat-dot:nth-child(3){animation-delay:.4s}@keyframes chat-dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.chat-link-card{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;background:color-mix(in oklab,var(--surface) 72%,transparent);border:1px solid var(--border);border-radius:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--text-dim);text-decoration:none;transition:border-color .2s,color .2s,background .2s;vertical-align:middle;margin:2px 3px;white-space:nowrap}.chat-link-card:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklab,var(--surface) 90%,transparent)}.chat-link-card-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.chat-link-card-icon svg{width:14px;height:14px}.chat-link-card-label{line-height:1}.chat-composer-wrap{border-top:1px solid var(--border);flex-shrink:0;background:color-mix(in oklab,var(--surface) 60%,transparent)}.chat-composer-wrap--disabled{opacity:.55;pointer-events:none}.chat-composer{display:flex;flex-direction:column;padding:10px 12px;gap:6px}.chat-composer-input{width:100%;resize:none;border:0;background:transparent;color:var(--text);font-family:var(--font-body);font-size:14.5px;line-height:24px;min-height:40px;max-height:88px;outline:none;overflow-y:auto;scrollbar-width:none}.chat-composer-input::-webkit-scrollbar{display:none}.chat-composer-input::placeholder{color:var(--text-faint)}.chat-composer-input--over{color:color-mix(in oklab,#e03 60%,var(--text))}.chat-composer-row{display:flex;align-items:center;justify-content:flex-end;gap:8px}.chat-char-counter{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--text-faint);margin-right:auto}.chat-send-btn{width:32px;height:32px;border-radius:2px;border:1px solid var(--border);background:transparent;color:var(--text-faint);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s;flex-shrink:0}.chat-send-btn svg{width:15px;height:15px}.chat-send-btn--active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chat-send-btn--active:hover{background:color-mix(in oklab,var(--accent) 86%,#000);border-color:transparent}.chat-send-btn--stop{background:color-mix(in oklab,var(--text) 10%,transparent);color:var(--text);border-color:var(--border-strong)}.chat-send-btn:disabled:not(.chat-send-btn--stop){opacity:.4;cursor:not-allowed}[data-theme=light] .chat-bubble--user{background:color-mix(in oklab,var(--accent) 26%,transparent)}.chat-sr-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:560px){.chat-root{bottom:calc(72px + env(safe-area-inset-bottom));right:12px}.chat-panel{position:fixed;inset:12px 12px calc(136px + env(safe-area-inset-bottom)) 12px;width:auto;height:auto}}@media(prefers-reduced-motion:reduce){.chat-panel{animation:none}.chat-dot{animation:none;opacity:.6}.chat-online-dot{animation:none}.chat-launcher{transition:none}}.chat-launcher,.chat-panel{touch-action:none}
