*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);overflow-x:clip}a{color:inherit;text-decoration:none}p{margin:0}.site-header{height:82px;padding:0 var(--page-pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);font-size:.75rem;font-weight:650;letter-spacing:.02em}.site-header nav{display:flex;gap:2.2rem}.site-header a{white-space:nowrap}.site-header a:hover,.site-header a:focus-visible{color:var(--blue)}a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.hero{height:958px;position:relative;padding:56px var(--page-pad);isolation:isolate}.hero-field{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.hero-field::before{content:"";position:absolute;right:4%;top:35px;width:31%;height:420px;border-left:1px solid color-mix(in oklch,var(--rule),transparent 35%);border-bottom:1px solid color-mix(in oklch,var(--rule),transparent 35%);background:repeating-linear-gradient(90deg,transparent 0 47px,color-mix(in oklch,var(--rule),transparent 67%) 48px),repeating-linear-gradient(0deg,transparent 0 47px,color-mix(in oklch,var(--rule),transparent 67%) 48px);mask-image:linear-gradient(to bottom,var(--ink),transparent)}.hero-field span{position:absolute;color:var(--muted);font:600 .58rem/1 var(--font-body);letter-spacing:.08em}.hero-field span:first-child{right:29%;top:52px}.hero-field span:nth-child(2){right:6%;top:435px}.hero-field i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px color-mix(in oklch,var(--blue),transparent 82%)}.hero-field i:nth-of-type(1){right:17%;top:176px}.hero-field i:nth-of-type(2){right:30%;top:354px}.hero-field i:nth-of-type(3){right:8%;top:290px}.hero-title{position:absolute;left:var(--page-pad);top:52px;font:750 clamp(4rem,7.65vw,6.875rem)/1.04 var(--font-display);letter-spacing:-.055em}.hero-title span{display:block}.hero-title span:nth-child(2){margin-left:13vw}.hero-intro{position:absolute;top:100px;right:7.7%;font-size:1.3rem}.hero-intro p{margin-top:1.7rem;color:var(--muted);font-size:.75rem}.identity-mark{position:absolute;left:var(--page-pad);top:488px}.signal{position:absolute;right:7.7%;top:488px}.signal span,.eyebrow{display:block;color:var(--blue);font-size:.7rem;font-weight:700;letter-spacing:.02em}.signal strong{display:block;margin-top:1.5rem;font-size:1.15rem}.system-map{position:absolute;left:23%;top:508px;width:538px;height:332px;background:color-mix(in oklch,var(--white),transparent 7%);border:1px solid var(--rule);box-shadow:18px 18px 0 var(--blue-soft);backdrop-filter:blur(6px)}.system-map::before{content:"SYSTEM / 00—05";position:absolute;left:14px;top:12px;color:var(--muted);font:600 .56rem/1 var(--font-body);letter-spacing:.08em}.node{position:absolute;width:140px;height:54px;padding:19px 17px;background:var(--paper);border:1px solid var(--rule);font-size:.7rem;font-weight:700}.node.input{left:25px;top:41px}.node.context{right:44px;top:37px}.node.agent{left:205px;top:134px;background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.node.tools{left:43px;bottom:25px}.node.evaluate{right:29px;bottom:27px}.link{position:absolute;background:var(--blue);transform-origin:left}.link-top{left:165px;top:68px;width:189px;height:1px}.link-in{left:275px;top:95px;width:1px;height:39px}.link-left{left:182px;top:161px;width:23px;height:1px}.link-right{left:345px;top:161px;width:23px;height:1px}.link-bottom{left:275px;top:188px;width:1px;height:39px}.ticker{height:74px;padding:25px var(--page-pad);background:var(--ink);color:var(--white);font-size:1rem;font-weight:650;word-spacing:.5rem;white-space:nowrap;overflow:hidden}.ticker span{display:inline-block;transition:color var(--dur-fast)}.ticker span:hover{color:var(--blue)}
.project{height:1320px;position:relative;padding:58px var(--page-pad)}.project::before{content:"FEATURED / CASE STUDY";position:absolute;right:-62px;top:510px;color:var(--muted);font:650 .62rem/1 var(--font-body);letter-spacing:.18em;writing-mode:vertical-rl;transform:rotate(180deg)}.project-number{position:absolute;right:8%;top:8px;font-size:5.75rem;font-weight:750}.project-copy{position:absolute;left:var(--page-pad);top:120px;width:31%}.project h2{margin:0;font-size:4rem;line-height:1.14;letter-spacing:-.04em}.project-copy>p{margin-top:2.2rem;color:var(--muted);line-height:1.65}.project-copy small{display:block;margin-top:9rem;font-weight:650}.project-copy>a{display:inline-block;margin-top:2.3rem;color:var(--blue);font-size:.85rem;font-weight:700}.project-shot{position:absolute;left:36%;top:120px;width:57%;height:618px;margin:0;border:1px solid var(--ink);background:var(--blue);box-shadow:18px 18px 0 var(--ink);overflow:hidden;transition:transform var(--dur-fast) var(--ease-out)}.project-shot:hover{transform:translate(-4px,-4px)}.product-ui{position:absolute;inset:22px 22px 38px;display:grid!important;height:auto!important;place-items:stretch!important;grid-template:58px 1fr 42px/70px 1fr 185px;background:var(--white);color:var(--ink)!important;border:1px solid var(--ink);font-size:.64rem!important}.product-ui header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--rule);font-weight:700;letter-spacing:.08em}.product-ui header b{padding:7px 9px;background:var(--ink);color:var(--white)}.product-ui>aside{display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:28px;border-right:1px solid var(--rule)}.product-ui>aside i{width:15px;height:15px;border:1px solid var(--ink);border-radius:50%}.product-ui>aside i:nth-child(2){background:var(--blue);border-color:var(--blue)}.product-ui>aside small{margin-top:auto;margin-bottom:20px;writing-mode:vertical-rl}.ui-main{padding:38px 34px}.ui-main>small,.ui-score small{color:var(--blue);font-weight:700}.ui-main h3{margin:9px 0 30px;font-size:1.7rem;line-height:1.12;letter-spacing:-.04em}.ui-flow{display:flex!important;height:auto!important;align-items:center!important;justify-content:space-between;border-block:1px solid var(--rule);padding:15px 0;color:var(--ink)!important}.ui-flow span{padding:8px;background:var(--paper);border:1px solid var(--rule);font-weight:700}.ui-log{display:block!important;height:auto!important;margin-top:28px}.ui-log i{display:block;width:100%;height:8px;margin-top:13px;background:var(--rule)}.ui-log i:nth-child(2){width:78%}.ui-log i:nth-child(3){width:91%}.ui-log i:nth-child(4){width:54%;background:var(--blue)}.ui-score{padding:38px 20px;border-left:1px solid var(--rule)}.ui-score strong{display:block;margin:16px 0 30px;font-size:2.2rem}.ui-score i{display:block;height:5px;margin:14px 0;background:var(--rule)}.ui-score i:first-of-type{width:86%;background:var(--blue)}.ui-score i:nth-of-type(2){width:68%}.ui-score i:nth-of-type(3){width:92%;background:var(--ink)}.product-ui>footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;min-height:auto;margin:0;padding:0 18px;background:var(--ink);color:var(--white);font-size:.58rem}.project-shot figcaption{position:absolute;left:24px;bottom:13px;color:var(--white);font-size:.58rem;font-weight:700;letter-spacing:.12em}.project-note{position:absolute;left:29.5%;top:674px;width:380px;height:146px;padding:18px;background:var(--white);border:1px solid var(--ink)}.project-note span{color:var(--blue);font-size:.7rem;font-weight:700}.project-note p{margin-top:1.5rem;font-size:.85rem;line-height:1.55}.experiments{position:absolute;left:var(--page-pad);right:var(--page-pad);top:904px;border-top:1px solid var(--rule);padding-top:43px}.experiments>.eyebrow{margin-bottom:28px}.experiments a{display:grid;grid-template-columns:16% 1fr auto;align-items:center;min-height:74px;border-bottom:1px solid var(--rule);transition:padding var(--dur-fast),background var(--dur-fast)}.experiments a:hover{padding-inline:14px;background:var(--white)}.experiments time,.experiments span{color:var(--muted);font-size:.7rem}.experiments strong{font-size:1.25rem}.experiments .running{color:var(--blue)}
.manifesto{min-height:760px;position:relative;padding:62px var(--page-pad);background:var(--ink);color:var(--white);overflow:hidden}.manifesto::after{content:"EVIDENCE";position:absolute;right:-.04em;bottom:-.22em;color:color-mix(in oklch,var(--white),transparent 94%);font:750 clamp(7rem,17vw,15rem)/1 var(--font-display);letter-spacing:-.08em}.manifesto-orbit{position:absolute;right:4%;top:42px;width:360px;height:360px;opacity:.8}.manifesto-orbit i{position:absolute;inset:0;border:1px solid color-mix(in oklch,var(--blue),transparent 25%);border-radius:50%}.manifesto-orbit i:nth-child(2){inset:54px}.manifesto-orbit i:nth-child(3){inset:108px}.manifesto-orbit span{position:absolute;inset:0;display:grid;place-items:center;color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.2em}.manifesto .eyebrow{color:oklch(68% .16 265)}.manifesto h2{position:relative;z-index:1;margin:3.3rem 0 7rem;font-size:clamp(2.5rem,4vw,3.375rem);line-height:1.3;letter-spacing:-.035em}.manifesto ol{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:5rem 15%;padding:0;list-style:none}.manifesto li{font-size:1.1rem}.manifesto i{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:1.25rem;border:1px solid var(--blue);border-radius:50%;font-size:.62rem;font-style:normal}
.notes{min-height:1040px;padding:62px var(--page-pad)}.notes h2{margin:2.2rem 0 3.5rem;font-size:2.75rem;line-height:1.3;letter-spacing:-.035em}.note-list a{display:grid;grid-template-columns:10% 16% 1fr auto;align-items:center;min-height:84px;border-bottom:1px solid var(--rule);transition:padding var(--dur-fast),color var(--dur-fast)}.note-list a:hover{padding-inline:14px;color:var(--blue)}.note-list time{color:var(--muted);font-size:.75rem}.note-list small{color:var(--blue);font-weight:700}.note-list strong{font-size:1.25rem}.motion-path{margin-top:5.7rem}.motion-path ol{display:grid;grid-template-columns:repeat(6,1fr);margin:4rem 0 2.6rem;padding:0;list-style:none}.motion-path li{position:relative;padding-top:4rem;font-size:.68rem;font-weight:700}.motion-path li::before{content:"";position:absolute;top:12px;left:0;width:24px;height:24px;border:1px solid var(--rule);border-radius:50%;background:var(--white);z-index:1}.motion-path li::after{content:"";position:absolute;top:24px;left:24px;width:calc(100% - 24px);height:1px;background:var(--rule);transform:scaleX(0);transform-origin:left;transition:transform 700ms var(--ease-out)}.motion-path.active li::after{transform:scaleX(1)}.motion-path.active li:nth-child(-n+3)::before{background:var(--blue);border-color:var(--blue)}.motion-path li:nth-child(3)::before{width:52px;height:52px;top:-2px}.motion-path>p:last-child{color:var(--muted);font-size:.78rem}
footer{min-height:560px;margin:0 var(--page-pad);padding-top:4.7rem;border-top:1px solid var(--ink)}footer h2{margin:0;font-size:clamp(3.3rem,5vw,4.4rem);letter-spacing:-.04em}footer>p{margin-top:1.4rem;color:var(--muted)}.button{display:inline-flex;align-items:center;min-height:46px;margin-top:3.2rem;padding:0 1.9rem;border-radius:2rem;background:var(--ink);color:var(--white);font-size:.8rem;font-weight:700;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out)}.button:hover{transform:translateY(-2px)}footer>div{display:flex;justify-content:space-between;margin-top:8.7rem;padding:2rem 0;border-top:1px solid var(--rule);font-size:.7rem;font-weight:700}
.reveal{opacity:1;transform:none}.system-map.visible .link{animation:draw 800ms 250ms var(--ease-out) both}.running{position:relative}.running::before{content:"";position:absolute;left:-14px;top:3px;width:7px;height:7px;border-radius:50%;background:var(--blue);animation:pulse 2.2s ease-in-out infinite}@keyframes draw{from{transform:scaleX(0)}}@keyframes pulse{50%{opacity:.35}}
@media(max-width:800px){.site-header{height:68px}.site-header nav{gap:1rem}.site-header nav a:nth-child(2),.site-header nav a:nth-child(4){display:none}.hero{height:920px}.hero-field::before{right:-25%;width:80%;height:360px}.hero-field span{display:none}.hero-title{top:55px;font-size:clamp(3.2rem,15vw,5.2rem)}.hero-title span:nth-child(2){margin-left:8vw}.hero-intro{left:var(--page-pad);right:auto;top:390px}.identity-mark{top:520px}.signal{left:55%;right:auto;top:530px}.system-map{left:var(--page-pad);top:650px;width:calc(100% - var(--page-pad)*2);height:230px;box-shadow:9px 9px 0 var(--blue-soft)}.system-map .node{transform:scale(.78);transform-origin:top left}.node.context{right:-18px}.node.agent{left:36%;top:90px}.node.tools{left:0;bottom:8px}.node.evaluate{right:-18px;bottom:8px}.link{display:none}.ticker{font-size:.7rem}.project{height:auto;min-height:1370px}.project::before{display:none}.project-number{font-size:4.5rem}.project-copy{position:relative;left:auto;top:70px;width:75%}.project h2{font-size:3.2rem}.project-copy small{margin-top:3rem}.project-shot{left:var(--page-pad);top:520px;width:calc(100% - var(--page-pad)*2);height:430px;box-shadow:9px 9px 0 var(--ink)}.product-ui{inset:12px 12px 30px;grid-template:46px 1fr 34px/48px 1fr}.product-ui header{padding:0 10px}.product-ui>aside{gap:12px;padding-top:18px}.product-ui>aside i{width:11px;height:11px}.ui-main{padding:24px 18px}.ui-main h3{font-size:1.2rem}.ui-flow{gap:4px}.ui-flow span{padding:6px 4px}.ui-score{display:none}.product-ui>footer{font-size:.48rem;padding:0 8px}.product-ui>footer span:nth-child(2){display:none}.project-note{left:12%;top:900px;width:78%}.experiments{top:1080px}.experiments a{grid-template-columns:22% 1fr}.experiments a span{display:none}.experiments strong{font-size:.95rem}.manifesto{min-height:780px}.manifesto-orbit{right:-150px;top:50px}.manifesto ol{grid-template-columns:1fr;gap:2.2rem}.notes{padding-bottom:7rem}.note-list a{grid-template-columns:18% 1fr auto}.note-list small{display:none}.note-list strong{font-size:.95rem}.motion-path{overflow:hidden}.motion-path ol{width:850px}.motion-path>p:last-child{max-width:85%}footer>div{align-items:flex-start;gap:2rem}footer>div span:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.system-map .link,.running::before{animation:none}.project-shot,.button{transition:none}.motion-path li::after{transform:scaleX(1);transition:none}}

