:root{--bg: #fafafa;--fg: #1a1a1a;--muted: #666;--border: #ddd;--accent: #2563eb;--accent-fg: #fff;--code-bg: #f3f4f6;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;line-height:1.7;color:var(--fg);background:var(--bg)}*{box-sizing:border-box}body{margin:0;padding:1.5rem;max-width:820px;margin-inline:auto}header h1{margin:0 0 .25rem;font-size:1.6rem}.lead{margin:0 0 1.5rem;color:var(--muted);font-size:.95rem}label{display:block;font-weight:600;margin-bottom:.4rem}textarea{width:100%;min-height:8rem;padding:.75rem;font-size:1rem;line-height:1.7;border:1px solid var(--border);border-radius:8px;resize:vertical;font-family:inherit}.howto{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 1.5rem;padding:.75rem 1rem;background:#eef2ff;border:1px solid #dbe3ff;border-radius:8px;font-size:.9rem}.howto li{display:flex;align-items:center;gap:.4rem}.step-no{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:.8rem;font-weight:700}.meta-row{display:flex;justify-content:flex-end;margin-top:.3rem}.char-count{font-size:.8rem;color:var(--muted)}.char-count.over{color:#c0262d;font-weight:600}.controls{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin:1.25rem 0 0}.options{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.25rem;margin:.85rem 0 0}.opt{font-size:.9rem;font-weight:400;color:var(--fg);display:inline-flex;align-items:center;gap:.4rem;margin:0}.opt select{font:inherit;font-size:.9rem;padding:.3rem .4rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--fg)}.trial-note{margin:.5rem 0 0;font-size:.78rem;color:var(--muted)}.hint{margin:.6rem 0 0;font-size:.82rem;color:var(--muted)}.caveat{margin:.4rem 0 0;font-size:.8rem;color:var(--muted)}.modes{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem .6rem;margin:.85rem 0 0}.modes legend{font-weight:600;font-size:.85rem;padding:0 .4rem;color:var(--muted)}.mode{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"radio title" "radio desc";column-gap:.55rem;align-items:center;margin:0 0 .55rem;font-weight:400;cursor:pointer}.mode:last-of-type{margin-bottom:0}.mode input{grid-area:radio;align-self:center}.mode-title{grid-area:title;font-weight:600}.mode-desc{grid-area:desc;font-size:.82rem;color:var(--muted)}.sparkle{color:var(--accent)}button{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:6px;background:#fff;padding:.45rem .9rem}button#run{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.status{color:var(--muted);font-size:.9rem}.status.busy:before{content:"⏳ "}.output{margin-top:1.75rem}.output-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.output h2{font-size:1.05rem;margin:0 0 .5rem}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.copy{font-size:.85rem;padding:.25rem .6rem}.preview{border:1px solid var(--border);border-radius:8px;padding:1rem;min-height:3rem;background:#fff;font-size:1.4rem;line-height:2.2;white-space:pre-wrap;word-break:break-word}.preview ruby rt{font-size:.5em;color:var(--muted)}.code{border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--code-bg);white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.95rem;min-height:2rem;margin:0}.about{margin-top:2.5rem}.about details{border:1px solid var(--border);border-radius:8px;background:#fff}.about summary{cursor:pointer;padding:.85rem 1rem;font-weight:600;font-size:.95rem}.about summary:hover{color:var(--accent)}.about-body{padding:0 1rem 1rem;border-top:1px solid var(--border)}.about-body h3{font-size:.95rem;margin:1rem 0 .3rem}.about-body p{margin:0;font-size:.9rem;color:#333}.tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.tab{border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;background:#f0f0f0;color:var(--muted);font-weight:600;padding:.55rem 1.1rem;margin-bottom:-2px}.tab.active{background:#fff;color:var(--fg);border-bottom:2px solid #fff}.text-input{width:100%;padding:.6rem .75rem;font:inherit;font-size:1rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem}.docx-upload{display:inline-block;font-size:.85rem;font-weight:400;padding:.35rem .7rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.docx-upload:hover{border-color:var(--accent);color:var(--accent)}.vpreview{writing-mode:vertical-rl;-webkit-writing-mode:vertical-rl;border:1px solid var(--border);border-radius:8px;background:#fff;height:60vh;min-height:18rem;padding:1.25rem;overflow-x:auto;overflow-y:hidden;font-size:1.15rem;line-height:2}.vpreview p{margin:0;text-indent:1em}.vpreview p.no-indent{text-indent:0}.vpreview h1.chapter-title{font-size:1.4em;font-weight:700;margin:0 0 2em;text-indent:0}.vpreview ruby>rt{font-size:.5em;color:var(--muted)}.vpreview .tcy{text-combine-upright:all;-webkit-text-combine:horizontal}.vpreview .seg{cursor:pointer;border-radius:3px}.vpreview .seg.unc{background:#fff3cd}.vpreview .seg.sel{outline:2px solid var(--accent)}.vpreview .addable{color:#999}.edit-panel{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;margin-top:.85rem;padding:.75rem 1rem;border:1px solid var(--accent);border-radius:8px;background:#eff4ff}.edit-panel label{margin:0;font-weight:600}.edit-panel .edit-reading{width:auto;flex:1;min-width:8rem;margin:0}.edit-label{font-size:.9rem}.feedback-row{margin-top:1.5rem;font-size:.85rem}.feedback-row a{color:var(--accent)}footer{margin-top:2.5rem;color:var(--muted);font-size:.8rem;border-top:1px solid var(--border);padding-top:1rem}@media(max-width:480px){body{padding:1rem}header h1{font-size:1.4rem}.howto{flex-direction:column;gap:.4rem}.controls{gap:.6rem}button#run{width:100%;padding:.7rem 1rem}.status{width:100%}.options{flex-direction:column;align-items:flex-start;gap:.6rem}.opt,.opt select{width:100%}.opt select{flex:1}.output-head .actions{width:100%}.actions .copy{flex:1}.preview{font-size:1.25rem;line-height:2}.vpreview{height:55vh;font-size:1.05rem}.edit-panel .edit-reading{width:100%;flex:none}}
