:root{--paper: #f4f2ed;--paper-deep: #e7e5df;--card: #fffdf8;--ink: #28251f;--muted: #756f66;--line: #e0dfda;--edge: #e5e4e0;--clay: #a34c50;--clay-dark: #8a3b40;--forest: #315344;--forest-soft: #e9f0eb;--shadow: 0 18px 44px rgba(60,64,68,.13);--page-gutter: 16px;--first-gap: 18px;--title-gap: 10px;--block-gap: 24px;--card-gap: 10px;--card-row-gap: 18px;--block-radius: 16px;--block-inset: 12px;--cover-radius: 12px;--section-title-size: 16px;--section-title-leading: 1.3;--section-title-box: calc(var(--section-title-size) * var(--section-title-leading));--touch-target: 44px;--touch-row-bleed: calc((var(--touch-target) - var(--section-title-box)) / 2);color:var(--ink);background:var(--paper);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#f0eeea,#f8f7f4 300px),var(--paper);background-attachment:scroll}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}img{max-width:100%}:where(a,button):focus-visible{outline:3px solid rgba(163,76,80,.52);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{min-height:100vh;min-height:100dvh}.home-page,.collection-page,.detail-page,.wishlist-page{min-height:100vh;min-height:100dvh;background:var(--card)}.home-page{width:min(100%,520px);margin:0 auto}.home-content{padding:var(--first-gap) var(--page-gutter) 34px}.shelf-stage{position:relative;width:100%;display:block;padding:0;overflow:hidden;border-radius:var(--block-radius);background:#49483f;cursor:zoom-in;box-shadow:0 1px 2px #3c40441a,0 16px 36px #3c404429}.shelf-stage:after{content:"";position:absolute;inset:auto 0 0;height:25%;background:linear-gradient(transparent,#1314112e);pointer-events:none}.shelf-stage>img{width:100%;aspect-ratio:4 / 5;display:block;object-fit:cover;object-position:center 43%;transition:transform .6s ease}.shelf-stage:hover>img{transform:scale(1.018)}.home-shelf .home-title{margin-bottom:var(--title-gap)}.recent-arrivals{padding-top:calc(var(--block-gap) - var(--touch-row-bleed))}.recent-arrivals summary{min-height:var(--touch-target);margin-bottom:calc(-1 * var(--touch-row-bleed));display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.recent-arrivals summary::-webkit-details-marker{display:none}.recent-arrivals summary:focus{outline:none}.recent-arrivals summary:focus-visible .home-title{text-decoration:underline;text-decoration-color:#a34c5085;text-underline-offset:4px}.recent-arrivals summary .home-title{flex:1}.recent-arrivals-count{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:600}.recent-arrivals-chevron{flex:0 0 auto;width:15px;height:15px;display:grid;place-items:center;color:var(--muted);transition:transform .2s ease}.recent-arrivals-chevron svg{width:100%;height:100%}.recent-arrivals[open] .recent-arrivals-chevron{transform:rotate(180deg)}.recent-arrival-list{margin:0 calc(-1 * var(--page-gutter));padding:var(--title-gap) var(--page-gutter) 13px;display:grid;grid-auto-flow:column;grid-auto-columns:92px;gap:var(--card-gap);overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:var(--page-gutter);scroll-snap-type:inline proximity;scrollbar-width:none}.recent-arrival-list::-webkit-scrollbar{display:none}.recent-arrival-card{min-width:0;display:grid;align-content:start;gap:7px;scroll-snap-align:start}.recent-arrival-cover{position:relative;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:var(--cover-radius);background:#fffdf8;box-shadow:0 4px 11px #3c40441a}.recent-arrival-cover-image{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;border-radius:var(--cover-radius);object-fit:contain;transition:transform .35s ease}.recent-arrival-card:hover .recent-arrival-cover-image{transform:scale(1.025)}.recent-arrival-title{min-height:2.8em;overflow:hidden;color:var(--ink);font-size:11px;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.primary-nav{position:sticky;top:0;z-index:5;min-height:60px;padding:8px var(--page-gutter);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:#fffdf8f0;border-bottom:1px solid rgba(221,212,199,.65);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.primary-tab{min-height:44px;display:grid;place-items:center;border-radius:10px;color:#6f685f;font-size:12px;font-weight:700;transform-origin:center}.primary-tab.is-active{color:#fff;background:var(--forest);box-shadow:0 4px 11px #31534429}.primary-tab.wish-bump{animation:wish-bump .42s ease-out}.detail-bar{position:sticky;top:0;z-index:5;height:60px;padding:8px var(--page-gutter);display:flex;align-items:center;background:#fffdf8f0;border-bottom:1px solid rgba(221,212,199,.65);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.detail-back{min-height:var(--touch-target);display:inline-flex;align-items:center;gap:5px;padding:5px 11px 5px 7px;border-radius:999px;color:#655f57;background:#f1ece4;font-size:12px;font-weight:700}.detail-back span:first-child{width:22px;display:grid;place-items:center;font-size:24px;font-weight:400;line-height:1}.wish-flyer{position:fixed;z-index:70;width:20px;height:20px;color:var(--clay);pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}.wish-flyer svg{width:100%;height:100%}.wish-coachmark{position:fixed;top:73px;right:max(14px,calc((100vw - 1040px)/2 + 14px));z-index:65;padding:8px 11px;border-radius:10px;color:#fff;background:var(--clay-dark);box-shadow:0 8px 20px #3c40443d;font-size:11px;font-weight:700;pointer-events:none;animation:coachmark-in .24s ease-out}.wish-coachmark:before{content:"";position:absolute;top:-5px;right:22px;width:10px;height:10px;background:var(--clay-dark);transform:rotate(45deg)}.collection-page,.detail-page,.wishlist-page{width:min(100%,1040px);margin:0 auto}.page-guide{margin:var(--first-gap) var(--page-gutter) 0;display:flex;align-items:center;gap:8px}.page-guide-avatar{flex:0 0 auto;width:30px;height:30px;display:block;border-radius:50%;object-fit:cover;background:var(--paper-deep);box-shadow:0 1px 4px #3c40441a}.page-guide-copy{width:fit-content;max-width:calc(100% - 38px)}.page-guide h1{margin:0;color:var(--clay);font-size:12px;font-weight:500;line-height:1.55;letter-spacing:0}.filter-section{padding:var(--first-gap) var(--page-gutter) 0}.section-heading{min-width:0;display:flex;align-items:center}.section-heading h1,.section-heading h2,.home-title{margin:0;color:#554d44;font-size:var(--section-title-size);font-weight:600;line-height:1.3}.filter-panel{margin-top:var(--title-gap);padding:calc(var(--block-inset) - 1px);border:1px solid var(--edge);border-radius:var(--block-radius);background:linear-gradient(180deg,#f9f7f3,#fffdf8);box-shadow:inset 0 1px #fff,0 1px 2px #3c40440d}.scenario-list,.condition-list{display:flex;flex-wrap:wrap;gap:7px}.scenario-list{gap:5px}.scenario-pill,.condition-chip,.drawer-option{border-radius:999px;cursor:pointer}.scenario-pill{padding:8px;border:1px solid #dad1c4;color:#69635b;background:#fffdf9;font-size:10px;font-weight:700}.scenario-pill.is-active{border-color:var(--forest);color:#fff;background:var(--forest);box-shadow:0 5px 12px #31534429}.condition-head{margin-top:8px;padding-top:7px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(88,92,96,.12);color:#6e685f;font-size:9px;font-weight:700}.condition-clear{padding:0;border:0;color:#958b80;background:none;font-size:9px;cursor:pointer}.condition-list{margin-top:5px;gap:6px}.condition-chip{padding:7px 9px;border:1px solid #ccd8d0;color:var(--forest);background:#fff;font-size:9px}.condition-chip span{color:#8d9b93}.condition-chip.is-excluded{border-color:#a34c5057;color:var(--clay-dark);background:#282a2d0a}.condition-add{border-style:dashed;border-color:#d6cec2;color:#8a837a;background:transparent}.condition-add.is-emphasized{border-style:solid;border-color:var(--forest);color:#fff;background:var(--forest);box-shadow:0 4px 10px #3153442e;font-weight:700}.game-shelf{padding:0 var(--page-gutter) 42px}.results-head{padding:var(--block-gap) 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.results-count{flex:0 0 auto;margin-left:7px;color:var(--muted);font-size:11px;font-weight:600}.view-switch{flex:0 0 auto;position:relative;top:-2px;display:flex;margin-block:calc((var(--section-title-box) - 26px) / 2);padding:1px;border:0;border-radius:7px;background:#f0ede7}.view-option{width:25px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:#aaa39a;background:transparent;cursor:pointer}.view-option.is-active{color:#4d5d55;background:#fffdf8e6;box-shadow:0 1px 4px #3c40441a}.view-option svg{width:16px;height:16px}.collection-results{margin-top:var(--title-gap)}.collection-results.is-covers{margin-top:calc(var(--title-gap) + 6px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--card-gap);row-gap:var(--card-row-gap)}.collection-results.is-details{max-width:720px;margin-inline:auto;display:grid}.collection-game-card{min-width:0}.collection-results.is-covers .collection-game-card{position:relative}.collection-results.is-details .collection-game-card{padding:11px 0;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:13px;border-bottom:1px solid #e6dfd5}.collection-results.is-details .collection-game-card:first-child{padding-top:0}.collection-results.is-details .collection-game-card:last-child{border-bottom:0}.cover-link{position:relative;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:var(--cover-radius);background:#fff;box-shadow:0 0 0 1px #e5e4e0,0 2px 6px #3c404412}.collection-results.is-covers .collection-card-cover{width:100%}.collection-results.is-details .collection-card-cover,.detail-cover{width:96px;border-radius:var(--cover-radius);box-shadow:0 4px 12px #3c40441f}.cover-background{position:absolute;inset:-14%;width:128%;height:128%;max-width:none;display:block;object-fit:cover;filter:blur(16px) saturate(.82) brightness(.84);transform:scale(1.05)}.has-white-edge .cover-background{display:none}.cover-image{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;border-radius:var(--cover-radius);object-fit:contain;transition:transform .35s ease}.cover-link:hover .cover-image{transform:scale(1.025)}.collection-game-copy{min-width:0}.collection-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.collection-game-name{min-width:0}.collection-heart{position:relative;flex:0 0 auto;display:grid;place-items:center;padding:0;border-radius:50%;color:var(--clay);cursor:pointer}.collection-heart:before,.wish-card>button:before{content:"";position:absolute;inset:-7px}.collection-results.is-covers .collection-game-copy{position:absolute;inset:0;z-index:2;pointer-events:none}.collection-results.is-covers .collection-title-row{position:absolute;inset:0;pointer-events:none}.collection-results.is-covers .collection-game-name{position:absolute;inset:auto 0 0;display:flex;align-items:baseline;padding:14px 8px 5px;overflow:hidden;color:#fff;background:linear-gradient(to top,#1d1b18c2,#1d1b1800);border-radius:0 0 var(--cover-radius) var(--cover-radius);font-size:11px;font-weight:700;line-height:1.3;text-shadow:0 1px 3px rgba(0,0,0,.38);pointer-events:auto}.collection-results.is-covers .collection-heart{position:absolute;top:-6px;right:-5px;width:29px;height:29px;border:2px solid var(--card);background:var(--card);box-shadow:0 3px 9px #3c404438;pointer-events:auto}.collection-results.is-covers .collection-heart svg{width:16px;height:16px}.collection-results.is-covers .game-facts,.collection-results.is-covers .expansion-mark{display:none}.collection-results.is-details .collection-game-name{display:block;padding-top:4px;color:#393631;font:700 14px/1.35 Songti SC,STSong,serif}.collection-results.is-details .collection-game-name .game-title{overflow:visible;white-space:normal;text-overflow:clip}.expansion-mark{color:var(--clay-dark);font:700 11px/1.35 sans-serif;letter-spacing:normal;white-space:normal}.collection-results.is-details .collection-heart{width:34px;height:34px;border:0;background:#f7f1e9}.collection-results.is-details .collection-heart svg{width:17px;height:17px}.game-facts{margin-top:7px;display:grid;gap:5px}.game-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.no-results{min-height:360px;margin-top:var(--title-gap);display:grid;place-content:center;justify-items:center;text-align:center}.no-results>span{color:var(--clay)}.no-results p{max-width:240px;margin:15px 0;color:var(--muted);font:15px/1.6 Songti SC,STSong,serif}.no-results button{min-height:44px;padding:9px 16px;border:0;border-radius:99px;color:#fff;background:var(--forest)}.drawer-layer{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end}.drawer-backdrop{position:absolute;inset:0;width:100%;border:0;background:#1c1b1861;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.filter-drawer{position:relative;width:min(100%,560px);max-height:85vh;margin:0 auto;overflow-y:auto;padding:18px 18px 30px;border-radius:24px 24px 0 0;background:var(--card);box-shadow:0 -13px 32px #211e1c33;animation:drawer-in .24s ease-out}.drawer-handle{width:38px;height:4px;display:block;margin:-7px auto 14px;border-radius:99px;background:#d4ccc1}.filter-drawer header{display:flex;align-items:center;justify-content:space-between}.filter-drawer h2{margin:0;font:700 20px/1.2 Songti SC,STSong,serif}.filter-drawer header button{min-width:44px;min-height:44px;padding:7px 0 7px 14px;border:0;color:var(--ink);background:none;font-size:12px;font-weight:700}.drawer-groups{display:grid;gap:17px;margin-top:19px}.drawer-groups fieldset{margin:0;padding:0;border:0}.drawer-groups legend{margin-bottom:9px;color:#6d675f;font-size:12px;font-weight:700}.drawer-groups fieldset>div{display:flex;flex-wrap:wrap;gap:7px}.drawer-option{min-height:40px;padding:8px 11px;border:1px solid #ddd5c9;color:#5f5a53;background:#f7f3ec;font-size:12px}.drawer-option.is-active{border-color:var(--forest);color:#fff;background:var(--forest)}.detail-content{padding:var(--first-gap) var(--page-gutter) 44px}.detail-hero{display:grid;grid-template-columns:96px minmax(0,1fr);gap:13px;align-items:center}.detail-title{min-width:0}.detail-title .game-facts{margin-top:9px}.detail-hero h1{margin:0;font:700 clamp(20px,5.6vw,26px)/1.24 "Songti SC",STSong,serif;letter-spacing:-.035em}.detail-title .expansion-mark{font-size:.62em}.tag-groups{display:grid;gap:5px}.introduction .tag-groups{margin-bottom:2px}.text-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px;color:#4c4841;font-size:12px;line-height:1.5;word-break:keep-all}.tag-key{flex:0 0 auto;color:#8f877d;font-size:12px}.detail-section{margin-top:var(--block-gap)}.detail-section>h2,.introduction h2{margin:0 0 var(--title-gap);font:700 19px/1.2 Songti SC,STSong,serif}.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-facts{overflow:hidden;border:1px solid var(--line);border-radius:var(--block-radius);background:linear-gradient(180deg,#f9f7f3,#fffdf8);box-shadow:inset 0 1px #fff,0 1px 2px #3c40440d}.detail-facts>div{min-width:0;padding:calc(var(--block-inset) - 1px)}.detail-facts>div:nth-child(odd){border-right:1px solid var(--line)}.detail-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.detail-facts>div:last-child:nth-child(odd){grid-column:1 / -1;border-right:0}.detail-facts span{display:block;color:var(--muted);font-size:11px}.detail-facts strong{display:block;margin-top:6px;font-size:13px;line-height:1.35}.introduction{margin-top:var(--block-gap)}.introduction p{margin:0 0 10px;color:#4c4841;font-size:13px;line-height:1.78}.candidate-button{width:100%;min-height:46px;margin-top:16px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:13px;color:#fff;background:var(--forest);font-size:13px;font-weight:700;cursor:pointer}.candidate-button.is-selected{color:var(--clay-dark);background:var(--paper-deep)}.candidate-button svg{width:16px;height:16px}.wishlist-content{padding:var(--first-gap) var(--page-gutter) 44px}.wishlist-list-head{margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.wishlist-head-tail{flex:0 1 auto;display:flex;align-items:center;gap:4px}.wishlist-cat{--cat-box: 52px;--cat-sink: 12.3px;position:relative;z-index:1;flex:none;align-self:flex-end;width:auto;height:auto;padding:0;border:0;background:none;cursor:zoom-in;margin-top:calc(var(--section-title-box) - var(--cat-box) + var(--title-gap) + var(--cat-sink));margin-bottom:calc(-1 * (var(--title-gap) + var(--cat-sink)));margin-right:-8px}.wishlist-cat img{width:auto;height:var(--cat-box);display:block}.wishlist-cat:focus{outline:none}.wishlist-cat:focus-visible img{border-radius:8px;box-shadow:0 0 0 2px #a34c5085}.wish-clear{min-width:44px;min-height:40px;margin-block:calc((var(--section-title-box) - 40px) / 2);padding:7px 0;border:0;color:#81786e;background:none;font-size:11px}.wish-list{margin-top:var(--title-gap);display:grid;gap:var(--card-gap)}.wish-card{display:grid;grid-template-columns:78px 1fr 32px;align-items:center;gap:11px;padding:calc(var(--block-inset) - 1px);border:1px solid var(--line);border-radius:var(--block-radius);background:linear-gradient(180deg,#f9f7f3,#fffdf8);box-shadow:inset 0 1px #fff,0 1px 2px #3c40440d}.wish-card>.cover-link{position:relative;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:var(--cover-radius);background:#fff;box-shadow:0 0 0 1px #e5e4e0,0 2px 6px #3c404412}.wish-card>.cover-link .cover-image{border-radius:var(--cover-radius)}.wish-info{min-width:0}.wish-name{display:flex;align-items:baseline;gap:4px;font-size:13px;line-height:1.35}.wish-card>button{position:relative;align-self:start;width:32px;height:32px;padding:0;border:0;color:#91887f;background:transparent;font-size:19px}.wish-empty{min-height:500px;display:grid;place-content:center;justify-items:center;text-align:center}.wish-empty svg{width:52px;color:#c5c7cb}.wish-empty p{max-width:230px;margin:18px 0;color:var(--muted);font:16px/1.55 Songti SC,STSong,serif}.wish-empty a{min-height:44px;padding:11px 19px;display:inline-flex;align-items:center;border-radius:99px;color:#fff;background:var(--forest);font-size:12px;font-weight:700}.photo-viewer{position:fixed;inset:0;z-index:40;display:grid;grid-template-rows:auto 1fr;padding:16px;color:#fff;background:#141412f5;animation:fade-in .2s ease}.photo-viewer>button{justify-self:end;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:#ffffff14;font-size:25px}.photo-scroll{display:grid;place-items:center;overflow:auto;touch-action:pinch-zoom}.photo-scroll img{width:min(1100px,100%);max-width:none;max-height:78vh;object-fit:contain}.cat-photo{margin:0;display:grid;gap:14px;justify-items:center}.cat-photo img{height:auto;max-height:70vh}.cat-photo figcaption{color:#ffffffd1;font-size:13px;line-height:1.6;text-align:center}.toast{position:fixed;left:50%;bottom:30px;z-index:60;transform:translate(-50%);padding:10px 15px;border-radius:99px;color:#fff;background:#262521eb;box-shadow:0 8px 24px #0003;font-size:12px;white-space:nowrap;animation:toast-in .22s ease}.not-found{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:24px;text-align:center}.not-found>span{color:var(--clay)}.not-found h1{font:700 25px/1.3 Songti SC,STSong,serif}.not-found a{padding:10px 17px;border-radius:99px;color:#fff;background:var(--forest);font-size:11px}@keyframes drawer-in{0%{transform:translateY(24px);opacity:0}}@keyframes fade-in{0%{opacity:0}}@keyframes toast-in{0%{transform:translate(-50%,8px);opacity:0}}@keyframes coachmark-in{0%{transform:translateY(-5px);opacity:0}}@keyframes wish-bump{0%,to{transform:scale(1)}45%{transform:scale(1.55) rotate(-8deg)}}@media(min-width:680px){:root{--page-gutter: 28px}.home-page,.collection-page,.detail-page,.wishlist-page{min-height:calc(100vh - 48px);margin-top:24px;margin-bottom:24px;border-radius:24px;box-shadow:var(--shadow);overflow:clip}.collection-results.is-covers{grid-template-columns:repeat(5,minmax(0,1fr))}.collection-results.is-covers .collection-game-name{font-size:12px}.detail-content,.wishlist-content{max-width:720px;margin:0 auto;padding-bottom:56px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
