/* GetLink / neon terminal. Shared across public, private and consent screens. */
.permission-note { padding:14px; border:1px solid #31596b; background:#102635; border-radius:5px; color:#b9dedf; font-size:12px; line-height:1.7; }
.security-record { border-left: 2px solid #386176; }
.security-record[open] { border-color: #39758a; box-shadow: 0 8px 35px #02071366; }
.security-record summary { background: linear-gradient(105deg,#102030,#101726); }
.record-id { display:block; font: 9px var(--mono); letter-spacing: 1.5px; color:#8aacc4; margin-bottom:7px; }
.record-summary { display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.record-badge { font:10px var(--mono); color:#aeb9d0; border:1px solid #35455f; border-radius:3px; padding:7px 9px; white-space:nowrap; }
.record-badge.located { color:#8cfff2; border-color:#2c756f; background:#10312e; }
.record-device { font:10px var(--mono); color:#8fa9bf; }
.visit-details.security-detail { margin-left:0; padding:0 22px 22px; }
.security-section-heading { display:flex; justify-content:space-between; gap:15px; padding:19px 0; font:9px var(--mono); letter-spacing:1px; color:#92aac3; }
.security-section-heading>span:last-child { color:#cc91da; text-align:right; }
.security-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,1.1fr); gap:22px; align-items:start; }
.security-data { display:grid; gap:14px; }
.security-group { padding:15px; border:1px solid #283b53; background:#0c1523; border-radius:4px; }
.security-group h4 { margin:0 0 14px; font-size:12px; font-weight:600; color:#e4f6ff; }
.security-group h4>span { font:9px var(--mono); color:#57e8e5; margin-right:9px; }
.security-group .security-fields { display:grid; grid-template-columns:1fr 1fr; margin:0; gap:13px; }
.security-group .security-fields dt { font-size:10px; color:#8fa5be; }
.security-group .security-fields dd { font-size:11px; color:#d9eeff; line-height:1.55; }
.security-group .security-fields>div:last-child:nth-child(odd) { grid-column:1/-1; }
.map-panel { border:1px solid #3b5c70; border-radius:5px; overflow:hidden; background:#091520; }
.map-toolbar { display:flex; align-items:center; justify-content:space-between; padding:13px; gap:8px; background:#112637; }
.map-toolbar>span:first-child { display:flex; align-items:center; gap:7px; color:#9deded; font:8px var(--mono); letter-spacing:.5px; }
.accuracy-chip { font:10px var(--mono); white-space:nowrap; color:#eef6ff; background:#1b384b; border:1px solid #3b627b; padding:5px 7px; border-radius:3px; }
.visit-map { display:block; width:100%; height:235px; border:0; background:#d6e2db; color-scheme:light; }
.map-coordinate-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px; border-top:1px solid #315167; }
.map-coordinate-bar>span { color:#c9ffff; font:11px var(--mono); }
.map-coordinate-bar small { display:block; color:#8b9fb7; font-size:8px; letter-spacing:1px; margin-bottom:6px; }
.map-coordinate-bar a { font:10px var(--mono); white-space:nowrap; }
.visit-details .map-caption { font-size:9px; line-height:1.65; color:#a5b7c7; padding:0 13px 12px; margin:0; }
.visit-details .map-caption a { font-size:9px; }
.map-service-note { color:#8b9fb7; font-size:9px; line-height:1.6; margin:10px 0 0; }
.map-unavailable { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:25px; border:1px dashed #3b4965; border-radius:5px; background:radial-gradient(ellipse,#14233b,#0e1727); }
.map-unavailable>span { font-size:36px; color:#5c879d; margin-bottom:12px; }
.map-unavailable strong { font-size:12px; color:#bed7e8; }
.map-unavailable p { font-size:11px; color:#8fa5be; margin:10px 0 0; }
@media(max-width:1000px) { .security-layout { grid-template-columns:1fr; } .security-map-section { order:-1; } .visit-map { height:220px; } }
@media(max-width:760px) {
  .visit-card.security-record summary { grid-template-columns:33px minmax(0,1fr) auto; }
  .record-summary { grid-column:2; align-items:flex-start; grid-row:2; gap:5px; }
  .security-record .expand-icon { grid-column:3; grid-row:1; }
  .record-device { font-size:9px; }
  .record-badge { font-size:9px; padding:5px 7px; }
  .visit-details.security-detail { padding:0 14px 16px; }
  .security-section-heading { font-size:8px; letter-spacing:.5px; padding:15px 0; }
  .security-layout { gap:15px; }
  .security-group { padding:13px; }
  .map-coordinate-bar { gap:8px; padding:11px; flex-wrap:wrap; }
  .map-coordinate-bar>span { font-size:10px; }
  .map-toolbar { padding:11px; }
  .map-toolbar>span:first-child { font-size:7px; }
  .visit-map { height:210px; }
}
.redirect-body { min-height: 100dvh; display: grid; place-items: center; margin: 0; padding: 24px; }
.redirect-status { max-width: 420px; text-align: center; }
.redirect-status #consent-status { font-size: 15px; color: #e9f5ff; }
:root {
  color-scheme: dark;
  --ink: #e9f5ff;
  --muted: #a4b2ca;
  --lime: #48f3ee;
  --paper: #080b15;
  --line: #293650;
  --white: #111827;
  --green: #57f3ea;
  --red: #ff87a8;
  --cyan: #48f3ee;
  --magenta: #ff55dc;
  --mono: "Cascadia Code", "Consolas", ui-monospace, monospace;
  background: var(--paper);
}
body { background: radial-gradient(ellipse at 90% 0%, #35134366, transparent 45%), radial-gradient(ellipse at 0% 35%, #07374355, transparent 48%), #080b15; }
body.landing { background-image: linear-gradient(#43f4ef05 1px, transparent 1px), linear-gradient(90deg, #43f4ef05 1px, transparent 1px), radial-gradient(ellipse at 85% 15%, #36114488, transparent 40%); background-size: 48px 48px, 48px 48px, auto; }
h1,h2,h3 { font-family: "Bahnschrift", "Segoe UI", sans-serif; font-weight: 700; }
.brand { text-transform: uppercase; letter-spacing: -1px; font-family: "Bahnschrift", "Segoe UI", sans-serif; color: #effbff; }
.brand span { color: #07131a; border-radius: 3px; box-shadow: 0 0 22px #48f3ee33; }
.brand::after { content: "_"; color: var(--magenta); margin-left: -4px; font-weight: 400; }
.eyebrow, .sidebar-label, .feature-num, .art-label, .art-caption, .free-badge { font-family: var(--mono); }
.eyebrow { color: var(--cyan); letter-spacing: 1.5px; }
.live-dot { background: var(--cyan); box-shadow: 0 0 10px #48f3ee88; }
.button { border-radius: 5px; letter-spacing: .2px; min-height: 50px; }
.primary { background: var(--cyan); color: #07141b; border: 1px solid var(--cyan); box-shadow: 4px 4px 0 #48f3ee16, 0 0 24px #48f3ee0d; }
.primary:hover { background: #90fffa; box-shadow: 0 0 25px #48f3ee35; }
.secondary { background: #111827; border-color: #364461; color: #e3efff; }
.secondary:hover { background: #17233a; border-color: #60e8ed; }
.light { background: #ff55dc; color: #1a0822; border-radius: 4px; }
.text-link, .text-button { color: var(--cyan); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline: 2px solid var(--magenta); outline-offset: 4px; }
.site-header { border-bottom: 1px solid #26314b; }
.hero h1 { letter-spacing: -.055em; }
.hero h1 em { color: var(--cyan); text-shadow: 3px 2px 0 #b8248133, 0 0 35px #48f3ee20; }
.hero-note { font-family: var(--mono); font-size: 10px; }
.hero-art { background: linear-gradient(150deg, #142638bb, #180e2ad9), repeating-linear-gradient(0deg, transparent 0 3px, #4deaff05 4px); border: 1px solid #355370; border-radius: 8px; box-shadow: inset 0 0 80px #43f4ef08, 12px 12px 0 #12152a; }
.hero-art::before { content: "GL / NETWORK INTERFACE"; position: absolute; bottom: 0; right: 0; font: 8px var(--mono); padding: 6px 10px; color: #cf83df; border-top: 1px solid #74316b; border-left: 1px solid #74316b; background: #140d22; z-index: 2; }
.hero-art::after { content: "＋"; color: var(--magenta); position: absolute; right: 24px; top: 14px; font: 25px var(--mono); }
.orbit { border-color: #3accd937; box-shadow: 0 0 30px #32e9ff04; }
.orbit-two { border-color: #ec49cb40; }
.art-label { color: #8cdde6; }
.floating-link { background: #111b2f; border: 1px solid #44f0ec88; border-radius: 6px; box-shadow: 0 0 28px #32e9ff13; transform: rotate(-3deg); }
.mini-icon { background: #062d39; color: var(--cyan); border: 1px solid #28647c; border-radius: 4px; }
.spark { color: var(--magenta); text-shadow: 0 0 15px #ff55dc88; }
.art-arrow { color: #6bdfeb; text-shadow: 0 0 24px #48f3ee44; }
.destination-card { background: linear-gradient(140deg, #421e57, #211435); border: 1px solid var(--magenta); color: #ffb5f0; border-radius: 6px; box-shadow: 0 0 35px #ff55dc20; }
.destination-card .eyebrow { color: #ffb5f0; }
.giant-link { color: var(--magenta); text-shadow: 0 0 25px #ff55dc77; }
.art-pill { border-color: #a03d92; color: #f4cbff; font-family: var(--mono); font-size: 9px; }
.art-caption { color: #b2dbec; }
.features { border-top-color: #314058; }
.feature-num { color: var(--magenta); }
.feature-grid article { border-left: 2px solid #3fc9d5; padding-left: 22px; }
.privacy-banner { background: linear-gradient(110deg, #111f2e, #18132b); border: 1px solid #304962; border-radius: 6px; }
.privacy-symbol { color: var(--cyan); }
.closing h2 { text-shadow: 3px 0 #ff55dc16; }
.site-footer { border-color: #293650; }
.site-footer .brand { color: #effbff; }
input,select { background: #090f1e; color: #eef6ff; border-color: #34435e; border-radius: 5px; }
input::placeholder { color: #8c9bb2; }
input:focus,select:focus { border-color: var(--cyan); outline: 1px solid var(--cyan); box-shadow: 0 0 0 4px #48f3ee0e; }
.auth-body { background: radial-gradient(ellipse at 80% 10%, #42164077, transparent 55%), radial-gradient(ellipse at 10% 70%, #073f4a66, transparent 50%), #080b15; }
.auth-layout { background: #111725; border: 1px solid #33455f; border-radius: 10px; box-shadow: 0 0 55px #1a8d9b09; }
.auth-story { background: linear-gradient(160deg, #102534, #170d2b); border-right: 1px solid #314158; position: relative; }
.auth-story::after { content: "GETLINK // CONNECT YOUR WORLD"; font: 8px var(--mono); letter-spacing: 2px; color: #e67bd4; position: absolute; bottom: 18px; left: 44px; }
.auth-story h1 { color: #f1f6ff; text-shadow: 2px 0 #ff55dc33; }
.auth-story p,.auth-story .muted { color: #afbad0; }
.auth-story .eyebrow { color: var(--cyan); }
.story-mark { color: var(--cyan); text-shadow: 5px 3px 0 #ff55dc88, 0 0 40px #48f3ee22; }
.auth-switch a { color: var(--cyan); }
.password-wrap button { color: var(--cyan); }
.consent-card { background: #111827; border: 1px solid #395873; border-radius: 9px; box-shadow: 0 0 45px #48f3ee0a; }
.consent-card strong { color: #d0faff; }
.app-body { background: radial-gradient(ellipse at top right, #24133244, transparent 60%), #080b15; }
.sidebar { background: #090e1b; border-right: 1px solid #26334c; color: #eef6ff; }
.sidebar-label { color: #8b9db8; }
.nav-item { color: #abbad1; border: 1px solid transparent; border-radius: 5px; }
.nav-item.active { background: #14313b; color: var(--cyan); border-color: #48f3ee66; box-shadow: inset 3px 0 var(--cyan); }
.nav-item:not(.active):hover { background: #152237; color: #ddfaff; }
.sidebar-foot,.sidebar-foot p { color: #98a9c1; }
.sidebar .free-badge, .free-badge { background: #123037; color: var(--cyan); border: 1px solid #2e656c; border-radius: 3px; }
.app-header { background: #0d1322; border-bottom-color: #2b3852; }
.breadcrumb strong { color: #deeeff; }
.breadcrumb span { color: #617389; }
.user-chip { background: #141b2e; border-color: #53405f; color: #edb5e4; border-radius: 5px; font-family: var(--mono); }
.metric { background: linear-gradient(150deg, #141e30, #111523); border: 1px solid #34425e; border-radius: 7px; position: relative; }
.metric::after { content: ""; position: absolute; right: 12px; bottom: 12px; width: 13px; height: 13px; border-right: 1px solid #53607b; border-bottom: 1px solid #53607b; }
.metric:first-child { background: linear-gradient(145deg, #123841, #132334); border-color: #48f3ee99; box-shadow: 0 0 20px #48f3ee09; }
.metric:first-child .metric-top { color: #a6f7f4; }
.metric strong { font-family: var(--mono); color: #edf8ff; font-weight: 600; }
.metric:first-child strong { color: var(--cyan); text-shadow: 0 0 20px #48f3ee25; }
.metric:nth-child(4) .metric-icon { color: var(--magenta); }
.metric small { color: #a7b7ce; }
.surface { background: #101726; border: 1px solid #2c3a54; border-radius: 7px; }
.pill { background: #142537; border-color: #2e5368; color: #a0dfea; border-radius: 3px; font-family: var(--mono); }
.chart svg rect { fill: #286e81; }
.chart svg rect:last-of-type { fill: var(--cyan); filter: drop-shadow(0 0 4px #48f3ee44); }
.chart svg line { stroke: #34425e; }
.chart svg text { fill: #a4b2ca; font-family: var(--mono); }
.get-started { background: linear-gradient(135deg, #271735, #141a32); border: 1px solid #5b346b; border-radius: 7px; }
.get-started .eyebrow { color: #f590dd; }
.promo-arrow { color: #ad3da747; }
.link-card { background: #111929; border-color: #30405a; border-radius: 7px; }
.link-icon { background: #102e39; color: var(--cyan); border: 1px solid #2c5a6a; border-radius: 5px; }
.status-dot { background: var(--cyan); box-shadow: 0 0 8px #48f3ee66; }
.status-dot.inactive { background: #718198; box-shadow: none; }
.short-link { color: #8ef9f3; background: #090f1d; border: 1px solid #203d4c; border-radius: 4px; }
.mode-badge { background: #20223d; color: #c8b9ee; border: 1px solid #383256; border-radius: 3px; }
.card-actions { border-color: #293751; }
.card-actions button { color: #8eedeb; }
.card-actions button:hover { background: #163340; border-radius: 4px; }
.empty-state { border-color: #3a4763; border-radius: 7px; background: #10182766; }
.empty-state .empty-icon { color: var(--magenta); text-shadow: 0 0 15px #ff55dc44; }
.empty-state h3 { color: #e6f3ff; }
.chart .empty-state { background: transparent; }
.visit-card { background: #111929; border-color: #30405a; border-radius: 6px; }
.visit-details { border-color: #293751; }
.visit-details a { color: var(--cyan); }
.visit-details dt { color: #acb8cc; }
.danger { background: #35172a; color: #ffadc7; border-color: #833957; }
.error-banner { background: #321728; color: #ffc1d3; border: 1px solid #763049; }
dialog { background: #111929; color: #e9f5ff; border: 1px solid #437081; border-radius: 9px; box-shadow: 0 0 55px #07131abb; }
dialog::backdrop { background: #020615b8; }
.icon-button { background: #202942; color: #cae7ff; border-radius: 4px; }
.mode-option { border-color: #35425d; border-radius: 5px; }
.mode-option:has(input:checked) { background: #14303b; border-color: #48f3ee99; }
.mode-option input { accent-color: var(--cyan); }
.toast { background: #102c35; color: #daffff; border: 1px solid #48f3ee99; border-radius: 5px; box-shadow: 0 0 28px #48f3ee17; }
.geoip-attribution { font-size: 11px; color: #a7b6cf; margin-top: 18px; line-height: 1.7; }
.geoip-attribution a { color: var(--cyan); text-decoration: underline; }
.geoip-active { color: var(--cyan); }
@media(max-width:760px) {
  .hero-art { box-shadow: 6px 6px 0 #141527; }
  .hero h1 { font-size: clamp(41px, 9.8vw, 65px); }
  .feature-grid article { border-bottom-color: #28354d; padding-left: 18px; }
  .sidebar { background: #0a1222f5; backdrop-filter: blur(14px); border: 1px solid #314764; border-bottom: 0; border-radius: 12px 12px 0 0; box-shadow: 0 -8px 30px #0005; }
  .nav-item { border-radius: 5px; }
  .nav-item.active { background: #15313c; color: var(--cyan); border-color: #40838d; box-shadow: inset 0 2px var(--cyan); }
  .auth-layout { border-radius: 8px; }
  .metric,.surface,.link-card { border-radius: 7px; }
  .consent-card { border-radius: 8px; }
  .app-header .brand { font-size: 25px; }
}
@media(prefers-reduced-motion:no-preference) {
  .hero-art .orbit-one { animation: neon-breathe 6s ease-in-out infinite alternate; }
  @keyframes neon-breathe { from { opacity:.55; } to { opacity:1; border-color:#43e9ed88; } }
}

/* Compact access and expanded control panel */
.auth-layout.login-only{display:block;width:min(100%,460px);min-height:0;margin:auto}.login-only .auth-card{padding:32px;border:1px solid #284359;border-radius:12px;background:#101827}.login-only .brand{display:inline-flex;margin-bottom:30px}.login-only .eyebrow{display:none}.login-only h1{font-size:1.65rem}.login-only #auth-description:empty{display:none}.login-only .auth-switch{margin-top:20px}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px}.filters label{min-width:0}.destination-preview{display:flex;gap:14px;padding:14px 0;margin-bottom:8px;border-bottom:1px solid #243548;min-height:100px}.destination-preview img,.preview-placeholder{width:88px;height:88px;flex:none;object-fit:cover;border-radius:6px;background:#182a3a}.preview-placeholder{display:grid;place-items:center;color:#35eded;font-size:28px}.destination-preview>div{min-width:0}.destination-preview small{color:#39e5e7;display:block;font-size:10px;overflow-wrap:anywhere}.destination-preview strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;margin:5px 0}.destination-preview p{font-size:11px;color:#a9bbcf;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;flex-wrap:wrap;gap:4px}.card-actions a{padding:9px;font-size:12px;text-decoration:none}.card-actions button{flex:1 1 auto}.danger-text{color:#ff879c!important}.top-surface{margin:24px 0}.top-link{width:100%;display:flex;align-items:center;gap:16px;border:0;border-bottom:1px solid #243548;padding:14px 0;color:#d9e8f7;background:transparent;text-align:left}.top-link strong{flex:1;overflow-wrap:anywhere}.top-link>span{color:#35eded;font-size:12px;flex-shrink:0}#account-security h3{margin-top:16px}#account-security .button{background:#172b39;color:#d9ffff}#account-security .button.primary{background:#38eaea;color:#06141e}.account-grid>.surface{min-width:0}#action-dialog{max-width:460px}
@media(max-width:700px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout.login-only{margin:auto}.login-only .auth-card{padding:24px}.destination-preview img,.preview-placeholder{width:72px;height:72px}.card-meta{flex-wrap:wrap;gap:8px}.metric strong{font-size:30px}.metric small{line-height:1.5}}
#created-link-dialog{width:min(480px,calc(100% - 32px))}#created-link-url{font-family:monospace;color:#38eaea;font-size:14px}#created-link-dialog .dialog-actions{margin-top:16px;flex-wrap:wrap}#created-link-title{font-size:1.5rem}
.brand::after{content:none!important}.brand .brand-logo{display:block;width:176px;height:auto;max-width:100%;filter:none}.sidebar .brand{margin-left:0;margin-right:0}.app-header .brand .brand-logo{width:154px}.login-only .brand .brand-logo,.account-flow .brand .brand-logo{width:190px}@media(max-width:380px){.app-header .brand .brand-logo{width:140px}.header-actions{gap:7px}.app-header .user-chip{max-width:76px}}
.live-location-card{width:min(92vw,560px);margin:7vh auto;padding:32px;border:1px solid #2e5665;border-radius:18px;background:#101827;color:#e8f7ff;box-shadow:0 24px 80px #0008}.live-location-card h1{font-size:clamp(1.8rem,7vw,2.7rem)}.live-location-card>p{color:#a9bdd0}.live-location-card>strong{display:block;margin:24px 0 10px;color:#55eee6;font:700 1.25rem ui-monospace,monospace}.live-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.live-actions .button{width:100%}@media(max-width:520px){.live-location-card{margin:18px auto;padding:25px 21px}.live-actions{grid-template-columns:1fr}}
