*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#32262a;background:#f6f3ee}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9a624b;outline-offset:5px}[hidden]{display:none!important}header,footer{display:flex;align-items:center;justify-content:space-between}header{padding:28px 4.5vw;border-bottom:1px solid #dcd5cf}.brand{font-size:21px;letter-spacing:.15em;font-weight:650}.brand-sub{display:block;font-size:10px;letter-spacing:.2em;margin-top:7px;font-weight:450}.edition{font-size:12px;letter-spacing:.13em}.experience{display:grid;grid-template-columns:1.1fr 1fr;min-height:740px}.visual{position:relative;background:radial-gradient(ellipse at 50% 45%,#efe4d9,#e1d2c5);min-height:740px;overflow:hidden}.visual-label{position:absolute;top:30px;left:30px;font-size:13px;letter-spacing:.05em;z-index:1}.visual-foot{position:absolute;bottom:28px;left:30px;font-size:13px;color:#64524d}#preview{position:absolute;inset:60px 0 44px;touch-action:none}#preview canvas{width:100%;height:100%;display:block}#preview-status{position:absolute;left:30px;top:50%;max-width:80%;font-size:14px}.intro{padding:68px clamp(30px,5vw,88px) 44px;max-width:660px}.eyebrow{font-size:13px;letter-spacing:.17em;color:#795545}h1{font-size:clamp(40px,4.3vw,66px);line-height:1.2;font-weight:500;letter-spacing:-.045em;margin:24px 0}.lede{font-size:16px;line-height:1.85;color:#6d5d58;margin:0 0 30px}.primary{width:100%;min-height:58px;border:0;border-radius:3px;background:#4b3036;color:#fffaf4;font-size:17px;letter-spacing:.05em}.primary:hover{background:#613e46}.permission{text-align:center;font-size:12px;color:#7a6d65;margin:12px 0 28px}.instructions{display:grid;gap:15px;margin-bottom:30px}.instructions div{display:flex;align-items:center;gap:17px;font-size:14px}.instructions b{font:italic 20px Georgia,serif;color:#997963}.download{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid #d4c9bf;border-bottom:1px solid #d4c9bf;font-size:15px;text-decoration:none}.download span{font-size:23px}.print-note{font-size:12px;color:#7a6d65;line-height:1.7}details{font-size:14px;line-height:1.8;margin-top:24px}summary{cursor:pointer}details p{color:#6d5d58}footer{padding:25px 4.5vw;border-top:1px solid #dcd5cf;font-size:12px;color:#72635e}footer span:last-child{font-size:10px;letter-spacing:.14em}#ar{position:fixed;inset:0;background:#171516;z-index:10}#camera{position:absolute;inset:0;overflow:hidden}#camera canvas{position:absolute;inset:0}.ar-top{position:absolute;top:max(18px,env(safe-area-inset-top));left:18px;right:18px;display:flex;justify-content:space-between;gap:10px;z-index:12}.glass{background:rgba(26,23,25,.8);backdrop-filter:blur(12px);color:#fff;border:1px solid #ffffff30;border-radius:30px;padding:12px 18px;font-size:14px}.ar-top span{font-size:12px;display:flex;align-items:center}.ar-bottom{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:20px;right:20px;text-align:center;z-index:12}#ar-status{display:inline-block;margin:0 0 15px;max-width:100%;line-height:1.5}.ar-controls{display:flex;justify-content:center;gap:8px}.ar-controls button{border:1px solid #ffffff40;background:#282226dc;color:white;padding:12px 18px;border-radius:30px;min-height:48px}#scan-guide{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.scan-frame{width:min(60vw,280px);aspect-ratio:5/7;border:1px solid #ffffff90;border-radius:12px;box-shadow:0 0 0 500px #00000020}#error{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);padding:25px;background:#fffaf5;box-shadow:0 10px 120px #0009;border-radius:12px;width:min(90vw,430px);line-height:1.7;font-size:16px}#error button{padding:12px 22px;background:#4b3036;color:white;border:0;border-radius:4px}@media(max-width:740px){header{padding:20px 22px}.brand{font-size:18px}.edition{font-size:10px}.experience{display:flex;flex-direction:column;min-height:0}.visual{min-height:340px;height:40svh;max-height:430px}.visual-label{top:20px;left:22px;font-size:12px}.visual-foot{bottom:20px;left:22px;font-size:12px}#preview{inset:36px 0 25px}.intro{padding:28px 24px 40px;max-width:100%;display:flex;flex-direction:column}.eyebrow{font-size:12px}h1{font-size:35px;line-height:1.3;margin:12px 0 16px}h1 br{display:none}.lede{font-size:15px;margin-bottom:23px}.instructions{margin-top:0}footer{padding:22px;gap:15px}footer span:last-child{font-size:8px}.permission{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

