:root{color:#24292f;--accent:#3b6ea5;--accent-soft:#dce8f9;--box-fill:#eef2f8;--box-stroke:#b9c4d8;--arc:#7c8db5;--uncertain:#b58a3c;--uncertain-line:#aab6d1;--danger:#b03a2e;background:#f6f8fa;font-family:system-ui,Hiragino Sans,Noto Sans JP,sans-serif}body{margin:0}.app{max-width:1200px;margin:0 auto;padding:0 1rem}.rule{border:0;border-top:1px solid var(--box-stroke);margin:1rem 0}header{flex-wrap:wrap;align-items:center;gap:2rem;padding:.75rem 0;display:flex}header h1{margin:0;font-size:1.4rem}.toolbar{flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:.9rem;display:flex}.toolbar .views button{border:1px solid var(--box-stroke);cursor:pointer;background:#fff;padding:.25rem .6rem}.toolbar .views button.active{background:var(--accent-soft);border-color:var(--accent)}.toolbar .views button:first-child{border-radius:6px 0 0 6px}.toolbar .views button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.brand{align-items:center;gap:.5rem;display:flex}.locale-switcher{border-radius:6px;justify-content:center;align-items:center;padding:.25rem .35rem;font-size:1.1rem;display:inline-flex;position:relative}.locale-switcher:hover{background:var(--accent-soft)}.locale-switcher:has(select:focus-visible){outline:2px solid var(--accent);outline-offset:1px}@supports not selector(:has(*)){.locale-switcher:focus-within{outline:2px solid var(--accent);outline-offset:1px}}.locale-switcher select{opacity:0;cursor:pointer;border:none;width:100%;height:100%;position:absolute;inset:0}.results{grid-template-columns:1fr 320px;align-items:start;gap:1rem;display:grid}@media (width<=800px){.results{grid-template-columns:1fr}}.entry{flex-direction:column;gap:.75rem;display:flex}.entry>.hint,.entry>.loading{margin:0}.sentence-input{align-items:flex-start;gap:.5rem;display:flex}.sentence-input textarea{border:1px solid var(--box-stroke);resize:vertical;border-radius:8px;flex:1;padding:.5rem;font-size:1.1rem}.sentence-input button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:1rem}.sentence-input button:disabled{opacity:.5;cursor:default}.hint,.loading{color:#57606a}.linklike{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.error-banner{border:1px solid var(--danger);background:#fdedec;border-radius:8px;padding:.75rem 1rem}.sentence-error{color:var(--danger);margin:0}.card{border:1px solid var(--box-stroke);background:#fff;border-radius:10px;margin-bottom:1rem;padding:.75rem}.card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tree-scroll{overflow-x:auto}.tree-scroll svg{margin-inline:auto;display:block}svg .bunsetsu{cursor:pointer;outline:none}svg .bunsetsu rect{fill:var(--box-fill);stroke:var(--box-stroke)}svg .bunsetsu.root rect{fill:var(--accent-soft);stroke:var(--accent)}svg .bunsetsu.hl rect,svg .bunsetsu:focus-visible rect{stroke:var(--accent);stroke-width:2px}svg .bunsetsu.selected rect{fill:var(--accent)}svg .bunsetsu.selected text.surface{fill:#fff}svg text{fill:#24292f;font-size:15px}svg text.furigana{fill:#57606a;font-size:10px}svg path.arc{fill:none;stroke:var(--arc);stroke-width:1.5px}svg path.arc.low{stroke:var(--uncertain-line);stroke-dasharray:5 3}svg path.arc.forced{stroke:var(--uncertain-line);stroke-dasharray:2 3}svg path.arc.hl{stroke:var(--accent);stroke-width:2.5px}svg line.edge{stroke:var(--box-stroke);stroke-width:1.5px}svg line.edge.low{stroke:var(--uncertain-line);stroke-dasharray:5 3}svg line.edge.forced{stroke:var(--uncertain-line);stroke-dasharray:2 3}svg line.edge.hl{stroke:var(--accent);stroke-width:2.5px}svg marker path{fill:var(--arc)}svg text.furigana,svg text.relation-label.on-edge{paint-order:stroke;stroke:#fff;stroke-width:3px}svg .connector .hit{fill:none;stroke:#0000;stroke-width:12px;pointer-events:stroke}svg path.arc.chain:not(.hl),svg line.edge.chain:not(.hl){stroke:var(--chain);stroke-width:3px}svg .bunsetsu.chain rect{fill:var(--chain-soft);stroke:var(--chain)}svg .bunsetsu.chain.hl rect,svg .bunsetsu.chain:focus-visible rect{stroke:var(--accent);stroke-width:2px}.inspector{border:1px solid var(--box-stroke);background:#fff;border-radius:10px;padding:.75rem 1rem;position:sticky;top:1rem}.inspector h2{align-items:center;gap:.35rem;margin-top:0;font-size:1.2rem;display:flex}.inspector .icon{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:1rem;display:inline-flex}.inspector .icon:disabled{opacity:.4;cursor:default}.inspector .m-head{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.inspector .emoji{line-height:1}.inspector .confidence.uncertain{color:var(--uncertain)}.relation-line{color:#475569;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;margin:.15rem 0 .6rem;font-size:.82rem;display:flex}.relation-term{font-weight:600}.relation-explain{color:color-mix(in srgb, currentColor 75%, transparent);flex-basis:100%}.relation-line .relation-ud{font-size:.75rem}.parts{vertical-align:bottom;flex-wrap:wrap;align-items:flex-end;gap:4px 3px;display:inline-flex}.part-col{flex-direction:column;align-items:center;display:inline-flex}.part-ruby{min-height:.85em;color:color-mix(in srgb, currentColor 75%, transparent);font-size:.62rem;font-weight:400;line-height:1.3}.part{background:color-mix(in srgb, var(--part) 16%, transparent);text-align:center;border-radius:7px;align-self:stretch;padding:.05em .12em;transition:background .12s}.part-label{color:color-mix(in srgb, currentColor 55%, transparent);margin-top:2px;font-size:.6rem;font-weight:400;line-height:1.5}svg .relation-label{fill:color-mix(in srgb, currentColor 55%, transparent);font-size:10px}.part.active{background:color-mix(in srgb, var(--part) 34%, transparent)}.part.quiet{background:color-mix(in srgb, currentColor 7%, transparent)}.part.quiet.active{background:color-mix(in srgb, var(--part) 30%, transparent)}.parts-example{margin:.4rem 0;font-size:1.5rem;font-weight:600}.morpheme{border-top:1px solid #eaeef2;border-left:3px solid var(--part,transparent);padding:.5rem 0 .5rem .45rem;font-size:.92rem;transition:background .12s,border-color .12s}.morpheme.quiet{border-left-color:color-mix(in srgb, currentColor 15%, transparent)}.morpheme.active,.morpheme:focus-within{background:color-mix(in srgb, var(--part) 10%, transparent)}.morpheme.quiet.active,.morpheme.quiet:focus-within{border-left-color:var(--part)}.morpheme .m-surface{font-size:1.05rem;font-weight:600}.morpheme .m-reading{color:#57606a}.morpheme .en{color:#57606a;margin-left:.4rem}.morpheme a{color:var(--accent);text-decoration:none}.actions{border-top:1px solid #eaeef2;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.actions button,.actions a{border:1px solid var(--box-stroke);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-family:inherit;font-size:.85rem;display:inline-flex}.actions a{color:inherit;text-decoration:none}.actions .gt-icon{width:16px;height:16px;display:block}.actions button:disabled{opacity:.5;cursor:default}.confidence-note{color:var(--uncertain);font-size:.85rem}.full-text{font-size:1.05rem}footer{border-top:1px solid var(--box-stroke);color:#57606a;margin-top:1.5rem;padding:.75rem 0;font-size:.78rem}footer a{color:var(--accent)}.help-trigger{margin-left:auto}.settings-menu{position:relative}.icon-button{cursor:pointer;color:#57606a;background:0 0;border:none;border-radius:6px;padding:.35rem;display:inline-flex}.icon-button:hover{background:var(--accent-soft)}.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.icon-button[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.settings-popup{z-index:20;border:1px solid var(--box-stroke);background:#fff;border-radius:10px;flex-direction:column;gap:.6rem;min-width:15rem;padding:.75rem 1rem;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 20px #0000001f}.settings-popup .row{flex-direction:column;gap:.25rem;display:flex}.settings-popup .check-row{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.settings-popup .row-label{text-transform:uppercase;letter-spacing:.04em;color:#57606a;font-size:.68rem}.settings-popup select{border:1px solid var(--box-stroke);background:#fff;border-radius:6px;padding:.25rem}.settings-popup .rate-row{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.settings-popup .no-voice-note{color:#57606a;max-width:15rem;margin:0;font-size:.8rem;font-style:italic}.settings-popup :disabled{opacity:.5;cursor:default}.settings-popup .chain-row{border:none;margin:0;padding:0}.settings-popup .chain-row legend{padding:0}.settings-popup .swatches{gap:10px;margin-top:.25rem;display:flex}.settings-popup .swatch{background:var(--sw-soft);border:2px solid var(--sw);cursor:pointer;border-radius:6px;width:28px;height:28px}.settings-popup .swatch-none{background:linear-gradient(135deg, transparent 44%, var(--danger) 44%, var(--danger) 56%, transparent 56%), #fff;border:1px solid var(--box-stroke)}.settings-popup .swatch-input{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-popup .swatch-input:checked+.swatch,.settings-popup .swatch-input:focus-visible+.swatch{outline:2px solid var(--accent);outline-offset:2px}.help-dialog{border:none;border-radius:12px;width:calc(100vw - 2rem);max-width:640px;max-height:85vh;padding:0;box-shadow:0 10px 40px #0003}.help-dialog::backdrop{background:#0f172a66}.help-body{box-sizing:border-box;max-height:85vh;padding:1rem 1.5rem 1.5rem;overflow-y:auto}.help-header{justify-content:space-between;align-items:center;display:flex}.help-header h2{text-transform:capitalize;margin:0;font-size:1.15rem}.help-body section{margin-top:.9rem}.help-body h3{margin:0 0 .3rem;font-size:.95rem}.help-body p,.help-body li{margin:.2rem 0;font-size:.9rem;line-height:1.5}.help-body ul{margin:.2rem 0;padding-left:1.2rem}.help-demo{margin:.5rem 0}.help-legend{padding:0;list-style:none}.help-legend li{align-items:center;gap:.5rem;display:flex}.legend-swatch{border-radius:4px;flex:none;width:14px;height:14px}.legend-selected{background:var(--accent)}.legend-link{background:var(--box-fill);border:2px solid var(--accent)}.legend-chain{background:var(--sw-soft);border:2px solid var(--sw)}.legend-line{border-top:2px dotted var(--uncertain-line);flex:none;width:18px}.help-note{color:#57606a;font-size:.8rem;font-style:italic}svg path.extent-bracket{fill:none;stroke:#b08d3e;stroke-width:1.6px;opacity:.8}svg text.extent-label{fill:#b08d3e;font-size:10px}
