/* Direct half-star targets: no range slider and no scroll-blocking gestures. */
.tap-rating{display:flex;align-items:center;width:max-content;max-width:100%;border-radius:10px;outline-offset:4px}
.tap-rating:focus-visible{outline:3px solid var(--blue,#2949cf)}
.tap-rating .tap-star{position:relative;display:block;width:48px;min-height:48px;padding:0;border:0;background:transparent;color:#c9ced8;font-size:43px;line-height:48px;touch-action:manipulation}
.tap-star>span{display:block;width:48px;text-align:center;pointer-events:none}
.tap-star .tap-star-fill{position:absolute;inset:0 auto 0 0;overflow:hidden;color:#bb3829;text-align:left;white-space:nowrap}
.tap-star-fill>span{display:block;width:48px;text-align:center}
.rating-control{display:flex;flex-wrap:wrap;gap:12px;max-width:none}
.rating-control output{min-width:70px;font-weight:800;color:var(--ink)}
.clear-rating{min-height:44px;padding:6px 12px}
.minimal-memory .memory-actions{margin-top:22px;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.minimal-memory .memory-actions .primary-button{min-height:44px;width:auto;flex:0 0 auto;padding:10px 19px;border-radius:12px;font-size:.9rem;line-height:1.35;box-shadow:none}
.upload-session-note{font-size:.82rem;line-height:1.5;color:var(--muted);margin:8px 0 16px}
.photo-picker{cursor:pointer;min-height:48px;touch-action:manipulation}
.photo-picker:focus-visible{outline:3px solid var(--blue,#2949cf);outline-offset:3px}
.cover-options .upload-option{width:100%;text-align:left}
.minimal-memory .memory-photo-preview{height:auto;aspect-ratio:auto;object-fit:contain;max-height:300px}
@media(max-width:480px){.tap-rating .tap-star,.tap-star>span,.tap-star-fill>span{width:46px}.tap-rating .tap-star{font-size:42px}.rating-control{gap:8px}.minimal-memory .memory-actions .primary-button{flex:0 0 auto;width:auto;min-width:0}.memory-extras{margin-top:18px}}
