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