html,body{min-height:100vh}body{overflow-x:hidden;display:flex;flex-direction:column}body>header{flex:0 0 auto}body>main{flex:1 0 auto}body>.site-footer,body>footer{flex:0 0 auto;margin-top:0}.aq-page{max-width:920px;margin:0 auto;padding:.6rem .9rem 1.2rem}.aq-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:.6rem}.aq-title{font-size:1.15rem;font-weight:800;margin:0;letter-spacing:.02em}.aq-title-sub{font-size:.78rem;color:#646464b3;margin-left:.5rem;font-weight:500}.aq-stats{display:flex;gap:.4rem;font-size:.82rem;flex-wrap:wrap}.aq-stats span{padding:.18em .65em;background:#0000000d;font-weight:600;border-radius:4px}.aq-stats .aq-correct{background:#4a9e5c26;color:#2c6f3c}.aq-stats .aq-wrong{background:#c0392b21;color:#9a2d24}.aq-stats .aq-streak{background:linear-gradient(135deg,#f9731638,#ea580c26);color:#c2410c}.aq-stats .aq-streak[hidden]{display:none}.aq-question{position:relative;text-align:center;padding:.9rem 1.1rem 1rem;background:linear-gradient(135deg,#446e721a,#446e720a);border:1px solid var(--border-soft, #e0e0e0);border-radius:8px;margin-bottom:.7rem;transition:border-color .2s,background .2s}.aq-prompt{font-size:.82rem;color:#5a5a5ae6;margin:0 0 .35rem}.aq-code{font-size:2.6rem;font-weight:800;letter-spacing:.12em;line-height:1.05;margin:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;color:var(--primary-color, #2b5f63)}.aq-code-note{font-size:.74rem;color:#787878d9;margin:.35rem 0 0}.aq-result{margin-top:.55rem;min-height:1.5rem;font-size:.95rem;font-weight:700;line-height:1.5;visibility:hidden}.aq-result.shown{visibility:visible}.aq-result small{display:block;font-weight:500;font-size:.82rem;color:#505050e6;margin-top:.15rem}.aq-question[data-r=correct]{border-color:#4a9e5c80;background:linear-gradient(135deg,#4a9e5c29,#4a9e5c0d)}.aq-question[data-r=wrong]{border-color:#c0392b73;background:linear-gradient(135deg,#c0392b24,#c0392b0a)}.aq-question[data-r=correct] .aq-result{color:#2c6f3c}.aq-question[data-r=wrong] .aq-result{color:#9a2d24}.aq-mapbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-bottom:.4rem}.aq-crumbs{font-size:.9rem;font-weight:700;color:#234;display:flex;align-items:center;gap:.3em;flex-wrap:wrap}.aq-crumbs .sep{color:#78787899}.aq-crumbs .cur{color:var(--primary-color, #2b5f63)}.aq-mapbar-right{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.aq-zoom{display:inline-flex;gap:.25rem}.aq-zoom button{width:2rem;height:2rem;border:1px solid var(--border-soft, #d8d4ca);background:#fff;color:#234;font-size:1.05rem;font-weight:800;line-height:1;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.aq-zoom button:hover{background:#f3f6f6}.aq-zoom button:disabled{opacity:.4;cursor:not-allowed}.aq-back{border:1px solid var(--border-soft, #d8d4ca);background:#fff;color:#335;font-size:.82rem;font-weight:700;padding:.3em .85em;border-radius:6px;cursor:pointer}.aq-back:hover{background:#f3f6f6}.aq-back[hidden]{display:none}.aq-map{position:relative;border:1px solid var(--border-soft, #e0e0e0);border-radius:8px;background:#f6fafe;overflow:auto;height:80vh;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;cursor:grab}.aq-map.grabbing{cursor:grabbing}.aq-map-inner{width:100%;height:100%;min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.aq-map-inner svg{display:block;width:100%;height:100%}.aq-map svg path{transition:fill .12s,stroke .12s}.aq-map[data-phase] svg .pref-muni-svg__paths path{cursor:pointer}.aq-map svg path:hover{fill:#cfe4fb}.aq-map.locked svg .pref-muni-svg__paths path{cursor:default}.aq-map.locked svg path:hover{fill:#eaf2fb}.aq-map svg path.aq-pick-wrong{fill:#e9897e!important;stroke:#c0392b;stroke-width:1}.aq-map svg path.aq-answer{fill:#4a9e5c!important;stroke:#1f5b30;stroke-width:1}.aq-hint-pref{font-size:.82rem;color:#6b21a8;font-weight:700}.aq-hint-pref[hidden]{display:none}.aq-actions{display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:.8rem;flex-wrap:wrap}.aq-btn{padding:.5rem 1.2rem;border:none;font-weight:700;font-size:.92rem;cursor:pointer;border-radius:6px;transition:filter .12s}.aq-btn-primary{background:var(--primary-color, #446e72);color:#fff}.aq-btn-primary:hover{filter:brightness(1.1)}.aq-btn-secondary{background:#0000000f;color:#334}.aq-btn-secondary:hover{background:#0000001a}.aq-btn:disabled{opacity:.5;cursor:not-allowed}.aq-btn-memorize{background:#fff4dc;color:#92670f;border:1px solid #e3c987}.aq-btn-memorize:hover{background:#ffeec2}.aq-btn-memorize.is-active{background:linear-gradient(135deg,#f6b73c,#e0982a);color:#3d2a06;border-color:#c98f1f}.aq-memo-note{font-size:.84rem;color:#7a5a10;background:#f6b73c1f;border-radius:6px;padding:.5rem .7rem;margin:.2rem 0 0;line-height:1.55}.aq-memo-note[hidden],.aq-question.is-memorize .aq-code,.aq-question.is-memorize .aq-code-note,.aq-question.is-memorize .aq-result,.aq-actions.is-memorize #aq-hint,.aq-actions.is-memorize #aq-skip,.aq-actions.is-memorize #aq-next{display:none}.aq-map svg path.aq-has-code{fill:#fde8c4}.aq-map svg path.aq-has-code:hover{fill:#f9d79a}.aq-tip{position:fixed;z-index:100001;pointer-events:none;display:none;background:#1f2a37;color:#fff;font-size:.86rem;font-weight:700;padding:.32em .62em;border-radius:6px;box-shadow:0 4px 14px #00000040;white-space:nowrap;max-width:80vw;overflow:hidden;text-overflow:ellipsis}.aq-tip.shown{display:block}.aq-shortcuts{text-align:center;font-size:.74rem;color:#787878cc;margin:.6rem 0 0}.aq-help{margin:1rem 0 0;font-size:.82rem;color:#5a5a5af2;line-height:1.6}.aq-toast{position:fixed;bottom:28px;top:auto;left:50%;transform:translate(-50%) translateY(220%);color:#fff;padding:.7rem 1.3rem;border-radius:999px;font-weight:800;font-size:1rem;box-shadow:0 8px 28px #00000047;z-index:100000;display:flex;align-items:center;gap:.5em;pointer-events:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1);max-width:92vw;text-align:center;background:linear-gradient(135deg,#4a9e5c,#2c6f3c)}.aq-toast.wrong{background:linear-gradient(135deg,#d35a4d,#9a2d24)}.aq-toast.shown{transform:translate(-50%) translateY(0)}@media(max-width:520px){.aq-code{font-size:2.1rem}.aq-page{padding:.5rem .6rem 1.2rem}}
