:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172f2b;background:#f3f1e8;font-size:16px;line-height:1.55}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:36px 24px}h1{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.1;letter-spacing:-.035em;margin:14px 0}.card{background:#fffef8;border:1px solid #d8dfd2;border-radius:20px;padding:26px;margin:20px 0;box-shadow:0 7px 24px #22382b06}h2{font-size:1.15rem;display:flex;align-items:center;gap:12px;margin:0 0 22px}h2 span{background:#dce9d5;border-radius:50%;width:30px;height:30px;display:inline-grid;place-items:center;font-size:.9rem}.file{display:inline-block;cursor:pointer;font-weight:700}input,select,button,textarea{font:inherit;color:inherit}input[type=file]{display:block;font-size:.9rem;padding:12px 0;max-width:100%}button,.download{border:1px solid #bbcabc;background:white;border-radius:9px;padding:9px 15px;cursor:pointer;font-weight:600;text-decoration:none;font-size:.9rem}button:disabled{opacity:.45;cursor:default}.primary{background:#204d3b;color:white;border-color:#204d3b}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:start}.page-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.page-bar button{padding:8px 11px}.paper{position:relative;background:white;border:1px solid #d9ddd5;line-height:0}canvas{display:block;width:100%;height:auto}#reading-area{position:absolute;left:0;right:0;pointer-events:none;border-top:2px solid #357e4d;border-bottom:2px solid #357e4d;background:#63b17417}#column-line{position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed #357e4d;pointer-events:none}label{display:block;font-size:.87rem;font-weight:600}label input:not([type=checkbox]):not([type=file]),label select{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #c6d0c2;border-radius:8px;background:#fff}.controls{display:grid;gap:15px}.note{font-weight:400;font-size:.84rem;color:#58685c}.text-label{margin-top:25px}textarea{display:block;width:100%;resize:vertical;border:1px solid #c6d0c2;border-radius:10px;padding:15px;margin:9px 0;background:#fff;line-height:1.6;font-size:.95rem}.text-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem;color:#58685c}.voice-row{display:flex;align-items:end;gap:30px}.voice-row>label:first-child{width:240px}.review{font-weight:400}.review input{width:18px;height:18px;vertical-align:middle;margin-right:6px}.actions{display:flex;gap:10px}audio{display:block;width:100%;margin-top:20px}.download{display:inline-block;margin-top:15px;background:#e9f1e2}#status{font-weight:600;padding:8px 4px}footer{font-size:.8rem;color:#687462;max-width:850px;margin-top:25px}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #b8d985;outline-offset:3px}@media(max-width:700px){main{padding:28px 16px}.card{padding:18px;border-radius:14px}.workspace{grid-template-columns:1fr}.voice-row{display:grid;gap:18px}.voice-row>label:first-child{width:100%}.page-bar{font-size:.8rem}.page-bar button{font-size:.8rem;padding:8px}.text-meta{align-items:start;flex-direction:column}}

#parts{padding-left:24px}#parts li{padding:8px 0}#parts audio{margin:5px 0}#parts a{font-size:.85rem}details{margin-top:18px;font-size:.85rem}pre{white-space:pre-wrap;overflow-wrap:anywhere}

.site-header{max-width:1120px;margin:auto;padding:18px 24px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;color:#172f2b;text-decoration:none;font-weight:800;font-size:1.05rem}.brand svg{width:30px;height:30px;fill:none;stroke:#204d3b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.site-header nav{display:flex;align-items:center;gap:18px;font-size:.92rem}.site-header nav a{color:#2d4c42;text-decoration:none;font-weight:600}.nav-feedback{padding:7px 12px}
.hero{max-width:820px;margin-bottom:26px}.hero p{font-size:1.1rem;max-width:700px;color:#4c625c}
.content{max-width:820px;margin:56px 0 0}.content h2{display:block;font-family:Georgia,serif;font-size:1.6rem;letter-spacing:-.02em;margin:40px 0 12px}.content p,.content li{color:#33493f}.steps{padding-left:22px}.steps li{margin:10px 0}
.faq details{background:#fffef8;border:1px solid #d8dfd2;border-radius:12px;padding:14px 18px;margin:10px 0;font-size:1rem}.faq summary{font-weight:700;cursor:pointer}.faq details p{margin:10px 0 0}
.legal{padding:40px 24px;max-width:820px;margin:auto}.legal h1{font-size:clamp(2rem,4vw,3rem)}
.site-footer{max-width:1120px;margin:40px auto 0;padding:26px 24px 40px;border-top:1px solid #d8dfd2;display:flex;flex-wrap:wrap;gap:18px;align-items:center;font-size:.85rem;color:#58685c}.site-footer a{color:#2d4c42}.text-button{border:0;background:none;padding:0;color:#2d4c42;text-decoration:underline;font-weight:600;cursor:pointer}
dialog{border:1px solid #d8dfd2;border-radius:16px;padding:24px;max-width:520px;width:calc(100% - 32px);background:#fffef8;color:#172f2b}dialog::backdrop{background:#172f2b66}.feedback-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.feedback-heading h2{margin:0}#feedback-form{display:grid;gap:12px;margin-top:16px}#feedback-form textarea,#feedback-form input,#feedback-form select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #c6d0c2;border-radius:8px;background:#fff}.hint{font-size:.8rem;font-weight:400;color:#58685c;margin:0}.feedback-trap{position:absolute;left:-9999px}
@media(max-width:700px){.site-header{padding:14px 16px 0}.site-header nav{gap:12px}.content{margin-top:40px}.legal{padding:28px 16px}.site-footer{padding:22px 16px 32px}}