@font-face{font-family:"ZCOOL XiaoWei";src:url("/千纸鹤_demo/fonts/ZCOOLXiaoWei-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Dancing Script";src:url("/千纸鹤_demo/fonts/DancingScript.ttf") format("truetype");font-weight:400 700;font-display:swap}
@font-face{font-family:Inter;src:url("/千纸鹤_demo/fonts/Inter.ttf") format("truetype");font-display:swap}
:root{--paper:#f3f2ee;--ink:#111;--glass:rgba(255,255,255,.46)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:Inter,"Microsoft YaHei",sans-serif}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
#home{position:relative;width:100vw;height:100vh;overflow:hidden;isolation:isolate;background:var(--paper)}
.model-layer{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.glass-layer{position:absolute;inset:0;z-index:2;pointer-events:none;background:rgba(255,255,255,.12);backdrop-filter:blur(2px) saturate(112%);-webkit-backdrop-filter:blur(2px) saturate(112%);border:1px solid rgba(255,255,255,.58);box-shadow:inset 0 0 54px rgba(255,255,255,.11),inset 0 1px 0 rgba(255,255,255,.5)}
.masthead,.reel-wrap,.sound,.hint{position:absolute;z-index:4}
.catalog-enter{display:none}
.masthead{top:17vh;left:50%;width:min(70vw,650px);transform:translateX(-50%);text-align:center;pointer-events:none}
.masthead h1{margin:0;font:400 clamp(70px,11vw,150px)/.9 "Dancing Script",cursive;letter-spacing:-.035em}
.name{margin:28px 0 0;font-size:12px;letter-spacing:.22em}
.reel-wrap{left:50.7%;top:64.1vh;transform:translateX(-50%);width:36.5vw;aspect-ratio:2.05/1;margin:0;background:#111;overflow:hidden;border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 42px rgba(16,24,24,.16)}
.reel-wrap video{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.96)}
.reel-label{position:absolute;left:14px;bottom:11px;color:#fff;font-size:10px;letter-spacing:.1em;text-shadow:0 1px 5px #000}
.sound{top:24px;right:2.6vw;font-size:12px;letter-spacing:.02em;text-shadow:0 1px 8px rgba(255,255,255,.8);z-index:5}
.sound.is-on{color:#1f5c51}
.hint{bottom:25px;margin:0;font-size:11px;letter-spacing:.01em;z-index:5}.hint-left{left:2.6vw}.hint-right{right:2.6vw}
.status{position:absolute;left:50%;top:52%;z-index:8;transform:translate(-50%,-50%);font-size:11px;opacity:.6;transition:opacity .5s}.status.done{opacity:0;pointer-events:none}
.model{position:absolute;left:0;top:0;width:var(--size);height:var(--size);transform:translate3d(var(--px),var(--py),0) rotate(var(--rot));opacity:0;transition:transform 1.1s cubic-bezier(.16,.8,.22,1),opacity .35s;will-change:transform;filter:drop-shadow(0 15px 16px rgba(24,30,30,.14))}
.model.is-landed{transform:translate3d(calc(var(--target-x) + var(--push-x)),calc(var(--target-y) + var(--push-y)),0) rotate(var(--rot));opacity:1}
.model-surface{position:absolute;inset:13%;overflow:hidden;background:var(--cover);border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(14,30,30,.18),inset 0 0 25px rgba(255,255,255,.26)}
.model-surface::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 34%,rgba(20,50,50,.22));mix-blend-mode:screen}
.model-surface img{width:100%;height:100%;object-fit:cover;display:block;opacity:.78;mix-blend-mode:multiply}
.model-geom{position:absolute;inset:5%;border:1px solid color-mix(in srgb,var(--accent) 70%,white);background:color-mix(in srgb,var(--accent) 16%,transparent);clip-path:polygon(50% 0,100% 100%,0 100%);mix-blend-mode:multiply}
.model-geom::before,.model-geom::after{content:"";position:absolute;inset:12%;border:1px solid color-mix(in srgb,var(--accent) 65%,white);transform:rotate(22deg);clip-path:polygon(50% 0,100% 100%,0 100%)}.model-geom::after{transform:rotate(-22deg)}
.model.crane .model-geom{clip-path:polygon(50% 0,65% 31%,100% 20%,72% 47%,90% 100%,50% 72%,12% 100%,28% 47%,0 20%,35% 31%);background:color-mix(in srgb,var(--accent) 18%,transparent)}
.model.crane .model-geom::before{inset:27% 42% 14%;transform:rotate(-8deg);clip-path:none;border-radius:40% 40% 18% 18%}.model.crane .model-geom::after{inset:18% 5%;transform:none;clip-path:polygon(50% 0,100% 100%,50% 82%,0 100%);border-width:1px}
@keyframes settle{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.masthead{top:14vh;width:92vw}.masthead h1{font-size:clamp(56px,16vw,100px)}.name{margin-top:18px;font-size:10px}.reel-wrap{top:65vh;width:76vw}.hint{font-size:10px}.hint-right{right:3vw;max-width:42vw;text-align:right}.sound{font-size:10px}}
@media(max-width:700px){.hint-left{display:none}.catalog-enter{display:block;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:12;padding:10px 14px;border:1px solid rgba(20,35,35,.35);background:rgba(246,247,242,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:10px;letter-spacing:.08em;white-space:nowrap;box-shadow:0 7px 24px rgba(16,24,24,.12)}}
@media(prefers-reduced-motion:reduce){.model{transition:none}}
.glass-layer{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}
.glass-layer canvas{display:block;width:100%;height:100%}
.reel-wrap{border:0;box-shadow:0 1px 0 #ffffffad;overflow:visible}
.reel-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 7px 12px -5px #071016b3,inset 5px 0 9px -6px #061315a6,inset 0 -1px 1px #ffffffb3}
.reel-wrap video{filter:none}
#homeGlassControls{position:fixed;z-index:8;right:24px;top:58px;font-size:11px;color:#283933;text-align:right}
#homeGlassControls[open]{padding:12px;background:#f5f6f0e8;border:1px solid #fff}
#homeGlassControls summary{cursor:pointer}#homeGlassControls label{display:block;margin-top:10px}
#homeGlassControls input{width:100px;vertical-align:middle}
@media(max-aspect-ratio:1/1){
 .masthead{top:14vh;width:94vw}
 .masthead h1{font-size:clamp(78px,19vw,165px)}
 .reel-wrap{width:76vw;left:50%;top:68vh}
 .name{margin-top:20px}
}
@media(min-aspect-ratio:2/1){
 .masthead{top:10vh}
 .masthead h1{font-size:clamp(90px,21vh,150px)}
 .reel-wrap{width:min(40vw,63vh);top:59vh}
}

