:root{--ink:#171612;--paper:#f3efdf;--red:#d43d2f;--line:#c9c1aa;--muted:#756f61}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-serif,"Songti SC","Noto Serif CJK SC",serif;min-height:100vh}.masthead{height:70px;border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,76px);font-family:ui-monospace,monospace}.brand{color:inherit;text-decoration:none;font-weight:900;letter-spacing:.12em}.brand span{font-family:serif;font-weight:400;letter-spacing:.05em;margin-left:14px}.masthead p{font-size:12px;color:var(--muted)}main{max-width:1180px;margin:auto;padding:64px 28px 40px}.intro{display:grid;grid-template-columns:140px 1fr;column-gap:40px}.issue{font:12px ui-monospace,monospace;color:var(--red);padding-top:16px}.intro h1{font-size:clamp(46px,7vw,86px);font-weight:500;line-height:1.05;margin:0;letter-spacing:-.06em}.intro h1 ruby{ruby-position:over}.intro h1 rt{font:12px ui-monospace,monospace;color:var(--red);letter-spacing:0}.intro p{grid-column:2;max-width:620px;font-size:17px;line-height:1.8;color:var(--muted);margin:22px 0 55px}.workbench{border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;min-height:440px}.input-panel,.output-panel{padding:28px}.input-panel{border-right:1px solid var(--ink);display:flex;flex-direction:column}.input-panel label,.toolbar>span{font:700 12px ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase}.input-panel textarea{flex:1;min-height:290px;border:0;resize:none;background:transparent;font:28px/1.8 ui-serif,"Songti SC",serif;color:var(--ink);outline:none;margin-top:20px}.input-panel textarea::placeholder{color:#aaa28e}.input-foot{display:flex;justify-content:space-between;align-items:center;font:12px ui-monospace,monospace;color:var(--muted)}button{font:inherit}.text-button{background:none;border:0;padding:0;color:var(--red);cursor:pointer}.toolbar{display:flex;justify-content:space-between;align-items:center}.segmented{border:1px solid var(--ink);display:flex}.mode{border:0;background:transparent;padding:8px 17px;cursor:pointer;font-size:13px}.mode+ .mode{border-left:1px solid var(--ink)}.mode.active{background:var(--ink);color:var(--paper)}.result{min-height:250px;padding:46px 8px 30px;font-size:27px;line-height:2.25;overflow-wrap:anywhere}.result ruby{margin-right:.08em}.result rt{font:12px ui-monospace,monospace;color:var(--red)}.poly{border-bottom:2px dotted var(--red);cursor:help}.legend{font-size:12px;color:var(--muted);margin-bottom:22px}.legend i{display:inline-block;width:18px;border-bottom:2px dotted var(--red);vertical-align:middle;margin-right:8px}.actions{display:flex;gap:10px}.button{padding:12px 20px;border:1px solid var(--ink);cursor:pointer}.dark{background:var(--ink);color:var(--paper)}.paper{background:transparent;color:var(--ink)}.status{height:20px;margin:9px 0 0;color:var(--red);font:12px ui-monospace,monospace}footer{max-width:1180px;margin:20px auto 0;padding:0 28px 40px;color:var(--muted);font-size:12px;text-align:right}@media(max-width:760px){.masthead{height:58px}.brand span,.masthead p{display:none}main{padding:38px 18px}.intro{display:block}.issue{margin-bottom:20px}.intro h1{font-size:48px}.intro p{margin-bottom:34px}.workbench{display:block}.input-panel{border-right:0;border-bottom:1px solid var(--ink);padding:22px 8px}.output-panel{padding:24px 8px}.input-panel textarea{min-height:190px;font-size:23px}.result{font-size:23px;min-height:210px;padding-top:38px}.actions .button{flex:1;padding:11px 8px}}
