:root{--bg: #050505;--sidebar: #0a0a0c;--accent: #38bdf8;--text: #f1f5f9;--dim: #94a3b8;--card: rgba(255,255,255,.03);--green: #4ade80;--yellow: #fde047;--red: #f87171;--purple: #c084fc;--border-subtle: #2a2a2a;--bg-subtle: #111;--accent-bg: rgba(56,189,248,.15);--red-bg: rgba(248,113,113,.15);--green-bg: rgba(74,222,128,.15);--purple-bg: rgba(192,132,252,.15);--yellow-bg: rgba(253,224,71,.15);--orange-bg: rgba(251,146,60,.15);--stone-bg: rgba(168,162,158,.15);--border: var(--accent-bg);--label: #7a8494}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Manrope,sans-serif;display:flex;height:100vh;height:100dvh;overflow:hidden}.setup-overlay{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:40px 16px;animation:fadeIn .4s}.setup-overlay.hidden{display:none}.setup-card{background:var(--sidebar);border:1px solid var(--border);border-radius:20px;padding:48px;max-width:560px;width:90%}.setup-card h1{font-family:Unbounded,sans-serif;font-size:28px;color:var(--accent);margin-bottom:8px}.setup-card p{color:var(--dim);margin-bottom:32px;font-size:16px;line-height:1.5}.setup-field{margin-bottom:20px}.setup-field label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--label);margin-bottom:8px;font-weight:700}.setup-field input,.setup-field select{width:100%;padding:12px 16px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg);color:var(--text);font-family:Manrope,sans-serif;font-size:16px;outline:none;transition:border-color .2s}.setup-field input:focus,.setup-field select:focus{border-color:var(--accent)}.setup-players-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.setup-player-row{display:flex;gap:10px;align-items:center}.setup-player-row input{flex:1}.setup-player-row .player-num{min-width:28px;height:28px;border-radius:50%;background:var(--accent);color:#000;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}.setup-start-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--accent),var(--purple));border:none;border-radius:12px;color:#000;font-family:Unbounded,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s,opacity .2s}.setup-start-btn:hover{transform:scale(1.02)}.setup-start-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.setup-lang-toggle{display:flex;gap:6px;justify-content:flex-end;margin-bottom:20px}.setup-lang-btn{padding:6px 14px;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--dim);font-family:Manrope,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.setup-lang-btn:hover{border-color:var(--accent);color:var(--text)}.setup-lang-btn.active{background:var(--accent);color:#000;border-color:var(--accent)}.setup-faq{margin-top:20px;border-top:1px solid var(--border-subtle);padding-top:16px}.setup-faq details{color:var(--dim);font-size:13px}.setup-faq summary{cursor:pointer;font-weight:600;color:var(--dim);font-size:13px;margin-bottom:8px}.setup-faq summary:hover{color:var(--text)}.setup-faq ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.setup-faq li{padding-left:16px;position:relative;line-height:1.5}.setup-faq li:before{content:"\2192";position:absolute;left:0;color:var(--accent)}.setup-start-btn.secondary{background:transparent;border:1px solid #333;color:var(--dim);margin-top:10px}.setup-start-btn.danger{background:transparent;border:1px solid rgba(248,113,113,.3);color:var(--red);margin-top:10px}.sidebar{position:relative;width:320px;min-width:320px;background:var(--sidebar);border-right:1px solid #1a1a1a;display:flex;flex-direction:column;overflow-y:auto;transition:transform .3s ease-out,width .3s ease-out,min-width .3s ease-out}.sidebar-close{display:none;position:absolute;top:12px;right:12px;z-index:10;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);width:36px;height:36px;cursor:pointer;align-items:center;justify-content:center}.sidebar-close:hover{color:#fff;border-color:var(--accent)}.sidebar-header{padding:24px;border-bottom:1px solid #1a1a1a}.sidebar-header h1{font-family:Unbounded,sans-serif;font-size:18px;color:var(--accent)}.sidebar-header p{font-size:13px;color:var(--label);margin-top:4px}.sidebar-divider{height:1px;background:var(--border-subtle);margin:6px 24px}.nav-group{padding:16px 0 8px}.nav-search{display:flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:4px}.nav-search i,.nav-search svg{width:14px;height:14px;color:var(--dim);flex-shrink:0}.nav-search input{width:100%;padding:6px 10px;font-size:12px;font-family:Manrope,sans-serif;background:var(--card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text);outline:none;transition:border-color .2s}.nav-search input::placeholder{color:var(--dim);opacity:.6}.nav-search input:focus{border-color:var(--accent)}.grouping-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px 16px 12px;border-bottom:1px solid var(--border-subtle);margin-bottom:8px}.grouping-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;font-size:11px;font-family:Manrope,sans-serif;background:transparent;border:1px solid var(--border-subtle);border-radius:6px;color:var(--dim);cursor:pointer;transition:all .2s;white-space:nowrap}.grouping-btn svg{width:12px;height:12px;flex-shrink:0}.grouping-btn:hover{border-color:var(--accent);color:var(--text)}.grouping-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.nav-group-title{padding:0 24px 8px;font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--label);font-weight:800}.nav-item{padding:12px 24px;cursor:pointer;font-size:15px;color:var(--dim);transition:all .2s ease;display:flex;align-items:center;gap:10px;position:relative;border-left:3px solid transparent}.nav-item:hover{background:#38bdf80d;color:var(--text)}.nav-item.active{background:#38bdf81a;color:var(--accent);border-left:3px solid var(--accent)}.nav-votes{margin-left:auto;font-size:12px;color:var(--green);opacity:.7}.sidebar-btn,.pres-toggle{margin:4px 24px;padding:10px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:8px;color:var(--dim);font-family:Manrope,sans-serif;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.sidebar-btn:hover,.pres-toggle:hover{border-color:var(--accent);color:var(--text)}body.presentation .sidebar{transform:translate(-100%);width:0;min-width:0;overflow:hidden;border:none}body.presentation .main{max-width:100%}body.presentation .system-page{max-width:1400px;padding:80px 120px}body.presentation .hero-overlay h2{font-size:56px}body.presentation .tagline{font-size:26px}body.presentation .setting-block{font-size:18px}body.presentation .card p{font-size:17px}body.presentation .reddit-quote{font-size:16px}body.presentation .section-title{font-size:20px}body.presentation .pres-exit{position:fixed;top:20px;left:20px;z-index:100;padding:10px 18px;background:var(--sidebar);border:1px solid #333;border-radius:10px;color:var(--dim);font-family:Manrope,sans-serif;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px}body.presentation .pres-exit:hover{border-color:var(--accent);color:var(--text)}body:not(.presentation) .pres-exit{display:none}.pres-nav{position:fixed;bottom:30px;right:30px;display:flex;gap:8px;z-index:100}body:not(.presentation) .pres-nav{display:none}.pres-counter{position:fixed;bottom:30px;left:30px;z-index:100;font-family:Unbounded,sans-serif;font-size:13px;color:var(--dim);opacity:.5;padding:6px 12px;background:#0000004d;border-radius:8px;backdrop-filter:blur(6px);pointer-events:none;user-select:none}body:not(.presentation) .pres-counter{display:none}.pres-nav button{width:48px;height:48px;border-radius:12px;background:var(--sidebar);border:1px solid #333;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s}.pres-nav button:hover{border-color:var(--accent);background:#38bdf81a}.results-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 24px;padding:12px;background:linear-gradient(135deg,var(--accent),var(--purple));border:none;border-radius:10px;color:#000;font-family:Unbounded,sans-serif;font-size:12px;font-weight:700;cursor:pointer;text-align:center;transition:transform .2s}.results-btn:hover{transform:scale(1.02)}.reset-btn-sidebar{margin:12px 24px 8px;padding:10px;background:#ffffff0d;border:1px solid rgba(248,113,113,.3);border-radius:8px;color:var(--red);font-family:Manrope,sans-serif;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.reset-btn-sidebar:hover{border-color:var(--red);color:var(--text)}.main{flex:1;position:relative;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.system-page{display:none;padding:60px 80px;animation:pageFadeIn .3s ease-out;min-height:100vh;min-height:100dvh;max-width:1100px;margin:0 auto}#results{max-width:1320px}.system-page.active{display:block;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-banner{width:100%;height:380px;border-radius:16px;overflow:hidden;margin-bottom:32px;position:relative;background:var(--bg-subtle)}.hero-banner img{width:100%;height:100%;object-fit:cover;animation:heroZoom 8s ease-out forwards}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1)}}.hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:32px;background:linear-gradient(transparent,#050505f2);overflow:hidden}.hero-overlay:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(56,189,248,.03) 50%,transparent 60%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.hero-overlay .meta{font-family:Unbounded,sans-serif;font-size:12px;color:var(--accent);letter-spacing:3px;text-transform:uppercase}.hero-overlay h2{font-family:Unbounded,sans-serif;font-size:48px;font-weight:900;line-height:1.1;margin-top:8px}.tagline{font-size:22px;color:var(--dim);font-style:italic;margin-bottom:32px;line-height:1.5}.quick-stats{display:flex;gap:16px;margin-bottom:32px;flex-wrap:wrap}.qs{padding:10px 18px;border-radius:8px;background:var(--card);border:1px solid var(--border);font-size:14px;display:flex;align-items:center;gap:8px}.qs-label{color:var(--label);text-transform:uppercase;font-size:11px;letter-spacing:1px}.qs-value{color:var(--text);font-weight:600}.complexity-bar{display:flex;gap:3px;align-items:center}.complexity-pip{width:18px;height:6px;border-radius:3px;background:var(--border-subtle);transition:background .3s ease}.complexity-pip.filled{background:var(--accent);animation:pipFill .4s ease both}.complexity-pip.filled:nth-child(1){animation-delay:.1s}.complexity-pip.filled:nth-child(2){animation-delay:.2s}.complexity-pip.filled:nth-child(3){animation-delay:.3s}.complexity-pip.filled:nth-child(4){animation-delay:.4s}.complexity-pip.filled:nth-child(5){animation-delay:.5s}@keyframes pipFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.complexity-pip.filled.warn{background:var(--yellow)}.complexity-pip.filled.danger{background:var(--red)}.section-title{font-family:Unbounded,sans-serif;font-size:17px;color:var(--accent);text-transform:uppercase;letter-spacing:2px;margin:40px 0 16px;padding-bottom:8px;border-bottom:1px solid #1a1a1a}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.card{background:var(--card);border:1px solid var(--border);padding:20px;border-radius:10px;transition:transform .25s,border-color .25s,box-shadow .25s}.card:hover{transform:translateY(-3px);border-color:#38bdf84d;box-shadow:0 8px 24px #38bdf814}.card h4{color:var(--accent);text-transform:uppercase;font-size:14px;margin-bottom:10px;display:flex;align-items:center;gap:8px}.card h4 svg{width:18px;height:18px;flex-shrink:0}.card p{font-size:16px;line-height:1.6;color:var(--dim)}.reddit-quotes{margin-bottom:16px}.reddit-quote{background:#ff45000d;border-left:3px solid #ff4500;padding:16px 20px;margin-bottom:12px;border-radius:0 8px 8px 0;font-size:15px;line-height:1.6;color:var(--dim);transition:border-left-width .3s ease,padding-left .3s ease}.reddit-quote:hover{border-left-width:5px;padding-left:18px}.reddit-quote .reddit-user{display:block;margin-top:8px;font-size:12px;color:#ff4500;opacity:.7}.playstyle-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.playstyle-tag{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:transform .2s,box-shadow .2s}.playstyle-tag:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000004d}.playstyle-tag svg{width:14px;height:14px}.tag-explore{background:var(--accent-bg);color:var(--accent)}.tag-combat{background:var(--red-bg);color:var(--red)}.tag-narrative{background:var(--purple-bg);color:var(--purple)}.tag-horror{background:var(--yellow-bg);color:var(--yellow)}.tag-social{background:var(--green-bg);color:var(--green)}.tag-mystery{background:var(--orange-bg);color:#fb923c}.tag-survival{background:var(--stone-bg);color:#a8a29e}.tag-worldbuild{background:var(--accent-bg);color:var(--accent)}.tag-tactical{background:var(--red-bg);color:var(--red)}.tag-sandbox{background:var(--green-bg);color:var(--green)}.vote-section{margin-top:48px;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:12px}.vote-title{font-family:Unbounded,sans-serif;font-size:13px;margin-bottom:16px;color:var(--dim)}.vote-players{display:flex;gap:12px;flex-wrap:wrap}.vote-player-group{display:flex;gap:0}.vote-player-group .vote-btn:first-child{border-radius:10px 0 0 10px}.vote-player-group .veto-btn{border-radius:0 10px 10px 0;border-left:none;padding:10px 12px}.vote-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;border:1px solid var(--border-subtle);background:transparent;color:var(--dim);cursor:pointer;font-family:Manrope,sans-serif;font-size:13px;transition:all .2s}.vote-btn:hover{border-color:var(--green);color:var(--text)}.vote-btn:active{transform:scale(.95)}.vote-btn.voted{background:#4ade801f;border-color:var(--green);color:var(--green);animation:votePopIn .3s ease}.veto-btn:hover{border-color:var(--red)!important;color:var(--red)!important}.vote-btn.vetoed{background:#f871711f;border-color:var(--red);color:var(--red);animation:votePopIn .3s ease}@keyframes votePopIn{0%{transform:scale(.9)}50%{transform:scale(1.05)}to{transform:scale(1)}}.vote-btn i{font-size:16px}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;min-height:50vh}@media(max-width:1000px){.results-grid{grid-template-columns:repeat(2,1fr)}}.result-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s;opacity:0;animation:cardReveal .5s ease forwards;will-change:transform}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.result-card:nth-child(1){animation-delay:.05s}.result-card:nth-child(2){animation-delay:.1s}.result-card:nth-child(3){animation-delay:.15s}.result-card:nth-child(4){animation-delay:.2s}.result-card:nth-child(5){animation-delay:.25s}.result-card:nth-child(6){animation-delay:.3s}.result-card:nth-child(7){animation-delay:.35s}.result-card:nth-child(8){animation-delay:.4s}.result-card:nth-child(9){animation-delay:.45s}.result-card:nth-child(10){animation-delay:.5s}.result-card:nth-child(11){animation-delay:.55s}.result-card:nth-child(12){animation-delay:.6s}.result-card:nth-child(n+13){animation-delay:.65s}.result-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 24px #38bdf81a}.result-card-img{width:100%;height:160px;object-fit:cover;display:block;background:var(--bg-subtle);transition:transform .3s ease}.result-card:hover .result-card-img{transform:scale(1.05)}.result-card-body{padding:16px}.result-card-name{font-size:16px;font-weight:700;margin-bottom:6px}.result-card-tagline{font-size:13px;color:var(--dim);line-height:1.4;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}.result-card-tag{padding:3px 8px;border-radius:12px;font-size:10px;font-weight:600;background:#38bdf81a;color:var(--accent)}.result-card-votes{display:flex;align-items:center;gap:6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05)}.result-card-vote-count{font-family:Unbounded,sans-serif;font-size:14px;color:var(--green)}.result-voter-chip{padding:3px 8px;border-radius:12px;font-size:10px;background:#4ade801a;color:var(--green)}.result-card-veto-count{font-family:Unbounded,sans-serif;font-size:14px;color:var(--red);margin-left:4px}.result-vetoer-chip{text-decoration:line-through;opacity:.7}.result-card-left{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;flex-shrink:0;min-width:50px;justify-content:center}.result-card-left .result-card-pos{position:static;top:auto;left:auto;background:transparent;width:auto;height:auto;padding:0;border-radius:0;backdrop-filter:none;color:var(--dim);font-size:16px;z-index:auto}.result-card-actions{display:flex;flex-direction:column;gap:4px;align-items:center}.rc-action-btn{width:30px;height:30px;border-radius:6px;border:1px solid var(--border-subtle);background:transparent;color:var(--dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.rc-action-btn svg{width:14px;height:14px}.rc-action-btn:hover{border-color:var(--accent);color:var(--text)}.rc-action-btn.active{color:var(--amber, #fbbf24);border-color:var(--amber, #fbbf24)}.rc-action-btn.rc-hidden{visibility:hidden}.result-card-pos{position:absolute;top:8px;left:8px;width:28px;height:28px;border-radius:8px;background:#000000b3;color:var(--dim);font-family:Unbounded,sans-serif;font-size:12px;display:flex;align-items:center;justify-content:center;z-index:1;backdrop-filter:blur(4px)}.result-card[draggable]{cursor:grab}.result-card.dragging{opacity:.4;cursor:grabbing}.result-card.drag-over{outline:2px dashed var(--accent);outline-offset:-2px}.result-card-deferred{opacity:.55}.result-card-deferred:hover{opacity:.8}.export-btn{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--dim);cursor:pointer;display:flex;align-items:center;gap:6px;font-family:Manrope,sans-serif;font-size:12px;transition:all .2s;margin-left:4px}.export-btn svg{width:14px;height:14px}.export-btn:hover{border-color:var(--accent);color:var(--text)}.export-card{max-width:520px}.export-card textarea{width:100%;min-height:200px;padding:16px;font-family:Manrope,monospace;font-size:13px;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);resize:vertical;outline:none;margin:16px 0;box-sizing:border-box}.export-actions{display:flex;gap:8px}.export-close-btn{background:var(--card)!important;color:var(--dim)!important}.export-close-btn:hover{color:var(--text)!important}.results-layout{display:flex;gap:24px;align-items:flex-start}.results-layout>.results-grid{flex:1;min-width:0}.tag-filter{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;position:sticky;top:24px}.tag-filter-header{display:flex;align-items:center;gap:8px;padding:4px 8px 8px;background:transparent;border:none;color:var(--dim);font-family:Unbounded,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1px;cursor:default;text-align:left;width:100%}.tag-filter-header>svg{width:14px;height:14px;flex-shrink:0}.tag-filter-header .tag-filter-title-text{flex-shrink:0}.tag-filter-header .tag-filter-active-count{font-family:Manrope,sans-serif;font-size:11px;color:var(--accent);letter-spacing:0;text-transform:none}.tag-filter-header .tag-filter-chev{display:none;margin-left:auto;transition:transform .2s}.tag-filter-body{display:flex;flex-direction:column;gap:4px}.tag-filter-title{font-family:Unbounded,sans-serif;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:1px;padding:4px 8px 8px}.tag-filter-section{font-family:Unbounded,sans-serif;font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.5px;padding:12px 8px 4px;opacity:.6}.tag-filter-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--dim);cursor:pointer;font-family:Manrope,sans-serif;font-size:12px;transition:all .2s;text-align:left}.tag-filter-btn svg{width:14px;height:14px;flex-shrink:0}.tag-filter-btn .tag-filter-label{flex:1}.tag-filter-btn .tag-filter-count{font-size:10px;color:var(--dim);opacity:.7}.tag-filter-btn:hover{border-color:var(--accent);color:var(--text)}.tag-filter-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.tag-filter-btn.active .tag-filter-count{color:var(--accent);opacity:1}.tag-filter-btn.setting:hover{border-color:var(--purple);color:var(--text)}.tag-filter-btn.setting.active{background:var(--purple-bg);border-color:var(--purple);color:var(--purple)}.tag-filter-btn.setting.active .tag-filter-count{color:var(--purple);opacity:1}.playstyle-tag.setting-tag{background:var(--purple-bg);color:var(--purple)}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.results-header .section-title{border:none;margin:0;flex:1}.view-toggle{display:flex;gap:4px;align-items:center}.view-toggle-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.view-toggle-btn svg{width:16px;height:16px}.view-toggle-btn:hover{border-color:var(--accent);color:var(--text)}.view-toggle-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.results-grid.list-view{grid-template-columns:1fr}.results-grid.list-view .result-card{display:flex;flex-direction:row;align-items:stretch}.results-grid.list-view .result-card-img{width:200px;min-width:200px;height:auto;min-height:100px}.results-grid.list-view .result-card-body{display:flex;flex-direction:column;justify-content:center}.results-grid.list-view .result-card-tagline{-webkit-line-clamp:1}body.browse-mode .vote-section,body.browse-mode .results-btn,body.browse-mode .export-btn,body.browse-mode .result-card-actions{display:none}.catalog-btn{display:none;margin:16px 24px;padding:12px;background:linear-gradient(135deg,var(--accent),var(--purple));border:none;border-radius:10px;color:#000;font-family:Unbounded,sans-serif;font-size:12px;font-weight:700;cursor:pointer;text-align:center;transition:transform .2s;align-items:center;justify-content:center;gap:8px}.catalog-btn:hover{transform:scale(1.02)}.catalog-btn svg{width:16px;height:16px}body.browse-mode .catalog-btn{display:flex}body.browse-mode .nav-votes,body.browse-mode .reset-btn,body.browse-mode .reset-btn-sidebar{display:none}.setup-players-btn{margin:4px 24px;padding:10px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:8px;color:var(--dim);font-family:Manrope,sans-serif;font-size:12px;cursor:pointer;display:none;align-items:center;gap:8px;transition:all .2s}.setup-players-btn:hover{border-color:var(--accent);color:var(--text)}body.browse-mode .setup-players-btn{display:flex}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:10px;border:2px solid transparent;background-clip:content-box;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:content-box}.setting-block{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:16px;font-size:16px;line-height:1.7;color:var(--dim)}.vote-btn svg,.results-btn svg,.pres-toggle svg,.sidebar-btn svg,.pres-exit svg,.pres-nav svg,.reset-btn-sidebar svg{width:16px;height:16px}.setup-players-btn svg{width:14px;height:14px}.gallery{margin-bottom:24px}.gallery-grid{columns:3;column-gap:10px}@media(max-width:900px){.gallery-grid{columns:2}}.gallery-item{break-inside:avoid;border-radius:10px;overflow:hidden;background:var(--bg-subtle);cursor:pointer;position:relative;margin-bottom:10px;display:inline-block;width:100%}.gallery-item img{width:100%;height:auto;display:block;transition:transform .4s ease,filter .4s ease}.gallery-item:after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:10px;transition:border-color .3s;pointer-events:none}.gallery-item:hover:after{border-color:var(--accent)}.gallery-item:hover img{transform:scale(1.05);filter:brightness(1.1)}.gallery-item .gallery-overlay{position:absolute;inset:0;background:linear-gradient(transparent 50%,#000000d9);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end;padding:14px}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-caption{font-size:13px;color:#fff;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.8)}.resource-link{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);transition:border-color .2s}.resource-link:hover{border-color:var(--accent);background:var(--accent-bg)}.lightbox{position:fixed;inset:0;z-index:2000;background:#000000f2;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s}.lightbox-content{position:relative;max-width:92vw;max-height:92vh;min-width:min(80vw,720px);min-height:min(70vh,480px);display:flex;align-items:center;justify-content:center}.lightbox-content img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:8px;cursor:default}.lightbox-content img:not([data-loaded]){opacity:0}.lightbox-content img[data-loaded]{animation:lbZoom .25s ease-out}.lightbox-spinner{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid rgba(255,255,255,.15);border-top-color:#ffffffb3;border-radius:50%;animation:lbSpin .8s linear infinite}@keyframes lbSpin{to{transform:rotate(360deg)}}.lightbox-content img[data-loaded]+.lightbox-spinner{display:none}@keyframes lbZoom{0%{transform:scale(.85);opacity:0;filter:blur(8px)}to{transform:scale(1);opacity:1;filter:blur(0)}}.lightbox-close{position:absolute;top:8px;right:8px;background:#00000080;border:none;color:#fff;font-size:28px;cursor:pointer;min-width:44px;min-height:44px;line-height:1;border-radius:50%;transition:background .2s;z-index:1;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px)}.lightbox-close:hover{background:#fff3}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;border:1px solid rgba(255,255,255,.15);color:#fff;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s;backdrop-filter:blur(8px);z-index:1}.lightbox-nav:hover{background:#ffffff26;border-color:var(--accent)}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-counter{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:13px;color:#ffffffb3;font-family:Unbounded,sans-serif;background:#00000080;padding:4px 10px;border-radius:12px;backdrop-filter:blur(8px);z-index:1;white-space:nowrap}.lightbox-caption{position:absolute;bottom:8px;left:8px;font-size:13px;color:#ffffffb3;background:#00000080;padding:4px 10px;border-radius:8px;backdrop-filter:blur(8px);max-width:60%;z-index:1}.lightbox-backdrop{position:absolute;inset:0;cursor:zoom-out}.hamburger{display:none;position:fixed;top:16px;left:16px;z-index:500;width:44px;height:44px;border-radius:10px;background:var(--sidebar);border:1px solid #333;color:var(--text);cursor:pointer;align-items:center;justify-content:center;font-size:20px}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:399;background:#00000080}@media(max-width:768px){.hamburger{display:flex}body.sidebar-open .hamburger{display:none}.sidebar-close{display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:400;width:85vw;min-width:0;max-width:320px;transform:translate(-100%);transition:transform .3s ease-out}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block}.setup-card{padding:28px 24px}.setup-card h1{font-size:24px}.setup-card p{margin-bottom:20px;font-size:14px}.setup-overlay{padding:24px 12px}.setup-players-list{gap:8px}.setup-field input{padding:10px 14px}.setup-start-btn{padding:14px;font-size:15px}.system-page{padding:60px 16px 24px;padding-bottom:max(40px,calc(24px + env(safe-area-inset-bottom)))}.hero-banner{height:220px;border-radius:12px}.hero-overlay h2{font-size:28px}.hero-overlay .meta{font-size:10px}.hero-overlay{padding:16px}.tagline{font-size:17px;margin-bottom:20px}.quick-stats{gap:8px}.qs{padding:6px 10px;font-size:12px}.grid{grid-template-columns:1fr;gap:12px}.card{padding:16px}.card p{font-size:14px}.card h4{font-size:12px}.section-title{font-size:14px;margin:24px 0 12px}.setting-block{padding:16px;font-size:14px}.reddit-quote{font-size:13px;padding:12px 14px}.playstyle-tags{gap:6px}.playstyle-tag{padding:5px 10px;font-size:12px}.results-grid{grid-template-columns:1fr 1fr;gap:10px}.results-grid.list-view{grid-template-columns:1fr}.results-layout{flex-direction:column;gap:12px}.tag-filter{width:100%;position:static;gap:0}.tag-filter-header{cursor:pointer;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:8px;background:transparent;font-size:12px;min-height:44px}.tag-filter-header .tag-filter-chev{display:inline-block}.tag-filter.expanded .tag-filter-header .tag-filter-chev{transform:rotate(180deg)}.tag-filter-body{display:none;flex-direction:row;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-filter.expanded .tag-filter-body{display:flex}.tag-filter-section{width:100%;padding:8px 4px 2px}.tag-filter-btn{padding:6px 10px;font-size:11px}.results-grid.list-view .result-card-img{width:120px;min-width:120px}.result-card-img{height:120px}.gallery-grid{columns:2}.vote-section{padding:16px}.vote-players{gap:8px}.vote-btn{padding:12px 16px;font-size:13px;min-height:44px}.vote-player-group .veto-btn{padding:12px 10px}body.presentation .system-page{padding:24px 16px}body.presentation .hero-overlay h2{font-size:32px}.pres-nav{bottom:16px;right:16px}.pres-nav button{width:40px;height:40px}.pres-exit{top:12px;left:12px;font-size:14px;padding:12px 18px;min-height:44px}.view-toggle-btn{min-width:44px;min-height:44px}}@media(max-width:480px){.results-grid{grid-template-columns:1fr}.gallery-grid{columns:1}.hero-banner{height:180px}.hero-overlay h2{font-size:24px}.editor-card{padding:24px 20px}.editor-fields-grid{grid-template-columns:1fr!important}.editor-tags-grid{grid-template-columns:1fr}.setup-overlay{padding:16px 8px}.setup-card{padding:24px 18px;width:100%;border-radius:16px}.setup-card h1{font-size:20px}.setup-card p{font-size:13px;margin-bottom:16px}.setup-field label{font-size:11px;letter-spacing:1.5px;margin-bottom:6px}.setup-field input,.setup-field select{padding:10px 12px;font-size:15px}.setup-players-list{gap:6px;margin-bottom:16px}.setup-player-row .player-num{min-width:24px;height:24px;font-size:11px}.setup-start-btn{padding:14px;font-size:14px;border-radius:10px}.setup-start-btn.secondary{margin-top:8px}.setup-faq{margin-top:14px;padding-top:12px}}.editor-overlay{position:fixed;inset:0;z-index:1000;background:#050505eb;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 16px;animation:fadeIn .3s}.editor-overlay.hidden{display:none}.editor-card{background:var(--sidebar);border:1px solid var(--border);border-radius:20px;padding:40px;max-width:640px;width:100%}.editor-card h1{font-family:Unbounded,sans-serif;font-size:24px;color:var(--accent);margin-bottom:24px}.editor-textarea{width:100%;padding:12px 16px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg);color:var(--text);font-family:Manrope,sans-serif;font-size:16px;outline:none;transition:border-color .2s;min-height:100px;resize:vertical;line-height:1.5}.editor-textarea:focus{border-color:var(--accent)}.editor-tags-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.editor-tag-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--dim);cursor:pointer;padding:4px 0}.editor-tag-check input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.custom-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--purple-bg);color:var(--purple);font-size:10px;font-weight:800;flex-shrink:0;margin-left:4px}.custom-badge svg{width:12px;height:12px}.result-card .custom-badge{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:6px;font-size:12px;z-index:1}.result-card{position:relative}.custom-edit-btn{background:none;border:1px solid #333;border-radius:8px;color:var(--dim);cursor:pointer;padding:6px 12px;font-family:Manrope,sans-serif;font-size:12px;display:inline-flex;align-items:center;gap:6px;transition:all .2s;margin-left:12px}.custom-edit-btn:hover{border-color:var(--accent);color:var(--text)}.custom-edit-btn svg{width:14px;height:14px}.custom-submit-btn{border-color:#8b5cf64d;color:#a78bfa}.custom-submit-btn:hover{border-color:#a78bfa;color:#c4b5fd}.editor-btn-row{display:flex;gap:10px;margin-top:16px}.editor-btn-row .setup-start-btn{flex:1;height:48px;padding:0 16px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.editor-btn-row .setup-start-btn.secondary{margin-top:0}.sys-selector-overlay{position:fixed;inset:0;z-index:1000;background:#050505eb;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 16px;animation:fadeIn .3s}.sys-selector-overlay.hidden{display:none}.sys-selector-card{background:var(--sidebar);border:1px solid var(--border);border-radius:20px;padding:40px;max-width:560px;width:100%}.sys-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sys-selector-header .setup-lang-toggle{margin-bottom:0}.sys-selector-card h1{font-family:Unbounded,sans-serif;font-size:22px;color:var(--accent);margin-bottom:0}.sys-selector-card p{font-size:14px;color:var(--dim);margin-bottom:20px;line-height:1.5}.sys-selector-actions{display:flex;gap:10px;margin-bottom:20px}.sys-selector-actions button{padding:6px 14px;border-radius:8px;border:1px solid #333;background:transparent;color:var(--dim);font-family:Manrope,sans-serif;font-size:12px;cursor:pointer;transition:all .2s}.sys-selector-actions button:hover{border-color:var(--accent);color:var(--text)}.sys-selector-group-title{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--label);font-weight:800;margin-top:16px;margin-bottom:8px;cursor:pointer;transition:color .2s}.sys-selector-group-title:hover{color:var(--accent)}.sys-selector-group-title .group-toggle-cb{accent-color:var(--accent);vertical-align:middle;margin-right:4px}.sys-selector-list{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.sys-selector-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--dim);transition:background .15s}.sys-selector-item .sys-name{flex:1}.sys-tag-icons{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;opacity:.7}.sys-tag-icons .sys-tag-icon{width:14px;height:14px;color:var(--accent)}.sys-tag-icons .sys-tag-icon.setting{color:var(--purple)}.sys-tag-icons svg{width:14px;height:14px}.sys-selector-tag-details{margin:0 0 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--card)}.sys-selector-tag-details summary{cursor:pointer;padding:10px 14px;display:flex;align-items:center;gap:8px;font-family:Manrope,sans-serif;font-size:13px;color:var(--dim);list-style:none;user-select:none}.sys-selector-tag-details summary::-webkit-details-marker{display:none}.sys-selector-tag-details summary svg{width:14px;height:14px}.sys-selector-tag-details summary:hover{color:var(--text)}.sys-selector-tag-details[open] summary{border-bottom:1px solid var(--border-subtle);color:var(--text)}.sys-selector-tag-summary{color:var(--accent);font-weight:600;margin-left:auto}.sys-selector-tag-filter{display:flex;flex-wrap:wrap;gap:6px;padding:12px}.sys-selector-tag-filter .tag-filter-section{width:100%;margin-top:4px}.sys-selector-tag-filter .tag-filter-btn{font-size:11px;padding:6px 10px}.sys-selector-item:hover{background:#ffffff08}.sys-selector-item input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.sys-selector-item.disabled-sys{opacity:.4}.sys-selector-footer{display:flex;gap:10px;margin-top:20px}.sys-selector-footer button,.sys-selector-footer .setup-start-btn{flex:1;width:auto;height:48px;padding:0 16px;box-sizing:border-box;border:1px solid transparent;display:flex;align-items:center;justify-content:center}.sys-selector-footer .setup-start-btn:first-child{border-color:transparent}.sys-selector-footer .setup-start-btn.secondary{margin-top:0;border-color:#333}.sidebar-bottom{padding:0}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline: view()){.section-title,.setting-block,.grid,.reddit-quotes,.playstyle-tags,.gallery,.vote-section{animation:fadeSlideUp .6s ease both;animation-timeline:view();animation-range:entry 0% entry 30%}}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}button:focus-visible,.nav-item:focus-visible,a:focus-visible,.vote-btn:focus-visible,.grouping-btn:focus-visible,.view-toggle-btn:focus-visible,.sidebar-btn:focus-visible,.pres-toggle:focus-visible,.result-card:focus-visible,.resource-link:focus-visible,.gallery-item:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.system-page.unanimous-celebrate{animation:unanimousGlow 2s ease}@keyframes unanimousGlow{0%{box-shadow:inset 0 0 0 0 transparent}20%{box-shadow:inset 0 0 80px #4ade8040}to{box-shadow:inset 0 0 0 0 transparent}}.unanimous-burst{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.unanimous-burst span{position:absolute;top:-40px;font-size:28px;animation:unanimousFall linear forwards}@keyframes unanimousFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.static-page{display:block;height:auto;min-height:100vh;overflow-y:auto}body.static-page .static-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border-subtle);background:var(--sidebar);position:sticky;top:0;z-index:10}body.static-page .static-header .back-link{color:var(--text);text-decoration:none;font-weight:600;font-size:15px}body.static-page .static-header .back-link:hover{color:var(--accent)}body.static-page .static-header .lang-switch{display:flex;gap:4px}body.static-page .static-header .lang-switch a{color:var(--dim);text-decoration:none;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;border:1px solid transparent}body.static-page .static-header .lang-switch a:hover{color:var(--text);border-color:var(--border-subtle)}body.static-page .static-header .lang-switch a.active{color:#000;background:var(--accent)}body.static-page .static-main{max-width:960px;margin:0 auto;padding:24px}body.static-page .system-page.static{display:block;opacity:1;padding:0}body.static-page .hero-overlay h1{font-family:Unbounded,sans-serif;font-weight:900;font-size:44px;color:var(--text);line-height:1.05;letter-spacing:-.02em}body.static-page .static-article h1{font-family:Unbounded,sans-serif;font-weight:900;font-size:40px;margin:20px 0 12px;line-height:1.1;letter-spacing:-.02em}body.static-page .static-article p{margin:0}body.static-page .gallery-item.static{cursor:default}body.static-page .gallery-item.static:hover img{transform:none}body.static-page .vote-cta{margin-top:40px;padding:28px;border:1px solid var(--accent-bg);border-radius:14px;background:linear-gradient(135deg,#38bdf80f,#c084fc0f);text-align:center}body.static-page .vote-cta-btn{display:inline-block;background:var(--accent);color:#000;text-decoration:none;font-weight:700;font-size:16px;padding:14px 28px;border-radius:10px;transition:transform .15s}body.static-page .vote-cta-btn:hover{transform:translateY(-1px)}body.static-page .vote-cta-sub{margin-top:12px;color:var(--dim);font-size:14px}body.static-page .static-footer{max-width:960px;margin:40px auto 0;padding:24px;border-top:1px solid var(--border-subtle);color:var(--dim);font-size:14px;text-align:center}body.static-page .static-footer a{color:var(--dim);text-decoration:none}body.static-page .static-footer a:hover{color:var(--accent)}a.nav-item.nav-system-link{text-decoration:none;color:var(--dim);display:flex;align-items:center;justify-content:space-between}a.nav-item.nav-system-link:visited{color:var(--dim)}a.nav-item.nav-system-link.active{color:var(--accent)}@media(max-width:768px){body.static-page .static-main{padding:16px}body.static-page .static-article h1{font-size:30px}body.static-page .hero-overlay h1{font-size:28px}body.static-page .vote-cta{padding:20px}}.similar-systems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.similar-system-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--text);transition:border-color .15s ease,transform .15s ease}.similar-system-card:hover{border-color:var(--accent);transform:translateY(-2px)}.similar-system-card img{width:100%;aspect-ratio:16 / 8;object-fit:cover;display:block;background:var(--bg-subtle)}.similar-system-name{display:block;text-align:center;color:var(--accent);font-weight:600;font-size:15px;padding:12px 10px}@media(max-width:600px){.similar-systems-grid{grid-template-columns:1fr}}.author-credit{color:var(--dim);font-size:13px;font-style:italic;text-align:left;margin:1rem 0 0}.author-credit a{color:var(--accent);text-decoration:none}.author-credit a:hover{text-decoration:underline}
