@charset "UTF-8";
:root{--paper:#fffef8;--ink:#1c1c1c;--yellow:#f3e94c;--blue:#295bf0;--line:#d4d4ce;--font:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--number:"Avenir Next Condensed","Arial Narrow",sans-serif;--burst:url("assets/impact-burst.png")}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-weight:700;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:active:not(:disabled){transform:translateY(2px)}a{color:var(--blue)}[hidden]{display:none!important}h1,h2,p{margin:0}.game-shell{width:min(100%,700px);margin:0 auto;padding:0 16px 24px;min-height:100svh}.site-header{height:62px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:4px solid var(--ink)}.wordmark{background:none;font-size:23px;font-weight:900;letter-spacing:-.075em;line-height:1.15;padding:4px 0;border-bottom:4px solid var(--yellow);white-space:nowrap}.header-actions{display:flex;align-items:center;gap:13px}.small-button{background:none;font-size:12px;font-weight:900;padding:10px 0;white-space:nowrap}.help-button{width:34px;height:34px;border:1.5px solid var(--ink);border-radius:50%;background:none;font:900 25px/1 var(--number)}.eyebrow{font-size:12px;letter-spacing:.04em}.coral{--player:var(--yellow);--player-text:var(--ink);--tint:#fcf9d1}.teal{--player:var(--blue);--player-text:#fffef8;--tint:#e4eaff}.home-screen{max-width:560px;margin:auto}.home-hero{padding:30px 0;position:relative}.home-hero h1{font-size:80px;letter-spacing:-.09em;line-height:1.13;font-weight:900;margin:15px 0 20px}.question-mark{color:var(--blue)}.hero-copy{font-size:14px;line-height:1.7}.setup-form{border-top:4px solid var(--ink);padding-top:22px}.names{display:grid;grid-template-columns:1fr 1fr;gap:16px}.name-field span{font-size:11px;display:flex;align-items:center;gap:6px}.name-field b{background:var(--player);color:var(--player-text);padding:3px 7px;font:900 13px var(--number)}.name-field input{width:100%;min-width:0;border:0;border-bottom:2px solid var(--ink);background:transparent;font-size:15px;padding:13px 0 10px}.name-field input::placeholder{color:#666;opacity:1}.settings{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.settings label{display:grid;gap:6px;font-size:11px}.settings select{background:none;border:1.5px solid var(--ink);border-radius:0;padding:10px 7px;font-size:16px;min-height:42px}.primary-button{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 17px;font-size:17px;font-weight:900;min-height:54px}.primary-button span:last-child{font-size:25px;line-height:1}.primary-button:disabled{background:#e4e4df;color:#555;border-color:#999}.setup-note{font-size:11px;text-align:center;line-height:1.7;margin:11px 0;color:#555}.text-button{background:none;text-decoration:underline;text-underline-offset:4px;padding:9px 0;font-size:12px}.home-footer{border-top:1px solid var(--line);margin-top:20px;padding-top:7px;display:flex;justify-content:space-between;align-items:center;font-size:10px;gap:10px}.home-footer .text-button{font-size:10px}.battle-top{height:47px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:4px solid var(--ink);font-size:12px}.battle-top>p{font:900 25px/1 var(--number)}.battle-top .text-button{font-size:14px;font-weight:900}.category-label{font-size:12px}.question-stage{position:relative;padding:14px 0 12px;border-bottom:4px solid var(--ink)}.question-meta{display:contents}#question-cue{display:none}.timer{float:right;margin:0 0 0 8px;display:flex;align-items:baseline;gap:4px;height:58px}.timer strong{font:900 53px/1 var(--number);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.timer span{font-size:13px}.question-stage h2{font-size:21px;line-height:1.5;letter-spacing:-.06em;font-weight:900;min-height:82px;padding-top:11px;overflow-wrap:anywhere}.timer-track{height:10px;background:#dededa;margin:17px 0 10px;clear:both}.timer-track>div{height:100%;width:100%;background:var(--yellow);transform-origin:left}.urgent .timer strong{color:var(--blue)}.urgent .timer-track>div{background:var(--blue)}.answer-axis{position:relative;height:63px;width:100%;isolation:isolate}.answer-axis canvas{position:absolute;inset:0;width:100%;height:48px}.axis-labels{display:flex;justify-content:space-between;position:absolute;bottom:0;left:0;right:0;font:900 14px/1 var(--number);pointer-events:none}.axis-markers,.axis-impacts{position:absolute;inset:0;pointer-events:none}.axis-marker{position:absolute;top:0;z-index:2;width:0;height:48px}.marker-pin{position:absolute;left:-5px;top:23px;width:10px;height:10px;background:var(--player);border:1.5px solid var(--ink)}.marker-label{position:absolute;left:0;top:0;white-space:nowrap;background:var(--player);color:var(--player-text);font:900 10px/1 var(--font);padding:4px 5px;border:1px solid var(--ink);transform:translateX(-50%)}.axis-marker.teal .marker-label{top:36px}.axis-marker[data-edge="start"] .marker-label{transform:translateX(-12%)}.axis-marker[data-edge="end"] .marker-label{transform:translateX(-88%)}.axis-marker.exact .marker-pin{outline:2px solid var(--player);outline-offset:2px}.axis-marker.new .marker-label{animation:marker-enter .4s cubic-bezier(.2,.8,.2,1)}.axis-impact{position:absolute;top:28px;width:176px;height:176px;background:var(--player);mask-image:var(--burst);-webkit-mask-image:var(--burst);mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;filter:drop-shadow(0 1px 0 var(--ink));z-index:4}.countdown{position:absolute;inset:0;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;z-index:5}.countdown span{font-size:12px}.countdown strong{font:900 85px/1 var(--number);padding:7px 25px;background:var(--yellow)}.players{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:11px;position:relative}.players:after{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 1.5px);width:3px;background:var(--ink)}.player-panel{min-width:0;position:relative}.player-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:65px;padding:7px 8px;background:var(--player);color:var(--player-text)}.player-heading>div{min-width:0;flex:1}.player-tag{display:block;font:900 21px/1 var(--number)}.player-heading h2{font-size:12px;line-height:1.4;font-weight:900;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.04em}.score{display:flex;align-items:baseline;gap:2px;white-space:nowrap;flex-shrink:0}.score strong{font:900 50px/1 var(--number);letter-spacing:-.05em}.score span{font-size:11px}.player-status{font-size:10px;line-height:1.5;margin:4px 0 5px;color:var(--ink);min-height:15px}.player-status:empty{display:none}.decade-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.decade-button{background:var(--paper);border:1px solid var(--ink);min-height:48px;font:900 25px/1 var(--number);display:flex;align-items:baseline;justify-content:center;gap:2px;padding:10px 2px;letter-spacing:-.04em}.decade-button small{font:900 8px/1 var(--font);white-space:nowrap;letter-spacing:-.05em}.decade-button:hover:not(:disabled){background:var(--tint)}.decade-button:disabled{opacity:1}.player-panel.locked .decade-button:not(.chosen){color:#73736e;border-color:#aaa}.decade-button.chosen{border:2px solid var(--ink);background:var(--player);color:var(--player-text);padding:9px 1px}.decade-button.correct:not(.chosen){background:var(--ink);color:var(--paper)}.decade-button.correct{outline:2px solid var(--ink);outline-offset:-3px}.reveal-panel{padding:10px 0 0}.round-outcome{font-size:13px;line-height:1.5;font-weight:900;text-align:center;margin-bottom:2px}.answer-heading{display:flex;justify-content:center;align-items:baseline;gap:9px}.answer-heading>span:first-child{font-size:11px}.answer-heading strong{font:900 37px/1.1 var(--number)}.answer-heading h2>span{font-size:12px}.answer-heading>span:last-child{font-size:11px}.reveal-panel>#explanation{font-size:11px;line-height:1.7;margin-top:5px}.source-button{background:none;color:var(--blue);font-size:10px;text-decoration:underline;text-underline-offset:3px;padding:6px 0}.next-bar{padding-top:12px}.next-bar .primary-button{font-size:15px;min-height:46px;padding:10px 15px}body[data-phase="revealed"] .question-stage{padding-top:6px;padding-bottom:8px}body[data-phase="revealed"] .question-stage h2{font-size:16px;min-height:0;padding-top:0;line-height:1.5;margin-bottom:5px}body[data-phase="revealed"] .timer,body[data-phase="revealed"] .timer-track{display:none}body[data-phase="revealed"] .players{margin-top:7px}body[data-phase="revealed"] .player-heading{min-height:49px;padding-block:4px}body[data-phase="revealed"] .player-tag{font-size:15px}body[data-phase="revealed"] .score strong{font-size:37px}body[data-phase="revealed"] .player-heading h2{margin-top:2px;font-size:11px}body[data-phase="revealed"] .decade-button{min-height:39px;padding-block:6px;font-size:23px}.flash-layer{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}.exact-flash{position:absolute;inset:0;overflow:hidden;background:#1c1c1c0c;pointer-events:none}.flash-stroke{position:absolute;left:50%;top:46%;width:170vmax;height:130vmax;background:var(--player);mask-image:var(--burst);-webkit-mask-image:var(--burst);mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;filter:drop-shadow(3px 3px 0 var(--ink))}.results-screen{padding:35px 0 0;max-width:560px;margin:auto}.results-screen>.eyebrow{font-size:11px}.results-screen>h1{font-size:43px;line-height:1.3;font-weight:900;margin-top:18px;overflow-wrap:anywhere;letter-spacing:-.06em}.final-scores{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.final-score{background:var(--player);color:var(--player-text);padding:13px}.final-score h2{font-size:12px;overflow-wrap:anywhere}.final-score strong{font:900 76px/1.2 var(--number)}.final-score>span{font-size:11px}.results-screen>#settings{display:block;margin:10px auto 18px}.review{border-top:3px solid var(--ink)}summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;padding:18px 0;font-size:14px}summary::-webkit-details-marker{display:none}.review[open] summary>span{transform:rotate(45deg)}.review ol{list-style:none;padding:0;margin:0}.review li{border-top:1px solid var(--line);padding:16px 0}.review li h3{font-size:14px;line-height:1.6;margin:0 0 8px}.review-decade{font:900 26px var(--number)}.review-decade small{font:700 10px var(--font);margin-left:4px}.review li>p{font-size:11px;line-height:1.8;margin-top:8px}.review-answers{display:flex;gap:12px;font-size:11px;margin:8px 0}.review-answers span{min-width:0;overflow-wrap:anywhere;border-bottom:3px solid var(--player);padding-bottom:4px}.review-reason{font-weight:900}.review .source-button{margin-top:5px}dialog{border:2px solid var(--ink);background:var(--paper);color:var(--ink);padding:28px 23px;width:calc(100% - 32px);max-width:450px;max-height:85svh;overflow:auto}dialog::backdrop{background:#1c1c1c80}dialog h2{font-size:25px;font-weight:900;line-height:1.5;letter-spacing:-.05em;padding-right:15px;margin:10px 0 18px}dialog p{font-size:13px;line-height:1.8}dialog .eyebrow{font-size:10px}.dialog-close{background:none;position:absolute;top:8px;right:8px;width:38px;height:38px;font-size:25px}.rules{padding-left:22px;margin:0}.rules li{font-size:13px;line-height:1.8;margin-bottom:12px}.dialog-note{border-top:1px solid var(--line);padding-top:14px;margin-top:18px;font-size:11px!important;color:#555}.dialog-actions{display:flex;gap:12px;margin-top:22px}.secondary-button{border:2px solid var(--ink);background:none;padding:10px 18px;min-width:95px}.dialog-actions .primary-button{font-size:14px}.source-item{border-top:1px solid var(--line);padding:14px 0}.source-item a{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.source-item p{font-size:11px;margin-top:7px}.source-note{margin-bottom:18px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes marker-enter{from{opacity:0;margin-top:-8px}to{opacity:1;margin-top:0}}
@media(min-width:600px){.game-shell{padding-inline:24px}.site-header{height:72px}.wordmark{font-size:27px}.question-stage h2{font-size:25px;min-height:80px}.question-stage{padding-top:20px}.timer strong{font-size:59px}.players{gap:24px}.player-heading{min-height:78px;padding-inline:12px}.player-heading h2{font-size:15px}.score strong{font-size:60px}.decade-button{min-height:56px;font-size:32px}.decade-button small{font-size:10px}.home-hero{padding-block:38px}.home-hero h1{font-size:100px}}
@media(max-width:480px){.site-header{height:58px}.game-shell{padding-inline:14px;padding-bottom:18px}.home-hero h1{font-size:72px}.home-hero{padding-block:25px}.name-field input{font-size:13px}.name-field span{font-size:10px}.settings{margin-block:18px}}
@media(max-height:740px) and (max-width:480px){.site-header{height:46px}.wordmark{font-size:19px}.help-button{width:29px;height:29px;font-size:22px}.small-button{font-size:10px}.battle-top{height:35px;border-bottom-width:3px}.battle-top>p{font-size:21px}.battle-top .text-button,.category-label{font-size:11px}.question-stage{padding-top:9px;padding-bottom:8px;border-bottom-width:3px}.question-stage h2{font-size:18px;line-height:1.45;min-height:63px;padding-top:6px}.timer{height:45px}.timer strong{font-size:43px}.timer span{font-size:11px}.timer-track{height:8px;margin:11px 0 6px}.answer-axis{height:59px}.players{margin-top:8px;gap:14px}.player-heading{min-height:55px;padding:5px 6px}.score strong{font-size:42px}.player-tag{font-size:18px}.player-heading h2{font-size:10px;margin-top:3px}.player-status{font-size:9px}.decade-grid{gap:4px;margin-top:5px}.decade-button{min-height:43px;font-size:23px;padding-block:8px}.decade-button small{font-size:7px}.home-hero h1{font-size:58px}.home-hero{padding-block:21px}.setup-form{padding-top:16px}.settings{margin-block:13px}.home-footer{margin-top:12px}}
@media(max-height:640px) and (max-width:480px){.game-shell{padding-inline:12px;padding-bottom:8px}.site-header{height:40px}.wordmark{font-size:17px}.header-actions{gap:10px}.battle-top{height:31px}.question-stage h2{font-size:16px;min-height:48px;padding-top:3px}.timer{height:39px}.timer strong{font-size:37px}.timer-track{height:6px;margin-top:7px;margin-bottom:4px}.question-stage{padding-top:6px;padding-bottom:6px}.answer-axis{height:57px}.players{margin-top:6px}.player-heading{min-height:46px;padding:4px 5px}.player-tag{font-size:16px}.player-heading h2{font-size:10px;margin-top:2px}.score strong{font-size:34px}.score span{font-size:9px}.decade-button{min-height:38px;font-size:21px;padding-block:6px}.decade-grid{gap:3px;margin-top:4px}.player-status{font-size:8px;margin:3px 0}.home-hero{padding-block:16px}.home-hero h1{font-size:52px}.hero-copy{font-size:12px}.home-footer{flex-wrap:wrap}.reveal-panel>#explanation{font-size:10px}.round-outcome{font-size:12px}.answer-heading strong{font-size:30px}}
@media(max-width:350px){.wordmark{font-size:17px}.small-button{font-size:10px}.header-actions{gap:10px}.question-stage h2{font-size:17px}.decade-button{font-size:21px}.decade-button small{font-size:6px}.player-heading{padding-inline:5px}.player-heading h2{font-size:10px}.score strong{font-size:38px}.score span{font-size:9px}.home-hero h1{font-size:59px}.name-field span{font-size:9px}.home-footer{gap:0;flex-wrap:wrap}}
@media(max-height:640px) and (max-width:350px){.question-stage h2{font-size:16px}.decade-button{font-size:19px}.score strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.axis-impact,.exact-flash{display:none!important}}
/* 2Pのラベルと端の年代表示を重ねず、同じ回答も上下で読めるようにする。 */
.answer-axis{height:70px}
@media(max-height:740px) and (max-width:480px){.answer-axis{height:67px}}
@media(max-height:640px) and (max-width:480px){.answer-axis{height:65px}}
@font-face{font-family:"Decade Anton";src:url("assets/anton.ttf") format("truetype");font-style:normal;font-weight:400 900;font-display:swap}
:root{--number:"Decade Anton","Avenir Next Condensed","Arial Narrow",sans-serif}
.flash-stroke{filter:drop-shadow(5px 3px 0 var(--ink)) drop-shadow(-2px -2px 0 var(--ink))}
@media(min-height:741px) and (max-width:599px){.player-tag{font-size:29px}.player-heading h2{font-size:13px}.score span{font-size:13px}.decade-button{font-size:29px;padding-block:8px}.decade-button.chosen{padding-block:7px}.question-stage h2{font-size:22px}.question-stage h2,body[data-phase="revealed"] .question-stage h2{-webkit-text-stroke:.2px currentColor}}
body[data-phase="revealed"] .decade-button.chosen{padding-block:5px}
/* 秒数の字面は大きく保ち、問題文の2行目まで狭めない。 */
.timer{height:34px;margin-top:-3px}
@media(max-height:740px) and (max-width:480px){.timer{height:26px}}
@media(max-height:640px) and (max-width:480px){.timer{height:21px}}
@media(max-height:640px) and (max-width:480px){.battle-top{height:29px}.question-stage{padding-top:4px;padding-bottom:5px}.question-stage h2{font-size:15.5px;line-height:1.35}.timer-track{margin-top:5px}.answer-axis{height:60px}.axis-labels{font-size:12px}.marker-label{font-size:9px;padding:3px 4px}.axis-marker.teal .marker-label{top:31px}.player-heading{min-height:43px}.player-panel.locked .player-heading h2{visibility:hidden}.player-panel.locked .player-status{position:absolute;top:23px;left:5px;max-width:calc(100% - 45px);margin:0;font-size:8px;line-height:11px;color:var(--player-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-height:640px) and (max-width:480px){.timer{height:37px}.decade-button.chosen{padding-block:6px}}

/* タイトルだけを大きく置き、設定と開始までを短くする。 */
.home-hero{padding:24px 0 28px}
.home-hero h1{font-size:clamp(52px,16vw,80px);line-height:1.02;letter-spacing:-.075em;margin:0}
.home-title-accent{color:var(--blue)}
body[data-phase="resolving"] .timer{visibility:hidden}
.round-outcome.has-winner{background:var(--player);color:var(--player-text);border:2px solid var(--ink);padding:7px 6px;font-size:15px;margin-bottom:7px}
.player-panel.point-winner{outline:3px solid var(--player);outline-offset:3px}
.point-winner .player-heading{box-shadow:inset 0 -4px 0 var(--ink)}
.point-winner .score strong{display:inline-block;transform-origin:center}
.point-award{position:absolute;top:66px;left:50%;width:calc(100% - 12px);z-index:8;pointer-events:none;background:var(--player);color:var(--player-text);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-align:center;padding:9px 2px 6px;transform:translateX(-50%)}
.point-award>span{display:block;font-size:11px;font-weight:900;white-space:nowrap}
.point-award>strong{font:400 74px/1.1 var(--number);letter-spacing:-.04em}
.point-award>small{font-size:14px;margin-left:3px}
@media(max-height:640px) and (max-width:480px){.round-outcome.has-winner{font-size:12px;padding:5px 4px}.point-award{top:58px}.point-award>span{font-size:9px}.point-award>strong{font-size:58px}}
