:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;color:#293b43;background:#f8fafb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;transition:background 1.4s,color 1.4s;background:radial-gradient(ellipse at 50% 25%,#fff,#f5f8f8);display:flex;flex-direction:column}header{width:min(100%,1080px);margin:auto;padding:28px 30px;display:flex;align-items:center;justify-content:space-between}header a{color:inherit;font-size:13px;text-decoration:none;letter-spacing:.14em;font-weight:650}header span{display:block;color:#829594;font-size:8px;letter-spacing:.22em;margin-top:6px}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#sound{border:1px solid #dce5e3;border-radius:20px;background:transparent;padding:8px 12px;color:inherit;font-size:11px}main{width:min(100% - 40px,560px);margin:auto; padding:34px 0 46px;flex:1;display:flex;flex-direction:column;justify-content:center}footer{text-align:center;font-size:11px;line-height:2.2;color:#83928f;padding:16px 20px 28px}footer span{font-size:10px}.eyebrow{font-size:10px;letter-spacing:.22em;color:#718b84;font-weight:650}.hero{text-align:center}.emblem{margin:20px auto 34px;width:85px;height:85px;border:1px solid #becfc7;border-radius:50%;display:grid;place-items:center;position:relative}.emblem:before{content:'';width:55px;height:55px;border:1px solid #9eafa6;border-radius:50%}.emblem:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#718e80;box-shadow:0 0 0 8px #eef3ef}h1{font-weight:500;letter-spacing:.18em;font-size:38px;margin:24px 0}p{font-size:14px;line-height:2;color:#718079}.intro{margin:22px 0 32px}.tags{display:flex;justify-content:center;gap:22px;margin-bottom:32px;font-size:11px;color:#7d8b85}.primary{width:100%;border:0;background:#527568;color:white;border-radius:12px;padding:20px;font-weight:600;font-size:15px}.primary:hover{background:#436456}.note{font-size:10px;margin-top:16px}.qmeta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#7b8e86}.bar{height:3px;background:#e6eeea;margin:14px 0 38px;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:#668b78;transition:width .6s}.qtitle{font-size:11px;letter-spacing:.14em;color:#81948b;margin-bottom:22px}h2{font-size:23px;font-weight:500;line-height:1.8;margin:0 0 32px;min-height:82px;overflow-wrap:anywhere;white-space:pre-line}.options{display:grid;gap:12px}.option{width:100%;padding:18px 20px;border:1px solid #dce5e0;border-radius:10px;color:inherit;background:#fff;text-align:left;display:flex;align-items:center;gap:14px;font-size:14px;min-height:58px}.option:before{content:'';width:14px;height:14px;border:1px solid #b6c6bd;border-radius:50%;flex-shrink:0}.option:hover,.option:focus-visible{border-color:#527568;background:#f0f5f2}.option:disabled{cursor:default;opacity:.7}.subtle{font-size:10px;color:#8b9893;text-align:center;margin-top:26px}.cold{background:#e7ecf0}.broken{background:#cbd4d8}.dark,.black{background:#080c0e;color:#d1d8d7}.dark header a,.dark footer,.dark .qmeta,.dark .bar,.dark .qtitle,.black header,.black footer{visibility:hidden}.dark .option{background:#10191c;border-color:#28363a}.dark h2{letter-spacing:.1em}.dark p{color:#8f9d9e}.black main{text-align:center}.glitch{animation:glitch .15s steps(2) 2}@keyframes glitch{0%{transform:translate(2px,-1px);text-shadow:-2px 0 #768a9a}50%{transform:translate(-2px,1px);filter:contrast(1.7)}100%{transform:none}}#shadow{pointer-events:none;position:fixed;right:-30px;bottom:0;width:95px;height:65vh;background:#071015;border-radius:60% 50% 0 0;opacity:0;filter:blur(10px)}#scare{display:none;position:fixed;inset:0;background:black;z-index:30;overflow:hidden}#scare.active{display:block}#scare img{width:100%;height:100%;object-fit:cover;object-position:50% 37%;animation:lunge .15s cubic-bezier(.12,.6,.3,1) forwards;transform-origin:50% 38%}@keyframes lunge{from{transform:scale(.4)}to{transform:scale(1.85)}}.result{text-align:center}.score{font-size:88px;font-weight:300;letter-spacing:-.06em;line-height:1.3;color:#527568;margin:22px 0}.score small{font-size:25px;margin-left:8px}.secondary{background:none;border:1px solid #cddbd3;border-radius:10px;padding:15px 20px;color:inherit;width:100%;margin-top:12px}.spinner{width:28px;height:28px;border:2px solid #dce6e0;border-top-color:#527568;border-radius:50%;animation:spin 1s linear infinite;margin:24px auto}.reverse{animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}input{font:inherit;width:100%;border:1px solid #405055;background:#10191c;color:#d1d8d7;border-radius:8px;padding:20px;font-size:18px}.entry{display:flex;gap:8px}.entry button{width:70px}.hidden{visibility:hidden}#pause{position:fixed;inset:0;background:#10191cf5;z-index:40;place-items:center}#pause:not([hidden]){display:grid}#resume{border:1px solid #60766e;border-radius:10px;background:#243b32;color:#fff;padding:20px 30px}@media(min-width:760px){main{padding-top:45px;padding-bottom:65px}.hero{padding:10px 25px}h1{font-size:44px}}@media(max-width:370px){header{padding:22px 20px}h2{font-size:20px}main{width:calc(100% - 32px)}}@media(prefers-reduced-motion:reduce){.glitch{animation:none}#scare img{animation:none;transform:scale(1.4)}}
/* Exam paper layout */
body{background:#f7f7f6;color:#292929}header a{font-family:serif;letter-spacing:.08em}header span{letter-spacing:.16em}main{width:min(100% - 40px,690px);padding-top:22px;padding-bottom:45px}.hero h1{font-family:serif;font-weight:600;letter-spacing:.1em}.exam{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;color:#292929}.exam-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #c9c9c9;padding:0 2px 12px;margin-bottom:20px;font-size:11px;letter-spacing:.05em}.exam-top b{font-family:monospace;letter-spacing:.12em}.qmeta{font-family:inherit;color:#333;font-size:12px;letter-spacing:.04em}.bar{height:2px;background:#e6e6e6;margin:10px 0 20px}.bar i{background:#777}.question-box{background:#f0f0f0;padding:18px 22px 16px;display:grid;grid-template-columns:1fr auto;column-gap:14px;align-items:center;margin-bottom:16px}.question-box .qtitle{grid-column:1/-1;color:#555;font-family:inherit;font-size:12px;letter-spacing:.03em;margin:0 0 8px}.question-box h2{font-family:inherit;font-weight:500;font-size:16px;line-height:1.9;min-height:0;margin:0;white-space:pre-line}.answer-code{font-family:serif;font-size:14px;border:1px solid #555;background:#fff;padding:1px 10px;color:#555}.procedure{border:1px solid #c8c8c8;background:#fff;padding:18px 22px;margin:0 0 16px;font-family:inherit}.procedure-title{font-size:13px;margin-bottom:4px}.procedure ol{margin:0;padding-left:23px;font-size:13px;line-height:1.9}.procedure li{padding-left:2px}.figure{background:#fff;border:1px solid #d0d0d0;margin:-4px 0 16px;padding:8px 12px 12px;text-align:center;font-size:11px;color:#555}.figure-hall{height:112px;border:1px solid #bbb;margin:5px auto 0;max-width:340px;position:relative;overflow:hidden;background:linear-gradient(90deg,#e8e8e6,#fafafa 50%,#e8e8e6)}.figure-hall:before{content:'';position:absolute;left:32%;top:0;height:100%;width:36%;border-left:1px solid #bbb;border-right:1px solid #bbb;background:repeating-linear-gradient(0deg,transparent 0 22px,#ddd 23px 24px)}.figure-hall i{position:absolute;top:0;height:100%;width:1px;background:#aaa;left:17%}.figure-hall i:nth-child(2){left:83%}.figure-hall i:nth-child(3){left:50%;background:#dedede}.figure-hall b{position:absolute;left:49%;top:36%;font:24px serif;color:#999;opacity:.24}.options{display:grid;gap:0;padding:0 22px}.option{display:grid;grid-template-columns:16px 22px 1fr;align-items:start;gap:7px;width:100%;min-height:37px;padding:7px 0;border:0;border-radius:0;background:transparent;text-align:left;color:#303030;font-family:inherit;font-size:13px;line-height:1.7}.option:hover,.option:focus-visible{background:#f0f0f0}.radio{width:14px;height:14px;border:1px solid #c9c9c9;border-radius:50%;margin-top:4px;background:#fff}.option.selected .radio{border:4px solid #777}.choice-num{font-variant-numeric:tabular-nums}.subtle{font-family:inherit;font-size:10px;color:#888;text-align:right;margin:16px 2px}.exam-foot{border-top:1px solid #ddd;padding-top:10px;color:#888;font-size:9px;letter-spacing:.08em}.exam-foot span{float:right}.cold{background:#eceeef}.broken{background:#e4e4e2}.dark{background:#111;color:#dedbd5}.dark .exam{color:#dedbd5}.dark .exam-top{border-color:#484848}.dark .question-box{background:#252525}.dark .question-box h2,.dark .question-box .qtitle{color:#e1dfdb}.dark .procedure{background:#191919;border-color:#4a4a4a}.dark .option{color:#ddd}.dark .option:hover{background:#242424}.dark .radio{background:#191919;border-color:#696969}.dark .answer-code{background:#161616;color:#ddd;border-color:#777}.dark .exam-foot{border-color:#444}.broken .question-box{transform:translateX(1px)}.exam .entry{margin:6px 0}.exam .entry input{border-radius:0;background:white;color:#333;border:1px solid #777;font-family:inherit}.exam .entry .secondary{width:70px;border-radius:0;margin:0}.exam #next{border-radius:0;margin-top:8px}.exam .hidden{visibility:hidden}.exam .primary{font-family:inherit}.result h2{font-family:serif}@media(min-width:760px){main{padding-top:30px}.question-box{padding:20px 25px}.procedure{padding:20px 25px}.options{padding:0 25px}}@media(max-width:420px){main{width:calc(100% - 28px)}.question-box{padding:15px 14px}.procedure{padding:15px 14px}.procedure ol{font-size:12px}.options{padding:0 13px}.option{font-size:12px;grid-template-columns:15px 19px 1fr}.answer-code{padding:1px 7px}}
/* Keep the stem horizontal and give the supplied scene images room to breathe. */
.question-box{display:flex;flex-direction:column;align-items:stretch;gap:0}.question-box .qtitle{width:100%}.question-box h2{display:block;width:100%;max-width:100%;writing-mode:horizontal-tb;text-orientation:mixed;word-break:normal;overflow-wrap:anywhere;line-break:strict}.answer-code{align-self:flex-end;margin-top:8px;min-width:46px;text-align:center}.question-image{margin:0 0 16px;background:#fff;border:1px solid #d0d0d0;padding:9px 10px 11px;text-align:center}.question-image figcaption{font-size:11px;color:#555;margin:0 0 8px}.question-image img{display:block;width:100%;height:auto;max-height:310px;object-fit:contain;margin:0 auto}.dark .question-image{background:#171717;border-color:#494949}.dark .question-image figcaption{color:#ccc}
/* Official exam-site chrome and single, consistently horizontal answer rows. */
body{background:#fff;color:#282828}.site-header{width:100%;max-width:none;margin:0 auto 20px;padding:0;display:block;background:#fff;box-shadow:0 1px 4px #00000012}.site-brand{height:66px;width:min(100% - 32px,980px);margin:auto;display:flex;align-items:center;justify-content:space-between}.site-brand>a{display:flex;align-items:center;gap:11px;text-decoration:none;color:#222}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:#292538;color:#fff;font-family:serif;font-size:21px}.brand-name{display:flex;flex-direction:column;gap:3px}.brand-name strong{font-family:serif;font-size:16px;letter-spacing:.04em}.brand-name small{font-family:Arial,sans-serif;font-size:8px;letter-spacing:.16em;color:#666}.header-tools{display:flex;align-items:center;gap:14px;font-size:11px;color:#555}.header-tools #sound{border-color:#d7d5e1;border-radius:3px;color:#4d468c;padding:8px 10px}.site-nav{height:40px;display:flex;justify-content:center;background:#544aa1;color:#fff;font-family:sans-serif;font-size:12px}.site-nav span{display:grid;place-items:center;padding:0 clamp(12px,5vw,52px);border-left:1px solid #ffffff25;white-space:nowrap}.site-nav span:last-child{border-right:1px solid #ffffff25}main{width:min(100% - 32px,690px);padding-top:12px}.exam{padding-top:4px}.exam-top{font-family:sans-serif;color:#656565}.question-box{display:flex;flex-direction:column;align-items:stretch;min-width:0}.question-box .qtitle{display:block}.question-box h2{display:block;width:100%;min-width:0;max-width:100%;writing-mode:horizontal-tb!important;text-orientation:mixed!important;word-break:normal;overflow-wrap:anywhere;line-break:strict}.answer-code{align-self:flex-end}.options{display:block;padding:0 22px}.option,.option:hover,.option:focus-visible{display:grid!important;grid-template-columns:18px 25px minmax(0,1fr)!important;align-items:start!important;column-gap:8px!important;width:100%;min-width:0;white-space:normal;writing-mode:horizontal-tb!important;text-align:left;background:transparent;border:0;border-radius:0;padding:10px 4px;line-height:1.65}.option::before{content:none!important;display:none!important}.option>span{min-width:0;writing-mode:horizontal-tb!important;word-break:normal;overflow-wrap:anywhere}.option>.radio{grid-column:1;grid-row:1;width:14px;height:14px;border:1px solid #aaa;border-radius:50%;margin-top:4px;background:#fff}.option>.choice-num{grid-column:2;grid-row:1;white-space:nowrap}.option>span:last-child{grid-column:3;grid-row:1;display:block;max-width:100%}.option.selected>.radio{border:4px solid #554b9d}.option.selected{background:#f1f0f8}.exam .subtle{color:#888}.exam-foot{font-family:sans-serif}.question-image{margin-left:0;margin-right:0}.hero{min-height:360px;display:flex;flex-direction:column;justify-content:center}.hero .primary{max-width:420px;margin:0 auto}.hero .note{margin-top:18px}.emblem{border-color:#bdb9d4}.emblem:before{border-color:#928cae}.emblem:after{background:#574e9c}footer{border-top:1px solid #e4e2ec;background:#fafafa;width:100%;padding:20px}.primary{background:#554b9d;border-radius:3px}.primary:hover{background:#463e84}.secondary{border-radius:3px}@media(max-width:480px){.site-brand{height:60px;width:calc(100% - 24px)}.brand-mark{width:30px;height:30px;font-size:18px}.brand-name strong{font-size:13px}.brand-name small{font-size:7px}.header-tools{gap:8px;font-size:10px}.header-tools #sound{font-size:10px;padding:7px}.site-nav{height:38px;font-size:10px}.site-nav span{flex:1;padding:0 5px}.options{padding:0 12px}.option{grid-template-columns:18px 22px minmax(0,1fr)!important;column-gap:6px!important;font-size:13px}.question-box{padding:16px 15px}.question-box h2{font-size:16px;line-height:1.75}.procedure{padding:15px 16px}}
