*{box-sizing:border-box}body{margin:0;background:#0d1612;color:#e7ecde;font:14px system-ui,sans-serif;background-image:radial-gradient(ellipse at 85% 0,#2b4b2e33,transparent 45%)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}header{max-width:1240px;margin:auto;padding:26px 30px;display:flex;justify-content:space-between;border-bottom:1px solid #ffffff18;align-items:center}.brand{font-size:22px;font-weight:800;letter-spacing:-1px}.brand span{color:#c2e2a0}nav{display:flex;gap:24px;font-size:12px;color:#a2b19b}nav [aria-current]{color:#e0edcf}main{max-width:1240px;margin:auto;padding:50px 30px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{font:9px monospace;letter-spacing:2px;color:#b4ce96}h1{font:normal clamp(34px,5vw,54px)/1.08 Georgia,serif;letter-spacing:-1.5px;margin:18px 0}h2{font:normal 29px Georgia,serif;margin:8px 0}h3{font-weight:500}.muted{color:#93a38c;line-height:1.7}.tiny{font-size:11px}.intro-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.secondary{background:transparent;color:#c3d4ad;border:1px solid #9cb18555;padding:11px 18px;border-radius:8px;font-size:12px;white-space:nowrap}.secondary:disabled{opacity:.5;cursor:default}.primary{display:inline-block;background:#ccdfb0;color:#20351e;padding:13px 20px;border-radius:8px;font-size:12px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:38px 0 15px;padding:25px 0;border-top:1px solid #b3c79f22;border-bottom:1px solid #b3c79f22}.stats>div{padding-left:25px;border-left:1px solid #ffffff17}.stats>div:first-child{padding-left:0;border:0}.stats strong{display:block;font:normal 36px Georgia,serif}.stats>div>span{display:block;color:#8fa583;font:9px monospace;letter-spacing:1px;margin-top:10px}.stats small{font:11px monospace;letter-spacing:.5px;color:#8fa583;margin-left:4px}.catalog-progress{display:flex;align-items:center;gap:14px}.catalog-progress span{flex-shrink:0;font:10px monospace;letter-spacing:.5px;color:#8fa583}.progress-track{flex:1;height:6px;background:#273522;border-radius:6px;overflow:hidden}#progress-fill{height:100%;background:#b3d886;border-radius:6px;transition:width .4s}#progress-fill.started{min-width:6px}.showcase{padding:32px 0;margin-bottom:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-heading>span{font:11px monospace;color:#8da17e;white-space:nowrap}.favorites{display:flex;gap:18px;padding:25px;border-radius:16px;border:1px solid #a5bb8b26;background:linear-gradient(110deg,#21302155,#111f16);overflow-x:auto;min-height:165px}.favorites>.entry{flex:0 0 125px}.favorites .entry h3{font-size:10px}.favorite-placeholder{min-width:155px;flex:1;border:1px dashed #9cb18544;border-radius:10px;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#7c956b;padding:18px;text-align:center}.favorite-placeholder>span{font-size:27px}.favorite-placeholder p{font-size:12px;max-width:240px}.toolbar{margin-bottom:28px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.tabs button{padding:10px 14px;border:1px solid #84976d33;border-radius:7px;background:transparent;color:#9eb18f;font-size:12px}.tabs button[aria-pressed=true]{background:#ccdfb0;border-color:#ccdfb0;color:#20351e}.fields{display:flex;gap:12px}.fields input,.fields select{color:#c3cfb7;background:#142016;border:1px solid #91a67a33;border-radius:7px;padding:12px 14px;min-width:0}.fields input{flex:1}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 24px}.entry{min-width:0}.card-button{display:block;padding:0;border:0;background:none;width:100%;aspect-ratio:330/410;transition:transform .25s;text-align:left}.card-button:not(:disabled):hover{transform:translateY(-6px) rotate(-1deg)}.card-button:disabled{cursor:default}.entry h3{font-size:12px;line-height:1.5;margin:13px 0 8px;min-height:36px;color:#ccd7c0}.entry-actions{display:flex;justify-content:space-between;align-items:center;gap:5px}.badge{font:9px monospace;color:#91a97c}.star{font-size:23px;line-height:1;border:0;background:none;color:#81946f;padding:4px}.star[aria-pressed=true]{color:#dbe5a0}.empty{text-align:center;padding:65px 20px;border:1px dashed #78976444;border-radius:16px}.empty>span{font-size:40px;color:#a8c58e}.empty h3{font:normal 26px Georgia,serif}.empty p{color:#91a480;line-height:1.6}.empty .primary{margin-top:15px}.notice{padding:15px;border:1px solid #b5ce8a44;border-radius:8px;background:#2a39231f;color:#c5d5ad}.notice a{text-decoration:underline}.error{background:#4a312322;padding:14px;color:#eec5a5;border:1px solid #9b785755;border-radius:8px}footer{text-align:center;font-size:12.5px;color:#7f9273;padding:20px 25px 35px;line-height:1.8}footer a{text-decoration:underline}dialog{border:1px solid #829b6955;border-radius:18px;background:#152219;color:#dbe5cd;max-width:440px;width:calc(100% - 30px);padding:30px;text-align:center}dialog::backdrop{background:#030904c9;backdrop-filter:blur(5px)}.close{position:absolute;right:10px;top:8px;border:0;background:none;color:#c2d5ac;font-size:27px;padding:6px 10px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #cee59f;outline-offset:4px}[hidden]{display:none!important}
@media(max-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){header{padding:20px}nav{gap:15px;font-size:11px}main{padding:30px 20px}.intro{align-items:start;flex-direction:column}.intro-actions{align-items:flex-start}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 15px}.stats>div>span{font-size:8px;line-height:1.6}.stats>div{padding-left:12px}.stats strong{font-size:30px}}@media(max-width:520px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr);gap:25px}.stats>div:nth-child(3){padding-left:0;border:0}.fields{flex-direction:column}.tabs{gap:5px}.tabs button{font-size:11px;padding:9px 10px}.section-heading{align-items:start}.section-heading .eyebrow{font-size:8px;line-height:1.6}.favorites{padding:18px;gap:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.card-button:not(:disabled):hover{transform:none}}

