:root{--bg:#fff7f0;--card:#fff;--text:#2b1a0e;--muted:#8c7262;--line:#f0dccd;--brand:#ff7a45;--brand-dark:#e8592a;--accent:#ffc53d;--danger:#ff4d4f;--ok:#52c41a;--shadow:0 6px 20px #a0501e1a;--radius:16px;--brand-text:#d4491b;--tint:#fff1e6;--result-bg:linear-gradient(135deg, #fff1e6, #fffbe6);--result-text:#2b1a0e;--warn-bg:#fff7e6;--warn-line:#ffd591;--warn-text:#874d00;--info-bg:#fff1e6;--info-line:#ffbb96;--info-text:#873800;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1d1510;--card:#2a2019;--text:#fbeee4;--muted:#b79f8f;--line:#47362a;--shadow:0 6px 20px #00000059;--brand-text:#ff9c6e;--tint:#3a2a1f;--result-bg:linear-gradient(135deg, #3a2719, #352a16);--result-text:#fbeee4;--warn-bg:#3a2c14;--warn-line:#7a5a1c;--warn-text:#ffd591;--info-bg:#3a2519;--info-line:#7a3f22;--info-text:#ffbb96}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;font:16px/1.55 system-ui,-apple-system,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,sans-serif}#app{max-width:520px;padding:0 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;min-height:100vh;margin:0 auto;display:flex}main{flex:1}.top{z-index:5;background:var(--bg);padding:calc(10px + env(safe-area-inset-top)) 0 10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.top h1{letter-spacing:1px;align-items:center;gap:6px;min-width:0;max-width:100%;margin:0;font-size:22px;display:flex}.logo{font-size:24px}.tabs{background:var(--card);box-shadow:var(--shadow);border-radius:999px;padding:4px;display:flex}.tab{color:var(--muted);border-radius:999px;padding:6px 16px;font-size:15px;font-weight:600;text-decoration:none}.tab.active{background:var(--brand);color:#fff}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin:12px 0;padding:16px}.card h2{margin:0 0 8px;font-size:19px}.card h3{margin:0 0 10px;font-size:17px}.row{align-items:center;display:flex}.row.between{justify-content:space-between;gap:8px}.row.gap{flex-wrap:wrap;gap:8px}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.chips{scrollbar-width:none;gap:8px;padding:2px 2px 10px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1.5px solid var(--line);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex:none;padding:6px 14px;font-size:14px}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.chip.custom{border-style:dashed}.chip.custom.active{border-style:solid}.chip.add{color:var(--brand-text);border-color:var(--brand)}.modes{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pill{border:1.5px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:13px}.pill.on{border-color:var(--brand);color:var(--brand-text);background:var(--tint);font-weight:600}#elim-toggle.on:before{content:"✓ "}.elim-info{text-align:center;background:var(--tint);word-break:break-word;border-radius:12px;margin:10px 0 0;padding:8px 12px}.fav-panel h3{margin:0}.fav-panel p{margin:4px 0 8px}.fav-tag{border:1.5px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:13px}.fav-tag.on{color:#ff4d4f;background:#ff4d4f14;border-color:#ff4d4f;font-weight:600}.history h3{margin:0}.history-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.history-list li{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:6px;display:flex}.history-list li:last-child{border-bottom:none;padding-bottom:0}.history-name{word-break:break-word;font-weight:600}.history-list .small{white-space:nowrap}.wheel-wrap{width:min(100%,380px);margin:8px auto 4px;position:relative}.wheel-canvas{aspect-ratio:1;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 10px 18px #78320a40);width:100%;display:block}.btn{border:1.5px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:15px;font-weight:600;text-decoration:none;transition:transform 80ms,background .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover:not(:disabled){background:var(--brand-dark)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.big{border-radius:999px;min-width:200px;padding:12px 36px;font-size:18px;box-shadow:0 6px 16px #ff7a4559}.btn.small{padding:5px 12px;font-size:13px}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:20px;line-height:1}.link-btn{color:var(--brand-text);cursor:pointer;background:0 0;border:none;padding:4px 2px;font-size:14px}.result{background:var(--result-bg);border:2px solid var(--accent);border-radius:var(--radius);text-align:center;color:var(--result-text);margin:16px 0;padding:18px 16px}.result.pop{animation:.45s cubic-bezier(.2,1.4,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.result-label{color:var(--muted);font-size:14px}.result-value{color:var(--brand-text);word-break:break-word;margin:4px 0 14px;font-size:34px;font-weight:800}.result.out .result-value{opacity:.75;text-decoration:line-through;text-decoration-thickness:3px}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.result .exclude{margin-top:10px;font-size:14px}.excluded{margin:12px 0}.tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tag{border:1px dashed var(--muted);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:13px;text-decoration:line-through}.field{margin:12px 0;display:block}.field>span{color:var(--muted);margin-bottom:6px;font-size:14px;display:block}.input{border:1.5px solid var(--line);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;font-size:16px}.input:focus{border-color:var(--brand);outline:none}textarea.input{resize:vertical}.row.gap .input{flex:1;min-width:0}.check{align-items:center;gap:8px;margin:10px 0;font-size:15px;display:flex}.check input{width:18px;height:18px;accent-color:var(--brand)}.error{color:var(--danger);min-height:1.2em;margin:6px 0;font-size:14px}.opt-rows{flex-direction:column;gap:8px;display:flex}.opt-row{align-items:center;gap:6px;display:flex}.banner{border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;padding:12px 14px;font-size:14px;display:flex}.banner .btn{white-space:nowrap;flex:none}.banner.warn{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-text)}.banner.info{background:var(--info-bg);border:1px solid var(--info-line);color:var(--info-text);display:block}.banner.info strong{margin-bottom:2px;font-size:15px;display:block}.banner a{color:inherit;font-weight:600}.hint{background:var(--tint);border-radius:10px;margin:8px 0 0;padding:6px 10px}.seg{background:var(--card);box-shadow:var(--shadow);border-radius:12px;margin:12px 0;padding:4px;display:flex}.seg-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:7px 10px;font-size:15px;font-weight:600}.seg-btn.active{background:var(--tint);color:var(--brand-text)}.reply{resize:none;word-break:break-all;margin:8px 0;line-height:1.5}.merge summary{cursor:pointer;font-weight:600}.merge[open] summary{margin-bottom:6px}.merge .row{margin-top:8px}.note{text-align:center;margin:4px 8px 12px}.poll-title{word-break:break-word}.live:before{content:"";background:var(--muted);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.live.on:before{background:var(--ok);animation:1.6s infinite blink}@keyframes blink{50%{opacity:.3}}.choices{flex-direction:column;gap:8px;margin:10px 0;display:flex}.choice{border:1.5px solid var(--line);cursor:pointer;word-break:break-word;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.choice input{width:18px;height:18px;accent-color:var(--brand);flex:none}.choice:has(input:checked){border-color:var(--brand);background:#ff7a4514}.voted{text-align:center}.voted-choices{color:var(--brand-text);word-break:break-word;margin:4px 0;font-size:20px;font-weight:700}.bars{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.bar-top{justify-content:space-between;gap:8px;font-size:15px;display:flex}.bar-name{word-break:break-word}.bar-count{color:var(--muted);white-space:nowrap;font-size:14px}.bar-track{background:var(--line);border-radius:999px;height:10px;margin-top:4px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .5s}.bar.lead .bar-fill{background:var(--brand)}.bar.lead .bar-name{font-weight:700}.bar-voters{word-break:break-word;margin-top:3px}.badge{background:var(--brand);color:#fff;vertical-align:2px;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.badge.mine{background:var(--accent);color:#2b1a0e}.recent{margin:0;padding-left:18px}.recent li{word-break:break-word;margin:6px 0}.recent a{color:var(--brand-text)}.foot{text-align:center;padding:20px 0 4px}.foot a{color:inherit}.modal{z-index:40;background:#140a04b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{background:var(--card);border-radius:var(--radius);width:min(100%,420px);max-height:100%;padding:14px;overflow:auto}.share-img{-webkit-touch-callout:default;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:64vh;margin:0 auto;display:block}.modal-box p{margin:10px 0}.center-row{justify-content:center}#toast{left:50%;bottom:calc(28px + env(safe-area-inset-bottom));color:#fff;opacity:0;pointer-events:none;z-index:50;text-align:center;background:#2b1a0eeb;border-radius:999px;width:max-content;max-width:90vw;padding:9px 18px;font-size:14px;transition:all .25s;position:fixed;transform:translate(-50%)translateY(20px);box-shadow:0 6px 20px #00000040}@media (prefers-color-scheme:dark){#toast{color:#2b1a0e;background:#fbeee4f2}}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
