:root{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#333;background:#fff;font-synthesis:none;--blue-600: #3460fb;--blue-900: #0017c1;--blue-1000: #00118f;--blue-50: #f2f5ff;--gray-50: #f7f7f7;--gray-200: #ccc;--gray-600: #666;--green-800: #197a4b;--red-900: #ce0000;--focus: #ffd43d}*{box-sizing:border-box}html{min-width:20rem;scroll-behavior:auto}body{margin:0;min-height:100vh;font-size:1rem;line-height:1.7;letter-spacing:.02em}button,input,select{font:inherit}button,select,input[type=range]{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}:focus-visible{outline:.25rem solid #000;outline-offset:.125rem;box-shadow:0 0 0 .375rem var(--focus)}.site-header{border-bottom:1px solid #bbb}.header-inner{width:min(100% - 2rem,64rem);min-height:4.5rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-title{color:#111;font-size:1.25rem;font-weight:700;text-decoration:none;letter-spacing:0}.header-nav{display:flex;align-items:center;gap:1.5rem}.header-nav a{color:var(--blue-900);text-underline-offset:.2em}.header-nav a:visited{color:#8b008b}.main-column{width:min(100% - 2rem,64rem);margin:0 auto;padding:2rem 0 5rem}.mode-navigation{display:flex;align-items:stretch;gap:1.5rem;border-bottom:.25rem solid var(--blue-900)}.mode-tabs{display:flex;flex:0 0 auto;gap:0;overflow-x:auto}.mode-tab{min-height:3.5rem;padding:.75rem 1.5rem;border:1px solid #bbb;border-bottom:0;background:#fff;color:var(--blue-900);font-weight:700;white-space:nowrap}.mode-tab+.mode-tab{border-left:0}.mode-tab.is-selected{background:var(--blue-900);color:#fff}@media(hover:hover){.mode-tab:not(.is-selected):hover{background:var(--blue-50);text-decoration:underline}}.personal-records-block{min-width:24rem;align-self:center;margin:0 0 .5rem auto}.personal-records-block h2{margin:0 0 .5rem;border-bottom:.125rem solid var(--blue-900);padding-bottom:.25rem;font-size:1rem}.personal-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1.5rem}.personal-records div{min-width:0}.personal-records dt{color:#111;font-size:.875rem;font-weight:700}.personal-records dd{color:var(--gray-600);font-size:.875rem;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.measure-panel{min-height:30rem;padding:2.5rem 0 3rem;border-bottom:1px solid #bbb}.setup-view,.instructions-view{width:100%;margin:0}.quiz-view,.final-view{width:min(100%,48rem);margin:0 auto}h1,h2,p{margin-top:0}h1{margin-bottom:1.5rem;color:#111;font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.5;letter-spacing:0}h2{margin-bottom:0;color:#111;font-size:1.5rem;line-height:1.5}.measure-summary{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.measure-summary h1,dl{margin:0}.measure-summary dl{display:grid;gap:.5rem}.measure-summary dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #ddd;padding:.25rem 0}dt{color:var(--gray-600)}dd{margin:0;font-weight:700}.field-group{margin-bottom:2rem}.field-group>label,.register-form>label{display:block;margin-bottom:.5rem;color:#111;font-weight:700}select,input:not([type=radio]):not([type=range]){width:100%;min-height:3rem;border:1px solid #777;border-radius:.5rem;background:#fff;color:#111;padding:.625rem .75rem}select:hover,input:not([type=radio]):not([type=range]):hover{border-color:#111}.label-row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.label-row label{color:#111;font-weight:700}.label-row output{font-weight:700}input[type=range]{width:100%;min-height:2.75rem;accent-color:var(--blue-900)}.support-text{margin:.5rem 0 0;color:var(--gray-600);font-size:.875rem}.centered{text-align:center}.recommendation-chip{display:inline-block;margin-left:.375rem;border:1px solid var(--blue-900);border-radius:999px;color:var(--blue-900);padding:0 .5rem;font-size:.75rem;line-height:1.75;vertical-align:.125rem}.speed-slider{position:relative;margin-top:2.25rem}.speed-slider input{display:block;margin:0}.recommendation-pin{position:absolute;z-index:1;top:-1.6rem;transform:translate(-50%);color:var(--blue-900);font-size:.75rem;font-weight:700;line-height:1;pointer-events:none}.recommendation-pin:after{width:.125rem;height:1rem;display:block;margin:.25rem auto 0;background:var(--blue-900);content:""}.recommendation-pin span{border-radius:.25rem;background:var(--blue-50);padding:.125rem .375rem;white-space:nowrap}.button{min-width:6rem;min-height:3rem;border:2px solid var(--blue-900);border-radius:.5rem;padding:.625rem 1.25rem;font-weight:700}.button.primary{background:var(--blue-900);color:#fff}.button.secondary{background:#fff;color:var(--blue-900)}.button.small{min-height:2.75rem}@media(hover:hover){.button.primary:hover{background:var(--blue-1000);text-decoration:underline}.button.secondary:hover{background:var(--blue-50);text-decoration:underline}}.button:active{transform:translateY(1px)}.countdown-view{min-height:28rem;display:grid;place-content:center;text-align:center}.countdown-view p{margin-bottom:.5rem;color:var(--gray-600);font-weight:700}.countdown-view strong{color:var(--blue-900);font-size:clamp(5rem,22vw,9rem);font-variant-numeric:tabular-nums;line-height:1}.timer{display:flex;justify-content:center;align-items:baseline;gap:.5rem;margin-bottom:1.5rem;font-variant-numeric:tabular-nums}.timer strong{color:#111;font-size:2rem;line-height:1}.instructions-view{padding-block:2rem}.instruction-list{display:grid;gap:1rem;margin:0 0 2.5rem;padding-left:1.5rem;font-size:1.125rem;line-height:1.8}.instruction-actions{display:flex;flex-wrap:wrap;gap:1rem}.reading-document{width:min(100%,64rem);margin:0 auto}.reading-title{margin-bottom:.5rem;font-size:1.625rem}.detection-row{min-height:2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;align-items:baseline;margin-bottom:.75rem}.detection-row .support-text{margin:0}.detection-status{margin:0;color:#111;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums}.reading-frame{position:relative}.reading-text{height:min(68vh,42rem);overflow-y:auto;border:1px solid #999;padding:0 clamp(2.25rem,6vw,4.5rem);scroll-behavior:auto}.reading-text p{margin-bottom:2rem;font-size:1.125rem;line-height:2}.reading-spacer{height:min(24vh,15rem)}.reading-focus-zone{position:absolute;z-index:1;top:31%;right:.75rem;bottom:31%;left:.75rem;pointer-events:none}.reading-bracket{position:absolute;top:0;bottom:0;width:2rem;border-color:var(--blue-900);border-style:solid;border-top-width:.3rem;border-bottom-width:.3rem}.reading-bracket.left{left:0;border-right-width:0;border-left-width:.3rem;border-radius:.6rem 0 0 .6rem}.reading-bracket.right{right:0;border-right-width:.3rem;border-left-width:0;border-radius:0 .6rem .6rem 0}.rsvp-view{width:min(100%,54rem);margin:0 auto}.rsvp-stage{width:100%;min-height:min(60vh,30rem);container-type:inline-size;display:grid;grid-template-rows:1fr auto 1fr;align-items:center;border:1px solid #777;border-radius:0;background:#fff;color:#111;padding:2rem clamp(1rem,5vw,3rem)}.focus-line{display:block;width:1px;height:3.5rem;justify-self:center;background:#111}.focus-line.top{align-self:end}.focus-line.bottom{align-self:start}.phrase{width:100%;min-height:7rem;display:grid;place-items:center;overflow:hidden;text-align:center;white-space:nowrap}.phrase-content{position:relative;display:inline-block;max-width:70%;font-size:clamp(1.25rem,calc(70cqw / var(--phrase-chars)),4.5rem);font-weight:700;line-height:1.2;letter-spacing:.04em;white-space:nowrap}.phrase-main{white-space:nowrap}.phrase-punctuation{position:absolute;bottom:.1em;left:100%;font-size:.42em;font-weight:400;letter-spacing:0;line-height:1}.rsvp-controls{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.result-preview{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin-bottom:2rem;border-left:.5rem solid var(--blue-900);background:var(--blue-50);padding:1rem 1.25rem}.result-preview span{color:var(--gray-600)}.result-preview strong{color:#111}.pass-criterion{margin:-1rem 0 2rem;color:var(--gray-600);font-size:.875rem;font-weight:700}.question{margin:0 0 2.5rem;border:0;padding:0}.question legend{width:100%;margin-bottom:.75rem;color:#111;font-weight:700}.radio-option{min-height:3rem;display:flex;align-items:flex-start;gap:.75rem;border-top:1px solid #ddd;padding:.75rem .25rem;cursor:pointer}.radio-option:last-child{border-bottom:1px solid #ddd}.radio-option input{width:1.25rem;height:1.25rem;margin-top:.2rem;accent-color:var(--blue-900);flex:0 0 auto}@media(hover:hover){.radio-option:hover{background:var(--blue-50)}}.final-view{text-align:center}.status{width:fit-content;margin:0 auto 1rem;border:2px solid currentColor;border-radius:999px;padding:.25rem 1rem;font-weight:700}.status.valid{color:var(--green-800)}.status.invalid{color:var(--red-900)}.final-view h1{font-size:clamp(2.5rem,9vw,4.5rem);font-variant-numeric:tabular-nums}.final-view h1 span{font-size:1rem}.final-view h1:focus{outline:0}.result-list{width:min(100%,24rem);display:grid;gap:.5rem;margin:0 auto 2rem}.result-list div{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:.5rem 0}.register-form{margin:2.5rem auto 0;text-align:left}.register-row{display:grid;grid-template-columns:1fr auto;gap:.75rem}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.5rem}.answer-review{margin-top:4rem;border-top:1px solid #bbb;padding-top:2rem;text-align:left}.answer-review>h2{margin-bottom:1.5rem}.answer-review ol{display:grid;gap:1.5rem;margin:0;padding:0;list-style:none}.answer-review li{border-left:.5rem solid;background:var(--gray-50);padding:1rem 1.25rem}.answer-review li.is-correct{border-color:var(--green-800)}.answer-review li.is-incorrect{border-color:var(--red-900)}.answer-review h3{margin:0 0 .5rem;color:#111;font-size:1rem;line-height:1.6}.answer-status{margin:0 0 .5rem}.is-correct .answer-status{color:var(--green-800)}.is-incorrect .answer-status{color:var(--red-900)}.answer-review dl{display:grid;gap:.25rem}.answer-review dl div{display:grid;grid-template-columns:8rem 1fr;gap:1rem}.answer-review dd{text-align:left}.notification{width:min(100%,48rem);margin:1.5rem auto 0;border-left:.5rem solid;padding:1rem 1.25rem;text-align:left}.notification.error{border-color:var(--red-900);background:#fff0f0;color:#850000}.notification.success{border-color:var(--green-800);background:#edfff5;color:#115c38}.ranking-section{padding:3rem 0 0}.section-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1.5rem}.section-heading span,.empty-state{color:var(--gray-600)}.ranking-heading{border-bottom:.125rem solid var(--blue-900);padding-bottom:.5rem}.ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.ranking-panel{min-width:0}.ranking-panel h3{margin:0;color:#111;font-size:1.125rem;line-height:1.5}.ranking-panel .section-heading{margin-bottom:.75rem}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{border-bottom:1px solid #bbb;padding:.75rem 1rem}th{background:var(--gray-50);color:#111;white-space:nowrap}td:nth-child(1),td:nth-child(3),td:nth-child(4){font-variant-numeric:tabular-nums;white-space:nowrap}td:nth-child(3){font-weight:700}.about-section{margin-top:4rem;border-top:1px solid #bbb;padding-top:3rem;scroll-margin-top:2rem}.about-section>h2{margin-bottom:1rem;font-size:clamp(1.75rem,4vw,2.25rem)}.about-lead{width:100%;margin-bottom:2rem;font-size:1.125rem}.about-intro{width:100%;margin:-1rem 0 2rem}.about-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:3rem}.about-gallery figure{margin:0}.about-gallery picture{display:block}.about-gallery img{width:100%;aspect-ratio:16 / 10;display:block;border:1px solid #777;background:var(--gray-50);object-fit:cover;object-position:top}.about-gallery figcaption{margin-top:.5rem;color:#111;font-weight:700}.about-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3rem;margin-bottom:3rem}.about-methods h3,.about-wide-details h3{margin:0 0 .75rem;color:#111;font-size:1.25rem;line-height:1.5}.about-methods p,.about-wide-details p{margin-bottom:0}.about-wide-details{border-top:1px solid #bbb}.about-wide-details section{display:grid;grid-template-columns:minmax(12rem,15rem) 1fr;gap:2rem;border-bottom:1px solid #bbb;padding:2rem 0}footer{border-top:1px solid #bbb;color:var(--gray-600)}footer p{width:min(100% - 2rem,64rem);margin:0 auto;padding:2rem 0;font-size:.875rem}@media(min-width:48rem){.main-column{padding-top:3rem}.measure-summary{grid-template-columns:1fr minmax(19rem,.85fr);align-items:end}.register-form{width:34rem}}@media(max-width:55rem){.mode-navigation{flex-wrap:wrap;gap:0}.mode-tabs{width:100%}.personal-records-block{width:100%;min-width:0;margin:.75rem 0}.ranking-grid{grid-template-columns:1fr}}@media(max-width:35rem){.main-column,.header-inner{width:min(100% - 1.5rem,64rem)}.header-inner{min-height:5.5rem;align-items:flex-start;flex-direction:column;justify-content:center;gap:.25rem}.header-nav{width:100%;justify-content:space-between}.mode-tab{flex:1;padding-inline:.75rem}.personal-records{grid-template-columns:1fr;gap:.5rem}.personal-records div{display:flex;justify-content:space-between;gap:1rem}.measure-panel{padding-top:2rem}.rsvp-controls,.result-actions,.instruction-actions{align-items:stretch;flex-direction:column}.rsvp-controls .button,.result-actions .button,.instruction-actions .button{width:100%}.register-row{grid-template-columns:1fr}.register-row .button{width:100%}.reading-text{padding-inline:2.25rem}.reading-focus-zone{top:29%;right:.35rem;bottom:29%;left:.35rem}.reading-bracket{width:1.25rem}.answer-review dl div{grid-template-columns:1fr;gap:0}.about-gallery,.about-methods,.about-wide-details section{grid-template-columns:1fr}th,td{padding-inline:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.button:active{transform:none}}@media(forced-colors:active){.mode-tab.is-selected,.button.primary{forced-color-adjust:none}.rsvp-stage,.reading-text,.notification,.status,.answer-review li{border:2px solid CanvasText}.focus-line{background:CanvasText}.reading-bracket{border-color:CanvasText}.recommendation-pin:after{background:CanvasText}.recommendation-chip,.recommendation-pin span,.about-gallery img{border:1px solid CanvasText}}
