/* A pixel journal: source artwork stays sharp, interface geometry stays square. */
@font-face{font-family:Silkscreen;src:url('/assets/fonts/silkscreen-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Fusion Pixel';src:url('/assets/fonts/fusion-pixel-12px-zh-hans.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f4f0e8;--surface:#fffdf7;--ink:#242237;--muted:#727080;--line:#cdc6d8;--accent:#6948b5;--focus:#6948b5;--pixel-pink:#e889aa;--pixel-mint:#a9d5bb;--pixel-yellow:#f2d580;--pixel-lilac:#e9e0f3;--pixel-shadow:4px 4px 0 var(--ink);--pixel-font:Silkscreen,ui-monospace,monospace}
body{background-color:var(--paper);background-image:linear-gradient(90deg,#6948b507 1px,transparent 1px),linear-gradient(#6948b507 1px,transparent 1px);background-size:24px 24px;font-family:'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
:root{--pixel-mono:Consolas,ui-monospace,monospace;--pixel-heading:'Fusion Pixel','Microsoft YaHei',sans-serif}
::selection{background:#e2cdf4;color:var(--ink)}
h1,h2,h3{letter-spacing:-.025em}
.ui-icon{stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.75}
.site-header{background:var(--surface);backdrop-filter:none;border-bottom:2px solid var(--ink);box-shadow:0 4px 0 #2422370b;gap:22px}
.brand{letter-spacing:-.045em;gap:11px}
.brand img{image-rendering:auto}
.brand small{color:var(--accent);font-size:10px;letter-spacing:.2em}
.primary-nav{gap:5px}
.primary-nav a{border:2px solid transparent;padding:9px 10px;color:#5c566e;transition:background .14s,color .14s,box-shadow .14s,transform .14s}
.primary-nav a:hover{background:var(--pixel-lilac);color:var(--ink)}
.primary-nav a.current{background:var(--pixel-lilac);border-color:var(--ink);box-shadow:3px 3px 0 var(--pixel-pink);color:var(--ink)}
.site-header .primary-nav a.current:after{display:none}
.header-search{background:#f2ede7;border:2px solid var(--ink);border-radius:0;padding:10px 12px;box-shadow:3px 3px 0 var(--pixel-mint);transition:background .15s,box-shadow .15s}
.header-search:focus-within{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent);background:var(--surface)}
.header-search>span{color:var(--accent)}
.header-search kbd{font-family:var(--pixel-font);font-size:10px;border-radius:0;background:var(--surface);border:1px solid var(--line);padding:2px 4px}
.search-clear{border-radius:0}
.search-clear:hover{background:var(--pixel-lilac)}
.header-tools .mobile-menu{border-radius:0;border:2px solid var(--ink);background:var(--pixel-yellow);box-shadow:2px 2px 0 var(--ink)}
.workspace #main{padding-top:38px}
.page-top{border-bottom:2px solid var(--ink);padding-bottom:28px;background:none}
.page-top h1{font-weight:750;letter-spacing:-.04em;text-shadow:3px 3px 0 #d7c8e7}
.section-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-family:var(--pixel-font),'Microsoft YaHei',sans-serif;letter-spacing:.06em;font-size:11px;line-height:1.8}
.section-kicker:before{content:'';width:9px;height:9px;background:var(--accent);box-shadow:5px 5px 0 var(--pixel-pink);flex:none;margin-right:3px}
.page-number{font-family:var(--pixel-font);font-style:normal;color:#d5c6e2;font-size:56px;letter-spacing:-.12em}
.button{border:2px solid var(--ink);border-radius:0;background:var(--ink);color:var(--surface);box-shadow:3px 3px 0 #b6a9c5;font-weight:650;transition:background .16s,color .16s,box-shadow .16s,transform .16s}
.button.secondary{border-color:var(--ink);background:var(--surface);color:var(--ink);box-shadow:3px 3px 0 var(--pixel-mint)}
.button:hover{background:var(--accent);border-color:var(--ink);box-shadow:1px 1px 0 #b6a9c5;transform:translate(2px,2px)}
.button.secondary:hover{background:var(--pixel-lilac);border-color:var(--ink);color:var(--accent);box-shadow:1px 1px 0 var(--pixel-mint)}
.button:disabled{transform:none;box-shadow:none}
input,select,textarea{border-radius:0}
.sort-wrap select,.year-facet select{border:2px solid var(--ink);border-radius:0;box-shadow:2px 2px 0 var(--pixel-yellow);background:var(--surface);color:var(--ink);font-size:12px}
.sort-wrap select{padding:8px 10px;min-height:40px}
.catalog-heading .catalog-emblem{width:108px;height:108px;border:0;border-radius:0;background:url('/assets/decor/pixel-world.svg') center/cover;image-rendering:pixelated;box-shadow:4px 4px 0 #c7b8d9}
.catalog-emblem:before,.catalog-emblem:after{display:none}
.catalog-emblem b{align-self:end;justify-self:stretch;text-align:center;background:var(--ink);color:var(--surface);padding:6px;font-family:var(--pixel-font);font-size:10px}
.catalog-tools{border-bottom:1px dashed #b2a4c2;padding-bottom:23px}
.result-count strong{font-family:var(--pixel-font);font-weight:400;font-size:16px;margin-right:3px;color:var(--accent)}
body[data-layout=catalog] .workspace{gap:32px}
body[data-layout=catalog] .sidebar{border-right:2px solid #d8cfe1}
.sidebar-inner{padding-top:31px}
.facet-panel-heading{border-bottom:2px solid var(--ink);padding-bottom:17px}
.facet-panel-heading strong{font-weight:700}
.facet-panel-heading span,.facet-logic,.facet-feedback{color:var(--muted)}
.facet-directory-link{padding:10px;background:var(--pixel-lilac);border-left:3px solid var(--accent);font-size:11px}
.facet-group{border-bottom:1px dashed #c3b7d1}
.facet-group>summary{font-size:13px}
.facet-group[open]>summary{color:var(--accent)}
.facet-description{color:#817687;font-size:10px}
.facet-choice{border-radius:0;padding-left:7px;color:#5f566c}
.facet-choice:hover{background:#eae1f0}
.facet-choice.selected{background:#e5d9ed;color:#56368c}
.facet-choice input{border:1px solid #9b8ba9;border-radius:0;background:var(--surface)}
.facet-choice input:checked{background:var(--accent);border-color:var(--accent)}
.facet-choice>.facet-check{left:7px}
.facet-choice small{color:#807487;font-family:ui-monospace,monospace;font-size:10px}
.facet-selected-count{border-radius:0;background:var(--accent)}
.fieldset-search{border-radius:0;background:var(--surface);border-color:#b7a8c7;font-size:12px}
.facet-footnote,.facet-footnote p{color:var(--muted)}
.active-filter{background:var(--pixel-lilac);border:1px solid #b79aca;color:#54357f;border-radius:0;box-shadow:2px 2px 0 #d5c2e0}
.clear-filters:hover{color:var(--accent)}
.game-grid,.game-grid.library-grid{gap:29px 21px}
.game-card{height:100%;border:2px solid var(--ink);background:var(--surface);box-shadow:4px 4px 0 #cbb9dd;transition:box-shadow .18s,transform .18s}
.game-card>a{background:var(--surface);height:100%}
.game-card:hover,.game-card:focus-within{box-shadow:6px 6px 0 var(--pixel-pink);transform:translate(-1px,-1px)}
.game-card>a:focus-visible{border-radius:0;outline-offset:5px}
.poster{border-radius:0;box-shadow:none;background:#e9dfef;border-bottom:2px solid var(--ink)}
.poster img{image-rendering:auto;transition:transform .3s}
.game-card:hover .poster img{transform:scale(1.025)}
.poster .poster-open{border:2px solid var(--ink);border-radius:0;background:var(--pixel-yellow);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.card-content{padding:13px 12px 12px;min-height:116px}
.card-content h3{font-size:13px;font-weight:650;letter-spacing:0;line-height:1.6;min-height:42px}
.card-original{color:#786a7f;font-size:11px;margin:6px 0 14px}
.card-bottom{border-top:1px dashed #d1c4dc;padding-top:8px;min-height:25px;font-size:11px}
.game-grid .card-bottom .card-rating{font-family:ui-monospace,monospace;font-size:11px!important;color:var(--accent);font-weight:700}
.no-cover{color:#78658a;background-color:#e9dfef;background-image:linear-gradient(45deg,#d8cae5 25%,transparent 25%),linear-gradient(-45deg,#d8cae5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d8cae5 75%),linear-gradient(-45deg,transparent 75%,#d8cae5 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.pagination{border-top:2px solid var(--ink)}
.page-buttons{gap:7px}
.page-buttons button{border:1px solid #b3a6c1;border-radius:0;background:var(--surface);font-size:11px}
.page-buttons button:hover{background:var(--pixel-lilac);border-color:var(--ink)}
.page-buttons button.selected{background:var(--accent);border-color:var(--ink);box-shadow:2px 2px 0 var(--pixel-pink);color:white}
.page-buttons .page-step,.page-jump button{border-color:var(--ink)}
.page-jump input{border-radius:0;border-color:var(--ink);background:var(--surface)}
.atlas-map-intro{gap:38px;border-bottom:2px solid var(--ink)}
.atlas-map-intro h1{font-weight:750;text-shadow:3px 3px 0 #d7c8e7}
.atlas-map-intro h1 em{font-family:inherit;font-size:1em;font-style:normal;font-weight:750}
.atlas-map-graphic{background-color:var(--pixel-lilac);background-image:url('/assets/decor/pixel-world.svg');background-size:cover;background-position:center;mask-image:none;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--pixel-mint);height:300px}
.atlas-map-graphic svg{background:#e9e0f3b8}
.atlas-map-graphic .map-line{stroke:#887297;stroke-width:1.5;stroke-dasharray:5 4}
.atlas-map-graphic .map-node{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.atlas-map-graphic .map-center{fill:var(--accent);stroke:var(--ink);stroke-width:2}
.atlas-map-graphic .map-dot{fill:var(--pixel-pink)}
.atlas-map-graphic text{font-weight:650;fill:var(--ink)}
.section-head{border-bottom:2px solid var(--ink);padding-bottom:13px}
.section-head h2{font-size:24px;font-weight:700}
.section-head>span{font-family:var(--pixel-font),'Microsoft YaHei',sans-serif;font-size:10px;letter-spacing:0;color:var(--accent)}
.directory-grid{gap:18px;border:0}
.directory-card{border:2px solid var(--ink)!important;background:var(--surface)!important;box-shadow:4px 4px 0 #cbb9dd;padding:25px 23px;transition:background .18s,transform .18s,box-shadow .18s}
.directory-card:nth-child(3n+2){box-shadow:4px 4px 0 var(--pixel-mint)}
.directory-card:nth-child(3n){box-shadow:4px 4px 0 var(--pixel-yellow)}
.directory-card:hover{background:#efe6f7!important;transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--pixel-pink)}
.directory-number{font-family:var(--pixel-font);font-size:11px;letter-spacing:0;display:inline-block;padding:4px 6px;background:var(--pixel-lilac)}
.directory-card h3{font-size:20px;font-weight:700}
.directory-card>div strong{font-family:var(--pixel-font);font-size:24px;line-height:1.5;letter-spacing:-.05em;color:var(--accent)}
.directory-arrow{color:var(--ink);right:22px;top:22px}
.profile-directory{gap:18px;border:0}
.profile-tile{border:2px solid var(--ink)!important;background:var(--surface);box-shadow:3px 3px 0 #cbb9dd;padding:23px 20px;min-height:165px}
.profile-tile:hover{background:var(--pixel-lilac)}
.profile-tile-image{border:1px solid #b8aac8;border-radius:0;background:white}
.profile-tile-image img{image-rendering:auto}
.profile-tile .profile-tile-arrow{color:var(--accent)}
.entity-browser-toolbar .search-field{border-radius:0;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--pixel-mint);background:var(--surface)}
.entity-browser-toolbar .search-field:focus-within{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}
.field-links a,.tag-links a,.schema-links a{border-radius:0;border-color:#beaccf;background:var(--surface);color:#655174}
.field-links a:hover,.tag-links a:hover,.schema-links a:hover{background:var(--pixel-lilac);border-color:var(--accent);color:var(--accent)}
.source-copy{color:#514a5c}
.data-chart{border-radius:0;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--pixel-mint);background:var(--surface)}
.site-footer{border-top:2px solid var(--ink);position:relative;padding-top:34px}
.site-footer:before{content:'';position:absolute;top:-8px;right:0;width:36px;height:6px;background:var(--pixel-mint);box-shadow:-40px 0 0 var(--pixel-yellow),-80px 0 0 var(--pixel-pink),-120px 0 0 var(--accent)}
.footer-brand{font-weight:700}
.toast{border:2px solid #aba0c1;border-radius:0;box-shadow:4px 4px 0 #24223755}
.page-scrollbar-thumb{border-radius:0;background:#78658e99}
.loading-state,.empty-state,.network-error,.catalog-empty{border-radius:0;border:2px solid #b3a0c6;background:var(--surface);box-shadow:4px 4px 0 #dfd0e9}
.state-symbol{border:2px solid var(--ink);border-radius:0;background:var(--pixel-yellow);color:var(--ink);box-shadow:3px 3px 0 var(--pixel-pink)}
.loading-title,.loading-line,.loading-cards span,.loading-cards i{border-radius:0;background-image:linear-gradient(100deg,#e3d8ec 30%,#f4edf7 48%,#e3d8ec 66%)}
.route-progress{height:4px;background:#ddd0e8}
.route-progress:before{animation-timing-function:steps(8,end)}
.route-progress span{border-radius:0;border:1px solid #b8a8ce;box-shadow:3px 3px 0 #24223733}
.account-content,.sync-status-card,.sync-update-settings,.sync-stats>div,.table-scroll{border-radius:0;border:2px solid var(--ink);background:var(--surface);box-shadow:4px 4px 0 #d1bedf}
.account-content input,.admin-editor input,.admin-editor select,.admin-editor textarea{border-radius:0;border-color:#b3a0c6;background:var(--paper)}
.account-content .sync-warning{border-radius:0;background:#fae0dc}
.sync-status-mark,.sync-progress,.sync-progress span,.sync-current,.sync-row-state,.sync-job-table progress,.sync-job-table progress::-webkit-progress-bar,.sync-job-table progress::-webkit-progress-value{border-radius:0}
.sync-progress span,.sync-job-table progress::-webkit-progress-value{background:var(--accent)}
.sync-current{background:var(--pixel-lilac)}
.sync-stats strong{color:var(--accent);font-family:ui-monospace,monospace}
.admin-table th{background:var(--pixel-lilac)}
.admin-tabs a{border-radius:0;border-color:var(--ink);background:var(--surface)}
.admin-tabs .active{background:var(--accent);color:white;box-shadow:2px 2px 0 var(--pixel-pink)}
@media(max-width:1250px){.site-header{gap:14px}.primary-nav a{padding:9px 8px;font-size:11px}.header-search{width:224px}.game-grid,.game-grid.library-grid{gap:25px 18px}.card-content{padding:12px 10px}.directory-card{padding:23px 19px}.directory-card>div strong{font-size:21px}}
@media(max-width:1000px){.site-header{gap:0 22px}.primary-nav{gap:7px}.primary-nav a{font-size:12px;padding:9px 14px}.header-search{width:100%}.atlas-map-graphic{height:260px}.directory-card>div strong{font-size:25px}}
@media(max-width:780px){.site-header{gap:0 10px}.primary-nav{gap:3px;align-items:center}.primary-nav a{font-size:10px;padding:7px 8px}.primary-nav a.current{box-shadow:2px 2px 0 var(--pixel-pink)}.header-search{padding:8px 11px}.workspace #main{padding-top:27px}.page-top h1{font-size:39px;text-shadow:2px 2px 0 #d7c8e7}.page-top{padding-bottom:24px}.section-kicker{font-size:10px}.page-number{font-size:40px}.game-grid,.game-grid.library-grid{gap:24px 16px}.card-content{padding:11px 10px;min-height:114px}.game-card{box-shadow:3px 3px 0 #cbb9dd}.card-content h3{font-size:13px}.card-bottom{padding-top:8px;gap:4px}.poster .poster-open{display:none}.directory-grid,.profile-directory{gap:16px}.directory-card{padding:21px 16px}.directory-card h3{font-size:18px}.directory-card>div strong{font-size:23px}.directory-arrow{top:19px;right:16px}.directory-number{font-size:10px}.directory-card p{font-size:11px}.atlas-map-graphic{height:235px;box-shadow:4px 4px 0 var(--pixel-mint)}.atlas-map-intro h1{font-size:44px}.profile-tile{padding:21px 16px}.facet-choice{min-height:44px}.sidebar-inner{padding:24px 22px}body[data-layout=catalog] .sidebar{background:var(--paper);border-right:2px solid var(--ink);box-shadow:6px 0 0 #24223726}.sidebar-scrim{background:#24223770}.filter-close{border-radius:0;color:var(--ink)}.entity-browser-toolbar .button{min-height:44px}.site-footer{padding-top:29px}.page-buttons .page-step{padding:0 9px}}
@media(max-width:480px){.primary-nav{gap:1px}.primary-nav a{padding:7px 5px;font-size:10px}.page-top h1{font-size:35px}.game-grid,.game-grid.library-grid{gap:23px 16px}.card-content{padding:11px 9px}.card-bottom{font-size:10px}.directory-card{padding:20px 13px}.directory-card h3{font-size:16px}.directory-card>div strong{font-size:20px}.directory-card>div{flex-wrap:wrap;gap:2px 7px}.section-head h2{font-size:22px}.directory-arrow{right:12px}.atlas-map-intro h1{font-size:40px}.page-buttons{max-width:100%}}
@media(prefers-reduced-motion:reduce){.game-card:hover,.game-card:focus-within,.button:hover{transform:none}.game-card:hover .poster img{transform:none}}
