/* The comments route is the continuation of the Location stage: one midnight
 * surface, one invitation to speak, and calm cards for real contributions. */
.location-reviews-page { --voice-accent:#8ec9ff; --voice-glow:rgba(94,175,243,.25); }
.location-reviews-page > md-content { background:radial-gradient(ellipse 102% 26% at 50% -4%,rgba(91,159,223,.16),transparent 73%),linear-gradient(160deg,#121a2a 0%,#0d1423 59%,#0a101c 100%); }
.reviews-hero { display:grid; grid-template-columns:50px minmax(0,1fr); gap:12px; margin:0 16px 10px; padding:18px 2px 13px; border:0; border-bottom:1px solid rgba(187,220,255,.13); border-radius:0; background:transparent; box-shadow:none; }.reviews-hero::after { display:none; }.reviews-hero-mark { width:46px; height:46px; border-color:rgba(183,223,255,.28); border-radius:16px 16px 16px 6px; background:linear-gradient(145deg,rgba(104,175,234,.48),rgba(43,72,114,.62)); box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 21px rgba(0,0,0,.18),0 0 23px var(--voice-glow); }.reviews-hero-mark .material-icons { font-size:25px; }.reviews-hero-copy > span { color:#a8dcff; font-size:8px; letter-spacing:.14em; }.reviews-hero-copy h1 { margin:3px 0 4px; color:#f2f8ff; font-size:19px; letter-spacing:-.025em; }.reviews-hero-copy p { color:#aebfd2; font-size:10px; }
.reviews-scoreboard { position:relative; margin:11px 16px 9px; padding:12px 14px; overflow:hidden; border-color:rgba(189,220,255,.15); border-radius:17px 17px 17px 6px; background:linear-gradient(112deg,rgba(70,120,169,.19),rgba(10,16,29,.68)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 11px 22px rgba(0,0,0,.12); }.reviews-scoreboard::before { content:''; position:absolute; top:0; left:14px; width:57px; height:1px; background:linear-gradient(90deg,var(--voice-accent),transparent); box-shadow:0 0 12px var(--voice-glow); }.reviews-score { min-width:65px; border-right-color:rgba(191,220,255,.12); }.reviews-score strong { color:#fff2bd; }.reviews-stars .jk-rating-stars-container .material-icons { color:#ffd36e; }.reviews-scoreboard > .material-icons { color:var(--voice-accent); }
.reviews-compose { display:grid; grid-template-columns:40px minmax(0,1fr) 22px; align-items:center; gap:10px; width:calc(100% - 32px); min-height:67px; margin:0 16px 19px; padding:10px 13px; overflow:hidden; border:1px solid rgba(160,215,255,.29); border-radius:18px 18px 18px 6px; background:linear-gradient(112deg,rgba(78,151,211,.28),rgba(12,20,35,.90)); box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 15px 30px rgba(0,0,0,.17),0 0 25px rgba(94,175,243,.10); color:#eff9ff; cursor:pointer; font:inherit; text-align:left; transition:transform .18s ease,filter .18s ease,border-color .18s ease; }.reviews-compose:hover,.reviews-compose:focus-visible { transform:translateY(-2px); filter:brightness(1.08); border-color:rgba(190,232,255,.55); outline:0; }.reviews-compose > .material-icons:first-child { display:grid; place-items:center; width:37px; height:37px; border:1px solid rgba(196,231,255,.27); border-radius:12px 12px 12px 4px; background:rgba(111,183,239,.16); color:#c9efff; font-size:21px; }.reviews-compose span { display:grid; gap:3px; min-width:0; }.reviews-compose b { color:#f4faff; font-size:12px; }.reviews-compose small { overflow:hidden; color:#afc2d7; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.reviews-compose > .material-icons:last-child { color:var(--voice-accent); font-size:20px; }
.location-reviews-page md-list { padding:0 16px 32px; }.reviews-list-heading { min-height:30px; color:#a8bdd1; }.reviews-list-heading .material-icons { color:var(--voice-accent); }.reviews-list-heading b { background:rgba(98,173,232,.15); color:#d9f2ff; }
.location-reviews-page md-list-item { position:relative; min-height:76px; margin:8px 0; padding:10px 11px; overflow:hidden; border-color:rgba(190,220,255,.12); border-radius:17px 17px 17px 6px; background:linear-gradient(128deg,rgba(44,64,94,.58),rgba(13,19,32,.70)); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 9px 18px rgba(0,0,0,.09); }.location-reviews-page md-list-item::before { content:''; position:absolute; top:14px; bottom:14px; left:0; width:2px; background:linear-gradient(180deg,var(--voice-accent),transparent); opacity:.64; }.location-reviews-page md-list-item .lup-avatar { width:38px; height:38px; margin-right:7px; border:1px solid rgba(190,228,255,.28); border-radius:50%; overflow:hidden; }.location-reviews-page md-list-item .lup-comment-text { color:#e5effa; font-size:12px; line-height:1.44; }.location-reviews-page md-list-item .lup-comment-date { color:#91a8c1; font-size:9px; }.location-reviews-page .review-comment-rating .material-icons.is-rated { color:#ffd36e; }.review-delete { display:inline-flex; align-items:center; gap:3px; min-height:30px; padding:4px 6px; border:1px solid rgba(239,169,183,.18); border-radius:9px; background:rgba(164,73,95,.10); color:#efb1bf; cursor:pointer; font:700 8px/1 Ubuntu,Roboto,Arial,sans-serif; }.review-delete .material-icons { color:#efb1bf; font-size:15px; }.review-delete:hover { background:rgba(190,83,108,.18); }.reviews-empty { min-height:76px; padding:12px; border:1px dashed rgba(176,213,255,.18); border-radius:16px; background:rgba(255,255,255,.018); color:#a7b9cc; }.reviews-empty .material-icons { color:var(--voice-accent); }
@media (max-width:360px) { .reviews-hero,.reviews-scoreboard { margin-right:11px; margin-left:11px; }.reviews-compose { width:calc(100% - 22px); margin-right:11px; margin-left:11px; }.location-reviews-page md-list { padding-right:11px; padding-left:11px; }.review-delete span { display:none; }.review-delete { padding:5px; } }

/* The rating dialog uses the same blue midnight language as its location. */
.md-dialog-container .vote-dialog { width:min(408px,calc(100vw - 28px)); overflow:hidden; border:1px solid rgba(185,222,255,.23); border-radius:23px; background:radial-gradient(circle at 85% 0,rgba(92,170,238,.24),transparent 37%),linear-gradient(155deg,#17263e,#0b1322); box-shadow:0 29px 76px rgba(0,0,0,.55),0 0 42px rgba(90,170,240,.13); color:#eef8ff; }.vote-dialog md-toolbar,.vote-dialog md-toolbar .md-toolbar-tools { min-height:70px; height:70px; padding:0 16px; background:transparent; }.vote-dialog-title { display:grid; gap:2px; }.vote-dialog-title span { color:#a8dcff; font-size:8px; font-weight:850; letter-spacing:.16em; }.vote-dialog .md-toolbar-tools h2 { margin:0; color:#f4faff; font-size:20px; font-weight:760; letter-spacing:-.025em; }.vote-dialog-close { display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid rgba(204,232,255,.15); border-radius:11px; background:rgba(6,14,27,.35); color:#c6daee; cursor:pointer; }.vote-dialog-close .material-icons { font-size:18px; }.vote-dialog md-dialog-content,.vote-dialog .md-dialog-content { padding:0 16px 2px; background:transparent; }.vote-dialog-intro { gap:10px; margin:0 0 13px; color:#b8cbdf; font-size:11px; line-height:1.43; }.vote-dialog-mark { display:grid; place-items:center; flex:0 0 auto; width:35px; height:35px; border:1px solid rgba(189,229,255,.29); border-radius:12px 12px 12px 4px; background:rgba(104,181,239,.15); color:#bceaff; box-shadow:0 0 18px rgba(91,175,240,.12); }.vote-dialog-mark .material-icons { font-size:19px; }.vote-dialog-intro p { margin:0; }.vote-dialog-note { margin:0 0 12px; border-left-color:#97d7ff; background:rgba(106,181,238,.09); color:#c7dced; }.vote-rating-panel { display:grid; justify-items:center; gap:8px; margin:0 0 14px; padding:13px 12px 11px; border:1px solid rgba(190,225,255,.14); border-radius:16px; background:linear-gradient(145deg,rgba(87,148,203,.15),rgba(9,16,29,.42)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }.vote-rating-panel > span { color:#a7d7f5; font-size:8px; font-weight:850; letter-spacing:.14em; }.vote-dialog jk-rating-stars { margin:0; }.vote-dialog jk-rating-stars .material-icons { color:rgba(231,241,255,.22); font-size:31px; transition:transform .16s ease,color .16s ease; }.vote-dialog jk-rating-stars .material-icons:hover { color:#ffe083; transform:translateY(-2px) scale(1.06); }.vote-dialog md-input-container { margin:0; }.vote-dialog md-input-container > label { position:static; display:block; margin:0 0 7px; color:#a9c8df; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; transform:none; }.vote-dialog textarea { min-height:105px; padding:12px; border-color:rgba(188,224,255,.18); border-radius:14px; background:rgba(5,13,25,.42); color:#eff8ff; -webkit-text-fill-color:#eff8ff; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }.vote-dialog textarea::placeholder { color:#819ab2; opacity:1; }.vote-dialog textarea:focus { border-color:rgba(153,215,255,.55); box-shadow:0 0 0 3px rgba(108,184,241,.10),inset 0 1px 0 rgba(255,255,255,.07); outline:0; }.vote-dialog md-dialog-actions { min-height:62px; padding:10px 16px 15px; border-top:1px solid rgba(191,223,255,.10); }.vote-dialog md-dialog-actions .md-button { min-height:39px; margin:0 0 0 8px; border-radius:11px; color:#b9cce0; }.vote-dialog .vote-save { min-width:142px; border:1px solid rgba(199,234,255,.34); background:linear-gradient(135deg,#61b8ec,#6278d0); box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 8px 17px rgba(0,0,0,.19); color:#fff; font-weight:800; }
@media (max-width:360px) { .md-dialog-container .vote-dialog { width:calc(100vw - 20px); }.vote-dialog md-toolbar,.vote-dialog md-toolbar .md-toolbar-tools { min-height:63px; height:63px; padding:0 13px; }.vote-dialog md-dialog-content,.vote-dialog .md-dialog-content { padding-right:13px; padding-left:13px; }.vote-dialog jk-rating-stars .material-icons { font-size:27px; }.vote-dialog md-dialog-actions { padding-right:13px; padding-left:13px; }.vote-dialog .vote-save { min-width:124px; } }

/* jk-rating-stars marks selected values with .star-on (not .md-on). */
.reviews-stars .jk-rating-stars-container .star-button.star-on .material-icons { color:var(--tier); filter:drop-shadow(0 0 6px var(--tier-glow)); }
.vote-dialog jk-rating-stars .star-button.star-on .material-icons { color:var(--tier,#ffe083); filter:drop-shadow(0 0 6px var(--tier-glow)); }
.vote-dialog.vote-tier-crystal jk-rating-stars .star-button.star-on .material-icons { color:#f2fbff; filter:drop-shadow(0 0 7px rgba(128,221,255,.80)); animation:crystal-shimmer 2.8s ease-in-out infinite; }

/* A single, compact ten-step instrument instead of a generic star row. */
.vote-rating-head { display:flex; align-items:center; justify-content:space-between; width:100%; }.vote-rating-head > span { color:#a7d7f5; font-size:8px; font-weight:850; letter-spacing:.14em; }.vote-rating-head b { display:flex; align-items:baseline; gap:3px; color:var(--tier,#dff5ff); font-size:22px; letter-spacing:-.04em; text-shadow:0 0 15px var(--tier-glow); }.vote-rating-head b small { color:#93aec5; font-size:9px; letter-spacing:0; }.vote-rating-scale { display:flex; justify-content:space-between; width:min(267px,100%); margin-top:-4px; color:#8ea8c0; font-size:8px; font-weight:720; letter-spacing:.06em; text-transform:uppercase; }.vote-rating-scale span:last-child { color:var(--tier,#badff8); }

/* Ten stars are the whole control: the library's reset glyph would make the
 * row wrap and hides the colour progression on a phone. */
.vote-dialog jk-rating-stars .button:not(.star-button) { display:none; }
.vote-dialog jk-rating-stars .jk-rating-stars-container { display:flex; align-items:center; justify-content:center; width:180px; max-width:100%; overflow:visible; }
.vote-dialog jk-rating-stars .star-button { display:inline-grid; place-items:center; flex:0 0 18px; min-width:0; max-width:18px; width:18px; height:27px; margin:0; padding:0; }
.vote-dialog jk-rating-stars .star-button .material-icons { font-size:19px; }
.vote-dialog jk-rating-stars .star-button.star-off .material-icons { color:rgba(226,239,255,.18); text-shadow:none; }
.vote-dialog jk-rating-stars .star-button.star-on .material-icons { color:var(--tier,#ffe083); filter:drop-shadow(0 0 6px var(--tier-glow)); }
@media (max-width:360px) { .vote-dialog jk-rating-stars .jk-rating-stars-container { width:170px; }.vote-dialog jk-rating-stars .star-button { flex-basis:17px; max-width:17px; width:17px; }.vote-dialog jk-rating-stars .material-icons { font-size:18px; } }

/* angular-jk-rating-stars replaces its custom tag with this div at runtime. */
.vote-dialog .jk-rating-stars-container > .button:not(.star-button) { display:none; }
.vote-dialog .jk-rating-stars-container { display:flex; align-items:center; justify-content:center; width:180px; max-width:100%; overflow:visible; }
.vote-dialog .jk-rating-stars-container .star-button { display:inline-grid; place-items:center; flex:0 0 18px; min-width:0; max-width:18px; width:18px; height:27px; margin:0; padding:0; }
.vote-dialog .jk-rating-stars-container .star-button .material-icons { font-size:19px; }
.vote-dialog .jk-rating-stars-container .star-button.star-off .material-icons { color:rgba(226,239,255,.18); text-shadow:none; }
.vote-dialog .jk-rating-stars-container .star-button.star-on .material-icons { color:var(--tier,#ffe083); filter:drop-shadow(0 0 6px var(--tier-glow)); }
@media (max-width:360px) { .vote-dialog .jk-rating-stars-container { width:170px; }.vote-dialog .jk-rating-stars-container .star-button { flex-basis:17px; max-width:17px; width:17px; }.vote-dialog .jk-rating-stars-container .star-button .material-icons { font-size:18px; } }

/* Ten real steps, coloured by reputation. The tenth step becomes a crystal
 * signal, while lower scores remain plainly visible instead of hidden. */
.reviews-scoreboard { --tier:#ef765f; --tier-glow:rgba(239,118,95,.24); border-color:color-mix(in srgb,var(--tier) 38%,rgba(189,220,255,.15)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 11px 22px rgba(0,0,0,.12),0 0 22px var(--tier-glow); }.reviews-scoreboard::before { background:linear-gradient(90deg,var(--tier),transparent); box-shadow:0 0 12px var(--tier-glow); }.reviews-score strong { color:color-mix(in srgb,var(--tier) 48%,#fff4c5); }.reviews-stars .jk-rating-stars-container { display:flex; flex-wrap:wrap; gap:0; max-width:178px; }.reviews-stars .jk-rating-stars-container .material-icons { color:rgba(232,241,255,.18); font-size:14px; }.reviews-stars .jk-rating-stars-container .material-icons.md-on { color:var(--tier); filter:drop-shadow(0 0 6px var(--tier-glow)); }.reviews-scoreboard > .material-icons { color:var(--tier); }
.vote-tier-ember { --tier:#ef765f; --tier-glow:rgba(239,118,95,.24); }.vote-tier-amber { --tier:#efaa58; --tier-glow:rgba(239,170,88,.24); }.vote-tier-gold { --tier:#f2d36c; --tier-glow:rgba(242,211,108,.27); }.vote-tier-azure { --tier:#78d9eb; --tier-glow:rgba(120,217,235,.28); }.vote-tier-crystal { --tier:#f2fbff; --tier-glow:rgba(164,230,255,.46); }.vote-tier-crystal .reviews-stars .jk-rating-stars-container .material-icons.md-on,.vote-dialog.vote-tier-crystal jk-rating-stars .material-icons { color:#f2fbff; filter:drop-shadow(0 0 7px rgba(128,221,255,.80)); animation:crystal-shimmer 2.8s ease-in-out infinite; }.review-comment-rating.vote-tier-ember { --tier:#ef765f; }.review-comment-rating.vote-tier-amber { --tier:#efaa58; }.review-comment-rating.vote-tier-gold { --tier:#f2d36c; }.review-comment-rating.vote-tier-azure { --tier:#78d9eb; }.review-comment-rating.vote-tier-crystal { --tier:#f2fbff; }.review-comment-rating .material-icons.is-rated { color:var(--tier,#ffd36e); filter:drop-shadow(0 0 4px color-mix(in srgb,var(--tier,#ffd36e) 65%,transparent)); }.review-comment-rating.vote-tier-crystal .material-icons.is-rated { animation:crystal-shimmer 2.8s ease-in-out infinite; }
.vote-dialog jk-rating-stars { max-width:275px; }.vote-dialog jk-rating-stars .material-icons { font-size:26px; }.vote-dialog jk-rating-stars .material-icons:hover { color:var(--tier,#ffe083); } @keyframes crystal-shimmer { 0%,100% { opacity:.74; transform:translateY(0); } 50% { opacity:1; transform:translateY(-1px); } }
