:root{color-scheme:light;font-family:"Microsoft YaHei",Arial,sans-serif;color:#493d2b;background:#ede7db}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid #805c38;outline-offset:3px}.film{width:100%;min-height:100svh;background:#f5f0e6}header{height:92px;display:flex;align-items:center;gap:18px;padding:18px 34px;border-bottom:1px solid #d6c7af}.seal{font:28px SimSun,serif;border:1px solid #aa8d64;padding:8px}header small{font-size:9px;letter-spacing:.22em;color:#8d7c61}h1{font:23px/1.6 SimSun,serif;margin:5px 0 0}.demo-label{margin-left:auto;color:#89775e;font-size:11px}.stage{height:calc(100svh - 194px);min-height:430px;position:relative;overflow:hidden;background:#e6dfd2}iframe{position:absolute;border:0;width:100%;height:100%;pointer-events:none}.capture{position:absolute;inset:0;background:#eae3d6;display:flex;align-items:center;justify-content:center;gap:5vw;padding:30px 6%;transition:opacity .65s,visibility .65s;z-index:2}.capture-copy{width:40%;max-width:460px}.eyebrow{font-size:10px;letter-spacing:.15em;color:#937a55}.capture h2{font:clamp(25px,3.2vw,48px)/1.4 SimSun,serif;margin:23px 0}.capture-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:#7d6d55}.capture-copy>small{font-size:10px;line-height:1.9;color:#99866a;display:block;max-width:30em;margin-top:24px}.phone{width:192px;height:325px;flex:none;border:7px solid #514a40;border-radius:27px;padding:24px 8px 0;background:#f7f1e7;box-shadow:10px 18px 35px #604e3220;position:relative;transform:rotate(-5deg);transition:transform .8s}.camera-dot{position:absolute;top:8px;left:45%;width:23px;height:4px;border-radius:3px;background:#90806a}.snapshot{height:240px;position:relative;overflow:hidden;background:linear-gradient(140deg,#c8bea9,#999f8c 65%,#b4a88b)}.snapshot:after{content:'';position:absolute;left:0;right:0;height:30%;bottom:0;background:#7a593543}.gourd-art{height:92%;width:100%;position:relative;z-index:1;filter:drop-shadow(6px 9px 4px #4c381e50)}.clutter{position:absolute;background:#d2cec0;transform:rotate(30deg);width:40px;height:140px;left:12px;top:15px}.clutter.two{background:#797d67;left:110px;top:45px;transform:rotate(-15deg)}.clutter.three{background:#c5ac84;left:20px;top:170px;width:150px;height:45px}.phone>p{text-align:center;font-size:9px;color:#85745a;margin:10px 0}.scan{position:absolute;left:0;right:0;height:2px;background:#ede4bb;box-shadow:0 0 18px 5px #ffeccb70;top:0;opacity:0;z-index:3}.cutout-result{max-width:180px;width:18%;opacity:0;transform:translateX(-20px);transition:opacity .7s,transform .7s;text-align:center}.cutout-result>span{font-size:11px;letter-spacing:.1em}.checker{height:230px;margin:14px 0;background:conic-gradient(#ddd7cb 25%,#f2ece1 0 50%,#ddd7cb 0 75%,#f2ece1 0) 0 0/18px 18px;border:1px solid #c9bca6;padding:14px}.cutout-result small{font-size:10px;line-height:1.8;color:#8a795f}.stage[data-step="1"] .cutout-result{opacity:1;transform:none}.stage[data-step="1"] .phone{transform:rotate(0) translateX(-10px)}.stage[data-step="1"] .scan{opacity:1;top:var(--scan,100%)}.stage[data-room="true"] .capture{opacity:0;visibility:hidden;pointer-events:none}.scene-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 34px 25px;background:linear-gradient(transparent,#f5f0e6f2 40%);z-index:3;display:flex;justify-content:space-between;align-items:end;gap:16px;pointer-events:none}.scene-caption small{font-size:10px;letter-spacing:.2em;color:#9a7d52}.scene-caption h2{font:25px/1.5 SimSun,serif;margin:7px 0}.scene-caption p{font-size:12px;color:#7e6d54;line-height:1.8;margin:0}#action-badge{font-size:11px;letter-spacing:.04em;background:#f7f0e4d9;border:1px solid #c9b699;padding:9px 14px;border-radius:3px}.room-tags{position:absolute;top:22px;left:32px;display:flex;gap:10px;opacity:0}.room-tags span{font-size:10px;background:#f7f0e4cf;padding:6px 10px;border:1px solid #c9b69980}.stage[data-room="true"] .room-tags{opacity:1}footer{min-height:74px;position:relative;padding:16px 32px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #d6c7af}.chapters{display:flex;gap:8px}.chapters button{background:none;border:0;padding:8px 12px;font-size:11px;color:#9c8c73;border-bottom:1px solid transparent}.chapters button[aria-current=true]{color:#5e482b;border-color:#7c6140}.playback{display:flex;align-items:center;gap:12px;white-space:nowrap}.playback button{background:transparent;border:1px solid #ccbaa0;padding:6px 10px;color:#6f593c;border-radius:3px;font-size:11px}.playback span{font-size:10px;color:#9c8c73;font-variant-numeric:tabular-nums}.track{position:absolute;bottom:0;left:0;right:0;height:3px;background:#e3d8c6}#progress{height:100%;width:0;background:#a8844d}.film-note{font-size:9px;letter-spacing:.05em;color:#9c8c73;text-align:center;margin:8px 0 12px}
@media(max-width:700px){header{height:85px;padding:12px 18px;gap:10px}h1{font-size:17px}header small{font-size:7px}.seal{font-size:22px}.demo-label{display:none}.stage{height:660px;min-height:0}.capture{padding:25px 22px 145px;gap:20px;flex-wrap:wrap;align-content:start}.capture-copy{width:100%;max-width:none}.capture h2{font-size:25px;margin:9px 0}.capture-copy>p:not(.eyebrow){font-size:11px;line-height:1.8}.capture-copy>small{font-size:9px;margin-top:6px;max-width:none}.phone{width:128px;height:216px;border-width:5px;border-radius:19px;padding-top:17px}.snapshot{height:155px}.phone>p{font-size:7px;margin:6px 0}.cutout-result{width:125px;max-width:none}.checker{height:155px;margin:7px 0}.cutout-result small{font-size:9px}.scene-caption{padding:24px 20px 18px;display:block}.scene-caption h2{font-size:21px}.scene-caption p{font-size:11px}#action-badge{display:inline-block;font-size:10px;margin-top:9px;padding:5px 8px}.room-tags{left:18px;gap:5px}.room-tags span{font-size:9px;padding:5px 7px}footer{padding:10px 14px 14px;gap:9px;flex-wrap:wrap;justify-content:center}.chapters{width:100%;justify-content:center;gap:0}.chapters button{font-size:9px;padding:8px 6px;white-space:nowrap}.playback{justify-content:center}.film-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){.capture,.phone,.cutout-result{transition:none}}
