/* Route opinions share the original CerebroMédico brain symbol. */
.snp-route-like { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:6px 11px; border:1px solid #536b97; border-radius:999px; background:#162644; color:#dceaff; cursor:pointer; font-family:inherit; font-size:12px; font-weight:600; line-height:1.2; white-space:nowrap; }
.snp-brain-glyph { font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif; font-size:23px; line-height:1.2; }
.snp-route-like b { font-variant-numeric:tabular-nums; }
.snp-route-like:hover { border-color:#c998df; background:#322641; }
.snp-route-like[aria-pressed="true"] { color:#ffe1f0; background:#3a2540; border-color:#bf7dba; }
.snp-route-like[aria-pressed="true"] .snp-brain-glyph { filter:drop-shadow(0 0 6px #dba4d288); }
.snp-route-like:disabled { opacity:.65; cursor:wait; }
.snp-route-rate { display:block; margin:8px 0; color:#8dddf4!important; }
.snp-route-rating { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-height:30px; margin:12px 0 8px; color:#dbe8f8; font-size:12px; }
.snp-route-rating strong { font-size:12px; }
.snp-route-rating small { color:#9fb5d2; }
.snp-rating-rays { position:relative; display:inline-flex; flex-shrink:0; color:#4a5364; }
.snp-rating-rays svg { width:15px; height:19px; fill:currentColor; }
.snp-rating-rays > span { position:absolute; inset:0 auto 0 0; display:flex; overflow:hidden; color:#ffcf66; }
.snp-rating-rays > span svg { flex:0 0 15px; }
.snp-community-dialog { width:min(510px,calc(100vw - 28px)); padding:36px; text-align:center; border:1px solid #435b87; background:radial-gradient(ellipse at top,#192e50,#0c172b 65%); color:#eef4ff; box-shadow:0 24px 100px #0009; }
.snp-community-dialog::backdrop { background:#020917b8; backdrop-filter:blur(9px); }
.snp-community-dialog .snp-primary { display:flex; width:100%; align-items:center; justify-content:center; gap:10px; margin-top:20px; }
.snp-community-dialog .snp-text-button { display:block; margin:18px auto 0; }
.snp-community-dialog h2 { font-size:clamp(25px,4vw,33px); line-height:1.2; margin:12px 0; }
.snp-community-dialog p { color:#b9cbe0; line-height:1.65; }
.snp-community-dialog .snp-eyebrow { color:#81d8ed; font-size:10px; letter-spacing:.14em; }
.snp-community-mark { display:grid; place-items:center; margin:0 auto 23px; width:84px; height:84px; border-radius:26px; background:linear-gradient(135deg,#413451,#1d2646); border:1px solid #786180; box-shadow:0 0 40px #b075b41a; }
.snp-community-mark .snp-brain-glyph { font-size:48px; }
.snp-community-bolt { background:linear-gradient(135deg,#3d3530,#212237); border-color:#7f6945; color:#ffcf66; }
.snp-community-bolt svg { width:48px; height:48px; fill:currentColor; }
.snp-community-dialog .snp-community-footnote { font-size:12px; color:#9eafc5; line-height:1.5; }
.snp-community-dialog .snp-community-error { padding:12px; border:1px solid #c88594; border-radius:10px; color:#ffccd5; background:#452334; font-size:14px; }
.snp-ray-picker { display:flex; gap:8px; padding:0; margin:26px 0 10px; border:0; }
.snp-ray-picker label { flex:1; cursor:pointer; position:relative; min-width:0; }
.snp-ray-picker input { position:absolute; width:1px; height:1px; opacity:0; }
.snp-ray-picker span { display:flex; flex-direction:column; align-items:center; gap:5px; padding:12px 4px 9px; color:#8090ac; background:#14213b; border:1px solid #425471; border-radius:14px; transition:color .2s,background .2s,transform .2s; }
.snp-ray-picker svg { fill:currentColor; width:35px; height:41px; }
.snp-ray-picker b { font-size:12px; }
.snp-ray-picker .is-lit span { color:#ffcf66; border-color:#ba9755; background:linear-gradient(155deg,#4b3a22,#2c2832); }
.snp-ray-picker input:checked+span { box-shadow:0 0 0 2px #f6ce7f; transform:translateY(-3px); }
.snp-ray-picker input:focus-visible+span { outline:3px solid #8ce9ff; outline-offset:4px; }
.snp-ray-description { min-height:24px; font-size:14px; }
.snp-community-label { display:block; text-align:left; color:#edf3ff; font-size:14px; font-weight:600; margin:20px 0 8px; }
.snp-community-dialog textarea { display:block; box-sizing:border-box; width:100%; background:#0b1428; color:#eff6ff; border:1px solid #536b94; border-radius:12px; padding:13px; font:inherit; font-size:15px; resize:vertical; }
.snp-community-dialog textarea::placeholder { color:#8f9fb9; }
.snp-community-dialog :focus-visible { outline:3px solid #8ce9ff; outline-offset:4px; }
.snp-visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* A native top-layer dialog covers the viewport, including the theme sidebar. */
.snp-neural-celebration { position:fixed; inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:32px 20px; border:0; border-radius:0; background:#030816; overflow:auto; }
.snp-neural-canvas,.snp-neural-aura { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; }
.snp-neural-aura { background:radial-gradient(ellipse at center,#081529c9 0,transparent 68%); }
.snp-neural-copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:calc(100% - 15px); width:min(720px,100%); margin:auto; animation:snp-neural-arrive .9s cubic-bezier(.16,1,.3,1) both; }
.snp-neural-celebration .snp-dialog-close { position:fixed; z-index:3; top:max(18px,env(safe-area-inset-top)); right:max(18px,env(safe-area-inset-right)); background:#14223ccc; border:1px solid #476086; color:#fff; }
.snp-neural-copy .snp-eyebrow { letter-spacing:.24em; margin:20px 0 30px; }
.snp-neural-emblem { position:relative; width:138px; height:138px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,#203c59,#0b1731); border:1px solid #71d8ef88; box-shadow:0 0 0 15px #51c9e50c,0 0 0 35px #51c9e506,0 0 85px #4ecff13b; }
.snp-neural-emblem .snp-brain-glyph { font-size:79px; }
.snp-neural-emblem>svg { position:absolute; width:42px; height:55px; bottom:-5px; right:1px; fill:#ffe4a0; filter:drop-shadow(0 0 14px #ffcf66); }
.snp-neural-rays { display:flex; gap:9px; margin:34px 0 18px; color:#ffda84; }
.snp-neural-rays svg { width:30px; height:36px; fill:currentColor; filter:drop-shadow(0 0 8px #ffcf6677); }
.snp-neural-copy h2 { color:#f5fbff; font-size:clamp(35px,5.7vw,72px); font-weight:800; letter-spacing:-.045em; line-height:1.07; margin:0 0 16px; }
.snp-neural-copy h2 em { color:#8be7f5; font-style:normal; text-shadow:0 0 35px #44cfea44; }
.snp-neural-copy>p:not(.snp-eyebrow) { font-size:17px; color:#b4c6df; margin:0; }
.snp-neural-saved { font-size:12px; color:#91d2bd; margin:19px 0 7px; }
.snp-neural-copy .snp-primary { width:auto; min-width:240px; padding:16px 28px; background:linear-gradient(120deg,#79e2f0,#5eb7e9); color:#04172c; box-shadow:0 4px 28px #44cfea33; }
@keyframes snp-neural-arrive { from {opacity:0; transform:translateY(20px) scale(.96)} to {opacity:1;transform:none} }
@media(max-width:600px) { .snp-like-label {display:none} .snp-route-like {gap:5px;padding:5px 9px} .snp-community-dialog:not(.snp-neural-celebration) {padding:30px 20px 25px} .snp-ray-picker {gap:6px} .snp-ray-picker svg {width:29px} .snp-neural-copy .snp-eyebrow {max-width:260px;line-height:1.7;margin-top:32px} }
@media(max-width:380px) { .snp-learning-stats {flex-wrap:wrap!important} .snp-route-like {min-height:36px} }
@media(prefers-reduced-motion:reduce) { .snp-neural-copy {animation:none} .snp-ray-picker span {transition:none} }

.snp-community-dialog textarea + .snp-community-footnote { margin-top:14px; }
