.roast-review { margin:24px auto; border:1px solid #505050; padding:20px; background:#111; color:#e8e8e0; text-align:left; font-family:inherit; }
.roast-review summary { min-height:44px; padding:8px 0; cursor:pointer; font-size:16px; font-weight:700; line-height:1.6; }
.roast-review p { margin:12px 0; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.roast-review h3 { margin:24px 0 12px; font-size:18px; line-height:1.5; }
.roast-review .review-controls { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.roast-review button { background:transparent; color:#e8e8e0; min-height:44px; max-width:100%; border:1px solid #64645c; padding:10px 14px; font-family:inherit; font-size:13px; font-weight:700; line-height:1.5; cursor:pointer; }
.roast-review button:disabled { opacity:.55; cursor:not-allowed; }
.roast-review label { display:block; margin:16px 0 8px; font-size:13px; font-weight:700; line-height:1.6; }
.roast-review textarea { display:block; box-sizing:border-box; width:100%; max-width:100%; padding:12px; border:1px solid #64645c; background:#0a0a0a; color:#e8e8e0; font:inherit; font-size:16px; line-height:1.5; resize:vertical; }
.roast-review input[type=file] { display:block; width:100%; max-width:100%; font:inherit; font-size:13px; }
.roast-review input::file-selector-button { min-height:44px; margin:0 8px 8px 0; padding:8px 12px; border:1px solid #64645c; background:#0a0a0a; color:#e8e8e0; font:inherit; }
.roast-review [role=status] { min-height:22px; }
.roast-review [hidden] { display:none; }
.roast-review pre { overflow-wrap:anywhere; white-space:pre-wrap; border:1px solid #505050; padding:14px; font:inherit; font-size:13px; line-height:1.65; }
.roast-review li { margin:10px 0 10px 20px; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.roast-review :focus-visible { outline:2px solid #ff7a00; outline-offset:4px; }
@media(max-width:480px) { .roast-review { padding:16px; } .roast-review .review-controls { flex-direction:column; } .roast-review button { width:100%; } }
