.wrap{max-width:592px;margin:auto;padding:16px}body{overflow-wrap:anywhere}.words-ui{background:var(--bg);color:var(--ink);font-family:var(--f);line-height:1.8}button,input,select,summary{min-height:48px;max-width:100%}button{white-space:normal}fieldset{min-width:0}button,input,select,.words-ui .text-action{font-size:1rem!important}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--pri);outline-offset:3px}h1:focus{outline:none}.words-ui h1{font-size:1.6rem}.small,small,.row-note,.eyebrow,.site-foot{font-size:.875rem!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.view{display:grid;gap:12px}.view-head{display:grid;gap:4px;margin:4px 0 8px}.view-head h1,.view-head p,.help{margin:0}.view-head h1{line-height:1.4}.eyebrow,.sub,.lead,.help,.row-side,.cn,.row-note,.site-foot{color:var(--sub)}.words-ui .list-title{font-size:1.05rem;margin:16px 0 0}.row-list,.resume,.resume-list{display:grid;gap:12px}.resume,.resume-list{gap:8px}.resume-list:empty,.resume:empty{display:none}.words-ui .row,.words-ui .resume-card{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;border:0;border-radius:14px;background:var(--card);color:var(--ink);box-shadow:0 0 0 1px var(--line);text-align:left;font:inherit;cursor:pointer}.row-main{flex:1;min-width:0;font-weight:700}.row-side{font-size:1rem}.chev{font-size:1.6rem;color:var(--pri)}.words-ui .resume-card{display:grid;gap:0;min-height:72px;background:var(--pri-soft);box-shadow:inset 4px 0 var(--pri)}.resume-card b{color:var(--pri)}.resume-card span{font-size:.9rem;color:var(--sub)}.words-ui .btn.pri{width:100%;min-height:56px}.words-ui .primary-start{min-height:60px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.words-ui .back{padding-inline:4px;color:var(--sub)}.pick{border-top:1px solid var(--line)}.pick>summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-height:56px;padding:8px 4px;list-style:none}.pick>summary::-webkit-details-marker{display:none}.pk{font-weight:700}.pv{flex:1;min-width:0}.pc{color:var(--pri)}.pc::after{content:' ▾'}.pick[open] .pc{visibility:hidden}.axis,.group,.order{border:0;margin:0 0 12px;padding:0;display:grid;gap:8px}.group legend{font-size:.9rem;color:var(--sub);font-weight:700;padding:12px 4px 0}.checks,.settings-body{display:grid;gap:8px}.words-ui .check{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border-radius:12px;background:var(--card);box-shadow:0 0 0 1px var(--line);cursor:pointer}.check input{flex:none;width:24px;height:24px;min-height:24px;margin:0;accent-color:var(--pri)}.check:has(:checked){box-shadow:0 0 0 2px var(--pri);background:var(--pri-soft)}.cl{flex:1;min-width:0}.row-note{margin:0 12px 0 48px}.check.off{opacity:.6}.sub-group>summary{min-height:48px;padding:8px 4px;color:var(--pri)}.err{padding:8px;background:var(--soft)}.all-cycle{width:100%;min-height:56px!important}.pick-footer{position:sticky;bottom:0;z-index:1;margin:8px -16px 0;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line)}.pick-footer p{margin:0}.site-foot{max-width:560px;margin:32px auto 0;padding:0 16px 24px}.theme,.theme-options{display:flex;flex-wrap:wrap;gap:8px;overflow:visible!important}.theme-options{border:0}.theme-options button{border-radius:8px!important}.words-ui .confirm{border:0;border-radius:20px;padding:24px;max-width:min(92vw,420px);background:var(--card);color:var(--ink)}.confirm::backdrop{background:rgb(10 30 20 / .45)}.confirm-actions{display:grid;gap:16px;margin-top:16px}#question,#results{background:var(--card);border-radius:20px;padding:20px}.stem,.source-text,.exam-option{white-space:pre-wrap;overflow-wrap:anywhere}.stem{font-size:1.125rem}.words-ui button.exam-option{box-shadow:none;font-weight:400}.exam-option.sel{background:var(--pri-soft)}.exam-option strong{grid-column:2;font-size:.875rem}#question>details:not(.sol){padding:12px;background:var(--soft);border-radius:10px}.question-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.question-heading h1{flex:1;min-width:0}#feedback{scroll-margin-top:12px;flex-wrap:wrap}#feedback.neutral{background:var(--soft);color:var(--ink)}.exam-nav{display:grid;gap:16px;margin:24px 0}.result-secondary{display:flex;flex-wrap:wrap;gap:8px}.result-primary{display:grid;gap:16px}.words-ui .result-review button{text-align:left}rt{font-size:max(.5em,10px);color:inherit}ruby{ruby-align:center;white-space:normal}.rw{display:inline;white-space:nowrap;text-indent:0}.rw ruby{white-space:nowrap}.rw.wide,.rw.wide ruby{white-space:normal}html:not([data-furigana=s2]) ruby[data-ruby-src=a] rt{display:none}.yomi{font-size:.875em}.has-ruby{line-height:2}.stem.has-ruby{padding-top:.5em}.opts{container-type:inline-size}@container(max-width:199px){.words-ui button.exam-option{grid-template-columns:1fr auto;padding:18px 10px}.exam-option>.option-text{grid-column:1/-1;grid-row:2}.exam-option .mk{grid-column:2;grid-row:1}.exam-option strong{grid-column:1/-1}}@media(max-width:240px){.count-stepper{grid-template-columns:1fr 1fr}.count-value{grid-area:1/1/2/3}.wrap{padding:8px}#question,#results{padding:8px}.words-ui .row,.words-ui .check{padding:8px;gap:8px}.pick-footer{margin-inline:-8px;padding-inline:8px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


