@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-ext-wght-normal.0x_0bevfais8f.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-wght-normal.283rlcw9kygwg.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-greek-wght-normal.1z2_6pqe9b797.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-vietnamese-wght-normal.3f-auarlwu459.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-ext-wght-normal.2rod0ve_3h_te.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-wght-normal.2xs28az5j2efm.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#101c30;--surface:#192840;--text:#f2f6fc;--muted:#a9b8ce;--accent:#a8d8ff;--line:#34445d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope Variable,sans-serif;font-size:15px;line-height:1.7}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;font-weight:750;line-height:1.12}h1{font-size:clamp(3rem,7.5vw,7.5rem)}h2{font-size:clamp(2.3rem,4.2vw,4.2rem)}h3{font-size:1.65rem}p{margin-bottom:1.1rem}ul{padding-left:1.2rem}input,textarea,select{border:1px solid var(--line);max-width:100%;color:var(--text);background:#18263c;border-radius:4px;padding:.85rem 1rem}textarea{min-height:100px}input::placeholder,textarea::placeholder{color:#91a5bf}.container{width:min(1280px,100% - 112px);margin-inline:auto}.muted{color:var(--muted)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1.6rem;font-size:.69rem;font-weight:650}.slash{color:#8295af;margin:0 .8rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--bg);padding:12px 22px;position:fixed;top:8px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:none}.button{border:1px solid var(--accent);background:var(--accent);color:#101c30;border-radius:3px;justify-content:center;align-items:center;gap:2.2rem;min-height:52px;padding:.85rem 1.5rem;font-size:.85rem;font-weight:700;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button:hover{background:#cce9ff;transform:translateY(-2px)}.button.secondary{color:var(--text);background:0 0;border-color:#617794}.button.secondary:hover{background:var(--surface);border-color:var(--text)}.text-link{border-bottom:1px solid #617794;align-items:center;gap:1.5rem;padding-bottom:.4rem;font-size:.84rem;font-weight:600;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link span{font-size:1.2rem}.section{border-bottom:1px solid var(--line);padding:100px 0}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:54px;display:flex}.section-heading h2{margin:0}.section-heading h2 span,.experience-section h2 span,.footer-invitation h2 span{color:var(--accent)}.section-heading .text-link{margin-bottom:.4rem}.site-header{z-index:5;justify-content:space-between;align-items:center;gap:32px;height:100px;display:flex;position:relative}.wordmark{letter-spacing:-.08em;font-size:2rem;font-weight:850;line-height:1}.wordmark span{color:var(--accent)}.desktop-nav{color:var(--muted);gap:34px;margin-left:90px;font-size:.79rem;display:flex}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--text)}.desktop-nav a[aria-current]:after{content:"";background:var(--accent);border-radius:50%;width:3px;height:3px;margin:4px auto -7px;display:block}.header-actions{align-items:center;gap:24px;display:flex}.cv-link{color:var(--accent);font-size:.76rem;font-weight:650}.cv-link span{margin-left:8px}.command-trigger{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:4px;padding:3px 8px;font-size:.7rem}.command-trigger:hover{border-color:var(--accent);color:var(--accent)}.menu-toggle{color:var(--text);background:0 0;border:0;padding:12px 0;display:none}.mobile-nav{display:none}.command-dialog{background:var(--surface);width:min(520px,100% - 32px);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:0;box-shadow:0 25px 100px #0009}.command-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000a}.command-inner{padding:26px}.dialog-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dialog-heading h2{margin:0;font-size:1.5rem}.dialog-heading button{color:var(--muted);background:0 0;border:0;font-size:2rem;line-height:1}.command-inner input{width:100%}.command-results{gap:3px;margin-top:16px;display:grid}.command-results a{border-radius:3px;justify-content:space-between;padding:9px 12px;display:flex}.command-results a:hover,.command-results a:focus{color:var(--accent);background:#243e5d}.command-hint{color:var(--muted);margin:20px 0 0;font-size:.65rem}.hero{isolation:isolate;align-items:center;min-height:665px;padding:75px 0 70px;display:flex;position:relative}.hero-copy{z-index:2;max-width:820px;position:relative}.hero-eyebrow{letter-spacing:.2em;margin-bottom:32px;font-size:.63rem}.hero-eyebrow span{color:#8295af;margin:0 12px}.hero h1{letter-spacing:-.065em;margin-bottom:27px;font-size:clamp(4rem,7.5vw,7.15rem);font-weight:800;line-height:1.025}.hero h1 span{color:var(--accent)}.hero-description{letter-spacing:-.025em;color:var(--muted);margin-bottom:32px;font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.6}.hero-buttons{gap:16px;display:flex}.current-role{align-items:flex-start;gap:13px;margin-top:57px;font-size:.74rem;display:flex}.current-role p{margin:0 0 2px}.current-role div>span{color:#9caec6;font-size:.71rem}.status-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px;margin-top:7px;box-shadow:0 0 0 4px #a8d8ff12}.tech-strip{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:23px 0;display:flex}.tech-strip p{color:#9caec6;margin:0;font-size:.73rem}.tech-strip ul{color:#b4c6df;gap:35px;margin:0;padding:0;font-size:.78rem;font-weight:650;list-style:none;display:flex}.project-list{gap:74px;display:grid}.project-row{grid-template-columns:1.45fr 1fr;align-items:center;gap:56px;display:grid}.project-row.reverse{grid-template-columns:1fr 1.45fr}.project-row.reverse .project-visual{order:2}.project-row.reverse .project-copy{order:1}.project-stage{aspect-ratio:1.36;background:#303c44;border:1px solid #ffffff08;justify-content:center;align-items:center;padding:40px 28px;display:flex;position:relative;overflow:hidden}.project-stage.blue{background:#243d58}.project-stage.olive{background:#2b3a54}.project-stage.sand{background:#344358}.project-browser{background:#0b0c0b;border:1px solid #ffffff25;border-radius:7px;width:100%;transition:transform .4s;overflow:hidden;box-shadow:0 20px 38px #0005}.project-browser img{aspect-ratio:1.52;object-fit:cover;object-position:top;width:100%;height:auto}.browser-bar{background:#1b1e1f;align-items:center;gap:4px;height:22px;padding:0 9px;display:flex}.browser-bar i{background:#6b736c;border-radius:50%;width:4px;height:4px}.browser-bar span{color:#989f97;letter-spacing:.08em;margin-left:15px;font-size:6px}.stage-corner{color:#d9ded0;font-size:1.3rem;position:absolute;bottom:11px;right:15px}.project-visual:hover .project-browser{transform:translateY(-5px)}.project-copy .eyebrow{margin-bottom:20px;font-size:.62rem}.project-copy h3{margin-bottom:17px;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15}.project-deck{color:#d3def0;max-width:28ch;margin-bottom:14px;font-size:1.1rem;line-height:1.5}.project-copy>.muted{max-width:48ch;margin-bottom:20px;font-size:.82rem;line-height:1.85}.tech-list{color:#b4c6df;flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;font-size:.67rem;font-weight:600;list-style:none;display:flex}.project-copy .tech-list{margin-bottom:23px}.project-copy .text-link{font-size:.72rem}.project-wordmark{text-align:center;flex-direction:column;align-items:center;gap:30px;display:flex}.project-wordmark>span{letter-spacing:.2em;text-transform:uppercase;font-size:.6rem}.project-wordmark strong{letter-spacing:-.05em;font-size:clamp(2rem,4vw,4rem);line-height:1.1}.project-wordmark small{font-size:.65rem}.experience-section{grid-template-columns:1fr 1.3fr;gap:80px;display:grid}.experience-section h2{margin-bottom:24px;font-size:clamp(2.4rem,4.3vw,4rem)}.experience-intro{max-width:30ch;margin-bottom:30px;font-size:.9rem}.timeline{padding-top:8px}.timeline article{padding:0 0 40px 29px;position:relative}.timeline article:last-child{padding-bottom:0}.timeline article:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:14.5px;bottom:-14.5px;left:0}.timeline article:before{content:"";border:2px solid var(--bg);z-index:1;background:#8da5c4;border-radius:50%;outline:1px solid #526c8e;width:9px;height:9px;position:absolute;top:8px;left:-6px}.timeline article.current:before{background:var(--accent);outline-color:#749bc0}.timeline-meta{justify-content:space-between;align-items:start;gap:20px;display:flex}.timeline h3{letter-spacing:-.02em;margin:0 0 5px;font-size:1.1rem;line-height:1.4}.timeline-meta>span{color:var(--muted);white-space:nowrap;padding-top:4px;font-size:.65rem}.role-title{color:#b4c6df;margin-bottom:14px;font-size:.85rem}.timeline .muted{font-size:.8rem;line-height:1.85}.about-note{grid-template-columns:1fr 2.3fr;column-gap:60px;padding:80px 0 0;display:grid}.about-note>p{letter-spacing:-.035em;max-width:39ch;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.55}.about-note em{color:var(--accent);font-style:normal}.about-note .text-link{grid-column:2;justify-self:start;margin-top:8px}.page-heading{max-width:100%;padding:85px 0 70px}.page-heading h1{letter-spacing:-.06em;margin-bottom:30px;line-height:1.04}.page-heading h1 span{color:var(--accent)}.page-heading>p:not(.eyebrow),.page-heading>div>p:not(.eyebrow){color:var(--muted);max-width:55ch;font-size:1.05rem;line-height:1.9}.page-heading .button{margin-top:15px}.filter-bar{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:60px;padding:24px 0;display:flex}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:3px;padding:7px 15px;font-size:.75rem}.filters button[aria-pressed=true]{color:var(--bg);background:var(--accent)}.filters button:hover{border-color:#8295af}.search-field{align-items:center;display:flex;position:relative}.search-field input{background:0 0;width:210px;padding:10px 36px 10px 14px;font-size:.75rem}.search-field>span:last-child{color:var(--muted);pointer-events:none;font-size:1.4rem;position:absolute;right:12px}.empty-state{color:var(--muted);padding:60px 0}.empty-state h2{color:var(--text)}.about-heading{grid-template-columns:1.5fr 1fr;align-items:center;gap:100px;display:grid}.portrait{border-bottom:1px solid var(--line);justify-self:end;max-width:340px}.portrait img{object-fit:cover;object-position:center 25%;filter:grayscale();background:#192840;width:100%;height:340px}.portrait>span{color:var(--muted);padding:15px 0;font-size:.68rem;display:block}.resume-section{border-top:1px solid var(--line);grid-template-columns:1fr 2.3fr;gap:60px;padding:50px 0;display:grid}.resume-section>h2{letter-spacing:-.03em;font-size:1.5rem}.resume-entry{margin-bottom:42px}.resume-entry:last-child{margin-bottom:0}.entry-date{color:var(--muted);margin-bottom:10px;font-size:.7rem;display:block}.resume-entry h3{letter-spacing:-.03em;margin:0 0 8px;font-size:1.4rem;line-height:1.35}.entry-org{color:#d3def0;font-size:.85rem}.resume-entry .muted{max-width:65ch;font-size:.85rem;line-height:1.9}.skills-grid{grid-template-columns:1fr 1fr;gap:36px;display:grid}.skills-grid h3{letter-spacing:-.02em;margin-bottom:17px;font-size:1rem}.skills-grid .tech-list{font-size:.8rem;font-weight:400}.contact-page{padding-bottom:40px}.contact-page .page-heading{padding-bottom:45px}.contact-email{letter-spacing:-.04em;border-bottom:1px solid var(--accent);color:var(--accent);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;padding:20px 0 30px;font-size:clamp(1.3rem,3.8vw,3.6rem);display:flex}.contact-details{grid-template-columns:1fr 1fr;gap:40px;margin-top:60px;display:grid}.contact-details a{margin-right:30px;font-size:.9rem}.contact-details .eyebrow{margin-bottom:20px}.contact-details p{margin-bottom:6px}.contact-details .muted{font-size:.78rem}.field{gap:8px;font-size:.82rem;display:grid}.field input,.field textarea,.field select{width:100%}.notice{border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere;border-radius:4px;margin:20px 0;padding:20px 24px}.notice[role=alert]{border-color:#b5a078}.notice p:last-child{margin-bottom:0}.site-footer{margin-top:100px}.footer-invitation{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:50px;padding:60px 0;display:flex}.footer-invitation h2{letter-spacing:-.055em;margin:0;font-size:clamp(3rem,5.5vw,5.4rem)}.footer-invitation>div{width:40%}.footer-invitation .muted{font-size:.8rem}.email-link{border:1px solid #506888;border-radius:3px;justify-content:space-between;align-items:center;gap:16px;padding:17px 20px;font-size:.85rem;display:flex}.email-link:hover{border-color:var(--accent);color:var(--accent)}.footer-bottom{color:#a9b8ce;justify-content:space-between;align-items:center;gap:24px;padding:36px 0 70px;font-size:.62rem;display:flex}.footer-bottom .wordmark{color:var(--text);font-size:1.6rem}.footer-bottom p{margin:0}.footer-bottom>div{gap:22px;display:flex}.footer-bottom a:hover{color:var(--accent)}@media (min-width:1500px){.hero{min-height:720px}}@media (max-width:1100px){.container{width:calc(100% - 72px)}.desktop-nav{gap:24px;margin-left:0}.hero{min-height:610px}.hero h1{font-size:7.8vw}.hero-eyebrow{font-size:.56rem}.project-row,.project-row.reverse{gap:32px}.project-stage{padding:30px 22px}.project-copy>.muted{font-size:.76rem}.experience-section{gap:40px}.timeline-meta{display:block}.timeline-meta>span{margin:0 0 8px;display:block}.tech-strip ul{gap:22px}.about-heading{gap:50px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span{margin-left:auto}}@media (max-width:760px){.container{width:calc(100% - 40px)}.site-header{height:80px}.wordmark{font-size:1.8rem}.desktop-nav,.cv-link{display:none}.header-actions{gap:20px}.menu-toggle{font-size:.78rem;display:block}.menu-toggle span{margin-left:10px}.mobile-nav{border-bottom:1px solid var(--line);z-index:5;background:var(--bg);padding:5px 0 25px;display:grid;position:relative}.mobile-nav a{border-top:1px solid var(--line);justify-content:space-between;padding:14px 0;font-size:1.2rem;display:flex}.mobile-nav a[aria-current]{color:var(--accent)}.mobile-nav a:last-child{color:var(--accent);font-size:.85rem}.hero{min-height:700px;padding:57px 0 40px;display:block}.hero h1{font-size:clamp(3.35rem,10.3vw,5.4rem);line-height:1.06}.hero-eyebrow{max-width:270px;margin-bottom:24px;font-size:.55rem;line-height:2}.hero-eyebrow span{margin:0 5px}.hero-description{max-width:33ch;font-size:1rem}.hero-buttons{gap:10px}.button{gap:20px;min-height:48px;padding:12px 17px;font-size:.75rem}.current-role{margin-top:160px;font-size:.67rem}.tech-strip{padding:20px 0;display:block}.tech-strip p{margin-bottom:14px;font-size:.66rem}.tech-strip ul{justify-content:space-between;gap:10px;font-size:.68rem}.section{padding:65px 0}.section-heading{align-items:start;gap:20px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{font-size:2.55rem}.section-heading .text-link{white-space:nowrap;gap:8px;margin-top:39px;font-size:.65rem}.project-list{gap:54px}.project-row,.project-row.reverse{grid-template-columns:1fr;gap:28px}.project-row.reverse .project-visual,.project-row.reverse .project-copy{order:initial}.project-stage{aspect-ratio:1.28;padding:35px 23px}.project-copy .eyebrow{margin-bottom:13px}.project-copy h3{margin-bottom:12px;font-size:1.9rem}.project-deck{max-width:none;font-size:1rem}.project-copy>.muted{max-width:none;font-size:.8rem}.project-copy .tech-list{margin-bottom:16px}.experience-section{grid-template-columns:1fr;gap:42px}.experience-section h2{font-size:2.7rem}.experience-intro{max-width:40ch}.timeline-meta{display:flex}.timeline-meta>span{white-space:normal;text-align:right;max-width:110px;font-size:.57rem}.timeline h3{font-size:1rem}.about-note{grid-template-columns:1fr;gap:12px;padding:55px 0 0}.about-note>p{font-size:1.5rem}.about-note .text-link{grid-column:1}.page-heading{padding:55px 0 45px}.page-heading h1{font-size:clamp(3rem,11vw,5rem)}.page-heading>p:not(.eyebrow),.page-heading>div>p:not(.eyebrow){font-size:.93rem}.page-heading .eyebrow{font-size:.6rem}.filter-bar{flex-direction:column;align-items:stretch;margin-bottom:40px}.filters{gap:4px}.filters button{padding:7px 10px;font-size:.65rem}.search-field input,.search-field{width:100%}.about-heading{grid-template-columns:1fr;gap:35px}.portrait{justify-self:start;max-width:250px}.portrait img{height:280px}.resume-section{grid-template-columns:1fr;gap:20px;padding:35px 0}.resume-section>h2{font-size:1.4rem}.resume-entry h3{font-size:1.25rem}.skills-grid{gap:25px}.contact-details{grid-template-columns:1fr;gap:35px;margin-top:40px}.contact-details a{margin-right:20px;font-size:.8rem}.footer-invitation{padding:45px 0;display:block}.footer-invitation h2{margin-bottom:35px;font-size:3.4rem}.footer-invitation>div{width:100%}.site-footer{margin-top:65px}.footer-bottom{gap:25px 20px;padding-bottom:90px}.footer-bottom p{text-align:right;max-width:160px;margin-left:auto;font-size:.56rem}.footer-bottom>div{gap:28px;width:100%}.footer-bottom>span{margin-left:0}.email-link{font-size:.8rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.hero{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:70px;min-height:660px;padding:65px 0 70px;display:grid}.hero-copy{grid-area:1/1;max-width:none}.hero h1{font-size:clamp(3.5rem,6.6vw,6.6rem)}.hero-eyebrow{max-width:540px;line-height:2}.hero-portrait{grid-area:1/2;place-self:center end;width:100%;max-width:360px;margin:0}.hero-portrait img{border-radius:4px;width:100%;height:auto;box-shadow:18px 18px #192840}.hero-portrait figcaption{color:var(--muted);justify-content:space-between;gap:12px;margin-top:32px;font-size:.63rem;display:flex}.hero-portrait figcaption span:first-child{color:var(--text)}.current-role{margin-top:40px}.project-stage{aspect-ratio:auto;min-height:0;padding:32px 24px}.project-browser img{aspect-ratio:auto;object-fit:contain;height:auto}.project-wordmark{justify-content:center;min-height:240px}.portrait img{object-fit:contain;filter:none;width:100%;height:auto}.accent{color:var(--accent)}@media (max-width:1100px){.hero{gap:40px;min-height:580px}.hero h1{font-size:6.6vw}.hero-description{font-size:1rem}.hero-eyebrow{max-width:320px}.hero-portrait figcaption{flex-direction:column;gap:0}}@media (max-width:760px){.hero{flex-direction:column;align-items:stretch;gap:40px;min-height:0;padding:40px 0;display:flex}.hero-copy{order:1}.hero-portrait{order:2;align-self:center;width:80%;max-width:300px}.hero h1{font-size:clamp(3.4rem,10.5vw,5.4rem)}.hero-eyebrow{max-width:300px}.current-role{margin-top:28px}.hero-portrait figcaption{flex-direction:row;font-size:.6rem}.project-stage{aspect-ratio:auto;padding:24px 18px}.portrait img{height:auto}}
.chat-launch{z-index:30;color:#101c30;cursor:pointer;background:#a8d8ff;border:1px solid #a8d8ff;border-radius:0;align-items:center;gap:1.5rem;padding:.8rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 24px #0004}.chat-launch span{font-size:1.2rem}.chat-dialog{box-sizing:border-box;color:#f2f6fc;background:#101c30;border:1px solid #34445d;width:min(32rem,100vw - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:1.5rem;overflow:auto;box-shadow:0 2rem 8rem #0008}.chat-dialog::backdrop{background:#000b}.chat-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.chat-eyebrow{letter-spacing:.16em;color:#a8d8ff;margin:0 0 .5rem;font-size:.65rem}.chat-header h2{letter-spacing:-.04em;margin:0;font-size:1.6rem;line-height:1.2}.chat-close{color:#f2f6fc;cursor:pointer;background:0 0;border:1px solid #34445d;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.5rem;display:grid}.chat-description{color:#a9b8ce;margin:1rem 0;font-size:.78rem;line-height:1.6}.chat-description a{color:#a8d8ff;text-decoration:underline}.chat-log{scrollbar-width:none;overscroll-behavior:contain;border-top:1px solid #34445d;border-bottom:1px solid #34445d;height:min(35dvh,20rem);min-height:8rem;padding:1rem 0;overflow-y:auto}.chat-log::-webkit-scrollbar{display:none}.chat-message{overflow-wrap:anywhere;background:#192840;border-left:2px solid #34445d;margin:0 0 .75rem;padding:.8rem 1rem}.chat-message-user{border-color:#a8d8ff;margin-left:2rem}.chat-speaker{color:#a9b8ce;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}.chat-message p{white-space:pre-wrap;margin:.4rem 0 0;font-size:.85rem;line-height:1.6}.chat-pending{color:#a9b8ce;font-size:.85rem}.chat-error{color:#ffd0c6;font-size:.8rem;line-height:1.5}.chat-form{gap:.65rem;margin-top:1rem;display:grid}.chat-form label{justify-content:space-between;font-size:.75rem;display:flex}.chat-form label span{color:#a9b8ce}.chat-form textarea{box-sizing:border-box;resize:vertical;color:#f2f6fc;width:100%;max-height:8rem;font:inherit;background:#192840;border:1px solid #34445d;border-radius:0;padding:.8rem;font-size:1rem}.chat-send{color:#101c30;font:inherit;cursor:pointer;background:#a8d8ff;border:0;padding:.8rem 1rem;font-size:.85rem;font-weight:600}.chat-send:disabled{opacity:.5;cursor:default}.chat-launch:focus-visible,.chat-dialog :focus-visible{outline-offset:4px;outline:2px solid #a8d8ff}.chat-launch:focus-visible{outline-color:#f2f6fc}@media (max-width:600px){.chat-launch{right:1rem;bottom:max(1rem, env(safe-area-inset-bottom));padding:.7rem .9rem;font-size:.8rem}.chat-dialog{padding:1rem}.chat-header h2{font-size:1.4rem}}.chat-markdown p{white-space:normal}.chat-markdown a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.chat-markdown ul,.chat-markdown ol{margin:.6rem 0;padding-left:1.2rem;font-size:.85rem}.chat-markdown li{margin:.3rem 0}.chat-markdown pre{background:var(--bg);padding:.75rem;font-size:.75rem;overflow:auto}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3{margin:.7rem 0;font-size:1rem;line-height:1.4}.chat-keyboard-hint{color:var(--muted);margin:0;font-size:.65rem;display:none}@media (min-width:761px) and (pointer:fine){.chat-keyboard-hint{display:block}}
