:root{color-scheme:light;--paper:#f7f5ed;--ink:#263d34;--muted:#58665d;--line:#d5dace;--accent:#b34528;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}button,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled,select:disabled,textarea:disabled{cursor:wait;opacity:.65}button{touch-action:manipulation}a{color:inherit}button:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #b34528;outline-offset:4px}[hidden]{display:none!important}.masthead,main,footer{max-width:1120px;margin:auto}.masthead{padding:27px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{text-decoration:none;font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.05em}.brand>span{display:inline-grid;place-items:center;width:30px;height:35px;color:var(--paper);background:var(--accent);font-size:16px;margin-right:8px}.edition{font-size:10px;letter-spacing:.16em}.intro{padding:64px 32px 34px}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--accent);margin:0 0 17px}h1{font-family:var(--serif);font-size:clamp(34px,5vw,54px);font-weight:500;line-height:1.5;letter-spacing:.08em;margin:0 0 20px}h1 span{color:#536b52}.lead{color:var(--muted);line-height:2;margin:0 0 22px}.privacy{font-size:12px;color:var(--muted);margin:0}.privacy span{color:#667d52;margin-right:7px}main{padding-bottom:35px}.workspace{margin:0 32px;background:#fffef9;border:1px solid var(--line);border-radius:14px;padding:28px 30px 16px;box-shadow:0 8px 30px #293b2b05}.editor-top,.editor-bottom,.field-meta,.result-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.step{font-size:10px;color:var(--accent);letter-spacing:.12em;margin:0 0 3px}h2{font-family:var(--serif);font-size:23px;margin:0;font-weight:500}.text-button{border:0;background:transparent;color:var(--ink);min-height:44px;padding:8px 4px;font-size:12px;text-decoration:underline;text-underline-offset:5px}.text-button:hover{color:var(--accent)}textarea{display:block;width:100%;resize:vertical;min-height:170px;max-height:700px;border:1px solid #c7cec0;border-radius:8px;background:#fafbf6;padding:18px 20px;color:var(--ink);line-height:1.9;margin-top:22px;font-size:16px}textarea::placeholder{color:#6a786c}textarea[aria-invalid="true"]{border-color:var(--accent)}.field-meta{align-items:baseline;color:var(--muted);font-size:11px;margin:6px 0 20px}.field-meta p{margin:0}#counter{white-space:nowrap}#counter.over{color:var(--accent);font-weight:700}.options{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:16px;align-items:end}.options label{display:block;font-size:12px;margin-bottom:7px}select{width:100%;min-height:48px;padding:10px 34px 10px 12px;border:1px solid #c7cec0;border-radius:6px;background:#fffef9;color:var(--ink)}.primary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:48px;background:var(--ink);color:#fffef9;border:1px solid var(--ink);border-radius:6px;padding:11px 20px}.primary:hover{background:#3d594a}.editor-bottom{border-top:1px solid #e4e7dd;margin-top:23px;padding-top:8px;font-size:11px;color:var(--muted)}.error{color:#9c321c;font-size:14px}.status{min-height:26px;margin:12px 32px;color:var(--muted);font-size:12px}.result-heading{margin:28px 32px 20px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 32px}.result{min-width:0;border:1px solid var(--line);border-radius:10px;padding:27px;background:#fffef9}.tale{background:#edf1e5;border-color:#cdd5bd}.tag{display:inline-block;font-size:11px;letter-spacing:.07em;border-bottom:1px solid #a0b195;padding-bottom:5px}.result h3{font-family:var(--serif);font-size:23px;line-height:1.6;font-weight:500;margin:15px 0 8px}.note{color:var(--muted);font-size:11px;line-height:1.8;margin:0 0 24px}.prose{line-height:2.05;overflow-wrap:anywhere;white-space:pre-wrap}.prose p{margin:0 0 16px}.prose blockquote{margin:16px 0;padding:2px 0 2px 15px;border-left:2px solid #9aab87}.tale .prose{font-family:var(--serif);font-size:16px}.about{margin:48px 32px 15px;border-top:1px solid var(--line);padding-top:26px}.about h2{font-size:17px}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;color:var(--muted);font-size:12px}.about strong{display:block;color:var(--ink);margin-bottom:6px;font-weight:500}footer{padding:22px 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.masthead{padding:18px 20px}.brand{font-size:16px}.edition{font-size:8px;letter-spacing:.05em}.intro{padding:40px 20px 26px}.lead{font-size:14px}.workspace{margin:0 16px;padding:22px 18px 12px}.editor-top{align-items:flex-start;gap:8px}.editor-top .text-button{font-size:11px;max-width:90px;text-align:right}h2{font-size:20px}textarea{padding:14px;margin-top:16px;min-height:185px}.field-meta{align-items:flex-start;gap:10px;font-size:10px}.field-meta p{max-width:60%}.options{grid-template-columns:1fr 1fr;gap:14px}.primary{grid-column:1/-1;min-height:52px}.editor-bottom{align-items:center;gap:8px}.editor-bottom p{max-width:56%}.editor-bottom .text-button{font-size:11px}.status{margin:10px 20px}.result-heading{margin:26px 20px 18px;align-items:flex-start}.result-heading .text-button{max-width:98px;text-align:right}.result-heading h2{font-size:18px}.result-grid{grid-template-columns:1fr;margin:0 16px;gap:16px}.result{padding:23px}.about{margin:36px 20px 10px}.about-grid{grid-template-columns:1fr;gap:0}footer{padding:20px}.privacy{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,color .15s}}
/* Ver.2 local foundation: source only, no external assets. */
.preview-notice{padding:14px 18px;border:1px solid #d0d9c8;border-radius:8px;background:#edf1e5;font-size:13px;max-width:760px}.preview-notice strong{display:block;color:var(--ink)}.steps{display:flex;gap:10px;margin:0 32px 18px;font-size:12px;flex-wrap:wrap}.steps span{border-radius:20px;padding:6px 14px;background:#e9ece3;color:var(--muted)}.steps [aria-current=step]{background:var(--ink);color:#fffef9}.field-label{display:block;margin-top:18px;font-size:13px}textarea{margin-top:8px}.stage-panel{margin-top:28px}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:20px}.secondary{border:1px solid var(--ink);border-radius:6px;background:#fffef9;min-height:48px;padding:10px 18px;color:var(--ink)}.secondary:hover{background:#edf1e5}.audio-panel{border-block:1px solid var(--line);padding:16px 0;margin:18px 0 24px}summary{cursor:pointer;min-height:44px;padding:9px 0;font-size:14px}summary:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.small-tag{font-size:11px;background:#e9ece3;border-radius:4px;padding:3px 8px}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;margin-top:16px;min-height:44px}.check input{flex:none;width:20px;height:20px}.audio-panel audio{display:block;width:100%;margin:12px 0}.audio-panel input[type=file]{display:block;max-width:100%;min-height:44px;font-size:13px}.audio-panel .note{margin:10px 0}.mode-fieldset{border:0;padding:0;margin:20px 0}.mode-fieldset legend{font-size:12px;margin-bottom:9px}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mode-card{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:24px 18px;display:flex;align-items:flex-start;gap:12px;background:#f6f5e9}.mode-card.short_story{background:#f0f2f7}.mode-card:has(input:checked){outline:2px solid var(--ink);outline-offset:2px}.mode-card input{margin-top:9px;accent-color:var(--ink)}.mode-card strong{display:block;font:24px var(--serif);line-height:1.7}.mode-card small{display:block;font-size:12px;color:var(--muted)}.results{margin-top:36px}.results>.result{margin:0 32px;padding:36px;max-width:800px}.results .result-heading{max-width:800px}.results .novel{background:#f0f2f7;border-color:#cfd4df}.results .prose{font-size:17px}.result-actions,.comparison{margin:20px 32px;max-width:800px}.comparison{border-bottom:1px solid var(--line);padding-bottom:12px}.erase-panel{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:40px 32px 0;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.erase-panel p{max-width:650px}.global-error{margin:12px 32px}.workspace details .prose{padding:12px;background:#f6f5ef;border-radius:6px}button:disabled{cursor:not-allowed}.options .primary{font-size:14px}.note{font-size:12px;color:var(--muted);line-height:1.9}
@media(max-width:650px){.steps{margin:0 16px 16px;gap:6px}.steps span{font-size:10px;padding:6px 10px}.preview-notice{font-size:12px}.mode-cards{gap:12px}.mode-card{padding:18px 10px;gap:6px}.mode-card strong{font-size:21px}.mode-card small{font-size:11px}.results>.result{margin:0 16px;padding:24px}.result-actions,.comparison{margin:16px}.erase-panel{margin:32px 20px 0;align-items:flex-start;flex-direction:column;gap:0}.button-row{gap:8px}.button-row .primary{width:100%}.global-error{margin:12px 20px}.results .prose{font-size:16px}}
@media(max-width:360px){.mode-cards{grid-template-columns:1fr}.options{grid-template-columns:1fr}.options .primary{grid-column:auto}.field-meta{flex-direction:column;gap:4px}.field-meta p{max-width:100%}.edition{display:none}}
@media(prefers-reduced-motion:no-preference){.results{animation:book-open .2s ease-out}@keyframes book-open{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}}
.editor-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.privacy-details{margin:0 0 18px}.privacy-details summary{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.privacy-details .note{margin:6px 0 0}@media(max-width:650px){.editor-top{display:block}.editor-actions{gap:12px;justify-content:flex-start;margin-top:8px}.editor-actions .text-button{padding-inline:2px}}
