.review-banner { position:relative; z-index:2; background:#171315; color:#fff; padding:12px 20px; font:600 15px/1.5 Arial,sans-serif; }
.review-banner a { color:#fff; margin-left:16px; }
.review-notice { border:2px solid #171315; padding:14px; background:#fff2cf; font:15px/1.5 Arial,sans-serif; }
.review-permission { display:flex; align-items:flex-start; gap:12px; margin:16px 0; font:16px/1.5 Arial,sans-serif; }
.review-permission input { flex:none; width:24px; height:24px; margin-top:2px; }
.review-feedback { white-space:pre-wrap; overflow-wrap:anywhere; font:16px/1.5 Arial,sans-serif; }
.review-receipt { border:2px solid #171315; padding:16px; margin:16px 0; background:#fff; }
.review-receipt textarea { width:100%; min-height:110px; font:14px/1.5 monospace; overflow-wrap:anywhere; }
.review-entries { display:flex; flex-wrap:wrap; gap:6px; align-content:flex-end; min-height:260px; padding:20px; }
.review-entries .brick { position:relative; display:flex; flex:none; width:310px; height:156px; margin:0; opacity:1; transform:none; grid-area:auto; }
.review-entries .brick:nth-child(even) { --tone:#03b8c8; }
.review-entries .brick-copy { min-width:0; overflow-wrap:anywhere; }
.review-entries .brick-copy strong { font-size:22px; }
.review-entries .brick-copy span { font-size:17px; }
.review-entries .brick-art { flex:none; width:100px; }
.review-entries .brick-photo { max-width:90px; }
.review-mode .wall-courses { display:none!important; }
.review-mode .wall-toolbar, .review-mode .wall-scroll-cue, .review-mode .wall-state-plaque { display:none!important; }
.review-mode .wall-stage { height:auto; min-height:340px; }
.review-mode .wall-courses-viewport { overflow:visible; height:auto; }
.review-mode .wall-intro { position:relative; }
.review-manage { max-width:640px; padding:24px; border:3px solid #171315; }
.review-manage::backdrop { background:#171315aa; }
.review-manage input { display:block; width:100%; min-height:44px; margin:8px 0 16px; }
.review-manage button, .review-receipt button { min-height:44px; padding:8px 12px; margin:8px; }
@media(max-width:600px) { .review-entries { padding:12px; } .review-entries .brick { width:min(100%,330px); } .review-banner a { display:inline-block; margin:8px 12px 0 0; } }

.review-mode .wall-view { display:block; overflow-y:auto; }
.review-banner { position:sticky; top:0; z-index:90; }
.review-banner button { min-height:44px; margin-left:16px; padding:6px 12px; color:#171315; background:#fff; border:2px solid #fff; font:inherit; }
.review-mode [data-scroll-cue] { display:none!important; }
.review-mode #wallStage > .review-feedback { padding:16px 20px; margin:0; background:#fff9f2; }
/* Keep the accepted sentiment-left, artwork-right composition, with enough
   space for the full allowed message and nickname at narrow widths. */
.review-entries .brick { display:grid; grid-template-columns:minmax(0,1fr) 30%; width:420px; height:240px; }
.review-entries .brick-art { width:auto; }
.review-entries .brick-copy { padding:14px 8px 14px 14px; overflow:visible; }
.review-entries .brick-copy strong { font-size:16px; line-height:1.15; white-space:normal; text-overflow:clip; overflow:visible; }
.review-entries .brick-copy span { display:block; -webkit-line-clamp:unset; font-size:18px; line-height:1.15; overflow:visible; }
.review-entries .brick.is-new { animation:brick-arrive .82s cubic-bezier(.22,.72,.3,1.08) both; }
@media(prefers-reduced-motion:reduce) { .review-entries .brick.is-new { animation:none; } }
@media(max-width:600px) { .review-entries .brick { width:min(100%,420px); } .review-banner a { display:block; margin-left:0; } .review-banner button { margin-left:0; } }
.review-mode .wall-courses-viewport { position:relative; display:block; inset:auto; width:100%; padding:0 0 44px; touch-action:pan-y; }
.review-entries { width:100%; }
.review-entries .brick-photo { width:90%; max-width:110px; height:auto; max-height:80%; top:50%; bottom:auto; transform:translate(-50%,-50%); }
