@font-face{font-family:Manrope;src:url("assets/fonts/Manrope-variable.ttf") format("truetype");font-weight:200 800;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#11171c;--surface:#1a232b;--muted:#a8b2bd;--text:#f2f1ec;--line:#303a43;--accent:#d2b278;--selected:#272923;--selected-line:#554b37;--space-8:8px;--space-12:12px;--space-20:20px;--space-24:24px;--space-28:28px;--space-40:40px;--space-48:48px;--radius-6:6px;--radius-10:10px;--font:Manrope,ui-sans-serif,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.5 var(--font)}button,a,input{font:inherit}button{cursor:pointer}a{color:var(--accent)}button:focus-visible,a:focus-visible,main:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:active{transform:scale(.98)}button{transition:background .18s ease,transform .18s ease}button:disabled{cursor:default;opacity:.45}img{max-width:100%}.skip{position:absolute;left:16px;top:-80px;z-index:3;padding:12px;background:var(--surface)}.skip:focus{top:16px}.shell{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100dvh}.rail{border-right:1px solid var(--line);padding:36px 24px;display:flex;flex-direction:column;gap:48px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--text);font-size:.92rem;font-weight:750;letter-spacing:.055em}.brand img{object-fit:contain}.brand small{display:block;font-size:.875rem;color:var(--muted);letter-spacing:.05em;margin-top:4px}nav{display:grid;gap:8px}.nav-button{display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border:1px solid transparent;border-radius:7px;color:var(--muted);padding:13px 15px;min-height:48px}.nav-button:hover{background:#1c252d;color:var(--text)}.nav-button.active{color:var(--accent);background:#272923;border-color:#554b37}.nav-count{font-size:.875rem;font-variant-numeric:tabular-nums}.huldra-note{margin-top:30px}.huldra-note img{width:136px;height:158px;object-fit:contain}.huldra-note p{font-size:.94rem;line-height:1.5;margin:16px 0 10px}.huldra-note small{font-size:.875rem;color:var(--muted)}main{padding:36px 40px 24px;min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{font-size:.875rem;letter-spacing:.14em;color:var(--accent);margin:0 0 8px}h1{font-size:2.5rem;line-height:1.15;margin:0;font-weight:650;letter-spacing:-.045em}.edition{color:var(--muted);font-size:.875rem;letter-spacing:.1em;border-left:1px solid var(--line);padding-left:18px}.edition b{display:block;font-size:1.8rem;font-weight:400;color:var(--accent);letter-spacing:-.03em}.status{margin:20px 0 28px;color:var(--muted);font-size:.94rem}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.game-card{min-width:0}.art{position:relative;aspect-ratio:2.14/1;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.art img{display:block;width:100%;height:100%;object-fit:cover}.save{position:absolute;top:10px;right:10px;display:grid;place-items:center;min-width:44px;min-height:44px;color:#f2f1ec;background:#101820e6;border:1px solid #667079;border-radius:8px}.save svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.save[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.save[aria-pressed=true] svg{fill:currentColor}.card-info{padding:14px 0 0}.date-type{display:flex;justify-content:space-between;align-items:start;gap:10px}.date{font-size:1rem;font-weight:650;font-variant-numeric:tabular-nums;color:var(--accent)}.launch{font-size:.875rem;color:var(--muted)}.launch.early{color:#d2b278}.game-card h2{font-size:1.13rem;font-weight:600;line-height:1.4;letter-spacing:-.01em;margin:6px 0}.game-card h2 a{color:var(--text);text-decoration:none}.game-card h2 a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.mode{font-size:.875rem;letter-spacing:.015em;color:var(--muted);margin:0}.date-note{color:var(--accent);font-size:.875rem;margin:8px 0 0}.empty{grid-column:1/-1;min-height:250px;border:1px dashed var(--line);padding:50px 24px;text-align:center;border-radius:10px}.empty h2{font-size:1.35rem;margin:0 0 8px}.empty p{color:var(--muted);max-width:36ch;margin:auto}.empty button,.primary{margin-top:20px;background:var(--accent);color:var(--bg);border:0;border-radius:6px;min-height:46px;padding:10px 18px;font-weight:650}.error{background:#332a20;color:#f7d3a0;padding:14px;border:1px solid #715536;margin:20px 0;border-radius:6px}.loading{grid-column:1/-1;color:var(--muted);padding:30px 0}footer{margin-top:38px;padding-top:20px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}footer p{margin:4px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 18px;border-radius:8px;background:var(--text);color:var(--bg);box-shadow:0 8px 20px #11171c55;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:4;font-size:.94rem}.toast.visible{opacity:1}
@media(max-width:850px){.shell{grid-template-columns:185px minmax(0,1fr)}.rail{padding:24px 18px}.brand{font-size:.875rem}.brand img{width:32px}main{padding:28px 24px}.game-grid{gap:24px 18px}.game-card h2{font-size:1rem}.date-type{display:block}.launch{display:block;margin-top:2px}}
@media(max-width:650px){.shell{display:block}.rail{border-right:0;border-bottom:1px solid var(--line);padding:20px 20px 0;gap:20px}.brand{font-size:.94rem}.brand img{width:36px;height:36px}nav{display:flex;gap:8px}.nav-button{flex:1;gap:10px;justify-content:center;margin-bottom:12px}.huldra-note{display:none}main{padding:26px 20px}.edition{display:none}h1{font-size:2rem}.eyebrow{font-size:.875rem}.status{font-size:.875rem;margin-bottom:24px}.game-grid{grid-template-columns:1fr;gap:28px}.game-card h2{font-size:1.2rem}.date-type{display:flex}.launch{margin:0}.card-info{padding-top:12px}.mode{font-size:.875rem}footer{font-size:.875rem}.toast{bottom:16px;width:max-content}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
.game-title{padding:0;background:none;border:0;color:var(--text);text-align:left;font:inherit;letter-spacing:inherit}.game-title:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.store-mini{display:inline-block;font-size:.875rem;margin-top:9px;text-decoration:none}.store-mini:hover{text-decoration:underline}.access-note{font-size:.875rem;color:var(--accent);margin:8px 0 0}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.calendar-top h2{font-size:1.15rem;font-weight:600;margin:0}.text-button{background:none;border:1px solid var(--line);color:var(--text);border-radius:6px;min-height:44px;padding:8px 14px}.text-button:hover{border-color:var(--accent)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{text-align:center;padding:5px;color:var(--muted);font-size:.875rem}.day{min-width:0;min-height:90px;background:var(--surface);border:1px solid var(--line);border-radius:7px;text-align:left;color:var(--text);padding:10px;display:flex;flex-direction:column;gap:5px}.day.selected{border-color:var(--accent);background:#2d2d25;box-shadow:inset 0 0 0 1px var(--accent)}.day:hover{border-color:var(--muted)}.day-number{font-size:1rem;font-variant-numeric:tabular-nums}.day-game{font-size:.875rem;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.day-count{font-size:.875rem;color:var(--muted)}.day.uncertain{border-style:dashed}.blank-day{min-height:90px}.calendar-caption{font-size:.875rem;color:var(--muted);margin:12px 0 0}.calendar-results-heading{margin:26px 0 20px;font-size:1.2rem;font-weight:500}.dialog-image{width:100%;aspect-ratio:2.14/1;object-fit:cover;border-radius:8px;display:block}dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid #5b6470;border-radius:14px;padding:26px}dialog::backdrop{background:#0b1015cf;backdrop-filter:blur(4px)}.close{position:sticky;top:0;float:right;margin:-12px -12px 8px 8px;width:44px;height:44px;z-index:1;border:1px solid #64707d;border-radius:7px;background:#18212aed;color:var(--text);font-size:1.6rem}.dialog-body h2{font-size:1.8rem;letter-spacing:-.03em;line-height:1.2;margin:22px 0 14px}.dialog-body p{margin:12px 0}.detail-labels{display:flex;flex-wrap:wrap;gap:12px}.detail-description{line-height:1.65}.detail-warning{font-size:.94rem;color:#e3c18b;border-left:2px solid var(--accent);padding-left:14px}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.detail-actions .primary{margin:0;text-decoration:none;display:inline-flex;align-items:center}.detail-actions button{margin:0}.sources{border-top:1px solid var(--line);padding-top:16px;margin-top:24px}.sources h3{font-size:1rem;font-weight:600;margin:0 0 10px}.sources ul{padding-left:20px}.sources li{margin:7px 0}.sources a{overflow-wrap:anywhere;font-size:.94rem}.credit{color:var(--muted);font-size:.875rem}.storage-error{color:#edc69b}
@media(max-width:650px){.calendar-grid{gap:4px}.day{min-height:64px;padding:7px 5px;align-items:center}.day-game{display:none}.day-count{font-size:.875rem}.blank-day{min-height:64px}.weekday{font-size:.875rem}.calendar-top h2{font-size:1rem}.calendar-caption{font-size:.875rem}.nav-button{padding:11px 10px;font-size:.92rem}.nav-count{font-size:.875rem}.dialog-body h2{font-size:1.5rem}dialog{padding:18px}.close{margin:-7px -7px 8px 8px}.detail-actions{flex-direction:column}.detail-actions a,.detail-actions button{justify-content:center;min-height:48px}.day-number{font-size:.94rem}}
.weekday-short,.day-count-short{display:none}@media(max-width:650px){nav{flex-wrap:wrap}.nav-button{flex:1 1 95px;flex-wrap:wrap;min-width:min-content}.weekday-long,.day-count-long{display:none}.weekday-short,.day-count-short{display:inline}.calendar-top{flex-wrap:wrap}.day-count{color:var(--accent);white-space:nowrap}}
.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:22px 0 8px}.catalog-toolbar label{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--muted)}select{font:inherit;min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;padding:8px 30px 8px 12px;max-width:100%}select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.catalog-update{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.catalog-update small{font-size:.875rem;color:var(--muted)}.quick-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:5px}.quick-links .store-mini,.detail-actions .store-mini{display:inline-flex;align-items:center;min-height:44px;margin:0;overflow-wrap:anywhere}.quick-links .store-mini:first-child{color:var(--text)}@media(max-width:650px){.catalog-toolbar{align-items:stretch;gap:12px}.catalog-toolbar label{justify-content:space-between;width:100%;flex-wrap:wrap}.catalog-update{justify-content:space-between;width:100%}.catalog-update small{max-width:22ch}.quick-links{gap:2px 14px}}

.back-to-games{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-underline-offset:4px}.brand small{letter-spacing:.015em}.brand{letter-spacing:.025em}.game-title{min-height:44px}header,footer{background:transparent;position:static}.shell main{width:auto}button{font-family:inherit}#game-list:empty{display:none}.shell .status{border:0;padding:0;text-transform:none;letter-spacing:normal}.shell footer{display:block;min-height:0;padding:20px 0 0}.shell .mode{padding:0;border:0;letter-spacing:.015em}
.calendar-scroll{overflow-x:auto}.calendar-grid{grid-template-columns:repeat(7,minmax(44px,1fr))}

/* A silent, smiling still presents the adjacent cards from the left rail. */
.huldra-note .huldra-presenter{display:block;width:168px;height:168px;object-fit:contain;transform:scaleX(-1)}

