:root{color-scheme:dark;--bg:#101315;--fg:#edf0ec;--muted:#7f888a;--line:#ffffff16;--accent:#e7ac6c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;overflow:hidden;font-size:13px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:0;background:none}a{color:inherit;text-decoration:none}#viewport{position:fixed;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.grain{position:fixed;inset:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}header{position:fixed;top:0;left:0;width:100%;height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 46px;border-bottom:1px solid var(--line);z-index:3}.brand{display:flex;align-items:center;gap:15px;font-size:12px;letter-spacing:2px;font-weight:600}.brand svg{width:23px;fill:none;stroke:var(--accent);stroke-width:1.5}.brand-slash{color:var(--accent);margin:0 3px}.header-right{display:flex;align-items:center;gap:10px;font-size:11px;color:#a5adae;letter-spacing:1px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #e7ac6c33}.edition{margin-left:30px;padding-left:30px;border-left:1px solid var(--line);font-size:10px;letter-spacing:2px}.icon-button{width:27px;height:27px;border:1px solid #ffffff30;border-radius:50%;margin-left:20px;font-size:12px}.intro{position:fixed;left:46px;top:127px;pointer-events:none}.eyebrow{color:var(--accent);font-size:9px;letter-spacing:2.3px;display:flex;align-items:center;gap:10px}.tiny-line{height:1px;width:20px;background:var(--accent)}h1{font-size:clamp(64px,7.2vw,110px);line-height:.95;letter-spacing:-7px;margin:27px 0 15px;font-weight:800}.title-dot{color:var(--accent)}.subtitle{font-size:16px;letter-spacing:4px;font-weight:500}.subtitle span{color:#606769;margin:0 14px;font-weight:300}.intro-copy{color:#939b9c;font-size:12px;line-height:1.9;margin-top:25px;letter-spacing:1px}.spec-line{display:flex;gap:10px;align-items:center;color:#596467;letter-spacing:1px;font-size:8px;margin-top:24px}.spec-line i{height:3px;width:3px;background:#596467;border-radius:50%}.inspector{position:fixed;left:46px;top:430px;width:248px}.section-kicker{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8f9899;padding-bottom:15px;border-bottom:1px solid var(--line);letter-spacing:2px}.section-kicker span:last-child{font:9px monospace;color:#5e696d}.assembly-list{padding:6px 0}.assembly-row{width:100%;display:flex;align-items:center;gap:15px;padding:9px 0;text-align:left;color:#a0a7a7;font-size:11px;transition:color .2s}.assembly-row:hover,.assembly-row.selected{color:var(--accent)}.assembly-row .number{font:9px monospace;color:#5b676a}.assembly-row .arrow{margin-left:auto;font-size:15px;opacity:0;transform:translateX(-5px);transition:.2s}.assembly-row:hover .arrow,.assembly-row.selected .arrow{opacity:1;transform:translateX(0)}.part-detail{padding:15px 0 0;border-top:1px solid var(--line)}.detail-heading{display:flex;justify-content:space-between;font:8px monospace;color:#a3a9a8;letter-spacing:.5px}.detail-heading span:last-child{color:var(--accent)}.part-detail p{font-size:10px;line-height:1.8;color:#758084;margin:10px 0 0}.model-meta{position:fixed;right:45px;top:130px;display:flex;align-items:flex-end;flex-direction:column;gap:24px;pointer-events:none}.vertical-text{font-size:8px;color:#5f6a6e;letter-spacing:2px;writing-mode:vertical-rl}.model-tag{display:flex;align-items:center;gap:12px}.model-tag>span{font-size:32px;font-weight:200;color:#465255}.model-tag b{display:block;letter-spacing:1px;font-size:11px;font-weight:400}.model-tag small{display:block;font:7px monospace;letter-spacing:.5px;color:#6c787c;margin-top:7px}.tools{position:fixed;right:44px;top:50%;transform:translateY(-25%);display:flex;flex-direction:column;gap:9px}.tool{width:45px;height:54px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;border:1px solid transparent;border-radius:4px;color:#889497;transition:.2s}.tool:hover,.tool[aria-pressed=true]{background:#ffffff07;border-color:#ffffff1c;color:var(--accent)}.tool svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.2;fill:none}.tool span{font-size:9px;letter-spacing:1px}.drag-hint{position:fixed;bottom:231px;left:56%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;color:#758084;font-size:9px;letter-spacing:.7px;pointer-events:none;white-space:nowrap}.drag-hint svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2}.hint-divider{margin:0 9px;color:#465154}.console{position:fixed;bottom:0;left:0;width:100%;height:207px;padding:19px 46px 20px;border-top:1px solid #ffffff17;background:linear-gradient(180deg,#111719e8,#0d1215f9);backdrop-filter:blur(20px);z-index:3}.console-top{display:flex;align-items:center;justify-content:space-between}.timeline-label{display:flex;align-items:center;gap:10px}.timeline-label b{font-size:10px;letter-spacing:1px;font-weight:500}.stage-code{font:8px monospace;color:#69767b;margin-left:10px;letter-spacing:1px}.readout{font:22px monospace;font-weight:300}.readout small{font-size:10px;color:var(--muted);margin-left:4px}.timeline-wrap{display:flex;align-items:center;gap:25px;height:67px}.form-button{display:flex;align-items:center;gap:10px;color:#768386;font-size:10px;padding:7px 0;min-width:62px}.form-button.active{color:var(--accent)}.form-button svg{height:20px;width:26px;stroke:currentColor;fill:none;stroke-width:1.2}.timeline{flex:1;position:relative;margin-top:18px}.timeline input{display:block;width:100%;appearance:none;height:3px;background:linear-gradient(to right,var(--accent) var(--progress,100%),#ffffff15 var(--progress,100%));cursor:ew-resize;margin:0}.timeline input::-webkit-slider-thumb{appearance:none;background:#ffe0bb;width:8px;height:16px;border-radius:1px;box-shadow:0 0 12px #e7ac6c44}.timeline input::-moz-range-thumb{background:#ffe0bb;width:8px;height:16px;border:0}.timeline input:focus-visible{outline:2px solid #e7ac6c77;outline-offset:6px}.phase-ticks{display:flex;justify-content:space-between;font-size:8px;color:#647277;margin-top:12px;letter-spacing:1px}.phase-ticks span:before{content:'';position:absolute;top:-5px;width:1px;height:12px;background:#ffffff16;pointer-events:none}.console-bottom{display:flex;align-items:center;gap:24px;margin-top:13px}.transform{height:41px;padding:0 15px;background:var(--accent);color:#1a1d1d;display:flex;align-items:center;gap:11px;min-width:217px;font-size:11px;font-weight:600;letter-spacing:.4px;transition:background .2s}.transform:hover{background:#f4c38e}.transform svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.4}.transform kbd{margin-left:auto;font:7px monospace;border:1px solid #242b2844;padding:3px 4px;color:#5c5348}.play-options{display:flex;align-items:center;gap:19px}.secondary{font-size:10px;color:#98a4a6;padding:8px 0}.secondary:hover,.secondary[aria-pressed=true]{color:var(--accent)}.divider{height:13px;width:1px;background:var(--line)}.assembly-proof{margin-left:auto;display:flex;align-items:center;gap:9px;color:#6b7a7f;font-size:9px;letter-spacing:.5px}.assembly-proof b{color:#a1acae;font-weight:400}.proof-square{height:6px;width:6px;border:1px solid #68797c}.annotation{position:fixed;pointer-events:none;z-index:2;padding:10px 13px;border-left:1px solid var(--accent);background:#11191cdd;transform:translate(20px,-50%);box-shadow:0 4px 24px #0003}.annotation b{display:block;font-size:11px;font-weight:400;letter-spacing:1px}.annotation small{display:block;font:8px monospace;color:var(--accent);margin-top:5px}.annotation-line{position:absolute;width:20px;height:1px;background:var(--accent);left:-20px;top:50%}#loading{position:fixed;inset:0;z-index:10;background:#101315;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s}#loading.done{opacity:0;pointer-events:none}.loading-logo{font-size:70px;font-weight:800;letter-spacing:-8px}.loading-logo span{color:var(--accent)}#loading p{font-size:10px;color:#849195;letter-spacing:3px}.loading-bar{width:130px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:blink 1s infinite}@keyframes blink{50%{opacity:.2}}dialog{border:1px solid #ffffff22;background:#141c20;color:var(--fg);max-width:510px;width:calc(100% - 32px);padding:42px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#03080bba;backdrop-filter:blur(8px)}dialog h2{font-size:28px;letter-spacing:-1px;margin:25px 0 16px}dialog p{font-size:12px;color:#9ca9ae;line-height:1.9}dialog .close{position:absolute;right:17px;top:12px;font-size:26px;font-weight:200;color:#92a1a5}dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:11px;padding:24px 0;border-block:1px solid var(--line)}dialog dt{color:#d7dcd9}dialog dd{color:#7e8e96;margin:0}dialog .manual-note{font-size:10px;color:#73828a}.source-link{display:block;color:var(--accent);font-size:12px;margin-top:24px}.credits{font-size:8px;color:#57696e;margin-top:25px;line-height:1.8}#toast{position:fixed;top:100px;left:50%;transform:translate(-50%,-10px);padding:10px 18px;background:#1e2a2e;border:1px solid #ffffff20;opacity:0;transition:.25s;font-size:11px;pointer-events:none;z-index:7}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-height:950px){.inspector{top:470px}.intro{top:145px}}@media(max-height:820px) and (min-width:801px){.intro{top:110px}h1{font-size:80px;margin-top:19px}.intro-copy{margin-top:15px}.spec-line{margin-top:12px}.inspector{top:345px;width:225px}.assembly-row{padding:6px 0}.section-kicker{padding-bottom:10px}.part-detail{padding-top:10px}.console{height:185px;padding-top:13px}.console-bottom{margin-top:5px}.drag-hint{bottom:205px}}@media(max-height:690px) and (min-width:801px){.intro-copy,.spec-line{display:none}.inspector{top:270px}.part-detail{display:none}.console{height:165px;padding-top:8px}.timeline-wrap{height:57px}.console-bottom{margin-top:0}.drag-hint{bottom:183px}.tools{top:40%}}
@media(max-width:800px){header{height:63px;padding:0 22px}.brand{font-size:9px;letter-spacing:1px;gap:10px}.brand svg{width:18px}.header-right{font-size:8px;gap:6px}.edition{display:none}.icon-button{margin-left:7px;width:23px;height:23px}.intro{left:22px;top:92px}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:67px;letter-spacing:-5px;margin:17px 0 10px}.subtitle{font-size:11px;letter-spacing:2px}.intro-copy{font-size:10px;margin-top:16px}.spec-line{display:none}.inspector{top:auto;bottom:224px;left:22px;width:190px}.section-kicker,.part-detail{display:none}.assembly-list{display:flex;gap:5px}.assembly-row{width:29px;height:29px;border:1px solid #ffffff22;border-radius:50%;justify-content:center;padding:0;background:#10171999}.assembly-row .number{font-size:9px}.assembly-row.selected{border-color:var(--accent)}.assembly-row .assembly-title,.assembly-row .arrow{display:none}.model-meta{right:22px;top:94px;gap:13px}.vertical-text{display:none}.model-tag{gap:7px}.model-tag>span{font-size:22px}.model-tag b{font-size:9px}.model-tag small{font-size:6px}.tools{right:17px;top:auto;bottom:230px;transform:none;gap:0}.tool{width:35px;height:45px}.tool svg{width:17px;height:17px}.tool span{font-size:8px}.drag-hint{bottom:202px;left:50%;font-size:8px}.drag-hint svg{display:none}.console{height:185px;padding:13px 22px}.stage-code{display:none}.timeline-wrap{gap:14px;height:62px}.form-button{min-width:20px;flex-direction:column;gap:2px;font-size:8px}.form-button svg{height:18px}.phase-ticks{font-size:6px;letter-spacing:0}.readout{font-size:19px}.console-bottom{gap:15px;margin-top:9px}.transform{height:38px;min-width:157px;font-size:10px;padding:0 10px;gap:6px}.transform kbd{display:none}.play-options{gap:13px}.play-options .divider{display:none}.secondary{font-size:9px}.assembly-proof{display:none}dialog{padding:30px}dialog h2{font-size:24px}dialog dl{font-size:10px;gap:13px}.annotation{max-width:150px}.annotation b{font-size:10px}.intro-copy{max-width:130px}.phase-ticks span:nth-child(even){visibility:hidden}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.loading-bar{animation:none}}

@media(max-height:820px) and (min-width:801px){.spec-line{display:none}.inspector{top:335px}.assembly-row{padding:2px 0}.section-kicker{padding-bottom:8px}.assembly-list{padding:3px 0}.part-detail{padding-top:9px}.part-detail p{font-size:10px;line-height:1.6;margin-top:6px}.detail-heading{font-size:7px}.model-meta{top:116px}.vertical-text{height:126px}.tools{right:35px;top:365px;transform:none;gap:0}.tool{height:40px;gap:3px}.model-tag{position:fixed;right:46px;top:278px}.drag-hint{bottom:194px;left:61.5%}}
@media(max-height:690px) and (min-width:801px){.inspector{top:270px}.tools{top:280px}.part-detail{display:none}.drag-hint{bottom:175px}}
@media(max-width:800px){.intro-copy{display:none}h1{font-size:54px;margin-top:13px;margin-bottom:10px;letter-spacing:-4px}.subtitle{font-size:10px}.intro{top:88px}}
@media(max-height:820px) and (min-width:801px){.vertical-text{display:none}.part-detail p{font-size:9px;line-height:1.5}}

@media(max-height:820px) and (min-width:801px) and (min-height:691px){.inspector{top:315px}}
