:root{--paper: #f3eee4;--paper-deep: #e9e0d2;--card: #fffdf8;--ink: #28251f;--muted: #756f66;--line: #ddd4c7;--clay: #b65f43;--clay-dark: #97482f;--forest: #315344;--forest-soft: #e9f0eb;--shadow: 0 18px 44px rgba(54, 43, 30, .13);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;background:var(--paper)}body:before{content:"";position:fixed;inset:0;z-index:-1;opacity:.28;background-image:radial-gradient(rgba(74,58,42,.12) .55px,transparent .55px);background-size:5px 5px}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%}#app{min-height:100vh}.home-page,.collection-page,.detail-page,.wishlist-page{min-height:100vh;background:var(--card)}.home-page{width:min(100%,520px);margin:0 auto;padding:80px 16px 34px}.home-copy{padding:4px 3px 23px}.welcome{margin:0 0 10px;color:var(--muted);font:13px/1.2 Songti SC,STSong,serif;letter-spacing:.22em;text-align:center}.ornament-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:11px;color:var(--clay)}.ornament-title h1{margin:0;color:var(--ink);font:700 26px/1.2 Songti SC,STSong,serif;letter-spacing:-.055em;white-space:nowrap}.ornament-title span{display:flex;align-items:center;gap:7px;font-size:10px}.ornament-title span:before{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,currentColor);opacity:.65}.ornament-title span:last-child{flex-direction:row-reverse}.ornament-title span:last-child:before{background:linear-gradient(90deg,currentColor,transparent)}.shelf-stage{position:relative;width:100%;display:block;padding:0;overflow:hidden;border:0;border-radius:24px;background:#49483f;cursor:zoom-in;box-shadow:var(--shadow)}.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)}.expand-mark{position:absolute;right:14px;bottom:14px;z-index:1;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.66);border-radius:50%;color:#fff;background:#1a1f1b80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.browse-teaser{min-height:76px;margin-top:18px;padding:10px 11px 10px 13px;display:grid;grid-template-columns:100px 1fr 36px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 24px #362b1e1a;transition:transform .2s ease,box-shadow .2s ease}.browse-teaser:hover{transform:translateY(-2px);box-shadow:0 13px 30px #362b1e21}.teaser-covers{display:flex;align-items:center;padding-left:3px}.teaser-covers img{width:42px;height:50px;object-fit:cover;border:2px solid #fff;border-radius:7px;box-shadow:0 3px 8px #2a1f1633}.teaser-covers img+img{margin-left:-13px}.teaser-covers img:nth-child(2){transform:rotate(3deg)}.teaser-covers img:nth-child(3){transform:rotate(6deg)}.browse-teaser strong{font:700 15px/1.35 Songti SC,STSong,serif;letter-spacing:-.02em}.teaser-arrow{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--forest)}.teaser-arrow svg{width:17px}.app-bar{position:sticky;top:0;z-index:5;height:74px;padding:17px 18px 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#fffdf8eb;border-bottom:1px solid rgba(221,212,199,.55);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.app-bar>strong{font:700 20px/1 Songti SC,STSong,serif}.round-back{justify-self:start;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f1ece4;font-size:27px;line-height:1}.wish-link{justify-self:end;display:flex;align-items:center;gap:4px;padding:8px 0 8px 8px;color:var(--clay);font-size:11px;font-weight:700}.wish-link svg{width:16px;height:16px}.wish-link b{min-width:15px;height:15px;padding:0 4px;display:grid;place-items:center;border-radius:20px;color:#fff;background:var(--clay);font-size:8px}.collection-page,.detail-page,.wishlist-page{width:min(100%,1040px);margin:0 auto}.filter-panel{margin:12px 15px 0;padding:14px 12px 12px;border:1px solid #e1d9cc;border-radius:17px;background:#f5f0e7}.filter-panel h1{margin:0 0 10px;font:700 15px/1.3 Songti SC,STSong,serif}.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:13px;padding-top:11px;display:flex;justify-content:space-between;border-top:1px solid rgba(117,104,87,.13);color:#6e685f;font-size:9px;font-weight:700}.condition-head button{padding:0;border:0;color:#958b80;background:none;font-size:9px;cursor:pointer}.condition-list{margin-top:8px;gap:6px}.condition-chip{padding:6px 9px;border:1px solid #ccd8d0;color:var(--forest);background:#fff;font-size:9px}.condition-chip span{color:#8d9b93}.condition-chip.add{border-style:dashed;color:var(--muted);background:transparent}.game-shelf{padding:0 15px 42px}.results-head{padding:15px 2px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.results-title{min-width:0;display:flex;align-items:baseline;gap:7px}.results-title h2{margin:0;font:700 18px/1 Songti SC,STSong,serif}.view-switch{flex:0 0 auto;display:flex;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 #4235261a}.view-option svg{width:16px;height:16px}.cover-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;row-gap:16px}.game-tile{position:relative;min-width:0}.cover-frame{position:relative}.cover-link{position:relative;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 5px 13px #31261b29}.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:8px;object-fit:contain;transition:transform .35s ease}.cover-link:hover .cover-image{transform:scale(1.025)}.heart-button{position:absolute;top:-6px;right:-5px;z-index:2;width:29px;height:29px;display:grid;place-items:center;padding:0;border:2px solid var(--card);border-radius:50%;color:var(--clay);background:var(--card);box-shadow:0 3px 9px #2a1c1538;cursor:pointer}.heart-button svg{width:16px;height:16px}.game-name{position:absolute;inset:auto 0 0;z-index:2;display:flex;align-items:baseline;min-width:0;padding:14px 8px 5px;overflow:hidden;color:#fff;background:linear-gradient(to top,#1d1b18c2,#1d1b1800);border-radius:0 0 10px 10px;font-size:11px;font-weight:700;line-height:1.3;text-shadow:0 1px 3px rgba(0,0,0,.38)}.game-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detailed-results{max-width:720px;margin:0 auto;display:grid}.detailed-game-row{min-width:0;padding:11px 1px;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:13px;border-bottom:1px solid #e6dfd5}.detailed-game-row:first-child{padding-top:0}.detailed-game-row:last-child{border-bottom:0}.detailed-cover{position:relative;width:96px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:#fff;box-shadow:0 4px 12px #31261b21}.detailed-cover-image{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;border-radius:7px;object-fit:contain;transition:transform .35s ease}.detailed-cover:hover .detailed-cover-image{transform:scale(1.025)}.detailed-game-copy{min-width:0}.detailed-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.detailed-title-copy{min-width:0}.detailed-title-copy>a{min-width:0;display:flex;align-items:baseline;padding-top:4px;color:#393631;font:700 14px/1.35 Songti SC,STSong,serif}.detailed-title-row .expansion-mark{flex:0 0 auto;color:var(--clay);font:700 10px/1.35 sans-serif;white-space:nowrap}.detailed-heart{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--clay);background:#f7f1e9;cursor:pointer}.detailed-heart svg{width:17px;height:17px}.detailed-expansions{margin:1px 0 0;color:var(--clay);font-size:10px;font-weight:700;line-height:1.4}.detailed-facts{margin-top:7px;display:grid;gap:4px;color:#756e65;font-size:10px;line-height:1.45}.detailed-facts-row{display:flex;flex-wrap:wrap;gap:10px}.detailed-facts-row span{white-space:nowrap}.no-results{min-height:360px;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{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 #211c1633;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{padding:7px 0 7px 14px;border:0;color:var(--forest);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:11px;font-weight:700}.drawer-groups fieldset>div{display:flex;flex-wrap:wrap;gap:7px}.drawer-option{padding:8px 11px;border:1px solid #ddd5c9;color:#5f5a53;background:#f7f3ec;font-size:11px}.drawer-option.is-active{border-color:var(--forest);color:#fff;background:var(--forest)}.detail-content{padding:14px 18px 44px}.detail-hero{display:grid;grid-template-columns:minmax(118px,36%) 1fr;gap:18px;align-items:start}.detail-hero>img{width:100%;aspect-ratio:.72;object-fit:cover;border-radius:14px;box-shadow:0 9px 22px #2a1d1433}.detail-kicker{margin:12px 0 7px;color:var(--clay);font-size:11px;font-weight:700;letter-spacing:.08em}.detail-hero h1{margin:0;font:700 clamp(26px,7vw,38px)/1.12 "Songti SC",STSong,serif;letter-spacing:-.055em}.original-name{margin:8px 0 14px;color:var(--muted);font:italic 12px/1.4 Georgia,serif}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag-row span{padding:5px 7px;border-radius:7px;color:#625b52;background:#eee8dc;font-size:10px}.fit-card{margin:21px 0 15px;padding:14px;border-radius:14px;background:var(--forest-soft)}.fit-card span{display:block;color:var(--forest);font-size:9px;font-weight:700;letter-spacing:.07em}.fit-card strong{display:block;margin-top:7px;font-size:13px;line-height:1.4}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.info-grid>div{min-width:0;padding:13px 10px;border-right:1px solid var(--line)}.info-grid>div:first-child{padding-left:0}.info-grid>div:last-child{border-right:0}.info-grid span{display:block;color:var(--muted);font-size:10px}.info-grid strong{display:block;margin-top:6px;font-size:12px;line-height:1.35}.owned-expansions{margin-top:17px;padding:12px 14px;border-left:3px solid var(--clay);background:#faf5ed}.owned-expansions span{color:var(--muted);font-size:9px;font-weight:700}.owned-expansions p{margin:5px 0 0;font-size:12px;font-weight:700}.introduction h2{margin:21px 0 8px;font:700 19px/1.2 Songti SC,STSong,serif}.introduction p{margin:0 0 10px;color:#4c4841;font-size:13px;line-height:1.78}.minor-meta{margin:18px 0 0;color:var(--muted);font-size:10px}.candidate-button{width:100%;margin-top:20px;padding:14px 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:#f5e7e1}.candidate-button svg{width:16px;height:16px}.wishlist-bar .share-button{justify-self:end;padding:8px 11px;border:0;border-radius:99px;color:#fff;background:var(--forest);font-size:10px;font-weight:700}.wishlist-content{padding:10px 17px 44px}.wishlist-content>h1{margin:8px 0 14px;font:700 27px/1.2 Songti SC,STSong,serif;letter-spacing:-.045em}.wish-scenarios{display:flex;flex-wrap:wrap;gap:7px}.wish-scenarios button{padding:6px 8px 6px 10px;border:1px solid #d7cec2;border-radius:99px;color:#5f5a52;background:#f5f0e8;font-size:10px;font-weight:700}.wish-scenarios span{color:#9d9489}.wish-count{margin:20px 1px 10px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:700}.wish-count button{padding:0;border:0;color:#9a9186;background:none;font-size:10px}.wish-list{display:grid;gap:9px}.wish-card{display:grid;grid-template-columns:78px 1fr 24px;align-items:center;gap:11px;padding:10px;border:1px solid #e3dcd1;border-radius:15px;background:#fff}.wish-card img{width:78px;height:78px;display:block;object-fit:cover;border-radius:10px;box-shadow:0 3px 10px #2d231a1f}.wish-info{min-width:0}.wish-info strong{display:block;overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.wish-info span{display:block;margin-top:6px;color:#756e65;font-size:9px;line-height:1.4}.wish-card>button{align-self:start;width:24px;height:24px;padding:0;border:0;color:#aaa197;background:transparent;font-size:18px}.wish-empty{min-height:500px;display:grid;place-content:center;justify-items:center;text-align:center}.wish-empty svg{width:52px;color:#c8beb2}.wish-empty p{max-width:230px;margin:18px 0;color:#6f685f;font:16px/1.55 Songti SC,STSong,serif}.wish-empty a{padding:11px 19px;border-radius:99px;color:#fff;background:var(--forest);font-size:11px;font-weight:700}body.report-open{overflow:hidden}.share-layer{position:fixed;inset:0;z-index:50;padding:58px 18px 28px;overflow-y:auto;background:var(--paper);opacity:0;transition:opacity .28s ease}.share-layer[hidden]{display:none}.share-layer.open{opacity:1}.share-close{position:fixed;top:max(18px,env(safe-area-inset-top));left:18px;z-index:1;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#6c665e;background:#ffffffd1;box-shadow:0 3px 12px #34281e17;font-size:20px;cursor:pointer}.share-making{min-height:calc(100vh - 86px);display:grid;place-content:center;justify-items:center;text-align:center}.share-orbit{position:relative;width:92px;height:92px;display:grid;place-items:center;margin-bottom:20px;color:var(--clay)}.share-orbit:before,.share-orbit:after{content:"✦";position:absolute;color:#c98a71;font-size:13px;animation:sparkle 1.15s ease-in-out infinite alternate}.share-orbit:before{top:2px;right:4px}.share-orbit:after{bottom:8px;left:1px;animation-delay:-.5s}.share-orbit svg{width:54px;height:54px;animation:ritual-heart 1.05s ease-in-out infinite}.share-making strong{font:700 19px/1.3 Songti SC,STSong,serif}.share-making span{margin-top:8px;color:var(--muted);font-size:10px}.share-result{display:none;justify-items:center;width:min(100%,520px);margin:0 auto;padding:10px 0 20px}.share-layer.ready .share-making{display:none}.share-layer.ready .share-result{display:grid;animation:poster-reveal .58s cubic-bezier(.2,.8,.25,1) both}.share-preview{width:min(88%,430px);max-height:calc(100vh - 190px);object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 16px 36px #34281e38}.save-image{margin-top:17px;padding:12px 28px;border-radius:99px;color:#fff;background:var(--forest);font-size:12px;font-weight:700;box-shadow:0 7px 17px #1f403133;cursor:pointer}.share-note{margin:10px 0 0;color:var(--muted);font-size:10px}.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:38px;height:38px;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}.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:11px;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 ritual-heart{0%,to{transform:scale(.92) rotate(-3deg);opacity:.72}50%{transform:scale(1.08) rotate(3deg);opacity:1}}@keyframes sparkle{0%{transform:translateY(3px) scale(.75);opacity:.35}to{transform:translateY(-3px) scale(1.15);opacity:1}}@keyframes poster-reveal{0%{transform:translateY(22px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(min-width:680px){.home-page{padding-top:56px}.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}.cover-wall{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:15px;row-gap:22px}.game-name{font-size:12px}.detail-content{max-width:720px;margin:0 auto;padding:28px 28px 56px}.detail-hero{grid-template-columns:210px 1fr;gap:28px}.wishlist-content{max-width:720px;margin:0 auto;padding:24px 28px 56px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
