.ep-modify { max-width:1120px; margin:12px auto 36px; }
.ep-modify__intro { max-width:720px; margin-bottom:28px; }
.ep-modify h2 { margin:8px 0 14px; font-size:clamp(2rem,4vw,3.1rem); font-weight:500; letter-spacing:-.045em; line-height:1.12; }
.ep-modify__intro p:last-child { color:var(--muted); line-height:1.7; }
.ep-modify__grid { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); gap:30px; align-items:start; }
.ep-modify__preview { position:sticky; top:24px; margin:0; padding:12px; border:1px solid var(--border); border-radius:28px; background:var(--panel-strong); box-shadow:var(--shadow); }
.ep-modify__frame { aspect-ratio:4/5; overflow:hidden; border-radius:19px; background:#e7dfd2; }
.ep-modify__frame img { width:100%; height:100%; object-fit:cover; }
.ep-modify figcaption { padding:16px 12px 8px; color:var(--muted); font-size:.88rem; line-height:1.6; }
.ep-modify__controls { display:grid; gap:18px; min-width:0; }
.ep-modify__card { min-width:0; margin:0; padding:24px; border:1px solid var(--border); border-radius:22px; background:var(--panel-strong); }
.ep-modify__card legend { padding:0 8px; font-weight:600; }
.ep-modify__ages { display:flex; gap:8px; margin:4px 0 14px; }
.ep-modify__ages button { flex:1; min-height:46px; border:1px solid var(--border); border-radius:12px; background:transparent; color:var(--text); }
.ep-modify__ages button[aria-pressed=true] { background:var(--green); border-color:var(--green); color:white; }
.ep-modify__hint { margin:10px 0 0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.ep-modify__range { display:block; margin-top:22px; }
.ep-modify__range > span { display:flex; justify-content:space-between; gap:16px; font-size:.94rem; }
.ep-modify__range output { font-variant-numeric:tabular-nums; color:var(--green); }
.ep-modify input[type=range] { width:100%; min-height:44px; margin:4px 0 0; accent-color:var(--green); cursor:pointer; }
.ep-modify__badge { display:inline-block; padding:4px 9px; border-radius:20px; background:var(--gold-soft); color:#684d20; font-size:.75rem; font-weight:600; }
.ep-modify__voice { overflow-wrap:anywhere; font-size:.85rem; color:var(--muted); }
.ep-modify__actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.ep-modify__actions button { min-height:44px; }
.ep-modify__status { min-height:1.5em; margin:0; color:var(--green); line-height:1.5; }
.ep-modify :is(button,input):focus-visible { outline:3px solid #9d783d; outline-offset:4px; }
@media(max-width:760px) { .ep-modify__grid { grid-template-columns:1fr; gap:22px; } .ep-modify__preview { position:static; width:min(100%,360px); justify-self:center; } .ep-modify__card { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .ep-modify * { transition:none!important; animation:none!important; } }
