.lx-review { color:var(--ink,#f6f7f3); background:var(--surface,#0c1226); border:1px solid var(--line,#30394c); border-radius:18px; padding:clamp(16px,3vw,30px); font:16px/1.6 var(--font-sans,system-ui,sans-serif); color-scheme:dark; }
.lx-review * { box-sizing:border-box; }
.lx-review h2 { font-size:28px; margin:0; letter-spacing:-.04em; }
.lx-review h3 { margin:12px 0; font-size:20px; }
.lx-review p { margin:8px 0 18px; }
.lx-review .eyebrow { color:var(--lime,#c8ff38); font-size:12px; letter-spacing:.13em; text-transform:uppercase; }
.lx-review label { display:flex; flex-direction:column; gap:5px; font-size:14px; min-width:0; }
.lx-review input,.lx-review select,.lx-review button { font:inherit; max-width:100%; min-height:46px; border:1px solid #465069; border-radius:10px; padding:9px 12px; background:#111a30; color:#f6f7f3; }
.lx-review button { cursor:pointer; }
.lx-review button.primary { background:#c8ff38; color:#101500; font-weight:700; border-color:transparent; }
.lx-review button:disabled { opacity:.5; cursor:default; }
.lx-review :focus-visible { outline:3px solid #9d8aff; outline-offset:3px; }
.lx-review .range { display:grid; grid-template-columns:1fr 1fr auto auto; gap:12px; align-items:end; }
.lx-review .controls { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:16px 0; }
.lx-review .status { min-height:26px; color:#b9c4d9; }
.lx-review [aria-busy=true]::before { content:'◌ '; display:inline-block; animation:lxspin 1s linear infinite; }
.lx-review .result { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:24px; }
.lx-review .words { max-height:620px; overflow:auto; overscroll-behavior:contain; }
.lx-review .utterance { padding:16px; border:1px solid #394158; border-radius:12px; margin-bottom:12px; background:#10182a; }
.lx-review .utterance p,.lx-review .summary { white-space:pre-wrap; overflow-wrap:anywhere; }
.lx-review .utterance button { font-size:13px; color:#c8ff38; }
.lx-review .utterance.active { border-color:#c8ff38; }
.lx-review .map { height:300px; overflow:hidden; position:relative; border-radius:12px; background:#19253a; isolation:isolate; }
.lx-review .map img { position:absolute; width:256px; height:256px; max-width:none; }
.lx-review .map .dot { position:absolute; width:30px; height:30px; min-height:30px; padding:0; border-radius:50%; background:#c8ff38; color:#111; border:2px solid white; z-index:2; transform:translate(-50%,-50%); font-size:12px; }
.lx-review .map-credit { position:absolute; right:0; bottom:0; z-index:3; background:#10182ae8; color:white; padding:3px 6px; font-size:11px; }
.lx-review audio { width:100%; margin:8px 0; }
.lx-review .locations { max-height:240px; overflow:auto; }
.lx-review .locations button { display:block; width:100%; text-align:left; margin:8px 0; }
.lx-review .location-panel { align-self:start; min-width:0; padding:18px; border:1px solid #ff9829; border-radius:18px; background:linear-gradient(145deg,#301b16,#0b1022 65%); box-shadow:0 0 18px #ff810020; }
.lx-review .location-panel h3 { display:flex; align-items:center; gap:10px; margin:0 0 12px; font-size:19px; line-height:1.3; }
.lx-review .location-symbol { display:grid; place-items:center; flex:0 0 36px; height:36px; border:1px solid #ffb24d; border-radius:11px; background:linear-gradient(145deg,#ff9b18,#853200); color:white; font-size:27px; box-shadow:0 0 12px #ff850044; }
.lx-review .location-panel>.muted { font-size:13px; margin-bottom:14px; }
.lx-review .location-panel .map { border:1px solid #73503c; background:#101525; }
.lx-review .location-panel .map-empty { height:auto; min-height:100px; display:grid; place-items:center; padding:20px; border-style:dashed; background:#100f1c; }
.lx-review .map-empty p { margin:0; color:#c7d2ed; font-size:14px; text-align:center; }
.lx-review .map-controls { display:grid; grid-template-columns:46px 46px 1fr; gap:8px; margin:12px 0 0; }
.lx-review .map-controls[hidden],.lx-review .location-panel [hidden] { display:none; }
.lx-review .map-controls button { margin:0; font-size:14px; padding:8px; }
.lx-review .map-controls button:not([data-action=fit]) { font-size:24px; line-height:1; }
.lx-review .location-panel .locations { margin-top:12px; }
.lx-review .location-panel .locations button { font-size:13px; line-height:1.5; padding:12px; border-left:3px solid #ff9829; }
.lx-review .map-unavailable { position:absolute; inset:12px 12px auto; z-index:4; margin:0; padding:12px; border:1px solid #ff9829; border-radius:10px; background:#111527ed; color:#fff; font-size:13px; }
.lx-review .muted { color:#acb8cd; font-size:14px; }
@keyframes lxspin { to { transform:rotate(360deg); } }
@media(max-width:760px) { .lx-review .range { grid-template-columns:1fr 1fr; } .lx-review .result { grid-template-columns:1fr; } .lx-review h2 { font-size:24px; } }
@media(max-width:560px) { .lx-review .range { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .lx-review [aria-busy=true]::before { animation:none; } }
body:has(>main#review) { margin:0; padding:12px; background:#030615; }
.lx-review .notification-center { padding:16px; margin-bottom:20px; border:1px solid #7775; border-radius:16px; background:#171b2c; }
.lx-review .notification-center summary { cursor:pointer; font-size:18px; font-weight:700; }
.lx-review .notification-settings { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:16px 0; }
.lx-review .notification-settings label { display:flex; flex-direction:row; gap:10px; align-items:center; }
.lx-review .notification-settings input { width:20px; height:20px; }
.lx-review .notification-list { display:grid; gap:10px; margin-top:12px; }
.lx-review .notification-list button { text-align:left; white-space:normal; overflow-wrap:anywhere; }
.lx-review .notification-list .notification-count { margin:0 0 2px; font-size:13px; color:#b4bdd3; }
.lx-review .notification-group { --notification-accent:#b4bdd3; border:1px solid #343d58; border-radius:16px; overflow:hidden; background:#141a2b; }
.lx-review .notification-kind-summary { --notification-accent:#9e8aff; }
.lx-review .notification-kind-ready { --notification-accent:#b9ff3b; }
.lx-review .notification-kind-issue { --notification-accent:#ff8b9b; }
.lx-review .notification-list .notification-open { display:grid; grid-template-columns:38px minmax(0,1fr) 12px; gap:12px; align-items:start; width:100%; border:0; border-radius:0; padding:16px; background:transparent; color:#f5f6ff; font-size:14px; line-height:1.5; font-weight:400; }
.lx-review .notification-open:hover,.lx-review .notification-earlier:hover { background:#252d4466; }
.lx-review .notification-mark { display:grid; place-items:center; width:38px; min-height:38px; border-radius:10px; background:color-mix(in srgb,var(--notification-accent) 12%,transparent); color:var(--notification-accent); font-size:22px; }
.lx-review .notification-main { display:grid; gap:5px; min-width:0; }
.lx-review .notification-meta { display:flex; gap:6px 14px; flex-wrap:wrap; align-items:baseline; }
.lx-review .notification-kind { color:var(--notification-accent); font-size:12px; font-weight:600; }
.lx-review .notification-time { color:#b4bdd3; font-size:11px; }
.lx-review .notification-title { font-size:16px; font-weight:600; line-height:1.4; color:#f5f6ff; }
.lx-review .notification-session,.lx-review .notification-body { color:#b4bdd3; font-size:13px; }
.lx-review .notification-arrow { color:#b4bdd3; font-size:24px; line-height:1.5; }
.lx-review .notification-center .notification-previous>summary { padding:13px 16px; min-height:48px; border-top:1px solid #343d5880; font-size:14px; font-weight:500; color:#9e8aff; }
.lx-review .notification-list .notification-earlier { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; width:100%; border:0; border-top:1px solid #343d5840; border-radius:0; background:transparent; padding:12px 18px; font-size:14px; line-height:1.5; }
.lx-review .notification-earlier .notification-session { grid-column:1; grid-row:2; }
.lx-review .notification-earlier-action { grid-column:2; grid-row:1/3; align-self:center; color:#9e8aff; font-size:12px; }
.lx-review .review-history { border:1px solid #465069; border-radius:12px; padding:14px; margin:16px 0; }
.lx-review .review-history summary { cursor:pointer; font-weight:700; }
.lx-review .history-list { display:grid; gap:12px; }
.lx-review .history-item { border-top:1px solid #465069; padding-top:10px; }
.lx-review .history-item p { margin:0 0 8px; overflow-wrap:anywhere; }
.lx-review .history-item button { margin:0 8px 8px 0; text-align:left; white-space:normal; }
.lx-review .review-history { padding:0; border-color:#a45ce4; background:linear-gradient(145deg,#271439,#101224); overflow:hidden; }
.lx-review .review-history>summary { display:flex; align-items:center; gap:12px; padding:16px; list-style:none; font-size:18px; line-height:1.3; }
.lx-review .review-history>summary::-webkit-details-marker { display:none; }
.lx-review .review-history>summary::after { content:'+'; margin-left:auto; color:#e3b4ff; font-size:24px; }
.lx-review .review-history[open]>summary::after { content:'−'; }
.lx-review .history-symbol { display:grid; place-items:center; flex:0 0 38px; height:38px; border:1px solid #d99aff; border-radius:12px; background:linear-gradient(145deg,#ae36ff,#421074); box-shadow:0 0 14px #a000ff44; font-size:27px; }
.lx-review .history-summary-note { display:block; margin-top:5px; font-size:12px; font-weight:400; color:#c7b9d6; }
.lx-review .history-count { padding:4px 9px; border:1px solid #ff9829; border-radius:20px; color:#ffba62; font-size:13px; }
.lx-review .history-content { padding:0 16px 16px; }
.lx-review .history-intro { font-size:13px; color:#c7d2ed; }
.lx-review .history-item { padding:16px; border:1px solid #77518e; border-radius:14px; background:#0c1020; }
.lx-review .history-item-heading h4 { margin:0 0 4px; font-size:16px; line-height:1.4; }
.lx-review .history-item .history-time { color:#ffb154; font-size:13px; }
.lx-review .history-item .history-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; line-height:1.5; color:#c7d2ed; margin:12px 0; }
.lx-review .history-open-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.lx-review .history-open-actions button { flex:1 1 125px; margin:0; text-align:center; font-size:13px; }
html .lx-review .history-open-actions button:first-child { background:linear-gradient(145deg,#e4ff4d,#bcff00); color:#111900; border-color:#e5ff80; font-weight:700; }
.lx-review .history-item-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; border-top:1px solid #44314f; padding-top:8px; font-size:12px; color:#b8c6df; }
html .lx-review .history-remove { flex:0 0 auto; margin:0; padding:8px; font-size:12px; background:transparent; border:0; color:#e0b4ff; }
.lx-review .history-footer { display:flex; align-items:start; justify-content:space-between; gap:12px; margin-top:16px; }
.lx-review .history-help { flex:1; min-width:0; font-size:12px; color:#bac8df; }
.lx-review .history-help>summary { min-height:44px; padding:12px 0; font-size:12px; font-weight:500; cursor:pointer; }
.lx-review .history-help p { margin:6px 0; line-height:1.6; }
.lx-review .history-footer button { flex-shrink:0; font-size:12px; }
.lx-review .history-empty { display:grid; gap:6px; padding:22px 14px; border:1px dashed #79518e; border-radius:12px; text-align:center; }
.lx-review .history-empty strong { font-size:15px; }.lx-review .history-empty p { margin:0; font-size:13px; color:#b8c6df; }
.lx-review .history-confirm { margin-top:14px; padding:14px; border:1px solid #ff9829; border-radius:12px; background:#281a16; }
.lx-review .history-confirm p { font-size:14px; }.lx-review .history-confirm .muted { font-size:12px; }
.lx-review .history-confirm-actions { display:flex; gap:8px; }.lx-review .history-confirm-actions button { flex:1; margin:0; text-align:center; font-size:13px; }
.lx-review .review-result-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:16px 0; }
.lx-review .review-result-actions button { font-size:13px; }.lx-review .review-result-actions span { flex:1 1 160px; color:#c7d2ed; font-size:12px; }
.lx-review .history-confirm[hidden],.lx-review .review-result-actions[hidden] { display:none; }
.lx-review .profile-panel>summary { font-size:22px; cursor:pointer; }
.lx-review .profile-upload { display:grid; gap:14px; margin:20px 0; }
.lx-review textarea { width:100%; font:inherit; line-height:1.6; background:#111a30; color:#f6f7f3; border:1px solid #465069; border-radius:10px; padding:12px; resize:vertical; }
.lx-review .profile-source { border-top:1px solid #465069; padding:18px 0; }
.lx-review .profile-source pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:250px; overflow:auto; }
.lx-review .profile-status { overflow-wrap:anywhere; }
body:has(>main#profile) { margin:0; padding:12px; background:#030615; }

/* The same neon surfaces are bundled into Android's review WebView. */
:root { --ink:#f9faff; --muted:#c1cbe1; --surface:#101326; --line:#79469f; --lime:#c6ff00; --font-sans:Manrope,"Segoe UI",system-ui,sans-serif; }
body:has(>main>#library) { margin:0; padding:16px; background:radial-gradient(ellipse at top left,#6500ad55,transparent 55%),#050611; }
.lx-review { border-color:#a244e2; background:linear-gradient(140deg,#211239,#0b1123); box-shadow:0 0 24px #8e00ff22; border-radius:24px; }
.lx-review h2 { font-weight:800; }
.lx-review button.primary { background:linear-gradient(135deg,#e5ff32,#b4ff00); color:#101600; box-shadow:0 0 18px #baff002a; }
.lx-review .utterance,.lx-review .notification-group { background:#111329; border-color:#72419b; }
.lx-review .utterance.active { border-color:#c6ff00; box-shadow:0 0 12px #c6ff0025; }
.lx-review[data-has-result=false]>.controls,
.lx-review[data-has-result=false]>.result { display:none; }
main>#review { margin-bottom:24px; }
