:root{--plum:#4A2563;--plumd:#33183F;--jade:#1F9D74;--jadet:#157A59;--sky:#3A86C8;--coral:#E86A4F;--saf:#D9A21B;
--cream:#FBF8F3;--paper:#FFFFFF;--ink:#241B2B;--mut:#5A4F63;--line:#E3DAEA;--plumt:#F1EAF6;--jadeg:#E3F4EE;--coralt:#FCEAE5;--saft:#FBF1D6;--skyt:#E4EFF9}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.6 Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;overflow-x:hidden}
h1,h2,h3,h4,button,.brand,.timer,.foot,.chip,.lab,.tag,select,input{font-family:Optima,"Avenir Next",Candara,"Segoe UI","Helvetica Neue",Arial,sans-serif}
h1,h2,h3,h4{color:var(--plum);line-height:1.25;margin:.9em 0 .4em}
h1{font-size:1.6rem;margin-top:.5em}h2{font-size:1.25rem}h3{font-size:1.08rem}
h2.rule::after{content:"";display:block;width:56px;height:3px;background:var(--jade);margin:.35em 0 0}
.wrap{max-width:880px;margin:0 auto;padding:0 16px}
.top{background:var(--plum);color:#fff;border-bottom:4px solid var(--saf);position:sticky;top:0;z-index:5}
.top .wrap{display:flex;justify-content:space-between;align-items:center;min-height:50px;gap:8px}
.brand{color:#fff;text-decoration:none;font-weight:700;letter-spacing:.02em;font-size:1rem}
.timer{background:var(--paper);color:var(--plum);border-radius:16px;padding:3px 14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.timer.low{color:#B3321A;outline:3px solid var(--coral)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
main{padding-top:8px;padding-bottom:28px;outline:0}
a{color:var(--sky)}
button{font-size:1rem;cursor:pointer;border:2px solid var(--plum);background:var(--paper);color:var(--plum);border-radius:10px;padding:10px 16px;min-height:46px;font-weight:700}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
button.pri{background:var(--plum);color:#fff}
button.jade{background:var(--jade);border-color:var(--jade);color:#fff}
button:disabled{opacity:.45;cursor:default}
button.link{border:0;background:none;color:var(--sky);text-decoration:underline;padding:4px;min-height:0;font-weight:400}
.note{background:var(--saft);border-left:5px solid var(--saf);padding:10px 14px;border-radius:6px;font-size:.95rem}
.card{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--jade);border-radius:10px;padding:14px 16px;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.grid .card{margin:0}
.card h3{margin-top:0}
.chip{display:inline-block;background:var(--plumt);color:var(--plum);border-radius:12px;padding:1px 10px;font-size:.8rem;font-weight:700;margin-right:6px}
.chip.bonus{background:var(--saft);color:#7A5A06}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.mut{color:var(--mut);font-size:.9rem}
label.opt2{display:flex;gap:8px;align-items:center;margin:6px 0;font-family:Optima,Candara,Arial,sans-serif}
input[type=number]{width:5.5em;font-size:1rem;padding:8px;border:2px solid var(--line);border-radius:8px}
.q{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:10px 0}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.num{display:inline-block;min-width:2.2em;text-align:center;border:2px solid var(--jade);color:var(--jadet);border-radius:20px;font-weight:700;font-family:Optima,Candara,Arial,sans-serif;padding:0 8px}
.stem p{margin:.5em 0}
.fig{text-align:center;margin:10px 0}.fig img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
.opts{display:grid;gap:8px;margin:12px 0}
.o{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;border:2px solid var(--line);background:#fff;color:var(--ink);font-weight:400;font-family:Georgia,serif;border-radius:10px;padding:10px 12px}
.o b{color:var(--plum);font-family:Optima,Candara,Arial,sans-serif;min-width:1.4em}
.o.sel{border-color:var(--plum);background:var(--plumt)}
.o.ok{border-color:var(--jade);background:var(--jadeg)}
.o.no{border-color:var(--coral);background:var(--coralt)}
.nav{display:flex;justify-content:space-between;gap:8px;margin:12px 0}
.navgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;margin:10px 0}
.navgrid button{padding:6px 0;min-height:40px;font-size:.9rem;border-width:2px;border-color:var(--line);position:relative}
.navgrid .ans{background:var(--plumt);border-color:var(--plum)}
.navgrid .cur{outline:3px solid var(--sky)}
.navgrid .flag::after{content:"";position:absolute;top:2px;right:2px;border:5px solid transparent;border-top-color:var(--coral);border-right-color:var(--coral)}
.navgrid .ok{background:var(--jadeg);border-color:var(--jade)}.navgrid .no{background:var(--coralt);border-color:var(--coral)}
progress{width:100%;height:12px;accent-color:var(--jade)}
.bignum{font-family:Optima,Candara,Arial,sans-serif;font-size:2.6rem;font-weight:700;color:var(--plum);line-height:1.1}
table{border-collapse:collapse;width:100%;font-family:Optima,Candara,Arial,sans-serif;font-size:.95rem}
th{background:var(--plum);color:#fff;text-align:left;padding:6px 8px}td{padding:6px 8px;border-bottom:1px solid var(--line)}
tr:nth-child(even) td{background:var(--cream)}
.expl{background:var(--skyt);border-left:5px solid var(--sky);padding:8px 12px;border-radius:6px;margin-top:10px}
.watch{background:var(--coralt);border-left:5px solid var(--coral);padding:8px 12px;border-radius:6px;margin-top:8px}
.lab{font-weight:700;color:var(--plum)}
.fr{display:inline-block;vertical-align:middle;text-align:center;line-height:1.1;margin:0 2px;font-size:.9em}
.fr span{display:block;padding:0 3px}.fr span:first-child{border-bottom:1.5px solid currentColor}
.foot{color:var(--mut);font-size:.82rem;border-top:1px solid var(--line);padding-top:10px;padding-bottom:30px}
.flagbtn.on{background:var(--coral);border-color:var(--coral);color:#fff}
@media(min-width:700px){.o{padding:12px 16px}}
@media print{.top,.foot,.nav,button{display:none}}
