:root{--rec-ink:#111111;--rec-ivory:#FFF8E7;--rec-gold:#8A5A00;--rec-gold-bright:#FFB000;--rec-line:#E8D9B0;--rec-muted:#5E5E63;--rec-surface:#FFFFFF}
.rec-badge{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px 4px 6px;border-radius:999px;border:1px solid var(--rec-line);background:var(--rec-ivory);color:var(--rec-ink);font:600 13px/1.2 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.rec-badge:hover{border-color:var(--rec-gold)}
.rec-badge:focus-visible{outline:3px solid var(--rec-ink);outline-offset:2px}
.rec-badge .rec-mark{flex:none;color:var(--rec-gold)}
.rec-badge .rec-mark-dot{fill:currentColor}
.rec-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--rec-ink);color:var(--rec-ivory);font-size:12px;font-weight:700}
.rec-badge--md{min-height:40px;padding:6px 14px 6px 8px;font-size:14px}
.rec-badge--md .rec-mark{width:22px;height:22px}
.rec-badge--on-dark{background:var(--rec-ink);border-color:var(--rec-ink);color:var(--rec-ivory)}
.rec-badge--on-dark .rec-mark{color:var(--rec-gold-bright)}
.rec-badge--on-dark .rec-badge-count{background:var(--rec-gold-bright);color:var(--rec-ink)}
.rec-badge--on-dark:focus-visible{outline-color:var(--rec-gold-bright)}
.card-body .rec-badge{margin:4px 0 0}
.rec-section .rec-title,.rec-dialog .rec-title{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.rec-title .rec-mark{width:26px;height:26px;color:var(--rec-gold)}
.rec-title .rec-mark-dot{fill:currentColor}
.rec-count{margin:0 0 16px;color:var(--rec-ink)}
.rec-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rec-item{margin:0;padding:14px 16px;border:1px solid var(--rec-line);border-radius:12px;background:var(--rec-surface)}
.rec-who{margin:0 0 6px}
.rec-winery{color:var(--rec-ink);font-weight:600;text-decoration:none;border-bottom:0}
.rec-winery::after{content:" \2192";color:var(--rec-gold)}
.rec-winery:hover,.rec-winery:focus-visible{color:var(--rec-gold)}
.rec-winery:focus-visible{outline:2px solid var(--rec-ink);outline-offset:2px;border-radius:4px}
.rec-comment{margin:0 0 8px;padding:0 0 0 12px;border-left:3px solid var(--rec-gold-bright)}
.rec-comment p{margin:0}
.rec-meta{margin:0;color:var(--rec-muted);font-size:13px}
.rec-actions{margin:8px 0 0}
.rec-report{appearance:none;border:0;background:none;padding:4px 0;color:var(--rec-muted);font:inherit;font-size:13px;cursor:pointer;text-decoration:none}
.rec-report:hover{color:var(--rec-ink)}
.rec-report:focus-visible{outline:2px solid var(--rec-ink);outline-offset:2px;border-radius:4px}
.rec-method{margin:16px 0 8px}
.rec-method summary{cursor:pointer;font-weight:600}
.rec-method summary:focus-visible{outline:2px solid var(--rec-ink);outline-offset:2px;border-radius:4px}
.rec-note{margin:8px 0 0;color:var(--rec-muted);font-size:13px}
.rec-dialog{width:min(640px,calc(100vw - 24px));max-height:min(86vh,900px);padding:0;border:0;border-radius:16px;background:var(--rec-surface);color:var(--rec-ink);box-shadow:0 18px 60px rgba(17,17,17,.25)}
.rec-dialog::backdrop{background:rgba(17,17,17,.55)}
.rec-dialog-inner{position:relative;padding:24px 20px 20px;overflow:auto;max-height:inherit;box-sizing:border-box}
.rec-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--rec-line);border-radius:12px;background:var(--rec-surface);color:var(--rec-ink);cursor:pointer}
.rec-close:focus-visible{outline:3px solid var(--rec-ink);outline-offset:2px}
.rec-dialog .rec-title{padding-right:48px}
.rec-loading,.rec-error{margin:8px 0;color:var(--rec-muted)}
.rec-report-form{display:grid;gap:8px;margin:8px 0 0}
.rec-report-form textarea{width:100%;min-height:80px;box-sizing:border-box;border:1px solid var(--rec-line);border-radius:10px;padding:8px 10px;font:inherit}
.rec-report-form textarea:focus-visible{outline:2px solid var(--rec-ink);outline-offset:1px}
.rec-report-form .rec-send{justify-self:start;min-height:40px;padding:8px 16px;border:0;border-radius:12px;background:var(--rec-gold-bright);color:var(--rec-ink);font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer}
.rec-report-form .rec-send:focus-visible{outline:3px solid var(--rec-ink);outline-offset:2px}
.rec-status{margin:4px 0 0;font-size:13px}
.rec-status:focus{outline:none}
.rec-status:focus-visible{outline:2px solid var(--rec-ink);outline-offset:2px;border-radius:4px}
.rec-item--hidden{background:var(--rec-ivory);border-style:dashed}
.rec-hidden-note{margin:0 0 6px;color:var(--rec-muted);font-size:14px}
.rec-retry{appearance:none;min-height:40px;margin:4px 0 0;padding:8px 16px;border:1px solid var(--rec-line);border-radius:12px;background:var(--rec-surface);color:var(--rec-ink);font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer}
.rec-retry:focus-visible{outline:3px solid var(--rec-ink);outline-offset:2px}
.rec-dialog[data-rec-fallback][open]{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;z-index:1000}
.rec-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(17,17,17,.55);z-index:999}
.card-rec{margin:6px 0 0;position:relative;z-index:2}
.cat-detail-rec{margin:4px 0 12px}
@media (max-width:600px){.rec-dialog{width:100vw;max-width:100vw;max-height:92vh;margin:auto 0 0;border-radius:16px 16px 0 0}.rec-dialog-inner{padding:20px 16px 16px}}
@media (prefers-contrast:more){.rec-badge,.rec-badge--on-dark{background:#FFFFFF;color:#000000;border:2px solid #000000}.rec-badge .rec-mark,.rec-badge--on-dark .rec-mark{color:#000000}.rec-badge-count,.rec-badge--on-dark .rec-badge-count{background:#000000;color:#FFFFFF}.rec-item{border:2px solid #000000}.rec-meta,.rec-note,.rec-report{color:#000000}.rec-comment{border-left-color:#000000}}
@media (forced-colors:active){.rec-badge{border:1px solid CanvasText;background:Canvas;color:CanvasText;forced-color-adjust:none}.rec-badge .rec-mark{color:CanvasText}.rec-badge-count{background:CanvasText;color:Canvas}.rec-item,.rec-close{border:1px solid CanvasText}.rec-badge:focus-visible,.rec-close:focus-visible{outline:3px solid Highlight}}
@media (prefers-reduced-motion:reduce){.rec-badge,.rec-dialog{transition:none;animation:none}}
