:root{--bg:#f1f5f9;--card-bg:#fff;--card-border:#e2e8f0;--card-shadow:0 1px 3px #0f172a0f, 0 12px 32px #0f172a17;--fg:#0f172a;--muted:#64748b;--input-focus:#2563eb;--input-focus-ring:#2563eb38;--chip-bg:#f1f5f9;--chip-border:#e2e8f0;--chip-active-bg:#1d4ed8;--chip-active-fg:#fff;--chip-active-brd:#1e40af;--tier-bg:#fff;--tier-border:#e2e8f0;--tier-top-bg:#eff6ff;--tier-top-border:#60a5fa;--tier-base-bg:#f8fafc;--hl-bg:#fef08a;--hl-fg:#78350f;--hl-border:#fcd34d;--conn-color:#93c5fd;--label-bg:#f1f5f9;--note-bg:#fefce8;--note-border:#fde047;--note-fg:#713f12;--fieldset-border:#e2e8f0}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--card-bg:#111827;--card-border:#1e2d3d;--card-shadow:0 1px 3px #00000080, 0 12px 32px #0009;--fg:#e2e8f0;--muted:#94a3b8;--input-focus:#60a5fa;--input-focus-ring:#60a5fa4d;--chip-bg:#1e2d3d;--chip-border:#2d3f52;--chip-active-bg:#2563eb;--chip-active-fg:#fff;--chip-active-brd:#3b82f6;--tier-bg:#1a2738;--tier-border:#253447;--tier-top-bg:#1a3252;--tier-top-border:#3b82f6;--tier-base-bg:#141f2d;--hl-bg:#92400e;--hl-fg:#fef3c7;--hl-border:#b45309;--conn-color:#2d5ca8;--label-bg:#0f1e2d;--note-bg:#1c1a10;--note-border:#ca8a04;--note-fg:#fde68a;--fieldset-border:#2d3f52}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}.jp{font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,MS PGothic,sans-serif}.container{max-width:880px;margin:0 auto;padding:20px 14px 36px}.card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:14px;padding:22px 26px 28px}.card-header{margin-bottom:18px}.card-header h1{letter-spacing:-.025em;color:var(--fg);margin:0 0 4px;font-size:20px;font-weight:700}.hint{color:var(--muted);margin:0;font-size:13px}.verb-picker{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.verb-chip{background:var(--chip-bg);border:1px solid var(--chip-border);cursor:pointer;color:var(--fg);text-align:center;min-width:62px;font:inherit;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:flex}.verb-chip:hover:not(.verb-chip--active){border-color:var(--input-focus);box-shadow:0 0 0 2px var(--input-focus-ring)}.verb-chip--active{background:var(--chip-active-bg);border-color:var(--chip-active-brd);color:var(--chip-active-fg);box-shadow:0 1px 4px #1d4ed859}.verb-chip-kanji{font-size:20px;font-weight:700;line-height:1.2}.verb-chip-sub{opacity:.8;letter-spacing:.02em;font-size:10px}.verb-chip-gloss{opacity:.65;font-size:10px}.card-body{align-items:flex-start;gap:28px;display:flex}.card-controls{flex:0 0 220px;min-width:0}.card-tower{flex:1;min-width:0}.controls{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.toggle-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 0;display:flex}.toggle-row input[type=checkbox]{cursor:pointer;width:15px;height:15px;accent-color:var(--input-focus);flex-shrink:0}.toggle-text{align-items:center;gap:6px;font-size:14px;display:flex}.morph-tag{color:var(--muted);background:var(--label-bg);letter-spacing:.01em;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px}.voice-group{border:1px solid var(--fieldset-border);border-radius:8px;margin:2px 0;padding:8px 12px 10px}.voice-group legend{flex-wrap:wrap;align-items:center;gap:6px;padding:0 4px;font-size:14px;font-weight:500;display:flex}.radio-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:2px 0;display:flex}.radio-row input[type=radio]{accent-color:var(--input-focus);cursor:pointer}.ordering-note{color:var(--muted);margin:6px 0 0;font-size:11.5px;font-style:italic;line-height:1.4}.notes{margin-bottom:0}.note{background:var(--note-bg);border:1px solid var(--note-border);color:var(--note-fg);border-radius:6px;margin:0 0 6px;padding:8px 12px;font-size:12px;line-height:1.45}.tower{background:var(--tier-border);border:1px solid var(--tier-border);border-radius:10px;flex-direction:column;gap:1px;display:flex;position:relative;overflow:hidden}.tower:before{content:"";background:linear-gradient(to top, var(--conn-color), var(--tier-top-border));z-index:1;pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:0}.tier{transition:opacity .18s}.tier-body{background:var(--tier-bg);border-left:4px solid var(--conn-color);flex-direction:column;gap:4px;padding:10px 14px;display:flex}.tier:first-child .tier-body{border-radius:9px 9px 0 0}.tier:last-child .tier-body{border-radius:0 0 9px 9px}.tier:only-child .tier-body{border-radius:9px}.tier--top .tier-body{background:var(--tier-top-bg);border-left-color:var(--tier-top-border);border-left-width:5px;padding:18px 18px 14px}.tier--base .tier-body{background:var(--tier-base-bg);padding:8px 14px}.tier-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.tier-kanji{letter-spacing:.01em;font-size:22px;font-weight:600;line-height:1.2}.tier--top .tier-kanji{letter-spacing:.02em;font-size:40px;font-weight:700}.tier--base .tier-kanji{font-size:17px;font-weight:500}.tier-kana{color:var(--muted);font-size:13px}.tier--top .tier-kana{font-size:17px}.tier--base .tier-kana{font-size:12px}.tier-romaji{color:var(--muted);letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.tier--top .tier-romaji{font-size:14px}.tier--base .tier-romaji{font-size:11px}.tier-row--meta{gap:6px}.tier-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--label-bg);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.tier-gloss{color:var(--muted);font-size:12px;font-style:italic}.tier--top .tier-gloss{font-size:14px}.hl{background:var(--hl-bg);color:var(--hl-fg);border:1px solid var(--hl-border);border-radius:4px;margin:0 1px;padding:1px 3px}.slot-legend{border:1px solid var(--fieldset-border);background:var(--label-bg);border-radius:8px;margin-top:10px;padding:9px 10px 8px}.slot-legend-title{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:7px;font-size:9.5px;font-weight:700}.slot-chips{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.slot-chips-group{align-items:center;gap:2px;display:inline-flex}.slot-arrow{color:var(--muted);font-size:9px;line-height:1}.slot-chip{border:1px solid var(--chip-border);background:var(--chip-bg);color:var(--muted);white-space:nowrap;border-radius:3px;padding:2px 5px;font-size:10px;font-weight:500;line-height:1.3}.slot-chip--active{background:var(--tier-top-bg);border-color:var(--tier-top-border);color:var(--fg);font-weight:600}.tier--top .tier-kanji ruby{ruby-align:center}.tier--top .tier-kanji ruby rt{color:var(--muted);text-align:center;letter-spacing:.04em;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,MS PGothic,sans-serif;font-size:.38em}@media (prefers-reduced-motion:reduce){.verb-chip,.tier,.search-input,.search-result{transition:none}}@media (width<=600px){.card-body{flex-direction:column}.card-controls{flex:none;width:100%}.tier--top .tier-kanji{font-size:32px}.tier-kanji{font-size:20px}.tier--base .tier-kanji{font-size:16px}}@media (width<=400px){.card{padding:16px 14px 20px}.verb-picker{gap:4px}.verb-chip{min-width:52px;padding:5px 7px}.verb-chip-kanji{font-size:17px}.tier--top .tier-kanji{font-size:26px}}.search-section{margin-bottom:14px}.search-box-wrap{align-items:center;gap:10px;display:flex}.search-input{min-width:0;font:inherit;background:var(--card-bg);border:1px solid var(--card-border);color:var(--fg);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:13.5px;transition:border-color .12s,box-shadow .12s}.search-input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-ring)}.search-input::-webkit-search-cancel-button{display:none}.dict-hint{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px}.dict-hint--loading{font-style:italic}.search-results{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;max-height:260px;margin-top:4px;overflow:hidden auto}.search-no-match{color:var(--muted);padding:10px 14px;font-size:13px;font-style:italic}.search-result{border:none;border-bottom:1px solid var(--card-border);cursor:pointer;width:100%;font:inherit;color:var(--fg);text-align:left;background:0 0;align-items:baseline;gap:8px;padding:5px 14px;transition:background 80ms;display:flex}.search-result:last-child{border-bottom:none}.search-result:hover{background:var(--tier-top-bg);outline:none}.search-result:focus-visible{background:var(--tier-top-bg);box-shadow:inset 0 0 0 2px var(--input-focus);outline:none}.search-result-kanji{flex-shrink:0;min-width:48px;font-size:16px;font-weight:600}.search-result-reading{color:var(--muted);flex-shrink:0;font-size:12px}.search-result-gloss{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.search-result-cls{color:var(--muted);background:var(--label-bg);white-space:nowrap;opacity:.75;border-radius:3px;flex-shrink:0;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.tier-label--aux{cursor:help}.tier-aux{text-underline-offset:2px;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,MS PGothic,sans-serif;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.active-verb-chip{color:var(--muted);background:var(--label-bg);border:1px solid var(--fieldset-border);border-radius:20px;align-items:center;gap:4px;margin-top:5px;padding:2px 9px 2px 7px;font-size:11.5px;display:inline-flex}.active-verb-chip .jp{font-size:13px}.slot-legend-sub{text-transform:none;letter-spacing:.01em;color:var(--muted);margin-top:2px;font-size:9px;font-weight:400;display:block}.credit{border-top:1px solid var(--card-border);color:var(--muted);text-align:right;margin:14px 0 0;padding-top:10px;font-size:10.5px;line-height:1.4}@media (width<=600px){.search-result-cls{display:none}.search-result-gloss{white-space:normal}}@media (width<=400px){.search-input{padding:7px 10px;font-size:13px}.dict-hint{display:none}}
