@font-face{font-family:Armin Grotesk;src:url(/fonts/ArminGrotesk/ArminGrotesk-Regular.woff2) format("woff2"),url(/fonts/ArminGrotesk/ArminGrotesk-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Armin Grotesk;src:url(/fonts/ArminGrotesk/ArminGrotesk-SemiBold.woff2) format("woff2"),url(/fonts/ArminGrotesk/ArminGrotesk-SemiBold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Armin Grotesk;src:url(/fonts/ArminGrotesk/ArminGrotesk-UltraBold.woff2) format("woff2"),url(/fonts/ArminGrotesk/ArminGrotesk-UltraBold.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Armin Grotesk;src:url(/fonts/ArminGrotesk/ArminGrotesk-Black.woff2) format("woff2"),url(/fonts/ArminGrotesk/ArminGrotesk-Black.woff) format("woff");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Chronicle Display;src:url(/fonts/ChronicleDisplay/ChronicleDisplay-Roman.woff2) format("woff2"),url(/fonts/ChronicleDisplay/ChronicleDisplay-Roman.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Chronicle Display;src:url(/fonts/ChronicleDisplay/ChronicleDisplay-Semi.woff2) format("woff2"),url(/fonts/ChronicleDisplay/ChronicleDisplay-Semi.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Chronicle Display;src:url(/fonts/ChronicleDisplay/ChronicleDisplay-Bold.woff2) format("woff2"),url(/fonts/ChronicleDisplay/ChronicleDisplay-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}:root{--color-bg: #040404;--color-surface: #161616;--color-surface-hover: #1e1e1e;--color-text: #f2f2f2;--color-text-muted: rgba(242, 242, 242, .65);--color-accent: #e03c31;--color-accent-hover: #c4332a;--color-pink: #f8bdca;--color-maroon: #7c2529;--color-mauve: #b19da0;--color-border: rgba(242, 242, 242, .1);--color-border-strong: rgba(242, 242, 242, .2);--color-positive: #4ade80;--color-negative: #f87171;--color-gold: #fbbf24;--color-silver: #9ca3af;--color-bronze: #d97706;--radius: 8px;--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6);font-family:Armin Grotesk,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:24px 16px}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.header__brand{display:flex;align-items:center;gap:14px;text-decoration:none}.header__logo{height:44px;width:auto}.header__title{font-family:Chronicle Display,Georgia,serif;font-size:1.4rem;font-weight:700;margin:0;color:var(--color-text);letter-spacing:-.01em}.header__title-accent{color:var(--color-accent)}.header__nav{display:flex;gap:4px}.header__link{padding:8px 18px;border-radius:4px;text-decoration:none;font-weight:600;font-size:.85rem;color:#f2f2f2b3;text-transform:uppercase;letter-spacing:.1em;transition:all .15s ease}.header__link:hover{color:var(--color-text);background:var(--color-surface)}.header__link.active{background:var(--color-accent);color:#fff}.voting-page{display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:32px}.voting-page__intro{text-align:center;max-width:580px}.voting-page__headline{font-family:Chronicle Display,Georgia,serif;font-size:2.2rem;font-weight:700;margin:0 0 14px;color:var(--color-text)}.voting-page__copy{font-size:1.05rem;line-height:1.7;color:var(--color-mauve);margin:0}.voting-page__hint{color:var(--color-text-muted);font-size:.8rem;margin:0;text-transform:uppercase;letter-spacing:.08em}.voting-page__loading,.voting-page__error{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:1.1rem;color:var(--color-text-muted)}.voting-arena{display:flex;align-items:center;gap:32px;padding:40px 0}.voting-vs{font-family:Chronicle Display,Georgia,serif;font-size:2rem;font-weight:700;color:var(--color-accent);letter-spacing:.05em;-webkit-user-select:none;user-select:none}.emoji-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 44px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow);position:relative;font-family:inherit;color:var(--color-text)}.emoji-card:hover:not(.emoji-card--disabled){border-color:var(--color-pink);box-shadow:var(--shadow-lg);transform:translateY(-6px);background:var(--color-surface-hover)}.emoji-card:active:not(.emoji-card--disabled){transform:translateY(-3px)}.emoji-card--winner{border-color:var(--color-positive)!important;background:#4ade8014!important;animation:pulse .4s ease}.emoji-card--loser{opacity:.35;transform:scale(.95)}.emoji-card--disabled{cursor:default;pointer-events:none}.emoji-card__image-wrap{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center}.emoji-card__image{width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.emoji-card__fallback{font-size:.85rem;color:var(--color-text-muted);text-align:center;word-break:break-all}.emoji-card__name{font-size:1.05rem;font-weight:600;color:var(--color-mauve)}.emoji-card__change{position:absolute;top:-10px;right:-10px;font-size:.85rem;font-weight:800;padding:3px 10px;border-radius:4px;animation:floatUp .4s ease}.emoji-card__change.positive{background:var(--color-positive);color:#040404}.emoji-card__change.negative{background:#f8717133;color:var(--color-negative)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes floatUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stats-bar{display:flex;align-items:center;gap:16px;padding:12px 24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.stats-bar__item strong{color:var(--color-text);font-weight:800}.stats-bar__separator{width:1px;height:16px;background:var(--color-border-strong)}.leaderboard{display:flex;flex-direction:column;gap:20px}.leaderboard__title{font-family:Chronicle Display,Georgia,serif;font-size:2rem;font-weight:700;margin:0;color:var(--color-text)}.leaderboard__search-wrap{width:100%}.leaderboard__search{width:100%;padding:12px 18px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s ease;background:var(--color-surface);color:var(--color-text)}.leaderboard__search::placeholder{color:var(--color-text-muted)}.leaderboard__search:focus{border-color:var(--color-accent)}.leaderboard__filters{display:flex;gap:8px}.leaderboard__filter-btn{padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .15s ease}.leaderboard__filter-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.leaderboard__filter-btn--active{color:var(--color-accent);border-color:var(--color-accent);background:#e03c3114}.leaderboard__filter-btn--active:hover{color:var(--color-accent);border-color:var(--color-accent)}.leaderboard__table-wrap{overflow-x:auto}.leaderboard__table{width:100%;border-collapse:collapse;font-size:.9rem}.leaderboard__table th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--color-border-strong);font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.leaderboard__th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.leaderboard__th-sort:hover{color:var(--color-text)}.leaderboard__th-sort--active,.leaderboard__th-sort--active:hover{color:var(--color-accent)}.leaderboard__table td{padding:12px 14px;border-bottom:1px solid var(--color-border)}.leaderboard__table tbody tr{transition:background .1s ease}.leaderboard__table tbody tr:hover{background:var(--color-surface)}.leaderboard__row--top1 td{background:#e03c3114}.leaderboard__row--top2 td{background:#f8bdca0f}.leaderboard__row--top3 td{background:#f8bdca08}.leaderboard__rank{font-weight:800;width:48px;font-size:1rem}.leaderboard__emoji{display:flex;align-items:center;gap:12px;font-weight:600}.leaderboard__emoji-img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.leaderboard__rating{font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-text)}.leaderboard__record{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.leaderboard__loading{text-align:center;color:var(--color-text-muted);padding:20px}.leaderboard__load-more{display:block;margin:0 auto;padding:12px 28px;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:transparent;color:var(--color-text);font-size:.8rem;font-weight:800;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .15s ease}.leaderboard__load-more:hover{border-color:var(--color-accent);color:var(--color-accent);background:#e03c310f}.confidence-badge{display:inline-block;padding:3px 12px;border-radius:4px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.confidence-badge--none{background:#f2f2f20f;color:#f2f2f273}.confidence-badge--low{background:#f8bdca1f;color:var(--color-pink)}.confidence-badge--medium{background:#b19da026;color:var(--color-mauve)}.confidence-badge--high{background:#e03c311f;color:var(--color-accent)}.cemetery{display:flex;flex-direction:column;gap:32px}.cemetery__header{display:flex;flex-direction:column;gap:12px}.cemetery__title{font-family:Chronicle Display,Georgia,serif;font-size:2rem;font-weight:700;margin:0;color:var(--color-text)}.cemetery__intro{color:var(--color-text-muted);font-size:1rem;margin:0;line-height:1.5}.cemetery__count{font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}.cemetery__loading{text-align:center;color:var(--color-text-muted);padding:40px;font-style:italic}.cemetery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.cemetery__grave{perspective:600px}.cemetery__stone{background:#1a1a1a;border:1px solid rgba(242,242,242,.08);border-radius:12px 12px 4px 4px;padding:20px 14px 16px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative;will-change:transform;transform:translateY(0) translateZ(0);transition:transform .2s ease,border-color .2s ease}.cemetery__stone:hover{transform:translateY(-4px) translateZ(0);border-color:#e03c314d}.cemetery__grave-img-wrap{position:relative;padding:6px 0}.cemetery__grave-img{width:48px;height:48px;object-fit:contain;filter:grayscale(60%) drop-shadow(0 2px 6px rgba(0,0,0,.5));opacity:.8;transition:filter .2s ease,opacity .2s ease}.cemetery__stone:hover .cemetery__grave-img{filter:grayscale(0%) drop-shadow(0 2px 6px rgba(0,0,0,.5));opacity:1}.cemetery__grave-name{font-weight:600;font-size:.8rem;color:var(--color-text);word-break:break-all}.cemetery__grave-rating{font-weight:800;font-size:.85rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cemetery__grave-record{font-size:.7rem;color:#f2f2f266;font-variant-numeric:tabular-nums}.cemetery__grave-epitaph{font-size:.7rem;font-style:italic;color:var(--color-mauve);line-height:1.3;margin-top:4px;opacity:.7}.cemetery__grave-rank{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#e03c3180;margin-top:2px}.lab{display:flex;flex-direction:column;gap:32px}.lab__title{font-family:Chronicle Display,Georgia,serif;font-size:2rem;font-weight:700;margin:0;color:var(--color-text)}.lab__intro{color:var(--color-text-muted);font-size:1rem;margin:-16px 0 0;line-height:1.5}.lab__loading{text-align:center;color:var(--color-text-muted);padding:40px}.lab__section{display:flex;flex-direction:column;gap:16px}.lab__section-title{font-family:Chronicle Display,Georgia,serif;font-size:1.4rem;font-weight:700;color:var(--color-accent);margin:0}.lab__section-desc{color:var(--color-text-muted);font-size:.9rem;margin:-8px 0 0;line-height:1.5}.lab__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.lab__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:border-color .15s ease}.lab__card:hover{border-color:var(--color-border-strong)}.lab__card-title{font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}.lab__card-emoji{padding:8px 0}.lab__card-img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.lab__card-name{font-weight:600;font-size:1rem;color:var(--color-text)}.lab__card-stat{font-size:.8rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.lab__card-subtitle{font-size:.75rem;color:var(--color-mauve);font-style:italic}.lab__h2h{display:flex;flex-direction:column;gap:24px}.lab__h2h-pickers{display:flex;align-items:flex-start;gap:24px}.lab__h2h-picker{flex:1;display:flex;flex-direction:column;gap:16px}.lab__h2h-vs{font-family:Chronicle Display,Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--color-text-muted);padding-top:12px;flex-shrink:0}.lab__h2h-search-wrap{position:relative}.lab__h2h-search{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.85rem;font-family:inherit;outline:none;background:var(--color-surface);color:var(--color-text);transition:border-color .15s ease;box-sizing:border-box}.lab__h2h-search:focus{border-color:var(--color-accent)}.lab__h2h-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);margin-top:4px;z-index:10;max-height:280px;overflow-y:auto}.lab__h2h-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;color:var(--color-text);font-family:inherit;font-size:.85rem;cursor:pointer;text-align:left;transition:background .1s ease}.lab__h2h-option:hover{background:#e03c3114}.lab__h2h-option-img{width:24px;height:24px;object-fit:contain}.lab__h2h-selected{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px 16px}.lab__h2h-big-img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.lab__h2h-name{font-weight:600;font-size:1.05rem;color:var(--color-text)}.lab__h2h-stats{display:flex;flex-direction:column;align-items:center;gap:4px}.lab__h2h-rating{font-weight:800;font-size:1.4rem;color:var(--color-text);font-variant-numeric:tabular-nums}.lab__h2h-record{color:var(--color-text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.lab__h2h-winpct{color:var(--color-mauve);font-size:.8rem}.lab__h2h-prediction{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px 24px;display:flex;flex-direction:column;gap:10px}.lab__h2h-prediction-label{font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}.lab__h2h-prediction-result{font-size:1rem;font-weight:600;color:var(--color-text)}.lab__h2h-prediction-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.lab__h2h-prediction-fill{height:100%;background:var(--color-accent);border-radius:4px;transition:width .4s ease}.lab__h2h-prediction-names{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-muted)}@media(max-width:600px){.voting-arena{flex-direction:column;gap:20px}.emoji-card{padding:28px 36px}.emoji-card__image-wrap,.emoji-card__image{width:100px;height:100px}.header{flex-direction:column;gap:12px;text-align:center}.header__brand{justify-content:center}.stats-bar{flex-direction:column;gap:6px}.stats-bar__separator{display:none}.voting-vs{font-size:1.5rem}.lab__h2h-pickers{flex-direction:column}.lab__h2h-vs{text-align:center;padding-top:0}.lab__cards{grid-template-columns:1fr}.cemetery__grid{grid-template-columns:repeat(2,1fr);gap:10px}}.password-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:32px;padding:24px}.password-gate__logo{height:64px;width:auto}.password-gate__form{display:flex;gap:8px}.password-gate__input{padding:12px 18px;border:1px solid var(--color-border-strong);border-radius:var(--radius);font-size:.95rem;font-family:inherit;outline:none;background:var(--color-surface);color:var(--color-text);width:220px;transition:border-color .15s ease}.password-gate__input:focus{border-color:var(--color-accent)}.password-gate__input--error{border-color:var(--color-negative);animation:shake .3s ease}.password-gate__button{padding:12px 24px;border:none;border-radius:var(--radius);background:var(--color-accent);color:#fff;font-size:.85rem;font-weight:800;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background .15s ease}.password-gate__button:hover{background:var(--color-accent-hover)}.password-gate__error{color:var(--color-negative);font-size:.85rem;font-weight:600;margin:0}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}
