/* Anchor Sprint review layer. Loaded on the pitch, dormant until activated. */
:root { --review-ink: #241f12; --review-paper: #ffe773; --review-line: #9d7c00; }
.review-toggle { appearance:none; min-height:36px; border:1px solid rgba(246,247,247,.38); border-radius:4px; padding:0 10px; background:transparent; color:#f6f7f7; font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif; cursor:pointer; }
.review-toggle[aria-pressed="true"] { background:var(--review-paper); border-color:var(--review-paper); color:#1a1a1a; }
.review-ui[hidden] { display:none !important; }
.review-panel { position:fixed; z-index:1002; top:12px; right:12px; width:min(360px,calc(100vw - 24px)); max-height:calc(100vh - 24px); overflow:auto; background:#fffdf1; color:#1a1a1a; border:1px solid #b49b42; box-shadow:0 14px 40px rgba(0,0,0,.24); font:14px/1.45 'IBM Plex Sans',system-ui,sans-serif; }
.review-panel__head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; background:#1a1a1a; color:#fff; }
.review-panel__head strong { font-size:15px; }
.review-panel__head button, .review-panel button { font:inherit; cursor:pointer; }
.review-panel__close { min-height:32px; padding:0 8px; border:1px solid rgba(255,255,255,.42); border-radius:3px; background:transparent; color:#fff; font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif !important; }
.review-panel__close:hover { background:rgba(255,255,255,.14); }
.review-panel__show { position:fixed; z-index:1002; top:12px; right:12px; min-height:40px; padding:0 13px; border:1px solid #b49b42; border-radius:4px; background:#1a1a1a; color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.24); font:600 13px/1 'IBM Plex Sans',system-ui,sans-serif; cursor:pointer; }
.review-panel__body { padding:16px; }
.review-help { margin:0 0 14px; color:#534c38; }
.review-actions { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.review-actions button, .review-note__actions button, .review-form button { min-height:36px; padding:0 10px; border:1px solid #8c792b; border-radius:3px; background:#fffdf1; color:#1a1a1a; font-weight:600; }
.review-actions button:hover, .review-note__actions button:hover, .review-form button:hover { background:#f3e7a7; }
.review-comments { display:grid; gap:10px; }
.review-empty { margin:0; color:#655e4b; }
.review-comment { padding:12px; border-left:4px solid #d0ad18; background:#fff8d4; cursor:pointer; }
.review-comment:focus-visible { outline:2px solid #1a1a1a; outline-offset:2px; }
.review-comment.is-resolved { opacity:.62; border-left-color:#7a846b; }
.review-comment__meta { margin:0 0 6px; color:#655e4b; font:11px/1.3 'IBM Plex Mono',monospace; }
.review-comment__text { margin:0; white-space:pre-wrap; }
.review-note { position:fixed; z-index:1000; width:34px; height:34px; border:1px solid var(--review-line); border-radius:50%; background:var(--review-paper); color:var(--review-ink); box-shadow:0 3px 12px rgba(0,0,0,.25); font:700 13px/1 'IBM Plex Mono',monospace; cursor:pointer; }
.review-note.is-resolved { background:#dce5c5; border-color:#697653; }
.review-popover { position:fixed; z-index:1003; width:min(300px,calc(100vw - 24px)); padding:13px 14px; border:1px solid #9d7c00; border-radius:4px; background:#fff8d4; color:#241f12; box-shadow:0 10px 28px rgba(0,0,0,.26); font:14px/1.45 'IBM Plex Sans',system-ui,sans-serif; }
.review-popover p { margin:0; white-space:pre-wrap; }
.review-popover__meta { margin-bottom:6px !important; color:#655e4b; font:11px/1.3 'IBM Plex Mono',monospace; }
.review-popover button { position:absolute; top:5px; right:5px; width:28px; height:28px; border:0; background:transparent; color:#241f12; font-size:18px; cursor:pointer; }
.review-target { outline:3px solid #f0c700 !important; outline-offset:3px; cursor:crosshair !important; }
.review-hover { outline:2px dashed rgba(240,199,0,.9) !important; outline-offset:2px; cursor:crosshair !important; }
.review-modal { position:fixed; z-index:1010; inset:0; display:grid; place-items:center; padding:16px; background:rgba(0,0,0,.48); }
.review-form { width:min(480px,100%); padding:20px; background:#fffdf1; color:#1a1a1a; box-shadow:0 16px 44px rgba(0,0,0,.3); }
.review-form h2 { margin:0 0 6px; font:700 21px/1.15 'Archivo',system-ui,sans-serif; }
.review-form p { margin:0 0 14px; color:#5d573f; }
.review-form label { display:grid; gap:5px; margin:12px 0; font-weight:600; }
.review-form input, .review-form textarea { width:100%; padding:9px; border:1px solid #98884a; border-radius:3px; background:#fff; color:#1a1a1a; font:inherit; }
.review-form textarea { min-height:130px; resize:vertical; }
.review-form__actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.review-form .review-form__save { background:#1a1a1a; color:#fff; border-color:#1a1a1a; }
@media (max-width: 700px) { .review-toggle { min-height:34px; font-size:11px; } .review-panel { top:auto; bottom:12px; max-height:65vh; } }
