[hidden]{display:none!important}main{padding-bottom:0}.ishihara-wrap{width:100%;max-width:44rem;margin:0 auto;padding:var(--space-9) var(--gutter-desktop) var(--space-10);display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}#plate-zone,.progress-bar,.test-header,.disclaimer{width:100%}.test-header{text-align:center}.test-tag{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.06em;text-transform:uppercase;padding:3px 12px;border-radius:var(--radius-pill);background:var(--blue-50);color:var(--blue-700);margin-bottom:var(--space-4)}.test-title{font-family:var(--font-serif);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;letter-spacing:-.03em;color:var(--ink-900);margin:0 0 var(--space-3)}.test-lead{font-size:var(--fs-body);color:var(--ink-700);max-width:48ch;margin:0 auto}.progress-bar{display:flex;align-items:center;gap:var(--space-3)}.progress-track{flex:1;height:5px;background:var(--ink-150);border-radius:var(--radius-pill);overflow:hidden}.progress-fill{height:100%;background:var(--blue-500);border-radius:var(--radius-pill);transition:width .35s ease}.progress-label{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--ink-500);white-space:nowrap}.plate-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 1px 4px #0000000f,0 4px 16px #0000000f;padding:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.plate-img-wrap{width:100%;max-width:360px}.plate-img{width:100%;height:auto;border-radius:var(--radius-lg);display:block;box-shadow:0 2px 12px #0000001a}.solution-img{max-width:240px;margin:0 auto}.answer-zone{width:100%;max-width:340px;display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.answer-label{font-size:var(--fs-body);font-weight:600;color:var(--ink-800);text-align:center}.answer-row{width:100%;display:flex;gap:var(--space-2)}.answer-input{flex:1;min-width:0;height:var(--touch-min);padding:0 var(--space-3);border:1.5px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--fs-body-lg);font-family:var(--font-mono);color:var(--ink-900);background:var(--cream-50);outline:none;text-align:center;letter-spacing:.05em;transition:border-color .12s}.answer-input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}.trace-question{font-size:var(--fs-body);font-weight:600;color:var(--ink-800);text-align:center;margin:0}.trace-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);width:100%;max-width:380px}.trace-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--cream-50);cursor:pointer;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s}.trace-card:hover{border-color:var(--blue-400);background:var(--blue-50);box-shadow:0 4px 12px #00000017;transform:translateY(-2px)}.trace-card.selected{border-color:var(--blue-600);background:var(--blue-50);box-shadow:0 6px 18px #0000001f;transform:translateY(-2px)}.trace-svg{width:72px;height:72px}.trace-svg svg{width:100%;height:100%}.trace-label{font-size:var(--fs-small);font-family:var(--font-mono);color:var(--ink-600);text-align:center;line-height:1.3}.btn-primary{height:var(--touch-min);padding:0 var(--space-5);border:none;border-radius:var(--radius-md);background:var(--blue-700);color:#fff;font-size:var(--fs-body);font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;box-shadow:0 2px 8px #0000002e;transition:background .12s,box-shadow .12s,transform .1s}.btn-primary:hover{background:var(--blue-800);box-shadow:0 4px 14px #00000038;transform:translateY(-1px)}.btn-primary:active{background:var(--blue-900);box-shadow:0 1px 4px #00000029;transform:translateY(0)}.btn-ghost{height:var(--touch-min);padding:0 var(--space-4);border:1.5px solid var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--ink-600);font-size:var(--fs-body);cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap}.btn-ghost:hover{border-color:var(--ink-500);color:var(--ink-900);background:var(--cream-100)}.btn-none{width:100%;height:var(--touch-min);border:1.5px dashed var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--ink-500);font-size:var(--fs-body);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.btn-none:hover{border-color:var(--ink-400);color:var(--ink-700);background:var(--cream-100)}.badge{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);font-size:var(--fs-body-lg);font-weight:700;font-family:var(--font-mono);letter-spacing:.02em}.badge-ok{background:var(--positive-bg);color:var(--positive)}.badge-def{background:var(--info-bg);color:var(--info)}.badge-warn{background:var(--caution-bg);color:var(--caution)}.expl-box{width:100%;max-width:360px;background:var(--surface-sunken);border-left:3px solid var(--blue-300);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-4) var(--space-5)}.expl-text{font-size:var(--fs-body);color:var(--ink-800);line-height:1.6;margin:0}.reveal-actions{display:flex;gap:var(--space-3);width:100%;max-width:420px;justify-content:center;flex-wrap:wrap}.reveal-actions .btn-primary{flex:1;min-width:160px;justify-content:center}.reveal-actions .btn-ghost{min-width:130px}.result-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 1px 4px #0000000f,0 4px 16px #0000000f;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-5);text-align:center}.result-eyebrow{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--orange-700)}.result-scores{display:flex;gap:var(--space-3);justify-content:center}.score-pill{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-family:var(--font-serif);font-size:clamp(2rem,7vw,3rem);font-weight:700;line-height:1;min-width:72px}.score-sub{font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:400;margin-top:4px;opacity:.7}.score-n{background:var(--positive-bg);color:var(--positive)}.score-d{background:var(--info-bg);color:var(--info)}.score-t{background:var(--ink-50);color:var(--ink-600)}.result-headline{font-family:var(--font-serif);font-size:clamp(1.25rem,4vw,1.6rem);font-weight:700;margin:0}.result-ok{color:var(--positive)}.result-mild{color:var(--caution)}.result-def{color:var(--blue-700)}.result-body{font-size:var(--fs-body);color:var(--ink-800);line-height:1.65;max-width:46ch;margin:0}.result-continue{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);align-items:center;width:100%;max-width:420px}.result-continue-text{font-size:var(--fs-body);color:var(--ink-700);margin:0;text-align:center}.result-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.disclaimer{text-align:center;font-size:var(--fs-small);color:var(--ink-500);margin:0}.disclaimer-result{font-size:var(--fs-small);color:var(--ink-500);max-width:50ch;margin:0;line-height:1.5}@media (max-width:480px){.ishihara-wrap{padding:var(--space-7) var(--gutter-mobile) var(--space-9);gap:var(--space-5)}.plate-card{padding:var(--space-4);gap:var(--space-4)}.trace-options{max-width:100%;gap:var(--space-2)}.trace-card{padding:var(--space-3) var(--space-2)}.trace-svg{width:56px;height:56px}.reveal-actions{flex-direction:column;align-items:stretch;max-width:100%}.reveal-actions .btn-primary,.reveal-actions .btn-ghost{min-width:unset;flex:unset}.result-scores{gap:var(--space-2)}.score-pill{min-width:60px;padding:var(--space-2) var(--space-3)}.result-actions{flex-direction:column;align-items:stretch;width:100%;max-width:320px}.result-actions .btn-primary,.result-actions .btn-ghost{justify-content:center}}