/* Final restraint pass: distinctive display type, stable hover geometry. */
.hero-title,.project h2,.manifesto h2,.notes h2,footer h2{min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-weight:700}
.manifesto .eyebrow{color:var(--blue-light)}
.experiments a{transition:background-color var(--dur-fast),color var(--dur-fast)}
.experiments a:hover{padding-inline:0;color:var(--blue)}
.note-list a{transition:color var(--dur-fast)}
.note-list a:hover{padding-inline:0}

/* Article and case-study pages */
.content-page{background:var(--paper)}
.content-shell{width:min(calc(100% - var(--page-pad) - var(--page-pad)),960px);margin:0 auto;padding:4.5rem 0 8rem}
.content-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:4rem;color:var(--muted);font-size:.75rem;font-weight:700}
.content-back:hover{color:var(--blue)}
.content-hero{position:relative;padding-bottom:4rem;border-bottom:1px solid var(--ink)}
.content-hero::after{content:"";position:absolute;right:0;top:0;width:80px;height:80px;border:1px solid var(--blue);border-radius:50%;box-shadow:inset 0 0 0 20px var(--paper),inset 0 0 0 21px var(--blue)}
.content-hero h1{max-width:850px;margin:1.5rem 0;font:700 clamp(3.2rem,6vw,5.6rem)/1.02 var(--font-display);letter-spacing:-.055em;text-wrap:balance;overflow-wrap:anywhere}
.content-description{max-width:650px;color:var(--muted);font-size:1.15rem;line-height:1.7}
.content-meta{display:flex;justify-content:space-between;gap:2rem;margin-top:4rem;color:var(--muted);font-size:.72rem;font-weight:700}
.prose{max-width:720px;margin:6rem auto 0;font-size:1.05rem;line-height:1.9;overflow-wrap:anywhere}
.prose h2{margin:4.2rem 0 1.1rem;font:700 2rem/1.2 var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere}
.prose p{margin:1.3rem 0}.prose strong{color:var(--blue)}
.prose pre{max-width:100%;overflow-x:auto}
.prose pre code{overflow-wrap:normal;word-break:normal}
.prose code{overflow-wrap:anywhere;word-break:break-word}
.prose table{display:block;max-width:100%;overflow-x:auto}
.prose>p:has(img){width:min(960px,calc(100vw - var(--page-pad) - var(--page-pad)));margin:4rem 0 1rem 50%;transform:translateX(-50%)}
.prose img{display:block;width:100%;height:auto;border:1px solid var(--ink);background:var(--white)}
.prose>p:has(img)+p>em:only-child{display:block;margin-top:-.35rem;color:var(--muted);font-size:.76rem;line-height:1.55;font-style:normal;letter-spacing:.015em}
.content-footer{min-height:auto;margin:0 var(--page-pad);padding:2rem 0;display:flex;justify-content:space-between;border-top:1px solid var(--ink);font-size:.72rem;font-weight:700}
@media(max-width:800px){.content-shell{padding-top:2.5rem}.content-back{margin-bottom:4rem}.content-hero::after{width:50px;height:50px;opacity:.45}.content-hero h1{font-size:3.2rem}.content-meta{align-items:flex-start;flex-direction:column}.prose{margin-top:4rem}.content-footer{gap:2rem}}

