:root{--jkc-primary:#6366f1;--jkc-text:#1e293b;--jkc-text-muted:#64748b;--jkc-bg:#fff;--jkc-bg-secondary:#f8fafc;--jkc-border:#e2e8f0;--jkc-border-hover:#cbd5e1;--jkc-shadow:0 1px 3px #00000014;--jkc-shadow-hover:0 4px 12px #0000001f;--jkc-radius:8px;--jkc-radius-sm:6px;--jkc-transition:.15s ease;--jkc-success:#10b981;--jkc-success-light:#10b9811a;--jkc-danger:#ef4444;--jkc-danger-light:#ef44441a;--jkc-gj-bg:#dbeafe;--jkc-gj-border:#93c5fd;--jkc-gj-text:#1e40af;--jkc-dk-bg:#ede9fe;--jkc-dk-border:#c4b5fd;--jkc-dk-text:#5b21b6;--jkc-hd-bg:#d1fae5;--jkc-hd-border:#6ee7b7;--jkc-hd-text:#065f46;--jkc-yo-bg:#fef3c7;--jkc-yo-border:#fcd34d;--jkc-yo-text:#92400e}._jkc-container{gap:var(--main-space-6);flex-direction:column;max-width:900px;margin:0 auto;display:flex}._jkc-hidden{display:none!important}._jkc-legend{gap:var(--main-space-2);flex-wrap:wrap;justify-content:center;display:flex}._jkc-legend-item{border-radius:var(--main-radius-full);font-size:var(--main-text-xs);border-style:solid;border-width:1px;align-items:center;padding:.25rem .75rem;font-weight:500;display:inline-flex}._jkc-legend-gj{background:var(--jkc-gj-bg);border-color:var(--jkc-gj-border);color:var(--jkc-gj-text)}._jkc-legend-dk{background:var(--jkc-dk-bg);border-color:var(--jkc-dk-border);color:var(--jkc-dk-text)}._jkc-legend-hd{background:var(--jkc-hd-bg);border-color:var(--jkc-hd-border);color:var(--jkc-hd-text)}._jkc-legend-yo{background:var(--jkc-yo-bg);border-color:var(--jkc-yo-border);color:var(--jkc-yo-text)}._jkc-script-toggle-wrap{justify-content:center;display:flex}._jkc-script-toggle{background:var(--jkc-bg);border-radius:var(--jkc-radius);box-shadow:var(--jkc-shadow);border-style:solid;border-width:1px;border-color:var(--jkc-border);padding:.1875rem;display:flex}._jkc-script-btn{color:var(--jkc-text-muted);border-radius:calc(var(--jkc-radius) - 2px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0 solid #0000;min-height:2.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:color .2s,background .2s}@media (hover:hover){._jkc-script-btn:hover{color:var(--jkc-text)}._jkc-script-btn--active:hover{color:#fff}}._jkc-script-btn--active{background:var(--jkc-primary);color:#fff;box-shadow:0 1px 4px #6366f140}._jkc-section{background:var(--jkc-bg);border-radius:var(--jkc-radius);padding:var(--main-space-5);box-shadow:var(--jkc-shadow);border-style:solid;border-width:1px;border-color:var(--jkc-border)}._jkc-section-header{margin-bottom:var(--main-space-4)}._jkc-section-title{font-size:var(--main-text-base);color:var(--jkc-text);align-items:center;gap:var(--main-space-2);margin:0;font-weight:600;display:flex}._jkc-section-jp{font-size:var(--main-text-sm);color:var(--jkc-text-muted);font-weight:400}._jkc-collapse-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-width:0;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}._jkc-collapse-icon{color:var(--jkc-text-muted);display:flex}._jkc-collapse-icon svg{width:14px;height:14px}._jkc-btn{border-radius:var(--jkc-radius);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0 solid #0000;justify-content:center;align-items:center;gap:.375rem;min-height:2.75rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .2s,box-shadow .2s;display:inline-flex}@media (hover:hover){._jkc-btn:hover{opacity:.9}}._jkc-btn svg{width:16px;height:16px}._jkc-btn--primary{background:var(--jkc-primary);color:#fff;box-shadow:0 2px 8px #6366f140}._jkc-btn--sm{padding:.5rem .875rem;font-size:.8125rem}._jkc-btn--full{width:100%}._jkc-btn--submit{border-radius:var(--jkc-radius);min-width:2.75rem;min-height:2.75rem;padding:.75rem}._jkc-chip{border-style:solid;border-width:1px;border-color:var(--jkc-border);background:var(--jkc-bg);min-width:2.5rem;min-height:2.25rem;color:var(--jkc-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:9999px;justify-content:center;align-items:center;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:border-color .2s,background .2s,color .2s;display:inline-flex}@media (hover:hover){._jkc-chip:hover{border-color:var(--jkc-primary);color:var(--jkc-primary)}._jkc-chip--active:hover{color:#fff;background:#4f46e5;border-color:#4f46e5}}._jkc-chip--active{background:var(--jkc-primary);border-color:var(--jkc-primary);color:#fff}._jkc-setup-label{color:var(--jkc-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.8125rem;font-weight:600}._jkc-setup-section{margin-bottom:1.25rem}._jkc-option-chips{flex-wrap:wrap;gap:.375rem;display:flex}@media (max-width:768px){._jkc-section{padding:var(--main-space-4)}}@media (max-width:480px){._jkc-section{padding:var(--main-space-3)}._jkc-script-btn{flex:1;padding:.5rem .75rem}._jkc-script-toggle{width:100%}._jkc-script-toggle-wrap{justify-content:stretch}._jkc-setup-section{margin-bottom:1rem}._jkc-option-chips{gap:.375rem}}._jkc-grid{gap:var(--main-space-2);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}._jkc-cell{padding:var(--main-space-3) var(--main-space-2);border-radius:var(--jkc-radius-sm);cursor:pointer;transition:box-shadow var(--jkc-transition), opacity var(--jkc-transition);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border-style:solid;border-width:1.5px;flex-direction:column;justify-content:center;align-items:center;min-height:72px;display:flex}@media (hover:hover){._jkc-cell:hover{box-shadow:var(--jkc-shadow-hover);opacity:.9}}._jkc-cell:focus-visible{outline:2px solid var(--jkc-primary);outline-offset:2px}._jkc-cell._jkc-cell-active{box-shadow:0 0 0 2px var(--jkc-primary)}._jkc-cell-gj{background:var(--jkc-gj-bg);border-color:var(--jkc-gj-border)}._jkc-cell-dk{background:var(--jkc-dk-bg);border-color:var(--jkc-dk-border)}._jkc-cell-hd{background:var(--jkc-hd-bg);border-color:var(--jkc-hd-border)}._jkc-cell-yo{background:var(--jkc-yo-bg);border-color:var(--jkc-yo-border)}._jkc-cell-char{color:var(--jkc-text);font-size:1.5rem;font-weight:600;line-height:1.2}._jkc-cell-roman{font-size:var(--main-text-xs);color:var(--jkc-text-muted);font-family:var(--main-font-mono);margin-top:2px}@media (max-width:576px){._jkc-grid{gap:var(--main-space-1);grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}._jkc-cell{padding:var(--main-space-2) var(--main-space-1);min-height:60px}._jkc-cell-char{font-size:1.25rem}}@media (max-width:380px){._jkc-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}._jkc-cell{min-height:56px}._jkc-cell-char{font-size:1.125rem}._jkc-cell-roman{font-size:.625rem}}._jkc-detail-overlay{z-index:100;background:#0000004d;display:none;position:fixed;top:0;bottom:0;left:0;right:0}._jkc-detail-overlay._jkc-detail-open{display:block}._jkc-detail{background:var(--jkc-bg);border-radius:var(--jkc-radius);z-index:101;width:90%;max-width:420px;max-height:85vh;padding:var(--main-space-6);display:none;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0003}._jkc-detail._jkc-detail-open{display:block}._jkc-detail-close{top:var(--main-space-3);right:var(--main-space-3);background:var(--jkc-bg-secondary);width:36px;height:36px;color:var(--jkc-text-muted);cursor:pointer;transition:background var(--jkc-transition);-webkit-tap-highlight-color:transparent;z-index:1;border-width:0;border-radius:9999px;justify-content:center;align-items:center;display:flex;position:absolute}@media (hover:hover){._jkc-detail-close:hover{background:var(--jkc-border)}}._jkc-detail-close svg{width:16px;height:16px}._jkc-detail-header{text-align:center;margin-bottom:var(--main-space-5)}._jkc-detail-char{color:var(--jkc-text);font-size:4rem;font-weight:700;line-height:1.2}._jkc-detail-roman{font-size:var(--main-text-lg);font-family:var(--main-font-mono);color:var(--jkc-primary);margin-top:var(--main-space-1);font-weight:600}._jkc-detail-badge{font-size:var(--main-text-xs);margin-top:var(--main-space-2);border-style:solid;border-width:1px;border-radius:9999px;padding:.2rem .6rem;font-weight:500;display:inline-flex}._jkc-detail-sound-btn{align-items:center;gap:var(--main-space-2);background:var(--jkc-primary);color:#fff;font-size:var(--main-text-sm);cursor:pointer;margin-top:var(--main-space-3);transition:opacity var(--jkc-transition);-webkit-tap-highlight-color:transparent;border-width:0;border-radius:9999px;min-height:2.5rem;padding:.625rem 1.25rem;font-weight:500;display:inline-flex}@media (hover:hover){._jkc-detail-sound-btn:hover{opacity:.9}}._jkc-detail-sound-btn svg{width:14px;height:14px}._jkc-detail-info{gap:var(--main-space-3);flex-direction:column;display:flex}._jkc-detail-row{gap:var(--main-space-1);flex-direction:column;display:flex}._jkc-detail-label{font-size:var(--main-text-xs);color:var(--jkc-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}._jkc-detail-value{font-size:var(--main-text-sm);color:var(--jkc-text);line-height:1.5}._jkc-detail-examples{gap:var(--main-space-2);flex-direction:column;display:flex}._jkc-detail-example{align-items:baseline;gap:var(--main-space-2);padding:var(--main-space-2) var(--main-space-3);background:var(--jkc-bg-secondary);border-radius:var(--jkc-radius-sm);flex-wrap:wrap;display:flex}._jkc-detail-example-word{font-size:var(--main-text-base);color:var(--jkc-text);font-weight:600}._jkc-detail-speakable{cursor:pointer;-webkit-tap-highlight-color:transparent}@media (hover:hover){._jkc-detail-speakable:hover{color:var(--jkc-primary)}}._jkc-detail-example-roman{font-size:var(--main-text-xs);font-family:var(--main-font-mono);color:var(--jkc-text-muted)}._jkc-detail-example-meaning{font-size:var(--main-text-xs);color:var(--jkc-text-muted);margin-left:auto}._jkc-detail-pair-label{font-size:var(--main-text-sm);color:var(--jkc-text-muted);margin-top:var(--main-space-1)}._jkc-detail-pair-char{color:var(--jkc-text);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:1.25rem;font-weight:600}@media (hover:hover){._jkc-detail-pair-char:hover{color:var(--jkc-primary)}}@media (max-width:576px){._jkc-detail{width:95%;padding:var(--main-space-4);max-height:88vh}._jkc-detail-char{font-size:3rem}._jkc-detail-example-meaning{flex-basis:100%;margin-left:0}}@media (max-width:380px){._jkc-detail{padding:var(--main-space-3)}._jkc-detail-char{font-size:2.5rem}}._jkc-quiz-wrap{margin-top:var(--main-space-4)}._jkc-quiz-setup ._jkc-btn--full{margin-top:.5rem}._jkc-quiz-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}._jkc-quiz-progress{color:var(--jkc-text-muted);font-size:.875rem;font-weight:600}._jkc-quiz-score{align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;display:flex}._jkc-score-correct{color:var(--jkc-success)}._jkc-score-sep{color:var(--jkc-text-muted)}._jkc-score-wrong{color:var(--jkc-danger)}._jkc-progress-bar{background:var(--jkc-border);border-radius:2px;height:4px;margin-bottom:1.5rem;overflow:hidden}._jkc-progress-bar-fill{background:var(--jkc-primary);border-radius:2px;width:0%;height:100%;transition:width .3s}._jkc-quiz-card{background:var(--jkc-bg-secondary);border-radius:var(--jkc-radius);text-align:center;border-style:solid;border-width:1px;border-color:var(--jkc-border);padding:2rem}._jkc-quiz-question{color:var(--jkc-text);min-height:4.5rem;margin-bottom:1.5rem;font-size:3.5rem;font-weight:500;line-height:1.2}._jkc-quiz-question--romaji{font-size:2rem;font-weight:700;font-family:var(--main-font-mono)}._jkc-quiz-input-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}._jkc-quiz-input{text-align:center;border-style:solid;border-width:2px;border-color:var(--jkc-border);border-radius:var(--jkc-radius);background:var(--jkc-bg);width:180px;max-width:100%;color:var(--jkc-text);font-size:1.125rem;font-weight:600;font-family:var(--main-font-mono);outline:none;flex:0 180px;min-height:2.75rem;padding:.75rem 1rem}._jkc-quiz-input:focus{border-color:var(--jkc-primary);box-shadow:0 0 0 3px #6366f126}._jkc-quiz-input--correct{border-color:var(--jkc-success);background:var(--jkc-success-light)}._jkc-quiz-input--wrong{border-color:var(--jkc-danger);background:var(--jkc-danger-light)}._jkc-quiz-choices{grid-template-columns:repeat(2,1fr);gap:.75rem;max-width:400px;margin:0 auto;display:grid}._jkc-choice-btn{border-style:solid;border-width:2px;border-color:var(--jkc-border);border-radius:var(--jkc-radius);background:var(--jkc-bg);color:var(--jkc-text);cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:3rem;padding:1rem;font-size:1.5rem;font-weight:500;transition:border-color .2s,background .2s}@media (hover:hover){._jkc-choice-btn:hover{border-color:var(--jkc-primary);background:#6366f10d}}._jkc-choice-btn--correct{border-color:var(--jkc-success);background:var(--jkc-success-light);color:var(--jkc-success)}._jkc-choice-btn--wrong{border-color:var(--jkc-danger);background:var(--jkc-danger-light);color:var(--jkc-danger)}._jkc-choice-btn--disabled{pointer-events:none;opacity:.6}._jkc-quiz-feedback{min-height:1.25rem;margin-top:1rem;font-size:.875rem;font-weight:600}._jkc-quiz-feedback--correct{color:var(--jkc-success)}._jkc-quiz-feedback--wrong{color:var(--jkc-danger)}._jkc-quiz-result{text-align:center}._jkc-result-score{color:var(--jkc-primary);margin-bottom:.5rem;font-size:3rem;font-weight:700}._jkc-result-stats{color:var(--jkc-text-muted);margin-bottom:1.5rem;font-size:.9375rem}._jkc-result-wrong-list{background:var(--jkc-bg-secondary);border-radius:var(--jkc-radius);border-style:solid;border-width:1px;border-color:var(--jkc-border);text-align:left;margin-bottom:1.5rem;padding:1rem}._jkc-result-wrong-title{color:var(--jkc-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.8125rem;font-weight:600}._jkc-wrong-item{border-radius:var(--jkc-radius-sm);background:var(--jkc-danger-light);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.375rem;padding:.5rem .75rem;display:flex}._jkc-wrong-item:last-child{margin-bottom:0}._jkc-wrong-kana{color:var(--jkc-text);text-align:center;min-width:2rem;font-size:1.25rem;font-weight:500}._jkc-wrong-answer{color:var(--jkc-text-muted);font-size:.8125rem}._jkc-wrong-answer strong{color:var(--jkc-success)}._jkc-result-actions{justify-content:center;display:flex}@media (max-width:640px){._jkc-quiz-question{min-height:3.5rem;font-size:2.5rem}._jkc-quiz-card{padding:1.5rem 1rem}._jkc-quiz-choices{gap:.5rem}._jkc-choice-btn{padding:.75rem;font-size:1.25rem}._jkc-result-score{font-size:2.5rem}._jkc-result-wrong-list{padding:.75rem}}@media (max-width:380px){._jkc-quiz-question{min-height:3rem;font-size:2rem}._jkc-quiz-question--romaji{font-size:1.75rem}._jkc-quiz-card{padding:1rem .75rem}._jkc-quiz-input{padding:.625rem .75rem;font-size:1rem}._jkc-choice-btn{padding:.625rem;font-size:1.125rem}._jkc-result-score{font-size:2.25rem}}
