:root{color-scheme:light;--ink:#183e34;--jade:#65ccb5;--pink:#ee7793;--paper:#fcfaf3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #ed7495;outline-offset:5px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}#welcome{max-width:1260px;margin:auto;padding:0 64px}header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8dfd5}.brand{font-size:23px;font-weight:700;letter-spacing:4px}.brand span{display:block;font-size:10px;font-weight:400;letter-spacing:3px;margin-top:7px}.edition{font-size:13px;letter-spacing:2px;color:#688176}.experience{display:grid;grid-template-columns:1.02fr 1fr;gap:100px;align-items:center;padding:54px 25px 44px}.card-wrap{position:relative;text-align:center}.card{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;transform:rotate(-4deg);filter:drop-shadow(12px 18px 19px #173a3120);transition:transform .6s}.card:hover{transform:rotate(0)}.card-caption{font-size:12px;letter-spacing:2px;display:block;margin-top:25px;color:#7b897e}.eyebrow{font-size:12px;letter-spacing:4px;color:#769286}h1{font-family:"SimSun","Songti SC",serif;font-size:58px;font-weight:400;line-height:1.3;letter-spacing:4px;margin:20px 0}h1 span{color:#db6387}.lede{font-size:16px;line-height:1.9;color:#63786c;margin-bottom:27px}.primary{border:0;border-radius:5px;padding:19px 22px;background:var(--ink);color:var(--paper);font-weight:600;font-size:16px;width:100%;display:flex;align-items:center;justify-content:space-between}.primary:hover{background:#245643}.primary span{color:#f69cba;font-size:23px}.privacy{font-size:12px;color:#829083;margin:10px 0 22px;text-align:center}.secondary{display:flex;gap:20px;justify-content:space-between;font-size:14px}.secondary button{background:none;padding:0;color:#244d3d;border:0;border-bottom:1px solid #9baea1;padding-bottom:5px}.secondary a{border-bottom:1px solid #9baea1;padding-bottom:5px}.steps{padding:24px 0 0;margin:24px 0 0;list-style:none;border-top:1px solid #dce3d8}.steps li{display:flex;gap:14px;margin:0 0 14px;font-size:13px;color:#63796c;line-height:1.6}.steps b{font-family:Georgia,serif;font-weight:400;color:#cd6583;letter-spacing:1px}.browser-tip{font-size:12px;line-height:1.7;color:#849085;margin-top:18px}footer{display:flex;justify-content:space-between;border-top:1px solid #d8dfd5;font-size:11px;color:#8a968d;letter-spacing:2px;padding:24px 0 30px}#viewer{position:fixed;inset:0;background:#102521;color:#fff;isolation:isolate}#stage{position:absolute;inset:0;overflow:hidden;isolation:isolate}#stage video{z-index:0!important}#stage canvas{z-index:1!important;touch-action:none}#stage>div{pointer-events:none}.viewer-top{position:absolute;z-index:5;top:0;left:0;right:0;padding:max(20px,env(safe-area-inset-top)) 20px 24px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#081b22b3,transparent);gap:12px}.viewer-top button,.viewer-bottom button,#cancel{background:#123529b3;border:1px solid #cadfd44d;color:white;border-radius:99px;padding:10px 15px;font-size:13px}.viewer-top span{font-size:14px;letter-spacing:2px}.viewer-bottom{position:absolute;z-index:5;bottom:0;left:0;right:0;text-align:center;padding:30px 20px max(24px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#081b22bd)}#status{font-size:17px;line-height:1.6;margin:8px auto;max-width:500px}#hint{font-size:12px;color:#d9e5dd;line-height:1.6;max-width:470px;margin:12px auto 0}#replay{margin-top:8px}#scan-guide{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:min(62vw,310px);aspect-ratio:5/7;border:1px solid #f5ffef99;border-radius:8px;pointer-events:none;z-index:2;overflow:hidden}#scan-guide img{width:100%;opacity:.17}#scan-guide span{position:absolute;left:0;right:0;height:2px;background:#83efd0;box-shadow:0 0 15px #83efd0;animation:scan 3s linear infinite}#loading{position:absolute;z-index:8;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#102521ed}.spinner{width:44px;height:44px;border-radius:50%;border:2px solid #397565;border-top-color:#ff9dbd;animation:spin 1s linear infinite}#loading p{padding:12px 20px;text-align:center;font-size:15px}#error{position:absolute;z-index:9;inset:0;background:#102521f5;display:grid;place-items:center;padding:26px}#error>div{max-width:370px;text-align:center}#error h2{font-weight:500;letter-spacing:1px}#error p{line-height:1.8;color:#d1dfd4;font-size:15px}.error-flower{font-size:58px;color:#ff9fba}#error .primary{background:#f291ab;color:#193e33;justify-content:center;margin-top:25px}#error-back{margin-top:17px;border:0;background:none;color:#d4e2d7;padding:10px}.preview-mode #stage{background:radial-gradient(ellipse at 40% 40%,#35695b,#102b25 75%)}@keyframes scan{from{top:0}to{top:100%}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:850px){#welcome{padding:0 25px}header{height:87px}.experience{gap:45px;padding:38px 0 32px}h1{font-size:43px}.card{max-height:560px}.steps{margin-top:20px}.intro{min-width:0}}@media(max-width:600px){#welcome{padding:0 23px}header{height:76px}.brand{font-size:18px}.brand span{font-size:8px;letter-spacing:2px}.edition{font-size:11px}.experience{display:flex;flex-direction:column;padding:27px 0 22px;gap:27px}.card-wrap{width:64%;max-width:235px}.card{max-height:340px;transform:rotate(-4deg)}.card-caption{display:none}.intro{width:100%;text-align:center}.eyebrow{font-size:11px}h1{font-size:34px;letter-spacing:3px;margin:13px 0 10px}h1 br{display:none}.lede{font-size:14px;margin:0 0 21px}.lede br{display:none}.primary{padding:17px 20px}.steps{text-align:left;padding-top:22px}.steps li{font-size:13px}.browser-tip{text-align:left}.privacy{margin-bottom:20px}footer{font-size:9px;letter-spacing:1px}.viewer-top{padding-left:12px;padding-right:12px;gap:7px}.viewer-top button{padding:9px 12px}.viewer-top span{font-size:12px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){.card{transition:none}#scan-guide span{animation:none;top:50%}}

@media(max-width:600px){h1{font-size:30px;letter-spacing:1px}h1 span{white-space:nowrap}}

.museum-keywords{font-size:12px;line-height:1.9;color:#b45171;margin:22px 0 6px}.museum-keywords span{color:#b2bcb0;margin:0 2px}.source-note{font-size:12px;color:#738478;line-height:1.8;margin:0}@media(max-width:600px){.eyebrow{letter-spacing:2px}.museum-keywords,.source-note{text-align:left}}
