:root{color-scheme:dark;--bg:#11141b;--panel:#1a1e28;--line:#303541;--muted:#a0a8b7;--ink:#f3f5f8;--lime:#c4f36c;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Microsoft YaHei","PingFang SC",system-ui,sans-serif}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}[hidden]{display:none!important}.top{max-width:1536px;margin:auto;padding:25px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px}.brand-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--lime);color:var(--bg);border-radius:11px;font-size:32px;line-height:1}.brand-sub{font-size:14px;color:var(--muted);font-weight:400;border-left:1px solid var(--line);padding-left:15px;margin-left:4px}.live{font-size:14px;color:#c7cdd7;display:flex;align-items:center;gap:8px}.live i{width:7px;height:7px;border-radius:50%;background:var(--lime)}main{max-width:1536px;margin:auto;padding:0 48px}.intro{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:43px 0 35px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--lime);font-weight:700;margin:0 0 10px}h1{font-size:clamp(30px,3.1vw,48px);line-height:1.25;letter-spacing:-1.5px;margin:0 0 15px;font-weight:850}h1 span{color:var(--lime)}.lead{color:var(--muted);margin:0}.intro-note{border-left:2px solid var(--lime);padding-left:23px;display:flex;flex-direction:column;gap:8px}.intro-note>span{font-size:12px;letter-spacing:2px;color:var(--muted)}.intro-note strong{font-size:16px;font-weight:500}.intro-note small{font-size:13px;color:var(--muted)}.tabs{display:flex;gap:36px;border-bottom:1px solid var(--line);margin-bottom:30px}.tab{border:0;background:none;padding:17px 0;color:var(--muted);font-size:13px;border-bottom:3px solid transparent}.tab span{margin-left:10px;font-size:16px;font-weight:600}.tab.active{color:var(--lime);border-color:var(--lime)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}.catalog-title{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px}h2{font-size:22px;letter-spacing:-.5px;margin:0}.catalog-title>span{font-size:13px;color:var(--muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.filters{display:flex;flex-wrap:wrap;gap:7px}.filter{background:transparent;border:1px solid var(--line);border-radius:30px;padding:6px 12px;color:#c0c7d2;font-size:14px}.filter.active{background:var(--lime);color:#151b16;border-color:var(--lime);font-weight:700}.search{display:flex;align-items:center;gap:6px;background:#1b202a;border:1px solid var(--line);border-radius:8px;padding:3px 10px;width:165px}.search>span{font-size:24px;color:var(--muted)}.search input{min-width:0;width:100%;background:transparent;border:0;color:var(--ink);font-size:14px;padding:4px 0}.catalog-hint{font-size:13px;color:var(--muted);margin:15px 0 20px}.catalog-hint span{margin-left:8px;color:#768194}.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px 16px}.game-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;transition:border-color .15s,transform .15s;position:relative}.game-card:hover{transform:translateY(-3px);border-color:#68717c}.game-card.selected{border:2px solid var(--lime);margin:-1px;background:#222a25}.game-toggle{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.cover{position:relative;aspect-ratio:460/215;overflow:hidden;background:#293140}.cover img{display:block;width:100%;height:100%;object-fit:cover}.check{position:absolute;right:10px;top:10px;width:27px;height:27px;border:1px solid #ffffff85;border-radius:50%;background:#151820b8;display:grid;place-items:center;color:transparent;font-size:15px}.selected .check{background:var(--lime);border-color:var(--lime);color:#111a13}.game-body{padding:13px 14px 7px}.game-name{display:block;font-size:16px;line-height:1.45;font-weight:700;min-height:24px}.game-desc{display:block;color:#aeb5c2;font-size:13px;line-height:1.65;margin-top:7px;min-height:44px}.game-bottom{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:0 14px 14px;font-size:12px;color:var(--muted)}.mode{color:#b8d99b}.game-bottom a{padding:4px 0;text-decoration:underline;text-underline-offset:3px;font-size:12px;white-space:nowrap}.supplement{position:absolute;left:9px;top:10px;background:#132126ed;color:var(--lime);border-radius:5px;font-size:12px;padding:3px 7px;pointer-events:none}.ballot{position:sticky;top:20px;border:1px solid #3c443b;border-radius:20px;padding:23px;background:linear-gradient(150deg,#242b28,#1a1f26 40%)}.ballot-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.ballot-heading .eyebrow{margin:0}.ballot-heading #counter{color:var(--lime);font:600 16px/1.4 monospace}.ballot h2{font-size:20px}.muted{color:var(--muted);font-size:14px}.ballot .muted{margin:7px 0 15px;font-size:13px}.empty-picks{border:1px dashed #4a514b;border-radius:12px;text-align:center;padding:26px 8px;margin:20px 0;color:#adb7ac;font-size:14px}.empty-picks>span{display:block;font-size:27px;color:var(--lime);margin-bottom:8px}.empty-picks small{font-size:12px;color:#899287}.picks{display:grid;gap:10px;margin:16px 0}.pick{padding:10px;background:#11171a80;border:1px solid #39413d;border-radius:10px}.pick-top{display:flex;align-items:center;gap:7px}.pick-name{flex:1;line-height:1.5;font-size:14px}.star,.remove{background:transparent;border:0;padding:2px;min-width:25px;min-height:32px;color:#a7b0ac;font-size:20px}.star.chosen{color:var(--lime)}.remove{font-size:19px;color:var(--muted)}.own{display:flex;align-items:center;gap:5px;color:#aeb8ad;font-size:12px;padding-left:32px;margin-top:3px}.own input{accent-color:var(--lime)}.field{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:14px;margin-top:20px}.field>span,legend>span{font-size:12px;color:var(--muted)}.field input,.field textarea{width:100%;border:1px solid #3d444e;border-radius:8px;background:#141920;color:var(--ink);padding:10px;font-size:14px;margin-top:4px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#828c9c}fieldset{border:0;padding:0;margin:20px 0 0;min-width:0}legend{font-size:14px;margin-bottom:10px}.slot-options{display:flex;flex-wrap:wrap;gap:7px}.slot-option{font-size:12px;position:relative}.slot-option input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.slot-option span{display:block;border:1px solid #424a55;padding:5px 8px;border-radius:6px;color:#abb5c3}.slot-option input:checked+span{color:var(--lime);border-color:var(--lime);background:#34402a}.slot-option input:focus-visible+span{outline:2px solid var(--lime);outline-offset:3px}.submit{width:100%;background:var(--lime);border:0;border-radius:10px;color:#192216;font-weight:800;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;margin-top:23px}.submit:disabled{opacity:.55;cursor:wait}.submit span{font-size:23px}.privacy{font-size:12px;color:#909aab;margin:16px 0 0;line-height:1.8}.form-status{font-size:13px;color:var(--lime);margin:10px 0 0}.form-status.error{color:#ffaaaa}.research{margin:35px 0 0;border:1px solid var(--line);border-radius:12px;padding:17px 21px;color:#a4aebd;font-size:14px}.research summary{cursor:pointer;color:#d6dce5}.research summary span{margin-left:12px;color:var(--muted);font-size:13px}.research p{max-width:1000px}.excluded-list{display:flex;flex-wrap:wrap;gap:9px}.excluded-list a{padding:6px 10px;border:1px solid var(--line);border-radius:6px;text-decoration:underline;text-underline-offset:3px}.results-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:35px 0}.results-head h2{font-size:30px}.secondary{padding:9px 15px;border:1px solid var(--line);background:var(--panel);border-radius:8px;font-size:14px;white-space:nowrap}.ranking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.rank-row{display:grid;grid-template-columns:30px 125px minmax(0,1fr) 50px;gap:15px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.rank-index{font:600 20px monospace;color:var(--muted)}.rank-row:first-child{border-color:#779542}.rank-row:first-child .rank-index{color:var(--lime)}.rank-row img{width:125px;aspect-ratio:460/215;object-fit:cover;border-radius:5px}.rank-name{font-size:15px;margin-bottom:6px}.rank-detail{font-size:12px;color:var(--muted)}.rank-votes{text-align:right;color:var(--lime);font-size:23px;font-weight:700}.rank-votes small{display:block;font-size:12px;color:var(--muted);font-weight:400}.rank-row progress{width:100%;height:5px;display:block;margin-top:9px;accent-color:var(--lime)}.rank-row progress::-webkit-progress-bar{background:#353b46;border-radius:5px}.rank-row progress::-webkit-progress-value{background:var(--lime);border-radius:5px}.time-results{margin-top:30px;border:1px solid var(--line);padding:23px;border-radius:12px}.time-results h3{margin:0 0 15px;font-size:19px}.time-chips{display:flex;gap:12px;flex-wrap:wrap}.time-chips span{background:var(--panel);border:1px solid var(--line);padding:9px 15px;border-radius:8px;color:#bac2ce;font-size:14px}.time-chips b{color:var(--lime);margin-left:9px}.empty-result{text-align:center;padding:50px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:15px;padding:29px 0;color:#8791a1;font-size:12px}footer a{text-decoration:underline}.mobile-bar{display:none}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--lime);color:#172113;padding:12px 22px;border-radius:10px;box-shadow:0 5px 35px #0008;z-index:10;text-align:center;max-width:90vw}#loading,#fatal{padding:30px;color:var(--muted)}#fatal{color:#ffaaaa}@media(min-width:1450px){.games{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1150px){.top{padding:22px 28px}main{padding:0 28px}.workspace{gap:23px;grid-template-columns:minmax(0,1fr) 290px}.games{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-note{display:none}.ballot{padding:19px}.ranking{grid-template-columns:1fr}}@media(max-width:760px){.top{padding:18px 20px}.brand-sub{display:none}.brand{font-size:18px}.live{font-size:12px}main{padding:0 18px}.intro{padding:28px 0 22px}h1{font-size:31px;letter-spacing:-1px}.lead{font-size:14px}.tabs{gap:25px;margin-bottom:24px}.tab{padding:13px 0}.tab span{font-size:14px;margin-left:5px}.workspace{display:flex;flex-direction:column;gap:26px}.catalog{width:100%}.catalog-title{align-items:start;margin-bottom:14px}.catalog-title h2{font-size:20px}.catalog-title>span{font-size:12px}.toolbar{gap:13px}.filters{gap:6px}.filter{padding:6px 10px;font-size:13px}.search{width:100%}.catalog-hint{font-size:12px;margin:12px 0 16px}.catalog-hint span{display:block;margin:3px 0 0}.games{gap:14px 11px}.game-name{font-size:14px}.game-body{padding:10px 10px 5px}.game-desc{font-size:12px;min-height:59px}.game-bottom{padding:0 10px 10px;align-items:start;flex-direction:column;gap:0;font-size:12px}.game-bottom a{font-size:12px}.ballot{position:static;width:100%;padding:23px}.empty-picks{padding:20px}.ballot .field input,.ballot .field textarea{font-size:16px}.ballot h2{font-size:22px}.ballot .own,.slot-option{font-size:14px}.slot-option span{padding:8px 12px}.research{margin-top:25px;padding:15px;font-size:13px}.research summary span{display:block;margin:5px 0 0}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;background:#1a211df5;border-top:1px solid #4d5d42;padding:12px 20px calc(12px + env(safe-area-inset-bottom));backdrop-filter:blur(15px);z-index:5;font-size:14px}.mobile-bar button{background:var(--lime);color:#192313;border:0;border-radius:8px;padding:9px 20px;font-weight:700}footer{flex-direction:column;gap:6px;padding-bottom:100px}.results-head h2{font-size:23px}.results-head{align-items:start}.rank-row{grid-template-columns:23px 75px minmax(0,1fr) 35px;gap:9px;padding:12px}.rank-row img{width:75px}.rank-name{font-size:13px}.rank-detail{font-size:12px}.rank-votes{font-size:20px}.rank-index{font-size:17px}#toast{bottom:90px;width:max-content;font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-width:360px){.games{grid-template-columns:1fr}.game-desc{min-height:0}.brand{gap:7px}.live{font-size:12px}.tabs{gap:15px}h1{font-size:27px}}

.price-note{font-size:12px;color:#939fb1;line-height:1.8;border-left:2px solid #596749;padding:5px 11px;margin:0 0 20px}.price-info{margin:7px 14px 12px;padding:12px 0 0;border-top:1px solid #39413d;display:flex;flex-direction:column;gap:4px;min-height:98px}.price-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.price-line strong{font-size:23px;letter-spacing:-.7px;line-height:1.25;color:var(--lime)}.discount-badge{padding:3px 6px;border-radius:5px;background:var(--lime);color:#142013;font-size:13px;line-height:1.5}.price-line del{font-size:13px;color:#929baa}.price-region{font-size:12px;color:#aab6a5}.price-end,.price-edition{font-size:12px;color:#c2c9d3;line-height:1.6}.price-edition{color:#a9b993}.price-info.unavailable{justify-content:center;font-size:14px;color:#b6bfcd}.price-info.unavailable small{font-size:12px;color:var(--muted)}@media(max-width:760px){.price-info{margin:7px 10px 12px;padding-top:10px}.price-line{gap:6px}.price-line strong{font-size:20px}.discount-badge{font-size:12px;padding:2px 5px}.price-line del{font-size:12px}.price-note{font-size:12px}}

.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}.availability-field{margin-top:24px}.availability-field legend{font-size:16px;font-weight:700}.calendar-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font-size:12px;color:#b1bbaa}.calendar-meta #calendar-count{color:var(--lime)}.calendar-help{font-size:12px;color:var(--muted);line-height:1.6;margin:7px 0 10px}.availability-grid{width:100%;border-collapse:separate;border-spacing:4px 7px;table-layout:fixed;margin:0 -2px}.availability-grid th{font-weight:500;font-size:13px;text-align:center;padding:3px 0;color:#c7d0dc}.availability-grid thead th:first-child{width:49px}.availability-grid th small{display:block;font-size:12px;font-weight:400;color:#99a5b6;line-height:1.5}.availability-grid thead th small{font-size:12px;letter-spacing:-.6px;white-space:nowrap}.availability-grid tbody th strong{display:block;font-size:14px;font-weight:650}.availability-grid td{padding:0}.availability-grid .is-today th strong,.availability-grid .is-today th small{color:var(--lime)}.availability-grid .is-weekend:not(.is-today) th{color:#cfdbed}.calendar-choice{display:block;position:relative;min-height:42px}.calendar-choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.calendar-choice>span{min-height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #424e48;border-radius:7px;background:#151d1b;color:#a9b9af;font-size:12px;transition:background .12s,border-color .12s}.calendar-choice input:checked+span{font-size:0;background:var(--lime);border-color:var(--lime);color:#182511}.calendar-choice input:checked+span:after{content:'✓ 有空';font-size:12px;font-weight:750}.calendar-choice input:focus-visible+span{outline:3px solid var(--lime);outline-offset:3px}.calendar-choice.elapsed input{cursor:not-allowed}.calendar-choice.elapsed>span{background:#171b20;color:#707c8a;border-color:#2c333c}.calendar-status{font-size:12px;color:#ddc991;margin:7px 0 0;line-height:1.6}.availability-count{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:13px 5px;background:#151c23;border:1px solid #323d48;border-radius:7px;color:#8995a4}.availability-count b{font-size:18px}.availability-count small{font-size:12px}.availability-count.has-votes{background:#25362d;color:#c7e0ba;border-color:#506649}.availability-count.peak{background:var(--lime);color:#162610;border-color:var(--lime)}.availability-count.elapsed{min-height:56px;color:#64717e}.time-results .availability-grid{max-width:750px}.time-results .availability-grid thead th:first-child{width:75px}@media(max-width:760px){.calendar-choice,.calendar-choice>span{min-height:46px}.calendar-choice>span,.calendar-choice input:checked+span:after{font-size:14px}.calendar-choice input:checked+span{font-size:0}.availability-grid th{font-size:14px}.availability-grid thead th:first-child{width:55px}.time-results{padding:16px}.time-results .availability-grid thead th:first-child{width:48px}}

/* The calendar makes the ballot taller than a typical viewport. Keep all fields reachable. */
.ballot{position:static}
