.specular-button{--sb-radius:18px;--sb-tint:#fff;--sb-tint-opacity:0;--sb-blur:0px;--sb-text-color:#f5f5f5;position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;margin:0;font-family:inherit;font-weight:500;letter-spacing:.01em;line-height:1;color:var(--sb-text-color);background:color-mix(in srgb,var(--sb-tint) calc(var(--sb-tint-opacity) * 100%),transparent);border-radius:var(--sb-radius);backdrop-filter:blur(var(--sb-blur));-webkit-backdrop-filter:blur(var(--sb-blur));box-shadow:none;cursor:pointer;outline:none;transition:transform .15s ease}.specular-button:active{transform:scale(.97)}.specular-button:focus-visible{outline:2px solid color-mix(in srgb,var(--sb-text-color) 60%,transparent);outline-offset:3px}.specular-button:disabled,.specular-button[aria-disabled=true]{opacity:.55;cursor:default}.specular-button:disabled:active,.specular-button[aria-disabled=true]:active{transform:none}.specular-button--sm{font-size:.85rem;padding:10px 22px}.specular-button--md{font-size:1rem;padding:14px 30px}.specular-button--lg{font-size:1.15rem;padding:18px 40px}.specular-button__fx{position:absolute;inset:-20px;pointer-events:none;z-index:1}.specular-button__fx canvas{display:block;width:100%;height:100%}.specular-button__label{position:relative;z-index:2}.specular-action{gap:.4rem;min-height:2.25rem;border:1px solid rgba(148,163,184,.38);text-decoration:none;white-space:nowrap;background:linear-gradient(180deg,hsla(0,0%,100%,.92),rgba(238,241,245,.64)),color-mix(in srgb,var(--sb-tint) calc(var(--sb-tint-opacity) * 100%),transparent);box-shadow:none}.specular-action .specular-button__label{display:inline-flex;align-items:center;justify-content:center;gap:inherit;min-width:0}.specular-action--full{width:100%}.specular-action--icon{width:2.25rem;height:2.25rem;flex:0 0 auto;padding:0}.specular-action--icon .specular-button__label{width:100%;height:100%}.specular-action svg{flex:0 0 auto}.specular-action--icon.specular-button--lg,.specular-action--icon.specular-button--md,.specular-action--icon.specular-button--sm{padding:0}.specular-action--pill{border-radius:999px}.specular-action--compact{min-height:2rem;padding:8px 14px;font-size:.875rem}.specular-action--soft{border-color:rgba(148,163,184,.32);background:linear-gradient(180deg,hsla(0,0%,100%,.82),rgba(238,241,245,.52)),color-mix(in srgb,var(--sb-tint) 45%,transparent);box-shadow:none}.specular-action--card{width:100%;min-height:72px;justify-content:flex-start;padding:12px;text-align:left;white-space:normal}.home-self-intro .specular-action{width:100%}@media (min-width:768px){.home-self-intro .specular-action{width:auto}}.site-header-specular.specular-action{min-height:2.25rem;padding:8px 14px;font-size:.95rem;font-weight:600;letter-spacing:0}.resume-variant-button.specular-action{height:2.25rem;min-height:2.25rem;padding:0 12px;font-size:.875rem}.resume-download-btn.specular-action{width:2.25rem;height:2.25rem;min-height:2.25rem}.ai-practice-card.specular-button.specular-action{color:#262626;border-color:rgba(148,163,184,.36);background:linear-gradient(180deg,hsla(0,0%,100%,.9),rgba(238,241,245,.62)),color-mix(in srgb,var(--sb-tint) 45%,transparent)}.ai-practice-card.specular-button.specular-action[data-active=true]{border-color:rgba(31,111,98,.34);background:linear-gradient(180deg,hsla(0,0%,100%,.92),rgba(229,250,245,.66)),color-mix(in srgb,var(--sb-tint) 52%,transparent)}.ai-practice-card.specular-button .specular-button__label{display:grid;width:100%;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;justify-content:stretch}.ai-practice-card.specular-button strong{color:#171717}.ai-practice-card.specular-button small{color:#71685f}.ai-practice-card.specular-button .ai-practice-index{background:hsla(0,0%,100%,.62);color:#1f6f62;box-shadow:inset 0 0 0 1px rgba(31,111,98,.16)}.ai-practice-open.specular-button.specular-action{min-height:46px;text-decoration:none}body:has(.resume-page){overflow:hidden;height:100vh}body:has(.resume-page)>header{position:fixed;top:0;left:0;right:0;z-index:50}body:has(.resume-page)>footer{position:fixed;bottom:0;left:0;right:0;z-index:40;background:hsla(0,0%,100%,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.resume-page{position:fixed;top:56px;left:0;right:0;bottom:56px;background:#f0f0f0}.resume-page,.resume-viewer{display:flex;flex-direction:column;overflow:hidden}.resume-viewer{flex:1;min-height:0;width:100%;height:100%}.resume-toolbar{flex-shrink:0;z-index:40;background:hsla(0,0%,100%,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e5e5e5}.resume-toolbar-inner{max-width:1024px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px}.resume-toolbar-actions{display:flex;align-items:center;gap:12px}.resume-download-hint{font-size:12px;color:#a3a3a3;white-space:nowrap}.resume-download-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;font-size:0;color:#fff;background:#171717;border:1px solid #171717;cursor:pointer;transition:background .2s ease;padding:0}.resume-download-btn:disabled{opacity:.6;cursor:not-allowed}.resume-download-btn:hover:not(:disabled){background:#404040}@keyframes resume-spin{to{transform:rotate(1turn)}}.resume-spinner{animation:resume-spin .8s linear infinite}.resume-paper-wrapper{display:flex;flex-direction:column;align-items:center;padding:32px 24px;gap:40px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.resume-paper{background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.12);border-radius:2px;position:relative;flex-shrink:0}.resume-paper-letter{width:8.5in;min-height:11in;padding:.55in}.resume-paper-a4{width:210mm;min-height:297mm;padding:15mm}.resume-content{width:100%;font-family:var(--font-barlow),"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans","PingFang SC","Microsoft YaHei","Noto Sans SC","Hiragino Sans GB",sans-serif}.resume-content h1{font-size:22pt;font-weight:700;margin-bottom:2pt;line-height:1.2;color:#171717;display:flex;align-items:center}.resume-content h2{font-size:10.5pt;font-weight:500;margin-top:10pt;margin-bottom:4pt;padding-bottom:0;border-bottom:none;color:#e93;text-transform:uppercase}.resume-content h3{font-size:10.5pt;font-weight:600;margin-top:8pt;margin-bottom:2pt;color:#171717;display:flex;align-items:center;gap:4pt}.resume-content h3 img{width:14pt;height:14pt;border-radius:0;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.resume-content .resume-meta{margin-left:auto;font-size:10.5pt;font-weight:600;color:#737373;white-space:nowrap;flex-shrink:0}.resume-content .resume-contact{float:right;font-size:9pt;font-weight:400;color:#737373}.resume-content .resume-contact a{color:#2563eb;text-decoration:underline}.resume-content p{font-size:9.5pt;line-height:1.3;margin-top:0;margin-bottom:4pt;color:#171717}.resume-content h1+p{font-size:10.5pt;margin-bottom:0;padding-bottom:18pt}.resume-content strong{font-weight:600}.resume-content hr{display:none}.resume-content ul{padding-left:18pt;margin-top:0;margin-bottom:0;list-style-type:disc}.resume-content li{font-size:9.5pt;line-height:1.2;margin-bottom:3pt;color:#171717;margin-left:-4pt;padding-left:4pt}.resume-content li::marker{font-size:7pt}.resume-content ul ul{padding-left:10pt;margin-top:3pt;margin-bottom:1pt;list-style-type:none}.resume-content ul ul li:before{content:"\2013";position:absolute;left:-8pt;color:#171717}.resume-content ul ul li{position:relative;margin-left:0;padding-left:0}.resume-content ul ul li::marker{content:none}.resume-content a{color:#b09494;text-decoration:none}@media (max-width:900px){.resume-paper-wrapper{padding:20px;overflow-x:hidden}.resume-paper{transform-origin:top center;transform:scale(var(--resume-scale,1))}.resume-toolbar-inner{padding:0 20px}}@media (max-width:640px){.resume-toolbar-inner{height:48px;padding:0 20px;gap:8px}.resume-toolbar{top:56px}}@media print{@page{size:letter;margin:0}@page resume-letter{size:letter;margin:0}@page resume-a4{size:A4;margin:0}body,html{width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important}body:has(.resume-page){overflow:visible!important;height:auto!important}body:has(.resume-page)>div{min-height:0!important;padding-top:0!important;animation:none!important}.resume-download-btn,.resume-toolbar,body:has(.resume-page)>footer,body:has(.resume-page)>header{display:none!important}.resume-page{position:static!important;inset:auto!important;background:#fff}.resume-page,.resume-paper-wrapper,.resume-viewer{display:block!important;overflow:visible!important;height:auto!important}.resume-paper-wrapper{padding:0!important}.resume-paper{box-shadow:none!important;border-radius:0!important;transform:none!important;margin:0 auto!important}.resume-paper-letter{page:resume-letter;width:8.5in!important;min-height:11in!important;padding:.43in .45in!important}.resume-paper-a4{page:resume-a4;width:210mm!important;min-height:297mm!important;padding:12mm 11.5mm!important}.resume-content h1{font-size:20.5pt!important;line-height:1.1!important;margin-bottom:1.2pt!important}.resume-content h2{font-size:9.2pt!important;line-height:1.1!important;margin-top:5.5pt!important;margin-bottom:2.4pt!important}.resume-content h3{font-size:9pt!important;line-height:1.12!important;margin-top:4.3pt!important;margin-bottom:1.8pt!important;gap:3pt!important}.resume-content .resume-contact,.resume-content .resume-meta{font-size:8pt!important}.resume-content p{font-size:8.55pt!important;line-height:1.13!important;margin-bottom:2pt!important}.resume-content h1+p{font-size:9pt!important;line-height:1.12!important;margin-bottom:0!important;padding-bottom:14pt!important}.resume-content ul{padding-left:14.5pt!important;margin-top:0!important;margin-bottom:0!important}.resume-content li{font-size:8.55pt!important;line-height:1.13!important;margin-bottom:1.7pt!important;margin-left:-3pt!important;padding-left:3pt!important}.resume-content li::marker{font-size:6.2pt!important}.resume-paper-a4 .resume-content h1{font-size:22pt!important;line-height:1.12!important;margin-bottom:1.5pt!important}.resume-paper-a4 .resume-content h2{font-size:10pt!important;line-height:1.14!important;margin-top:7pt!important;margin-bottom:3pt!important}.resume-paper-a4 .resume-content h3{font-size:9.8pt!important;line-height:1.16!important;margin-top:5.5pt!important;margin-bottom:2.2pt!important}.resume-paper-a4 .resume-content .resume-contact,.resume-paper-a4 .resume-content .resume-meta{font-size:8.7pt!important}.resume-paper-a4 .resume-content p{font-size:9.2pt!important;line-height:1.18!important;margin-bottom:2.8pt!important}.resume-paper-a4 .resume-content h1+p{font-size:9.8pt!important;line-height:1.16!important;margin-bottom:0!important;padding-bottom:24pt!important}.resume-paper-a4 .resume-content ul{padding-left:15pt!important}.resume-paper-a4 .resume-content li{font-size:9.2pt!important;line-height:1.18!important;margin-bottom:2.1pt!important}.resume-paper-a4 .resume-content li::marker{font-size:6.5pt!important}}:root{--font-zh:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC",sans-serif}.font-barlow{font-family:Barlow,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[lang=zh] .font-barlow,html[lang=zh] body{font-family:var(--font-zh)}.markdown{font-size:1.125rem;line-height:1.75rem;line-height:1.625}.markdown ol,.markdown p,.markdown ul{margin-top:1rem;margin-bottom:1rem}.markdown blockquote{margin-top:1.5rem;margin-bottom:1.5rem;border-left-width:4px;padding-left:1.25rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;line-height:1.625;border-left-color:var(--md-border-blockquote)}.markdown strong{font-weight:600}.markdown blockquote p{margin-top:0;margin-bottom:0}.markdown blockquote strong{font-weight:600}.markdown ul{list-style-type:disc;padding-left:1.5rem}.markdown ol{list-style-type:decimal;padding-left:1.5rem}.markdown li{margin-top:.25rem;margin-bottom:.25rem}.markdown h1{font-size:2.25rem;line-height:2.5rem;line-height:1.375}.markdown h1,.markdown h2{margin-top:3rem;margin-bottom:1rem;font-weight:600}.markdown h2{font-size:1.875rem;line-height:2.25rem;line-height:1.375}.markdown h3{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;line-height:2rem;font-weight:600;line-height:1.375}.markdown h4{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;line-height:1.375}.markdown h5{font-size:1.125rem;line-height:1.75rem;line-height:1.375}.markdown h5,.markdown h6{margin-top:1rem;margin-bottom:.5rem;font-weight:600}.markdown h6{font-size:1rem;line-height:1.5rem;line-height:1.375}.markdown img{display:block;width:100%;cursor:zoom-in;border-radius:.5rem;max-height:calc(100vh - 7rem);-o-object-fit:contain;object-fit:contain;width:auto;max-width:100%;margin-left:auto;margin-right:auto}.markdown img[style*=width]{width:auto}.markdown video{display:block;width:100%;max-height:calc(100vh - 7rem);-o-object-fit:contain;object-fit:contain;background:#000}.markdown video.fit-screen-video{width:auto;height:auto;max-width:100%;max-height:calc(100vh - 7rem);margin:24px auto;border-radius:8px}.markdown .neon-video-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem;align-items:start}.markdown .neon-video-pair figure{display:flex;flex-direction:column;margin:0;min-width:0;width:100%}.markdown .neon-video-pair video{width:100%;aspect-ratio:16/9;height:auto;max-height:none;margin:0;-o-object-fit:contain;object-fit:contain;border-radius:8px}.markdown .neon-video-pair figcaption{text-align:center}.markdown .neon-gesture-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.markdown .neon-gesture-videos figure{margin:0;min-width:0}.markdown .neon-gesture-videos video{width:100%;height:auto;max-height:none;margin:0;border-radius:8px}.markdown .neon-gesture-videos figcaption{text-align:center}@media (max-width:720px){.markdown .neon-gesture-videos,.markdown .neon-video-pair{grid-template-columns:1fr}}.markdown .video-embed{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;margin:1.5rem 0 2.25rem;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#050505;background-position:50%;background-size:cover;box-shadow:0 14px 36px rgba(0,0,0,.08)}.markdown .video-embed:before{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34));transition:opacity .2s ease}.markdown .video-embed.is-playing:before{opacity:0;pointer-events:none}.markdown .video-embed iframe{position:relative;z-index:1;display:block;width:100%;height:100%;border:0}.markdown .video-play-button{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:0;background:transparent;cursor:pointer}.markdown .video-play-button:focus-visible{outline:none}.markdown .video-play-icon{display:grid;place-items:center;width:clamp(3.5rem,8vw,5rem);height:clamp(3.5rem,8vw,5rem);border:1px solid hsla(0,0%,100%,.38);border-radius:999px;background:rgba(0,0,0,.62);box-shadow:0 18px 44px rgba(0,0,0,.28);transition:transform .2s ease,background .2s ease}.markdown .video-play-button:focus-visible .video-play-icon,.markdown .video-play-button:hover .video-play-icon{background:rgba(0,0,0,.76);outline:2px solid hsla(0,0%,100%,.88);outline-offset:4px;transform:scale(1.06)}.markdown .video-play-icon:before{display:block;width:0;height:0;margin-left:.24rem;border-top:.7rem solid transparent;border-bottom:.7rem solid transparent;border-left:1.05rem solid #fff;content:""}.markdown .ai-game-result-layout{display:grid;grid-template-columns:minmax(0,.46025fr) minmax(0,1.4402fr);gap:1rem;align-items:start;justify-content:start;margin:24px 0}.markdown .ai-game-result-layout video.fit-screen-video{width:100%;height:auto;max-height:none;margin:0;justify-self:start}.markdown .ai-game-result-image{min-width:0;margin:0}.markdown .ai-game-result-image>.media-skeleton-wrapper{width:100%;border-radius:8px}.markdown .ai-game-result-image img{width:100%;height:auto;max-width:100%;max-height:none;margin:0;-o-object-fit:contain;object-fit:contain;-o-object-position:left top;object-position:left top;border-radius:8px}@media (max-width:560px){.markdown .ai-game-result-layout{grid-template-columns:1fr}.markdown .ai-game-result-layout video.fit-screen-video{width:100%;margin:0;justify-self:start}.markdown .ai-game-result-image{width:100%}.markdown .ai-game-result-image>.media-skeleton-wrapper{height:auto;min-height:120px}.markdown .ai-game-result-image img{width:100%;height:auto;max-width:100%;max-height:none;margin:0}}@media (max-width:640px){.markdown .video-embed{margin:1.25rem 0 2rem}}.markdown figure{margin-top:1.5rem;margin-bottom:1.5rem;content-visibility:auto;contain-intrinsic-size:auto 640px}.markdown figure figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.markdown a{color:#e93;text-decoration-line:underline}.markdown table{margin-top:1.5rem;margin-bottom:1.5rem;width:100%;border-collapse:collapse;border:1px solid var(--md-border)}.markdown td:first-child,.markdown th:first-child{width:0;white-space:nowrap}.markdown td,.markdown th{padding:.5rem 1rem;text-align:left;border:1px solid var(--md-border)}.markdown th{font-weight:600;background-color:var(--md-bg-th)}.markdown a:hover{color:#cc7a1a}.markdown hr{margin-top:3rem;margin-bottom:3rem;border-width:1px 0 0;border-top-color:var(--md-border)}.markdown aside{margin-top:1.5rem;margin-bottom:1.5rem;border-radius:.5rem;padding:1rem 1.25rem;background-color:var(--md-bg-aside);border:1px solid var(--md-border);display:grid;grid-template-columns:auto 1fr;-moz-column-gap:.75rem;column-gap:.75rem;align-items:start}.markdown .aside-icon,.markdown aside{font-size:1.125rem;line-height:1.75rem;line-height:1.625}.markdown .aside-icon{display:flex;align-items:center;height:1.8em}.markdown .aside-icon img{display:inline;height:1.25rem;width:1.25rem;border-radius:0}.markdown .aside-content{display:flex;flex-direction:column;gap:.75rem}.markdown .aside-content p{margin-top:0;margin-bottom:0}
/* ! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--md-border:#e5e5e5;--md-border-blockquote:#262626;--md-bg-th:#fafafa;--md-bg-aside:#fafafa}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-20{bottom:5rem}.bottom-6{bottom:1.5rem}.bottom-\[calc\(100\%-0\.95rem\)\]{bottom:calc(100% - .95rem)}.left-0{left:0}.left-1\/2{left:50%}.left-\[3px\]{left:3px}.left-\[55\%\]{left:55%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.top-\[calc\(100\%\+4px\)\]{top:calc(100% + 4px)}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.col-span-3{grid-column:span 3/span 3}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-4{margin-left:1rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[2\/1\]{aspect-ratio:2/1}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[28px\]{height:28px}.h-\[72vh\]{height:72vh}.h-\[calc\(100vh-14rem\)\]{height:calc(100vh - 14rem)}.h-auto{height:auto}.h-full{height:100%}.max-h-28{max-height:7rem}.max-h-\[90vh\]{max-height:90vh}.min-h-\[2\.25rem\]{min-height:2.25rem}.min-h-\[520px\]{min-height:520px}.min-h-\[640px\]{min-height:640px}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[14px\]{width:14px}.w-\[40px\]{width:40px}.w-\[72\%\]{width:72%}.w-\[88px\]{width:88px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[140px\]{min-width:140px}.max-w-\[1024px\]{max-width:1024px}.max-w-\[760px\]{max-width:760px}.max-w-\[85\%\]{max-width:85%}.max-w-\[90vw\]{max-width:90vw}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y:0.5rem}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.columns-1{-moz-columns:1;column-count:1}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-subgrid{grid-template-columns:subgrid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-2xl{border-radius:1rem}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-black\/10{border-color:rgba(0,0,0,.1)}.border-neutral-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity))}.border-neutral-200\/50{border-color:hsla(0,0%,90%,.5)}.border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-neutral-800{--tw-border-opacity:1;border-top-color:rgb(38 38 38/var(--tw-border-opacity))}.bg-black\/0{background-color:transparent}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-white\/75{background-color:hsla(0,0%,100%,.75)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.p-\[3px\]{padding:3px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-1{padding-left:.25rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-14{padding-top:3.5rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-barlow{font-family:var(--font-barlow),Barlow,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tighter{letter-spacing:-.04em}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}.text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 5px 10px rgba(0,0,0,.12);--tw-shadow-colored:0 5px 10px var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow-\[0_3px_3px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_3px_3px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]{--tw-drop-shadow:drop-shadow(0 3px 3px rgba(0,0,0,.12))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}html{font-size:16px}body{font-size:1rem;line-height:1.5rem}main{animation:main-fade-in .25s ease-in-out both}@keyframes main-fade-in{0%{opacity:0}to{opacity:1}}@keyframes letter-bounce{0%{opacity:0;transform:translateY(8px)}40%{opacity:1;transform:translateY(-4px)}60%{transform:translateY(2px)}80%{transform:translateY(-1px)}to{opacity:1;transform:translateY(0)}}.animate-letter-bounce{animation:letter-bounce .5s ease-out both}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-img{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-lightbox-in{animation:lightbox-in .2s ease-out both}.animate-lightbox-img{animation:lightbox-img .25s ease-out both}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.animate-page-fade-in{animation:page-fade-in .3s cubic-bezier(.4,0,.2,1) both}.md-grid{display:grid;gap:1rem;margin:1.5rem 0}@media (max-width:768px){.md-grid{grid-template-columns:1fr!important}}.md-grid-col{min-width:0;display:flex;flex-direction:column;gap:1rem}.md-grid-col>p{margin:0;line-height:0;font-size:0}.md-grid-col figure{margin:0}.md-columns-1,.md-columns-2{margin-top:1.5rem;margin-bottom:1.5rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:768px){.md-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.md-columns-3{margin-top:1.5rem;margin-bottom:1.5rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:768px){.md-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.md-columns-4{margin-top:1.5rem;margin-bottom:1.5rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:768px){.md-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.md-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.md-columns-1 figure,.md-columns-1>p,.md-columns-2 figure,.md-columns-2>p,.md-columns-3 figure,.md-columns-3>p,.md-columns-4 figure,.md-columns-4>p{margin-top:0;margin-bottom:0}.markdown .omni-gallery{margin-top:1.5rem;margin-bottom:1.5rem}.markdown .omni-gallery>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.markdown .omni-gallery-row{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:768px){.markdown .omni-gallery-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.markdown .omni-gallery figure{margin-top:0;margin-bottom:0}.markdown .omni-gallery img{border-radius:.5rem;width:auto;max-width:100%;max-height:calc(100vh - 7rem);-o-object-fit:contain;object-fit:contain;margin-left:auto;margin-right:auto}.markdown .omni-gallery figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.markdown .omni-showcase{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:.75rem;align-items:stretch;margin:1.5rem 0 2.25rem}.markdown .omni-showcase figure{margin-top:0;margin-bottom:0}.markdown .omni-still-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0;min-height:0}.markdown .omni-media-tile{position:relative;display:flex;min-width:0;min-height:0;overflow:hidden;border-radius:8px;border:1px solid rgba(0,0,0,.06);background:#0a0a0a;box-shadow:0 10px 28px rgba(0,0,0,.08)}.markdown .omni-video-panel{aspect-ratio:16/9}.markdown .omni-media-tile>.media-skeleton-wrapper{flex:1 1 auto;width:100%;height:100%;min-height:0;border-radius:0}.markdown .omni-showcase img,.markdown .omni-showcase video{width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:0;-o-object-fit:cover;object-fit:cover;background:#0a0a0a}.markdown .omni-showcase video{cursor:default;-o-object-fit:cover;object-fit:cover;background:#050505}.markdown .omni-showcase figcaption{position:absolute;left:.6rem;bottom:.6rem;z-index:1;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 1.2rem);margin:0;padding:.28rem .5rem;border-radius:6px;background:rgba(0,0,0,.52);color:#fff;font-size:.72rem;line-height:1.25;opacity:0;pointer-events:none;transition:opacity .2s ease}.markdown .omni-showcase figure:focus-within figcaption,.markdown .omni-showcase figure:hover figcaption{opacity:1}@media (max-width:900px){.markdown .omni-showcase{grid-template-columns:1fr;gap:.6rem;margin:1.25rem 0 2rem}.markdown .omni-still-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;gap:.6rem}.markdown .omni-still-grid .omni-media-tile{aspect-ratio:4/3}.markdown .omni-showcase figcaption{display:none}}@media (max-width:600px){.markdown .omni-still-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.markdown .omni-still-grid .omni-media-tile{aspect-ratio:4/3}}.markdown .robot-hero-video{display:flex;overflow:hidden;margin:1.5rem 0 2.25rem;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#050505;box-shadow:0 14px 36px rgba(0,0,0,.08)}.markdown .robot-hero-video video{width:100%;height:auto;max-height:calc(100vh - 7rem);margin:0;border-radius:0;background:#050505;-o-object-fit:contain;object-fit:contain}.markdown .robot-gallery{-moz-columns:280px 2;columns:280px 2;-moz-column-gap:.75rem;column-gap:.75rem;margin:2.25rem 0 0}.markdown .robot-gallery figure{display:inline-block;width:100%;margin:0 0 .75rem;-moz-column-break-inside:avoid;break-inside:avoid}.markdown .robot-gallery .media-skeleton-wrapper{display:block;width:100%;max-width:none;max-height:none;margin:0;border-radius:8px}.markdown .robot-gallery img{display:block;width:100%;max-width:none;max-height:none;margin:0;height:auto;-o-object-fit:contain;object-fit:contain}.markdown .robot-gallery figcaption{display:none}@media (max-width:640px){.markdown .robot-hero-video{margin:1.25rem 0 2rem}.markdown .robot-gallery{-moz-columns:1;column-count:1;margin-top:2rem}}.markdown .qqmusic-question-block{margin:2.25rem 0 2rem;padding:clamp(1.1rem,2.8vw,1.6rem);border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.markdown .qqmusic-question-block h2{margin-top:0}.markdown .qqmusic-question-block p:last-of-type{margin-bottom:.75rem}.markdown .qqmusic-question-block blockquote:last-child{margin-bottom:0}.markdown .vemus-lead{margin:1.5rem 0 1.25rem;color:#171717;font-size:clamp(1.75rem,4vw,2.375rem);font-weight:650;line-height:1.16}.markdown .vemus-copy,.markdown .vemus-intro{max-width:980px;color:#737373;font-size:1rem;line-height:1.66}.markdown .vemus-intro{margin:1.25rem 0 2.25rem}.markdown .vemus-copy{margin:.75rem 0}.project-ai-vemus .vemus-title-shell>div{margin-top:3rem}.project-ai-vemus .vemus-title-shell>div>div:first-child{margin-bottom:0}.project-ai-vemus .vemus-title-shell h1{color:#171717;font-size:5.6rem;font-weight:820;letter-spacing:0;line-height:.98;text-align:left}.project-ai-vemus .markdown .vemus-lead{display:flex;align-items:center;gap:1.25rem;margin:2.5rem 0 2.1rem;color:#171717;font-size:1.88rem;font-weight:760;line-height:1.18}.project-ai-vemus .markdown .vemus-lead:before{content:"";display:block;flex:0 0 auto;width:.38rem;height:3.35rem;background:#2b2b2b}.project-ai-vemus .markdown .vemus-growth-item>p strong,.project-ai-vemus .markdown .vemus-pathway p strong{color:#171717;font-weight:720}@media (max-width:768px){.project-ai-vemus .vemus-title-shell>div{margin-top:2.5rem}.project-ai-vemus .vemus-title-shell h1{font-size:4.2rem}.project-ai-vemus .markdown .vemus-lead{gap:1.1rem;margin:2.1rem 0 1.9rem;font-size:1.55rem}.project-ai-vemus .markdown .vemus-lead:before{height:2.9rem}}@media (max-width:520px){.project-ai-vemus .vemus-title-shell h1{font-size:3.15rem}.project-ai-vemus .markdown .vemus-lead{font-size:1.28rem}}.markdown .vemus-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin:2.25rem 0 3.75rem;padding:1.35rem 0;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}.markdown .vemus-meta-grid strong{display:block;margin:0;color:#171717;font-size:.88rem;font-weight:680;line-height:1.35}.markdown .vemus-meta-grid span{display:block;margin-top:.35rem;color:#737373;font-size:.88rem;line-height:1.55}@media (max-width:768px){.markdown .vemus-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.markdown .vemus-meta-grid{grid-template-columns:1fr}}.markdown .vemus-system-map{margin:2.5rem 0 3rem}.markdown .vemus-system-map img,.markdown .vemus-system-map svg{display:block;width:100%;height:auto;border-radius:1rem;box-shadow:0 18px 44px rgba(15,23,42,.055)}@media (max-width:768px){.markdown .vemus-system-map{margin:2rem -.25rem 2.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.markdown .vemus-system-map img,.markdown .vemus-system-map svg{width:56rem;max-width:none}}.markdown .vemus-section-kicker{margin:0 0 .45rem;color:#8b8b8b;font-size:.76rem;font-weight:720;letter-spacing:0;line-height:1.2;text-transform:uppercase}.markdown .vemus-lifecycle{margin:3.25rem 0 3.1rem;padding:0}.markdown .vemus-relation-map{margin:2rem 0 3.25rem}.markdown .vemus-relation-map img{display:block;width:100%;height:auto;border-radius:8px}.markdown .vemus-lifecycle-head{max-width:860px}.markdown .vemus-lifecycle h2{margin:0;color:#171717;font-size:2.2rem;font-weight:760;line-height:1.12}.markdown .vemus-lifecycle-head p:last-child{max-width:820px;margin:.55rem 0 0;color:#737373;font-size:1.05rem;line-height:1.54}.markdown .vemus-lifecycle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:1.05rem;overflow:hidden;border:1px solid #e5e5e5;border-radius:8px;background:#e5e5e5}.markdown .vemus-lifecycle-grid article{min-width:0;padding:1rem;background:#fff}.markdown .vemus-lifecycle-grid span{display:block;margin-bottom:.75rem;color:#a3a3a3;font-size:.82rem;font-weight:720;line-height:1}.markdown .vemus-lifecycle-grid h3{margin:0;color:#171717;font-size:1.05rem;font-weight:720;line-height:1.35}.markdown .vemus-lifecycle-grid p{margin:.42rem 0 0;color:#737373;font-size:.94rem;line-height:1.48}.markdown .vemus-pathways{margin:3.35rem 0 3.75rem;padding:0}.markdown .vemus-pathways-head{max-width:860px}.markdown .vemus-pathway-index{margin:0 0 .45rem;color:#8b8b8b;font-size:.76rem;font-weight:720;letter-spacing:0;line-height:1.2;text-transform:uppercase}.markdown .vemus-pathways h2{margin:0;color:#171717;font-size:2.2rem;line-height:1.12;font-weight:760}.markdown .vemus-pathways-head p:last-child{max-width:820px;margin:.65rem 0 0;color:#737373;font-size:1.05rem;line-height:1.58}.markdown .vemus-pathway-tabs{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.05rem 0 1.6rem}.markdown .vemus-pathway-tabs span{display:inline-flex;align-items:center;min-height:2rem;padding:.42rem .85rem;border:1px solid #e5e5e5;border-radius:999px;background:#fafafa;color:#525252;font-size:.88rem;font-weight:620;line-height:1.2}.markdown .vemus-pathway{margin:2.05rem 0 2.55rem;padding-top:0}.markdown .vemus-pathway h3{margin:0;color:#171717;font-size:1.65rem;line-height:1.18;font-weight:720}.markdown .vemus-pathway p:not(.vemus-pathway-index){max-width:940px;margin:.55rem 0 1.05rem;color:#737373;font-size:1rem;line-height:1.62}.markdown .vemus-pathway figure{margin:.95rem 0 0}.markdown .vemus-pathway figure img{margin:0 auto}.markdown .vemus-growth{margin:3.5rem 0 3.8rem;padding:0}.markdown .vemus-growth-head{max-width:960px}.markdown .vemus-growth-head>span{display:block;margin-bottom:.5rem;color:#8b8b8b;font-size:.76rem;font-weight:720;letter-spacing:0;line-height:1.2;text-transform:uppercase}.markdown .vemus-growth h2{margin:0;color:#171717;font-size:2.2rem;font-weight:760;line-height:1.12}.markdown .vemus-growth-head p{max-width:980px;margin:.65rem 0 0;color:#737373;font-size:1.04rem;line-height:1.58}.markdown .vemus-growth-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;margin:1.2rem 0 1.9rem;overflow:hidden;border:1px solid #e5e5e5;border-radius:8px;background:#e5e5e5}.markdown .vemus-growth-overview article{min-width:0;padding:1rem;background:#fff}.markdown .vemus-growth-overview span{display:block;margin-bottom:.7rem;color:#a3a3a3;font-size:.8rem;font-weight:740;line-height:1}.markdown .vemus-growth-overview strong{display:block;color:#171717;font-size:1.02rem;font-weight:720;line-height:1.35}.markdown .vemus-growth-overview p{margin:.42rem 0 0;color:#737373;font-size:.92rem;line-height:1.48}.markdown .vemus-growth-item{padding:0;margin:2.1rem 0 2.6rem}.markdown .vemus-growth-item:last-child{margin-bottom:0}.markdown .vemus-growth-item-head{display:block}.markdown .vemus-growth-item h3{margin:0;color:#171717;font-size:1.55rem;font-weight:740;line-height:1.22}.markdown .vemus-growth-item>p{max-width:940px;margin:.55rem 0 1.05rem;color:#737373;font-size:1rem;line-height:1.62}.markdown .vemus-growth-item figure{margin:.95rem 0 0}.markdown .vemus-growth-item figure img{margin:0 auto}@media (max-width:640px){.markdown .vemus-lifecycle h2{font-size:1.75rem}.markdown .vemus-lifecycle-grid{grid-template-columns:1fr}.markdown .vemus-pathways h2{font-size:1.75rem}.markdown .vemus-pathway-tabs{display:grid;grid-template-columns:1fr}.markdown .vemus-pathway h3{font-size:1.35rem}.markdown .vemus-growth-overview{grid-template-columns:1fr}.markdown .vemus-growth-item-head{display:block}.markdown .vemus-growth-item h3{margin-top:.45rem;font-size:1.32rem}}.markdown .vemus-blueprint{margin:2.75rem 0 3.25rem;padding:clamp(1.1rem,3vw,2.2rem);border:1px solid #e5e5e5;border-radius:1.35rem;background:radial-gradient(circle at 12% 12%,rgba(16,185,129,.1),transparent 18rem),radial-gradient(circle at 90% 12%,rgba(245,158,11,.12),transparent 18rem),linear-gradient(180deg,#fff,#fafafa);box-shadow:0 24px 70px rgba(15,23,42,.07)}.markdown .vemus-blueprint *{box-sizing:border-box}.markdown .vemus-blueprint-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;padding:0;margin:0 0 1.55rem;border-bottom:0}.markdown .vemus-blueprint-kicker{display:inline-flex;align-items:center;gap:.42rem;margin-bottom:.42rem;color:#71717a;font-size:.66rem;font-weight:760;letter-spacing:.16em;line-height:1;text-transform:uppercase}.markdown .vemus-blueprint-kicker:before{content:"";width:.42rem;height:.42rem;border-radius:999px;background:linear-gradient(135deg,#10b981,#f59e0b)}.markdown .vemus-blueprint h2{margin:0;color:#09090b;font-size:clamp(1.45rem,2.6vw,2.25rem);line-height:1.04;font-weight:780;letter-spacing:0}.markdown .vemus-blueprint-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.4rem .78rem;border:1px solid #d6d3d1;border-radius:999px;background:hsla(0,0%,100%,.9);color:#57534e;font-size:.78rem;font-weight:650;line-height:1.1;white-space:nowrap}.markdown .vemus-blueprint-body{position:relative;display:grid;gap:1rem}.markdown .vemus-blueprint-spine{display:none}.markdown .vemus-blueprint-entry,.markdown .vemus-blueprint-lane,.markdown .vemus-blueprint-step{position:relative;z-index:1;border:1px solid #e7e5e4;background:hsla(0,0%,100%,.92);box-shadow:0 14px 38px rgba(15,23,42,.045)}.markdown .vemus-blueprint-entry{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:center;width:min(100%,40rem);margin:0 auto .25rem;padding:1rem 1.1rem;border-radius:1.15rem}.markdown .vemus-blueprint-entry:after,.markdown .vemus-blueprint-rail:before{content:"";position:absolute;left:50%;z-index:0;width:1px;height:1.25rem;background:linear-gradient(#d6d3d1 55%,transparent 0);background-size:1px .42rem;transform:translateX(-50%)}.markdown .vemus-blueprint-entry:after{bottom:-1.28rem}.markdown .vemus-blueprint-rail:before{top:-1.18rem}.markdown .vemus-blueprint-index{display:inline-flex;align-items:center;justify-content:center;width:2.28rem;height:2.28rem;flex:0 0 auto;border-radius:999px;background:#111;color:#fff;font-size:.72rem;font-weight:780;letter-spacing:.04em}.markdown .vemus-blueprint strong{display:block;margin:0;color:#111;font-size:1rem;line-height:1.25;font-weight:760;letter-spacing:0}.markdown .vemus-blueprint p{margin:.32rem 0 0;color:#6b7280;font-size:.82rem;line-height:1.45}.markdown .vemus-blueprint-split{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,2.4vw,1.6rem);padding:clamp(1rem,2.3vw,1.5rem);border:1px solid #e7e5e4;border-radius:1.35rem;background:linear-gradient(90deg,hsla(240,5%,84%,.45) 1px,transparent 0),linear-gradient(hsla(240,5%,84%,.45) 1px,transparent 0),#f8f8f7;background-size:28px 28px,28px 28px,auto;box-shadow:inset 0 1px 0 #fff,0 18px 52px rgba(15,23,42,.055)}.markdown .vemus-blueprint-split:after{content:"";position:absolute;top:50%;right:1.5rem;left:1.5rem;z-index:0;height:1px;background:linear-gradient(90deg,rgba(16,185,129,.28),rgba(245,158,11,.28));transform:translateY(-50%)}.markdown .vemus-blueprint-lane{display:block;min-height:24rem;padding:1.15rem;overflow:hidden;border:0;border-radius:1rem;background:hsla(0,0%,100%,.82);box-shadow:none}.markdown .vemus-blueprint-lane:after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:.24rem;border-radius:999px;opacity:1;pointer-events:none}.markdown .vemus-lane-meta{position:relative;z-index:1;max-width:16rem;padding:0;border-bottom:0}.markdown .vemus-blueprint-lane .vemus-blueprint-index{width:-moz-max-content;width:max-content;min-width:3rem;height:1.55rem;padding:0 .62rem;margin-bottom:.75rem;border-radius:999px;background:#f4f4f5;color:#52525b}.markdown .lane-song{border-top:0}.markdown .lane-song:after{background:linear-gradient(90deg,#10b981,transparent)}.markdown .lane-song .vemus-blueprint-index{background:#ecfdf5;color:#047857}.markdown .lane-sing{border-top:0}.markdown .lane-sing:after{background:linear-gradient(90deg,#f59e0b,transparent)}.markdown .lane-sing .vemus-blueprint-index{background:#fffbeb;color:#b45309}.markdown .vemus-blueprint-lane ul{position:relative;display:block;height:15rem;margin:1.35rem 0 0;padding:0;list-style:none;counter-reset:vemus-node}.markdown .vemus-blueprint-lane ul:before{content:"";position:absolute;top:50%;right:4%;left:4%;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(16,185,129,.12),rgba(16,185,129,.75),rgba(16,185,129,.12));transform:translateY(-50%)}.markdown .lane-sing ul:before{background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(245,158,11,.78),rgba(245,158,11,.12))}.markdown .vemus-blueprint-lane li{position:relative;display:inline-flex;align-items:center;gap:.42rem;min-height:2rem;margin:0;padding:.36rem .62rem .36rem .38rem;border:1px solid hsla(24,6%,83%,.92);border-radius:999px;background:hsla(0,0%,100%,.96);color:#27272a;font-size:.76rem;font-weight:650;line-height:1.25;white-space:nowrap;box-shadow:0 10px 26px rgba(15,23,42,.055);counter-increment:vemus-node}.markdown .vemus-blueprint-lane li:before{content:counter(vemus-node,decimal-leading-zero);display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:0;border-radius:999px;background:#f4f4f5;color:#71717a;font-size:.56rem;font-weight:780;letter-spacing:0;box-shadow:none}.markdown .lane-song li:before{background:#d1fae5;color:#047857}.markdown .lane-sing li:before{background:#fef3c7;color:#b45309}.markdown .vemus-blueprint-lane li:first-child{position:absolute;top:.3rem;left:0}.markdown .vemus-blueprint-lane li:nth-child(2){position:absolute;top:2.9rem;right:8%}.markdown .vemus-blueprint-lane li:nth-child(3){position:absolute;top:5.4rem;left:12%}.markdown .vemus-blueprint-lane li:nth-child(4){position:absolute;top:7.8rem;right:0}.markdown .vemus-blueprint-lane li:nth-child(5){position:absolute;top:10.2rem;left:3%}.markdown .vemus-blueprint-lane li:nth-child(6){position:absolute;top:12.7rem;right:14%}.markdown .vemus-blueprint-lane li:nth-child(7){position:absolute;top:14.7rem;left:24%}.markdown .vemus-blueprint-rail{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding-top:1.25rem}.markdown .vemus-blueprint-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.72rem;align-items:start;min-height:6.5rem;padding:.95rem;border-radius:1rem;box-shadow:none}.markdown .vemus-blueprint-step:first-child,.markdown .vemus-blueprint-step:last-child{border-radius:1rem}.markdown .vemus-blueprint-step+.vemus-blueprint-step{border-left:1px solid hsla(240,5%,84%,.86)}.markdown .vemus-blueprint-step .vemus-blueprint-index{width:2.1rem;height:2.1rem;border-radius:.52rem}.markdown .step-enhance .vemus-blueprint-index{background:#2563eb}.markdown .step-library .vemus-blueprint-index{background:#18181b}.markdown .step-growth .vemus-blueprint-index{background:#f59e0b}.markdown .vemus-blueprint-tags{display:flex;flex-wrap:wrap;gap:.38rem;grid-column:2;margin-top:.52rem}.markdown .vemus-blueprint-tags span{padding:.26rem .52rem;border:1px solid #e4e4e7;border-radius:999px;background:#fafafa;color:#52525b;font-size:.72rem;font-weight:620;line-height:1.2}@media (max-width:768px){.markdown .vemus-blueprint{padding:1rem}.markdown .vemus-blueprint-head{grid-template-columns:1fr;align-items:start;gap:.75rem}.markdown .vemus-blueprint-pill{justify-self:start;white-space:normal}.markdown .vemus-blueprint-entry:after,.markdown .vemus-blueprint-rail:before,.markdown .vemus-blueprint-spine,.markdown .vemus-blueprint-split:after,.markdown .vemus-blueprint-split:before{display:none}.markdown .vemus-blueprint-entry{grid-template-columns:1fr;border-radius:.75rem}.markdown .vemus-blueprint-rail,.markdown .vemus-blueprint-split{grid-template-columns:1fr;gap:.85rem;padding-top:0}.markdown .vemus-blueprint-lane{min-height:auto}.markdown .vemus-blueprint-lane ul{display:grid;height:auto;gap:.48rem}.markdown .vemus-blueprint-lane ul:before{display:none}.markdown .vemus-blueprint-lane li,.markdown .vemus-blueprint-lane li:nth-child(n){position:static;width:-moz-max-content;width:max-content;max-width:100%;white-space:normal}.markdown .vemus-blueprint-step,.markdown .vemus-blueprint-step:first-child,.markdown .vemus-blueprint-step:last-child{grid-template-columns:auto minmax(0,1fr);min-height:auto;border-left:1px solid hsla(240,5%,84%,.86);border-radius:.75rem}}@keyframes typing-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.animate-typing-dots{display:inline-block;font-size:inherit;line-height:1}.animate-typing-dots:after{content:"";animation:typing-dots 1.2s steps(1) infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.animate-fade-in{animation:fade-in .3s ease-out both}.animate-fade-out{animation:fade-out .25s ease-in both}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.media-skeleton-wrapper{position:relative;border-radius:.5rem;overflow:hidden;min-height:120px;background:linear-gradient(90deg,#e5e5e5 25%,#f5f5f5 50%,#e5e5e5 75%);background-size:800px 100%;animation:skeleton-shimmer 1.5s linear infinite}.media-skeleton-wrapper iframe,.media-skeleton-wrapper img{transition:opacity .3s ease}.media-skeleton-wrapper.media-skeleton-loaded{background:none;animation:none;min-height:auto}.cover-skeleton{background:linear-gradient(90deg,#e5e5e5 25%,#f5f5f5 50%,#e5e5e5 75%);background-size:800px 100%;animation:skeleton-shimmer 1.5s linear infinite}.cover-skeleton.cover-loaded{background:none;animation:none}.side-by-side{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 0}.ai-coding-practice-detail{align-items:flex-start;margin:2rem 0 2.75rem;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.25rem,3vw,2.5rem);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;background:#111;box-shadow:0 22px 60px rgba(0,0,0,.14)}.ai-coding-practice-detail+.ai-coding-practice-detail{margin-top:1.5rem}.ai-coding-practice-detail .side-content{order:1;align-self:center;max-width:360px;color:hsla(0,0%,100%,.88)}.ai-coding-practice-detail .side-preview{order:2;width:min(100%,328px)}.ai-coding-practice-detail .side-content>h3:first-child{margin-top:0}.ai-coding-practice-detail .side-content h3{color:#fff;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.02}.ai-coding-practice-detail .side-content li,.ai-coding-practice-detail .side-content p{color:hsla(0,0%,100%,.74)}.ai-coding-practice-detail .side-content strong{color:#fff}.ai-coding-practice-detail .side-content>ul:last-child{margin-bottom:0}.practice-play-hint{display:inline-flex;width:-moz-fit-content;width:fit-content;margin:0 0 1.5rem;padding:.45rem .7rem;border:1px solid hsla(0,0%,100%,.12);border-radius:999px;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.9)!important;font-size:.95rem;font-weight:700}.practice-phone-frame{--practice-frame-scale:0.86;position:relative;width:min(100%,328px);height:min(74vh,690px);max-height:690px;aspect-ratio:390/844;overflow:hidden;border:1px solid hsla(0,0%,100%,.18);border-radius:16px;background:#f4f1ea;box-shadow:0 24px 70px rgba(0,0,0,.36)}.practice-phone-frame iframe{display:block;width:calc(100% / var(--practice-frame-scale));height:calc(100% / var(--practice-frame-scale));border:0;background:#f4f1ea;transform:scale(var(--practice-frame-scale));transform-origin:top left}.practice-frame-caption{display:block;width:-moz-fit-content;width:fit-content;margin:.75rem auto 0;padding:.35rem .75rem;border:1px solid hsla(0,0%,100%,.14);border-radius:999px;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.82);font-size:.875rem;font-weight:600;line-height:1.2}.ai-practice-frame-root{display:flex;box-sizing:border-box;height:100vh;flex-direction:column;gap:16px;overflow-y:auto;padding:18px;background:#f4f1ea;color:#171717;font-family:var(--font-barlow),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ai-practice-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:6px}.ai-practice-eyebrow{margin:0 0 5px;color:#7a6b56;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.ai-practice-hero h1{max-width:230px;margin:0;color:#151515;font-size:34px;font-weight:800;line-height:.95;letter-spacing:0}.ai-practice-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border:1px solid hsla(0,0%,9%,.12);border-radius:999px;background:#fffaf0;color:#6b4b16;font-size:12px;font-weight:700;white-space:nowrap}.ai-practice-stack{display:grid;gap:8px}.ai-practice-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;width:100%;min-height:72px;padding:12px;border:1px solid hsla(0,0%,9%,.1);border-radius:8px;background:hsla(0,0%,100%,.72);color:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ai-practice-card:focus-visible,.ai-practice-card:hover{border-color:hsla(0,0%,9%,.24);background:#fff;outline:none;transform:translateY(-1px)}.ai-practice-card[data-active=true]{border-color:#1f6f62;background:#f7fffb}.ai-practice-index{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#171717;color:#fff;font-size:11px;font-weight:800}.ai-practice-card small,.ai-practice-card strong{display:block}.ai-practice-card strong{color:#171717;font-size:15px;line-height:1.25}.ai-practice-card small{margin-top:3px;color:#786f63;font-size:12px;line-height:1.25}.ai-practice-detail-panel{min-height:170px;padding:14px;border:1px solid hsla(0,0%,9%,.1);border-radius:8px;background:#171717;color:#f9f6ee}.ai-practice-detail-kicker{margin:0 0 7px;color:#ffcc72;font-size:12px;font-weight:700;letter-spacing:0}.ai-practice-detail-panel h2{margin:0;font-size:22px;font-weight:800;line-height:1.05;letter-spacing:0}.ai-practice-detail-panel p{margin:10px 0 0;color:hsla(44,48%,95%,.76);font-size:14px;line-height:1.5}.ai-practice-result{display:grid;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.14)}.ai-practice-result span{color:#8bd5c8;font-size:12px;font-weight:700}.ai-practice-result strong{color:#fff;font-size:13px;line-height:1.45}.ai-practice-loop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ai-practice-loop span{min-height:42px;border:1px solid hsla(0,0%,9%,.1);background:#fffaf0;color:#594f42;font-size:12px;font-weight:700;text-align:center}.ai-practice-loop span,.ai-practice-open{display:flex;align-items:center;justify-content:center;border-radius:8px}.ai-practice-open{min-height:46px;margin-top:auto;background:#1f6f62;color:#fff;font-size:15px;font-weight:800;text-decoration:none;transition:background .18s ease,transform .18s ease}.ai-practice-open:focus-visible,.ai-practice-open:hover{background:#18584e;outline:none;transform:translateY(-1px)}@media (min-width:768px){.side-by-side{flex-direction:row;align-items:flex-start;gap:3rem}.side-by-side .side-preview{position:sticky;top:5rem;flex-shrink:0}.side-by-side .side-content{flex:1;min-width:0}.side-by-side.ai-coding-practice-detail{align-items:center;justify-content:space-between;gap:clamp(2.5rem,6vw,5rem)}.side-by-side.ai-coding-practice-detail .side-preview{position:relative;top:auto}}@media (max-width:767px){.practice-phone-frame{width:min(100%,390px);height:min(72vh,760px)}}.ai-coding-practice-page{min-height:100vh;background:#111;color:#fff}body:has(.ai-coding-practice-page),html:has(.ai-coding-practice-page){background:#111}.project-ai-coding-practice{min-height:100vh;background:#111;color:#fff}.project-ai-coding-practice>div{width:100%;max-width:none;margin-right:0;margin-left:0}.project-ai-coding-practice .markdown{height:100vh;height:100svh;overflow-y:auto;scroll-behavior:smooth;scroll-snap-type:y mandatory;scrollbar-width:none;background:#111;-webkit-overflow-scrolling:touch}.project-ai-coding-practice .markdown::-webkit-scrollbar{display:none;width:0;height:0}.project-ai-coding-practice .ai-coding-practice-detail{width:100%;min-height:100vh;min-height:100svh;align-items:center;justify-content:center;margin:0;padding:clamp(4.75rem,8vh,6rem) clamp(1.25rem,6vw,6rem) clamp(2rem,5vh,4rem);border:0;border-radius:0;background:#111;box-shadow:none;scroll-snap-align:start;scroll-snap-stop:always}.project-ai-coding-practice .ai-coding-practice-detail+.ai-coding-practice-detail{margin-top:0;border-top:1px solid hsla(0,0%,100%,.08)}.project-ai-coding-practice .ai-coding-practice-detail .side-content{width:min(100%,340px);max-width:340px;align-self:center;color:hsla(0,0%,100%,.78)}.project-ai-coding-practice .ai-coding-practice-detail .side-preview{display:flex;width:min(100%,328px);flex-direction:column;align-items:center}.project-ai-coding-practice .practice-play-hint{margin-bottom:.9rem;padding:0;border:0;border-radius:0;background:transparent;color:hsla(0,0%,100%,.62)!important;font-size:.86rem;font-weight:700;letter-spacing:.02em}.project-ai-coding-practice .ai-coding-practice-detail .side-content h3{margin-bottom:.85rem;color:#fff;font-size:clamp(2.1rem,3.6vw,3.45rem);line-height:1}.project-ai-coding-practice .ai-coding-practice-detail .side-content li,.project-ai-coding-practice .ai-coding-practice-detail .side-content p{color:hsla(0,0%,100%,.72);font-size:.98rem;line-height:1.58}.project-ai-coding-practice .ai-coding-practice-detail .side-content strong{color:#fff}.project-ai-coding-practice .practice-project-summary{margin:0;color:hsla(0,0%,100%,.76)!important}.project-ai-coding-practice .practice-project-meta{display:inline-flex;width:-moz-fit-content;width:fit-content;margin:.9rem 0 0;color:hsla(0,0%,100%,.48)!important;font-size:.82rem!important;font-weight:700;line-height:1.35!important}.project-ai-coding-practice .practice-phone-frame{width:min(100%,328px);height:min(82vh,690px);height:min(82svh,690px);max-height:690px;border-color:hsla(0,0%,100%,.2);border-radius:10px;box-shadow:0 30px 90px rgba(0,0,0,.45)}.project-ai-coding-practice .practice-frame-caption{margin-top:.9rem;border-color:hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.78)}.practice-slide-nav{position:fixed;top:50%;right:clamp(1.2rem,2.4vw,2.4rem);z-index:45;display:flex;flex-direction:column;gap:.82rem;align-items:center;transform:translateY(-50%)}.practice-slide-dot{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;cursor:pointer}.practice-slide-dot:before{width:.46rem;height:.46rem;border-radius:999px;background:hsla(0,0%,100%,.44);content:"";transition:width .18s ease,height .18s ease,background .18s ease}.practice-slide-dot:after{position:absolute;width:1rem;height:1rem;border:1px solid hsla(0,0%,100%,.76);border-radius:999px;content:"";opacity:0;transform:scale(.7);transition:opacity .18s ease,transform .18s ease,border-color .18s ease}.practice-slide-dot:focus-visible:before,.practice-slide-dot:hover:before{background:hsla(0,0%,100%,.72)}.practice-slide-dot:focus-visible{outline:2px solid hsla(0,0%,100%,.7);outline-offset:2px}.practice-slide-dot[data-active=true]:before{width:.5rem;height:.5rem;background:#f5f5f5}.practice-slide-dot[data-active=true]:after{opacity:1;transform:scale(1)}@media (min-width:768px){.project-ai-coding-practice .side-by-side.ai-coding-practice-detail{display:grid;grid-template-columns:minmax(240px,340px) minmax(280px,360px);gap:clamp(3rem,9vw,9rem);justify-content:center}.project-ai-coding-practice .side-by-side.ai-coding-practice-detail .side-content{order:1;width:100%}.project-ai-coding-practice .side-by-side.ai-coding-practice-detail .side-preview{order:2;justify-self:center}}@media (max-width:767px){.practice-slide-nav{right:.45rem;gap:.58rem}.practice-slide-dot{width:1.35rem;height:1.35rem}.practice-slide-dot:before{width:.4rem;height:.4rem}.practice-slide-dot:after{width:.86rem;height:.86rem}.practice-slide-dot[data-active=true]:before{width:.44rem;height:.44rem}.project-ai-coding-practice .ai-coding-practice-detail{gap:1.25rem;padding:4.5rem 1rem 2rem}.project-ai-coding-practice .ai-coding-practice-detail .side-content{max-width:360px}.project-ai-coding-practice .ai-coding-practice-detail .side-content h3{font-size:clamp(2rem,10vw,3rem)}.project-ai-coding-practice .practice-phone-frame{width:min(100%,328px);height:min(64vh,620px);height:min(64svh,620px)}}.exp-scroll-grid{display:grid;grid-template-columns:auto auto auto auto 1fr}@media (min-width:768px){.exp-scroll-grid{grid-template-columns:auto auto auto 1fr}.exp-scroll-grid>.md\:hidden{display:none}}.home-self-intro{opacity:0;transform:translateY(36px);transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.home-self-intro.is-visible{opacity:1;transform:translateY(0)}.flow-intro-hero{--flow-scroll:0;--flow-fade:1;--flow-content-fade:calc(1 - min(var(--flow-scroll) * 1.85, 1));--flow-enter:0;position:relative;isolation:isolate;height:100vh;min-height:100svh;color:#050505;background:#fff}.flow-intro-hero.is-ready{--flow-enter:1}.flow-intro-stage{position:sticky;top:0;min-height:100vh;min-height:100svh;overflow:hidden;padding:5.5rem 1.25rem 2.25rem;background:linear-gradient(rgba(0,0,0,.075) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.075) 1px,transparent 0),#fff;background-size:33.333% 37.5%,33.333% 37.5%,auto}.flow-intro-stage:before{position:absolute;inset:0;z-index:0;content:"";background:linear-gradient(125deg,rgba(0,0,0,.025),transparent 44%),linear-gradient(255deg,rgba(0,0,0,.018),transparent 58%)}.flow-intro-stage:after{position:absolute;inset:auto 0 0;z-index:1;height:42%;content:"";background:linear-gradient(180deg,transparent,#fff)}.flow-intro-grid{inset:0;z-index:1;background:linear-gradient(90deg,transparent calc(100% - 1px),rgba(0,0,0,.07) 1px),linear-gradient(transparent calc(100% - 1px),rgba(0,0,0,.07) 1px);background-size:33.333% 100%,100% 37.5%;opacity:calc(.72 * var(--flow-enter) * var(--flow-content-fade))}.flow-intro-cross,.flow-intro-grid{position:absolute;pointer-events:none;transition:opacity .76s ease-out}.flow-intro-cross{z-index:4;width:1.1rem;height:1.1rem;opacity:calc(.52 * var(--flow-enter) * var(--flow-content-fade))}.flow-intro-cross:after,.flow-intro-cross:before{position:absolute;inset:50% auto auto 0;width:100%;height:1px;content:"";background:rgba(0,0,0,.22)}.flow-intro-cross:after{transform:rotate(90deg)}.flow-intro-cross-a{top:32.4%;left:33.333%}.flow-intro-cross-b{top:70.2%;right:33.333%}.flow-intro-cross-c{right:6%;bottom:9%}.flow-intro-particle-center{position:fixed;top:50vh;left:50%;z-index:5;width:min(96vw,86rem);height:clamp(24rem,47vw,38rem);opacity:var(--flow-enter);transform:translate(-50%,-50%);transition:opacity .78s ease-out;will-change:opacity,transform}.flow-intro-particle-text{width:100%;height:100%}.flow-intro-title-fallback{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flow-intro-scroll-hint{position:absolute;left:50%;bottom:1.15rem;z-index:5;color:rgba(0,0,0,.48);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.72rem;letter-spacing:0;text-transform:uppercase;opacity:calc(var(--flow-enter) * var(--flow-content-fade) * .9);transform:translateX(-50%);transition:opacity .76s ease-out}.flow-intro-scroll-hint:after{display:block;width:1px;height:2.2rem;margin:.45rem auto 0;content:"";background:linear-gradient(180deg,rgba(0,0,0,.45),transparent);transform-origin:top;animation:flow-scroll-pulse 1.4s ease-in-out infinite}@keyframes flow-scroll-pulse{0%,to{transform:scaleY(.42);opacity:.45}45%{transform:scaleY(1);opacity:1}}@media (max-width:900px){.flow-intro-stage{padding:5rem 1.1rem 1.75rem;background-size:50% 32%,50% 32%,auto}.flow-intro-grid{background-size:50% 100%,100% 32%}.flow-intro-particle-center{width:min(96vw,48rem);height:clamp(24rem,82vw,31rem)}}@media (max-width:560px){.flow-intro-hero{height:100vh;min-height:100svh}.flow-intro-particle-center{width:calc(100% - 1rem);height:25rem}.flow-intro-cross-a{left:50%}.flow-intro-cross-b{right:12%}}@media (min-width:1200px){.flow-intro-particle-center{height:38rem}}@media (prefers-reduced-motion:reduce){.flow-intro-cross,.flow-intro-grid,.flow-intro-particle-center,.flow-intro-scroll-hint:after{animation:none}.flow-intro-cross,.flow-intro-grid,.flow-intro-particle-center,.flow-intro-scroll-hint{transition:none}.home-self-intro{opacity:1;transform:none;transition:none}}.placeholder\:text-neutral-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.placeholder\:text-neutral-400::placeholder{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.focus-within\:border-neutral-300:focus-within{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity))}.focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:border-neutral-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.hover\:text-neutral-900:hover{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}.hover\:opacity-70:hover{opacity:.7}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-neutral-900:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(23 23 23/var(--tw-ring-opacity))}.focus-visible\:ring-offset-4:focus-visible{--tw-ring-offset-width:4px}.group:hover .group-hover\:scale-\[1\.025\]{--tw-scale-x:1.025;--tw-scale-y:1.025;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:underline{text-decoration-line:underline}@media (min-width:640px){.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:768px){.md\:mb-12{margin-bottom:3rem}.md\:block{display:block}.md\:inline{display:inline}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:aspect-\[3\/2\]{aspect-ratio:3/2}.md\:h-10{height:2.5rem}.md\:h-auto{height:auto}.md\:max-h-\[70vh\]{max-height:70vh}.md\:w-10{width:2.5rem}.md\:max-w-\[1024px\]{max-width:1024px}.md\:max-w-\[72\%\]{max-width:72%}.md\:columns-2{-moz-columns:2;column-count:2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:rounded-2xl{border-radius:1rem}.md\:rounded-lg{border-radius:.5rem}.md\:border{border-width:1px}.md\:border-neutral-200\/70{border-color:hsla(0,0%,90%,.7)}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:pb-6{padding-bottom:1.5rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:2.5rem}.md\:text-7xl{font-size:4.5rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:1024px){.lg\:h-12{height:3rem}.lg\:w-12{width:3rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-5xl{font-size:2.5rem}}