.quiz-page-container{--ink:var(--color-ink);--parchment:var(--color-parchment);--border:var(--color-ink-border);--border-line:var(--color-ink-line);width:100%;min-height:600px;color:var(--color-ink);font-family:var(--font-serif);position:relative}.intro-hero-bg,.intro-hero-ring,.screen{display:none!important}.screen.active{display:flex!important}.share-toast{background:var(--color-ink);border:1px solid var(--color-ink);z-index:500;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-paper);opacity:0;pointer-events:none;border-radius:0;padding:.9rem 2rem;font-size:.75rem;transition:opacity .2s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.share-toast.show{opacity:1}@media (width>=1024px){#page-root{flex-direction:column;min-height:100vh;display:flex}main#main-content,.quiz-page-container{flex-direction:column;flex:1;display:flex}footer{margin-top:auto!important}}#screen-intro{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem 4rem;position:relative;overflow:hidden}.intro-content{z-index:2;width:100%;max-width:1000px;margin:0 auto;position:relative}.intro-eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--color-ink-muted);justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;font-size:.75rem;display:flex}.intro-eyebrow:before,.intro-eyebrow:after{content:"";background:var(--color-ink-line);width:2rem;height:1px}.intro-title{font-family:var(--font-serif);letter-spacing:.05em;color:var(--color-ink-deep);margin-bottom:2rem;font-size:clamp(2.5rem,6vw,4.2rem);font-weight:900;line-height:1.15}.intro-title em{color:var(--color-ink-muted);padding-inline:.5rem;font-style:italic;font-weight:400}.title-bracket{font-family:var(--font-serif);color:var(--color-ink-line);margin-inline:.25rem;font-weight:300}.intro-desc{color:var(--color-ink-soft);max-width:520px;margin:0 auto 3.5rem;font-size:1.05rem;line-height:1.8}.intro-grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:4rem;margin-bottom:4rem;display:grid}.intro-rules-panel,.intro-mode-panel{flex-direction:column;display:flex}.rules-title,.mode-selection-title{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink-muted);border-bottom:1px solid var(--color-ink-line);align-items:center;gap:.5rem;margin-bottom:2rem;padding-bottom:.75rem;font-size:.8rem;font-weight:700;display:flex}.rules-title:before,.mode-selection-title:before{content:"■";color:var(--color-ink);font-size:.6rem}.rules-list{flex-direction:column;gap:1.75rem;display:flex}.rule-item{align-items:flex-start;gap:1.25rem;display:flex}.rule-num-badge{font-family:var(--font-mono);color:var(--color-ink-deep);border:1px solid var(--color-ink-line);background:var(--color-paper-card);padding:.25rem .5rem;font-size:.8rem;font-weight:700;line-height:1}.rule-text-wrap{flex-direction:column;gap:.35rem;display:flex}.rule-item-title{font-family:var(--font-serif);color:var(--color-ink-deep);font-size:1rem;font-weight:700}.rule-item-desc{color:var(--color-ink-soft);font-size:.85rem;line-height:1.6}.mode-grid{grid-template-columns:1fr;gap:1rem;width:100%;margin-bottom:2rem;display:grid}.mode-card{background:var(--color-paper-card);border:1px solid var(--color-ink-line);cursor:pointer;color:var(--color-ink-deep);text-align:left;border-radius:0;outline:none;align-items:center;gap:1.25rem;width:100%;padding:1.25rem 1.5rem;transition:none;display:flex;position:relative}.mode-card:hover{background:var(--color-paper-warm);border-color:var(--color-ink-muted)}.mode-card.selected{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper);z-index:1}.mode-num{font-family:var(--font-serif);text-align:center;width:24px;font-size:1.5rem;font-weight:700;line-height:1}.mode-card-meta{flex-direction:column;flex:1;gap:.15rem;display:flex}.mode-label{font-family:var(--font-serif);font-size:.95rem;font-weight:700}.mode-desc{color:var(--color-ink-muted);font-size:.75rem;line-height:1.4}.mode-card.selected .mode-desc{color:var(--color-paper-warm)}.mode-badge{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--color-ink-line);background:0 0;border-radius:0;align-self:center;padding:.1rem .4rem;font-size:.55rem}.mode-card.selected .mode-badge{border-color:var(--color-paper-warm)}.start-btn-wrap{justify-content:flex-start;display:flex}.start-btn{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;background:var(--color-ink);border:1px solid var(--color-ink);color:var(--color-paper);cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.85rem;width:100%;padding:1rem 2.5rem;font-size:.9rem;transition:none;display:inline-flex;position:relative}.start-btn:hover{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-ink)}@media (width<=768px){.intro-grid{flex-direction:column;gap:3rem;display:flex}.intro-rules-panel{order:2}.intro-mode-panel{order:1}.start-btn-wrap{justify-content:center}}@media (width<=576px){#screen-intro{padding:4rem 1.5rem 2rem}.intro-title{margin-bottom:1rem}.intro-desc{margin-bottom:2rem}.rules-title,.mode-selection-title{margin-bottom:1.25rem}}@media (width>=1024px){#screen-intro{padding:3rem 2rem;min-height:100%!important}}#screen-quiz{flex-direction:column;align-items:center;min-height:100vh;padding:6rem 2rem 4rem}.card-progress{justify-content:space-between;align-items:baseline;padding:1rem 2.5rem;display:flex}.card-progress .q-counter{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink-muted);white-space:nowrap;font-size:.75rem}.card-progress .q-counter strong{color:var(--color-ink);font-size:.9rem;font-weight:900}.card-progress .progress-dots{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.card-progress .progress-dot{color:var(--color-ink-line);font-size:.65rem;line-height:1}.card-progress .progress-dot.filled{color:var(--color-ink)}.question-card{border:2px solid var(--color-ink);background:var(--color-paper);width:100%;max-width:780px}.card-scenario{border-top:1px solid var(--color-ink-line);padding:2rem 2.5rem 1.75rem}.q-prompt{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--color-ink-muted);align-items:center;gap:.6rem;margin-bottom:1.25rem;font-size:.7rem;display:flex}.q-prompt-dot{color:var(--color-ink);font-size:.8rem}.q-scenario{font-family:var(--font-serif);color:var(--color-ink-soft);border-left:3px solid var(--color-ink);margin-bottom:.5rem;padding-left:1.5rem;font-size:1.25rem;font-style:italic;line-height:1.8}.q-speaker{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:0;padding-left:1.5rem;font-size:.7rem}.q-question{color:var(--color-ink);margin-bottom:1.25rem;font-size:1.05rem;font-weight:700;line-height:1.7}.card-options{border-top:1px solid var(--color-ink-line);padding:1.5rem 2.5rem 2rem}.q-options{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.option-btn{background:var(--color-paper-card);border:1px solid var(--color-ink-line);text-align:left;width:100%;color:var(--color-ink);font-family:inherit;font-size:inherit;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.option-btn:disabled{opacity:1}.option-key{font-family:var(--font-mono);color:var(--color-ink-muted);border:1px solid var(--color-ink-line);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.option-text{font-family:var(--font-serif);color:var(--color-ink-soft);font-size:.85rem;line-height:1.5}.option-content{flex-direction:column;gap:.25rem;display:flex}.option-tip{font-family:var(--font-serif);color:var(--color-ink-muted);font-size:.75rem;font-style:italic;line-height:1.4}.option-btn.correct-ans{border:2px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.option-btn.correct-ans .option-key{color:var(--color-ink);background:var(--color-paper);border-color:var(--color-paper)}.option-btn.correct-ans .option-text{color:var(--color-paper);font-weight:700}.option-btn.correct-ans:after{content:"[ ✓ ]";font-family:var(--font-mono);color:var(--color-paper);white-space:nowrap;margin-left:auto;padding-left:.5rem;font-size:.65rem;font-weight:700}.option-btn.wrong-ans{border:1px dashed var(--color-ink-muted);color:var(--color-ink-muted);background:0 0}.option-btn.wrong-ans .option-key{color:var(--color-ink-faint);border-color:var(--color-ink-line)}.option-btn.wrong-ans .option-text{color:var(--color-ink-muted);text-decoration:line-through}.option-btn.wrong-ans:after{content:"[ ✗ ]";font-family:var(--font-mono);color:var(--color-ink-muted);white-space:nowrap;margin-left:auto;padding-left:.5rem;font-size:.65rem;font-weight:700}.q-options:has(.correct-ans) .option-btn:not(.correct-ans):not(.wrong-ans) .option-key{color:var(--color-ink-faint);border-color:var(--color-ink-line)}.q-options:has(.correct-ans) .option-btn:not(.correct-ans):not(.wrong-ans) .option-text{color:var(--color-ink-faint)}.card-explanation{border-top:1px solid var(--color-ink-line);background:var(--color-paper-card);padding:1.75rem 2.5rem;display:none}.card-explanation.open{border-bottom:1px solid var(--color-ink-line);margin-bottom:2rem;display:block}.exp-header{align-items:center;gap:.85rem;margin-bottom:1.25rem;display:flex}.exp-icon{border:1px solid var(--color-ink);width:26px;height:26px;color:var(--color-ink);background:var(--color-paper);flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.exp-result-text{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink);font-size:.75rem;font-weight:700}.exp-text{color:var(--color-ink-soft);margin-bottom:1.5rem;font-size:.95rem;line-height:1.85}.exp-learn-link{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink);border-bottom:1px solid var(--color-ink-muted);align-items:center;gap:.65rem;padding-bottom:.15rem;font-size:.7rem;text-decoration:none;display:inline-flex}.next-btn-wrap{justify-content:flex-end;padding:0 2.5rem 2.5rem;display:flex}.next-btn{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;background:var(--color-ink);border:1px solid var(--color-ink);color:var(--color-paper);align-items:center;gap:.65rem;padding:.9rem 2.25rem;font-size:.8rem;display:none}.next-btn.visible{display:inline-flex}.hint-strip{width:100%;max-width:780px;font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink-muted);align-items:center;gap:1.25rem;margin-top:1.5rem;font-size:.65rem;display:flex}.hint-key{border:1px solid var(--color-ink-line);background:var(--color-paper-card);padding:.2rem .6rem}@media (width<=576px){#screen-quiz{padding:5rem 1.25rem 2rem}.card-progress,.card-scenario,.card-options,.card-explanation,.next-btn-wrap{padding-left:1.25rem;padding-right:1.25rem}.hint-strip{display:none}.card-progress .progress-dots{gap:.2rem}.card-progress .progress-dot{font-size:.55rem}.q-scenario{font-size:1.1rem}.q-options{grid-template-columns:1fr}}@media (width>=1024px){#screen-quiz{min-height:100%;padding:3rem 2rem}}#screen-result{flex-direction:column;align-items:center;min-height:100vh;padding:6rem 2rem 4rem}.result-card{border:2px solid var(--color-ink);background:var(--color-paper);width:100%;max-width:820px;overflow:hidden}.result-hero{text-align:center;border-bottom:1px solid var(--color-ink-line);padding:4rem 3rem;position:relative;overflow:hidden}.mind-stamp-container{justify-content:center;margin-bottom:2.5rem;display:flex}.mind-stamp{border:2px solid var(--color-ink);background:0 0;padding:3px;display:inline-block;transform:rotate(-3deg)}.mind-stamp-border-outer{border:1px solid var(--color-ink);padding:2px}.mind-stamp-border-inner{border:2px solid var(--color-ink);flex-direction:column;align-items:center;min-width:190px;padding:1.25rem 2.5rem;display:flex}.mind-stamp-header{font-family:var(--font-serif);letter-spacing:.4em;text-indent:.4em;color:var(--color-ink);border-bottom:1px solid var(--color-ink-line);text-align:center;width:100%;padding-bottom:.4rem;font-size:.75rem;font-weight:700}.mind-stamp-grade{font-family:var(--font-serif);color:var(--color-ink);margin-block:.5rem .25rem;font-size:5rem;font-weight:900;line-height:1}.mind-stamp-footer{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-ink);border-top:1px dashed var(--color-ink-line);text-align:center;width:100%;padding-top:.4rem;font-size:.75rem;font-weight:700}.result-grade{font-family:var(--font-serif);color:var(--color-ink-deep);margin-bottom:.75rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700}.result-subtitle{color:var(--color-ink-muted);max-width:480px;margin:0 auto;font-size:1rem;line-height:1.75}.review-section{padding:2.5rem}.review-header{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--color-ink-deep);align-items:center;gap:1rem;margin-bottom:2rem;font-size:.7rem;display:flex}.review-header:after{content:"";background:var(--color-ink-line);flex:1;height:1px}.review-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem;width:100%;display:grid}.review-grid-item{cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:.5rem;transition:none;display:flex;position:relative;background:var(--color-paper-card)!important;border:1px solid var(--color-ink-line)!important;color:var(--color-ink-deep)!important;border-radius:0!important;padding:1.5rem .75rem!important}.review-grid-item:hover{border-color:var(--color-ink)!important;background:var(--color-ink)!important;color:var(--color-paper)!important}.grid-qnum{font-family:var(--font-mono);color:var(--color-ink-muted);font-size:.7rem}.review-grid-item:hover .grid-qnum{color:var(--color-paper-warm)}.grid-concept{font-family:var(--font-serif);color:var(--color-ink-deep);font-size:.9rem;font-weight:700;line-height:1.4}.review-grid-item:hover .grid-concept{color:var(--color-paper)}.grid-status-icon{font-family:var(--font-mono);margin-top:.25rem;font-size:.75rem;font-weight:700}.review-grid-item.correct .grid-status-icon:before{content:"[ ✓ ]";color:var(--color-ink-muted)}.review-grid-item.correct:hover .grid-status-icon:before{color:var(--color-paper)}.review-grid-item.wrong .grid-status-icon:before{content:"[ ✗ ]";color:var(--color-ink-muted)}.review-grid-item.wrong:hover .grid-status-icon:before{color:var(--color-paper)}.result-actions{border-top:1px solid var(--color-ink-line);justify-content:center;gap:1.5rem;padding:2.5rem;display:flex}.action-btn{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:.65rem;padding:1rem 2.25rem;font-size:.8rem;text-decoration:none;transition:none;display:inline-flex;position:relative}.action-btn.primary{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.action-btn.primary:hover{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-ink)}.action-btn.secondary{border:1px solid var(--color-ink-line);color:var(--color-ink-muted)}.action-btn.secondary:hover{border-color:var(--color-ink-deep);color:var(--color-ink-deep);background:var(--color-paper-card)}@media (width>=1024px){#screen-result{padding:3rem 2rem;min-height:100%!important}}@media (width<=576px){#screen-result{padding:3rem 1rem 2rem}.result-hero{padding:2.5rem 1.25rem}.result-actions{gap:.75rem;padding:1.5rem 1.25rem}.action-btn{flex:1;justify-content:center;padding:.75rem 1rem;font-size:.7rem}.review-section{padding:1.5rem 1.25rem}}.review-modal{z-index:1000;opacity:0;pointer-events:none;background:#00000073 radial-gradient(#00000026 1px,#0000 0) 0 0/4px 4px;justify-content:center;align-items:center;padding:1.5rem;display:none;position:fixed;inset:0}.review-modal.active{opacity:1;pointer-events:all;display:flex}.review-modal-content{background:var(--color-paper);border:2px solid var(--color-ink);box-shadow:6px 6px 0px 0px var(--color-ink);border-radius:0;width:100%;max-width:576px;padding:1.5rem;position:relative;transform:scale(1)}.review-modal-close{color:var(--color-ink-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;font-size:.75rem;position:absolute;top:1.25rem;right:1.5rem}.review-modal-close:hover{color:var(--color-ink-deep);text-decoration:underline}.review-modal-header{align-items:center;gap:.85rem;margin-bottom:.75rem;display:flex}.review-modal-qnum{font-family:var(--font-mono);color:var(--color-ink-deep);font-size:.85rem;font-weight:700}.review-modal-status{font-family:var(--font-mono);letter-spacing:.15em;border:1px solid var(--color-ink-line);border-radius:0;padding:.15rem .65rem;font-size:.65rem}.tag-correct{color:var(--color-ink);border-color:var(--color-ink);font-weight:700}.tag-wrong{color:var(--color-ink-muted);border-color:var(--color-ink-line);border-style:dashed}.review-modal-title{font-family:var(--font-serif);color:var(--color-ink-deep);margin-bottom:1.5rem;font-size:1.45rem;font-weight:700}.review-modal-scenario{border-left:3px solid var(--color-ink-deep);color:var(--color-ink-soft);background:var(--color-paper-card);padding-left:1.5rem;margin-bottom:1.5rem;padding-block:.75rem;font-size:1rem;font-style:italic;line-height:1.8}.review-modal-options{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.review-det-opt{border:1px solid var(--color-ink-line);background:var(--color-paper-card);color:var(--color-ink-soft);font-family:var(--font-serif);border-radius:0;padding:.75rem 1rem;font-size:.85rem;line-height:1.5}.review-det-opt.correct-one{border:2px solid var(--color-ink);color:var(--color-paper);background:var(--color-ink);font-weight:700}.review-det-opt.user-chosen{border:1.5px dashed var(--color-ink);color:var(--color-ink);background:var(--color-paper-warm);text-decoration:line-through}.review-modal-exp{color:var(--color-ink-soft);border-top:1px solid var(--color-ink-line);margin-bottom:1.75rem;padding-top:1.5rem;font-size:.95rem;line-height:1.85}.review-modal-link{font-family:var(--font-mono);color:var(--color-ink-deep);border-bottom:1px solid var(--color-ink-muted);align-items:center;gap:.5rem;padding-bottom:.15rem;font-size:.7rem;text-decoration:none;display:inline-flex}.review-modal-link:hover{border-color:var(--color-ink-deep)}@media (width<=576px){.review-modal-options{grid-template-columns:1fr}.review-modal-content{padding:1.25rem}}
