:root{--bg: #fbfaf7;--panel: #fff;--ink: #1c1b19;--muted: #6b6862;--line: #ddd8cf;--accent: #8b5e34;--warn: #b45309;--error: #b91c1c;--pillar: #1d4ed8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;line-height:1.7}.head{padding:24px 24px 8px;border-bottom:1px solid var(--line)}.head h1{margin:0;font-size:20px;letter-spacing:.04em}.lead{margin:4px 0 0;color:var(--muted);font-size:13px}.crumb{margin:0 0 6px;font-size:12px;color:var(--muted)}.crumb a{color:var(--accent)}.wrap{max-width:1080px;margin:0 auto;padding:20px 24px 64px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}textarea{width:100%;font:15px/1.6 ui-monospace,SF Mono,Menlo,monospace;padding:10px;border:1px solid var(--line);border-radius:6px;resize:vertical}.row{display:flex;gap:10px;margin-top:10px;align-items:center}button{font:inherit;padding:7px 16px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button:hover{filter:brightness(1.05)}select{font:inherit;padding:6px;border:1px solid var(--line);border-radius:6px}.sentence{position:relative;padding:28px 8px 56px;overflow-x:auto;min-height:120px}.line{display:flex;flex-wrap:wrap;align-items:flex-start;row-gap:44px}.tok{display:flex;flex-direction:column;align-items:center;padding:0 4px;cursor:pointer;border-radius:4px}.tok:hover{background:#f2ede4}.tok.selected{background:#eadfcc}.tok .infl{font:10px/1.2 ui-monospace,monospace;color:#5b7f7a;margin-bottom:1px;min-height:12px;white-space:nowrap}.tok .w{font:17px/1.4 Times New Roman,serif;white-space:nowrap}.tok.pillar .w{color:var(--pillar);font-weight:700}.tok.edited .w{text-decoration:underline dotted var(--accent)}.tok .sym{font:12px/1.2 ui-monospace,monospace;color:var(--accent);min-height:16px;margin-top:2px;white-space:nowrap}.tok .sub{font-size:10px;color:var(--muted)}.verbal{display:inline-flex;border-top:1px solid var(--accent)}.verbal .front{padding:0 4px}.verbal .back{padding:0 4px;border-left:1px solid var(--accent)}.brk{font:20px/1 serif;color:#444;padding:0 2px;align-self:center}.brk.n{color:#7c3aed}.brk.a{color:#0f766e}.brk.ad{color:#b45309}.arrows{position:absolute;inset:0;pointer-events:none}.hint,.muted{color:var(--muted);font-size:12px}.cols{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}@media(max-width:820px){.cols{grid-template-columns:1fr}}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:12px}.tab{border:none;border-bottom:2px solid transparent;border-radius:0;padding:6px 10px;color:var(--muted)}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.tabbody{font-size:13px}.hidden{display:none}.item{padding:8px 0;border-bottom:1px dashed var(--line)}.item:last-child{border-bottom:none}.item .t{font-weight:600}.item .d{color:var(--muted)}.item.error .t{color:var(--error)}.item.warn .t{color:var(--warn)}.item .rule{font-size:11px;color:var(--muted)}.ph{font-size:13px;margin:0 0 10px;letter-spacing:.04em}.field{margin-bottom:10px}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.field select{width:100%}.chosen{font:18px/1.3 Times New Roman,serif;margin-bottom:8px}.cands{font-size:11px;color:var(--muted);margin-top:4px}.cands del{color:#b6b0a6}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line)}.modes{display:flex;gap:4px}.mode{padding:5px 12px;font-size:13px}.mode.active{background:var(--accent);color:#fff;border-color:var(--accent)}.toggle{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}.spacer{flex:1}.toolbar button:not(.mode){font-size:12px;padding:5px 10px}.palette{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.palette button{min-width:34px;padding:4px 8px;font:13px/1.2 ui-monospace,monospace}.palette button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.palette .sep{width:1px;background:var(--line);margin:0 4px}.tok.pending{background:#cfe0f7;box-shadow:inset 0 0 0 1px var(--pillar)}.sentence.mode-arrow .tok,.sentence.mode-symbol .tok,.sentence.mode-clause .tok{cursor:crosshair}.arc{pointer-events:stroke;cursor:pointer}.arc:hover{stroke-width:2.4}.phrase{pointer-events:stroke;cursor:pointer}.phrase:hover{stroke-width:2.6}.sentence.mode-underline .tok{cursor:crosshair}.patterns{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}.patterns .ph{margin-top:12px}.patterns .ph:first-child{margin-top:0}.pat{border-left:3px solid var(--line);padding:6px 0 6px 10px;margin-bottom:8px}.pat.pillar{border-left-color:var(--pillar)}.pat-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.pat-scope{font-size:11px;color:var(--muted)}.pat-type{font:15px/1 ui-monospace,monospace;color:var(--accent)}.pat-name{font-size:14px;font-weight:600}.pat-formula{font:13px/1 ui-monospace,monospace;color:var(--ink);letter-spacing:.04em}.pat-body{font:13px/1.6 Times New Roman,serif}.pat-note{font-size:11px;color:var(--muted)}
