:root,:root[data-theme=light]{--bg: #fdf9f2;--surface: #f5ede0;--text: #1c1409;--text-2: #5c4a32;--text-3: #9c8a70;--text-4: #c8b898;--accent: #b45309;--accent-hover: #92400e;--accent-text: #fdf9f2;--accent-tint: rgba(180, 83, 9, .1);--border: #ddd0b8;--hover: #f0e6d4;--positive: #16a34a;--negative: #dc2626;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .08);--radius: 12px;--radius-sm: 8px;--pill: 999px;--error: #dc2626;font-size:17px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--bg: #09090b;--surface: #18181b;--text: #fafafa;--text-2: #a1a1aa;--text-3: #71717a;--text-4: #3f3f46;--accent: #fbbf24;--accent-hover: #f59e0b;--accent-text: #1c1005;--accent-tint: rgba(251, 191, 36, .12);--border: #27272a;--hover: #3f3f46;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--text-3);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:min(800px,calc(100% - 48px));margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.page{flex:1;display:flex;flex-direction:column;gap:32px;padding:32px 0 60px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border)}.site-logo-group{display:flex;flex-direction:row;align-items:center;gap:5px}.site-logo{all:unset;cursor:pointer;display:flex;align-items:center;gap:9px}.site-title{margin:0;font-size:1.18rem;font-weight:700;color:var(--text);line-height:1;letter-spacing:-.02em}.site-stage{all:unset;font-size:.68rem;font-weight:500;color:var(--text-3);letter-spacing:0;cursor:pointer;transition:color .12s;align-self:flex-start;margin-top:2px}.site-stage:hover{color:var(--text-2)}.site-nav{display:flex;align-items:center;gap:6px}.nav-link{padding:5px 10px;background:transparent;border:0;color:var(--text-2);font-size:.8rem;font-weight:500;line-height:1.4;cursor:pointer;text-decoration:none;transition:color .12s}.nav-link:hover{color:var(--text)}.theme-toggle{width:32px;padding:6px 0;text-align:center;font-size:.84rem;line-height:1}.site-subnav{display:flex;justify-content:flex-end;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.btn-primary{width:100%;padding:12px 24px;border:1.5px solid var(--accent);border-radius:var(--pill);background:transparent;color:var(--accent);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.btn-primary:hover:not(:disabled){background:var(--accent-tint);border-color:var(--accent-hover);color:var(--accent-hover)}.btn-primary:disabled{opacity:.35;cursor:default}[data-theme=light] .btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}[data-theme=light] .btn-primary:hover:not(:disabled){background:var(--text-2);border-color:var(--text-2);color:var(--bg)}.btn-danger{width:100%;padding:12px 24px;border:0;border-radius:var(--pill);background:var(--error);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .12s}.btn-danger:hover{opacity:.85}.btn-danger:disabled{opacity:.35;cursor:default}.delete-link{padding:0;border:0;background:transparent;color:var(--error);font:inherit;font-size:.8rem;cursor:pointer;transition:opacity .12s}.delete-link:hover{opacity:.75}.link-btn{padding:6px 14px;border:1px solid var(--border);border-radius:var(--pill);background:transparent;color:var(--text-2);font-size:.8rem;cursor:pointer;transition:background .12s,color .12s}.link-btn:hover{background:var(--hover);color:var(--text)}.btn-icon{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--text-4);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,color .12s}.btn-icon:hover{background:var(--hover);color:var(--text)}.text-link{padding:0;border:0;background:transparent;color:var(--text-2);font:inherit;font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.text-link:hover{color:var(--text)}.input{width:100%;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.875rem;outline:none;transition:border-color .12s}.input:focus{border-color:var(--text-3)}.input::placeholder{color:var(--text-4);font-size:.8rem}.input-wrap{position:relative}.input-wrap .input{padding-right:44px}.input-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);padding:0;border:0;background:transparent;cursor:pointer;color:var(--text-3);line-height:0;display:flex;align-items:center}.input-eye:hover{color:var(--text)}.input-eye svg{width:18px;height:18px}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none}.page-title{margin:0;font-size:1.1rem;font-weight:600}.section-title{margin:0;font-size:1rem;font-weight:600}.error-text{margin:0;font-size:.8rem;color:var(--error)}.muted-text{font-size:.8rem;color:var(--text-3);font-style:italic;margin:0}.hint-text{margin:0;font-size:.72rem;color:var(--text-3);font-style:italic}.warning-text{margin:6px 0 0;font-size:.72rem;color:var(--text-2);font-style:italic}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#09090b80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:min(400px,calc(100% - 40px));max-height:85vh;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-lg)}.modal-wide{width:min(480px,calc(100% - 40px))}:root[data-theme=dark] .modal-card{background:var(--surface)}.seed-modal-cover,.variant-cover{width:100%;max-height:200px;object-fit:cover;object-position:top;border-radius:var(--radius-sm)}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-title{margin:0;font-size:1rem;font-weight:600}.modal-close{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--text-4);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.modal-close:hover{background:var(--hover);color:var(--text)}.modal-form{display:flex;flex-direction:column;gap:12px}.modal-actions{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border);margin-top:4px}.modal-list-select{flex:1;padding:4px 8px;border:1px solid var(--border);border-radius:var(--pill);background:var(--bg);color:var(--text-2);font-size:.72rem;font-family:inherit;cursor:pointer}.modal-list-select:focus{outline:none;border-color:var(--accent)}.modal-remove-link{font-size:.72rem;color:var(--text-4);background:none;border:none;cursor:pointer;font-family:inherit;padding:0;flex-shrink:0}.modal-remove-link:hover{color:var(--negative)}.modal-text{margin:0;font-size:.875rem;line-height:1.7;color:var(--text-2)}.modal-text a{color:var(--text);text-underline-offset:2px}.modal-subheading{margin:6px 0 0;font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:500}.modal-switch{margin:0;font-size:.8rem;color:var(--text-3);text-align:center}.home-hero{padding:28px 24px 24px;background:radial-gradient(ellipse 90% 70% at 50% -15%,rgba(180,83,9,.13),transparent 70%),linear-gradient(180deg,#fffdf8 0%,var(--bg) 80%);border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}:root[data-theme=dark] .home-hero{background:radial-gradient(ellipse 90% 70% at 50% -15%,rgba(251,191,36,.14),transparent 70%),linear-gradient(180deg,#111114 0%,var(--bg) 100%)}.home-hero-mark{margin-bottom:16px}.home-hero-eyebrow{margin:0 0 4px;font-size:.625rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.home-hero-title{margin:0 0 8px;font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.home-hero-sub{margin:0;font-size:.8rem;color:var(--text-3);line-height:1.6;max-width:320px}.home-htu-step{display:flex;gap:10px;align-items:baseline}.home-htu-num{font-size:.625rem;font-weight:700;color:var(--accent);min-width:12px;flex-shrink:0;line-height:1.55}.home-htu-title{margin:0 0 3px;font-size:.8rem;font-weight:600;color:var(--text-2);line-height:1.4}.home-htu-body{margin:0;font-size:.72rem;color:var(--text-3);line-height:1.55}.page-home{gap:0}.home-body{display:flex;flex-direction:column;gap:12px;padding:16px 0;flex:1}.home-body>.btn-primary{margin-top:12px;font-size:.8rem}.home-seeds-block,.home-filters-block,.home-library-block,.home-htu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.home-filters-block{overflow:hidden;padding:16px 0}.home-filters-block>.form-col-heading{padding:0 16px}.home-filters-block>.warning-text{padding:0 16px;margin:4px 0}.form-col-heading{margin:0;font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700}.seeds{display:flex;flex-direction:column;gap:8px}.seed-row{position:relative}.suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;box-shadow:var(--shadow);display:flex;flex-direction:column}.suggestion{width:100%;padding:8px 12px;border:0;border-radius:4px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:.875rem;transition:background .12s;display:flex;align-items:center;gap:10px}.suggestion:hover,.suggestion-active{background:var(--hover)}.suggestion-thumb{width:28px;height:38px;border-radius:4px;object-fit:cover;flex:0 0 auto;background:var(--bg-2)}.suggestion-thumb-empty{border:1px solid var(--border)}.suggestion-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.suggestion-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:var(--text-3)}.seed-pill{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.seed-pill-name{flex:1;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-filters-note{margin:2px 0 0;font-size:.72rem;color:var(--text-3);font-style:italic}.library-filters-hint{margin:0;font-size:.8rem;color:var(--text-3);font-style:italic}.chip-group{display:flex;flex-direction:column;gap:4px}.chip-group-label{font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.chip-list{display:flex;flex-wrap:wrap;gap:4px}.chip{padding:4px 10px;border:1px solid var(--border);border-radius:var(--pill);background:transparent;color:var(--text-2);font-size:.8rem;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.chip:hover{background:var(--hover);color:var(--text)}.chip-active{background:transparent;color:var(--accent);border-color:var(--accent)}.chip-active:hover{background:transparent;color:var(--accent-hover);border-color:var(--accent-hover)}.filter-accordion>div:not(:first-child){border-top:1px solid var(--border)}.filter-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:none;border:0;font:inherit;font-size:.8rem;font-weight:500;color:var(--text);text-align:left;cursor:pointer;transition:background .12s}.filter-row:hover{background:var(--hover)}.filter-meta{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-3)}.chevron{font-size:.5rem;color:var(--text-4);line-height:1}.filter-body{padding:12px 14px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.toggle-row{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-label{font-size:.8rem;color:var(--text-2)}.toggle-pill{display:inline-flex;align-items:center;width:36px;height:20px;border-radius:10px;background:var(--border);padding:2px;transition:background .15s,box-shadow .15s;flex-shrink:0}.toggle-on{background:var(--accent-tint);box-shadow:0 0 0 1.5px var(--accent)}.toggle-circle{width:16px;height:16px;border-radius:50%;background:var(--bg);transition:transform .15s;box-shadow:var(--shadow-sm)}.toggle-on .toggle-circle{transform:translate(16px)}.year-range{display:flex;align-items:center;gap:12px}.year-label{font-size:.8rem;color:var(--text-2);font-variant-numeric:tabular-nums;min-width:32px;text-align:center}.year-track{flex:1;position:relative;height:4px;background:var(--border);border-radius:2px}.year-fill{position:absolute;top:0;height:100%;background:var(--accent);border-radius:2px;pointer-events:none}.year-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:50%;left:0;width:100%;height:4px;margin:0;transform:translateY(-50%);background:transparent;pointer-events:none;outline:none}.year-thumb::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg);box-shadow:var(--shadow-sm);pointer-events:auto}.year-thumb::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg);box-shadow:var(--shadow-sm);pointer-events:auto}.discover-layout{display:flex;flex-direction:column;align-items:center;gap:24px}.discover-status{padding:48px 16px;text-align:center;color:var(--text-3);font-style:italic;font-size:.875rem}.discover-footer{display:flex;justify-content:center}.seed-strip{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;width:100%;padding-bottom:12px;border-bottom:1px solid var(--border)}.strip-heading{margin:0 0 2px;font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:500;width:100%}.strip-entry{display:flex;background:none;border:0;padding:2px 4px;margin:-2px -4px;border-radius:4px;cursor:pointer;font:inherit;transition:background .12s}.strip-entry:hover{background:var(--hover)}.strip-thumb-wrap{position:relative}.strip-cover{width:32px;height:44px;object-fit:cover;border-radius:3px;display:block;flex-shrink:0}.strip-cover-empty{width:32px;height:44px;border-radius:3px;background:var(--surface);flex-shrink:0}.strip-corner-badge{position:absolute;bottom:2px;right:2px;width:13px;height:13px;border-radius:50%;border:1.5px solid #fff;font-size:7px;font-weight:900;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.badge-liked{background:#16a34aeb}.badge-disliked{background:#dc2626d9}.badge-skipped{background:#78716ccc}.strip-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);opacity:0;pointer-events:none;transition:opacity 80ms;background:#1a130a;color:#fdf9f2;font-size:.6rem;padding:3px 7px;border-radius:4px;white-space:nowrap;z-index:10}.strip-entry:hover .strip-tooltip{opacity:1}.card-stack-area{width:100%;max-width:680px;display:flex;flex-direction:column;gap:16px}.card-stack{position:relative}.game-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.game-card-header{padding:16px 20px 12px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--border)}.game-card-media{display:flex;align-items:flex-start}.game-card-cover-wrap{width:260px;flex-shrink:0;position:relative}.game-card-cover{width:100%;aspect-ratio:264 / 374;object-fit:cover;object-position:top center;display:block}.game-card-cover-empty{width:260px;flex-shrink:0;aspect-ratio:264 / 374;background:var(--surface);position:relative}.game-card-summary-wrap{flex:1;min-width:0;padding:16px;border-left:1px solid var(--border)}.game-card-footer{padding:12px 20px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border)}.game-card-title{margin:0;font-size:1.1rem;font-weight:600;line-height:1.25;letter-spacing:-.01em}.game-card-meta{font-size:.72rem;color:var(--text-3)}.game-card-type-badge{display:inline-block;padding:1px 8px;border-radius:var(--pill);font-size:.625rem;font-weight:600;letter-spacing:.04em;background:#b4530917;border:1px solid rgba(180,83,9,.22);color:#92400e;align-self:flex-start}:root[data-theme=dark] .game-card-type-badge{background:#fbbf241a;border-color:#fbbf2440;color:#fbbf24}.game-card-score{position:absolute;top:8px;right:8px;background:color-mix(in srgb,var(--accent) 88%,transparent);color:var(--accent-text);font-size:.625rem;font-weight:700;padding:2px 8px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.02em;pointer-events:none}.game-card-summary{margin:0;font-size:.875rem;line-height:1.7;color:var(--text-2);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:14;overflow:hidden}.game-card-summary.summary-expanded{display:block;overflow:visible}.show-more-btn{background:none;border:none;padding:4px 0 0;color:var(--accent);font-size:.8rem;cursor:pointer;display:block;transition:color .12s}.show-more-btn:hover{color:var(--accent-hover)}.game-card-tags{display:flex;flex-wrap:wrap;gap:4px}.game-tag{padding:2px 8px;background:var(--surface);border-radius:var(--pill);font-size:.72rem;color:var(--text-3)}.game-card-row-label{flex-basis:100%;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:1px}.game-tag-genre,.game-tag-theme{padding:2px 9px;border:1px solid var(--border);border-radius:var(--pill);font-size:.72rem;color:var(--text-3);background:var(--surface)}.game-card-stores{display:flex;flex-wrap:wrap;gap:4px}.store-link{padding:3px 10px;border:1.5px solid var(--border);border-radius:var(--pill);font-size:.72rem;font-weight:600;color:var(--text-2);text-decoration:none;cursor:pointer;transition:filter .12s}.store-link:after{content:" ↗";font-size:.65em;opacity:.6}.store-link:hover{filter:brightness(.88)}.store-link.store-steam{color:#2a4a6a;border-color:#1b28384d;background:#1b28380f}.store-link.store-gog{color:#5a3db5;border-color:#5a3cb44d;background:#5a3cb40d}.store-link.store-epic{color:#3a3a3a;border-color:#32323252;background:#3232320d}.store-link.store-xbox{color:#126b12;border-color:#107c104d;background:#107c100f}.store-link.store-pstore{color:#003590;border-color:#0035904d;background:#0035900d}.store-link.store-nintendo{color:#b00010;border-color:#e600124d;background:#e600120d}.store-link.store-itch{color:#c03030;border-color:#dc3c3c59;background:#dc3c3c0f}.store-link.store-meta{color:#0060c0;border-color:#0060c04d;background:#0060c00d}.store-link.store-appstore{color:#06c;border-color:#0066cc4d;background:#0066cc0d}.store-link.store-google{color:#1a6b3a;border-color:#1a6b3a4d;background:#1a6b3a0d}:root[data-theme=dark] .store-link.store-steam{color:#7eb8e0;border-color:#7eb8e04d;background:#7eb8e012}:root[data-theme=dark] .store-link.store-gog{color:#a07ee0;border-color:#a07ee04d;background:#a07ee012}:root[data-theme=dark] .store-link.store-epic{color:silver;border-color:#c0c0c04d;background:#c0c0c012}:root[data-theme=dark] .store-link.store-xbox{color:#52c052;border-color:#52c0524d;background:#52c05212}:root[data-theme=dark] .store-link.store-pstore{color:#5b88e0;border-color:#5b88e04d;background:#5b88e012}:root[data-theme=dark] .store-link.store-nintendo{color:#f87171;border-color:#f871714d;background:#f8717112}:root[data-theme=dark] .store-link.store-itch{color:#f08080;border-color:#f080804d;background:#f0808012}:root[data-theme=dark] .store-link.store-meta{color:#60a0f0;border-color:#60a0f04d;background:#60a0f012}:root[data-theme=dark] .store-link.store-appstore{color:#60a5fa;border-color:#60a5fa4d;background:#60a5fa12}:root[data-theme=dark] .store-link.store-google{color:#52b87a;border-color:#52b87a4d;background:#52b87a12}.stores-empty{font-size:.72rem;color:var(--text-4);font-style:italic}.game-card-variants{display:flex;flex-wrap:wrap;gap:6px}.variants-toggle{cursor:pointer;font-size:.72rem;color:var(--text-3);font-style:italic;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px}.variants-list{width:100%;margin-top:8px;display:flex;flex-direction:column;gap:12px}.variant-item{width:100%;padding-top:12px;border-top:1px solid var(--border)}.variant-name{cursor:pointer;font-size:.72rem;color:var(--text-3);font-style:italic}.variant-name::marker,.variants-toggle::marker{color:var(--text-4)}.variant-item[open]>.variant-name,.game-card-variants[open]>.variants-toggle{color:var(--text-2)}.variant-detail{margin-top:10px;display:flex;flex-direction:column;gap:10px}.variant-btn{background:none;border:none;padding:0;font-size:.72rem;color:var(--text-3);font-style:italic;cursor:pointer;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px}.variant-btn:hover{color:var(--text-2);text-decoration-color:var(--text-2)}.variant-year{color:var(--text-4);margin-left:3px}.variant-summary{margin:0;font-size:.8rem;line-height:1.65;color:var(--text-2)}.variant-stores{display:flex;flex-wrap:wrap;gap:4px}.card-actions{display:flex;gap:8px;justify-content:center}.action-btn{flex:1;max-width:150px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--pill);background:transparent;color:var(--text-2);font-size:.875rem;cursor:pointer;transition:background .12s,color .12s,border-color .12s,opacity .12s}.action-btn:disabled{opacity:.35;cursor:default}.action-up{border-color:var(--positive);color:var(--positive)}.action-down{border-color:var(--negative);color:var(--negative)}.action-skip{border-color:var(--border);color:var(--text-2)}.action-up:hover:not(:disabled){background:#16a34a1a}.action-skip:hover:not(:disabled){background:var(--hover);color:var(--text)}.action-down:hover:not(:disabled){background:#dc26261a}.action-undo{flex:0 0 auto;max-width:none}.action-undo:hover:not(:disabled){background:var(--hover);color:var(--text)}:root[data-theme=dark] .action-up{color:#4ade80;border-color:#4ade80}:root[data-theme=dark] .action-down{color:#f87171;border-color:#f87171}:root[data-theme=dark] .action-up:hover:not(:disabled){background:#4ade801f}:root[data-theme=dark] .action-down:hover:not(:disabled){background:#f871711f}.game-card-library{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.library-prompt{font-size:.72rem;color:var(--text-4);width:100%}.library-btn{padding:3px 9px;border:1px solid var(--border);border-radius:var(--pill);background:transparent;color:var(--text-3);font-size:.72rem;cursor:pointer;transition:background .12s,color .12s}.library-btn:hover{background:var(--hover);color:var(--text)}.library-btn:disabled{opacity:.35;cursor:default}.library-undo-link{background:none;border:none;padding:0;color:var(--accent);font-size:.72rem;cursor:pointer;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px;transition:color .12s,text-decoration-color .12s,opacity .12s}.library-undo-link:hover:not(:disabled){color:var(--accent-hover);text-decoration-color:currentColor}.library-undo-link:disabled{opacity:.35;cursor:default}.library-status{font-size:.72rem;color:var(--text-3);font-style:italic}.profile-page-shell{display:flex;flex-direction:column;gap:16px}.profile-card,.profile-library-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.profile-card-title{font-size:1rem;font-weight:600;letter-spacing:-.01em}.profile-avatar{width:56px;height:56px;border-radius:50%;background:transparent;color:var(--accent);border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;flex-shrink:0}.profile-username{margin:0;font-size:1rem;font-weight:600;line-height:1.2}.profile-hero{display:flex;gap:12px;align-items:flex-start}.profile-hero-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.profile-hero-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.profile-details-inline{font-size:.72rem;color:var(--text-3);line-height:1.5}.profile-counts-inline{font-size:.72rem;color:var(--text-2)}.profile-counts-inline strong{font-weight:600;color:var(--text)}.profile-divider{border:none;border-top:1px solid var(--border);margin:0}.profile-history-row,.profile-subsection-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.profile-subsection-title{margin:0;font-size:.8rem;font-weight:600;color:var(--text)}.profile-inline-action{flex-shrink:0}.profile-detail-list{display:grid;gap:8px}.profile-detail-row{display:flex;flex-direction:column;gap:2px}.profile-edit-fields{display:flex;flex-direction:column;gap:10px}.profile-edit-row{display:flex;flex-direction:column;gap:4px}.profile-edit-actions{display:flex;gap:8px;margin-top:4px}.profile-edit-actions .btn-primary{width:auto;flex:1}.field-label{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);font-weight:500}.field-value{font-size:.875rem;color:var(--text-2)}.profile-summary-link{flex-shrink:0}.library-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.library-count{font-size:.72rem;color:var(--text-4)}.library-add{display:flex;flex-direction:column;gap:6px}.library-add-picker{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.profile-library-picker{display:flex;align-items:center;gap:8px}.profile-library-picker-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.profile-library-picker-thumb{width:28px;flex:0 0 auto}.profile-library-picker-thumb .suggestion-thumb,.profile-library-picker-thumb .suggestion-thumb-empty{width:28px;height:38px}.library-add-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.library-list-select{margin-left:auto;padding:3px 7px;border:1px solid var(--border);border-radius:var(--pill);background:transparent;color:var(--text-3);font-size:.72rem;font-family:inherit;cursor:pointer;flex-shrink:0}.library-list-select:focus{border-color:var(--text-3);outline:none}.profile-library-select{min-width:124px}.profile-library-shelves{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:6px}.cover-tile{all:unset;display:flex;flex-direction:column;gap:4px;cursor:pointer}.cover-tile:hover .cover-tile-img,.cover-tile:focus-visible .cover-tile-img{opacity:.88;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.cover-tile-img{width:100%;aspect-ratio:3/4;border-radius:4px;object-fit:cover;display:block;transition:opacity .15s,transform .15s,box-shadow .15s}.cover-tile-empty{width:100%;aspect-ratio:3/4;border-radius:4px;background:var(--bg);border:1px solid var(--border)}.cover-tile-name{font-size:.72rem;color:var(--text-2);line-height:1.3;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.library-shelf{display:flex;flex-direction:column;gap:8px}.library-shelf+.library-shelf{padding-top:12px;border-top:1px solid var(--border)}.library-shelf-head{all:unset;display:flex;align-items:baseline;justify-content:space-between;gap:12px;cursor:pointer;width:100%}.library-shelf-head:hover{opacity:.72}.library-shelf-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.library-shelf-chevron{font-size:.72rem;color:var(--text-4);flex-shrink:0}.library-shelf-meta{display:flex;align-items:baseline;gap:6px}.library-shelf-empty{padding:2px 0 0}.profile-utilities{display:flex;align-items:center;gap:0}.profile-utilities-sep{color:var(--text-4);font-size:.8rem;padding:0 8px}.profile-delete-link{margin-left:auto;padding:0;border:0;background:transparent;color:var(--negative);font:inherit;font-size:.72rem;cursor:pointer;transition:opacity .12s}.profile-delete-link:hover{opacity:.7}.profile-utilities-group{display:flex;flex-direction:column;gap:8px}.profile-utilities-errors{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px}.profile-utility-modal{gap:16px}.profile-modal-heading{display:flex;flex-direction:column;gap:2px}.profile-modal-section{display:flex;flex-direction:column;gap:12px}.sessions-section{display:flex;flex-direction:column;gap:8px}.sessions-anon-hint{font-size:.875rem;color:var(--text-3);padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.session-item{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid var(--border)}.session-item-header{display:flex;justify-content:space-between;align-items:center}.session-continue{padding:3px 10px;font-size:.8rem}.session-continue-inline{padding:0;border:0;background:transparent;color:var(--text-3);font-size:.8rem}.session-continue-inline:hover{color:var(--text)}.session-date{font-size:.72rem;color:var(--text-4);letter-spacing:.03em}.session-seeds{display:flex;flex-wrap:wrap;gap:4px 10px}.session-seed{font-size:.8rem;color:var(--text-2)}.claim-actions{display:flex;gap:8px;margin-top:8px}.claim-actions .btn-primary{width:auto;flex:1}.site-footer{padding:16px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.kofi-btn{height:28px;display:block;flex-shrink:0;transition:opacity .12s}.kofi-btn:hover{opacity:.85}.footer-links{display:flex;gap:16px}.footer-link{font:inherit;font-size:.8rem;color:var(--text-3);text-decoration:none;padding:0;border:0;background:transparent;cursor:pointer;transition:color .12s}.footer-link:hover{color:var(--text)}.footer-author{font-size:.72rem;color:var(--text-4)}.auth-sessions-section{display:flex;flex-direction:column;gap:12px}.token-list{display:flex;flex-direction:column;gap:6px}.token-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-2)}.token-current{border-color:var(--text-3)}.token-expires{color:var(--text-3);font-size:.72rem}.token-badge{margin-left:auto;font-size:.72rem;color:var(--text-3);font-style:italic}.logout-all-row{display:flex;align-items:center;gap:12px}@media (max-width: 640px){.app-shell{width:calc(100% - 32px)}.page{gap:24px;padding:20px 0 40px}.site-header{padding:12px 0}.site-stage{display:none}.site-title{font-size:1.24rem}.nav-link{padding:6px}.site-subnav{gap:12px;flex-wrap:wrap}.card-stack-area{max-width:100%}.game-card-media{flex-direction:column}.game-card-cover-wrap{width:100%}.game-card-cover,.game-card-cover-empty{width:100%;height:220px;aspect-ratio:auto}.game-card-summary-wrap{border-left:0;border-top:1px solid var(--border)}.game-card-summary{max-height:none}.card-actions{flex-wrap:wrap}.action-btn{max-width:none;padding:10px 8px}.action-undo{flex:1 1 100%;order:10}.game-card-body{padding:12px 16px}.game-card-library{padding:8px 16px}.profile-library-picker{flex-wrap:wrap;align-items:flex-start}.profile-library-picker-main{width:100%}.profile-library-select{width:100%;min-width:0}.profile-utilities{flex-wrap:wrap;gap:8px 16px}.profile-delete-link{margin-left:0;width:100%;text-align:left}.site-footer{flex-direction:column;align-items:center;gap:10px;text-align:center}.footer-right{align-items:center}}.data-controls{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border);gap:16px}.export-section,.delete-section{display:flex;align-items:center;gap:8px}.export-btn{font-size:.8rem;color:var(--text-3);padding:0;border:0;border-radius:0}.export-btn:hover{background:transparent;color:var(--text-2)}.export-error{font-size:.8rem;color:var(--error)}.lang-toggle{padding:4px 10px;min-width:38px;text-align:center;font-variant:small-caps;letter-spacing:.03em}.page-notes{max-width:640px}.page-static{max-width:720px}.notes-content{display:flex;flex-direction:column;gap:12px}.page-prose{width:100%}.notes-h1{font-size:1.4rem;font-weight:600;color:var(--text);margin:0}.notes-h2{font-size:1rem;font-weight:600;color:var(--text);margin:8px 0 0}.notes-h3{font-size:1rem;font-weight:600;color:var(--text);margin:6px 0 0}.notes-h4{font-size:.875rem;font-weight:600;color:var(--text-2);margin:4px 0 0}.notes-para{font-size:.875rem;color:var(--text-2);line-height:1.6;margin:0}.notes-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.notes-list li{font-size:.875rem;color:var(--text-2);line-height:1.5}.game-card-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.game-card-franchise{font-size:.72rem;color:var(--text-3);white-space:nowrap}.franchise-link{background:none;border:none;color:var(--accent);font-size:.72rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;font-family:inherit}.franchise-link:hover{color:var(--accent-hover)}.game-card-info-btn{position:absolute;bottom:6px;left:6px;width:22px;height:22px;background:#00000073;color:#fff;border:none;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:0;line-height:1}.game-card-info-btn:hover{background:#000000a6}.game-info-rows{padding:12px 20px 16px;display:flex;flex-direction:column;gap:8px}.game-info-row{display:flex;gap:10px;font-size:.8rem;line-height:1.5}.game-info-label{min-width:100px;flex-shrink:0;color:var(--text-3);font-size:.72rem;padding-top:2px}.game-info-values{color:var(--text-2)}.game-info-empty{font-size:.8rem;color:var(--text-3);padding:0;margin:0}.franchise-status{font-size:.8rem;color:var(--text-3);padding:12px 20px 16px;margin:0}.franchise-game-list{margin:0;padding:0 0 8px;display:flex;flex-direction:column;max-height:60vh;overflow-y:auto}.franchise-game-item{border-top:1px solid var(--border)}.franchise-game-summary{display:flex;gap:10px;align-items:center;padding:8px 20px;cursor:pointer;list-style:none}.franchise-game-summary::-webkit-details-marker{display:none}.franchise-game-item[open]>.franchise-game-summary{padding-bottom:4px}.franchise-game-cover{width:36px;aspect-ratio:264 / 374;object-fit:cover;border-radius:3px;flex-shrink:0}.franchise-game-cover-empty{background:var(--surface)}.franchise-game-info{display:flex;flex-direction:column;gap:2px}.franchise-game-name{font-size:.85rem;font-weight:500;color:var(--text)}.franchise-game-year{font-size:.72rem;color:var(--text-3)}.franchise-game-detail{padding:4px 20px 12px;display:flex;flex-direction:column;gap:10px}.franchise-game-detail-cover-wrap{position:relative;width:100%}.franchise-game-detail-cover{width:100%;max-height:200px;object-fit:cover;object-position:top;border-radius:var(--radius-sm)}.franchise-game-detail-summary{margin:0;font-size:.8rem;line-height:1.65;color:var(--text-2)}
