@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-opsz-normal-CfYZpDVp.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-opsz-normal-BFQXbQ-f.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-opsz-normal-BmPQvyvo.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-opsz-normal-BM0NlUE_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-opsz-normal-Ci9T9ieq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-opsz-normal-DpK-iCPk.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-opsz-normal-BwkfbSeq.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset,primitives;:root,:root[data-theme=light]{--canvas: oklch(.948 .004 175);--tile: oklch(.992 .0015 175);--tile-sunk: oklch(.962 .004 175);--line: oklch(.905 .005 175);--line-strong: oklch(.86 .006 175);--ink: oklch(.2 .008 175);--ink-2: oklch(.41 .01 175);--accent: oklch(.41 .085 178);--mint: #64ffda;--mint-ink: oklch(.3 .06 175);--screen: oklch(.22 .008 175);--inverse: oklch(.2 .008 175);--inverse-ink: oklch(.97 .003 175);--inverse-ink-2: oklch(.8 .008 175);--inverse-line: oklch(1 0 0 / .12);--inverse-field: oklch(1 0 0 / .06);--danger-on-inverse: #ffb4ab;--danger: oklch(.47 .17 27);--bubble: oklch(.935 .005 175);--shadow-tile: 0 1px 2px oklch(.2 .02 175 / .04);--shadow-float: 0 18px 48px -18px oklch(.2 .02 175 / .28), 0 2px 6px oklch(.2 .02 175 / .06);--glass-bg: oklch(.995 .002 175 / .62);--glass-solid: oklch(.985 .002 175);--glass-border: oklch(.2 .01 175 / .09);--glass-shadow: 0 10px 30px -12px oklch(.2 .02 175 / .22), 0 1px 3px oklch(.2 .02 175 / .06);--glass-lens: oklch(1 0 0 / .95);--glass-lens-shadow: 0 2px 10px -2px oklch(.2 .02 175 / .18);--glass-sheen: oklch(1 0 0 / .65);--cover-wash: color-mix(in oklch, var(--mint) 26%, transparent);--magnet-line: oklch(.2 .008 175 / .32);--focus: oklch(.45 .1 178);color-scheme:light}:root[data-theme=dark]{--canvas: oklch(.135 .004 175);--tile: oklch(.2 .005 175);--tile-sunk: oklch(.245 .006 175);--line: oklch(.285 .006 175);--line-strong: oklch(.33 .007 175);--ink: oklch(.965 .003 175);--ink-2: oklch(.79 .008 175);--accent: var(--mint);--mint-ink: oklch(.3 .06 175);--screen: oklch(.13 .004 175);--inverse: oklch(.235 .007 175);--inverse-ink: oklch(.965 .003 175);--inverse-ink-2: oklch(.79 .008 175);--inverse-line: oklch(1 0 0 / .1);--inverse-field: oklch(1 0 0 / .05);--danger: #ffb4ab;--bubble: oklch(.29 .006 175);--shadow-tile: none;--shadow-float: 0 24px 60px -20px oklch(0 0 0 / .7), 0 2px 8px oklch(0 0 0 / .4);--glass-bg: oklch(.26 .006 175 / .55);--glass-solid: oklch(.24 .006 175);--glass-border: oklch(1 0 0 / .1);--glass-shadow: 0 12px 32px -12px oklch(0 0 0 / .7);--glass-lens: oklch(1 0 0 / .14);--glass-lens-shadow: 0 2px 10px -2px oklch(0 0 0 / .5);--glass-sheen: oklch(1 0 0 / .16);--cover-wash: color-mix(in oklch, var(--mint) 14%, transparent);--magnet-line: oklch(.965 .003 175 / .28);--focus: var(--mint);color-scheme:dark}:root{--bg-primary: var(--canvas);--bg-secondary: var(--tile);--text-primary: var(--ink);--text-secondary: var(--ink-2);--accent-primary: var(--accent);--card-border: var(--line);--font-sans: -apple-system, BlinkMacSystemFont, "Inter Variable", "Inter", "Segoe UI", Roboto, sans-serif;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: 1.375rem;--text-xl: clamp(1.625rem, 1.3rem + 1vw, 2.125rem);--text-section: clamp(2rem, 1.3rem + 2.9vw, 3.75rem);--text-display: clamp(2.5rem, 1.55rem + 3.1vw, 4.125rem);--r-tile: 28px;--r-inner: 18px;--r-control: 14px;--gap: clamp(12px, 1.4vw, 20px);--pad-tile: clamp(20px, 2.2vw, 30px);--gutter: clamp(16px, 4vw, 48px);--max: 1320px;--nav-h: 76px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.22, 1, .36, 1);--z-blur: 130;--z-nav: 200;--z-chat: 300;--z-modal: 400;--z-boot: 500;font-family:var(--font-sans);font-size:100%;line-height:1.55;font-weight:400;color:var(--ink);background-color:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}@layer reset{*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}body{margin:0;min-width:320px;min-height:100dvh;background-color:var(--canvas);color:var(--ink);font-size:var(--text-base)}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:color-mix(in oklch,var(--mint) 55%,transparent);color:var(--ink)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:16px;background:#11181652;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}.modal-content{position:relative;width:100%;max-width:480px;padding:32px;background:var(--tile);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow-float)}.modal-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);color:var(--ink);transition:background-color .2s ease}.modal-close:hover{background:var(--tile-sunk)}.modal-header{padding-right:40px;margin-bottom:24px}.modal-header h3{font-size:var(--text-xl);font-weight:650;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.modal-header p{margin-top:10px;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.model-grid>li+li{border-top:1px solid var(--line)}.model-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px;color:var(--ink)}.model-info{display:flex;flex-direction:column;gap:2px}.model-name{font-size:var(--text-base);font-weight:600;letter-spacing:-.01em}.model-note{font-size:var(--text-xs);color:var(--ink-2)}.model-arrow{display:grid;flex-shrink:0;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--mint);color:var(--mint-ink);transition:transform .45s var(--ease-out)}.model-card:hover .model-arrow{transform:rotate(45deg)}@media (max-width: 480px){.modal-content{padding:24px 20px;border-radius:28px}}@media (prefers-reduced-motion: reduce){.model-arrow{transition:none}.model-card:hover .model-arrow{transform:none}}@property --compose-h{syntax: "*"; inherits: false;}@property --vvh{syntax: "*"; inherits: false;}@property --vvt{syntax: "*"; inherits: false;}.chat{--launch: 56px;--sheet-w: min(400px, calc(100vw - 32px) );--sheet-h: min(680px, calc(100dvh - 48px) );--sheet-r: 30px;--head-h: 78px;--dx: 0px;--dy: 0px;--ease-sheet: cubic-bezier(.32, .72, 0, 1);--close-ms: .42s;--sheet-shadow: drop-shadow(0 22px 34px oklch(.2 .02 175 / .16)) drop-shadow(0 2px 5px oklch(.2 .02 175 / .07));--draft-bg: color-mix(in oklch, var(--mint) 30%, var(--tile));--draft-bg-hover: color-mix(in oklch, var(--mint) 48%, var(--tile));--draft-ink: var(--mint-ink);position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:var(--z-chat);width:var(--launch);height:var(--launch)}:root[data-theme=dark] .chat{--sheet-shadow: drop-shadow(0 24px 40px oklch(0 0 0 / .55)) drop-shadow(0 2px 6px oklch(0 0 0 / .35));--draft-bg: color-mix(in oklch, var(--mint) 16%, var(--tile));--draft-bg-hover: color-mix(in oklch, var(--mint) 26%, var(--tile));--draft-ink: var(--ink)}.chat-launcher{position:absolute;right:0;bottom:0;display:flex;align-items:center;width:max-content;height:var(--launch);padding:0;border:1px solid var(--glass-border);border-radius:999px;background:color-mix(in oklch,var(--glass-solid) 84%,transparent);-webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%);box-shadow:var(--glass-shadow);color:var(--ink);cursor:pointer;transition:opacity .2s var(--ease-out) .26s,transform .4s var(--ease-out) .26s,scale .2s var(--ease-out)}.chat[data-open=true] .chat-launcher{opacity:0;transform:scale(.9);pointer-events:none;transition:opacity .12s linear,transform .3s var(--ease-out)}.chat-launcher:active{scale:.95}.chat-launcher:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.chat-launcher:after{content:"";position:absolute;top:3px;right:3px;width:11px;height:11px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 2px var(--glass-solid)}.chat-launcher-label{display:grid;grid-template-columns:0fr;transition:grid-template-columns .5s var(--ease-out)}.chat-launcher-label>span{min-width:0;overflow:hidden}.chat-launcher-label>span>span{display:block;padding:0 4px 0 20px;font-size:var(--text-sm);font-weight:600;white-space:nowrap;opacity:0;transform:translate(8px);transition:opacity .25s var(--ease-out),transform .5s var(--ease-out)}.chat-launcher[data-peek=true] .chat-launcher-label{grid-template-columns:1fr}.chat-launcher[data-peek=true] .chat-launcher-label>span>span{opacity:1;transform:none;transition-delay:.08s}@media (hover: hover) and (pointer: fine){.chat-launcher:hover .chat-launcher-label{grid-template-columns:1fr}.chat-launcher:hover .chat-launcher-label>span>span{opacity:1;transform:none;transition-delay:.08s}.chat-launcher:hover .chat-launcher-face img{transform:translateY(1%) scale(.98)}}.chat-launcher-face{position:relative;flex:none;width:calc(var(--launch) - 10px);height:calc(var(--launch) - 10px);margin:0 4px;overflow:hidden;border-radius:50%;background:var(--cover-wash)}.chat-launcher-face img,.chat-avatar img{position:absolute;inset:0;width:100%;height:100%;transform:translateY(8%) scale(.94);transition:transform .5s var(--ease-out);user-select:none}.chat-frame{position:absolute;right:0;bottom:0;width:var(--sheet-w);height:var(--sheet-h);visibility:hidden;transition:visibility 0s linear var(--close-ms)}.chat[data-open=true] .chat-frame{visibility:visible;transition-delay:0s}.chat-shade{position:absolute;inset:0;filter:var(--sheet-shadow)}.chat-shade:before{content:"";position:absolute;inset:0;border-radius:var(--sheet-r);background:var(--tile)}.chat-sheet{position:absolute;inset:0;overflow:hidden;border-radius:var(--sheet-r);background:var(--tile);outline:none;contain:strict}.chat-sheet,.chat-shade:before{clip-path:inset(calc(100% - var(--launch) - var(--dy)) var(--dx) var(--dy) calc(100% - var(--launch) - var(--dx)) round calc(var(--launch) / 2));transition:clip-path var(--close-ms) var(--ease-sheet)}.chat[data-open=true] .chat-sheet,.chat[data-open=true] .chat-shade:before{clip-path:inset(0 0 0 0 round var(--sheet-r));transition-duration:.58s}.chat-sheet:after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glass-border);pointer-events:none}.chat-body{position:absolute;inset:0;opacity:0;filter:blur(8px);transform:scale(.94);transform-origin:calc(100% - var(--launch) / 2 - var(--dx)) calc(100% - var(--launch) / 2 - var(--dy));transition:opacity .14s linear,filter .14s linear,transform var(--close-ms) var(--ease-sheet)}.chat[data-open=true] .chat-body{opacity:1;filter:none;transform:none;transition:opacity .3s var(--ease-out) .08s,filter .34s var(--ease-out) .06s,transform .58s var(--ease-sheet)}.chat-head{position:absolute;inset:0 0 auto;z-index:2;display:grid;grid-template-columns:36px 1fr 36px;align-items:start;padding:10px 12px 0;height:var(--head-h)}.chat-head:before{content:"";position:absolute;inset:0 0 -14px;z-index:-1;background:color-mix(in oklch,var(--tile) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(#000 calc(100% - 30px),transparent);mask-image:linear-gradient(#000 calc(100% - 30px),transparent);opacity:0;transition:opacity .3s var(--ease-out)}.chat-head[data-thread=true]:before{opacity:1}.chat-id{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.chat-avatar{position:relative;display:block;flex:none;overflow:hidden;border-radius:50%;background:var(--cover-wash)}.chat-avatar.is-sm{width:36px;height:36px}.chat-avatar.is-lg{width:92px;height:92px}.chat-name{font-size:.78rem;font-weight:600;line-height:1.25;white-space:nowrap;color:var(--ink)}.chat-icon-btn{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:color-mix(in oklch,var(--ink) 6%,transparent);color:var(--ink);cursor:pointer;transition:background-color .2s ease,opacity .25s ease,scale .2s var(--ease-out)}.chat-icon-btn:after{content:"";position:absolute;inset:-4px}.chat-icon-btn:hover{background:color-mix(in oklch,var(--ink) 11%,transparent)}.chat-icon-btn:active{scale:.9}.chat-icon-btn:disabled{opacity:0;pointer-events:none}.chat-icon-btn:focus-visible,.chat-send:focus-visible,.chat-suggest button:focus-visible,.chat-followups button:focus-visible,.chat-failed button:focus-visible,.chat-failed a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.chat-scroll{position:absolute;inset:0;padding:var(--head-h) 16px var(--compose-h, 76px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s}.chat-scroll:hover{scrollbar-color:var(--line-strong) transparent}.chat-empty{display:flex;flex-direction:column;min-height:100%;padding-bottom:10px}.chat-card{display:flex;flex-direction:column;align-items:center;margin:auto 0;padding:0 8px 28px;text-align:center}.chat-card-face{position:relative}.chat-wave{position:absolute;right:-10px;bottom:-4px;font-size:30px;line-height:1;transform-origin:70% 85%;user-select:none}.chat[data-open=true] .chat-wave{animation:chat-wave 1.5s ease-in-out .45s both}@keyframes chat-wave{0%{opacity:0;scale:.4;rotate:0deg}12%{opacity:1;scale:1}24%{rotate:16deg}38%{rotate:-8deg}52%{rotate:14deg}66%{rotate:-4deg}80%,to{opacity:1;scale:1;rotate:0deg}}.chat-card-name{margin:14px 0 0;font-size:var(--text-lg);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}.chat-card-sub{max-width:31ch;margin:6px 0 0;font-size:var(--text-sm);line-height:1.45;color:var(--ink-2);text-wrap:pretty}.chat-suggest-label{margin:0 4px 8px;font-size:.75rem;font-weight:600;line-height:1.3;text-align:right;color:var(--ink-2)}.chat-suggest{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin:0;padding:0;list-style:none}.chat-suggest button,.chat-followups button{border:0;border-radius:19px;background:var(--draft-bg);color:var(--draft-ink);font:inherit;font-size:var(--text-sm);font-weight:500;line-height:1.3;text-align:right;cursor:pointer;transition:background-color .2s ease,scale .2s var(--ease-out)}.chat-suggest button{padding:9px 14px}.chat-suggest button:hover,.chat-followups button:hover{background:var(--draft-bg-hover)}.chat-suggest button:active,.chat-followups button:active{scale:.96}.chat[data-open=true] .chat-suggest li,.chat[data-open=true] .chat-suggest-label{animation:chat-draft-in .6s var(--ease-out) both;animation-delay:calc(.26s + var(--i, 0) * 60ms)}.chat-followups li{transform-origin:100% 100%;animation:chat-draft-in .5s var(--ease-out) both;animation-delay:calc(.5s + var(--i) * 60ms)}@keyframes chat-draft-in{0%{opacity:0;transform:translateY(12px) scale(.94)}}.chat-suggest li{transform-origin:100% 100%}.chat-note{margin:14px 0 0;font-size:.75rem;line-height:1.4;text-align:center;color:var(--ink-2)}.chat-thread{display:flex;flex-direction:column;padding:2px 0 14px}.chat-stamp{margin:4px 0 12px;font-size:.75rem;line-height:1.3;text-align:center;color:var(--ink-2)}.chat-stamp b{font-weight:600}.chat-row{display:flex;flex-direction:column;max-width:80%;margin-top:2px}.chat-stamp+.chat-row{margin-top:0}.chat-row.ends-group+.chat-row{margin-top:12px}.chat-row.is-user{align-self:flex-end;align-items:flex-end}.chat-row.is-assistant{align-self:flex-start;align-items:flex-start;max-width:88%}.chat-bubble{position:relative;padding:8px 14px 9px;border-radius:19px;font-size:var(--text-sm);line-height:1.42;overflow-wrap:anywhere}.chat-bubble.is-user{background:var(--mint);color:var(--mint-ink);white-space:pre-wrap}.chat-bubble.is-assistant{background:var(--bubble);color:var(--ink)}.chat-tail{position:absolute;bottom:0;width:20px;height:17px;pointer-events:none}.is-user>.chat-tail{right:-8px;fill:var(--mint)}.is-assistant>.chat-tail{left:-8px;fill:var(--bubble)}.chat-failed{display:flex;flex-direction:column;align-items:flex-end;margin-top:5px;font-size:.75rem;line-height:1.3;text-align:right}.chat-failed p{display:flex;align-items:center;gap:5px;margin:0;color:var(--danger)}.chat-failed svg{flex:none}.chat-failed-actions{display:flex;gap:12px}.chat-failed button,.chat-failed a{padding:4px 2px;border:0;background:none;color:var(--ink);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.chat-failed a{font-weight:500;color:var(--ink-2)}.chat-failed button:disabled{opacity:.5;cursor:default}.chat-typing{display:flex;gap:4px;padding:13px 14px}.chat-typing:before,.chat-typing:after{content:"";position:absolute;border-radius:50%;background:var(--bubble)}.chat-typing:before{left:-2px;bottom:-2px;width:12px;height:12px}.chat-typing:after{left:-7px;bottom:-7px;width:6px;height:6px}.chat-typing span{width:7px;height:7px;border-radius:50%;background:color-mix(in oklch,var(--ink) 45%,transparent);animation:chat-dot 1.3s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.16s}.chat-typing span:nth-child(3){animation-delay:.32s}@keyframes chat-dot{0%,60%,to{opacity:.4;transform:scale(.9)}30%{opacity:1;transform:scale(1.1)}}.chat-md p,.chat-md ul,.chat-md ol{margin:0}.chat-md>*+*{margin-top:.55em}.chat-md ul,.chat-md ol{padding-left:1.15em}.chat-md ul{list-style:disc}.chat-md ol{list-style:decimal}.chat-md li+li{margin-top:.35em}.chat-md li::marker{color:var(--ink-2)}.chat-md strong{font-weight:650}.chat-md a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in oklch,var(--accent) 75%,transparent);text-decoration-thickness:2px;text-underline-offset:2px}.chat-md a:hover{text-decoration-color:var(--accent)}.chat-md code{padding:.05em .35em;border-radius:6px;background:color-mix(in oklch,var(--ink) 7%,transparent);font-size:.93em}.chat-md.is-revealing .w{animation:chat-word .5s var(--ease-out) both;animation-delay:calc(.14s + var(--i) * var(--step))}@keyframes chat-word{0%{opacity:0;filter:blur(5px)}}.chat-compose{position:absolute;inset:auto 0 0;z-index:2;padding:20px 12px 12px}.chat-compose:before{content:"";position:absolute;inset:-10px 0 0;z-index:-1;background:color-mix(in oklch,var(--tile) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(transparent,#000 28px);mask-image:linear-gradient(transparent,#000 28px)}.chat-followups{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin:0 0 10px;padding:0;list-style:none}.chat-followups button{padding:7px 13px;font-size:.875rem}.chat-field{position:relative;display:flex;align-items:flex-end;gap:6px;padding:4px 4px 4px 16px;border:1px solid var(--line-strong);border-radius:22px;background:var(--tile);transition:border-color .2s ease,box-shadow .3s ease}.chat-field:focus-within{border-color:color-mix(in oklch,var(--focus) 55%,var(--line-strong));box-shadow:0 0 0 3px color-mix(in oklch,var(--mint) 18%,transparent)}.chat-rim{position:absolute;inset:-1px;padding:1.5px;overflow:hidden;border-radius:inherit;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;pointer-events:none;transition:opacity .4s ease}.chat-rim:before{content:"";position:absolute;top:50%;left:50%;width:112%;aspect-ratio:1;background:conic-gradient(transparent 0deg,var(--mint) 70deg,color-mix(in oklch,var(--mint) 45%,var(--accent)) 120deg,transparent 180deg,transparent 360deg);transform:translate(-50%,-50%)}.chat-field[data-busy=true]{box-shadow:0 0 22px -6px color-mix(in oklch,var(--mint) 70%,transparent)}.chat-field[data-busy=true] .chat-rim{opacity:1}.chat-field[data-busy=true] .chat-rim:before{animation:chat-spin 2.2s linear infinite}@keyframes chat-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}.chat-field textarea{flex:1;min-width:0;min-height:34px;max-height:132px;padding:7px 0;overflow-y:auto;resize:none;border:0;outline:none;background:none;color:var(--ink);font:inherit;font-size:var(--text-sm);line-height:1.35}.chat-field textarea::placeholder{color:var(--ink-2);opacity:1}.chat-send{position:relative;display:grid;flex:none;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--mint);color:var(--mint-ink);cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .4s var(--ease-out),scale .15s var(--ease-out)}.chat-send:after{content:"";position:absolute;inset:-5px}.chat-send[data-ready=false]{background:color-mix(in oklch,var(--ink) 9%,transparent);color:color-mix(in oklch,var(--ink) 38%,transparent);transform:scale(.86);cursor:default}.chat-send:active:not(:disabled){scale:.9}@media (max-width: 760px){.chat{--launch: 60px;--sheet-r: 28px;--dx: 8px;--dy: calc(max(16px, env(safe-area-inset-bottom)) - 8px) ;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.chat-frame{position:fixed;top:calc(var(--vvt, 0px) + max(8px,env(safe-area-inset-top)));right:8px;bottom:auto;left:8px;width:auto;height:calc(var(--vvh, 100dvh) - max(8px,env(safe-area-inset-top)) - 8px)}.chat-compose{padding-bottom:max(12px,calc(env(safe-area-inset-bottom) - 8px))}.chat-launcher-label{display:none}}@media (pointer: coarse){.chat-field textarea{font-size:1rem}}@media (prefers-reduced-transparency: reduce){.chat-launcher{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}.chat-head:before,.chat-compose:before{background:var(--tile);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion: reduce){.chat-frame{opacity:0;transition:opacity .2s linear,visibility 0s linear .2s}.chat[data-open=true] .chat-frame{opacity:1;transition:opacity .2s linear}.chat-sheet,.chat-shade:before,.chat[data-open=true] .chat-sheet,.chat[data-open=true] .chat-shade:before{clip-path:inset(0 0 0 0 round var(--sheet-r));transition:none}.chat-body,.chat[data-open=true] .chat-body{opacity:1;filter:none;transform:none;transition:none}.chat-launcher,.chat[data-open=true] .chat-launcher{transform:none;transition:opacity .2s linear}.chat-launcher-label,.chat-launcher-label>span>span,.chat-launcher-face img{transition:none}.chat-launcher:active,.chat-icon-btn:active,.chat-send:active:not(:disabled),.chat-suggest button:active,.chat-followups button:active{scale:none}.chat-typing span{animation:none;opacity:.6}.chat-field[data-busy=true] .chat-rim:before{animation:none}.chat[data-open=true] .chat-suggest li,.chat[data-open=true] .chat-suggest-label,.chat[data-open=true] .chat-wave,.chat-followups li,.chat-md.is-revealing .w{animation:none}}@layer primitives{.shell{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.section{--section-pad: clamp(88px, 11vw, 152px);padding-top:var(--section-pad)}#work{--section-h: 830px}#about{--section-h: 4560px}#contact{--section-h: 1140px}@media (min-width: 700px){#work{--section-h: 960px}#about{--section-h: 3180px}#contact{--section-h: 880px}}@media (min-width: 1200px){#work{--section-h: 1120px}#about{--section-h: 2110px}#contact{--section-h: 740px}}@supports (overflow-clip-margin: 1px){.section{content-visibility:auto;contain-intrinsic-block-size:auto var(--section-h, 1200px);overflow-clip-margin:96px}.sections-laid-out .section{content-visibility:visible}}.section-shell{min-block-size:calc(var(--section-pad) + var(--section-h))}.section-head{padding-bottom:clamp(28px,3.4vw,48px)}.section-title{max-width:21ch;font-size:var(--text-section);font-weight:600;letter-spacing:-.028em;line-height:1.06;color:var(--ink)}.section-lede{color:var(--ink-2)}.tile{position:relative;background:var(--tile);border:1px solid var(--line);border-radius:var(--r-tile);box-shadow:var(--shadow-tile);overflow:hidden;min-width:0}@supports (corner-shape: squircle){.tile{corner-shape:squircle;border-radius:calc(var(--r-tile) * 1.75)}}.tile[data-offscreen] *,.tile[data-offscreen] *:before,.tile[data-offscreen] *:after{animation-play-state:paused!important}.tile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px var(--pad-tile);border-bottom:1px solid var(--line);font-size:var(--text-sm);font-weight:500;letter-spacing:0;line-height:1.3;color:var(--ink-2)}.tile-body{padding:var(--pad-tile)}a.tile,button.tile{display:block;width:100%;text-align:left;color:inherit;transition:translate .5s var(--ease-out),scale .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .3s ease}@media (hover: hover) and (pointer: fine){a.tile:hover,button.tile:hover{translate:0 -3px;box-shadow:var(--shadow-float)}}a.tile:active,button.tile:active{scale:.985;transition-duration:.12s}.btn{--btn-h: 52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--btn-h);padding:0 22px;border-radius:999px;border:1px solid transparent;font-size:var(--text-base);font-weight:500;line-height:1;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .35s var(--ease-out)}.btn:active{transform:scale(.97);transition-duration:.1s}.btn svg{flex-shrink:0;transition:transform .35s var(--ease-out)}.btn-block{display:flex;width:100%;justify-content:space-between;padding-inline:24px}.btn-sm{--btn-h: 42px;padding:0 16px;font-size:var(--text-sm);gap:8px}.btn-ink{background:var(--ink);color:var(--tile)}.btn-ink:hover{background:color-mix(in oklch,var(--ink) 86%,var(--tile))}.btn-ink:hover svg,.btn-line:hover svg,.btn-mint:hover svg{transform:translate(2px,-2px)}.btn-sunk{background:var(--tile-sunk);border-color:var(--line);color:var(--ink)}.btn-sunk:hover{background:color-mix(in oklch,var(--tile-sunk) 80%,var(--ink) 6%)}.btn-sunk:hover svg{transform:translateY(2px)}.btn-mint{background:var(--mint);color:var(--mint-ink);font-weight:600}.btn-mint:hover{background:color-mix(in oklch,var(--mint) 88%,white)}.btn-line{background:transparent;border-color:var(--line-strong);color:var(--ink)}.btn-line:hover{background:var(--tile-sunk);border-color:var(--ink-2)}.btn[disabled]{opacity:.55;cursor:progress;transform:none}.pill-list{display:flex;flex-wrap:wrap;gap:10px}.pill{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;font-size:var(--text-sm);line-height:1.2;color:var(--ink);background:var(--tile)}.glass{position:relative;isolation:isolate;background:var(--glass-bg);-webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass[data-sheen]:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(120px circle at var(--sx, 50%) var(--sy, 0%),var(--glass-sheen),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}@media (hover: hover) and (pointer: fine){.glass[data-sheen]:hover:after{opacity:1}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:var(--glass-solid)}}@media (prefers-reduced-transparency: reduce){.glass{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}.chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-radius:999px;font-size:var(--text-xs);font-weight:500;line-height:1.2;color:var(--ink)}.skip-link{position:fixed;top:12px;left:12px;z-index:calc(var(--z-modal) + 1);padding:12px 18px;border-radius:999px;background:var(--ink);color:var(--tile);font-size:var(--text-sm);transform:translateY(-160%);transition:transform .3s var(--ease-out)}.skip-link:focus-visible{transform:none}main{padding-bottom:clamp(24px,4vw,48px)}@media (max-width: 760px){main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:theme-reveal .7s var(--ease-out)}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--vt-x, 100%) var(--vt-y, 0%))}to{clip-path:circle(150vmax at var(--vt-x, 100%) var(--vt-y, 0%))}}@media (prefers-reduced-motion: reduce){a.tile,button.tile,.btn,.btn svg{transition:none}a.tile:hover,button.tile:hover,a.tile:active,button.tile:active{translate:none;scale:none}.btn:active{transform:none}}}
