main:has(.qz-page)>.crumb{display:none}
.qz-h1{font-size:.8rem;font-weight:700;color:var(--muted);margin:.45rem 0 .1rem;line-height:1.4}
.qz{--qz-ok:#1b7a43;--qz-ng:#b3261e;display:flex;flex-direction:column;min-height:calc(100vh - var(--qz-top,110px) - 4px);min-height:calc(100svh - var(--qz-top,110px) - 4px);max-width:34rem;margin:auto}
@media (prefers-color-scheme:dark){.qz{--qz-ok:#6fd49b;--qz-ng:#ff9a8f}}
.qz button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;font:inherit;color:var(--fg);cursor:pointer}
.qz-tabs{display:flex;gap:.4rem;overflow-x:auto;margin:0 -16px;padding:.2rem 16px .45rem;scrollbar-width:none;flex:none}
.qz-tabs::-webkit-scrollbar{display:none}
.qz .qz-tab{flex:none;min-height:40px;padding:0 .8rem;border:1px solid var(--line);border-radius:20px;background:var(--bg);font-size:.84rem;white-space:nowrap}
.qz .qz-tab.on{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:700}
.qz-rev b{margin-left:.35rem;font-weight:700;color:var(--main)}
.qz-tab.on.qz-rev b{color:inherit}
.qz-bar{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--muted);flex:none}
.qz .qz-goal{border:0;background:none;padding:.35rem 0;min-height:36px;color:var(--muted);font-size:.8rem;text-decoration:underline dotted;text-underline-offset:3px;white-space:nowrap}
.qz-bar b{color:var(--fg)}
.qz-track{flex:1;height:6px;border-radius:3px;background:var(--soft);overflow:hidden;min-width:2rem}
.qz-track i{display:block;height:100%;background:var(--main)}
.qz-streak{white-space:nowrap}
.qz-main{flex:1 0 auto;padding:.5rem 0 1rem}
.qz-cat{margin:0;font-size:.76rem;font-weight:700;color:var(--main)}
.qz-q{margin:.25rem 0 0;font-size:1.2rem;line-height:1.65;font-weight:600;overflow-wrap:anywhere;text-wrap:pretty}
.qz-q-s{font-size:.92rem;font-weight:500;color:var(--muted);line-height:1.6}
.qz-dock{position:sticky;bottom:0;background:var(--bg);padding:.5rem 0 max(.75rem,env(safe-area-inset-bottom));flex:none;z-index:2}
.qz-opts-a{display:grid;gap:.5rem}
.qz-opts-a.tf,.qz-opts-a.grid{grid-template-columns:1fr 1fr}
.qz .qz-a{width:100%;min-height:58px;padding:.5rem .8rem;border:2px solid var(--ink);border-radius:10px;background:var(--bg);font-size:1.02rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.qz-opts-a.list .qz-a{text-align:left}
.qz-opts-a.tf .qz-a{min-height:104px;font-size:2.6rem;font-weight:400;line-height:1}
.qz .qz-a:active{background:var(--soft)}
.qz .qz-next{display:block;width:100%;min-height:64px;border:0;border-radius:10px;background:var(--cta);color:var(--cta-fg);font-size:1.08rem;font-weight:700}
.qz-fb{margin-top:.7rem;padding:.7rem .85rem;border-left:4px solid;background:var(--soft);border-radius:0 8px 8px 0}
.qz-fb.ok{border-color:var(--qz-ok)}.qz-fb.ng{border-color:var(--qz-ng)}
.qz-res{margin:0;font-size:1.3rem;font-weight:800;line-height:1.4}
.qz-res span{margin-right:.35rem}
.qz-fb.ok .qz-res{color:var(--qz-ok)}.qz-fb.ng .qz-res{color:var(--qz-ng)}
.qz-ans{margin:.25rem 0 0;font-size:.95rem;line-height:1.6}
.qz-mine{display:block;font-size:.84rem;color:var(--muted)}
.qz-exp{margin:.45rem 0 0;font-size:.98rem;line-height:1.75}
.qz-src{margin:.45rem 0 0;font-size:.76rem;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}
.qz-src a{color:inherit}
.qz-done{margin:.6rem 0 0;font-weight:700;font-size:.9rem;line-height:1.6}
.qz-empty{flex:1 0 auto;padding-top:1.5rem}.qz-empty p{margin:.2rem 0}
.qz-noscript{padding:1rem 0}
.qz-rec{max-width:34rem;margin:.6rem auto 0;border-top:1px solid var(--line);padding:.4rem 0;font-size:.88rem}
.qz-rec summary{-webkit-tap-highlight-color:transparent;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.4rem;list-style-position:inside}
.qz-rec summary::before{content:"▸";color:var(--muted)}.qz-rec[open] summary::before{content:"▾"}.qz-rec summary::-webkit-details-marker{display:none}
.qz-about{margin-top:1.2rem}
.qz-about h2{font-size:1.12rem;border-top:2px solid var(--ink);padding-top:.6rem;margin:1.6rem 0 .6rem}
.qz-about h3{font-size:.95rem;margin:1.2rem 0 .3rem;color:var(--main)}
.qz-about a{color:var(--main)}
.qz-sample{border-bottom:1px solid var(--line);padding:.6rem 0}
.qz-sq{margin:0;font-weight:600;line-height:1.7}
.qz-opts{margin:.3rem 0;padding-left:1.4rem;font-size:.92rem}
.qz-sample details{font-size:.92rem}.qz-sample summary{cursor:pointer;color:var(--main);min-height:36px}.qz-sample details p{margin:.2rem 0}
