:root{color-scheme:light;--bg-1: #f6f9fc;--bg-2: #e9eff6;--bg-3: #dde5ef;--bg-glow: radial-gradient(circle at 10% 20%, rgba(255, 255, 255, .7) 0%, transparent 55%), radial-gradient(circle at 80% 10%, rgba(143, 179, 220, .4) 0%, transparent 50%), linear-gradient(160deg, rgba(255, 255, 255, .5) 0%, transparent 60%);--surface: #ffffff;--glass: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .9);--ink: #1f2933;--ink-soft: #364152;--muted: #5b6672;--ink-on-accent: #ffffff;--border: rgba(33, 51, 70, .14);--shadow: rgba(13, 30, 48, .18);--backdrop: rgba(15, 25, 36, .4);--focus-ring: rgba(59, 110, 165, .3);--accent: #3b6ea5;--accent-hover: #2a5581;--accent-tint: rgba(59, 110, 165, .18);--accent-highlight: rgba(210, 228, 248, .95);--tan: #dbe2ea;--tan-dim: rgba(219, 226, 234, .5);--neutral-fill: rgba(33, 51, 70, .28);--danger: #8b1e24;--danger-bg: rgba(255, 240, 242, .9);--danger-border: rgba(139, 30, 36, .25);--star: #b77900;--favorite: #a9192e;--radius: 22px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top right,var(--bg-1) 0%,var(--bg-2) 55%,var(--bg-3) 100%)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:linear-gradient(120deg,var(--bg-1) 0%,var(--bg-2) 60%,var(--bg-3) 100%);min-height:100vh;position:relative}body:before{content:"";position:fixed;inset:0;background:var(--bg-glow);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .6rem}p{margin:0;line-height:1.6}main{padding:1rem 6vw 4rem}.container{max-width:1024px;margin:0 auto;width:100%}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 5vw 1rem;position:sticky;top:0;background:var(--glass-strong);backdrop-filter:blur(14px);z-index:10;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.75rem;font-weight:600;letter-spacing:.02em;color:inherit;text-decoration:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:var(--ink);color:var(--bg-1);font-weight:700}.site-nav{display:flex;gap:1.5rem;font-size:.95rem}.site-nav a{color:var(--ink-soft);text-decoration:none}.header-actions{display:flex;gap:.8rem;align-items:center}.user-button,.user-placeholder{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--glass);display:inline-flex;align-items:center;justify-content:center}.user-button{cursor:pointer;padding:0;overflow:hidden}.user-button .avatar-img{border-radius:50%}.avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-tint);display:grid;place-items:center;font-weight:700;color:var(--ink-soft);overflow:hidden}.avatar-img{width:100%;height:100%;object-fit:cover;display:block}.avatar-fallback{display:grid;place-items:center;width:100%;height:100%}.user-placeholder .avatar-fallback{color:var(--muted);font-size:.9rem}.member-user{display:inline-flex;align-items:center;gap:.6rem}.hero{display:grid;gap:1.5rem;padding-bottom:.5rem}.hero.centered{text-align:center;justify-items:center}.hero-text{display:grid;gap:.4rem}.hero-text h1{margin-bottom:.2rem}.hero-text .eyebrow{margin-bottom:.1rem}.hero+.section{margin-top:1.6rem}.section-head{display:grid;gap:.4rem}.section-head p{color:var(--muted);max-width:30rem}.section{margin-top:2rem}.card{background:var(--glass);border-radius:var(--radius);padding:1.6rem;box-shadow:0 24px 50px -30px var(--shadow);border:1px solid var(--border);display:grid;gap:1rem}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--muted);font-weight:600}.lead{font-size:1.1rem;color:var(--ink-soft);max-width:36rem}.muted{color:var(--muted)}.small{font-size:.9rem}.meta-line{color:var(--muted);line-height:1.6;margin:0}.meta-line.tight{line-height:1.2;margin-top:-.2rem;margin-bottom:-.15rem}.hero.two-column{align-items:start}.two-column-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem;align-items:start}@media(max-width:900px){.two-column-grid{grid-template-columns:1fr}.site-header{flex-direction:column;gap:1rem}.site-nav{flex-wrap:wrap;justify-content:center}}.hero-actions{margin-top:1.5rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-start}@media(max-width:600px){.hero-actions{justify-content:center}.header-actions{width:100%;justify-content:center;flex-wrap:wrap}}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,260px));gap:1.2rem;justify-content:start}.table-wrapper{overflow-x:auto}.backlog-table-wrapper{margin-top:.95rem}.table-wrapper.scroll-rows{max-height:360px;overflow-y:auto}.table-wrapper.scroll-rows thead th{position:sticky;top:0;background:var(--glass-strong);z-index:1}.games-table{width:100%;border-collapse:collapse;font-size:.92rem}.games-table th,.games-table td{padding:.25rem .5rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.game-title-cell{display:flex;align-items:center;gap:.6rem}.game-title{font-weight:600}.games-table th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.games-table th.sortable{cursor:pointer;user-select:none}.games-table th.sortable:hover{color:var(--ink)}.games-table th.favorite-header,.games-table td.favorite-cell{width:5.5rem;text-align:center}.games-table .clickable-row{cursor:pointer}.games-table .clickable-row:hover{background:var(--tan-dim)}.games-table .game-row.is-poll-ineligible{opacity:.56}.games-table .game-row.is-poll-ineligible:hover{opacity:.72}.row-tooltip{position:fixed;left:0;top:0;max-width:360px;padding:.85rem 1rem;border-radius:16px;background:var(--glass-strong);border:1px solid var(--border);box-shadow:0 18px 45px var(--shadow);font-size:.9rem;color:var(--ink);opacity:0;transform:translateY(6px);transition:opacity .12s ease,transform .12s ease;pointer-events:none;z-index:20}.row-tooltip.visible{opacity:1;transform:translateY(0)}.row-tooltip .tooltip-description{margin-bottom:.4rem}.row-tooltip .tooltip-tags{font-size:.8rem;color:var(--muted)}.row-tooltip .tooltip-submitter{margin-top:.45rem;font-size:.78rem;color:var(--muted)}.game-icon{width:36px;height:36px;border-radius:10px;overflow:hidden;display:grid;place-items:center}.game-icon img{width:100%;height:100%;object-fit:contain;display:block}.games-grid .game-card{width:100%;max-width:260px}.game-card{padding:1.2rem;border-radius:18px;border:1px solid var(--border);background:var(--glass);cursor:pointer;animation:rise .5s ease both;position:relative;z-index:1}.games-grid .game-card:hover,.games-grid .game-card:focus-within{z-index:30}.game-cover{margin:.4rem 0 .5rem;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--tan-dim);display:flex;align-items:center;justify-content:center}.game-cover img{width:100%;height:auto;object-fit:contain;display:block}.cover-placeholder{font-size:.8rem;color:var(--muted)}.game-detail-card{gap:1.2rem}.game-detail-body{display:grid;gap:1rem}.game-detail-cover{width:100%;height:auto;border-radius:14px;object-fit:contain;border:1px solid var(--border);background:var(--tan-dim);margin:0 auto}.game-detail-info{display:grid;gap:.7rem}.game-detail-description{margin:0;line-height:1.6}.game-detail-footer{justify-content:space-between}.game-detail-title-row{display:flex;align-items:center;gap:.5rem}.game-detail-title{margin:0}.game-detail-links{display:flex;flex-wrap:wrap;gap:.5rem}.game-rating-summary{line-height:1.3;cursor:default}.game-rating-wrap,.game-detail-rating-wrap{position:relative;display:inline-block;width:fit-content;max-width:100%}.game-rating-wrap.has-hover .game-rating-summary,.game-detail-rating-wrap.has-hover .game-detail-rating-summary{cursor:help}.game-rating-hover,.game-detail-rating-hover{display:none;position:absolute;top:calc(100% + .45rem);left:0;min-width:230px;max-width:min(420px,70vw);padding:.55rem .65rem;border:1px solid var(--border);border-radius:12px;background:var(--glass-strong);box-shadow:0 16px 32px -24px var(--shadow);z-index:25}.game-rating-wrap.has-hover:hover .game-rating-hover,.game-rating-wrap.has-hover:focus-within .game-rating-hover,.game-detail-rating-wrap.has-hover:hover .game-detail-rating-hover,.game-detail-rating-wrap.has-hover:focus-within .game-detail-rating-hover{display:block}.game-rating-hover-list,.game-detail-rating-hover-list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.game-rating-hover-row,.game-detail-rating-hover-row{font-size:.82rem;line-height:1.35;color:var(--ink-soft)}.rate-current-game{width:fit-content;justify-self:start}.rate-game-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.rate-game-stars{display:flex;align-items:center;gap:.05rem;flex-wrap:wrap}.rate-star-button{padding:.05rem .1rem;border:none;background:transparent;box-shadow:none;min-width:0;font-size:1.3rem;line-height:1;cursor:pointer}.rate-star-button:hover{transform:none;background:transparent;box-shadow:none}.rate-star-button.is-active{color:var(--star)}.rate-clear-button{border:none;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer;padding:0}.rate-clear-button:hover{color:var(--ink);text-decoration:underline}.game-detail-rate{margin-right:auto}.favorite-toggle{padding:0;border-radius:0;background:transparent;border:none;box-shadow:none}.favorite-toggle .favorite-icon{display:block;width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ghost.favorite-toggle{padding:0;background:transparent;border:none;box-shadow:none}.ghost.favorite-toggle:hover{background:transparent;box-shadow:none}.icon-button.favorite-toggle{width:auto;height:auto;min-width:0;min-height:0}.favorite-toggle.is-favorite{color:var(--favorite);background:transparent;border:none}.favorite-toggle.is-favorite .favorite-icon{fill:currentColor}.favorite-cell .favorite-toggle{width:30px;height:30px;min-width:30px;min-height:30px}.game-detail-ttb-edit{display:grid;gap:.6rem}.game-detail-eligibility{display:grid;gap:.35rem}.game-detail-eligibility-help{margin:0}.game-detail-ttb-row{display:flex;align-items:center;gap:.6rem}.game-detail-ttb-row input{flex:1}.game-detail-ttb-edit .small-pill{width:fit-content}.small-pill{padding:.4rem .85rem;font-size:.75rem;background:var(--tan);border:1px solid var(--border);box-shadow:none}.ghost.small-pill{padding:.4rem .85rem;font-size:.75rem;background:var(--tan);border:1px solid var(--border);box-shadow:none;line-height:1.2}.ghost.small-pill:hover{transform:none;box-shadow:none;background:var(--tan-dim)}.ghost.small-pill.resource-pill{padding:.3rem .65rem;font-size:.68rem}.ghost.danger{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}@media(max-width:640px){.game-detail-cover{width:100%;height:auto}}.current-game-card{display:grid;gap:.7rem}.game-title{margin:0;font-size:1.1rem}.poll-summary{display:grid;gap:.8rem}.poll-summary-actions{display:flex;gap:.8rem;flex-wrap:wrap}.poll-summary-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.poll-header{display:flex;align-items:baseline;gap:.8rem}.poll-status-text{font-size:.85rem;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.poll-status-text.is-active{color:var(--accent);animation:pollPulse 1.6s ease-in-out infinite}.poll-results{display:grid;gap:.5rem}.poll-history-results{display:grid;gap:.5rem;max-height:260px;overflow-y:auto}.poll-results-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.poll-result{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border-radius:12px;background:var(--glass);border:1px solid var(--border)}.poll-result-title{font-weight:600}.poll-result-points{color:var(--muted);font-size:.85rem;white-space:nowrap}.poll-vote-list{display:grid;gap:.9rem}.poll-error{color:var(--danger);font-size:.85rem}.poll-vote-form{display:grid;gap:.8rem;border:1px solid var(--border);border-radius:16px;padding:1rem;background:var(--glass)}.poll-vote-actions{display:flex;justify-content:flex-end}.poll-footer-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.eligibility-form{display:grid;gap:.9rem}.eligibility-list{display:grid;gap:.7rem;max-height:280px;overflow-y:auto}.eligibility-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:12px;background:var(--glass)}.eligibility-title{font-weight:600}.toggle-control{display:flex;align-items:center;justify-content:space-between;gap:1rem}.toggle-switch{position:relative;display:inline-flex;width:44px;height:24px;flex:0 0 44px;cursor:pointer}.toggle-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.toggle-slider{position:absolute;inset:0;border-radius:999px;background:var(--neutral-fill);transition:background-color .15s ease}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:var(--surface);box-shadow:0 2px 6px var(--shadow);transition:transform .15s ease}.toggle-switch input:checked+.toggle-slider{background:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus-visible+.toggle-slider{outline:2px solid var(--focus-ring);outline-offset:2px}.toggle-switch input:disabled+.toggle-slider{background:var(--border)}.toggle-switch input:disabled+.toggle-slider:before{background:var(--glass)}.toggle-switch input:disabled{cursor:not-allowed}.field{display:grid;gap:.35rem}.field label{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.field input,.field select,.field textarea{width:100%;max-width:100%;box-sizing:border-box;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:.95rem;color:var(--ink);font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus-ring);border-color:var(--accent)}.form-error{color:var(--danger);font-size:.85rem}.suggestions{list-style:none;margin:0;display:grid;gap:0;padding:0;border-radius:12px;border:1px solid var(--border);background:var(--glass-strong);cursor:pointer;max-width:100%;box-sizing:border-box}.suggestions:empty{display:none}.suggestion-item{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--ink-soft);cursor:pointer;user-select:none;display:flex;align-items:center;gap:.6rem;font-weight:500;letter-spacing:.01em;text-align:left;padding:.4rem .75rem;border-bottom:1px solid var(--border);border-left:3px solid transparent;text-transform:none;transition:background-color .12s ease;width:100%;max-width:100%;box-sizing:border-box}.suggestion-item *{cursor:pointer}.suggestion-item:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent);opacity:.35}.suggestion-item:hover{background-color:var(--accent-highlight)!important;border-left-color:var(--accent)}.suggestion-item:hover:before{opacity:.8}.suggestion-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.suggestion-item:last-child{border-bottom:none}.editable{cursor:pointer}.editable:hover{text-decoration:underline}.meeting-form{gap:1rem}.meeting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem}.site-footer{padding:1rem 6vw;border-top:1px solid var(--border);background:var(--glass-strong)}.footer-links{display:flex;flex-wrap:wrap;gap:.6rem 1rem;font-weight:600;color:var(--ink-soft);align-items:center;justify-content:center}.footer-label{font-weight:600;color:var(--ink)}.footer-break{flex-basis:100%;height:0}.footer-links a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.footer-links a:hover{text-decoration:underline}.footer-icon{font-size:.95rem;line-height:1;display:inline-flex;align-items:center}.footer-icon svg{width:.95rem;height:.95rem;display:block}@media(max-width:600px){.footer-links{justify-content:center}}@keyframes pollPulse{0%,to{opacity:.55}50%{opacity:1}}.ghost{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.4rem;border-radius:999px;font-weight:600;font-size:.9rem;border:1px solid var(--border);background:var(--tan);color:inherit;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.ghost:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ghost:hover{transform:translateY(-1px);box-shadow:0 18px 30px -22px var(--accent-hover)}.cta{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.4rem;border-radius:999px;font-weight:600;font-size:.9rem;background:var(--accent);color:var(--ink-on-accent);border:none;box-shadow:0 12px 20px -16px var(--accent-hover);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;width:fit-content;text-decoration:none}.cta:hover{transform:translateY(-1px);box-shadow:0 18px 30px -22px var(--accent-hover)}.hidden{display:none}.card-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:.6rem 0 0}.chip{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.4rem .85rem;font-size:.75rem;background:var(--tan);font-weight:500}.chip.subtle{background:var(--glass);border:1px solid var(--border)}.chip.strong{background:var(--accent);color:var(--ink-on-accent)}.icon-button{width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:50%;font-size:1.2rem;line-height:1}.modal{border:none;border-radius:20px;padding:0;max-width:520px;width:min(90vw,520px);background:transparent}.modal::backdrop{background:var(--backdrop)}.modal-card{background:var(--surface);border-radius:20px;padding:1.6rem;border:1px solid var(--border);box-shadow:0 30px 60px -40px var(--shadow);display:grid;gap:1rem}.modal-card header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-card footer{display:flex;justify-content:flex-end;gap:.8rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg-1: #0d1520;--bg-2: #131f2e;--bg-3: #182636;--bg-glow: radial-gradient(circle at 10% 20%, rgba(25, 55, 90, .35) 0%, transparent 55%), radial-gradient(circle at 80% 10%, rgba(35, 75, 120, .25) 0%, transparent 50%), linear-gradient(160deg, rgba(20, 40, 70, .25) 0%, transparent 60%);--surface: #1c2a3a;--glass: rgba(22, 36, 52, .75);--glass-strong: rgba(18, 30, 44, .92);--ink: #dce4ed;--ink-soft: #b8c6d6;--muted: #7a8da0;--ink-on-accent: #ffffff;--border: rgba(160, 190, 220, .1);--shadow: rgba(0, 0, 0, .4);--backdrop: rgba(0, 5, 12, .65);--focus-ring: rgba(90, 160, 212, .35);--accent: #3570b0;--accent-hover: #28609a;--accent-tint: rgba(90, 159, 212, .15);--accent-highlight: rgba(40, 70, 110, .5);--tan: #334a60;--tan-dim: rgba(50, 72, 95, .45);--neutral-fill: rgba(160, 185, 210, .2);--danger: #ef8892;--danger-bg: rgba(160, 50, 60, .15);--danger-border: rgba(200, 80, 90, .25);--star: #e5b020;--favorite: #e85070}}
