@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(/assets/material-icons-kAwBdRge.woff2) format("woff2"),url(/assets/material-icons-Dr0goTwe.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}:root{--surface: #111318;--surface-low: #191c20;--surface-container: #1d2025;--surface-high: #282a2f;--surface-highest: #33353a;--on-surface: #e2e2e9;--on-surface-2: rgba(226,226,233,.7);--on-surface-3: rgba(226,226,233,.5);--on-surface-4: rgba(226,226,233,.35);--outline: #8e9099;--outline-variant: #44474f;--primary: #adc6ff;--on-primary: #002e69;--primary-container: #284777;--on-primary-container: #d8e2ff;--secondary-container: #3e4759;--on-secondary-container: #dae2f9;--tertiary-container: #573e5c;--on-tertiary-container: #fbd7fc;--error: #ffb4ab;--on-error: #690005;--error-container: #93000a;--on-error-container: #ffdad6;--amber: #ffb74d;--orange: #ffb74d;--green: #66bb6a;--mono: ui-monospace, "SF Mono", Menlo, "DejaVu Sans Mono", "Noto Sans Mono", "Segoe UI Symbol", monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--surface);color:var(--on-surface);font:13px/1.45 var(--mono)}h1,h2,h3,h4{margin:0;font-weight:600}.h-large{font-size:22px;font-weight:500}.h-title{font-size:16px}.h-section{font-size:14px;font-weight:600}.small{font-size:12px}.tiny{font-size:11px;letter-spacing:.4px}.muted{color:var(--on-surface-2)}.faint{color:var(--on-surface-3)}.fainter{color:var(--on-surface-4)}.err{color:var(--error)}.primary{color:var(--primary)}.amber{color:var(--amber)}.italic{font-style:italic}.mono{font-family:var(--mono)}.bold{font-weight:600}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.row.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1;min-width:0}.scroll{overflow:auto;min-height:0}.fill{height:100%;min-height:0}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;height:100%;padding:24px}.pad{padding:16px}.pad-lg{padding:24px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{background:var(--surface-low);border-radius:12px;padding:12px}.card.outlined{border:1px solid var(--outline-variant);background:transparent}.banner{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-high);border-left:3px solid var(--primary)}.banner.error{background:var(--error-container);border-left-color:var(--error);color:var(--on-error-container)}.note{background:var(--surface-high);border-radius:8px;padding:8px 10px;font-size:11px;white-space:pre-wrap;color:var(--on-surface-2)}.material-icons{font-size:inherit;line-height:1;vertical-align:middle;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default;opacity:.38}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 14px;border-radius:18px;white-space:nowrap}.btn.filled{background:var(--primary);color:var(--on-primary);font-weight:600}.btn.tonal{background:var(--secondary-container);color:var(--on-secondary-container)}.btn.outlined{border:1px solid var(--outline);color:var(--primary)}.btn.text{color:var(--primary);padding:0 10px}.btn.danger{color:var(--error)}.btn.filled.danger{background:var(--error);color:var(--on-error)}.btn:not(:disabled):hover{filter:brightness(1.12);background-color:#adc6ff14}.btn.filled:not(:disabled):hover{background-color:var(--primary)}.btn.filled.danger:not(:disabled):hover{background-color:var(--error)}.btn.tonal:not(:disabled):hover{background-color:var(--secondary-container)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--on-surface-2);flex:none;font-size:18px}.icon-btn:not(:disabled):hover{background:#e2e2e91a}.icon-btn.sel{color:var(--primary)}.icon-btn.danger{color:var(--error)}:focus-visible{outline:2px solid var(--primary);outline-offset:1px}label.field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--on-surface-2)}input[type=text],input[type=search],input[type=number],select,textarea{font:13px var(--mono);color:var(--on-surface);background:transparent;border:1px solid var(--outline);border-radius:4px;padding:7px 9px;width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}select option{background:var(--surface-high);color:var(--on-surface)}.help{font-size:11px;color:var(--on-surface-3)}.field-error{font-size:11px;color:var(--error)}input.bad{border-color:var(--error)}.select-inline{width:auto;padding:4px 6px}.switch{position:relative;display:inline-block;width:36px;height:20px;flex:none;cursor:pointer}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:var(--surface-highest);border:1px solid var(--outline);transition:.12s}.switch span:after{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;border-radius:50%;background:var(--outline);transition:.12s}.switch input:checked+span{background:var(--primary);border-color:var(--primary)}.switch input:checked+span:after{left:19px;background:var(--on-primary)}.switch input:focus-visible+span{outline:2px solid var(--primary);outline-offset:1px}input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px;margin:0;flex:none}.check{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:2px 8px;border:1px solid var(--outline-variant);border-radius:8px;font-size:12px;white-space:nowrap}button.chip:hover{background:#e2e2e914}.chip.sel{background:var(--secondary-container);color:var(--on-secondary-container);border-color:transparent}.chip .x{cursor:pointer;opacity:.65;font-size:14px}.chip .x:hover{opacity:1}.badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;background:var(--primary-container);color:var(--on-primary-container)}.badge.amber{background:#ffb74d33;color:var(--amber)}.badge.tertiary{background:var(--tertiary-container);color:var(--on-tertiary-container)}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;height:48px;background:var(--surface-container);border-bottom:1px solid var(--outline-variant);padding:0 8px;flex:none;gap:2px}.tab{display:flex;align-items:center;gap:6px;height:47px;padding:0 16px;color:var(--on-surface-2);border-bottom:2px solid transparent}.tab.sel{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab:hover{background:#e2e2e90d}.main{flex:1;display:flex;min-height:0}.shell{display:flex;flex:1;min-width:0;height:100%}.sidebar{background:var(--surface-container);display:flex;flex-direction:column;flex:none;overflow:hidden}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 8px 16px;font-size:11px;letter-spacing:1.2px;color:var(--on-surface-2);font-weight:600}.side-item{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:1px 8px;border-radius:8px;color:var(--on-surface);text-decoration:none;font-size:12.5px;cursor:pointer}.side-item .material-icons{font-size:16px;color:var(--on-surface-2)}.side-item:hover{background:#e2e2e90f}.side-item.sel{background:var(--primary-container);color:var(--on-primary-container);font-weight:600}.side-item.sel .material-icons{color:var(--on-primary-container)}.divider{width:8px;flex:none;cursor:col-resize;display:flex;justify-content:center;touch-action:none}.divider:after{content:"";width:1px;background:#44474f73;transition:.12s}.divider:hover:after{width:2px;background:var(--outline-variant)}.page{flex:1;min-width:0;height:100%;overflow:auto}.hr{border-top:1px solid var(--outline-variant)}.vr{border-left:1px solid var(--outline-variant)}.menu{position:fixed;z-index:60;min-width:220px;background:var(--surface-high);border-radius:6px;box-shadow:0 6px 22px #00000073;padding:4px 0}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:7px 14px;text-align:left}.menu-item:not(:disabled):hover{background:#e2e2e914}.menu-sep{border-top:1px solid var(--outline-variant);margin:4px 0}.menu-label{display:flex;align-items:center;height:32px;padding:0 10px;border-radius:4px}.menu-label:hover,.menu-label.open{background:#e2e2e914}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.dialog{background:var(--surface-high);border-radius:20px;padding:22px;width:460px;max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 32px #00000080}.dialog.wide{width:1040px;height:100%;padding:0;border-radius:16px;gap:0}.dialog-title{font-size:18px;font-weight:500}.dialog-body{overflow:auto;min-height:0;display:flex;flex-direction:column;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--on-surface);color:#2e3036;padding:10px 16px;border-radius:6px;z-index:80;max-width:80vw;box-shadow:0 4px 14px #0006;display:flex;align-items:center;gap:12px}.viol{color:var(--error);text-decoration:underline wavy var(--error);text-underline-offset:2px}.ipa{color:var(--on-surface-3)}.overridden{color:var(--orange);font-style:italic}.list-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;text-align:left;cursor:pointer;border-left:3px solid transparent}.list-row:hover{background:#e2e2e90d}.list-row.sel{background:var(--primary-container);color:var(--on-primary-container)}table.data{border-collapse:collapse;width:100%;font-size:12px}table.data th{text-align:left;font-weight:500;font-size:11px;color:var(--on-surface-2);padding:6px 8px;cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--outline-variant);position:sticky;top:0;background:var(--surface-low)}table.data td{padding:6px 8px;border-bottom:1px solid rgba(68,71,79,.4);cursor:pointer}table.data tr:hover td{background:#e2e2e90a}table.data tr.sel td{background:var(--primary-container)}.paradigm{border-collapse:collapse}.paradigm th{font-weight:600;font-size:11px;padding:6px 8px;background:var(--surface-container);border:1px solid var(--outline-variant)}.paradigm td{border:1px solid var(--outline-variant);padding:0;min-width:96px;height:48px;text-align:center;position:relative;cursor:pointer}.paradigm td:hover{background:#e2e2e90d}.cell{padding:5px 8px;display:flex;flex-direction:column;align-items:center;gap:1px}.cell .rom{font-size:13px}.cell .ph{font-size:11px;color:var(--on-surface-3)}.cell-corner{position:absolute;top:2px;right:3px;font-size:10px;color:var(--on-surface-3)}.cell-add{position:absolute;bottom:3px;right:3px;font-size:11px;opacity:.3}.cell.override{background:#ffb74d1a}.cell.unmarked .rom,.cell.unmarked .ph{opacity:.6}.ipa-pop{position:fixed;z-index:70;width:340px;height:230px;background:var(--surface-high);border-radius:8px;box-shadow:0 6px 24px #00000080;display:flex;flex-direction:column}.ipa-tabs{display:flex;align-items:center;background:var(--surface-highest);border-radius:8px 8px 0 0;padding-right:4px}.ipa-tab{padding:7px 8px;font-size:11px;color:var(--on-surface-2);border-bottom:2px solid transparent}.ipa-tab.sel{color:var(--primary);border-bottom-color:var(--primary)}.ipa-grid{display:flex;flex-wrap:wrap;gap:2px;padding:6px;overflow:auto}.ipa-key{min-width:30px;height:30px;padding:0 4px;border-radius:4px;background:var(--surface-container);font-size:14px}.ipa-key:hover{background:#adc6ff29}.ipa-sym{font-size:11px;min-width:10px;height:18px;border-radius:3px;text-align:center;line-height:1;padding:0 1px}.ipa-sym:not(:disabled):hover{background:var(--primary-container)}.ipa-sym.silent{color:var(--on-surface-3)}.chart-grid{display:grid;gap:1px 0;align-items:center;font-size:10px}.pill{display:inline-flex;flex-direction:column;align-items:center;padding:4px 10px;border:1px solid var(--outline-variant);border-radius:14px;background:var(--surface-low)}.pill.current{background:var(--primary-container);color:var(--on-primary-container);border-color:transparent}button.pill:hover{border-color:var(--primary)}.tier{display:flex;flex-direction:column;align-items:center;gap:2px}.seg-editor{display:flex;flex-wrap:wrap;align-items:center;gap:4px;border:1px solid var(--outline);border-radius:4px;padding:4px 6px;min-height:34px}.seg-editor:focus-within{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}.seg-editor input{border:0!important;outline:0!important;padding:3px 2px;flex:1;min-width:70px;width:70px}.seg-chip{display:inline-flex;align-items:center;gap:2px;background:var(--surface-highest);border-radius:5px;padding:1px 3px 1px 6px;font-size:12px}.seg-chip.class{background:var(--secondary-container);color:var(--on-secondary-container)}.seg-chip.optional{border:1px dashed var(--outline)}.seg-chip button{display:inline-flex;font-size:13px;opacity:.65}.seg-chip button:hover{opacity:1}.interlinear{display:flex;flex-wrap:wrap;gap:14px 14px;align-items:flex-start}.token{display:flex;flex-direction:column;gap:3px}.token .t1{padding:2px 4px;border-radius:3px;font-size:14px}.token .t1.unknown{background:#ffa0004d}.construction-span{display:flex;flex-direction:column;gap:4px}.construction-name{padding:2px 4px 0;border-top:2px solid var(--primary);font-size:10px;color:var(--primary);text-align:center;white-space:nowrap}.token .t2{font-size:11px;padding:0 4px}.token .t3{font-size:11px;font-style:italic;padding:0 4px;color:var(--on-surface-3)}.progress{height:8px;border-radius:4px;background:var(--surface-highest);overflow:hidden}.progress>div{height:100%;background:var(--primary)}.dot{width:8px;height:8px;border-radius:50%;flex:none}.welcome{height:100%;overflow:auto;display:flex;justify-content:center}.welcome>div{width:480px;max-width:100%;padding:48px 32px;display:flex;flex-direction:column;gap:8px;margin:auto}pre.code{background:var(--surface-low);border-radius:8px;padding:10px;font-size:11.5px;overflow:auto;margin:0;white-space:pre}.trapezoid{position:relative}.trapezoid svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}