/* The avatar keeps the source model's eyes. Three.js only moves the pupil pivots. */
.hero-avatar{height:clamp(690px,calc(100dvh - 82px),980px);min-height:690px;overflow:hidden;cursor:grab;background:color-mix(in oklch,var(--paper) 94%,var(--avatar-surface))}.hero-avatar[data-interacting="true"]{cursor:grabbing}.hero-avatar .hero-field{z-index:0}.hero-avatar .hero-title{z-index:1;top:6%;font-size:var(--text-display);line-height:1.02;pointer-events:none}.hero-avatar .hero-title span:nth-child(2){margin-left:8.5vw}.hero-avatar .hero-title span:nth-child(3){margin-left:2vw}.hero-avatar .hero-intro{z-index:4;top:auto;right:auto;bottom:7%;left:var(--page-pad);max-width:29rem}.hero-avatar .hero-intro strong{font-size:var(--text-md);line-height:1.45}.hero-avatar .hero-intro p{font-size:var(--text-sm);letter-spacing:.035em}.hero-avatar .identity-mark{z-index:4;top:auto;bottom:24%;width:132px;height:auto}.hero-avatar .signal{z-index:4;top:auto;right:var(--page-pad);bottom:7%;text-align:right}.avatar-stage{position:absolute;z-index:3;top:0;right:2vw;bottom:0;width:min(62vw,920px);margin:0;touch-action:pan-y;isolation:isolate}.avatar-stage::before{content:"";position:absolute;z-index:-1;right:7%;bottom:4%;width:68%;height:18%;border-bottom:var(--rule-hair) solid var(--rule);background:linear-gradient(to right,transparent,var(--avatar-surface));transform:skewX(-18deg)}.avatar-canvas,.avatar-poster{position:absolute;inset:0;width:100%;height:100%}.avatar-canvas{display:block;outline:none;filter:saturate(.9) contrast(1.08)}.avatar-canvas:focus-visible{outline:2px solid var(--blue);outline-offset:-8px}.avatar-poster{object-fit:contain;filter:saturate(.82) contrast(1.14) brightness(.82);transition:opacity 220ms var(--ease-in);pointer-events:none}.avatar-stage[data-state="ready"] .avatar-poster{opacity:0}.avatar-stage[data-state="fallback"] .avatar-canvas{display:none}.avatar-guide{position:absolute;right:0;bottom:var(--space-xl);display:flex;gap:var(--space-xl);align-items:center;color:var(--avatar-ink-soft);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em}.avatar-guide span:first-child{color:var(--blue)}.avatar-eye-note{position:absolute;z-index:4;right:var(--page-pad);top:49%;margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;writing-mode:vertical-rl}.avatar-eye-note::before{content:"";display:block;width:1px;height:56px;margin:0 auto var(--space-sm);background:var(--blue)}

