.radicals-page{--comp-color:#4f86f7;max-width:1040px;margin:0 auto;padding:10px 1rem 4rem}.radicals-header{margin-bottom:1.5rem}.radical-section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.radical-section-heading-row .radical-section-heading{margin-bottom:0}.radical-section-heading-row .worksheet-print-btn{position:relative;top:10px}.radicals-title{color:var(--text-bright);margin:0 0 .4rem;font-size:1.9rem;font-weight:800}.radicals-subtitle{color:var(--text);max-width:64ch;margin:0 0 .5rem;font-size:1.02rem;line-height:1.5}.radicals-intro{color:var(--text-muted);max-width:70ch;margin:0;font-size:.92rem;line-height:1.5}.radicals-intro-note{color:var(--text-muted);max-width:70ch;margin:.5rem 0 0;font-size:.9rem;line-height:1.5}.radicals-intro-note a{color:var(--accent);font-weight:600;text-decoration:none}.radicals-intro-note a:hover{text-decoration:underline}.radicals-lookup{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;max-width:75ch;margin-top:2.5rem;padding:1.1rem 1.2rem;scroll-margin-top:70px}.radicals-lookup-title{color:var(--text-bright);margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.radicals-lookup-text{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.6}.radicals-lookup-text:not(:last-child){margin-bottom:.7rem}.radicals-aside{background:var(--bg-card);border:1px solid var(--border);width:fit-content;color:var(--text-muted);border-radius:10px;align-items:center;gap:10px;margin:0 0 .4rem auto;padding:7px 12px;text-decoration:none;transition:border-color .15s,color .15s;display:flex}.radicals-aside:hover{border-color:var(--accent);color:var(--text-bright)}.radicals-aside-glyph{opacity:.55;font-family:Noto Serif JP,serif;font-size:1.35rem;line-height:1}.radicals-aside-text{align-items:center;gap:6px;display:inline-flex}.radicals-aside-label{text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:600}.radicals-aside-arrow{flex:none}@media (width>=920px){.radicals-aside{text-align:center;z-index:40;background:0 0;border:none;flex-direction:column;gap:8px;width:132px;margin:0;padding:0;position:fixed;top:40%;left:calc(50vw + 296px);transform:translateY(-50%)}.radicals-aside-glyph{opacity:.4;font-size:1.7rem}.radicals-aside-text{flex-direction:column;gap:4px}}.radicals-loading{color:var(--text-muted);text-align:center;padding:2rem 0}.radicals-stroke-group{margin-top:1.6rem}.radicals-stroke-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);margin:0 0 .7rem;padding-bottom:.4rem;font-size:.82rem;font-weight:700}.radicals-grid{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}.radical-card{background:var(--bg-card);border:1px solid var(--border);color:inherit;border-radius:12px;flex-direction:column;align-items:center;gap:.2rem;padding:.7rem .5rem;text-decoration:none;transition:transform .12s,border-color .12s,background .12s;display:flex;position:relative}.radical-card-num{color:var(--text-muted);font-size:.66rem;font-weight:600;position:absolute;top:.4rem;left:.5rem}.radical-card-variants{flex-wrap:wrap;justify-content:center;gap:.25rem;display:flex}.radical-variant-tile{border:1px solid var(--border-bright);background:var(--bg-surface);width:34px;height:34px;color:var(--accent);border-radius:7px;justify-content:center;align-items:center;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:1.2rem;line-height:1;display:inline-flex}.radical-variant-tile--sm{border-radius:5px;width:24px;height:24px;font-size:.92rem}.radical-card:hover{border-color:var(--accent);background:var(--bg-card-hover);transform:translateY(-2px)}.radical-card-glyph{color:var(--text-bright);font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:2.1rem;line-height:1.1}.radical-card-meaning{color:var(--text);text-align:center;font-size:.84rem;line-height:1.25}.radical-card-count{color:var(--text-muted);flex-direction:column;gap:.05rem;margin-top:auto;padding-top:.35rem;font-size:.72rem;display:flex}.radical-card-count-other{opacity:.65}.radical-detail-hero{align-items:center;gap:1rem;margin-top:.9rem;display:flex}.radical-detail-glyph{color:var(--accent);flex:none;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:3.6rem;line-height:1}.radical-detail-num{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:600}.radical-detail-name{color:var(--text-bright);text-transform:capitalize;margin:.1rem 0 0;font-size:1.5rem;font-weight:800}.radical-detail-variants{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:.45rem 0 0;display:flex}.radical-detail-variants-label{font-size:.82rem}.radical-variant-tiles{flex-wrap:wrap;gap:.3rem;display:inline-flex}.radical-detail-sub{color:var(--text-muted);margin:.2rem 0 0;font-size:.9rem}.radical-detail-note{color:var(--text-muted);margin:.3rem 0 0;font-size:.82rem}.radical-detail-intro{color:var(--text);max-width:70ch;margin:1rem 0 0;font-size:.95rem;line-height:1.55}.radical-detail-quirk-note{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent,#6366f1);border-radius:8px;max-width:70ch;margin:.7rem 0 0;padding:.6rem .8rem;font-size:.88rem;line-height:1.5}.radical-comp-filter{background:var(--bg-card);border:1px solid var(--border);--comp-color:#4f86f7;border-radius:12px;margin-top:1.4rem;padding:.8rem .9rem}.radical-comp-filter--collapsed{padding:.5rem .9rem}.radical-comp-filter--collapsed .radical-comp-body{display:none}.radical-comp-body{margin-top:.1rem}.radical-comp-head-row{align-items:center;gap:.6rem;display:flex}.radical-comp-toggle{cursor:pointer;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.45rem;min-width:0;padding:0;display:inline-flex}.radical-comp-caret{color:var(--text-muted);width:.8em;font-size:.7rem}.radical-comp-filter-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-bright);font-size:.82rem;font-weight:700}.radical-comp-active{flex:none;align-items:center;gap:.35rem;display:inline-flex}.radical-comp-active-glyph{background:var(--comp-color);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:1rem;display:inline-flex}.radical-comp-active-name{color:var(--text);font-size:.78rem}.radical-comp-clear{background:var(--bg-surface);width:20px;height:20px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;display:inline-flex}.radical-comp-clear:hover{color:var(--text-bright);background:var(--bg-card-hover)}.radical-comp-filter-hint{color:var(--text-muted);margin:.55rem 0 .7rem;font-size:.8rem;line-height:1.45;display:block}.radical-comp-chips{grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem;display:grid}.radical-comp-chip{background:var(--bg-surface);border:1px solid var(--border-bright);cursor:pointer;min-width:0;color:inherit;text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:.12rem;padding:.28rem .15rem .3rem;transition:border-color .12s,background .12s,transform .1s;display:flex}.radical-comp-chip:hover{border-color:var(--comp-color);transform:translateY(-1px)}.radical-comp-chip--active{border-color:var(--comp-color);background:color-mix(in srgb, var(--comp-color) 16%, var(--bg-surface))}.radical-comp-chip-glyph{background:var(--bg-card);border:1px solid var(--border);width:24px;height:24px;color:var(--comp-color);border-radius:5px;flex:none;justify-content:center;align-items:center;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:1rem;line-height:1;display:inline-flex}.radical-comp-chip--active .radical-comp-chip-glyph{background:var(--comp-color);color:#fff;border-color:var(--comp-color)}.radical-comp-chip-text{flex-direction:column;align-items:center;min-width:0;max-width:100%;line-height:1.15;display:flex}.radical-comp-chip-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.62rem;overflow:hidden}.radical-comp-chip-count{color:var(--text-muted);font-size:.6rem}.radical-comp-more{border:1px dashed var(--border-bright);color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border-radius:9px;align-items:center;margin-top:.5rem;padding:.35rem .9rem;font-size:.78rem;display:inline-flex}.radical-comp-more:hover{color:var(--text);border-color:var(--comp-color)}.radical-kanji-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.6rem;margin-top:1.6rem;display:grid}.radical-kanji-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;transition:transform .12s,border-color .12s,background .12s;display:flex;position:relative}.radical-kanji-link{color:inherit;border-radius:inherit;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .4rem .6rem;text-decoration:none;display:flex}.radical-kanji-card:hover{border-color:var(--accent);background:var(--bg-card-hover);transform:translateY(-2px)}.radical-kanji-card--open{border-color:var(--comp-color)}.radical-kanji-card--clamped{display:none}.radical-comp-open{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:.8rem;line-height:1;transition:opacity .12s,color .12s,background .12s;display:flex;position:absolute;top:2px;right:2px}.radical-kanji-card:hover .radical-comp-open,.radical-comp-open:focus-visible,.radical-comp-open[aria-expanded=true]{opacity:1}.radical-comp-open:hover,.radical-comp-open[aria-expanded=true]{color:var(--comp-color);background:var(--bg-card-hover)}.radical-comp-panel{background:var(--bg-card);border:1px solid var(--comp-color);border-radius:12px;grid-column:1/-1;padding:.9rem 1rem}.radical-kanji-plain{height:60px;color:var(--text-bright);font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:3rem;line-height:60px}.radical-section-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:baseline;gap:.5rem;margin:2rem 0 .2rem;font-size:.82rem;font-weight:700;display:flex}.radical-section-count{color:var(--text-muted);opacity:.7;font-size:.78rem;font-weight:600}.radical-kanji-grid--other{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:.45rem;margin-top:.9rem}.radical-kanji-card--plain .radical-kanji-link{gap:.1rem;padding:.4rem .35rem .45rem}.radical-kanji-card--plain .radical-kanji-plain{height:40px;font-size:2.1rem;line-height:40px}.radical-kanji-card--plain .radical-kanji-meaning{font-size:.66rem}.radical-show-all{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;margin:.9rem auto 0;padding:.5rem 1.2rem;font-size:.82rem;font-weight:600;transition:border-color .12s,background .12s;display:block}.radical-show-all:hover{border-color:var(--accent);background:var(--bg-card-hover)}.radical-kanji-meaning{color:var(--text);text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.74rem;line-height:1.2;display:-webkit-box;overflow:hidden}.radical-kanji-pos{color:var(--text-muted);text-transform:lowercase;font-size:.64rem}.radglyph{display:block}.radglyph-other{stroke:var(--text-muted);stroke-width:4px;opacity:.55}.radglyph-rad{stroke:var(--accent);stroke-width:5.5px}.radglyph-comp{stroke:var(--comp-color);stroke-width:5.5px}@media (width<=720px){.radicals-grid{grid-template-columns:repeat(3,1fr)}.radical-comp-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=480px){.radicals-grid{grid-template-columns:repeat(2,1fr)}.radical-comp-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.radical-kanji-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.radical-detail-glyph{font-size:3rem}}.radical-neighbors{justify-content:space-between;gap:.8rem;margin-top:2rem;display:flex}.radical-neighbor{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:12px;align-items:center;gap:.6rem;min-width:0;padding:.6rem .9rem;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.radical-neighbor:hover{border-color:var(--accent);background:var(--bg-card-hover)}.radical-neighbor--next{text-align:right;flex-direction:row-reverse}.radical-neighbor-dir{color:var(--text-muted);white-space:nowrap;font-size:.72rem}.radical-neighbor-char{color:var(--text-bright);font-family:Noto Serif JP,serif;font-size:1.5rem;line-height:1}.radical-neighbor-meaning{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}
