:root{--primary:#0b3d91;--accent:#f5b301;--correct:#1aa260;--wrong:#d64545;--text:#1d1d1f;--bg:#f4f6fb;--screen-bg:#0a1a3a}*{box-sizing:border-box}html,body{margin:0}body{color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}.container{max-width:640px;margin:0 auto;padding:16px 16px 48px}.container.center{text-align:center}.card{background:#fff;border-radius:14px;gap:12px;margin-bottom:14px;padding:18px;display:grid;box-shadow:0 2px 10px #0b3d9114}.card.center{text-align:center}.brand{justify-content:space-between;align-items:center;gap:8px;padding:6px 2px 12px;display:flex}.brand h1{color:var(--primary);margin:0;font-size:18px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.small button{color:var(--primary);background:#e8ecf5;padding:8px 10px;font-size:13px}.lead{color:#555;margin:0;font-size:14px}.muted{color:#777;margin:0;font-size:13px}label{gap:6px;font-size:14px;display:grid}input,select,textarea{font:inherit;border:1px solid #c9cfdb;border-radius:10px;padding:12px;font-size:16px}button{font:inherit;background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:12px 16px;font-weight:600}button:disabled{opacity:.5;cursor:default}button.big{width:100%;padding:16px;font-size:18px}button.primary{background:var(--primary)}button.warn{background:var(--wrong)}.ok{color:var(--correct);margin:0;font-weight:600}.ng{color:var(--wrong);margin:0}.pill{color:var(--primary);background:#e8ecf5;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.pill.small{margin-left:6px;padding:2px 8px;font-size:11px}.round{letter-spacing:.08em;color:var(--primary);margin:0;font-size:12px;font-weight:700}.qlabel{color:#555;margin:0;font-size:13px}.qlabel .pts{color:var(--accent);margin-left:8px;font-weight:700}.qtext{margin:4px 0 0;font-size:20px;line-height:1.4}.status{color:#444;margin:0;font-weight:700}.status.timer{color:var(--wrong);font-size:22px}.choices{gap:10px;display:grid}.choices.kind-predict{grid-template-columns:repeat(4,1fr)}.choice{text-align:left;color:var(--text);background:#fff;border:2px solid #c9cfdb;align-items:center;gap:12px;min-height:56px;padding:14px;font-size:17px;display:flex}.choices.kind-predict .choice{justify-content:center;padding:14px 6px;font-size:16px}.choice .mark{color:var(--primary);font-size:20px;font-weight:700}.choice:disabled{opacity:1}.choice.selected{border-color:var(--primary);background:#e8ecf5}.choice.correct{border-color:var(--correct);background:#e3f6ea}.choice.wrong{border-color:var(--wrong);background:#fbe7e7}.verdict{text-align:center;border-radius:12px;gap:6px;padding:14px;display:grid}.verdict.win{color:var(--correct);background:#e3f6ea}.verdict.lose{color:#555;background:#f1f1f1}.verdict strong{font-size:26px}.verdict .pts{color:var(--accent);font-size:20px;font-weight:800}.explain{color:#444;text-align:left;margin:6px 0 0;font-size:14px;line-height:1.6}.score{color:var(--primary);margin:0;font-size:28px;font-weight:800}.rank{margin:0;font-size:22px;font-weight:700}.qr{background:#fff;border-radius:8px}.host .actions{gap:10px}.host .revealbox{gap:8px;display:grid}.hostchoices{gap:6px;margin:0;padding:0;list-style:none;display:grid}.hostchoices li{background:#f4f6fb;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.hostchoices li.correct{background:#e3f6ea;font-weight:700}.hostchoices .count{color:#555;font-variant-numeric:tabular-nums;margin-left:auto}.qlist{gap:6px;margin:0;padding-left:0;list-style:none;display:grid}.qlist li{background:#f4f6fb;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.qlist li.current{outline:2px solid var(--primary)}.qlist .qlabel{min-width:72px;color:var(--primary);font-weight:700}.qlist .qtext{flex:1;margin:0;font-size:14px}.qlist button{padding:6px 10px;font-size:12px}.admin .container,.admin{max-width:960px}.links a{color:var(--primary);font-weight:600}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid #e5e8f0;padding:8px 6px}.danger{border:1px dashed var(--wrong);background:#fff8f8}.phase-open{color:#8a6d00;background:#fff3cd}.phase-reveal,.phase-ranking{color:var(--correct);background:#e3f6ea}.screen{background:radial-gradient(1200px 700px at 50% 0%, #163a7a, var(--screen-bg) 70%);color:#fff;grid-template-rows:auto 1fr;font-size:28px;display:grid;position:fixed;inset:0;overflow:hidden}.s-head{opacity:.9;justify-content:space-between;align-items:center;padding:24px 48px;font-size:26px;display:flex}.s-title{letter-spacing:.04em;font-weight:700}.s-count{background:#ffffff1f;border-radius:999px;padding:6px 20px}.s-lobby{text-align:center;align-content:center;justify-items:center;gap:18px;display:grid}.s-lobby h1{margin:0;font-size:64px}.s-lobby p{margin:0;font-size:30px}.s-lobby .qr{border-radius:24px;padding:18px}.s-url{letter-spacing:.02em;color:var(--accent);font-size:44px;font-weight:700}.s-question{grid-template-rows:auto auto auto 1fr auto;gap:18px;padding:0 80px 40px;display:grid}.s-round{color:var(--accent);letter-spacing:.06em;margin:0;font-size:28px;font-weight:700}.s-pts{color:#fff;opacity:.85}.s-hint{color:#fff;opacity:.7;font-size:24px}.s-qtext{margin:0;font-size:60px;font-weight:800;line-height:1.3}.s-timer{align-items:center;min-height:120px;font-size:40px;display:flex}.s-sec{color:var(--accent);font-variant-numeric:tabular-nums;font-size:110px;font-weight:900;line-height:1}.s-closed{color:#ff8a80;font-size:72px;font-weight:900}.s-answered{opacity:.85}.s-choices{align-content:start;gap:20px;margin:0;padding:0;list-style:none;display:grid}.s-choices.kind-choice{grid-template-columns:1fr}.s-choices.kind-predict{grid-template-columns:repeat(4,1fr)}.s-choices li{background:#ffffff1a;border:3px solid #ffffff40;border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:20px;padding:22px 34px;font-size:44px;font-weight:700;transition:all .4s;display:grid;position:relative}.s-choices.kind-predict li{text-align:center;grid-template-columns:1fr;padding:18px;font-size:40px}.s-choices li .mark{color:var(--accent);font-size:52px}.s-choices li.correct{border-color:var(--correct);background:#1aa26059;transform:scale(1.02)}.s-choices li.dim{opacity:.45}.s-choices .bar{grid-column:1/-1;align-items:center;gap:16px;height:34px;display:flex}.s-choices .fill{background:var(--accent);border-radius:8px;min-width:4px;height:100%;transition:width .8s}.s-choices li.correct .fill{background:#5ee3a0}.s-choices .num{font-variant-numeric:tabular-nums;opacity:.9;font-size:30px}.s-explain{opacity:.9;background:#ffffff14;border-radius:14px;margin:0;padding:18px 26px;font-size:30px;line-height:1.5}.s-ranking{grid-template-rows:auto 1fr;gap:12px;padding:0 120px 40px;display:grid}.s-ranking h1{text-align:center;color:var(--accent);margin:0;font-size:56px}.s-rows{grid-auto-rows:1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.s-rows li{background:#ffffff14;border-radius:14px;grid-template-columns:110px 1fr auto;align-items:center;gap:24px;padding:6px 30px;font-size:40px;font-weight:700;display:grid}.s-rows li .rk{color:var(--accent);font-variant-numeric:tabular-nums}.s-rows li .sc{font-variant-numeric:tabular-nums;opacity:.9}.s-rows li.r1{background:#f5b30159;font-size:52px}.s-rows li.r2{background:#c8c8d24d;font-size:46px}.s-rows li.r3{background:#cd7f3259;font-size:44px}.s-rows.final{grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;align-content:start;gap:6px 18px}.s-rows.final li{grid-template-columns:60px 1fr auto;padding:4px 18px;font-size:26px}.s-rows.final li.r1,.s-rows.final li.r2,.s-rows.final li.r3{grid-column:1/-1;grid-template-columns:110px 1fr auto;padding:10px 30px;font-size:44px}.qlabel-big{color:var(--primary);margin:6px 0;font-size:34px}.intro .status{font-size:20px}.dup{gap:8px;display:grid}.s-intro{text-align:center;align-content:center;justify-items:center;gap:24px;display:grid}.s-intro-label{color:var(--accent);margin:0;font-size:140px;font-weight:900;line-height:1.1}.s-intro-soon{margin:0;font-size:56px;font-weight:700}.s-qr-mini{color:#1d1d1f;background:#fffffff2;border-radius:14px;justify-items:center;gap:6px;padding:10px 12px 8px;font-size:16px;font-weight:700;display:grid;position:fixed;bottom:24px;right:28px}.s-qr-mini .qr{border-radius:6px}.s-ranking{padding-right:240px}
