:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:rgba(170,59,255,0.1);--accent-border:rgba(170,59,255,0.5);--social-bg:rgba(244,243,236,0.5);--shadow:rgba(0,0,0,0.1) 0 10px 15px -3px,rgba(0,0,0,0.05) 0 4px 6px -2px;--sans:system-ui,"Segoe UI",Roboto,sans-serif;--heading:system-ui,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,Consolas,monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:rgba(192,132,252,0.15);--accent-border:rgba(192,132,252,0.5);--social-bg:rgba(47,48,58,0.5);--shadow:rgba(0,0,0,0.4) 0 10px 15px -3px,rgba(0,0,0,0.25) 0 4px 6px -2px}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{width:100%;min-height:100svh;display:flex;flex-direction:column;text-align:center}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;margin:32px 0}@media (max-width:1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media (max-width:1024px){h2{font-size:20px}}p{margin:0}.counter,code{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}.hero-section{position:relative;width:100%;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-overlay{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 40%,rgba(0,0,0,.25),rgba(0,0,0,.65));z-index:-1}.hero-content{text-align:center;color:#fff;padding:0 24px;max-width:960px}.hero-title{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-weight:600;font-size:clamp(36px,6.4vw,84px);letter-spacing:-.02em;line-height:1.1;margin:0;color:#fff;min-height:1.2em;display:inline-flex;align-items:baseline;gap:2px}.hero-caret{display:inline-block;width:.06em;margin-left:4px;background:currentColor;animation:caret-blink 1s steps(1) infinite;color:#fff;color:transparent;background-color:#fff;align-self:center;height:.9em;border-radius:1px}@keyframes caret-blink{50%{opacity:0}}.hero-subtitle{margin:24px auto 0;font-size:clamp(15px,1.4vw,18px);max-width:640px;color:rgba(255,255,255,.82);line-height:1.55}.marquee{position:relative;overflow:hidden;padding:28px 0;border-bottom:1px solid var(--border);background:var(--bg);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;align-items:center;gap:64px;width:max-content;animation:marquee-scroll 34s linear infinite;will-change:transform}.marquee:focus-within .marquee-track,.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{display:flex;align-items:center;justify-content:center;width:72px;height:72px;padding:10px;background:transparent;border:0;border-radius:14px;cursor:pointer;opacity:.65;transition:opacity .2s ease,transform .2s ease,background .2s ease;flex-shrink:0}.marquee-item:hover{opacity:1;transform:translateY(-2px);background:var(--social-bg)}.marquee-item:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:2px}.marquee-item img{width:100%;height:100%;object-fit:contain;pointer-events:none}@keyframes marquee-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.univ-section{width:100%;max-width:1200px;margin:0 auto;padding:96px 24px 80px;box-sizing:border-box}.univ-header{text-align:center;margin-bottom:48px}.univ-header h2{font-size:clamp(28px,3.4vw,40px);font-weight:600;letter-spacing:-.02em;margin:0 0 12px}.univ-header p{color:var(--text);font-size:16px}.univ-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.univ-item{border:1px solid var(--border);border-radius:14px;background:var(--bg);overflow:hidden;transition:border-color .18s ease,box-shadow .2s ease}.univ-item.is-open,.univ-item:hover{border-color:var(--accent-border)}.univ-item.is-open{box-shadow:var(--shadow)}.univ-card{width:100%;display:flex;align-items:center;gap:18px;padding:18px 22px;background:transparent;border:0;color:var(--text-h);text-align:left;font:inherit;cursor:pointer;box-sizing:border-box}.univ-card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.univ-logo-wrap{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--social-bg);border-radius:10px;padding:6px;box-sizing:border-box}.univ-logo{max-width:100%;max-height:100%;object-fit:contain}.univ-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex-grow:1}.univ-name-en{font-size:16px;font-weight:600;line-height:1.25;color:var(--text-h)}.univ-name-ko{font-size:13px;color:var(--text)}.univ-chevron{color:var(--text);font-size:18px;transition:transform .25s ease;flex-shrink:0}.univ-chevron.is-open{transform:rotate(180deg);color:var(--accent)}.univ-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.univ-item.is-open .univ-panel{grid-template-rows:1fr}.univ-panel-inner{min-height:0;overflow:hidden}.univ-panel-head{display:flex;flex-wrap:wrap;gap:8px 18px;border-top:1px solid var(--border);padding:16px 22px 14px}.univ-office-link{color:var(--accent);font-size:14px;font-weight:500;text-decoration:none}.univ-office-link:hover{text-decoration:underline}.univ-channel-link{color:var(--text);font-size:14px;text-decoration:none}.univ-channel-link:hover{color:var(--text-h);text-decoration:underline}.video-grid-title{text-align:left;padding:20px 22px;font-size:16px}.video-grid{list-style:none;margin:0;padding:0 22px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.video-card{display:flex;flex-direction:column;gap:10px;color:var(--text-h);text-decoration:none;border-radius:10px;overflow:hidden;transition:transform .18s ease}.video-card:hover{transform:translateY(-2px)}.video-card:hover .video-thumb-play{opacity:1;transform:translate(-50%,-50%) scale(1)}.video-thumb{position:relative;aspect-ratio:16/9;background:var(--code-bg);border-radius:10px;overflow:hidden}.video-thumb img{width:100%;height:100%;object-fit:cover;display:block}.video-thumb-skeleton{width:100%;height:100%;background:var(--code-bg)}.video-thumb-skeleton.is-loading{background:linear-gradient(90deg,var(--code-bg) 0,var(--social-bg) 50%,var(--code-bg) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.2s linear infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.video-thumb-play{position:absolute;top:50%;left:50%;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;padding-left:3px;transform:translate(-50%,-50%) scale(.92);opacity:.85;transition:opacity .18s ease,transform .18s ease}.video-meta{display:flex;flex-direction:column;gap:2px;padding:0 2px}.video-title{font-size:14px;font-weight:600;line-height:1.35;color:var(--text-h);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-channel{font-size:12px;color:var(--text)}.univ-videos-empty{margin:0;padding:0 22px 18px;color:var(--text);font-size:14px}.site-footer{border-top:1px solid var(--border);text-align:center;padding:24px;color:var(--text);font-size:13px}.app-bar{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-bottom:1px solid var(--glass-border);box-shadow:0 6px 24px -18px rgba(20,10,40,.25)}.app-bar-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box}.app-bar-brand{font:600 18px/1 var(--heading);letter-spacing:-.2px}.app-bar-nav{display:flex;align-items:center;gap:28px}.app-bar-link{position:relative;color:var(--text-h);font:500 15px/1 var(--sans);text-decoration:none;padding:6px 0;transition:color .15s ease}.app-bar-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .28s cubic-bezier(.2,.8,.2,1)}.app-bar-link.is-active:after,.app-bar-link:focus-visible:after,.app-bar-link:hover:after{transform:scaleX(1)}.app-bar-link.is-active{color:var(--accent)}.app-bar-link:focus-visible{outline:none}.app-bar-auth{display:inline-flex;align-items:center;gap:8px;margin-left:4px}.app-bar-auth-skeleton{display:inline-block;width:36px;height:36px;border-radius:50%;background:var(--glass-bg-strong);border:1px solid var(--glass-border);opacity:.7}.app-bar-btn{font:500 13px/1 var(--sans);padding:9px 16px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.app-bar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-bar-btn.is-outline{border:1px solid var(--border);background:transparent;color:var(--text-h)}.app-bar-btn.is-outline:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.app-bar-btn.is-filled{border:1px solid transparent;background:linear-gradient(135deg,var(--bubble-gradient-start),var(--bubble-gradient-end));color:#fff;box-shadow:0 4px 14px -6px rgba(170,59,255,.55)}.app-bar-btn.is-filled:hover{transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(170,59,255,.7)}.app-bar-user{position:relative}.app-bar-user:after{content:"";position:absolute;top:100%;right:0;width:320px;height:10px}.app-bar-avatar-btn{width:36px;height:36px;padding:0;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-h);overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.app-bar-avatar-btn img{width:100%;height:100%;object-fit:cover;display:block}.app-bar-avatar-initial{font:600 13px/1 var(--heading);color:var(--text-h)}.app-bar-user:focus-within .app-bar-avatar-btn,.app-bar-user:hover .app-bar-avatar-btn{border-color:var(--accent-border);box-shadow:0 4px 14px -6px rgba(170,59,255,.45)}.app-bar-card{position:absolute;top:calc(100% + 10px);right:0;width:320px;padding:16px;border-radius:14px;border:1px solid var(--glass-border);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);color:var(--text-h);box-shadow:0 18px 40px -18px rgba(20,10,40,.45);display:flex;flex-direction:column;gap:14px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;text-align:left;z-index:1}.app-bar-user:focus-within .app-bar-card,.app-bar-user:hover .app-bar-card{opacity:1;transform:translateY(0);pointer-events:auto}.app-bar-card-head{display:flex;gap:14px;align-items:flex-start}.app-bar-card-avatar{width:56px;height:56px;flex-shrink:0;border-radius:50%;overflow:hidden;border:1px solid var(--glass-border);background:var(--accent-bg);display:flex;align-items:center;justify-content:center}.app-bar-card-avatar img{width:100%;height:100%;object-fit:cover;display:block}.app-bar-card-avatar-initial{font:600 22px/1 var(--heading);color:var(--accent)}.app-bar-card-meta{display:flex;flex-direction:column;gap:4px;min-width:0;flex-grow:1}.app-bar-card-name{font:600 14px/1.25 var(--heading);color:var(--text-h)}.app-bar-card-email,.app-bar-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-bar-card-email{font:400 12px/1.3 var(--sans);color:var(--text)}.app-bar-card-bio{margin:4px 0 0;font:400 12.5px/1.5 var(--sans);color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.app-bar-signout{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-h);font:500 13px/1 var(--sans);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-bar-signout:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}@media (max-width:640px){.app-bar-inner{padding:12px 16px;gap:16px}.app-bar-nav{gap:18px}.app-bar-link{font-size:14px}.app-bar-btn{padding:8px 12px;font-size:12px}}:root{--glass-bg:rgba(255,255,255,0.62);--glass-bg-strong:rgba(255,255,255,0.78);--glass-border:rgba(255,255,255,0.5);--glass-blur:28px;--glass-shadow:-24px 0 60px -20px rgba(20,10,40,0.22);--bubble-gradient-start:#c77dff;--bubble-gradient-mid:#aa3bff;--bubble-gradient-end:#7c3aed}@media (prefers-color-scheme:dark){:root{--glass-bg:rgba(22,18,30,0.58);--glass-bg-strong:rgba(22,18,30,0.76);--glass-border:rgba(255,255,255,0.08);--glass-shadow:-24px 0 60px -20px rgba(0,0,0,0.55);--bubble-gradient-start:#d8b4fe;--bubble-gradient-mid:#c084fc;--bubble-gradient-end:#a855f7}}.chat-fab{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--bubble-gradient-start),var(--bubble-gradient-end));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px rgba(170,59,255,.4),inset 0 1px 0 rgba(255,255,255,.25);z-index:100;opacity:0;transform:translateY(12px) scale(.85);pointer-events:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s ease,box-shadow .2s ease}.chat-fab.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.chat-fab:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 34px rgba(170,59,255,.55),inset 0 1px 0 rgba(255,255,255,.3)}.chat-fab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chat-fab-ring{position:absolute;inset:-6px;border-radius:inherit;border:2px solid rgba(170,59,255,.5);opacity:0;animation:chat-fab-ring 2.6s ease-out infinite;pointer-events:none}@keyframes chat-fab-ring{0%{transform:scale(.85);opacity:.6}70%{transform:scale(1.35);opacity:0}to{transform:scale(1.35);opacity:0}}.chat-minimized{position:fixed;right:0;bottom:32px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px 10px 14px;border:1px solid var(--glass-border);border-right:0;border-top-left-radius:999px;border-bottom-left-radius:999px;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);color:var(--text-h);font:500 13px/1 var(--sans);cursor:pointer;box-shadow:-10px 10px 30px -12px rgba(0,0,0,.25);opacity:0;transform:translateX(calc(100% - 52px));pointer-events:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease,background .2s ease;z-index:100}.chat-minimized.is-visible{opacity:1;pointer-events:auto}.chat-minimized:hover{transform:translateX(0);background:var(--glass-bg-strong)}.chat-minimized svg{color:var(--accent);flex-shrink:0}.chat-panel{position:fixed;display:flex;flex-direction:column;overflow:hidden;color:var(--text-h);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);opacity:0;pointer-events:none;z-index:99;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .24s ease,width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1),border-radius .28s ease}.chat-panel.is-full{top:0;right:0;bottom:0;width:min(520px,100vw);border-radius:0;border-right:0;border-top:0;border-bottom:0;transform:translateX(100%)}.chat-panel.is-widget{right:24px;bottom:24px;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 48px));border-radius:22px;transform:translateY(16px) scale(.98)}.chat-panel.is-open{opacity:1;pointer-events:auto}.chat-panel.is-full.is-open{transform:translateX(0)}.chat-panel.is-widget.is-open{transform:translateY(0) scale(1)}.chat-panel-head{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 18px 12px;grid-gap:12px;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent)}@media (prefers-color-scheme:dark){.chat-panel-head{border-bottom-color:rgba(255,255,255,.05)}}.chat-panel-title{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.chat-panel-title strong{font:600 14px/1 var(--heading);color:var(--text-h);letter-spacing:-.15px}.chat-panel-sub{font-size:11px;color:var(--text);opacity:.8}.chat-traffic{display:inline-flex;align-items:center;gap:8px;justify-self:start}.chat-traffic-spacer{justify-self:end;visibility:hidden}.chat-traffic-dot{width:13px;height:13px;padding:0;border-radius:50%;border:1px solid rgba(0,0,0,.12);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:transparent;transition:transform .15s ease,color .15s ease,filter .15s ease}.chat-traffic-dot svg{width:100%;height:100%;padding:2px;box-sizing:border-box}.chat-traffic-dot.is-close{background:#ff5f56}.chat-traffic-dot.is-minimize{background:#ffbd2e}.chat-traffic-dot.is-resize{background:#27c93f}.chat-traffic:hover .chat-traffic-dot{color:rgba(0,0,0,.55)}.chat-traffic-dot:focus-visible,.chat-traffic-dot:hover{transform:scale(1.12);outline:none;filter:brightness(1.05)}.chat-scroll-wrap{position:relative;flex-grow:1;display:flex;overflow:hidden;min-height:0}.chat-scroll{position:relative;flex-grow:1;overflow-y:auto;overflow-x:hidden;padding:20px 18px;text-align:left;scroll-behavior:smooth;z-index:1}.chat-ambient{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}@property --bubble-color-a{syntax:"<color>";inherits:false;initial-value:rgba(30,21,120,.667)}@property --bubble-color-b{syntax:"<color>";inherits:false;initial-value:rgba(124,58,237,.1)}.chat-ambient-bubble{position:absolute;left:var(--x,50%);top:var(--y,50%);border-radius:50%;filter:blur(28px) hue-rotate(var(--bubble-hue,0deg));--bubble-color-a:rgba(30,21,120,0.667);--bubble-color-b:rgba(124,58,237,0.1);background:radial-gradient(circle at 35% 35%,var(--bubble-color-a),var(--bubble-color-b) 55%,transparent 80%);translate:-50% -50%;scale:1;transition:scale .6s ease-in-out,--bubble-color-a .3s ease-in-out,--bubble-color-b .3s ease-in-out;will-change:transform,scale;animation-name:ambient-drift-0;animation-duration:var(--bubble-duration,26s);animation-delay:var(--bubble-delay,0s);animation-timing-function:linear;animation-iteration-count:infinite;opacity:.7}.chat-ambient-bubble.drift-0{animation-name:ambient-drift-0}.chat-ambient-bubble.drift-1{animation-name:ambient-drift-1}.chat-ambient-bubble.drift-2{animation-name:ambient-drift-2}.chat-ambient-bubble.drift-3{animation-name:ambient-drift-3}@keyframes ambient-drift-0{0%,to{transform:translate(0) scale(1)}25%{transform:translate(36px,-22px) scale(1.08)}50%{transform:translate(14px,28px) scale(.96)}75%{transform:translate(-24px,10px) scale(1.04)}}@keyframes ambient-drift-1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-30px,18px) scale(1.06)}50%{transform:translate(-12px,-26px) scale(.94)}75%{transform:translate(22px,-8px) scale(1.1)}}@keyframes ambient-drift-2{0%,to{transform:translate(0) scale(1)}25%{transform:translate(26px,24px) scale(.92)}50%{transform:translate(-18px,6px) scale(1.08)}75%{transform:translate(-4px,-30px) scale(1.02)}}@keyframes ambient-drift-3{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-32px,-18px) scale(1.04)}50%{transform:translate(18px,-28px) scale(1.1)}75%{transform:translate(28px,16px) scale(.96)}}.chat-ambient.is-responding .chat-ambient-bubble{animation-duration:calc(var(--bubble-duration, 26s) / 3);animation-delay:0s;--bubble-color-a:rgba(167,56,56,0.804);--bubble-color-b:rgba(124,58,237,0.1);scale:3}.chat-empty{position:relative;color:var(--text);font-size:14px;line-height:1.6;text-align:center;padding:48px 12px 16px;z-index:1}.chat-empty-glow{position:absolute;top:-40px;left:50%;transform:translateX(-50%);width:320px;height:240px;border-radius:50%;background:radial-gradient(closest-side,rgba(170,59,255,.35),transparent 70%);filter:blur(24px);pointer-events:none;z-index:-1}.chat-empty h3{font:500 18px/1.3 var(--heading);color:var(--text-h);letter-spacing:-.3px;margin:0 0 6px}.chat-empty p{margin:0 auto 22px;max-width:320px}.chat-suggestions{display:flex;flex-direction:column;gap:8px;align-items:stretch;max-width:320px;margin:0 auto}.chat-suggestion{padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-h);font-size:13px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.chat-suggestion:hover{border-color:var(--accent-border);background:var(--accent-bg);transform:translateY(-1px)}.chat-messages{position:relative;list-style:none;text-align:left;margin:0;padding:0;gap:14px;z-index:1}.chat-messages,.chat-msg{display:flex;flex-direction:column}.chat-msg{max-width:100%}.chat-msg.is-user{align-items:flex-end}.chat-msg.is-assistant{align-items:flex-start}.chat-bubble{max-width:86%;padding:11px 15px;border-radius:18px;font-size:14px;line-height:1.55;word-wrap:break-word;overflow-wrap:anywhere;animation:chat-bubble-in .26s cubic-bezier(.2,.8,.2,1)}@keyframes chat-bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-msg.is-user .chat-bubble{background:linear-gradient(135deg,var(--bubble-gradient-start) 0,var(--bubble-gradient-mid) 55%,var(--bubble-gradient-end) 100%);color:#fff;border:1px solid rgba(255,255,255,.18);border-bottom-right-radius:6px;white-space:pre-wrap;box-shadow:0 2px 14px rgba(170,59,255,.3),inset 0 1px 0 rgba(255,255,255,.2)}.chat-msg.is-assistant .chat-bubble{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-h);border:1px solid rgba(255,255,255,.3);border-bottom-left-radius:6px;box-shadow:0 4px 18px -8px rgba(0,0,0,.18)}@media (prefers-color-scheme:dark){.chat-msg.is-assistant .chat-bubble{border-color:rgba(255,255,255,.06)}}.chat-msg.is-assistant .chat-bubble>:first-child{margin-top:0}.chat-msg.is-assistant .chat-bubble>:last-child{margin-bottom:0}.chat-msg.is-assistant .chat-bubble p{margin:0 0 8px}.chat-msg.is-assistant .chat-bubble ol,.chat-msg.is-assistant .chat-bubble ul{margin:0 0 8px;padding-left:20px}.chat-msg.is-assistant .chat-bubble li{margin:2px 0}.chat-msg.is-assistant .chat-bubble li>p{margin:0}.chat-msg.is-assistant .chat-bubble h1,.chat-msg.is-assistant .chat-bubble h2,.chat-msg.is-assistant .chat-bubble h3,.chat-msg.is-assistant .chat-bubble h4{margin:10px 0 4px;font-size:14px;font-weight:600;line-height:1.3}.chat-msg.is-assistant .chat-bubble strong{font-weight:600;color:var(--text-h)}.chat-msg.is-assistant .chat-bubble em{font-style:italic}.chat-msg.is-assistant .chat-bubble a{color:var(--accent);text-decoration:underline}.chat-msg.is-assistant .chat-bubble code{background:rgba(0,0,0,.06);padding:1px 5px;border-radius:4px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chat-msg.is-assistant .chat-bubble pre{background:rgba(0,0,0,.06);padding:8px 10px;border-radius:8px;overflow-x:auto;margin:0 0 8px}.chat-msg.is-assistant .chat-bubble pre code{background:transparent;padding:0}.chat-msg.is-assistant .chat-bubble blockquote{margin:0 0 8px;padding:2px 10px;border-left:3px solid var(--border);color:var(--text)}.chat-msg.is-assistant .chat-bubble table{border-collapse:collapse;margin:0 0 8px;font-size:12.5px}.chat-msg.is-assistant .chat-bubble td,.chat-msg.is-assistant .chat-bubble th{border:1px solid var(--border);padding:4px 8px;text-align:left}.chat-msg.is-assistant .chat-bubble hr{border:none;border-top:1px solid var(--border);margin:10px 0}.chat-skeleton{display:flex;flex-direction:column;gap:8px;padding:2px 0;width:220px}.chat-skeleton-line{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,var(--code-bg) 0,var(--social-bg) 50%,var(--code-bg) 100%);background-size:200% 100%;animation:chat-skeleton-wave 1.4s ease-in-out infinite}.chat-skeleton-line:nth-child(2){animation-delay:.15s}.chat-skeleton-line:nth-child(3){animation-delay:.3s}@keyframes chat-skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-width:86%}.chat-source{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-h);font:500 12px/1.15 var(--sans);text-decoration:none;max-width:100%;opacity:0;transform:translateY(4px);animation:chat-followup-in .32s cubic-bezier(.2,.8,.2,1) forwards;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.chat-source:hover{transform:translateY(-1px);border-color:var(--accent-border);background:var(--accent-bg);box-shadow:0 4px 12px -6px rgba(170,59,255,.35)}.chat-source svg{color:var(--accent);flex-shrink:0}.chat-source-uni{font-weight:600;letter-spacing:.3px;color:var(--text-h)}.chat-source-label{color:var(--text);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-source-page{color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.chat-followups{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-width:86%}.chat-followup{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-bg);color:var(--accent);font:500 12.5px/1.15 var(--sans);cursor:pointer;opacity:0;transform:translateY(4px);animation:chat-followup-in .32s cubic-bezier(.2,.8,.2,1) forwards;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.chat-followup:hover{transform:translateY(-1px);background:rgba(170,59,255,.18);box-shadow:0 4px 14px -6px rgba(170,59,255,.45)}.chat-followup:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-followup-arrow{font-size:14px;line-height:1}@keyframes chat-followup-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-input{display:flex;gap:8px;padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.12);background:linear-gradient(0deg,var(--glass-bg-strong),transparent 120%)}@media (prefers-color-scheme:dark){.chat-input{border-top-color:rgba(255,255,255,.06)}}.chat-input input{flex-grow:1;padding:11px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-h);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.chat-input input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg)}.chat-input button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,var(--bubble-gradient-start),var(--bubble-gradient-end));color:#fff;cursor:pointer;box-shadow:0 6px 16px -6px rgba(170,59,255,.6);transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.chat-input button:hover:not(:disabled){transform:translateY(-1px) scale(1.03);box-shadow:0 10px 22px -8px rgba(170,59,255,.7)}.chat-input button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}@media (max-width:640px){.chat-panel.is-full{width:100vw}.chat-panel.is-widget{right:12px;bottom:12px;width:calc(100vw - 24px);height:min(72vh,calc(100vh - 24px))}.chat-fab{right:16px;bottom:16px}}.blog-page,.blog-post{width:100%;max-width:760px;margin:0 auto;padding:112px 24px 96px;text-align:left;box-sizing:border-box}.blog-page{max-width:960px}.blog-post{max-width:1080px}.blog-post-layout{display:flex;gap:56px;align-items:flex-start}.blog-post-layout>article{flex-grow:1;min-width:0}.blog-post-author{flex:0 0 240px;position:-webkit-sticky;position:sticky;top:96px}.blog-post-author-card{display:flex;flex-direction:column;gap:10px;padding:0;background:transparent;border:0}.blog-post-author-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--accent-bg);color:var(--accent);font:600 26px/1 var(--heading)}.blog-post-author-name{font:600 16px/1.25 var(--heading);color:var(--text-h)}.blog-post-author-role{font-size:12.5px;color:var(--text);letter-spacing:.1px}.blog-post-author-bio{font-size:13.5px;line-height:1.6;color:var(--text);margin:4px 0 0}@media (max-width:900px){.blog-post-layout{flex-direction:column;gap:28px}.blog-post-author{flex:none;width:100%;position:static;top:auto;order:-1}.blog-post-author-card{flex-direction:row;align-items:flex-start;gap:14px}.blog-post-author-avatar{width:56px;height:56px;flex-shrink:0}.blog-post-author-bio{display:none}}.blog-header{text-align:center;margin-bottom:48px}.blog-header h1{font-size:clamp(32px,4vw,48px);margin:0 0 12px}.blog-header p{color:var(--text);font-size:16px}.blog-empty{text-align:center;color:var(--text);padding:80px 0}.blog-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.blog-card{border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color .18s ease,transform .18s ease,box-shadow .2s ease}.blog-card:hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:var(--shadow)}.blog-card a{display:flex;flex-direction:column;color:inherit;text-decoration:none;height:100%}.blog-card-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.blog-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}.blog-card-body h2{font-size:18px;line-height:1.35;margin:0;color:var(--text-h)}.blog-card-body p{font-size:14px;color:var(--text);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-body time{font-size:12px;color:var(--text);margin-top:auto}.blog-back{display:inline-block;margin-bottom:24px;color:var(--accent);font-size:14px;text-decoration:none}.blog-back:hover{text-decoration:underline}.blog-post-head{margin-bottom:32px;text-align:left}.blog-post-head h1{font-size:clamp(28px,3.6vw,44px);letter-spacing:-.02em;line-height:1.15;margin:0 0 16px}.blog-post-summary{font-size:18px;line-height:1.55;color:var(--text);margin:0 0 16px}.blog-post-meta{font-size:13px;color:var(--text)}.blog-post-thumb{width:100%;border-radius:14px;margin:0 0 32px;display:block}.blog-post-body{font-size:17px;line-height:1.7;color:var(--text-h)}.blog-post-body h2,.blog-post-body h3{margin:48px 0 16px;letter-spacing:-.015em}.blog-post-body h2{font-size:26px}.blog-post-body h3{font-size:20px}.blog-post-body ol,.blog-post-body p,.blog-post-body ul{margin:0 0 20px}.blog-post-body ol,.blog-post-body ul{padding-left:24px}.blog-post-body li{margin-bottom:8px}.blog-post-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.blog-post-body blockquote{border-left:3px solid var(--accent-border);padding:4px 20px;color:var(--text);margin:0 0 20px}.blog-post-body code{font-size:15px;background:var(--code-bg);padding:2px 6px;border-radius:4px}.blog-post-body pre{background:var(--code-bg);padding:16px 20px;border-radius:10px;overflow-x:auto;margin:0 0 24px}.blog-post-body pre code{background:transparent;padding:0;font-size:14px}.blog-post-body table{border-collapse:collapse;margin:0 0 24px;font-size:15px;width:100%}.blog-post-body td,.blog-post-body th{border:1px solid var(--border);padding:8px 12px;text-align:left}.blog-post-body th{background:var(--social-bg);font-weight:600}.blog-post-body img{max-width:100%;height:auto;border-radius:10px;margin:8px 0 24px}.community-toolbar{display:flex;justify-content:flex-end;margin-bottom:24px}.community-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-h);font:500 13px/1.15 var(--sans);cursor:pointer;transition:border-color .15s ease,background .15s ease}.community-toggle:hover,.community-toggle[aria-pressed=true]{border-color:var(--accent-border);background:var(--accent-bg)}.community-toggle[aria-pressed=true]{color:var(--accent)}.community-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:var(--text)}.community-lang-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);font:600 11px/1.15 var(--sans);letter-spacing:.04em;flex-shrink:0}.blog-post-translated{margin-top:14px}.translated-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--social-bg);color:var(--text);font:500 13px/1.15 var(--sans);text-decoration:none}.translated-badge-link{transition:border-color .15s ease,background .15s ease,color .15s ease}.translated-badge-link:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}@media (prefers-reduced-motion:reduce){.chat-bubble,.chat-fab,.chat-followup,.chat-minimized,.chat-panel{transition-duration:.15s;animation:none}.chat-ambient-bubble{animation:none;transform:none}.chat-skeleton-line{animation-duration:2.6s}.chat-fab-ring{animation:none;opacity:0}}