@media(max-width:1000px){.hero-avatar .hero-title{font-size:clamp(4rem,10.4vw,6.5rem)}.avatar-stage{right:-8vw;width:72vw}.hero-avatar .signal{display:none}.avatar-eye-note{display:none}}
@media(max-width:800px){.hero-avatar{height:900px;min-height:900px;cursor:default}.hero-avatar .hero-title{top:6%;font-size:clamp(3.4rem,15vw,5.1rem)}.hero-avatar .hero-title span:nth-child(2){margin-left:0}.hero-avatar .hero-title span:nth-child(3){margin-left:0}.avatar-stage{top:180px;right:-26%;bottom:120px;width:125vw}.avatar-guide{right:25%;bottom:var(--space-md)}.hero-avatar .hero-intro{bottom:4%;max-width:80%}.hero-avatar .identity-mark{display:none}}
@media(prefers-reduced-motion:reduce){.avatar-poster{transition:none}.avatar-guide span:last-child{display:none}}

/* 3D identity world — dark introduction, editorial content begins below. */
.home-page .site-header{position:absolute;z-index:200;top:0;left:0;width:100%;border-color:color-mix(in oklch,var(--hero-ink),transparent 78%);color:var(--hero-ink)}.home-page .site-header a:hover,.home-page .site-header a:focus-visible{color:var(--blue-light)}.home-page .hero-avatar{height:100dvh;min-height:720px;padding:0;background:var(--hero-night);color:var(--hero-ink);cursor:grab}.home-page .hero-avatar[data-interacting="true"]{cursor:grabbing}.home-page .hero-title{z-index:1;top:12%;left:3vw;color:color-mix(in oklch,var(--hero-ink),transparent 6%);font-size:clamp(6rem,15vw,14rem);line-height:.88;letter-spacing:-.075em}.home-page .hero-title span{display:block}.home-page .hero-title span:nth-child(2){margin:0 0 0 13vw}.hero-coordinate{position:absolute;z-index:5;top:105px;right:var(--page-pad);margin:0;color:var(--hero-muted);font-size:var(--text-xs);font-weight:700;line-height:1.65;letter-spacing:.11em;text-align:right}.avatar-atmosphere{position:absolute;z-index:0;inset:82px 0 0;background:repeating-linear-gradient(90deg,transparent 0 calc(8.333% - 1px),color-mix(in oklch,var(--hero-ink),transparent 94%) calc(8.333% - 1px) 8.333%);mask-image:linear-gradient(to bottom,transparent,var(--ink) 25%,transparent 88%)}.avatar-atmosphere::before,.avatar-atmosphere::after{content:"";position:absolute;left:50%;top:48%;border:1px solid color-mix(in oklch,var(--blue-light),transparent 72%);border-radius:50%;transform:translate(-50%,-50%)}.avatar-atmosphere::before{width:min(54vw,720px);aspect-ratio:1}.avatar-atmosphere::after{width:min(38vw,520px);aspect-ratio:1}.avatar-atmosphere i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--blue-light)}.avatar-atmosphere i:first-child{left:23%;top:40%}.avatar-atmosphere i:nth-child(2){right:18%;top:29%}.avatar-atmosphere i:nth-child(3){right:27%;bottom:18%}.home-page .avatar-stage{z-index:3;inset:4% 15vw 0;width:auto}.home-page .avatar-stage::before{right:17%;bottom:0;width:66%;height:13%;border:0;background:radial-gradient(ellipse at center,color-mix(in oklch,var(--hero-ink),transparent 76%),transparent 68%);transform:none}.home-page .avatar-canvas{z-index:2;filter:saturate(.92) contrast(1.13)}.home-page .avatar-poster{z-index:1;filter:saturate(.72) contrast(1.3) brightness(.68)}.home-page .avatar-guide{z-index:7;right:50%;bottom:7%;transform:translateX(50%);color:var(--hero-muted);white-space:nowrap}.home-page .avatar-guide span:first-child{color:var(--blue-light)}.interest-orbit{position:absolute;z-index:6;inset:0;pointer-events:none}.interest-tag{position:absolute;min-height:44px;padding:0 var(--space-md);border:1px solid color-mix(in oklch,var(--hero-ink),transparent 56%);border-radius:0;background:var(--hero-night);color:var(--hero-ink);font:700 var(--text-xs)/1 var(--font-body);letter-spacing:.08em;white-space:nowrap;pointer-events:auto;cursor:pointer;transition:transform 180ms var(--ease-out),background-color 180ms var(--ease-out),color 180ms var(--ease-out)}.interest-tag:hover{transform:translateY(-2px);background:var(--hero-ink);color:var(--hero-night)}.interest-tag:active{transform:translateY(0)}.interest-tag:focus-visible{outline:2px solid var(--blue-light);outline-offset:3px}.interest-tag:disabled{opacity:.55;cursor:not-allowed}.interest-tag[aria-pressed="true"]{border-color:var(--blue-light);color:var(--blue-light)}.interest-tag--agent{left:1%;top:27%}.interest-tag--photo{right:1%;top:22%}.interest-tag--jazz{left:3%;top:56%}.interest-tag--game{right:0;top:51%}.interest-tag--cats{right:11%;bottom:15%}.identity-panel{position:absolute;z-index:7;right:var(--page-pad);bottom:7%;width:min(26vw,360px);padding-top:var(--space-md);border-top:1px solid color-mix(in oklch,var(--hero-ink),transparent 56%);text-align:right}.identity-panel>span{color:var(--blue-light);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em}.identity-panel strong{display:block;margin-top:var(--space-sm);font:700 var(--text-md)/1.2 var(--font-display)}.identity-panel p{margin-top:var(--space-sm);color:var(--hero-muted);font-size:var(--text-sm);line-height:1.55}.home-page .hero-intro{z-index:7;top:auto;right:auto;bottom:7%;left:var(--page-pad);width:min(27vw,390px);color:var(--hero-ink);font-size:var(--text-md);font-weight:700;line-height:1.5}.hero-scroll{position:absolute;z-index:8;left:50%;bottom:2.4%;display:flex;gap:var(--space-sm);align-items:center;min-height:44px;color:var(--hero-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;white-space:nowrap;transform:translateX(-50%)}.hero-scroll:hover{color:var(--hero-ink)}.hero-scroll:active{color:var(--blue-light)}.hero-scroll:focus-visible{outline:2px solid var(--blue-light);outline-offset:4px}.home-page .ticker{border-top:4px solid var(--blue);background:var(--paper);color:var(--ink)}

@media(max-width:1000px){.home-page .hero-title{font-size:clamp(5rem,16vw,9rem)}.home-page .avatar-stage{inset:8% 3vw 0}.interest-tag--photo,.interest-tag--game{right:2%}.identity-panel{width:31vw}.home-page .hero-intro{width:30vw}}
@media(max-width:800px){.home-page .site-header{height:68px}.home-page .hero-avatar{height:900px;min-height:900px}.home-page .hero-title{top:10%;font-size:clamp(4rem,20vw,6.4rem);line-height:.94}.home-page .hero-title span:nth-child(2){margin-left:0}.hero-coordinate{display:none}.home-page .avatar-stage{inset:16% -22% 19%;width:auto}.interest-tag{display:none}.identity-panel{right:var(--page-pad);bottom:12%;width:55%;text-align:right}.home-page .hero-intro{bottom:12%;width:42%;font-size:var(--text-base)}.home-page .avatar-guide{bottom:5%}.hero-scroll{display:none}}
@media(prefers-reduced-motion:reduce){.interest-tag{transition:none}.interest-tag:hover{transform:none}}

/* Article navigation stays available on narrow screens. */
.content-page .site-header nav a{display:inline-flex;align-items:center;min-height:44px}
.content-topics{display:flex;flex-wrap:wrap;gap:8px 22px;padding-right:90px;font-size:.8rem;color:var(--blue);font-weight:650}
.content-topics a,.article-end a{display:inline-flex;align-items:center;min-height:44px}
.article-end{max-width:720px;margin:4rem auto 0;padding-top:24px;border-top:1px solid var(--rule);font-size:.85rem;color:var(--blue)}
@media(max-width:600px){.content-page .site-header{height:auto;min-height:68px;flex-wrap:wrap;gap:0 16px;padding-block:10px}.content-page .site-header .brand{font-size:.65rem}.content-page .site-header nav{gap:16px}.content-topics{padding-right:55px}}

/* Article typography: readable tables and discoverable inline links. */
.prose a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;overflow-wrap:anywhere}
.prose a:hover{text-decoration-thickness:2px}
.prose a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.prose table{display:block;width:100%;max-width:100%;margin:2rem 0;border-collapse:collapse;border-spacing:0;overflow-x:auto;font-size:.9rem;line-height:1.7;border-block:1px solid var(--rule);overscroll-behavior-x:contain}
.prose th,.prose td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);min-width:110px}
.prose th{font-weight:650;background:var(--blue-soft);color:var(--ink)}
.prose tbody tr:last-child td{border-bottom:0}
.prose tbody tr:nth-child(even){background:color-mix(in srgb,var(--white) 45%,transparent)}
.prose table:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.prose :not(pre)>code{font-size:.88em;padding:.12em .3em;background:color-mix(in srgb,var(--blue-soft) 45%,transparent);border-radius:3px}
.prose pre{margin:2rem 0;padding:20px 24px;border:1px solid var(--rule);background:var(--white);font-size:.85rem;line-height:1.75;tab-size:2;white-space:pre;overflow-wrap:normal}
@media(max-width:600px){.prose table{font-size:.82rem}.prose th,.prose td{min-width:140px;padding:11px 12px}.prose pre{padding:16px}}

/* Keep portrait evidence screenshots at their native reading width. */
.prose img[src*="/teachflow-student-discussion-cursor/"]{max-width:375px;margin-inline:auto}
