@font-face{font-family:Noto Serif SC Local;src:url(/fonts/NotoSerifSC-Variable.ttf)format("truetype-variations");font-style:normal;font-weight:200 900;font-display:swap}@font-face{font-family:Ma Shan Zheng Local;src:url(/fonts/MaShanZheng-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--xuan:#06080a;--wall:#0a0d10;--silk:#ece5d3;--silk-dim:#c9c2b0;--muted:#7f867f;--faint:#565d58;--gold:#c8a468;--gold-dim:#c8a46847;--qing:#7fc4bc;--zhu:#cf5238;--seal:#a63b28;--ink:#1d2122;--hairline:#d8cbac29;--serif:"Noto Serif SC Local", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--kai:"Ma Shan Zheng Local", "STKaiti", "KaiTi", "Kaiti SC", var(--serif)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-width:320px;height:100%;overflow:hidden}body{background:var(--xuan);color:var(--silk);font-family:var(--serif);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible{outline:1px solid var(--gold);outline-offset:4px}img{display:block}::selection{background:#c8a46859}.app{background:radial-gradient(120% 90% at 50% 0%, #171d218c, transparent 60%), radial-gradient(90% 70% at 50% 110%, #14181a80, transparent 55%), var(--xuan);width:100%;height:100%;position:relative}.topbar{z-index:30;border-bottom:1px solid var(--hairline);background:linear-gradient(#06080ad9,#06080a26);justify-content:space-between;align-items:center;height:76px;padding:0 36px;display:flex;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:13px;display:flex}.cosmos-mark{filter:drop-shadow(0 0 9px #c8a46824);width:48px;height:42px;display:block;position:relative}.cosmos-mark .needle{background:linear-gradient(180deg, #f5ead1, var(--gold) 48%, #725b37);z-index:3;border-radius:80% 80% 30% 30%;width:2px;height:47px;position:absolute;top:-2px;left:22px;transform:rotate(22deg)}.cosmos-mark .needle:before{content:"";background:var(--xuan);border:1px solid #f0ddba;border-radius:50%;width:4px;height:9px;position:absolute;top:4px;left:-2px}.cosmos-mark .needle b{border-top:8px solid #725b37;border-left:2px solid #0000;border-right:2px solid #0000;width:0;height:0;position:absolute;bottom:-2px;left:-1px}.cosmos-mark .orbit{border:1px solid #c8a46899;border-radius:50%;width:40px;height:23px;position:absolute;top:9px;left:4px;transform:rotate(-18deg)}.cosmos-mark .orbit-b{border-color:#7fc4bc6b;animation:7s linear infinite reverse logoOrbit;transform:rotate(33deg)}.cosmos-mark .orbit-a{animation:9s linear infinite logoOrbit}.cosmos-mark .orbit b{background:var(--zhu);border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:4px;box-shadow:0 0 9px #cf5238e6}.cosmos-mark .orbit-b b{background:var(--qing);top:14px;left:5px;right:auto;box-shadow:0 0 9px #7fc4bce6}.cosmos-mark .thread-swoop{border-top:1px solid var(--gold);opacity:.7;border-radius:50%;width:44px;height:10px;position:absolute;top:28px;left:3px;transform:rotate(-8deg)}.brand-text .eyebrow{letter-spacing:.28em;color:var(--muted);margin-bottom:4px;font-size:7px}.brand-text h1{letter-spacing:.22em;color:var(--silk);align-items:center;gap:8px;font-size:19px;font-weight:500;display:flex}.brand-text h1 span{color:#f0e7d2}.brand-text h1 i{background:linear-gradient(90deg, var(--gold), var(--zhu));width:25px;height:1px;display:inline-block;position:relative}.brand-text h1 i:after{content:"";background:var(--zhu);border-radius:50%;width:5px;height:5px;position:absolute;top:-2px;right:-1px;box-shadow:0 0 8px #cf5238cc}.brand-seal{background:var(--seal);color:#f3e7d8;width:25px;height:25px;font-family:var(--kai);text-align:center;box-shadow:inset 0 0 0 2px var(--seal), inset 0 0 0 3px #f3e7d880;place-content:center;margin-left:2px;font-size:8px;line-height:1.05;display:grid;transform:rotate(-5deg)}.top-actions{align-items:center;gap:2px;display:flex}.stage-pill{border:1px solid var(--hairline);letter-spacing:.22em;height:30px;color:var(--silk-dim);border-radius:999px;align-items:center;gap:9px;margin-right:10px;padding:0 14px;font-size:10px;display:flex}.stage-pill:before{content:"";background:var(--zhu);border-radius:50%;width:4px;height:4px;box-shadow:0 0 10px #cf5238e6}.top-actions button{letter-spacing:.14em;color:var(--muted);border-left:1px solid var(--hairline);padding:8px 13px;font-size:11px;transition:color .25s}.top-actions button:hover{color:var(--silk)}.top-actions button.active{color:var(--gold);box-shadow:inset 0 -1px var(--gold);background:#c8a46812}.sound-level{opacity:.72;align-items:flex-end;gap:2px;width:16px;height:14px;margin:0 9px 0 2px;display:inline-flex}.sound-level i{transform-origin:bottom;background:var(--gold);width:2px;height:100%;transition:transform .16s,opacity .25s;display:block}.sound-level i:nth-child(2){background:var(--qing)}.sound-level i:nth-child(3){background:var(--zhu)}.sound-level.muted i{opacity:.35;transform:scaleY(.12)!important}.experience{position:absolute;inset:0}.universe-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.camera-source{opacity:0;pointer-events:none;width:2px;height:2px;position:fixed;top:0;left:-9999px}.grain{pointer-events:none;opacity:.13;mix-blend-mode:screen;background-image:repeating-linear-gradient(105deg,#0000 0 7px,#ffffff06 8px,#0000 9px),repeating-linear-gradient(7deg,#0000 0 13px,#ffffff04 14px,#0000 15px);position:absolute;inset:0}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 180px #0000008c}.screen{z-index:10;display:none;position:absolute}.screen.active{animation:.9s cubic-bezier(.22,.8,.3,1) both rise;display:block}.chapter{letter-spacing:.42em;color:var(--gold);align-items:center;gap:12px;margin-bottom:26px;font-size:11px;display:flex}.chapter:before{content:"";background:var(--gold);width:26px;height:1px}.chapter:after{content:"";background:var(--seal);flex:0 0 4px;height:4px;transform:rotate(45deg)}.intro{width:min(560px,46vw);top:50%;left:9vw;transform:translateY(-48%)}.vchapter{z-index:10;writing-mode:vertical-rl;letter-spacing:.5em;color:var(--gold);font-size:11px;display:none;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.vchapter.active{align-items:center;gap:14px;animation:.9s .1s both vchapIn;display:flex}.vchapter:before{content:"";background:var(--gold);width:1px;height:30px}.vchapter:after{content:"";background:var(--seal);width:4px;height:4px;transform:rotate(45deg)}.bg-char{z-index:1;font-family:var(--serif);pointer-events:none;-webkit-user-select:none;user-select:none;color:#ece5d309;-webkit-text-stroke:1px #ece5d30f;font-size:min(58vh,620px);line-height:1;position:absolute;top:50%;right:2vw;transform:translateY(-50%)}.intro h2{letter-spacing:.05em;font-size:clamp(40px,4.4vw,66px);font-weight:400;line-height:1.32}.intro h2 em{color:var(--zhu);white-space:nowrap;font-style:normal;position:relative}.intro h2 em:after{content:"";background:linear-gradient(90deg, var(--zhu), transparent);height:1px;position:absolute;bottom:4px;left:2%;right:2%}.intro-copy{color:#a8ada5;letter-spacing:.08em;max-width:430px;margin:24px 0 30px;font-size:13.5px;line-height:2.05}.intro.active{animation:.9s cubic-bezier(.22,.8,.3,1) both riseIntro}.btn-row{align-items:center;gap:26px;display:flex}.btn-primary{background:var(--silk);min-width:172px;height:50px;color:var(--ink);letter-spacing:.2em;justify-content:space-between;align-items:center;gap:18px;padding:0 12px 0 22px;font-size:12.5px;transition:background .3s,transform .3s;display:inline-flex}.btn-primary b{font-size:17px;font-weight:400;transition:transform .3s}.btn-primary:hover{background:#fff}.btn-primary:hover b{transform:translate(5px)}.btn-text{letter-spacing:.18em;color:var(--muted);padding:9px 2px;font-size:11.5px;transition:color .3s;position:relative}.btn-text:after{content:"";background:var(--gold);height:1px;transition:right .35s;position:absolute;bottom:2px;left:0;right:100%}.btn-text:hover{color:var(--silk)}.btn-text:hover:after{right:0}.mode-chooser{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));width:min(760px,70vw);display:grid}.mode-card{text-align:left;border-right:1px solid var(--hairline);min-height:116px;padding:17px 38px 17px 17px;transition:background .35s,transform .35s;position:relative;overflow:hidden}.mode-card:first-child{border-left:1px solid var(--hairline)}.mode-card:before{content:"";opacity:0;background:linear-gradient(135deg,#c8a46821,#0000 68%);transition:opacity .35s;position:absolute;inset:0}.mode-card:hover{background:#ece5d309;transform:translateY(-3px)}.mode-card:hover:before,.mode-card.featured:before{opacity:1}.mode-card.featured{border-top:1px solid #c8a4687a}.mode-card .mode-index{color:var(--gold);letter-spacing:.26em;margin-bottom:12px;font-size:8.5px;display:block;position:relative}.mode-card strong{color:var(--silk);letter-spacing:.13em;margin-bottom:8px;font-size:14px;font-weight:500;display:block;position:relative}.mode-card small{color:var(--muted);letter-spacing:.08em;font-size:9.5px;line-height:1.75;display:block;position:relative}.mode-card b{color:var(--gold);font-size:16px;font-weight:400;transition:transform .3s;position:absolute;bottom:15px;right:15px}.mode-card:hover b{transform:translate(5px)}.privacy-note{color:var(--faint);letter-spacing:.14em;align-items:center;gap:9px;margin-top:13px;font-size:9px;display:flex}.privacy-note i{border:1px solid var(--qing);border-radius:50%;width:5px;height:5px;box-shadow:0 0 9px #7fc4bc73}.wall-label{border:1px solid var(--hairline);border-left:2px solid var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0d106b;grid-template-columns:auto 1fr;gap:4px 20px;width:max-content;margin-top:20px;padding:13px 20px 12px 16px;display:grid}.wall-label dt{letter-spacing:.24em;color:var(--gold);white-space:nowrap;font-size:9.5px;line-height:1.9}.wall-label dd{letter-spacing:.1em;color:var(--silk);font-size:12.5px;line-height:1.9}.wall-label dd small{color:var(--muted);letter-spacing:.14em;font-size:10px;display:block}.scroll-hint{z-index:10;letter-spacing:.3em;color:var(--faint);align-items:center;gap:14px;font-size:9.5px;display:none;position:absolute;bottom:58px;right:38px}.scroll-hint.active{animation:1s .6s both rise;display:flex}.scroll-hint i{background:linear-gradient(90deg, var(--faint), transparent);width:60px;height:1px;display:block}.guide{text-align:center;border:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#080b0dd1,#080b0d7a);border-radius:2px;width:min(620px,64vw);padding:14px 24px 12px;top:94px;left:50%;transform:translate(-50%)}.ritual-heading{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:6px;display:grid}.ritual-heading span,.ritual-heading em{letter-spacing:.24em;color:var(--muted);font-size:8px;font-style:normal}.ritual-heading span{text-align:right}.ritual-heading em{text-align:left;color:var(--gold)}.ritual-heading b{letter-spacing:.3em;color:var(--silk);font-size:18px;font-weight:400}.guide p{letter-spacing:.14em;color:var(--silk-dim);margin-bottom:10px;font-size:11px}.ritual-track{grid-template-columns:repeat(5,1fr);align-items:start;height:38px;margin:0 14px 5px;display:grid;position:relative}.ritual-track:before{content:"";background:#d8cbac24;height:1px;position:absolute;top:8px;left:9%;right:9%}.ritual-track .track-fill{width:calc(82% * var(--resonance,0));background:linear-gradient(90deg, var(--qing), var(--gold), var(--zhu));height:1px;transition:width .22s;position:absolute;top:8px;left:9%;box-shadow:0 0 8px #c8a46866}.ritual-track span{color:var(--faint);justify-items:center;gap:4px;display:grid;position:relative}.ritual-track span b{z-index:1;background:var(--xuan);border:1px solid #d8cbac2e;border-radius:50%;place-content:center;width:17px;height:17px;font-size:7px;font-weight:400;transition:all .3s;display:grid;position:relative}.ritual-track span small{letter-spacing:.16em;white-space:nowrap;font-size:7.5px}.ritual-track span.awakened{color:var(--silk-dim)}.ritual-track span.awakened b{border-color:var(--gold);color:var(--gold);box-shadow:0 0 10px #c8a46833}.guide .meter{justify-content:center;align-items:center;gap:9px;height:8px;margin-bottom:6px;display:flex}.guide .meter i{width:calc(18px + var(--resonance,0) * 22px);height:calc(1px + var(--resonance,0) * 1px);background:var(--qing);animation:pulse calc(1.5s - var(--resonance,0) * .75s) ease-in-out infinite;transition:width .16s,height .16s;display:block}.guide .meter i:nth-child(2),.guide .meter i:nth-child(4){background:var(--zhu);animation-delay:-.38s}.guide .meter i:nth-child(3){background:var(--gold);animation-delay:-.75s}.guide .guide-note{letter-spacing:.22em;min-height:22px;color:var(--muted);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;font-size:8px;transition:all .3s;display:inline-flex}.guide .guide-note.hand-count-0{color:#d7c69d;border-color:#c8a4684d}.guide .guide-note.hand-count-1{color:#a9d9d3;border-color:#7fc4bc61;box-shadow:0 0 14px #7fc4bc14}.guide .guide-note.hand-count-2{color:#d8eee9;background:#7fc4bc14;border-color:#7fc4bc94;box-shadow:0 0 18px #7fc4bc21}.guide.active{animation:.8s both riseCenter}.guide.camera-ready{border-color:#7fc4bc57}.guide.camera-ready .meter i{animation-duration:.8s}.guide.camera-denied,.guide.camera-unavailable,.guide.camera-error{border-color:#cf52386b}.fallback-button{border:1px solid var(--gold-dim);color:var(--silk-dim);letter-spacing:.18em;margin:12px auto 0;padding:7px 14px;font-size:9.5px;transition:all .25s;display:block}.fallback-button:hover{border-color:var(--gold);color:var(--silk)}.star-tag{letter-spacing:.26em;color:var(--muted);pointer-events:none;gap:7px;font-size:10px;top:50%}.star-tag.active{display:grid}.star-tag strong{letter-spacing:.3em;font-size:16px;font-weight:400}.star-tag i{width:74px;height:1px;display:block}.star-tag.left{text-align:left;left:5.5vw}.star-tag.left strong{color:var(--qing)}.star-tag.left i{background:linear-gradient(90deg, var(--qing), transparent)}.star-tag.right{text-align:right;justify-items:end;right:5.5vw}.star-tag.right strong{color:#e0785f}.star-tag.right i{background:linear-gradient(-90deg,#e0785f,#0000)}.star-tag.active.left{animation:.8s .2s both tagL}.star-tag.active.right{animation:.8s .2s both tagR}.star-tag.hand-locked span{color:#e8ddc2}.star-tag.hand-locked strong{text-shadow:0 0 18px}.star-tag.hand-locked i{animation:1.15s ease-in-out infinite alternate handLockLine;box-shadow:0 0 8px}.wake{border:1px solid var(--gold-dim);color:#e3d3ae;letter-spacing:.2em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b0d8f;border-radius:999px;min-width:238px;min-height:48px;padding:11px 24px;font-size:10.5px;transition:all .35s;bottom:70px;left:50%;transform:translate(-50%)}.wake:hover{border-color:var(--gold);background:#c8a4681f}.wake.active{justify-content:center;align-items:center;gap:13px;animation:.8s .3s both riseWake;display:flex}.wake small{text-overflow:ellipsis;width:max-content;max-width:300px;color:var(--muted);letter-spacing:.12em;white-space:nowrap;font-size:8.5px;position:absolute;top:-26px;left:50%;overflow:hidden;transform:translate(-50%)}.voice-orbit{flex:0 0 24px;width:24px;height:24px;display:block;position:relative}.voice-orbit i{border:1px solid var(--gold);opacity:.45;border-radius:50%;position:absolute;inset:8px}.voice-orbit i:nth-child(2){border-color:var(--qing);inset:4px}.voice-orbit i:nth-child(3){border-color:var(--zhu);inset:0}.voice-listening .voice-orbit i{animation:1.35s ease-out infinite voiceRing}.voice-listening .voice-orbit i:nth-child(2){animation-delay:-.45s}.voice-listening .voice-orbit i:nth-child(3){animation-delay:-.9s}.voice-heard{border-color:var(--zhu);color:#f1d5cb;background:#a63b2838}.voice-heard .voice-orbit{animation:.55s cubic-bezier(.2,2.4,.4,1) both voiceHeard}.voice-denied,.voice-unsupported,.voice-error{color:var(--muted);border-color:#c8a46833}.voice-copy{white-space:nowrap}.collision{z-index:20;text-align:center;pointer-events:none;place-content:center;display:none;inset:0;overflow:hidden}.collision.active{animation:none;display:grid}.collision:before{content:"";aspect-ratio:1;background:radial-gradient(circle,#ece5d326 0,#c8a4680e 24%,#0000 66%);border-radius:50%;width:min(64vw,940px);animation:3.55s both collisionHalo;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.collision .inner{z-index:2;will-change:opacity,transform;min-width:min(820px,84vw);padding:40px 72px 48px;animation:3.55s cubic-bezier(.22,.72,.25,1) both collisionCopy;position:relative}.collision .inner:before,.collision .inner:after{content:"";background:linear-gradient(90deg,#0000,#c8a4687a);width:min(14vw,220px);height:1px;animation:1.3s .25s forwards sideThread;position:absolute;top:50%;transform:scaleX(0)}.collision .inner:before{transform-origin:100%;right:100%}.collision .inner:after{transform-origin:0;left:100%;transform:scaleX(0)rotate(180deg)}.collision-thread{z-index:1;width:min(74vw,1120px);height:210px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.collision-thread:before{content:"";background:#f4ead3;border-radius:50%;width:8px;height:8px;animation:2.7s both needlePoint;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #f4ead3,0 0 58px #c8a468d1}.collision-thread i{border-top:1px solid var(--gold);opacity:0;filter:drop-shadow(0 0 6px #c8a4687a);border-radius:50%;width:100%;height:54%;animation:2.7s both threadSweep;position:absolute;top:50%;left:0}.collision-thread i:nth-child(2){border-color:#7fc4bca8;animation-delay:80ms;top:35%;transform:scaleY(-1)}.collision-chapter{color:var(--gold);letter-spacing:.42em;justify-content:center;align-items:center;gap:14px;margin-bottom:20px;font-size:12px;animation:.7s .18s both inscriptionReveal;display:flex}.collision-chapter span{width:26px;height:26px;color:var(--silk);letter-spacing:0;border:1px solid #c8a46885;place-content:center;font-size:12px;display:grid;transform:rotate(45deg)}.collision-chapter span:first-letter{transform:rotate(-45deg)}.collision-inscription{font-family:var(--kai);filter:drop-shadow(0 8px 28px #0000007a);justify-items:center;gap:3px;font-weight:400;line-height:1.02;display:grid}.inscription-line{white-space:nowrap;color:#eee5d1;clip-path:inset(0 100% 0 0);width:max-content;max-width:100%;display:block;overflow:hidden}.inscription-line.line-one{letter-spacing:.2em;padding:0 .16em .05em;font-size:clamp(42px,5vw,78px);animation:1s cubic-bezier(.42,0,.2,1) .38s forwards stitchWrite}.inscription-line.line-two{letter-spacing:.12em;padding:.02em .12em .1em;font-size:clamp(58px,7.2vw,112px);animation:1.15s cubic-bezier(.42,0,.2,1) .92s forwards stitchWrite}.inscription-line em{color:#e07b62;font-style:normal;position:relative}.inscription-line em:after{content:"";background:linear-gradient(90deg,var(--zhu),var(--gold),transparent);transform-origin:0;height:1px;animation:.58s 1.72s forwards underlineStitch;position:absolute;bottom:.04em;left:-2%;right:4%;transform:scaleX(0)}.collision-signature{color:#8e968e;letter-spacing:.38em;justify-content:center;align-items:center;gap:15px;min-height:45px;margin-top:17px;font-size:9px;animation:.55s 1.55s both inscriptionReveal;display:flex}.collision-signature i{background:linear-gradient(90deg,#c8a468c2,#0000);width:60px;height:1px}.awakening-seal{background:var(--seal);color:#f3e7d8;width:42px;height:42px;font-family:var(--kai);letter-spacing:0;opacity:0;box-shadow:inset 0 0 0 2px var(--seal),inset 0 0 0 3px #f3e7d88c,0 8px 28px #a63b286b;place-content:center;font-size:25px;font-weight:400;animation:.42s cubic-bezier(.2,2.4,.4,1) 1.9s forwards awakeningStamp;display:grid;transform:rotate(-7deg)scale(2.6)}.reveal{opacity:0;visibility:hidden;pointer-events:none;filter:blur(7px);contain:layout paint style;will-change:opacity,transform,filter;grid-template-columns:minmax(350px,.92fr) minmax(430px,1.08fr);align-items:center;gap:6vw;inset:88px 4.8vw 46px;overflow:hidden;transform:scale(1.025)}.reveal.reveal-mounted{display:grid}.reveal.reveal-visible{visibility:visible;pointer-events:auto;opacity:1;filter:none;transition:opacity .9s cubic-bezier(.22,.72,.25,1),transform 1.35s cubic-bezier(.16,.8,.22,1),filter .9s;animation:none;transform:none}.reveal.reveal-bridging{visibility:visible;opacity:0;filter:blur(9px);animation:3.55s cubic-bezier(.22,.72,.25,1) both artworkBridge;transform:scale(1.035)}.reveal.reveal-bridging .reveal-copy{animation:3.55s both revealCopyBridge}.reveal.reveal-bridging .gallery{animation:3.55s cubic-bezier(.18,.74,.22,1) both galleryBridge}.reveal.reveal-bridging .stitch-lens,.reveal.artwork-loading .observation-frame img,.reveal.artwork-loading .stitch-lens{opacity:0}.reveal.artwork-ready .observation-frame img{opacity:.94}.silk-veil{z-index:18;pointer-events:none;opacity:0;animation:3.55s both silkVeil;position:fixed;inset:-8%;overflow:hidden}.silk-veil:before{content:"";aspect-ratio:1;filter:blur(4px);background:radial-gradient(circle,#fff7dfeb 0,#c8a46857 13%,#7fc4bc1a 34%,#0000 68%);border-radius:50%;width:18vmax;animation:3.55s cubic-bezier(.2,.74,.2,1) both veilCore;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.15)}.silk-veil i{filter:drop-shadow(0 0 8px #c8a46859);clip-path:inset(0 50%);border-top:1px solid #e2cb99b8;border-radius:50%;width:136%;height:24%;animation:3.55s cubic-bezier(.18,.72,.2,1) both veilThread;position:absolute;top:50%;left:-18%}.silk-veil i:nth-child(2){border-color:#7fc4bc80;animation-delay:70ms;top:35%;transform:rotate(9deg)scaleY(.72)}.silk-veil i:nth-child(3){border-color:#cf523861;animation-delay:.13s;top:61%;transform:rotate(-12deg)}.silk-veil span{background:linear-gradient(104deg,#0000 28%,#ece5d314 47%,#ece5d338 50%,#c8a4680f 54%,#0000 72%);animation:3.55s cubic-bezier(.22,.72,.25,1) both veilSweep;position:absolute;inset:0;transform:translate(-82%)}.reveal-copy{transition:transform .5s;position:relative}.reveal-copy:before{content:"繡";z-index:-1;color:#ece5d30b;font-family:var(--kai);text-shadow:0 0 40px #c8a4680a;font-size:clamp(190px,22vw,340px);line-height:1;position:absolute;top:-28%;left:-8%;transform:rotate(-8deg)}.reveal-copy h2{font-family:var(--kai);letter-spacing:.08em;text-shadow:0 8px 28px #0000007a;font-size:clamp(42px,4.8vw,76px);font-weight:400;line-height:1.18;position:relative}.reveal-copy h2:after{content:"";background:linear-gradient(90deg,var(--gold),var(--zhu),transparent);width:clamp(110px,12vw,190px);height:1px;margin-top:14px;display:block;box-shadow:0 0 8px #c8a46859}.reveal-copy h2 em{color:#e6b69f;font-style:normal}.reveal-copy .lede{color:#b2b8b0;letter-spacing:.055em;max-width:560px;margin:18px 0 16px;font-size:11.5px;line-height:2}.origin-facts{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:repeat(3,1fr);max-width:540px;margin:0 0 15px;display:grid}.origin-facts div{border-right:1px solid var(--hairline);padding:10px 12px 9px}.origin-facts div:last-child{border-right:0}.origin-facts b{color:var(--gold);letter-spacing:.06em;margin-bottom:5px;font-size:15px;font-weight:400;display:block}.origin-facts span{color:var(--muted);letter-spacing:.08em;font-size:7.5px;line-height:1.65;display:block}.reveal-copy blockquote{border-left:2px solid var(--zhu);max-width:520px;color:var(--silk-dim);letter-spacing:.07em;margin-bottom:19px;padding:9px 0 9px 15px;font-size:9.5px;line-height:1.85}.reveal.dim-gallery .reveal-copy{transform:translateY(-20px)}.reveal.dim-gallery .gallery{opacity:0;pointer-events:none;transition:opacity .45s}.gallery{isolation:isolate;justify-self:end;width:100%;max-width:650px;transition:opacity .6s;position:relative}.gallery:before{content:"";z-index:-2;pointer-events:none;filter:blur(12px);background:radial-gradient(at 52% 46%,#e1cb982b,#7fc4bc12 30%,#0000 68%);width:132%;height:132%;position:absolute;top:-18%;left:50%;transform:translate(-50%)}.gallery:after{content:"";z-index:3;pointer-events:none;background:linear-gradient(90deg,var(--xuan) 0,transparent 14%,transparent 84%,var(--xuan) 100%),linear-gradient(180deg,var(--xuan) 0,transparent 17%,transparent 80%,var(--xuan) 100%);position:absolute;inset:-4%}.frame{box-shadow:none;background:0 0;border:0;position:relative;overflow:visible}.frame img{transform-origin:50%;width:100%;height:auto}.observation-frame{isolation:isolate;border-radius:48% 52% 46% 54%/14% 16% 12% 15%}.observation-frame:before{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at center,transparent 52%,#06080a33 70%,var(--xuan) 96%);mix-blend-mode:multiply;position:absolute;inset:-1px}.observation-frame img{transform-origin:var(--focus-x) var(--focus-y);filter:saturate(1.18)contrast(1.08)brightness(1.04);opacity:.94;transition:transform .8s cubic-bezier(.22,.8,.3,1),filter .5s,opacity .5s;transform:scale(1.12);-webkit-mask-image:radial-gradient(76% 68% at 52% 49%,#000 55%,#000000eb 70%,#0000 100%);mask-image:radial-gradient(76% 68% at 52% 49%,#000 55%,#000000eb 70%,#0000 100%)}.cosmic-ribbons{z-index:4;pointer-events:none;filter:drop-shadow(0 0 5px #c8a46852);position:absolute;inset:-12% -8%;overflow:hidden}.cosmic-ribbons i{opacity:.5;border-top:1px solid #ddc999a8;border-radius:50%;width:104%;height:22%;animation:9s ease-in-out infinite alternate galleryRibbon;position:absolute;top:48%;left:-2%;transform:rotate(-8deg)}.cosmic-ribbons i:nth-child(2){border-color:#7fc4bc8c;height:45%;animation-delay:-2s;top:33%;transform:rotate(13deg)scaleY(.68)}.cosmic-ribbons i:nth-child(3){border-color:#cf523861;height:36%;animation-delay:-4s;top:58%;transform:rotate(-19deg)}.cosmic-ribbons i:nth-child(4){border:1px solid #b987c752;width:70%;height:92%;animation-delay:-6s;top:8%;left:18%;transform:rotate(38deg)}.cosmic-ribbons i:nth-child(5){border:1px dashed #ece5d333;width:51%;height:70%;animation-delay:-7s;top:18%;left:29%;transform:rotate(-26deg)}.artwork-aura{z-index:1;pointer-events:none;position:absolute;inset:-12%}.artwork-aura i{aspect-ratio:1;border:1px solid #c8a46840;border-radius:48% 52% 46% 54%;width:70%;animation:18s linear infinite artworkOrbit;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)}.artwork-aura i:nth-child(2){border-color:#7fc4bc33;width:90%;animation-duration:24s;animation-direction:reverse}.artwork-aura i:nth-child(3){border-style:dashed;border-color:#ece5d31f;width:112%;animation-duration:31s}.art-hotspot{z-index:5;width:25px;height:25px;color:var(--silk);background:#06080ab8;border:1px solid #ece5d399;border-radius:50%;place-content:center;font-size:8px;transition:all .3s;display:grid;position:absolute;transform:translate(-50%,-50%)}.art-hotspot i{border:1px solid var(--gold);opacity:.28;border-radius:50%;animation:2s ease-out infinite hotspotPulse;position:absolute;inset:-7px}.art-hotspot:hover,.art-hotspot.active{color:var(--xuan);background:var(--gold);border-color:var(--gold);box-shadow:0 0 18px #c8a46873}.art-hotspot.active i{opacity:.8}.stitch-lens{z-index:8;left:var(--lens-x);top:var(--lens-y);aspect-ratio:1;pointer-events:none;border:7px solid #2c2117f5;border-radius:50%;width:clamp(136px,15vw,222px);transition:left .22s ease-out,top .22s ease-out,opacity .4s;position:absolute;overflow:visible;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #dabb7dc7,0 18px 48px #0000008f,inset 0 0 0 1px #fff0cd57}.lens-image{filter:saturate(1.26)contrast(1.18)brightness(1.08);background-repeat:no-repeat;background-size:460%;border-radius:50%;position:absolute;inset:0}.stitch-lens:before{content:"";z-index:3;border:1px dashed #e8cd979e;border-radius:50%;animation:18s linear infinite lensHoop;position:absolute;inset:5px}.stitch-lens:after{content:"";z-index:-1;background:#211810;border:2px solid #8f6b3c;border-bottom:0;border-radius:5px 5px 0 0;width:44px;height:24px;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.lens-cross{z-index:4;border-radius:50%;position:absolute;inset:0}.lens-cross i{background:linear-gradient(#0000,#ece5d385,#0000);width:1px;position:absolute;top:16%;bottom:16%;left:50%}.lens-cross i:nth-child(2){background:linear-gradient(90deg,#0000,#ece5d385,#0000);width:auto;height:1px;top:50%;left:16%;right:16%}.lens-copy{z-index:5;border-left:1px solid var(--gold);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06080ae0;width:clamp(145px,15vw,210px);padding:10px 12px;position:absolute;top:78%;left:75%}.lens-copy span,.lens-copy small{color:#a9afa8;letter-spacing:.08em;font-size:8px;line-height:1.55;display:block}.lens-copy span{color:var(--gold);letter-spacing:.16em}.lens-copy b{color:var(--silk);letter-spacing:.1em;margin:3px 0;font-size:14px;font-weight:400;display:block}.observation-note{z-index:7;border-left:1px solid var(--gold);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);width:min(340px,64%);box-shadow:none;background:linear-gradient(90deg,#06080ae0,#06080a5c);padding:13px 15px;position:absolute;bottom:1%;left:2%}.observation-note span{color:var(--gold);letter-spacing:.24em;font-size:7px}.observation-note h4{color:var(--silk);letter-spacing:.12em;margin:4px 0 5px;font-size:14px;font-weight:400}.observation-note p{color:#a9afa8;letter-spacing:.045em;font-size:8.5px;line-height:1.7}.frame .badge{z-index:6;border:1px solid var(--gold-dim);color:#d6c7ac;letter-spacing:.16em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06080ab8;padding:5px 8px;font-size:8px;position:absolute;bottom:9px;right:10px}.plaque{z-index:7;width:min(500px,90%);color:var(--silk);box-shadow:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(90deg,#06080ab8,#06080a1f);border-left:1px solid #c8a4688f;margin:6px 0 0 5%;padding:12px 50px 10px 14px;position:relative}.plaque:before{content:"作品档案 / ARCHIVE";color:#c8a468b3;letter-spacing:.26em;pointer-events:none;font-size:7px;position:absolute;top:14px;right:52px}.plaque h3{letter-spacing:.12em;color:var(--silk);margin-bottom:7px;font-size:15.5px;font-weight:400}.plaque dl{grid-template-columns:auto 1fr;gap:2px 14px;display:grid}.plaque dt{letter-spacing:.2em;color:var(--gold);white-space:nowrap;font-size:9px;line-height:1.85}.plaque dd{letter-spacing:.05em;color:#adb3ac;font-size:10.5px;line-height:1.85}.plaque .plaque-seal{background:var(--seal);border-radius:2px;place-content:center;width:30px;height:30px;display:grid;position:absolute;top:10px;right:10px;transform:rotate(4deg)}.plaque .plaque-seal b{font-family:var(--kai);color:#f3e7d8;writing-mode:vertical-rl;letter-spacing:.05em;font-size:11px;line-height:1.05}@media (height<=720px){.gallery{max-width:470px}.plaque{margin-top:14px;padding:12px 18px 10px}.plaque h3{margin-bottom:5px;font-size:14px}.plaque dd,.plaque dt{line-height:1.7}}.craft{z-index:14;border:1px solid var(--gold-dim);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070a0cf5;grid-template-rows:auto 1fr;grid-template-columns:170px minmax(330px,.95fr) minmax(310px,.85fr);column-gap:0;animation:.7s cubic-bezier(.22,.8,.3,1) both labIn;display:none;inset:92px 4.5vw 112px;box-shadow:0 30px 90px #0000008c}.craft.active{display:grid}.craft-head{border-bottom:1px solid var(--hairline);grid-column:1/-1;grid-template-columns:1fr minmax(340px,.7fr);align-items:end;gap:40px;padding:18px 24px 16px;display:grid}.craft-head span{color:var(--gold);letter-spacing:.34em;margin-bottom:6px;font-size:8px;display:block}.craft-head h2{letter-spacing:.06em;font-size:clamp(23px,2.1vw,34px);font-weight:400}.craft-head h2 em{color:var(--zhu);font-style:normal}.craft-head p{max-width:510px;color:var(--muted);letter-spacing:.09em;font-size:10px;line-height:1.9}.craft .tabs{border-right:1px solid var(--hairline);flex-direction:column;display:flex}.craft .tabs button{text-align:left;color:#747b75;border-bottom:1px solid #d8cbac12;flex:1;grid-template-columns:25px 1fr;align-content:center;gap:3px 8px;padding:9px 15px;transition:all .3s;display:grid}.craft .tabs button span{color:var(--faint);letter-spacing:.1em;grid-row:1/3;align-self:center;font-size:8px}.craft .tabs button strong{letter-spacing:.15em;font-size:12px;font-weight:400}.craft .tabs button small{color:var(--faint);letter-spacing:.13em;font-size:7.5px}.craft .tabs button:hover{color:var(--silk-dim);background:#ece5d306}.craft .tabs button.active{color:var(--silk);box-shadow:inset 2px 0 var(--gold);background:linear-gradient(90deg,#c8a46824,#0000)}.craft .tabs button.active span,.craft .tabs button.active small{color:var(--gold)}.stitch-study{border-right:1px solid var(--hairline);background:radial-gradient(ellipse at 48% 43%,color-mix(in srgb,var(--stitch-color) 13%,transparent),transparent 52%),linear-gradient(145deg,#121616e0,#040709f5);min-width:0;position:relative;overflow:hidden}.study-grid{opacity:.18;background-image:radial-gradient(circle at 16% 22%,#c8a4681f 0 1px,transparent 1.5px),radial-gradient(circle at 82% 74%,color-mix(in srgb,var(--stitch-color) 22%,transparent) 0 1px,transparent 1.5px),repeating-linear-gradient(104deg,transparent 0 16px,#ece5d305 17px,transparent 18px);background-size:72px 72px,96px 96px,auto;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 18%,#0000 80%);mask-image:radial-gradient(#000 18%,#0000 80%)}.stitch-study.teaching{grid-template-rows:minmax(0,1fr) auto auto;padding:10px 16px 12px;display:grid}.teaching-stage{z-index:1;isolation:isolate;min-height:0;position:relative}.teaching-stage:before{content:"";z-index:-1;background:radial-gradient(ellipse,color-mix(in srgb,var(--stitch-color) 13%,transparent),transparent 68%);filter:blur(24px);border-radius:50%;position:absolute;inset:8% 8% 10%}.teaching-stage svg{width:100%;height:100%;min-height:250px;display:block;overflow:visible}.hoop-title{z-index:4;color:#9e9889;letter-spacing:.24em;white-space:nowrap;align-items:center;gap:10px;font-size:7px;display:flex;position:absolute;top:6%;left:50%;transform:translate(-50%)}.hoop-title:before,.hoop-title:after{content:"";background:linear-gradient(90deg,transparent,var(--gold));width:22px;height:1px}.hoop-title:after{transform:scaleX(-1)}.hoop-title b{color:var(--gold);font-weight:400}.hoop-shadow{fill:#00000075;filter:blur(8px);transform-origin:50%;transform:translateY(7px)}.hoop-outer{fill:none;stroke:#2b2118;stroke-width:13px;filter:drop-shadow(0 10px 13px #00000085)}.hoop-gold{fill:none;stroke:#9f7c48;stroke-width:1.7px;opacity:.66;stroke-dasharray:1 5}.silk-ground{stroke:#ebd2a02e;stroke-width:.8px}.silk-weave{opacity:.34}.silk-weave+*{pointer-events:none}.weft{stroke:#efe5c91a;stroke-width:.36px}.warp{stroke:#c8a4680e;stroke-width:.3px}.hoop-clasps path{fill:#2b2118;stroke:#9f7c48;stroke-width:.8px}.hoop-clasps circle{fill:#c8a468;stroke:#f0d7a5;stroke-width:.55px}.stitch-atmosphere{fill:none;stroke:var(--stitch-color);stroke-width:.55px;opacity:.13;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--stitch-color) 24%,transparent))}.atmosphere-0 path,.atmosphere-0 ellipse{stroke-dasharray:2 7;animation:8s linear infinite atmosphereFlow}.atmosphere-1{filter:url(#silk-soft-1);opacity:.11}.atmosphere-1 ellipse{fill:color-mix(in srgb,var(--stitch-color) 18%,transparent);stroke-width:1px;animation:4.6s ease-in-out infinite alternate mistBreath}.atmosphere-1 path{stroke:#e9dec7;stroke-dasharray:1 9}.atmosphere-2 path{stroke-linecap:round;animation:2.8s ease-in-out infinite alternate rayBreath}.atmosphere-2 path:nth-child(-n+4){stroke-width:1.2px;opacity:.42}.atmosphere-3 ellipse,.atmosphere-3 circle{stroke:#d8bd86;stroke-dasharray:2 5;transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite alternate layerBreath}.atmosphere-3 :nth-child(2){animation-delay:-.8s}.atmosphere-3 :nth-child(3){animation-delay:-1.6s}.atmosphere-3 :nth-child(4){fill:#f1e1be2e}.atmosphere-4 circle{fill:hsl(calc(22deg + var(--dot-index) * 17deg) 54% 64%);stroke:none;opacity:.42;animation:dotTwinkle 1.8s calc(var(--dot-index) * -70ms) ease-in-out infinite alternate}.thread-shadow,.thread-path,.thread-glint{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.thread-shadow{stroke:#000000b8;stroke-width:4.5px;transform:translateY(1.1px)}.thread-path{stroke-width:2.35px;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--stitch-color) 28%,transparent))}.thread-glint{stroke:#fff4d561;stroke-width:.48px;transform:translateY(-.42px)}.teaching-paths .waiting{opacity:.065}.teaching-paths .visible{opacity:.96}.teaching-paths .current .thread-path{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--stitch-color) 52%,transparent))}.is-playing .teaching-paths .visible .thread-path,.is-playing .teaching-paths .visible .thread-shadow,.is-playing .teaching-paths .visible .thread-glint{animation:1.15s cubic-bezier(.3,.7,.2,1) both teachDraw;animation-delay:var(--teach-delay)}.is-playing.is-slow .teaching-paths .visible .thread-path,.is-playing.is-slow .teaching-paths .visible .thread-shadow,.is-playing.is-slow .teaching-paths .visible .thread-glint{animation-duration:2.3s;animation-delay:var(--teach-delay-slow)}.is-paused .thread-path,.is-paused .thread-shadow,.is-paused .thread-glint{animation-play-state:paused}.entry-hole{fill:#f4ecdc;stroke:#06080ad9;stroke-width:1.2px}.exit-hole{fill:var(--zhu);stroke:#f1d4ca;stroke-width:.7px}.entry-ripple,.exit-ripple{fill:none;stroke:var(--stitch-color);stroke-width:.45px;opacity:0}.teaching-paths .current .entry-ripple{animation:1.3s ease-out infinite needleRipple}.teaching-paths .current .exit-ripple{animation:1.3s ease-out .58s infinite needleRipple}.traveling-needle line{stroke:#d6bb7a;stroke-width:2.1px;stroke-linecap:round}.traveling-needle ellipse{fill:none;stroke:#fff0cf;stroke-width:.9px;transform-box:fill-box;transform-origin:50%;transform:rotate(18deg)}.traveling-needle .needle-thread{fill:none;stroke:var(--stitch-color);stroke-width:.7px;stroke-linecap:round;opacity:.72}.is-paused .traveling-needle{opacity:.42}.stitch-legend{z-index:5;color:#aaa99f;letter-spacing:.12em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05080a7a;border-left:1px solid #c8a46857;gap:13px;padding:5px 9px;font-size:7px;display:flex;position:absolute;bottom:7%;left:10%}.stitch-legend span{align-items:center;gap:5px;display:flex}.stitch-legend i{background:#eef0e8;border-radius:50%;width:6px;height:6px}.stitch-legend i.line{background:linear-gradient(90deg,var(--stitch-color),#c8a468);border-radius:0;width:14px;height:1px}.stitch-legend i.out{background:var(--zhu)}.silk-direction{color:#777b75;letter-spacing:.18em;align-items:center;gap:6px;font-size:6.5px;display:flex;position:absolute;bottom:7%;right:10%}.silk-direction i{background:linear-gradient(90deg,#0000,#ece5d361);width:30px;height:1px;position:relative}.silk-direction i:after{content:"";border-top:1px solid #ece5d361;border-right:1px solid #ece5d361;width:4px;height:4px;position:absolute;top:-2px;right:0;transform:rotate(45deg)}.silk-section{z-index:8;background:radial-gradient(ellipse at 50% 28%,color-mix(in srgb,var(--stitch-color) 12%,transparent),transparent 54%),#05080af5;opacity:0;visibility:hidden;grid-template-rows:auto auto 1fr;padding:20px 24px;transition:all .45s;display:grid;position:absolute;inset:42px 12px 96px;transform:translateY(10px)}.silk-section.active{opacity:1;visibility:visible;transform:none}.section-title{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:baseline;padding-bottom:10px;display:flex}.section-title span{color:var(--gold);letter-spacing:.22em;font-size:9px}.section-title b{color:var(--silk-dim);letter-spacing:.08em;font-size:12px;font-weight:400}.section-rule{grid-template-columns:auto 1fr;align-items:baseline;gap:5px 14px;padding:10px 0 2px;display:grid}.section-rule span{color:var(--stitch-color);letter-spacing:.2em;font-size:8px}.section-rule b{color:#d2c9b6;letter-spacing:.05em;font-size:10px;font-weight:400;line-height:1.55}.section-rule small{color:#777d78;letter-spacing:.04em;grid-column:2;font-size:7px}.fabric-section{align-content:center;min-height:190px;display:grid;position:relative}.fabric-layer{z-index:2;background:repeating-linear-gradient(90deg,#dfc99e26 0 1px,#2820171f 1px 5px),linear-gradient(#756246,#2d261c);border-top:1px solid #eeddbb9e;border-bottom:1px solid #7d5b33b3;height:25px;position:absolute;top:49%;left:6%;right:6%;box-shadow:0 9px 25px #0000006b}.fabric-layer b{background:#f1deb84d;width:1px;position:absolute;top:5px;bottom:5px;transform:skew(-15deg)}.fabric-layer b:first-child{left:15%}.fabric-layer b:nth-child(2){left:32%}.fabric-layer b:nth-child(3){left:49%}.fabric-layer b:nth-child(4){left:66%}.fabric-layer b:nth-child(5){left:83%}.fabric-top,.fabric-bottom{z-index:5;color:#c9bda7;letter-spacing:.12em;font-size:8px;position:absolute;left:7%}.fabric-top{top:16%}.fabric-bottom{color:#91877a;bottom:15%}.fabric-section svg{z-index:4;width:100%;height:142px;position:relative;overflow:visible}.front-thread,.under-thread{fill:none;stroke-linecap:round;stroke-linejoin:round;animation-delay:var(--section-delay)}.front-thread{stroke:#e8d9ae;stroke-width:2.5px;opacity:.92;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--stitch-color) 45%,transparent));animation:2.8s ease-in-out infinite frontThread}.under-thread{stroke:var(--stitch-color);stroke-width:2.2px;stroke-dasharray:2 5;opacity:.76;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--stitch-color) 55%,transparent));animation:2.3s ease-in-out infinite underThread}.section-pattern-1 .under-thread{stroke-dasharray:5 5}.section-pattern-2 .under-thread{stroke-dasharray:2 3}.section-pattern-3 .under-thread{stroke-width:2.8px;stroke-dasharray:7 4}.section-pattern-4 .under-thread{stroke-width:2.4px;stroke-dasharray:1 7}.section-needle line{stroke:#ece5d3;stroke-width:1.6px}.section-needle ellipse{fill:none;stroke:#c8a468;stroke-width:1px}.section-entry,.section-exit{fill:#06080acc;stroke:#e4c989;stroke-width:1px;animation:1.8s ease-out infinite needleRipple}.section-steps{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 5%;display:grid}.section-steps span{color:#a9afa8;letter-spacing:.06em;text-align:center;font-size:9px}.section-steps i{width:22px;height:22px;color:var(--gold);border:1px solid #c8a46880;border-radius:50%;place-content:center;margin:0 auto 6px;font-style:normal;display:grid}.teaching-controls{z-index:9;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex;position:relative}.control-copy span{color:var(--muted);letter-spacing:.2em;font-size:6.5px;display:block}.control-copy b{color:var(--stitch-color);letter-spacing:.14em;margin-top:3px;font-size:8px;font-weight:400;display:block}.control-buttons{gap:4px;display:flex}.control-buttons button{color:var(--muted);letter-spacing:.1em;border:1px solid #d8cbac24;padding:6px 8px;font-size:7px;transition:all .25s}.control-buttons button:hover,.control-buttons button.active{border-color:var(--gold);color:var(--silk);background:#c8a46814}.learning-points{z-index:2;grid-template-columns:auto 1fr;gap:10px;padding:9px 0 17px;display:grid;position:relative}.learning-points span{color:var(--gold);letter-spacing:.18em;font-size:7px}.learning-points b{color:var(--silk-dim);letter-spacing:.055em;font-size:8px;font-weight:400;line-height:1.65}.teaching .study-caption{bottom:8px;left:16px;right:16px}.silk-disc{aspect-ratio:1;background:radial-gradient(circle,#ece5d30b,#0000 67%);border:1px solid #d8cbac1f;border-radius:50%;width:min(29vw,370px);position:absolute;top:46%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:inset 0 0 80px #00000040}.silk-disc:before,.silk-disc:after{content:"";border:1px dashed color-mix(in srgb,var(--stitch-color) 36%,transparent);border-radius:50%;animation:13s linear infinite studyOrbit;position:absolute;inset:11%}.silk-disc:after{animation-duration:9s;animation-direction:reverse;inset:23%}.stitch-line{--angle:calc(var(--i) * 29deg);transform-origin:0;width:76%;height:1px;transform:rotate(var(--angle)) translateX(-23%);background:linear-gradient(90deg,transparent,var(--stitch-color),transparent);opacity:.38;animation:stitchDraw 2.4s calc(var(--i) * -80ms) ease-in-out infinite alternate;position:absolute;top:50%;left:50%}.stitch-0 .stitch-line:nth-child(3n){transform:rotate(calc(var(--angle) - 71deg)) translateX(-18%)}.stitch-1 .stitch-line{width:calc(38% + var(--i) * 1.7%);opacity:calc(.08 + var(--i) * .015);transform:rotate(calc(var(--angle) * .22)) translateX(-48%)}.stitch-2 .stitch-line{width:57%;transform:rotate(calc(var(--i) * 120deg + var(--angle) * .08)) translateX(-8%);clip-path:polygon(0 42%,86% 42%,100% 50%,86% 58%,0 58%)}.stitch-3 .stitch-line{width:calc(30% + var(--i) * 1.5%);height:calc(1px + var(--i) * .055px);transform:rotate(calc(var(--angle) * .13)) translateX(-50%);opacity:.3}.layer-core{background:radial-gradient(circle,#f1e7d2 0 4%,var(--stitch-color) 5%,transparent 58%);box-shadow:0 0 40px color-mix(in srgb,var(--stitch-color) 38%,transparent);border-radius:50%;animation:2.4s ease-in-out infinite coreBreath;position:absolute;inset:32%}.triangle-core{animation:8s linear infinite studyOrbit;position:absolute;inset:25%}.triangle-core i{transform-origin:0;background:var(--stitch-color);width:58%;height:1px;box-shadow:0 0 9px color-mix(in srgb,var(--stitch-color) 60%,transparent);position:absolute;top:50%;left:50%}.triangle-core i:first-child{transform:rotate(0)translate(-50%,-50%)}.triangle-core i:nth-child(2){transform:rotate(120deg)translate(-50%,-50%)}.triangle-core i:nth-child(3){transform:rotate(240deg)translate(-50%,-50%)}.stitch-dot{--x:calc((var(--i) * 37) % 91);--y:calc((var(--i) * 61) % 87);left:calc(6% + var(--x) * 1%);top:calc(7% + var(--y) * 1%);width:calc(2px + (var(--i) % 3) * 1px);height:calc(2px + (var(--i) % 3) * 1px);background:hsl(calc(180 + var(--i) * 13) 46% 63%);animation:dotTwinkle 1.8s calc(var(--i) * -70ms) ease-in-out infinite alternate;border-radius:50%;position:absolute;box-shadow:0 0 8px}.study-caption{color:var(--faint);letter-spacing:.2em;justify-content:space-between;align-items:center;font-size:7px;display:flex;position:absolute;bottom:18px;left:22px;right:22px}.study-caption b{color:var(--stitch-color);font-size:8px;font-weight:400}.craft .detail{padding:25px 28px;animation:.55s both detailIn;position:relative;overflow:auto}.detail-index{color:#ece5d30b;font-size:92px;line-height:1;position:absolute;top:8px;right:18px}.craft .detail .role{color:var(--zhu);letter-spacing:.28em;margin-bottom:8px;font-size:8px}.craft .detail h3{letter-spacing:.18em;margin-bottom:18px;font-size:38px;font-weight:400}.craft .detail .action{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);color:var(--muted);letter-spacing:.08em;margin-bottom:13px;padding:10px 0;font-size:9px}.craft .detail .action b{color:var(--gold);font-weight:400}.craft .detail .desc{color:#a1a7a0;letter-spacing:.055em;font-size:11px;line-height:2;display:block}.cosmic-link{border-left:2px solid var(--stitch-color,#c8a468);margin-top:17px;padding-left:12px}.cosmic-link dt{color:var(--gold);letter-spacing:.22em;margin-bottom:5px;font-size:8px}.cosmic-link dd{color:var(--silk-dim);letter-spacing:.06em;font-size:10px;line-height:1.8}.keepsake{z-index:16;color:var(--ink);background:linear-gradient(175deg,#ece5d3,#e0d7c2);grid-template-columns:1fr auto;align-items:center;gap:22px;padding:12px 8px 12px 22px;display:none;position:absolute;bottom:51px;left:8vw;right:8vw;box-shadow:0 14px 40px #00000080}.keepsake.active{animation:.8s cubic-bezier(.22,.8,.3,1) .25s both rise;display:grid}.keepsake:before{content:"";background:radial-gradient(circle at 0 6px, var(--xuan) 3.4px, transparent 3.6px) repeat-y;background-size:10px 13px;width:10px;position:absolute;top:0;bottom:0;left:-1px}.keepsake .k-meta{align-items:center;gap:14px;margin-bottom:6px;display:flex}.keepsake .k-meta span{letter-spacing:.26em;color:#8a6f42;font-size:9px}.keepsake .k-meta i{background:#8a6f4266;flex:0 0 30px;height:1px;display:block}.keepsake p{letter-spacing:.06em;color:#2c302f;font-size:13.5px;line-height:1.7}.keepsake-actions{align-items:center;gap:6px;display:flex}.keepsake button{background:var(--ink);height:38px;color:var(--silk);letter-spacing:.2em;white-space:nowrap;padding:0 18px;font-size:10.5px;transition:background .3s,opacity .3s}.keepsake button:hover{background:#000}.keepsake button:disabled{opacity:.55;cursor:wait}.keepsake button.download{background:var(--seal)}.keepsake button.download:hover{background:#7f2a20}.keepsake button.continue{background:#8b6d3d}.keepsake button.continue:hover{background:#70552d}.suzhou-gallery{grid-template-rows:minmax(0,1fr) 104px 42px;grid-template-columns:minmax(300px,.74fr) minmax(480px,1.26fr);gap:14px 3.6vw;inset:88px 3.6vw 46px;overflow:hidden}.suzhou-gallery.active{animation:.9s cubic-bezier(.22,.8,.3,1) both suGalleryIn;display:grid}.suzhou-gallery:before{content:"蘇";z-index:-2;font-family:var(--kai);color:#ece5d308;pointer-events:none;font-size:min(55vh,620px);line-height:.8;position:absolute;bottom:-9vh;left:-1.5vw;transform:rotate(-8deg)}.suzhou-gallery:after{content:"";z-index:-3;pointer-events:none;background:radial-gradient(at 68% 42%,#c8a4681a,#0000 34%),radial-gradient(at 24% 58%,#7fc4bc0d,#0000 42%);position:absolute;inset:-10%}.suzhou-intro{align-self:center;max-width:520px;padding:0 0 12px 1.2vw;position:relative}.suzhou-intro:after{content:"";background:linear-gradient(#0000,#c8a46861,#0000);width:1px;position:absolute;top:9%;bottom:8%;right:-2vw}.suzhou-intro .chapter{margin-bottom:18px}.suzhou-intro h2{font-family:var(--kai);letter-spacing:.055em;font-size:clamp(35px,3.5vw,58px);font-weight:400;line-height:1.27}.suzhou-intro h2 em{color:#e2b59f;margin-top:4px;font-style:normal;display:inline-block}.suzhou-definition{border-left:1px solid var(--gold);max-width:500px;margin:22px 0 20px;padding:15px 0 0 18px}.suzhou-definition span{color:var(--gold);letter-spacing:.34em;margin-bottom:7px;font-size:8px;display:block}.suzhou-definition p{color:#a7aea6;letter-spacing:.065em;font-size:10.5px;line-height:1.95}.suzhou-keys{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:repeat(3,1fr);max-width:500px;display:grid}.suzhou-keys div{border-right:1px solid var(--hairline);grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:11px 12px;display:grid}.suzhou-keys div:last-child{border-right:0}.suzhou-keys dt{width:26px;height:26px;color:var(--gold);font-family:var(--kai);border:1px solid #c8a46873;place-content:center;font-size:16px;display:grid}.suzhou-keys dd{color:var(--muted);letter-spacing:.08em;font-size:8px;line-height:1.55}.su-work-stage{grid-template-columns:minmax(280px,1.12fr) minmax(230px,.72fr);align-items:center;gap:2.6vw;min-width:0;padding:0 1.1vw 0 0;display:grid}.su-work-visual{isolation:isolate;justify-self:center;width:min(100%,670px);height:min(53vh,530px);animation:.78s cubic-bezier(.22,.8,.3,1) both suVisualIn;position:relative}.su-work-visual:before{content:"";z-index:-2;filter:blur(16px);background:radial-gradient(#dac18b29,#7fc4bc0b 42%,#0000 72%);position:absolute;inset:-9%}.su-work-visual:after{content:"";z-index:3;background:linear-gradient(90deg,var(--xuan),transparent 13%,transparent 87%,var(--xuan)),linear-gradient(180deg,var(--xuan),transparent 13%,transparent 87%,var(--xuan));pointer-events:none;position:absolute;inset:-1px}.su-work-visual img{object-fit:contain;filter:saturate(1.08)contrast(1.04)brightness(1.02);width:100%;height:100%;-webkit-mask-image:radial-gradient(76% 72%,#000 56%,#000000e6 72%,#0000 100%);mask-image:radial-gradient(76% 72%,#000 56%,#000000e6 72%,#0000 100%)}.su-work-thread{z-index:4;pointer-events:none;filter:drop-shadow(0 0 5px #c8a46847);position:absolute;inset:-7%;overflow:hidden}.su-work-thread i{border-top:1px solid #dac08994;border-radius:50%;width:106%;height:27%;animation:8s ease-in-out infinite alternate suThreadFloat;position:absolute;top:47%;left:-3%;transform:rotate(-8deg)}.su-work-thread i:nth-child(2){border-color:#7fc4bc6b;height:49%;animation-delay:-2.6s;top:30%;transform:rotate(14deg)scaleY(.7)}.su-work-thread i:nth-child(3){border-color:#cf523857;height:28%;animation-delay:-5.2s;top:63%;transform:rotate(-17deg)}.current-work,.work-expression{z-index:6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);letter-spacing:.2em;background:#06080ac2;border:1px solid #c8a4685c;padding:7px 11px;font-size:8px;position:absolute;top:7%}.current-work{color:#dec79a;left:4%}.work-expression{color:#c4d7d1;border-color:#7fc4bc4d;right:4%}.su-work-copy{border-left:1px solid #c8a4686b;align-self:center;padding:24px 10px 24px 24px;animation:.62s 80ms both suCopyIn;position:relative}.su-work-copy:before{content:"";background:var(--seal);width:7px;height:7px;position:absolute;top:29px;left:-4px;transform:rotate(45deg)}.su-work-copy>span{color:var(--gold);letter-spacing:.28em;font-size:8px;display:block}.su-work-copy .work-category{color:#a8c7c1;letter-spacing:.16em;border:1px solid #7fc4bc40;margin:10px 0 4px;padding:5px 8px;font-size:8px;display:inline-flex}.su-work-copy h3{color:var(--silk);letter-spacing:.06em;margin:8px 0 9px;font-size:clamp(24px,2.1vw,38px);font-weight:400;line-height:1.34}.su-work-copy>small:not(.work-category){color:#9aa099;letter-spacing:.09em;font-size:9px;line-height:1.7;display:block}.su-work-copy>p{color:#b3b9b2;letter-spacing:.06em;margin:18px 0 16px;font-size:10px;line-height:1.95}.su-work-copy dl{border-top:1px solid var(--hairline);padding:12px 0 0}.su-work-copy dt{color:var(--gold);letter-spacing:.24em;margin-bottom:6px;font-size:8px}.su-work-copy dd{color:#d1c8b7;letter-spacing:.08em;font-size:10px;line-height:1.75}.su-work-list{border:1px solid var(--hairline);background:#d8cbac1f;grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:1px;min-width:0;display:grid}.su-work-list button{text-align:left;min-width:0;height:102px;color:var(--muted);background:#070a0ceb;grid-template-rows:1fr 1fr;grid-template-columns:30px 58px minmax(0,1fr);align-items:center;gap:0 12px;padding:10px 13px;transition:background .35s,color .35s;display:grid;position:relative;overflow:hidden}.su-work-list button:after{content:"";background:linear-gradient(90deg,var(--gold),var(--zhu));height:2px;transition:right .4s;position:absolute;bottom:0;left:0;right:100%}.su-work-list button:hover{color:var(--silk-dim);background:#ece5d30b}.su-work-list button.active{color:var(--silk);background:linear-gradient(120deg,#c8a46821,#070a0cf0 55%)}.su-work-list button.active:after{right:0}.su-work-list button>span{color:var(--gold);letter-spacing:.12em;grid-row:1/3;font-size:9px}.su-work-list img{object-fit:cover;opacity:.62;filter:saturate(.72);grid-row:1/3;width:58px;height:72px;transition:all .35s}.su-work-list button.active img,.su-work-list button:hover img{opacity:1;filter:saturate(1.05)}.su-work-list b{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.07em;align-self:end;font-size:10px;font-weight:400;overflow:hidden}.su-work-list small{text-overflow:ellipsis;white-space:nowrap;color:#777e78;letter-spacing:.08em;align-self:start;font-size:7.5px;overflow:hidden}.su-work-list button.active small{color:#aa9d82}.suzhou-actions{grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;min-width:0;display:flex}.suzhou-actions p{color:#727a74;letter-spacing:.1em;gap:4px;min-width:0;font-size:8px;display:grid}.suzhou-actions p b{text-overflow:ellipsis;white-space:nowrap;color:#d5c49f;font-size:9px;font-weight:400;overflow:hidden}.suzhou-actions p span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.suzhou-actions div{align-items:center;gap:6px;display:flex}.suzhou-actions button{border:1px solid var(--hairline);color:#b2b8b1;letter-spacing:.15em;white-space:nowrap;height:40px;padding:0 15px;font-size:9px;transition:all .3s}.suzhou-actions button:hover{border-color:var(--gold);color:var(--silk)}.suzhou-actions button.restart{background:var(--silk);color:var(--ink);border-color:var(--silk)}.suzhou-actions button.restart:hover{background:#fff}.suzhou-actions button.institute-entry{text-align:left;color:#e4d4af;background:linear-gradient(110deg,#c8a4682e,#7fc4bc0f);border-color:#c8a4689e;align-content:center;gap:3px;min-width:220px;height:50px;display:grid}.suzhou-actions button.institute-entry span{color:#8e9c95;letter-spacing:.24em;font-size:7px}.suzhou-actions button.institute-entry b{color:#eadab7;letter-spacing:.13em;font-size:9px;font-weight:400}.suzhou-actions button.institute-entry:hover{background:#c8a46838;transform:translateY(-2px)}.institute-page{background:#040608;inset:76px 0 42px;overflow:hidden}.institute-page.active{animation:1.1s cubic-bezier(.2,.78,.2,1) both instituteIn;display:block}.institute-particle-canvas{z-index:1;touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.institute-particle-canvas:active{cursor:grabbing}.institute-page:before{content:"研";z-index:2;font-family:var(--kai);color:#ece5d307;pointer-events:none;font-size:min(57vh,650px);line-height:.82;position:absolute;bottom:-10vh;right:-1.5vw}.institute-page:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#040608e0,#0000 37% 72%,#04060852),linear-gradient(#0406088a,#0000 25% 75%,#0406089e);position:absolute;inset:0}.institute-title{z-index:5;width:min(420px,31vw);position:absolute;top:8vh;left:5vw}.institute-title .chapter{color:var(--gold);letter-spacing:.28em;margin-bottom:20px;font-size:9px}.institute-title h2{font-family:var(--kai);letter-spacing:.04em;font-size:clamp(39px,4vw,68px);font-weight:400;line-height:1.24}.institute-title h2 em{color:#e1b29c;font-style:normal}.institute-title>p:last-child{color:#aeb5ae;letter-spacing:.07em;border-left:1px solid #c8a46885;margin-top:23px;padding-left:17px;font-size:11px;line-height:2}.institute-facts{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05080a85;border:1px solid #d8cbac29;width:min(310px,23vw);padding:19px 20px 17px;position:absolute;top:8vh;right:3.8vw}.institute-facts>span{color:var(--gold);letter-spacing:.25em;margin-bottom:15px;font-size:7.5px;display:block}.institute-facts dl{background:#d8cbac1a;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.institute-facts dl div{background:#06090beb;min-height:91px;padding:12px 10px}.institute-facts dt{color:#e9ddc0;margin-bottom:8px;font-size:18px;font-weight:500}.institute-facts dd{color:#89928b;letter-spacing:.05em;font-size:8px;line-height:1.65}.institute-facts>p{color:#6f7872;margin-top:13px;font-size:8px;line-height:1.7}.institute-control{z-index:6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05080aa3;border-top:1px solid #c8a46880;border-bottom:1px solid #d8cbac1f;width:min(450px,34vw);padding:15px 18px;position:absolute;bottom:5.2vh;left:5vw}.control-state{justify-content:space-between;align-items:center;gap:14px;display:flex}.control-state span{color:var(--gold);letter-spacing:.18em;font-size:9px}.control-state b{color:#aeb7b0;font-size:9px;font-weight:400}.control-metrics{gap:18px;margin-top:10px;display:flex}.control-metrics span{color:#717a74;letter-spacing:.1em;font-size:8px}.control-metrics b{color:#ddd1b7;font-weight:500}.gesture-legend{gap:18px;margin-top:13px;display:flex}.gesture-legend span{color:#9ca59f;letter-spacing:.06em;align-items:center;gap:7px;font-size:8.5px;display:flex}.gesture-legend i{border:1px solid #7fc4bc85;border-radius:50%;width:18px;height:18px;display:block;position:relative}.gesture-legend .two-hands:after{content:"";border:1px solid #cf523885;border-radius:50%;width:18px;height:18px;position:absolute;top:-1px;left:22px}.institute-control>p{color:#c58d7c;margin-top:10px;font-size:8px;line-height:1.6}.institute-actions{z-index:6;gap:6px;display:flex;position:absolute;bottom:5.2vh;right:4vw}.institute-actions button{border:1px solid var(--hairline);color:#b8bfb8;letter-spacing:.13em;background:#05080ab3;height:38px;padding:0 16px;font-size:9px}.institute-actions button:hover{border-color:var(--gold);color:var(--silk)}.institute-actions button.restart{border-color:var(--silk);background:var(--silk);color:var(--ink)}.institute-source{z-index:5;color:#59615d;letter-spacing:.1em;font-size:7px;position:absolute;bottom:1.7vh;right:4vw}.stage-mode .institute-title>p:last-child{font-size:14px;line-height:1.82}.stage-mode .institute-facts>span{font-size:10px}.stage-mode .institute-facts dd{font-size:11px}.stage-mode .control-state span,.stage-mode .control-state b{font-size:12px}.stage-mode .gesture-legend span{font-size:11px}.star-map-preview{z-index:48;border:1px solid var(--gold-dim);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090c0ef0;width:min(320px,27vw);padding:10px 10px 54px;display:none;position:absolute;top:90px;bottom:56px;right:3vw;box-shadow:0 28px 80px #000000b8}.star-map-preview.active{animation:.55s cubic-bezier(.22,.8,.3,1) both previewIn;display:block}.star-map-preview img{object-fit:contain;background:#050708;width:100%;height:100%}.preview-close{z-index:2;background:var(--silk);width:28px;height:28px;color:var(--ink);border-radius:50%;place-content:center;font-size:18px;display:grid;position:absolute;top:-12px;right:-12px;box-shadow:0 6px 18px #0006}.preview-caption{justify-content:space-between;align-items:center;height:36px;display:flex;position:absolute;bottom:9px;left:10px;right:10px}.preview-caption span{color:var(--muted);letter-spacing:.16em;font-size:8.5px}.preview-caption button{background:var(--silk);height:30px;color:var(--ink);letter-spacing:.14em;padding:0 13px;font-size:9.5px}.footer{z-index:30;border-top:1px solid var(--hairline);letter-spacing:.2em;height:42px;color:var(--faint);background:#06080a99;justify-content:space-between;align-items:center;padding:0 36px;font-size:9px;display:flex;position:absolute;bottom:0;left:0;right:0}.toast{z-index:60;background:var(--silk);color:var(--ink);letter-spacing:.14em;opacity:0;pointer-events:none;padding:10px 20px;font-size:11.5px;transition:all .3s;position:fixed;bottom:64px;left:50%;transform:translate(-50%,14px);box-shadow:0 10px 30px #00000080}.toast.show{opacity:1;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes riseIntro{0%{opacity:0;transform:translateY(calc(18px - 48%))}to{opacity:1;transform:translateY(-48%)}}@keyframes vchapIn{0%{opacity:0;transform:translateY(calc(14px - 50%))}to{opacity:1;transform:translateY(-50%)}}@keyframes riseCenter{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes riseWake{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes tagL{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes tagR{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:.2;transform:scaleX(.6)}50%{opacity:.9;transform:scaleX(1)}}@keyframes collisionCopy{0%,6%{opacity:0;transform:scale(.985)}15%,65%{opacity:1;transform:scale(1)}78%{opacity:.7;transform:scale(1.006)}to{opacity:0;transform:scale(1.018)}}@keyframes collisionHalo{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)}24%{opacity:1}72%{opacity:.44}to{opacity:0;transform:translate(-50%,-50%)scale(1.32)}}@keyframes artworkBridge{0%,51%{opacity:0;filter:blur(10px);transform:scale(1.04)}68%{opacity:.22;filter:blur(6px)}84%{opacity:.68;filter:blur(2px);transform:scale(1.012)}to{opacity:1;filter:none;transform:none}}@keyframes galleryBridge{0%,48%{opacity:0;transform:scale(.86)}70%{opacity:.42;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes revealCopyBridge{0%,66%{opacity:0;transform:translate(-18px)}84%{opacity:.38}to{opacity:1;transform:none}}@keyframes silkVeil{0%,45%{opacity:0}58%{opacity:1}84%{opacity:.86}to{opacity:0}}@keyframes veilCore{0%,43%{opacity:0;transform:translate(-50%,-50%)scale(.12)}59%{opacity:1;transform:translate(-50%,-50%)scale(.68)}78%{opacity:.72}to{opacity:0;transform:translate(-50%,-50%)scale(4.8)}}@keyframes veilThread{0%,43%{opacity:0;clip-path:inset(0 50%)}60%{opacity:.88}82%{opacity:.38;clip-path:inset(0)}to{opacity:0;clip-path:inset(0)}}@keyframes veilSweep{0%,52%{opacity:0;transform:translate(-82%)}64%{opacity:1}to{opacity:0;transform:translate(82%)}}@keyframes threadSweep{0%,7%{opacity:0;clip-path:inset(0 50%)}24%{opacity:.8}72%{opacity:.24;clip-path:inset(0)}to{opacity:0;clip-path:inset(0)}}@keyframes needlePoint{0%{opacity:0;transform:scale(.2)}16%{opacity:1;transform:scale(1.8)}58%{opacity:.75;transform:translate(32vw)scale(.7)}to{opacity:0;transform:translate(38vw)scale(.1)}}@keyframes sideThread{to{transform:scaleX(1)}}@keyframes stitchWrite{0%{clip-path:inset(0 100% 0 0);opacity:.2;filter:blur(3px)}to{clip-path:inset(0);opacity:1;filter:blur()}}@keyframes underlineStitch{to{transform:scaleX(1)}}@keyframes inscriptionReveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes awakeningStamp{0%{opacity:0;filter:blur(2px);transform:rotate(-7deg)scale(2.6)}to{opacity:1;filter:blur();transform:rotate(-7deg)scale(1)}}@keyframes panelIn{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}@keyframes previewIn{0%{opacity:0;transform:translate(24px)scale(.98)}to{opacity:1;transform:none}}@keyframes voiceRing{0%{opacity:.9;transform:scale(.45)}75%,to{opacity:0;transform:scale(1.45)}}@keyframes voiceHeard{0%{opacity:.2;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes logoOrbit{to{transform:rotate(342deg)}}@keyframes labIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}@keyframes studyOrbit{to{transform:rotate(360deg)}}@keyframes stitchDraw{0%{opacity:.08;filter:blur(.2px)}to{opacity:.66;filter:blur()}}@keyframes coreBreath{50%{opacity:.72;transform:scale(1.13)}}@keyframes dotTwinkle{0%{opacity:.18;transform:scale(.55)}to{opacity:1;transform:scale(1.35)}}@keyframes detailIn{0%{opacity:0;transform:translate(15px)}to{opacity:1;transform:none}}@keyframes teachDraw{0%{stroke-dashoffset:1px;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes needleHover{0%{opacity:.45;transform:translate(-2px,-2px)}to{opacity:1;transform:translate(2px,2px)}}@keyframes needleRipple{0%{opacity:.65;transform-origin:50%;transform:scale(.28)}75%,to{opacity:0;transform-origin:50%;transform:scale(1.55)}}@keyframes lensHoop{to{transform:rotate(360deg)}}@keyframes frontThread{0%,to{opacity:.48}50%{opacity:1}}@keyframes underThread{0%,to{stroke-dashoffset:0;opacity:.42}50%{stroke-dashoffset:-22px;opacity:.92}}@keyframes atmosphereFlow{to{stroke-dashoffset:-54px}}@keyframes mistBreath{0%{opacity:.24;transform-origin:50%;transform:scale(.92)}to{opacity:.72;transform-origin:50%;transform:scale(1.08)}}@keyframes rayBreath{0%{opacity:.12}to{opacity:.58}}@keyframes layerBreath{0%{opacity:.18;transform:scale(.9)}to{opacity:.72;transform:scale(1.08)}}@keyframes hotspotPulse{0%{opacity:.55;transform:scale(.65)}75%,to{opacity:0;transform:scale(1.45)}}@keyframes galleryRibbon{0%{opacity:.22;filter:blur(.2px)}to{opacity:.72;filter:blur();transform:rotate(-3deg)scaleY(1.12)}}@keyframes artworkOrbit{to{transform:translate(-50%,-50%)rotate(348deg)}}@keyframes handLockLine{0%{opacity:.4;transform-origin:0;transform:scaleX(.72)}to{opacity:1;transform-origin:0;transform:scaleX(1)}}.star-tag.right.hand-locked i{animation-name:handLockLineRight}@keyframes handLockLineRight{0%{opacity:.4;transform-origin:100%;transform:scaleX(.72)}to{opacity:1;transform-origin:100%;transform:scaleX(1)}}@keyframes suGalleryIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes suVisualIn{0%{opacity:0;filter:blur(4px);transform:scale(.97)translate(12px)}to{opacity:1;filter:none;transform:none}}@keyframes suCopyIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes suThreadFloat{0%{opacity:.22;transform:rotate(-8deg)scaleY(.9)}to{opacity:.7;transform:rotate(-3deg)scaleY(1.12)}}@keyframes instituteIn{0%{opacity:0;filter:blur(8px);transform:scale(1.018)}to{opacity:1;filter:none;transform:none}}.stage-mode .brand-text .eyebrow{color:#b7bdb5;font-size:11px}.stage-mode .brand-text h1{font-size:25px}.stage-mode .stage-pill{height:38px;font-size:14px}.stage-mode .top-actions button{color:#b7bdb5;padding:10px 16px;font-size:15px}.stage-mode .chapter,.stage-mode .vchapter{font-size:16px}.stage-mode .intro h2{font-size:clamp(46px,5vw,76px)}.stage-mode .intro-copy{color:#b5bbb3;max-width:510px;font-size:17px;line-height:1.9}.stage-mode .mode-card .mode-index{font-size:13px}.stage-mode .mode-card strong{font-size:20px}.stage-mode .mode-card small{color:#b4bab2;font-size:14px}.stage-mode .privacy-note{color:#979e97;font-size:13px}.stage-mode .wall-label dt{font-size:13px}.stage-mode .wall-label dd{font-size:17px}.stage-mode .wall-label dd small{font-size:14px}.stage-mode .guide{width:min(720px,68vw)}.stage-mode .ritual-heading span,.stage-mode .ritual-heading em{font-size:13px}.stage-mode .ritual-heading b{font-size:27px}.stage-mode .guide p{font-size:18px}.stage-mode .ritual-track span b{width:25px;height:25px;font-size:12px}.stage-mode .ritual-track span small{font-size:12px}.stage-mode .guide .guide-note{color:#aeb5ad;font-size:14px}.stage-mode .wake{min-width:320px;min-height:60px;font-size:16px}.stage-mode .wake small{font-size:12px}.stage-mode .star-tag{font-size:15px}.stage-mode .star-tag strong{font-size:24px}.stage-mode .reveal-copy .lede{color:#b4bab2;font-size:17px;line-height:1.82}.stage-mode .origin-facts b{font-size:23px}.stage-mode .origin-facts span{color:#aeb5ad;font-size:14px}.stage-mode .reveal-copy blockquote{font-size:15px;line-height:1.75}.stage-mode .art-hotspot{width:38px;height:38px;font-size:14px}.stage-mode .observation-note{width:min(430px,76%);padding:17px 19px}.stage-mode .observation-note span{font-size:12px}.stage-mode .observation-note h4{font-size:22px}.stage-mode .observation-note p{color:#bac0b8;font-size:14px;line-height:1.65}.stage-mode .lens-copy{width:230px;padding:13px 15px}.stage-mode .lens-copy span,.stage-mode .lens-copy small{font-size:12px}.stage-mode .lens-copy b{font-size:18px}.stage-mode .section-title span{font-size:13px}.stage-mode .section-title b{font-size:15px}.stage-mode .section-rule span{font-size:12px}.stage-mode .section-rule b{font-size:13px;line-height:1.5}.stage-mode .section-rule small{font-size:10px}.stage-mode .fabric-top,.stage-mode .fabric-bottom{font-size:12px}.stage-mode .section-steps span,.stage-mode .frame .badge{font-size:13px}.stage-mode .plaque h3{font-size:18px}.stage-mode .plaque dt{font-size:13px}.stage-mode .plaque dd{font-size:15px}.stage-mode .craft-head span{font-size:13px}.stage-mode .craft-head h2{font-size:clamp(29px,2.5vw,40px)}.stage-mode .craft-head p{color:#b1b8b0;font-size:15px;line-height:1.75}.stage-mode .craft .tabs button strong{font-size:18px}.stage-mode .craft .tabs button span,.stage-mode .craft .tabs button small,.stage-mode .stitch-legend{font-size:13px}.stage-mode .control-copy span{font-size:12px}.stage-mode .control-copy b{font-size:14px}.stage-mode .control-buttons button{padding:10px 12px;font-size:13px}.stage-mode .learning-points span{font-size:13px}.stage-mode .learning-points b{font-size:14px}.stage-mode .study-caption{font-size:12px}.stage-mode .study-caption b{font-size:14px}.stage-mode .craft .detail .role{font-size:13px}.stage-mode .craft .detail h3{font-size:44px}.stage-mode .craft .detail .action{font-size:15px}.stage-mode .craft .detail .desc{color:#b2b8b1;font-size:16px;line-height:1.78}.stage-mode .cosmic-link dt{font-size:13px}.stage-mode .cosmic-link dd{font-size:15px}.stage-mode .keepsake .k-meta span{font-size:14px}.stage-mode .keepsake p{font-size:18px}.stage-mode .keepsake button{font-size:14px}.stage-mode .suzhou-intro h2{font-size:clamp(42px,3.8vw,64px)}.stage-mode .suzhou-definition span{font-size:12px}.stage-mode .suzhou-definition p{color:#b7bdb5;font-size:14px;line-height:1.82}.stage-mode .suzhou-keys dt{font-size:19px}.stage-mode .suzhou-keys dd{color:#a9b0a8;font-size:11px}.stage-mode .su-work-copy>span{font-size:12px}.stage-mode .su-work-copy .work-category{font-size:11px}.stage-mode .su-work-copy h3{font-size:clamp(29px,2.35vw,43px)}.stage-mode .su-work-copy>small:not(.work-category){font-size:12px}.stage-mode .su-work-copy>p{font-size:14px;line-height:1.8}.stage-mode .su-work-copy dt{font-size:11px}.stage-mode .su-work-copy dd{font-size:13px}.stage-mode .current-work,.stage-mode .work-expression{font-size:11px}.stage-mode .su-work-list b{font-size:13px}.stage-mode .su-work-list small{font-size:10px}.stage-mode .su-work-list button>span{font-size:12px}.stage-mode .suzhou-actions p{font-size:11px}.stage-mode .suzhou-actions button{font-size:12px}.stage-mode .footer{color:#929a92;font-size:13px}@media (width>=1700px) and (height>=900px){.stage-mode .topbar{height:88px;padding:0 46px}.stage-mode .intro-copy{max-width:520px;font-size:17px}.stage-mode .guide{width:min(760px,68vw);top:108px}.stage-mode .reveal{grid-template-columns:minmax(570px,.95fr) minmax(650px,1.05fr);gap:5vw;inset:104px 5vw 52px}.stage-mode .gallery{max-width:680px}.stage-mode .craft{grid-template-columns:210px minmax(520px,1.05fr) minmax(420px,.8fr);inset:104px 3.5vw 126px}.stage-mode .teaching-stage svg{min-height:340px}.stage-mode .suzhou-gallery{grid-template-rows:minmax(0,1fr) 118px 46px;grid-template-columns:minmax(410px,.72fr) minmax(760px,1.28fr);gap:17px 4vw;inset:104px 4vw 48px}.stage-mode .su-work-visual{height:min(55vh,570px)}.stage-mode .su-work-list button{grid-template-columns:34px 68px minmax(0,1fr);height:116px}.stage-mode .su-work-list img{width:68px;height:86px}}@media (width<=960px){.topbar{height:64px;padding:0 18px}.brand-text .eyebrow,.brand-seal{display:none}.brand-text h1{font-size:16px}.cosmos-mark{transform-origin:0;margin-right:-5px;transform:scale(.86)}.stage-pill{display:none}.bg-char{font-size:44vh;right:-4vw}.vchapter{display:none!important}.intro{width:86vw;left:7vw;transform:translateY(-42%)}.intro h2{font-size:clamp(34px,8.6vw,54px)}.mode-chooser{grid-template-columns:1fr;width:86vw;max-height:260px;overflow-y:auto}.mode-card{border-left:1px solid var(--hairline);border-bottom:1px solid var(--hairline);min-height:78px}.mode-card small{display:none}.privacy-note{max-width:80vw;line-height:1.7}.wall-label{margin-top:20px}.scroll-hint,.star-tag{display:none!important}.reveal{inset:80px 6vw 52px;overflow-y:auto}.reveal.reveal-mounted{grid-template-columns:1fr;align-items:start;gap:34px}.gallery{justify-self:stretch}.guide{width:84vw}.ritual-heading em{display:none}.craft{grid-template-rows:auto 1fr auto;grid-template-columns:125px 1fr;inset:76px 3vw 112px;overflow:auto}.craft-head{grid-template-columns:1fr;gap:8px}.craft-head p{display:none}.stitch-study{border-right:0;min-height:300px}.craft .detail{border-top:1px solid var(--hairline);grid-column:1/-1}.silk-disc{width:min(58vw,340px)}.keepsake{grid-template-columns:1fr auto;bottom:52px;left:6vw;right:6vw}.suzhou-gallery{grid-template-rows:auto auto auto auto;grid-template-columns:1fr;gap:26px;padding-bottom:22px;inset:76px 4vw 48px;overflow-y:auto}.suzhou-intro{max-width:none;padding:0 2vw}.suzhou-intro:after{display:none}.suzhou-definition{max-width:none}.su-work-stage{grid-template-columns:1fr;gap:20px;padding:0 2vw}.su-work-visual{width:min(100%,680px);height:min(52vh,470px)}.su-work-copy{justify-self:center;width:min(100%,680px)}.su-work-list{grid-template-columns:repeat(2,1fr);margin:0 2vw}.suzhou-actions{flex-wrap:wrap;margin:0 2vw}.suzhou-actions p{white-space:normal;flex:100%;line-height:1.7}.star-map-preview{width:auto;inset:80px 10vw 116px}.footer{padding:0 18px}.footer span:first-child{display:none}}@media (width<=600px){html,body,#root{height:100dvh}body{overscroll-behavior:none}.app{min-height:100dvh}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#06080af5,#06080ab8);height:58px;padding:0 12px}.brand{gap:7px}.cosmos-mark{width:36px;margin-right:-8px;transform:scale(.72)}.brand-text h1{letter-spacing:.12em;gap:5px;font-size:14px}.brand-text h1 i{width:16px}.top-actions{gap:0}.top-actions .sound-level,.top-actions button:first-of-type{display:none}.stage-mode .top-actions button,.top-actions button{letter-spacing:.04em;border-left:0;min-width:44px;min-height:44px;padding:8px 7px;font-size:11px}.top-actions button:nth-last-child(2){border-left:1px solid var(--hairline)}.experience{inset:0}.universe-canvas{touch-action:none}.grain{opacity:.08}.vignette{box-shadow:inset 0 0 90px #0000007a}.bg-char{font-size:39vh;right:-12vw}.footer{letter-spacing:.08em;text-align:center;background:#06080ad1;justify-content:center;height:34px;padding:0 12px;font-size:8px}.stage-mode .footer{font-size:9px}.footer span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.intro{scrollbar-width:none;flex-direction:column;justify-content:flex-start;width:auto;padding:5vh 0 20px;inset:70px 20px 40px;overflow-y:auto;transform:none;display:flex!important}.intro::-webkit-scrollbar{display:none}.intro.active{animation:.65s both mobileRise}.intro h2,.stage-mode .intro h2{letter-spacing:.035em;font-size:clamp(34px,10.7vw,47px);line-height:1.25}.intro-copy,.stage-mode .intro-copy{letter-spacing:.055em;color:#b5bbb3;max-width:none;margin:16px 0 18px;font-size:13px;line-height:1.72}.mode-chooser{border-bottom:0;grid-template-columns:1fr;width:100%;max-height:none;overflow:visible}.mode-card{border-left:1px solid var(--hairline);grid-template-columns:auto 1fr auto;align-items:center;min-height:64px;padding:10px 38px 10px 12px}.mode-card .mode-index,.stage-mode .mode-card .mode-index{margin:0 11px 0 0;font-size:9px}.mode-card strong,.stage-mode .mode-card strong{margin:0;font-size:15px}.mode-card small{display:none}.privacy-note,.stage-mode .privacy-note{max-width:100%;margin-top:10px;font-size:10px;line-height:1.55}.wall-label{gap:2px 10px;width:100%;margin-top:11px;padding:9px 12px}.wall-label dt,.stage-mode .wall-label dt{font-size:9px}.wall-label dd,.stage-mode .wall-label dd{min-width:0;font-size:11px}.wall-label dd small,.stage-mode .wall-label dd small{font-size:9px}.guide,.stage-mode .guide{width:calc(100vw - 28px);padding:12px 10px 10px;top:70px}.ritual-heading{gap:7px}.ritual-heading span,.ritual-heading em,.stage-mode .ritual-heading span,.stage-mode .ritual-heading em{letter-spacing:.1em;font-size:9px;display:block}.ritual-heading b,.stage-mode .ritual-heading b{letter-spacing:.2em;font-size:19px}.guide p,.stage-mode .guide p{letter-spacing:.06em;font-size:12px;line-height:1.45}.ritual-track{margin:0 2px 4px}.ritual-track span b,.stage-mode .ritual-track span b{width:20px;height:20px;font-size:9px}.ritual-track span small,.stage-mode .ritual-track span small{letter-spacing:.08em;font-size:8px}.guide .guide-note,.stage-mode .guide .guide-note{letter-spacing:.07em;font-size:10px;line-height:1.45}.wake,.stage-mode .wake{letter-spacing:.09em;min-width:calc(100vw - 44px);min-height:50px;padding:9px 14px;font-size:12px;bottom:52px}.wake small{max-width:75vw}.collision .inner{min-width:100vw;padding:26px 16px 38px}.collision-chapter{letter-spacing:.2em;font-size:10px}.inscription-line.line-one{letter-spacing:.12em;font-size:clamp(34px,11vw,48px)}.inscription-line.line-two{letter-spacing:.05em;font-size:clamp(43px,13.8vw,61px)}.collision-signature{letter-spacing:.14em;gap:7px;font-size:7px}.collision-signature i{width:22px}.awakening-seal{width:34px;height:34px;font-size:21px}.reveal{overscroll-behavior:contain;padding:0 18px 26px;inset:66px 0 35px;overflow-y:auto}.reveal.reveal-mounted{grid-template-columns:1fr;gap:24px}.reveal-copy{padding-top:10px}.reveal-copy .chapter,.stage-mode .reveal-copy .chapter{margin-bottom:14px;font-size:11px}.reveal-copy h2{font-size:clamp(37px,11vw,50px)}.reveal-copy .lede,.stage-mode .reveal-copy .lede{margin:14px 0;font-size:13px;line-height:1.75}.origin-facts{grid-template-columns:1fr;max-width:none}.origin-facts div{border-right:0;border-bottom:1px solid var(--hairline);grid-template-columns:100px 1fr;align-items:center;padding:9px 5px;display:grid}.origin-facts div:last-child{border-bottom:0}.origin-facts b,.stage-mode .origin-facts b{margin:0;font-size:16px}.origin-facts span,.stage-mode .origin-facts span{font-size:11px}.reveal-copy blockquote,.stage-mode .reveal-copy blockquote{font-size:12px;line-height:1.7}.reveal-copy .btn-row{gap:14px}.reveal-copy .btn-primary{min-width:166px}.gallery{max-width:none;padding-bottom:16px}.observation-frame{border-radius:34% 38% 32% 35%/12% 14% 11% 13%;margin:0 -8px}.observation-frame img{transform:scale(1.04)}.stitch-lens{display:none}.art-hotspot,.stage-mode .art-hotspot{width:34px;height:34px;font-size:12px}.observation-note,.stage-mode .observation-note{background:#06080ae6;width:calc(100% - 20px);margin:-24px auto 0;padding:13px 14px;position:relative;bottom:auto;left:auto}.observation-note span,.stage-mode .observation-note span{font-size:9px}.observation-note h4,.stage-mode .observation-note h4{font-size:17px}.observation-note p,.stage-mode .observation-note p{font-size:11px}.frame .badge{display:none}.plaque{width:100%;margin:10px 0 0;padding:14px 10px 14px 12px}.plaque:before,.plaque-seal{display:none!important}.plaque h3,.stage-mode .plaque h3{font-size:17px}.plaque dl{grid-template-columns:76px 1fr;gap:3px 8px}.plaque dt,.stage-mode .plaque dt{font-size:10px}.plaque dd,.stage-mode .plaque dd{font-size:11px}.craft{background:#070a0cfb;border-left:0;border-right:0;grid-template-rows:auto auto minmax(480px,auto) auto;grid-template-columns:1fr;padding-bottom:244px;display:none;inset:66px 0 35px;overflow:hidden auto}.craft.active{display:grid}.craft-head{grid-column:1;padding:16px 16px 13px}.craft-head span,.stage-mode .craft-head span{font-size:10px}.craft-head h2,.stage-mode .craft-head h2{font-size:25px;line-height:1.38}.craft .tabs{border-right:0;border-bottom:1px solid var(--hairline);scroll-snap-type:x mandatory;scrollbar-width:none;flex-direction:row;gap:6px;padding:9px 12px;overflow-x:auto}.craft .tabs::-webkit-scrollbar{display:none}.craft .tabs button{scroll-snap-align:start;border:1px solid #d8cbac17;flex:0 0 112px;grid-template-columns:20px 1fr;min-height:62px;padding:8px}.craft .tabs button span,.stage-mode .craft .tabs button span{font-size:9px}.craft .tabs button strong,.stage-mode .craft .tabs button strong{font-size:14px}.craft .tabs button small,.stage-mode .craft .tabs button small{font-size:9px}.stitch-study{border-right:0;min-height:560px}.stitch-study.teaching{grid-template-rows:330px auto auto;padding:8px 8px 10px}.teaching-stage svg{min-height:310px}.hoop-title{font-size:7px;top:3%}.stitch-legend{gap:8px;font-size:6.5px;bottom:5%;left:6%}.silk-direction{bottom:5%;right:5%}.silk-section{padding:14px 10px;inset:38px 5px 90px}.section-title{gap:12px}.section-title span,.stage-mode .section-title span{font-size:9px}.section-title b,.stage-mode .section-title b{text-align:right;font-size:10px}.section-rule{grid-template-columns:1fr;gap:5px}.section-rule span,.stage-mode .section-rule span{font-size:9px}.section-rule b,.stage-mode .section-rule b{font-size:10px}.section-rule small{grid-column:1}.fabric-section{min-height:190px}.section-steps{gap:4px;padding:0}.section-steps span,.stage-mode .section-steps span{font-size:8px;line-height:1.4}.teaching-controls{flex-direction:column;align-items:flex-start;padding:9px 4px}.control-copy span,.stage-mode .control-copy span{font-size:9px}.control-copy b,.stage-mode .control-copy b{font-size:10px}.control-buttons{grid-template-columns:repeat(4,1fr);width:100%;display:grid}.control-buttons button,.stage-mode .control-buttons button{min-height:40px;padding:6px 3px;font-size:9px}.learning-points{padding:9px 4px 13px}.learning-points span,.stage-mode .learning-points span{font-size:9px}.learning-points b,.stage-mode .learning-points b{font-size:10px}.craft .detail{border-top:1px solid var(--hairline);grid-column:1;padding:22px 18px 32px;overflow:visible}.detail-index{font-size:70px}.craft .detail .role,.stage-mode .craft .detail .role{font-size:10px}.craft .detail h3,.stage-mode .craft .detail h3{font-size:36px}.craft .detail .action,.stage-mode .craft .detail .action{font-size:12px}.craft .detail .desc,.stage-mode .craft .detail .desc{font-size:13px;line-height:1.72}.cosmic-link dt,.stage-mode .cosmic-link dt{font-size:10px}.cosmic-link dd,.stage-mode .cosmic-link dd{font-size:12px}.keepsake{grid-template-columns:1fr;gap:9px;padding:12px 9px 12px 18px;bottom:42px;left:10px;right:10px}.keepsake .k-meta{flex-wrap:wrap;gap:5px 8px}.keepsake .k-meta i{display:none}.keepsake .k-meta span,.stage-mode .keepsake .k-meta span{letter-spacing:.12em;font-size:9px}.keepsake p,.stage-mode .keepsake p{font-size:12px;line-height:1.55}.keepsake-actions{grid-template-columns:repeat(2,1fr);display:grid}.keepsake button,.stage-mode .keepsake button{letter-spacing:.08em;height:40px;padding:0 7px;font-size:10px}.keepsake button.continue{grid-column:1/-1}.star-map-preview{width:auto;padding-bottom:50px;inset:68px 12px 42px}.suzhou-gallery{grid-template-rows:auto auto auto auto;grid-template-columns:1fr;gap:24px;padding:8px 16px 28px;display:none;inset:66px 0 35px;overflow:hidden auto}.suzhou-gallery.active{display:grid}.suzhou-gallery:before{font-size:42vh}.suzhou-intro{padding:0}.suzhou-intro .chapter,.stage-mode .suzhou-intro .chapter{margin-bottom:14px;font-size:11px}.suzhou-intro h2,.stage-mode .suzhou-intro h2{font-size:clamp(33px,9.7vw,43px);line-height:1.3}.suzhou-definition{margin:16px 0 14px;padding:12px 0 0 12px}.suzhou-definition span,.stage-mode .suzhou-definition span{font-size:9px}.suzhou-definition p,.stage-mode .suzhou-definition p{font-size:12px;line-height:1.72}.suzhou-keys{grid-template-columns:1fr}.suzhou-keys div{border-right:0;border-bottom:1px solid var(--hairline);padding:8px 9px}.suzhou-keys div:last-child{border-bottom:0}.suzhou-keys dt,.stage-mode .suzhou-keys dt{font-size:17px}.suzhou-keys dd,.stage-mode .suzhou-keys dd{font-size:11px}.su-work-stage{grid-template-columns:1fr;gap:14px;padding:0}.su-work-visual{width:100%;height:310px}.current-work,.work-expression,.stage-mode .current-work,.stage-mode .work-expression{padding:5px 7px;font-size:8px;top:4%}.su-work-copy{width:100%;padding:18px 4px 18px 16px}.su-work-copy>span,.stage-mode .su-work-copy>span,.su-work-copy .work-category,.stage-mode .su-work-copy .work-category{font-size:9px}.su-work-copy h3,.stage-mode .su-work-copy h3{font-size:28px}.su-work-copy>small:not(.work-category),.stage-mode .su-work-copy>small:not(.work-category){font-size:10px}.su-work-copy>p,.stage-mode .su-work-copy>p{font-size:12px;line-height:1.72}.su-work-copy dt,.stage-mode .su-work-copy dt{font-size:9px}.su-work-copy dd,.stage-mode .su-work-copy dd{font-size:11px}.su-work-list{scroll-snap-type:x mandatory;scrollbar-width:none;background:0 0;border:0;gap:8px;margin:0;padding-bottom:4px;display:flex;overflow-x:auto}.su-work-list::-webkit-scrollbar{display:none}.su-work-list button{border:1px solid var(--hairline);scroll-snap-align:start;flex:0 0 244px;grid-template-columns:24px 52px minmax(0,1fr);height:92px;padding:8px}.su-work-list img{width:52px;height:68px}.su-work-list button>span,.stage-mode .su-work-list button>span{font-size:9px}.su-work-list b,.stage-mode .su-work-list b{font-size:11px}.su-work-list small,.stage-mode .su-work-list small{font-size:8px}.suzhou-actions{align-items:stretch;margin:0}.suzhou-actions p,.stage-mode .suzhou-actions p{font-size:9px}.suzhou-actions div{grid-template-columns:1fr;width:100%;display:grid}.suzhou-actions button,.stage-mode .suzhou-actions button{width:100%;height:42px;font-size:11px}.suzhou-actions button.institute-entry,.stage-mode .suzhou-actions button.institute-entry{min-width:0;height:54px}.institute-page{padding-bottom:360px;inset:66px 0 34px;overflow:hidden auto}.institute-particle-canvas{width:100%;height:48vh;min-height:350px;position:sticky;top:0}.institute-page:after{background:linear-gradient(#04060814,#0406082e 38%,#040608 58%)}.institute-page:before{font-size:38vh;position:fixed}.institute-title{z-index:5;background:linear-gradient(#05080ad1,#05080af5);border-top:1px solid #c8a46873;width:auto;margin:-44px 16px 0;padding:18px 15px 16px;position:relative;top:auto;left:auto}.institute-title .chapter,.stage-mode .institute-title .chapter{margin-bottom:12px;font-size:9px;line-height:1.7}.institute-title h2,.stage-mode .institute-title h2{font-size:38px;line-height:1.28}.institute-title>p:last-child,.stage-mode .institute-title>p:last-child{margin-top:15px;font-size:12px;line-height:1.72}.institute-facts{z-index:5;width:auto;margin:14px 16px 0;padding:15px;position:relative;top:auto;right:auto}.institute-facts>span,.stage-mode .institute-facts>span{font-size:8px;line-height:1.7}.institute-facts dl div{min-height:82px}.institute-facts dt{font-size:16px}.institute-facts dd,.stage-mode .institute-facts dd{font-size:9px}.institute-control{z-index:6;width:auto;margin:14px 16px 0;position:relative;bottom:auto;left:auto}.control-state{flex-direction:column;align-items:flex-start;gap:6px}.control-state span,.control-state b,.stage-mode .control-state span,.stage-mode .control-state b{font-size:10px}.gesture-legend{flex-direction:column;gap:8px}.gesture-legend span,.stage-mode .gesture-legend span{font-size:10px}.institute-actions{z-index:6;grid-template-columns:1fr;margin:14px 16px 0;display:grid;position:relative;bottom:auto;right:auto}.institute-actions button{width:100%;height:42px;font-size:10px}.institute-source{z-index:6;margin:12px 16px 0;padding-bottom:20px;font-size:8px;line-height:1.6;position:relative;bottom:auto;right:auto}.toast{text-align:center;max-width:calc(100vw - 32px);font-size:10px;bottom:48px}}@media (width<=600px) and (height<=720px){.intro{padding-top:16px}.intro h2,.stage-mode .intro h2{font-size:32px}.intro-copy,.stage-mode .intro-copy{margin:10px 0 12px;font-size:11px}.mode-card{min-height:52px}.privacy-note{display:none}.wall-label{margin-top:7px}.guide,.stage-mode .guide{top:63px}.wake,.stage-mode .wake{bottom:43px}}@media (height<=900px) and (width>=961px){.suzhou-gallery{grid-template-rows:minmax(0,1fr) 92px 36px;gap:9px 3.1vw;inset:82px 3.2vw 44px}.suzhou-intro h2{font-size:clamp(31px,3.05vw,47px)}.suzhou-definition{margin:14px 0 13px;padding-top:10px}.suzhou-definition p{font-size:9.5px;line-height:1.72}.suzhou-keys div{padding:8px 9px}.su-work-visual{height:min(50vh,430px)}.su-work-copy{padding-top:16px;padding-bottom:16px}.su-work-copy>p{margin:12px 0;line-height:1.72}.su-work-list button{grid-template-columns:26px 48px minmax(0,1fr);gap:0 9px;height:90px;padding:7px 9px}.su-work-list img{width:48px;height:64px}.suzhou-actions button{height:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
