:root{font-family:Microsoft YaHei,sans-serif;color:#efdab3;background:#0c0b09;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 8% 0%,#392c1b88,transparent 45%),#0c0b09}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible{outline:2px solid #f0c888;outline-offset:4px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#app{max-width:1120px;margin:auto;min-height:100dvh}.topbar{height:72px;display:flex;align-items:center;gap:20px;padding:0 5%;border-bottom:1px solid #d8b98730;font-family:STSong,SimSun,serif;font-size:26px}.brand-mark{font-size:20px;border:1px solid #cba56b77;padding:4px 7px}.topbar-caption{margin-left:auto;font:10px Arial;letter-spacing:3px;color:#ae9170}.gallery-stage{position:relative;isolation:isolate;height:760px;overflow:hidden;background:#100e0b}.gallery-backdrop{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#0c0b09 0%,transparent 30%,#0c0b0920 65%),linear-gradient(90deg,#17120b80,transparent 70%),url(../textures/gallery-background.webp) center 55%/cover}.gallery-stage:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 3%,#db9c4940,transparent 44%)}#viewer{position:absolute;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%}.hero-copy{position:absolute;top:35px;left:5.5%;pointer-events:none}.eyebrow{font:10px Arial;letter-spacing:4px;color:#c3a278;margin:0 0 16px}.hero-heading{display:flex;gap:20px;align-items:center}h1{font-family:STSong,SimSun,serif;font-size:62px;font-weight:600;letter-spacing:5px;line-height:1.1;margin:0;color:#f3d2a0;text-shadow:0 2px 24px #c98c4240}.seal{font:19px/1.2 SimSun,serif;background:#7e1e19;border-radius:45% 45% 35% 35%;padding:10px 7px;color:#ffe0bc;box-shadow:inset 0 0 0 1px #ae382c}.subtitle{font-family:SimSun,serif;font-size:22px;letter-spacing:2px;margin:18px 0}.gold-rule{width:32px;height:1px;background:#c6a46e;margin:25px 0 18px}.poem{font:18px/1.7 SimSun,serif;letter-spacing:3px;margin:0;color:#dfc39c}.feature-actions{position:absolute;left:5.5%;top:300px;display:flex;flex-direction:column;gap:16px}.feature-actions button{display:flex;align-items:center;gap:14px;padding:12px 19px;border-radius:40px;border:1px solid #c4a16b70;background:#17130d66;font:19px SimSun,serif;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.feature-actions button:hover,.feature-actions button.active,.feature-actions button[aria-pressed=true]{background:#a882382b;border-color:#e2bd81}.vertical-poem{position:absolute;right:5.5%;top:155px;writing-mode:vertical-rl;letter-spacing:5px;font:20px SimSun,serif;border:1px solid #c4a16b55;border-radius:4px;padding:20px 10px;color:#d2b07b;pointer-events:none}.small-seal{display:block;color:#c64e36;font-size:13px;margin-top:28px;border:1px solid #9e3824;letter-spacing:1px;padding:3px}.interaction-hint{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:20px;font:15px SimSun,serif;letter-spacing:2px;pointer-events:none;color:#d9bb8e}.interaction-hint span{font:25px Arial;color:#a78557}.viewer-tools{position:absolute;right:5%;bottom:26px;display:flex;flex-direction:column;gap:12px;z-index:3}.tool{display:grid;position:relative;place-items:center;width:34px;height:34px;padding:6px;border:0;background:transparent;color:#d0b996}.tool svg{width:22px;height:22px}.tool.active{color:#ffe0a6}.tool .pause-mark{position:absolute;width:20px;height:20px}.tool:not(.active) .pause-mark{display:none}#status{position:absolute;top:62%;left:30%;right:8%;text-align:center;color:#e9d1ab;font-size:13px;pointer-events:none}#status button{pointer-events:auto;background:none;border:0;color:#f1c785;text-decoration:underline}#thumbnails{position:relative;padding:10px 5% 30px;display:flex;justify-content:center;gap:20px;background:linear-gradient(#0c0b09,#0c0b09)}.thumbnail{display:block;padding:5px;width:125px;aspect-ratio:1;border:1px solid #b3966e35;border-radius:12px;background:transparent;overflow:hidden}.thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.thumbnail.selected{border:2px solid #eec98e;box-shadow:0 0 18px #daa75835,inset 0 0 24px #b3864220}.collection-card{margin:0 3% 12px;padding:28px 34px;border:1px solid #c4a16b44;border-radius:20px;background:linear-gradient(135deg,#272119a0,#11100ec0);box-shadow:0 12px 45px #0008}.card-heading{display:flex;align-items:center;gap:20px}.card-heading h2{margin:0;font:36px SimSun,serif;letter-spacing:3px}.card-badge{font:15px SimSun,serif;padding:8px 12px;background:linear-gradient(#7f211e,#52110f);border:1px solid #ac3932;border-radius:7px;color:#f4d7b3}.card-description{font:18px SimSun,serif;letter-spacing:2px;margin:17px 0}.card-tags{display:flex;gap:16px;flex-wrap:wrap}.card-tags span{font:14px SimSun,serif;border:1px solid #b3966e30;padding:7px 13px;border-radius:24px;color:#d4b17b}.card-actions{display:flex;gap:16px;margin-top:23px}.card-actions button{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 25px;border:1px solid #c7a77788;border-radius:17px;font:23px SimSun,serif;background:#201a1280}.card-actions .primary-action{flex:1;background:linear-gradient(135deg,#f3dfb8,#d0a36a);color:#20150b;border-color:#f6deae;box-shadow:0 4px 24px #dda75e15}.primary-action span{margin-left:15px;font-size:35px;line-height:20px}#favorite{min-width:160px}#favorite[aria-pressed=true]{color:#f9cf89}#favorite[aria-pressed=true] svg{fill:#b5883d40}.page-footer{text-align:center;font:11px SimSun,serif;letter-spacing:4px;color:#74604b;padding:10px;margin:0}.gallery-stage:fullscreen{height:100dvh;width:100vw}.gallery-stage:fullscreen .hero-copy,.gallery-stage:fullscreen .feature-actions,.gallery-stage:fullscreen .vertical-poem{display:none}@media(max-width:600px){.topbar{height:54px;font-size:20px;gap:12px}.topbar-caption{font-size:8px;letter-spacing:2px}.brand-mark{font-size:15px}.gallery-stage{height:620px}.hero-copy{top:26px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:12px}h1{font-size:38px;letter-spacing:3px}.hero-heading{gap:12px}.seal{font-size:13px;padding:7px 5px}.subtitle{font-size:15px;margin:12px 0;letter-spacing:1px}.gold-rule{margin:17px 0 12px}.poem{font-size:13px;letter-spacing:1px}.feature-actions{top:230px;gap:14px}.feature-actions button{font-size:13px;gap:8px;padding:10px 12px}.feature-actions svg{width:19px;height:19px}.vertical-poem{right:5%;top:180px;font-size:14px;padding:13px 6px;letter-spacing:3px}.small-seal{font-size:10px;margin-top:17px}.interaction-hint{font-size:11px;gap:10px;letter-spacing:1px;bottom:18px}.viewer-tools{bottom:53px;gap:9px}.tool{width:30px;height:30px}.tool svg{width:19px;height:19px}#thumbnails{gap:10px;padding:8px 5% 23px}.thumbnail{width:16vw;border-radius:7px;padding:3px}.collection-card{padding:20px 18px;border-radius:15px}.card-heading{gap:12px}.card-heading h2{font-size:28px}.card-badge{font-size:12px;padding:6px 9px}.card-description{font-size:14px;letter-spacing:1px}.card-tags{gap:8px}.card-tags span{font-size:11px;padding:6px 9px}.card-actions{gap:10px;margin-top:18px}.card-actions button{padding:13px 10px;font-size:19px;border-radius:12px;gap:8px}#favorite{min-width:100px}.card-actions svg{width:21px;height:21px}}@media(min-width:601px)and (max-width:900px){.gallery-stage{height:102vw;max-height:920px}h1{font-size:48px}.feature-actions button{font-size:16px}.vertical-poem{font-size:17px}}@media(max-width:380px){.gallery-stage{height:580px}h1{font-size:34px}.feature-actions{top:215px}.feature-actions button{padding:9px 10px}.card-tags span{font-size:10px}.card-description{font-size:13px}}.vertical-poem{padding-bottom:54px}.small-seal{position:absolute;bottom:12px;left:50%;transform:translate(-50%);margin:0;width:20px;height:36px;writing-mode:vertical-rl;font-size:12px;padding:3px 2px}@media(max-width:600px){.vertical-poem{right:2%;top:186px;font-size:12px;padding:12px 5px 48px}.small-seal{bottom:9px;width:17px;height:30px;font-size:10px}}
