@font-face{font-family:AtlasSans;src:local(Inter),local(SF Pro Display),local(Segoe UI);font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}html[data-motion=paused] *{animation-play-state:paused!important}body{background:var(--bg);color:var(--text);letter-spacing:-.01em;margin:0;font-family:AtlasSans,system-ui,sans-serif;line-height:1.55;transition:background .25s,color .25s}html[data-theme=dark]{--bg:#07100f;--panel:#0d1817;--panel2:#132321;--text:#eef9f5;--muted:#9ab3ac;--line:#24423c;--mint:#71f4c8;--violet:#a88bff;--ink:#07100f;--shadow:#0000005c}html[data-theme=light]{--bg:#edf4ef;--panel:#fff;--panel2:#e4ece7;--text:#10201c;--muted:#597068;--line:#bfd0c9;--mint:#087d61;--violet:#6547ce;--ink:#fff;--shadow:#17372c1f}body:before{content:"";pointer-events:none;opacity:.025;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}a:hover{color:var(--mint)}button,input{font:inherit}.skip{background:var(--mint);color:#07100f;z-index:99;padding:12px 18px;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--mint);outline-offset:4px}.site-header{z-index:15;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);justify-content:space-between;align-items:center;height:76px;padding:0 clamp(18px,4vw,64px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;font-weight:750;line-height:1.05;display:flex}.brand small{color:var(--muted);margin-top:4px;font-size:.68rem;font-weight:500;display:block}.brand-mark{border:1px solid var(--mint);width:40px;height:40px;color:var(--mint);letter-spacing:.12em;border-radius:50%;place-items:center;font-size:.72rem;display:grid}.site-header nav{align-items:center;gap:24px;font-size:.88rem;display:flex}.icon-btn{background:var(--panel);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:50%;width:38px;height:38px}.hero,.atlas,.compare,.prompt-lab,.faq,.detail,.overview,.prose{max-width:1360px;margin:auto;padding-left:clamp(18px,5vw,80px);padding-right:clamp(18px,5vw,80px)}.hero{min-height:calc(100vh - 76px);padding-top:9vh;padding-bottom:8vh;position:relative;overflow:hidden}.hero:after{content:"";background:radial-gradient(circle,color-mix(in srgb,var(--violet) 24%,transparent),transparent 68%);pointer-events:none;border-radius:50%;width:42vw;height:42vw;position:absolute;top:-12vw;right:-12vw}.eyebrow{letter-spacing:.17em;color:var(--mint);margin-bottom:16px;font-size:.72rem;font-weight:800}.hero h1,.detail h1{letter-spacing:-.075em;max-width:1100px;margin:.05em 0 .18em;font-size:clamp(3.7rem,9vw,9rem);line-height:.88}.hero h1 em{color:var(--violet);font-family:Georgia,serif;font-weight:400}.lede{max-width:760px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.45rem)}.lede.zh{max-width:680px;font-size:1rem}.hero-actions,.detail-actions{flex-wrap:wrap;gap:10px;margin:28px 0;display:flex}.button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;padding:12px 17px}.button.primary{background:var(--mint);color:#07100f;border-color:var(--mint);font-weight:750}.hero-diagram{max-width:880px;margin:52px auto 0}.sticky-tools{z-index:14;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:14px clamp(18px,4vw,64px);display:flex;position:sticky;top:76px;overflow:auto}.search{border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;gap:8px;min-width:260px;padding:9px 15px;display:flex}.search input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.filters{gap:7px;display:flex}.filters button{white-space:nowrap;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:7px 11px}.filters button small{display:none}.filters button.active{background:var(--mint);color:#07100f}.shortcuts{white-space:nowrap;color:var(--muted);margin-left:auto;font-size:.75rem}kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 5px}.atlas,.compare,.faq{padding-top:110px;padding-bottom:110px}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px;display:flex}.section-head h2,.prompt-lab h2,.faq h2,.facts h2,.related h2,.prose h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,5vw,5rem);line-height:1}.section-head p{color:var(--muted)}.card-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.tech-card{background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 46px var(--shadow);border-radius:26px;transition:transform .25s,border-color .25s;overflow:hidden}.tech-card:hover{border-color:var(--mint);transform:translateY(-5px)}.tech-card[hidden]{display:none}.card-top{z-index:2;justify-content:space-between;height:0;padding:18px;display:flex;position:relative}.number{font-variant-numeric:tabular-nums;color:var(--mint);font-size:.72rem;font-weight:800}.favorite{background:color-mix(in srgb,var(--bg) 65%,transparent);color:var(--text);cursor:pointer;border:0;border-radius:50%;width:32px;height:32px}.favorite.active{color:#ffd96a}.card-copy{padding:18px 22px 24px}.family{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.card-copy h3{margin:8px 0 10px;font-size:1.65rem;line-height:1}.card-copy h3 small,.detail h1 small,.related small,.overview small{color:var(--muted);margin-top:7px;font-size:.72em;font-weight:500;display:block}.card-copy p{color:var(--muted);min-height:3.1em}.chips{flex-wrap:wrap;gap:7px;display:flex}.chips span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:.7rem}.card-links{justify-content:space-between;margin-top:20px;font-size:.78rem;font-weight:700;display:flex}.diagram{margin:0}.diagram svg{width:100%;height:auto;display:block}.diagram figcaption{color:var(--muted);text-align:right;padding:7px 12px;font-size:.62rem}.stage{fill:var(--panel2);stroke:var(--line)}.grid path{stroke:var(--line);stroke-width:1px;fill:none}.tower{fill:color-mix(in srgb,var(--violet) 18%,var(--panel));stroke:var(--violet)}.sun{fill:var(--mint);opacity:.7}.road{fill:color-mix(in srgb,var(--mint) 9%,transparent)}.subject{stroke:var(--mint);stroke-width:8px;stroke-linecap:round;fill:var(--panel);transform-origin:320px 220px}.camera{fill:var(--violet);stroke:var(--violet)}.lens-cone{opacity:.13}.motion-path,.arc-path{fill:none;stroke:var(--mint);stroke-width:4px;stroke-dasharray:.12 .06;stroke-dashoffset:1px}.arc-path{display:none}.focus-near,.focus-far{fill:none;stroke:var(--mint);stroke-width:3px;display:none}.timeline,.wipe,.speed-lines{display:none}.framing{fill:none;stroke:var(--muted);opacity:.25}.diagram-label{fill:var(--text);font-size:20px;font-weight:800}.diagram-meta{fill:var(--muted);letter-spacing:1.2px;font-size:9px}.diagram[data-kind=translation] .camera{animation:3.4s cubic-bezier(.65,0,.35,1) infinite alternate travel}.diagram[data-kind=translation] .motion-path{animation:3s linear infinite dash}.diagram[data-kind=rotation] .world{animation:3.4s ease-in-out infinite alternate panworld}.diagram[data-tech=tilt] .world{animation:3s ease-in-out infinite alternate tiltworld}.diagram[data-tech=dutch-angle] .world,.diagram[data-tech=dutch-angle] .subject{transform-origin:320px 210px;animation:3s ease-in-out infinite alternate roll}.diagram[data-kind=orbit] .arc-path{animation:2.6s linear infinite dash;display:block}.diagram[data-kind=orbit] .camera{transform-origin:320px 220px;animation:4s linear infinite orbit}.diagram[data-kind=lens] .framing{animation:3s ease-in-out infinite alternate zoom}.diagram[data-tech=dolly-zoom] .world{transform-origin:320px 220px;animation:3s ease-in-out infinite alternate dollyzoom}.diagram[data-tech=rack-focus] .focus-near,.diagram[data-tech=rack-focus] .focus-far{display:block}.diagram[data-tech=rack-focus] .focus-near{animation:3s infinite alternate focusA}.diagram[data-tech=rack-focus] .focus-far{animation:3s infinite alternate focusB}.diagram[data-kind=handheld] svg{animation:2.2s steps(9,end) infinite shake}.diagram[data-kind=time] .subject{animation:3s cubic-bezier(.2,.8,.3,1) infinite timepulse}.diagram[data-kind=time] .timeline{fill:var(--line);stroke:var(--mint);display:block}.diagram[data-kind=time] .playhead{animation:3s linear infinite playhead}.diagram[data-kind=edit] .wipe{fill:var(--violet);opacity:.22;animation:3s ease-in-out infinite wipe;display:block}.diagram[data-tech=whip-pan] .speed-lines{stroke:var(--mint);stroke-width:8px;animation:2s ease-in-out infinite whip;display:block}.diagram[data-kind=audio] .timeline{display:block}.diagram[data-kind=audio] .clip-a{fill:var(--violet)}.diagram[data-kind=audio] .clip-b{fill:var(--mint)}.diagram[data-kind=audio] .playhead{stroke:var(--text);animation:3s linear infinite playhead}.diagram.compact .diagram-label{font-size:18px}@keyframes travel{to{transform:translate(250px,-32px)}}@keyframes dash{to{stroke-dashoffset:0}}@keyframes panworld{to{transform:translate(-86px)}}@keyframes tiltworld{to{transform:translateY(46px)}}@keyframes roll{to{transform:rotate(18deg)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes zoom{to{transform-origin:320px 196px;transform:scale(.55)}}@keyframes dollyzoom{to{transform:scale(1.25)}}@keyframes focusA{to{opacity:.1;transform-origin:236px 244px;transform:scale(.7)}}@keyframes focusB{0%{opacity:.1;transform-origin:482px 162px;transform:scale(.7)}}@keyframes shake{0%,to{transform:none}25%{transform:translate(3px,-2px)rotate(.4deg)}50%{transform:translate(-2px,2px)rotate(-.3deg)}75%{transform:translate(1px,3px)}}@keyframes timepulse{0%,35%{transform:translate(-20px)}50%,to{transform:translate(55px)}}@keyframes playhead{0%{transform:translate(-220px)}to{transform:translate(220px)}}@keyframes wipe{0%{transform:translate(-200px)}to{transform:translate(700px)}}@keyframes whip{0%,35%,to{opacity:0;transform:translate(-80px)}50%,70%{opacity:1;transform:translate(250px)}}.compare{background:var(--panel2);max-width:none;padding-left:max(clamp(18px,5vw,80px),50vw - 600px);padding-right:max(clamp(18px,5vw,80px),50vw - 600px)}.compare-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.compare-grid article{background:var(--panel);padding:34px}.compare-grid h3{font-size:1.6rem}.compare-grid h3 span{color:var(--violet);font-family:Georgia,serif;font-style:italic}.compare-grid p{color:var(--muted)}.compare-grid a{color:var(--mint);font-weight:750}.prompt-lab{grid-template-columns:1fr 1fr;align-items:center;gap:8vw;padding-top:120px;padding-bottom:120px;display:grid}.prompt-lab p{color:var(--muted);font-size:1.1rem}.prompt-lab blockquote,.prompt-card blockquote{background:var(--mint);color:#07100f;border-radius:28px;margin:0;padding:34px;font:1.25rem/1.5 Georgia,serif;position:relative}.copy{cursor:pointer;color:inherit;background:0 0;border:1px solid;border-radius:999px;margin-top:22px;padding:8px 12px;display:block}.faq{max-width:980px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:1.15rem;font-weight:750}.faq details p{color:var(--muted);max-width:760px}.detail{padding-top:38px;padding-bottom:80px}.breadcrumbs{color:var(--muted);gap:9px;font-size:.78rem;display:flex}.detail-hero{grid-template-columns:1fr .9fr;align-items:center;gap:6vw;padding:70px 0;display:grid}.detail h1{font-size:clamp(3.4rem,7vw,7rem)}.detail h1 small{letter-spacing:0;font-size:.28em}.answer{color:var(--muted);max-width:680px;font-size:clamp(1.15rem,2vw,1.5rem)}.facts{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.facts article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:42px}.facts article>span{color:var(--mint);font-size:.7rem}.facts h2{margin:12px 0;font-size:2rem}.facts p{color:var(--muted)}.compare-note{font-size:.86rem}.prompt-card{grid-template-columns:1fr 1.2fr;align-items:center;gap:6vw;padding:100px 0;display:grid}.prompt-card h2{font-size:clamp(2rem,4vw,4rem);line-height:1}.related{padding:60px 0}.related>div{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.related a{border:1px solid var(--line);border-radius:18px;flex-direction:column;padding:20px;display:flex}.prev-next{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;padding-top:32px;display:grid}.prev-next a{flex-direction:column;display:flex}.prev-next a:last-child{text-align:right}.prev-next small{color:var(--muted)}.overview,.prose{max-width:1000px;padding-top:90px;padding-bottom:100px}.overview h1,.prose h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.95}.overview>p,.prose .answer{color:var(--muted);font-size:1.25rem}.overview ol{margin-top:50px;padding:0;list-style:none}.overview li{border-top:1px solid var(--line);grid-template-columns:60px 1fr;padding:20px 0;display:grid}.overview li>span{color:var(--mint)}.overview li b{font-size:1.3rem}.overview li p{color:var(--muted)}.prose{font-size:1.05rem}.prose h2{margin-top:52px;font-size:2rem}.prose p,.prose li{color:var(--muted)}.prose a{text-decoration:underline}.not-found{text-align:center;place-content:center;min-height:70vh;display:grid}.not-found>span{color:var(--mint);font-size:8rem;font-weight:900}.not-found h1{margin:0;font-size:3rem}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:44px clamp(18px,5vw,80px);font-size:.8rem;display:flex}@media (width<=980px){.card-grid{grid-template-columns:repeat(2,1fr)}.detail-hero,.prompt-card,.prompt-lab,.compare-grid{grid-template-columns:1fr}.site-header nav>a,.shortcuts{display:none}}@media (width<=620px){.hero{padding-top:55px}.hero h1{font-size:3.8rem}.card-grid,.facts{grid-template-columns:1fr}.facts article{padding:28px}.related>div{grid-template-columns:1fr}.section-head{display:block}.sticky-tools{display:block;top:76px}.filters{margin-top:10px;overflow:auto}.search{min-width:100%}.detail-hero{padding-top:42px}.detail h1{font-size:3.4rem}.site-header{height:68px}.sticky-tools{top:68px}.site-header nav{gap:8px}footer{display:block}.prompt-lab,.atlas,.compare,.faq{padding-top:72px;padding-bottom:72px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.compare-add{color:var(--mint);cursor:pointer;background:0 0;border:0;margin-top:15px;padding:0;font-weight:700}.compare-tray{z-index:30;background:var(--text);color:var(--bg);box-shadow:0 12px 40px var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.compare-tray button{cursor:pointer;border:0;border-radius:999px;padding:6px 10px}.compare-modal{background:var(--panel);width:min(900px,92vw);color:var(--text);border:1px solid var(--line);border-radius:24px;padding:24px}.compare-modal::backdrop{background:#000b}.compare-modal>button{float:right;color:var(--text);background:0 0;border:0;font-size:2rem}.compare-modal>div{grid-template-columns:1fr 1fr;gap:20px;display:grid}.compare-modal article{padding:20px}.compare-modal .compare-add{display:none}@media (width<=620px){.compare-modal>div{grid-template-columns:1fr}.compare-tray span{display:none}}
