/* Version B interactive layer */
.ct-progress{position:fixed;left:0;top:0;height:3px;width:0;background:#1a73e8;z-index:60;transition:width .1s}
.ct-top{position:fixed;right:16px;bottom:16px;z-index:50;width:44px;height:44px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font:600 18px/1 var(--ui);cursor:pointer;display:none}
.ct-top.on{display:block}
.ct-top:hover{box-shadow:3px 3px 0 var(--ink)}
#ct-tools{display:flex;gap:8px;align-items:center}
.nav-btn{font:500 12px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:9px 12px;cursor:pointer;min-height:36px}
.nav-btn:hover{box-shadow:2px 2px 0 var(--ink)}
.nav-btn kbd{font:600 10px var(--ui);border:1px solid var(--rule);padding:1px 5px;margin-left:6px;color:var(--mute)}
dialog.ct-search{border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:0;width:min(640px,calc(100vw - 24px));max-height:80vh;margin:10vh auto auto;font-family:var(--ui)}
dialog.ct-search::backdrop{background:rgba(0,0,0,.5)}
.ct-search form{display:flex;border-bottom:1px solid var(--ink)}
.ct-search input{flex:1;border:0;background:transparent;color:inherit;font:500 18px/1.2 var(--ui);padding:18px}
.ct-search input:focus{outline:none}
.ct-search .x{border:0;background:transparent;color:inherit;font:600 13px var(--ui);padding:0 18px;cursor:pointer}
.ct-search ul{list-style:none;margin:0;padding:0;overflow:auto;max-height:calc(80vh - 62px)}
.ct-search li a{display:block;padding:14px 18px;border-bottom:1px solid var(--hair);text-decoration:none}
.ct-search li a:hover,.ct-search li a:focus,.ct-search li a.sel{background:var(--tint)}
.ct-search li b{display:block;font:600 15px/1.3 var(--disp)}
.ct-search li span{font:400 12.5px/1.4 var(--ui);color:var(--mute)}
.ct-search .empty{padding:18px;color:var(--mute);font-size:14px}
.otp a.on{font-weight:700;text-decoration-thickness:3px}
/* practice simulator */
.sim{position:sticky;top:0;z-index:40;background:var(--paper);border:1px solid var(--ink);margin:0 0 26px;padding:14px 16px;font:400 14px/1.4 var(--ui);display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.sim .ttl{font:600 11px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase}
.sim .seg{display:inline-flex;border:1px solid var(--ink)}
.sim .seg button{border:0;background:var(--paper);color:var(--ink);font:600 13px var(--ui);padding:9px 14px;cursor:pointer;min-height:36px}
.sim .seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.sim .stat{font-variant-numeric:tabular-nums;margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
.sim .stat b{font-weight:600}
.sim .go{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:600 13px var(--ui);padding:10px 16px;cursor:pointer;min-height:36px}
.sim .go[disabled]{opacity:.45;cursor:not-allowed}
.sim .ghost{border:1px solid var(--ink);background:var(--paper);color:var(--ink);font:600 13px var(--ui);padding:10px 14px;cursor:pointer;min-height:36px}
.sim .bar{flex-basis:100%;height:4px;background:var(--hair)}.sim .bar i{display:block;height:100%;width:0;background:var(--ink);transition:width .2s}
.opts{display:grid;gap:8px;margin:0 0 14px}
.opt{display:grid;grid-template-columns:30px minmax(0,1fr);text-align:left;gap:6px;width:100%;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:400 15px/1.45 var(--ui);padding:12px 14px;cursor:pointer;min-height:44px}
.opt:hover:not([disabled]){border-color:var(--ink)}
.opt b{font-weight:600}
.opt[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--ink)}
.opt.ok{border-color:#1b7f3b;background:rgba(27,127,59,.12);box-shadow:inset 4px 0 0 #1b7f3b}
.opt.no{border-color:#c62828;background:rgba(198,40,40,.1);box-shadow:inset 4px 0 0 #c62828}
.opt[disabled]{cursor:default}
.opt .tick{font-weight:600}
.fb{font:600 13px var(--ui);margin:0 0 8px}.fb.ok{color:#1b7f3b}.fb.no{color:#c62828}
:root[data-theme=dark] .fb.ok,:root:not([data-theme=light]) .fb.ok{color:#5fd07f}
.simres{border:2px solid var(--ink);padding:22px;margin:30px 0;font:400 15px/1.55 var(--ui)}
.simres h3{margin:0 0 6px}
.simres .big{font:800 44px/1 var(--disp);margin:6px 0 10px}
.simres table{min-width:0;margin-top:10px}
details.reveal.ct-hidden{display:none}
@media (max-width:560px){.sim .stat{margin-left:0}.ct-top{bottom:12px}}
