:root{--bg:#0f1420;--bg-alt:#141b2b;--bg-raised:#1a2336;--border:#2c3a55;--text:#e6ecf7;--text-muted:#9aa9c4;--side-a:#f97316;--side-b:#3b82f6;--radius:12px;--font-body:system-ui, -apple-system, "Segoe UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif}@media (prefers-color-scheme:light){:root{--bg:#f5f8fc;--bg-alt:#e9eff8;--bg-raised:#fff;--border:#d3dded;--text:#172033;--text-muted:#5a6a85;--side-a:#ea580c;--side-b:#2563eb}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-body);flex-direction:column;margin:0;line-height:1.7;display:flex}a{color:inherit}.container{width:100%;max-width:560px;margin:0 auto;padding:0 16px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;top:16px;left:16px}.site-header{padding:16px 0}.brand{letter-spacing:.02em;font-size:1.25rem;font-weight:800;text-decoration:none}.brand .side-a{color:var(--side-a)}.brand .side-b{color:var(--side-b)}.brand .or{color:var(--text-muted);font-weight:600}main{flex:1;align-items:center;padding:24px 0 48px;display:flex}.site-footer{color:var(--text-muted);text-align:center;padding:24px 0;font-size:.8125rem}.hero{text-align:center}.hero h1{margin:0 0 8px;font-size:clamp(2rem,9vw,3rem);line-height:1.25}.hero .note{color:var(--text-muted);margin:0}.home-link{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-block}.feed{width:100%}.loading{text-align:center;color:var(--text-muted)}.vs-card{flex-direction:column;gap:12px;display:flex}.question{text-align:center;margin:0 0 8px;font-size:clamp(1.4rem,6vw,1.9rem);line-height:1.35}.option{border:2px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);min-height:96px;color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:clamp(1.25rem,5.5vw,1.6rem);font-weight:800;transition:transform .12s,border-color .12s,background .12s;display:flex}.option-a{border-color:color-mix(in srgb, var(--side-a) 55%, var(--border))}.option-b{border-color:color-mix(in srgb, var(--side-b) 55%, var(--border))}.option:hover{transform:translateY(-1px)}.option:active,.option.chosen{transform:scale(.98)}.option-a.chosen{background:color-mix(in srgb, var(--side-a) 25%, var(--bg-raised));border-color:var(--side-a)}.option-b.chosen{background:color-mix(in srgb, var(--side-b) 25%, var(--bg-raised));border-color:var(--side-b)}.voting .option:not(.chosen){opacity:.5}.option-emoji{font-size:1.6em;line-height:1}.vs-mark{text-align:center;letter-spacing:.1em;color:var(--text-muted);font-weight:900}.card-foot{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);font:inherit;cursor:pointer;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-block}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-link{color:var(--text-muted);background:0 0;border:none;padding:8px 4px;font-weight:600;text-decoration:underline}.btn:disabled{opacity:.5;cursor:default}.result-heading{text-align:center;opacity:0;margin:0;font-size:1.125rem;font-weight:800;transform:translateY(6px)}.result-heading.reveal{animation:.4s .9s forwards reveal}@keyframes reveal{to{opacity:1;transform:none}}.bar-row{border-radius:var(--radius);background:var(--bg-alt);border:2px solid #0000;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.bar-row.mine{border-color:var(--border)}.bar-head{justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.bar-value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:900}.bar-a .bar-value{color:var(--side-a)}.bar-b .bar-value{color:var(--side-b)}.bar-track{background:var(--bg-raised);border-radius:6px;height:12px;overflow:hidden}.bar-fill{border-radius:6px;height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1)}.bar-a .bar-fill{background:var(--side-a)}.bar-b .bar-fill{background:var(--side-b)}.battle-label{text-align:center;margin:4px 0 0;font-size:1.25rem;font-weight:900}.result .votes{text-align:center;color:var(--text-muted);margin:0;font-size:.875rem}.actions{flex-direction:column;align-items:center;gap:8px;margin-top:8px;display:flex}.actions .btn-primary{text-align:center;width:100%;font-size:1.125rem}.notice{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;display:flex}.notice h2{margin:0;font-size:1.5rem}.countdown{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0}@media (prefers-reduced-motion:reduce){.bar-fill,.option{transition:none}.result-heading.reveal{opacity:1;animation:none;transform:none}}.share{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:8px;padding-top:12px;display:flex}.share-title{text-align:center;margin:0;font-weight:700}.share-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.btn-share{padding:10px 14px;font-size:.9375rem}.share-status{text-align:center;min-height:1.5em;color:var(--text-muted);word-break:break-all;margin:0;font-size:.875rem}.vs-card:not(.result) .share{border-top:none;padding-top:0}.vs-card:not(.result) .share-title{display:none}.daily-kicker{text-align:center;color:var(--text-muted);letter-spacing:.15em;margin:0;font-size:.8125rem;font-weight:800}.vs-card.daily{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);padding:16px}.vs-card.daily .option{background:var(--bg-raised)}.daily-note{text-align:center;color:var(--text-muted);margin:0}.card-foot .countdown{color:var(--text-muted);font-variant-numeric:tabular-nums}.footer-nav{flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-bottom:8px;display:flex}.footer-nav a{color:var(--text-muted)}.doc{width:100%;line-height:1.8}.doc h1{margin:0 0 4px;font-size:1.6rem}.doc .updated{color:var(--text-muted);margin:0 0 24px;font-size:.875rem}.doc h2{border-bottom:1px solid var(--border);margin:28px 0 8px;padding-bottom:4px;font-size:1.125rem}.doc p,.doc ul{margin:0 0 12px}.doc ul{padding-left:1.4em}main:has(.doc){align-items:flex-start}