#qualifications{display:grid;gap:12px}.theme>span,#results .result-summary dt{font-size:.875rem}.count-value{white-space:nowrap}.words-ui [data-furigana-toggle]{display:inline-block}

#view-c[data-loading=true]{min-height:100vh}#view-c[data-loading=true]>.pick,#view-c[data-loading=true]>.pick-footer{visibility:hidden}
html[data-boot] #view-a>:not(header),html[data-boot]:not([data-route]) .site-foot{visibility:hidden}

/* Reserve ruby line space in UI labels in both S1 and S2. */
.words-ui .rw{line-height:2}

.question-heading{display:grid;grid-template-columns:1fr;gap:0}.question-heading h1{font-size:1.25rem;margin-block:0;line-height:2.4}.question-heading [data-furigana-toggle]{justify-self:end}
.option-text{min-width:0}

/* Compact entrance spacing; retain ruby leading, type size and touch targets. */
#view-a{gap:8px}#view-a .view-head{gap:0;margin:0}#view-a .list-title{margin-top:4px}#view-a .resume-card{padding-block:6px;min-height:72px}#view-a .view-head h1 .rw{line-height:1.6}

/* Track text-only zoom without layout space or height-triggered measurement. */
.ruby-em-probe{position:absolute;width:1rem;height:0;visibility:hidden;pointer-events:none}
#view-a .resume-card{padding-block:4px;line-height:1.5;min-height:72px}#view-a .resume-card .rw{line-height:1.75}

/* Keep the integrated #191 data/theme; repair only A-16 targets and A-3 entrance spacing. */
.wrap>.eyebrow{margin:0;transform:translateY(-16px);margin-bottom:-16px}.words-ui a.fel-hub-return,.words-ui a.fel-bottom-link{min-height:48px}
#view-a .list-title{margin-top:2px}

/* Issue196: only FEL-added readings switch; original ruby/yomi remains native. */
html:not([data-furigana=s2]) ruby[data-ruby-src=a]{display:contents}
html:not([data-furigana=s2]) .rw:has(>ruby[data-ruby-src=a]){white-space:normal;line-height:inherit}
html:not([data-furigana=s2]) .words-ui .rw:has(>ruby[data-ruby-src=a]){line-height:inherit}
.furigana-choice{min-width:0;margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.furigana-choice legend{font-weight:700;padding-inline:4px}
.furigana-options{display:flex;gap:8px;flex-wrap:wrap}
.furigana-options label{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;cursor:pointer}
.furigana-options label:has(input:checked){border-color:var(--ink);font-weight:700}
.furigana-options input{accent-color:var(--ink);width:20px;height:20px;min-height:20px}
.furigana-options label:focus-within{outline:3px solid var(--ink);outline-offset:3px}
.furigana-note{font-size:1rem;line-height:1.65;margin:8px 0 0}
.furigana-choice [data-furigana-status]{margin:4px 0 0}
#view-c>.furigana-choice{margin-block:8px}
#c-summary{font-weight:700;overflow-wrap:anywhere}
.exam-display-settings{min-width:0;padding:8px}
.question-heading .exam-settings-button{min-height:48px;justify-self:end}

.furigana-choice .small{font-size:1rem!important}

html:not([data-furigana=s2]) .has-ruby:not(:has(ruby[data-ruby-src=o])){line-height:1.8}
html:not([data-furigana=s2]) .stem.has-ruby:not(:has(ruby[data-ruby-src=o])){padding-top:0}