#piece-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:0 0 18px}#piece-picker button{aspect-ratio:1;border:1px solid #cdbfb2;border-radius:50%;background:#f5eee5;color:#634939;font-family:serif;font-size:22px;transition:background .15s}#piece-picker button[aria-pressed=true]{background:#4b3036;color:#fff8ed;border-color:#4b3036}.piece-detail{min-height:110px}.piece-detail h2{font-size:20px;font-weight:500;margin:0 0 9px}.piece-detail p{font-size:14px;line-height:1.7;color:#79665a;margin:0 0 20px}@media(max-width:740px){#piece-picker{gap:7px}.piece-detail{min-height:100px}}

.visual{background:radial-gradient(ellipse at 50% 38%,#f0e5d7 0%,#d5c0a9 75%,#c8b097 100%)}.viewer-tools{position:absolute;bottom:60px;left:0;right:0;display:flex;gap:8px;justify-content:center}.viewer-tools button,.viewer-tools a{border:1px solid #9a806355;background:#fff8ecc9;padding:10px 13px;border-radius:20px;color:#614632;text-decoration:none;font-size:12px}.viewer-tools button[aria-pressed=true]{background:#4b3036;color:white}.gallery{padding:72px 4.5vw 80px;background:#eee7db}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.gallery-heading h2{font-family:serif;font-size:36px;font-weight:500;margin:14px 0 0}.gallery-heading p{font-size:14px;color:#79665a}#art-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.art-card{background:#faf6ee;padding:10px 10px 16px;border:1px solid #d9cab4}.art-open{display:block;border:0;padding:0;background:none;width:100%;overflow:hidden}.art-open img{width:100%;aspect-ratio:1080/1522;object-fit:cover;display:block;transition:transform .4s}.art-open:hover img{transform:scale(1.035)}.art-meta{display:flex;align-items:center;justify-content:space-between;padding:18px 8px 0;gap:8px}.art-meta h3{font-size:21px;font-weight:500;margin:0}.art-meta p{font-size:11px;color:#92775d;margin:6px 0 0;letter-spacing:.08em}.art-model{background:none;border:0;border-bottom:1px solid #a38b72;padding:5px 0;font-size:12px;color:#654835}#art-dialog{border:0;padding:12px;background:#f6efe2;max-width:90vw;max-height:94vh;box-shadow:0 20px 80px #0008}#art-dialog::backdrop{background:#241b19c9;backdrop-filter:blur(7px)}#large-art{max-width:100%;max-height:80vh;display:block;margin:auto}#close-art{position:absolute;right:18px;top:18px;border:0;border-radius:50%;width:38px;height:38px;background:#fff9eddd;font-size:27px}#art-caption{text-align:center;margin:12px;font-size:14px}@media(max-width:740px){.gallery{padding:44px 20px}.gallery-heading{display:block}.gallery-heading h2{font-size:27px}#art-grid{grid-template-columns:repeat(2,1fr);gap:12px}.art-meta{padding:12px 0 0}.art-meta h3{font-size:18px}.art-meta p{font-size:9px}.art-model{font-size:10px}.viewer-tools{bottom:44px}.viewer-tools button,.viewer-tools a{padding:7px 11px;font-size:11px}}

.target-download{display:block;text-align:center;font-size:12px;color:#76573e;margin-top:15px;text-decoration:none;border-top:1px solid #e4d7c6;padding-top:12px}.ar-controls{flex-wrap:wrap}.viewer-tools{flex-wrap:wrap;padding:0 8px}#front-view[aria-pressed=true]{background:#4b3036;color:#fff}@media(max-width:740px){.viewer-tools{gap:5px}.viewer-tools button,.viewer-tools a{font-size:10px;padding:7px 9px}}

#ar-reference{position:absolute;right:18px;top:85px;width:100px;padding:5px;background:#fff8eddd;z-index:12;border-radius:5px;color:#463127}#ar-reference img{display:block;width:100%;height:135px;object-fit:contain}#ar-reference span{display:block;font-size:10px;text-align:center;padding:5px 0 2px}