/* Compact introduction, ordered showcase and responsive library views. */
main{padding-top:28px}.intro{gap:20px}h1{font-size:clamp(29px,4vw,42px);margin:10px 0}.intro .muted{margin:10px 0}.intro .eyebrow{font-size:8px}.intro-actions{display:grid;grid-template-columns:auto auto;align-items:center;gap:8px}.intro-actions #export-status{grid-column:1/-1;text-align:right}.intro-actions .primary,.intro-actions .secondary{padding:11px 13px;font-size:11px}.stats{margin:22px 0 12px;padding:16px 0;gap:12px}.stats>div{display:flex;align-items:center;gap:13px}.stats strong{font-size:28px}.stats>div>span{font-size:8px;margin:0;line-height:1.6}.showcase{padding:26px 0 18px;margin-bottom:8px}.showcase .section-heading{margin-bottom:16px}.favorites{padding:26px 24px 20px;gap:24px;background:radial-gradient(ellipse at 50% -40%,#a5c98b38,transparent 70%),linear-gradient(120deg,#233f30,#14251c 70%);border-color:#a7c09240;box-shadow:inset 0 1px #dae8c215,inset 0 -20px 35px #03140c33;scroll-snap-type:x proximity;scroll-padding:24px}.favorites>.entry{flex-basis:170px;scroll-snap-align:start}.favorites .entry h3{font-size:11px;min-height:33px;margin-top:16px}.favorite-placeholder{max-width:220px;min-width:150px}.toolbar{position:sticky;top:0;z-index:5;background:#0d1612f5;backdrop-filter:blur(14px);padding:14px 0 16px;border-bottom:1px solid #77916b33;margin-bottom:24px}.display-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.display-options label{font-size:11px;color:#9eb18f;display:flex;align-items:center;gap:10px}.display-options select{font:12px system-ui,sans-serif;background:#142016;border:1px solid #91a67a33;color:#c3cfb7;padding:8px 10px;border-radius:6px;max-width:100%}.density{margin:0}.density button{font-size:11px;padding:8px 11px}.toolbar>.tabs{margin-bottom:12px}.library-grid,.era-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 26px}.compact-cards .library-grid,.compact-cards .era-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:25px 18px}.library-grid.by-era,.compact-cards .library-grid.by-era{display:block}.era-section{margin-bottom:34px;scroll-margin-top:210px}.era-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid #b2c69e25}.era-heading h3{font:24px Georgia,serif;margin:0}.era-summary{display:flex;flex-direction:column;gap:8px;font:10px monospace;color:#a6b594;min-width:180px}.era-progress{height:4px;width:100%;accent-color:#bfda99;border:0;border-radius:4px;overflow:hidden;background:#263b2b}.era-progress::-webkit-progress-bar{background:#263b2b}.era-progress::-webkit-progress-value{background:#bfda99}.era-progress::-moz-progress-bar{background:#bfda99}.entry{scroll-margin-top:210px}.grid .entry h3{overflow-wrap:anywhere}
@media(max-width:1000px){.intro-actions{display:flex}.stats>div{display:block}.stats>div>span{margin-top:6px}.library-grid,.era-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-cards .library-grid,.compact-cards .era-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){main{padding-top:22px}.intro{gap:8px}.intro-actions{flex-direction:row;flex-wrap:wrap}.intro-actions #export-status{width:100%;text-align:left}.favorites>.entry{flex-basis:155px}.favorites{gap:20px;padding:22px 20px}.library-grid,.era-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-cards .library-grid,.compact-cards .era-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.display-options{flex-wrap:wrap}.display-options label{flex:1}.era-heading h3{font-size:22px}.era-summary{min-width:145px;font-size:9px}.toolbar{padding:10px 0}.fields{flex-direction:row}.fields input{width:0}.fields select{max-width:145px;font-size:11px}}
@media(max-width:520px){.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stats>div,.stats>div:nth-child(3){padding-left:8px;border-left:1px solid #ffffff17}.stats>div:first-child{padding-left:0;border:0}.stats strong{font-size:24px}.stats>div>span{font-size:7px;letter-spacing:.3px}.favorites>.entry{flex-basis:150px}.compact-cards .grid .mc-caption small{display:none}.compact-cards .grid .entry-actions{flex-wrap:wrap}.compact-cards .grid .entry h3{font-size:10px}.compact-cards .grid{gap:20px 10px}.display-options{gap:9px}.display-options label{font-size:10px}.display-options select{font-size:11px}.toolbar>.tabs{gap:4px}.toolbar>.tabs button{font-size:10px;padding:9px 7px}.era-heading{align-items:start}.era-summary{min-width:125px;font-size:8px}.entry{scroll-margin-top:250px}}
.brand{white-space:nowrap}header{gap:16px}header nav{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:520px){header{padding:18px 20px}.brand{font-size:20px}header nav{gap:5px 14px;font-size:10px}}

/* Drag and drop ordering in the showcase. */
.favorites>.entry{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.favorites.reordering,.favorites.reordering *{cursor:grabbing!important}.favorites.reordering{scroll-snap-type:none}.favorites>.entry.dragging{position:relative;z-index:3;transition:none;filter:drop-shadow(0 18px 22px #02100acc)}.favorites>.entry.dragging .card-button{transform:none}.favorites>.entry.settling{transition:transform .2s ease-out}.favorites.reordering .entry:not(.dragging){opacity:.85}
@media(prefers-reduced-motion:reduce){.favorites>.entry{transition:none}}
/* The showcase always uses the large card size, whatever the library density. */
.favorites>.entry{flex-basis:calc((100% - 72px)/4)}.favorites .entry h3{font-size:12px;min-height:36px}
@media(max-width:1000px){.favorites>.entry{flex-basis:calc((100% - 48px)/3)}}@media(max-width:760px){.favorites>.entry{flex-basis:calc((100% - 20px)/2)}}@media(max-width:520px){.favorites>.entry{flex-basis:calc((100% - 20px)/1.6)}}#detail{max-width:820px;max-height:calc(100dvh - 30px);overflow:auto;padding:0;text-align:left}#detail .close{position:sticky;top:0;display:block;z-index:2;margin:6px 6px -50px auto}#detail-content{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;padding:34px}.detail-side .memory-card{width:100%}.detail-meta{list-style:none;padding:0;margin:26px 0 0;font-size:12px;line-height:1.9;color:#b6c4a9;text-align:center}.detail-main h2{margin:4px 30px 6px 0;line-height:1.15}.game-byline{margin:0;color:#ccd7c0}.game-platforms{margin:4px 0 0;font-size:12px;color:#8fa583}.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:16px 0}.chip{font-size:11px;padding:4px 9px;border-radius:999px;border:1px solid #9cb18544;color:#c3d4ad}.chip.series{background:#ccdfb0;border-color:#ccdfb0;color:#20351e}.game-text p{white-space:pre-line;line-height:1.65;margin:0 0 12px}.story h3{margin:18px 0 8px}.story p{color:#b6c4a9}.game-text.folded .summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.game-text.folded .story{display:none}.read-more{border:0;background:none;padding:0;color:#c2e2a0;font-size:12px;text-decoration:underline}.game-source{margin:18px 0 0;font-size:11px;color:#7f9273}.game-source a{text-decoration:underline}@media (max-width:700px){#detail-content{grid-template-columns:1fr;gap:18px;padding:22px}.detail-side{display:flex;gap:16px;align-items:center}.detail-side .memory-card{width:130px;flex:none}.detail-meta{margin:0;text-align:left;font-size:11px;line-height:1.7}}
/* Narrow screens: the catalog size goes under the count instead of squeezing the label. */
@media(max-width:520px){.stats small{display:block;margin:3px 0 0;font-size:9px;letter-spacing:0}.catalog-progress{gap:10px}.catalog-progress span{font-size:9px}}

.favorites .entry-text{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.favorites .entry-text h3{flex:1}.unstar{color:#dbe5a0;margin-top:8px;flex:none;cursor:pointer}.unstar:hover{color:#f0c9a0}.favorites:focus{outline:none}.detail-favorite{display:block;width:100%;margin-top:16px}
/* Guest mode (account.js): the collection lives in this browser until a sign-in. */
.guest-banner{max-width:1240px;margin:0 auto;padding:9px 30px;font-size:12px;color:#a9b89d;border-bottom:1px solid #ffffff12}.guest-banner a{color:#d4e6b8;text-decoration:underline}
