:root{--bg:#080C16;--surface:#121A2E;--surface-2:#0E1626;--line:#273249;--cyan:#3EC9F0;--gold:#F5A524;--ok:#12A150;--ng:#F0555C;--text:#fff;--text-dim:#97A2B8;--text-mute:#5C6780;--team-stk:#3EC9F0;--team-nyan:#F5A524;--team-nice:#A78BFA;--team-bazeo:#A3E635;--team-staff:#97A2B8}
.participant,.broadcast{margin:0;background:var(--bg);color:var(--text);font-family:"Hiragino Sans","Yu Gothic","Meiryo",system-ui,sans-serif;font-size:15px;line-height:1.7;font-variant-numeric:tabular-nums}
.participant *,.broadcast *{box-sizing:border-box;min-width:0}.participant #app{max-width:720px;margin:auto;padding:28px 20px calc(30px + env(safe-area-inset-bottom))}.participant h1{font-size:28px;line-height:1.4}.brand{color:var(--text-dim);font-size:13px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:24px}.question{font-size:22px;line-height:1.5;margin:28px 0}.meta,.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.meta{border-bottom:1px solid var(--line);padding-bottom:16px;color:var(--text-dim)}.num{font-variant-numeric:tabular-nums;font-weight:700}.timer{color:var(--cyan)}.dim{color:var(--text-dim)}.cut,.choice,.primary{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.participant input,.participant select{width:100%;font:inherit;font-size:16px;min-height:56px;background:var(--surface-2);color:var(--text);border:1px solid var(--line);padding:12px;margin:6px 0 20px}.participant label{font-size:13px;color:var(--text-dim);display:block}.participant button{font-family:inherit;cursor:pointer}.primary{width:100%;min-height:56px;border:0;background:var(--cyan);color:var(--bg);font-size:17px;font-weight:700}.choices{display:grid;gap:12px}.choice{display:flex;align-items:center;gap:18px;text-align:left;min-height:64px;padding:16px 20px;border:2px solid var(--line);background:var(--surface);color:var(--text);font-size:17px;overflow-wrap:anywhere}.choice .number{font-weight:700;color:var(--cyan)}.choice.selected{border-color:var(--cyan)}.choice:disabled{pointer-events:none}.choice.muted{opacity:.4}.participant button:focus-visible,.participant input:focus-visible,.participant select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.count{text-align:center;color:var(--text-dim);margin-top:24px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{display:inline-block;padding:3px 9px;background:var(--team);color:var(--bg);font-weight:700;font-size:13px;overflow-wrap:anywhere;max-width:100%;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}.distribution{margin:20px 0;padding-bottom:16px;border-bottom:1px solid var(--line)}.bar{height:8px;background:var(--surface);margin:10px 0}.bar span{display:block;height:100%;width:var(--width);background:var(--cyan);transform-origin:left;animation:grow .6s both}.mine{color:var(--cyan);font-size:13px}.verdict{font-size:32px;font-weight:700;text-align:center;color:var(--ng);animation:appear .01s .3s both}.verdict.correct{color:var(--ok)}.answer-title{font-size:24px}.note{line-height:1.7}.score{padding-top:20px;border-top:1px solid var(--line)}.ranking-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.ranking-row.self{border-left:3px solid var(--cyan)}.ranking-row.top{background:var(--surface);margin-bottom:10px;padding:18px;font-size:20px}.ranking-row.winner{border-top:3px solid var(--gold)}.ranking-row small{display:block;font-size:13px;color:var(--text-dim)}#connection{background:var(--surface);color:var(--gold);padding:8px 20px;font-size:13px}.error{color:var(--ng)}
.broadcast{width:1920px;height:1080px;overflow:hidden}.broadcast #app{height:100%;padding:48px 72px}.broadcast .brand{font-size:20px;margin-bottom:26px}.broadcast .meta{font-size:28px}.broadcast h1{font-size:56px;line-height:1.4;margin:24px 0}.broadcast .question{font-size:56px;line-height:1.4;margin:36px 0}.broadcast .choices{grid-template-columns:1fr 1fr;gap:20px}.broadcast .choice{font-size:32px;min-height:130px;padding:28px}.broadcast .count{font-size:28px}.broadcast .waiting{display:grid;grid-template-columns:420px 1fr;gap:64px;align-items:start;margin-top:48px}.qr{width:400px;height:400px;background:white;display:flex;align-items:center;justify-content:center;color:var(--bg);font-size:24px;padding:20px}.qr img{width:100%;height:100%;object-fit:contain}.broadcast .tag{font-size:22px;padding:5px 12px}.broadcast .tags{gap:12px}.columns{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.column{background:var(--surface);border-top:3px solid var(--cyan);padding:22px;min-height:590px}.column h2{font-size:28px;margin:0;min-height:84px;overflow-wrap:anywhere}.column .num{font-size:64px;line-height:1.2;margin:10px 0 24px}.column .tags{gap:7px}.column .tag{font-size:18px;padding:3px 9px}.suspense{text-align:center;font-size:36px;margin:22px 0}.broadcast .note{font-size:32px;margin:22px 0;line-height:1.5}.broadcast .columns.revealed .column{opacity:.35}.broadcast .columns.revealed .column.correct-column{opacity:1;border-color:var(--ok);box-shadow:inset 0 0 40px #12a15030}.broadcast .ranking{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.broadcast .ranking-row{padding:8px 18px;font-size:22px}.broadcast .ranking-row.top{font-size:36px;padding:20px;grid-column:1/-1}.broadcast .ranking-row small{font-size:16px}.animate-lock .column{animation:appear .24s both;animation-delay:calc(var(--column)*80ms)}.animate-lock .suspense{animation:appear .6s var(--suspense-delay) both}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes appear{from{opacity:0}to{opacity:1}}@media(min-width:561px){.participant #app{padding:44px 40px calc(40px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.participant *,.broadcast *{animation:none!important;transition:none!important}}
.broadcast .ranking{grid-template-columns:repeat(3,1fr);gap:0 22px}.broadcast .ranking-row.top{grid-column:auto;min-height:152px;font-size:30px}.broadcast .ranking-row:not(.top){font-size:20px;padding:6px 12px}
.participant .confirm-answer{margin-top:18px}.participant .primary:disabled{opacity:.4;cursor:default}
.broadcast{position:relative}.broadcast #app{display:flex;flex-direction:column;padding:30px 60px 66px;gap:12px}
.broadcast .brand{font-size:28px;margin:0;padding-bottom:10px;flex:none;line-height:1.5}.broadcast .meta{font-size:28px;padding:0 0 8px;flex:none}.broadcast h1{margin:8px 0;font-size:56px;line-height:1.3;flex:none}.broadcast .question{font-size:56px;margin:18px 0;line-height:1.4}
.broadcast .choices{gap:20px;margin-top:12px;flex:none}.broadcast .choice{min-height:180px;font-size:44px;padding:24px 32px;line-height:1.4}.broadcast .choice .number{font-size:60px}.broadcast .count{font-size:40px;margin:16px 0;font-variant-numeric:tabular-nums}
.broadcast .waiting{grid-template-columns:710px 1fr;gap:60px;margin-top:10px;min-height:0}.broadcast .qr{width:520px;height:520px;margin:0 auto;padding:20px}.broadcast .join-url{font-size:36px;line-height:1.4;text-align:center;margin:20px 0 12px;white-space:nowrap}.broadcast .join-help{font-size:28px;text-align:center;margin:0}.broadcast .waiting .tag{font-size:30px}.broadcast .waiting .tags{gap:12px}
.broadcast .broadcast-question{font-size:36px;line-height:1.35;margin:0;color:white;max-height:98px}.broadcast .columns{flex:1;min-height:0;gap:18px;margin:0}.broadcast .column{padding:12px 16px;min-height:0;display:flex;flex-direction:column}.broadcast .column h2{font-size:36px;line-height:1.2;height:87px;min-height:87px;margin:0;flex:none}.broadcast .column-result{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;height:110px}.broadcast .column .num{font-size:96px;line-height:1;margin:0}.broadcast .correct-label{font-size:32px;font-weight:700;color:white;background:var(--ok);padding:0 10px}
.broadcast .column .tags{flex:1;min-height:0;display:flex;align-content:flex-start;gap:4px 6px;overflow:visible}.broadcast .column .tags.dense{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;align-content:start}.broadcast .column .tag{font-size:var(--tag-size,28px);line-height:1.3;padding:2px 6px;white-space:nowrap;min-width:0;max-width:100%;overflow:visible}.broadcast .column .tag>span{display:inline-block}.broadcast .suspense{font-size:36px;margin:0;height:54px;flex:none}.broadcast .note{font-size:32px;line-height:1.35;margin:0;min-height:130px;flex:none;overflow-wrap:anywhere;white-space:pre-line}
.broadcast #connection{position:absolute;right:24px;bottom:60px;z-index:10;font-size:22px;max-width:950px}.broadcast .team-legend{position:absolute;left:60px;right:60px;bottom:15px;display:flex;justify-content:flex-end;gap:16px;align-items:center}.broadcast .team-legend .tag{font-size:24px;line-height:1.3;padding:3px 10px}
.broadcast .final-results{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}.broadcast .winners{display:grid;gap:14px;flex:none}.broadcast .winners .ranking-row{background:var(--surface);border-top:3px solid var(--gold);grid-template-columns:70px 1fr auto;font-size:32px;padding:14px;line-height:1.25}.broadcast .winners .rank-name{font-size:var(--winner-size,72px);font-weight:700;color:var(--gold)}.broadcast .runners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:none}.broadcast .runners .ranking-row{font-size:32px;padding:10px;line-height:1.3}.broadcast .runners .rank-name{font-size:40px}.broadcast .ranking{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;align-content:start;min-height:0}.broadcast .ranking-row{grid-template-columns:54px 1fr auto;font-size:24px;padding:6px 12px;line-height:1.3}.broadcast .ranking-row:not(.top){font-size:24px;padding:6px 12px}.broadcast .ranking-row small{font-size:24px;line-height:1.3;font-weight:400}.broadcast .rank-name{overflow-wrap:anywhere}
.broadcast .waiting .tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.broadcast .waiting .tag{line-height:1.3;white-space:nowrap;padding:5px 12px}
.broadcast .column .tags.compact .tag{line-height:1.15;padding:1px 6px}
