@font-face{font-family:MindmapBrush;src:url(fonts/brush.woff2) format('woff2');font-display:swap}
@font-face{font-family:MindmapJP;src:url(fonts/jp.woff2) format('woff2');font-display:swap}
@font-face{font-family:MindmapRare;src:url(fonts/rare.woff2) format('woff2');font-display:swap}
:root{--mm-glyph:88px;--mm-component:52px;--mm-copy:20px;--mm-hv:24px;--mm-meaning:22px}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-size:var(--mm-copy);color:var(--tl-ink);font-family:var(--tl-font-ui);background:#f5efdf url(washi.webp) center top/cover fixed;line-height:1.55}
html[data-mode=dark] body{background:linear-gradient(#091b2bed,#091b2bf2),url(washi.webp) center/cover fixed}
button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:var(--tl-control-min);border:1px solid var(--tl-hair);border-radius:var(--tl-radius-control);padding:var(--tl-space-2) var(--tl-space-4);background:transparent}button:hover{background:var(--tl-wash)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--tl-focus);outline-offset:3px}a{color:var(--tl-seal);min-height:44px;display:inline-flex;align-items:center}button[disabled]{cursor:default;opacity:.7}.top{max-width:1320px;margin:auto;padding:var(--tl-space-4) var(--tl-space-5);display:flex;align-items:center;gap:var(--tl-space-4)}.brand{font-size:var(--mm-copy);text-decoration:none;white-space:nowrap}.top h1{margin:0;font-size:24px;font-weight:650;flex:1}.paper{max-width:1320px;margin:0 auto var(--tl-space-6);padding:var(--tl-space-4) var(--tl-space-5) var(--tl-space-6);background:var(--tl-paper);backdrop-filter:blur(5px);border:1px solid var(--tl-hair);border-radius:var(--tl-radius-surface)}.activity{display:flex;gap:var(--tl-space-3);flex-wrap:wrap;border-bottom:1px solid var(--tl-hair);padding-bottom:var(--tl-space-4)}#choose{color:var(--tl-seal);font-weight:650}#status{margin:var(--tl-space-2) 0;color:var(--tl-ink-soft);min-height:0}#status:empty{display:none}.jp{font-family:MindmapBrush,MindmapJP,MindmapRare,var(--tl-font-shodo);font-weight:400}.glyph{font-size:var(--mm-glyph);line-height:1.15;display:inline-block;flex:0 0 100px;text-align:center}.node{display:flex;align-items:center;gap:var(--tl-space-3);border:0;border-radius:0;text-align:left;padding:var(--tl-space-2) 0;max-width:100%;min-height:118px}.node .meta{display:grid;min-width:0}.hv{font-size:var(--mm-hv);font-weight:650}.meaning{font-size:var(--mm-meaning)}.rootNode{justify-content:center;margin:var(--tl-space-4) auto;color:var(--tl-seal)}.learned{font-size:var(--mm-copy);color:var(--tl-success);display:block}.rootNote{margin:0 auto var(--tl-space-4);text-align:center;font-size:var(--mm-copy);max-width:680px}.treeColumns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--tl-space-6);position:relative}.treeColumns:before{content:'';position:absolute;top:-12px;left:20%;right:20%;height:12px;border:1px solid var(--tl-hair);border-bottom:0}.tree,.children{margin:0;padding:0 0 0 var(--tl-space-4);list-style:none;border-left:1px solid var(--tl-sepia)}.tree>li,.children>li{position:relative;padding-bottom:var(--tl-space-4)}.tree>li:before,.children>li:before{content:'';position:absolute;left:calc(-1 * var(--tl-space-4));top:92px;width:var(--tl-space-4);border-top:1px solid var(--tl-sepia)}.addition{font-size:var(--mm-copy);line-height:1.55;display:flex;align-items:center;flex-wrap:wrap;gap:var(--tl-space-2);padding:var(--tl-space-2) 0;color:var(--tl-ink-soft)}.addition .part{font-family:MindmapJP,MindmapRare,var(--tl-font-jp);font-size:var(--mm-component);color:var(--tl-seal);flex-shrink:0;max-width:100%;overflow-wrap:anywhere}.addition .component{display:grid;min-width:0}.addition strong{font-weight:600;color:var(--tl-ink)}.disclosure{padding:var(--tl-space-2) 0;min-height:44px;color:var(--tl-seal);border:0;border-radius:0}.children{margin-top:var(--tl-space-2)}[hidden]{display:none!important}
dialog{max-width:790px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);border:1px solid var(--tl-hair);border-radius:var(--tl-radius-panel);background:var(--tl-glass-strong);color:var(--tl-ink);padding:var(--tl-space-5);backdrop-filter:blur(var(--tl-blur));overflow:auto}dialog::backdrop{background:#14252f88}.dialogHead{display:flex;justify-content:space-between;gap:var(--tl-space-4);align-items:center;border-bottom:1px solid var(--tl-hair);margin-bottom:var(--tl-space-4)}h2{font-size:24px;margin:0 0 var(--tl-space-3)}h3{font-size:20px}.search{display:grid;gap:var(--tl-space-2);font-size:var(--mm-copy)}.search input{width:100%;min-height:48px;background:var(--tl-paper);border:1px solid var(--tl-hair);border-radius:12px;padding:var(--tl-space-3);font-size:var(--mm-copy)}.catalogGroup{border-bottom:1px solid var(--tl-hair)}.catalogGroup>summary{font-size:20px;min-height:56px;cursor:pointer;padding:var(--tl-space-3) 0}.catalogMap{display:flex;flex-wrap:wrap;gap:var(--tl-space-4);align-items:center;width:100%;text-align:left;border:0;border-radius:0;border-bottom:1px solid var(--tl-hair)}.catalogMap .jp{font-size:64px;min-width:76px;max-width:100%;flex:0 0 auto;overflow-wrap:anywhere}.catalogMap span:last-child{font-size:var(--mm-copy);flex:1 1 160px}.detailHero{display:flex;align-items:center;gap:var(--tl-space-4)}.detailHero .glyph{font-size:var(--mm-glyph)}.componentRow{font-size:var(--mm-copy);padding:var(--tl-space-3) 0;border-bottom:1px solid var(--tl-hair)}.componentRow .jp{font-size:var(--mm-component)}.componentRow p{margin:var(--tl-space-2) 0}.wordRow{display:flex;gap:var(--tl-space-4);align-items:baseline;border-bottom:1px solid var(--tl-hair);padding:var(--tl-space-3) 0}.wordRow ruby{font-family:MindmapJP,MindmapRare,var(--tl-font-jp);font-size:36px}.wordRow rt{font-size:18px}.wordRow span{font-size:var(--mm-copy)}.detailActions{display:flex;gap:var(--tl-space-3);flex-wrap:wrap;margin:var(--tl-space-4) 0}.equation{display:flex;justify-content:center;align-items:center;gap:var(--tl-space-4);font-size:32px;flex-wrap:wrap}.equation .jp{font-size:var(--mm-glyph)}.choices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 var(--tl-space-4)}.choice{display:flex;flex-wrap:wrap;gap:var(--tl-space-3);align-items:center;text-align:left;border:0;border-bottom:1px solid var(--tl-hair);border-radius:0;min-height:118px}.choice .jp{font-size:var(--mm-component);min-width:60px}.choice>span:last-child{display:grid;font-size:var(--mm-copy)}.choice[aria-pressed=true]{background:var(--tl-wash);box-shadow:inset 4px 0 var(--tl-seal)}.feedback{border-left:3px solid var(--tl-seal);padding-left:var(--tl-space-4);font-size:var(--mm-copy);margin:var(--tl-space-4) 0}.note{font-size:var(--mm-copy);color:var(--tl-ink-soft)}.themeLabel{display:flex;gap:var(--tl-space-4);align-items:center;min-height:56px}select{min-height:44px;padding:var(--tl-space-2);background:var(--tl-paper);border:1px solid var(--tl-hair);border-radius:12px}#options a{display:flex;min-height:48px}#historyRows p{font-size:var(--mm-copy);border-bottom:1px solid var(--tl-hair);padding:var(--tl-space-3) 0}html[data-app="1"] #downloadApp{display:none}
@media(max-width:700px){.top{padding:var(--tl-space-3);flex-wrap:wrap;gap:var(--tl-space-2)}.top h1{font-size:20px;order:3;flex-basis:100%}.top .brand{flex:1}.paper{margin:0 var(--tl-space-2) var(--tl-space-5);padding:var(--tl-space-3);border-radius:var(--tl-radius-panel)}.activity{gap:var(--tl-space-2)}.activity button{padding:var(--tl-space-2) var(--tl-space-3)}.treeColumns{display:block}.treeColumns:before{display:none}.treeColumns>.tree{margin-top:var(--tl-space-4)}.tree,.children{padding-left:var(--tl-space-3)}.tree>li:before,.children>li:before{left:calc(-1 * var(--tl-space-3));width:var(--tl-space-3)}.addition{gap:var(--tl-space-2);align-items:flex-start;flex-wrap:wrap}.addition .part{max-width:100%;font-size:var(--mm-component)}.node{gap:var(--tl-space-2)}.glyph{font-size:var(--mm-glyph);flex-basis:100px}.meaning{font-size:var(--mm-meaning)}.hv{font-size:var(--mm-hv)}.children .children{padding-left:var(--tl-space-2)}dialog{padding:var(--tl-space-4)}.choices{grid-template-columns:1fr}.wordRow{flex-wrap:wrap;gap:var(--tl-space-2)}.catalogMap .jp{font-size:64px}.catalogMap span:last-child{font-size:var(--mm-copy);flex:1 1 160px}.equation{gap:var(--tl-space-2)}.equation .jp{font-size:var(--mm-glyph)}}
.top{background:var(--tl-glass-strong);border-bottom:1px solid var(--tl-hair)}
body{font-family:var(--tl-font-ui),MindmapJP,MindmapRare}
.addition .part{font-family:var(--tl-font-ui),MindmapJP,MindmapRare;font-size:var(--mm-copy)}.addition .componentGlyph{font-size:var(--mm-component)}
.choice .symbol{font-family:var(--tl-font-ui),MindmapJP,MindmapRare;font-size:var(--mm-copy);min-width:64px;max-width:100%;flex:0 1 auto;overflow-wrap:anywhere}.choice .symbol .componentGlyph{min-width:0;font-size:var(--mm-component)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(prefers-reduced-transparency:reduce){.paper,dialog{backdrop-filter:none;background:var(--tl-glass-strong)}}

/* Font sizes stay fixed at every tree depth; narrow screens reflow instead of shrinking. */
.meta,.component,.componentRow,.rootNote,.catalogMap span:last-child,.feedback{overflow-wrap:anywhere}
.addition .part{line-height:1.25}.addition .component{flex:1 1 150px}.addition .componentGlyph{display:inline-block;vertical-align:middle}
.top .brand,.top button,.activity button{font-size:18px}.detailHero .meta{min-width:0}.componentRow{font-size:22px}.componentRow .jp{display:inline-block;vertical-align:middle}
@media(max-width:700px){.addition .component{flex-basis:100%}.choice>span:last-child{flex-basis:100%}.catalogMap{gap:var(--tl-space-3)}}

.componentRow .formula{font-size:var(--mm-copy);line-height:1.6}.componentRow .formula .componentGlyph{font-size:var(--mm-component);vertical-align:middle}




