.lwrap{max-width:760px;margin:0 auto;padding:0 18px}
.lwrap h1{font-size:38px}.lwrap h1 em{font-style:normal;color:var(--accent)}
.lead{margin:4px 0 12px}
.prog{display:flex;align-items:center;gap:12px;margin:14px 0 8px;font-size:14px;color:var(--mute)}
.prog .bar{flex:1;height:10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);overflow:hidden}
.prog .bar i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}
.tag{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--accent);border-radius:999px;padding:0 12px}
.lab{position:relative;background:#fff;border:3px solid var(--ink);border-radius:6px;box-shadow:5px 5px 0 var(--ink);padding:16px 18px 14px;margin:18px 0 10px;background-image:repeating-linear-gradient(0deg,transparent 0 31px,#eee8d4 31px 32px)}
.lab .nm{font:800 22px/1.4 "Shippori Mincho",serif;margin:0 0 2px;border-bottom:2px solid var(--ink);padding-bottom:4px}
.lab .ty{font-size:12px;color:var(--mute);margin:4px 0 8px}
.lab dl{margin:0}.lab .row{display:grid;grid-template-columns:7.5em 1fr;gap:4px 12px;padding:6px 0;border-bottom:1px dotted #b9b19a;font-size:15px;line-height:1.7}
.lab dt{font-weight:700}.lab dd{margin:0}
.lab .box{display:inline-block;margin:8px 0 4px;border:3px solid var(--red);color:var(--red);font:800 24px "Shippori Mincho",serif;padding:2px 14px;letter-spacing:.1em}
.lab .big{font:800 30px "Shippori Mincho",serif;margin:6px 0 0}.lab .sm{font-size:13px;color:var(--mute);margin:0 0 4px}
.lab .fig{width:120px;margin:6px 0}.lab .fig svg{width:100%;height:auto;display:block}
.lab mark{background:#ffe27a;color:var(--ink);border-radius:3px;padding:0 3px;box-shadow:0 0 0 2px #e3bf55}
.q{font:800 20px/1.6 "Shippori Mincho",serif;margin:18px 0 6px}
.opts{margin:0;padding:0;list-style:none}
.opt{min-height:52px;padding:10px 14px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:2px 2px 0 var(--ink);color:var(--ink);font-size:16px;line-height:1.6}
.opt:hover:not(:disabled){border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}
.opt:focus-visible{outline:3px solid #7fe0c8;outline-offset:2px}
.opt:disabled{cursor:default;color:var(--ink)}
.opt .lt{display:inline-flex;width:26px;height:26px;margin-right:8px;border:2px solid var(--ink);border-radius:50%;align-items:center;justify-content:center;font:700 13px "Shippori Mincho",serif;vertical-align:middle}
.opt.ok{border-color:#23804f;background:#e8f6ee}.opt.ng{border-color:var(--red);background:#fdeceb}
.opt.ok .lt{background:#23804f;color:#fff;border-color:#23804f}.opt.ng .lt{background:var(--red);color:#fff;border-color:var(--red)}
.fb{margin:14px 0;border:2px solid var(--ink);border-radius:14px;background:var(--paper);padding:12px 16px}
.fb .res{font:800 20px "Shippori Mincho",serif;display:flex;align-items:center;gap:6px;margin:0 0 4px}
.fb.good .res{color:#23804f}.fb.bad .res{color:var(--red)}
.fb p{margin:6px 0}
.next{min-height:52px;font:inherit;font-weight:700;background:var(--ink);color:#fff;border:0;border-radius:14px;padding:12px;width:100%;cursor:pointer;margin:10px 0;box-shadow:3px 3px 0 var(--accent)}
.next:focus-visible{outline:3px solid #7fe0c8;outline-offset:2px}
.score{font:800 44px "Shippori Mincho",serif;margin:6px 0}.score small{font-size:20px}
.miss{list-style:none;padding:0;margin:8px 0}.miss li{margin:8px 0;padding:8px 12px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:15px}
.links a{min-height:40px;display:inline-flex;align-items:center}
.sec2{margin:18px 0 6px;font:800 19px "Shippori Mincho",serif}
@media(max-width:520px){.lwrap h1{font-size:32px}.lab .row{grid-template-columns:1fr;gap:0}.lab .nm{font-size:19px}.lab .box{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
