/* Dark material system inspired by the supplied DesignCode reference.
   Public pages share the same palette; the scanner owns its animated stage. */
:root {
  color-scheme: dark;
  --bg:#08090c; --bg-alt:#121219; --text:#f0f0f5; --text-muted:#93939f;
  --primary:#b8abff; --primary-h:#d2c9ff; --border:#ffffff16; --white:#15151c;
  --shadow-sm:0 1px 3px #0005; --shadow:0 12px 35px #0005; --nav-h:76px;
}
body { background:#08090c; color:#f0f0f5; }
h1,h2,h3,h4,h5,h6 { color:#f0f0f5; }
a { color:#c7bbff; }
.navbar { background:#08090cc9; border-bottom:1px solid #ffffff0b; backdrop-filter:blur(26px) saturate(130%); -webkit-backdrop-filter:blur(26px) saturate(130%); }
.nav-container { max-width:1256px; }
.brand-wordmark { color:#f3f2f8; }
.brand-mark { filter:saturate(.7); }
.nav-link { color:#9a99a6; font-weight:400; }
.nav-link:hover { color:#f6f3ff; background:#ffffff08; }
.nav-cta { background:linear-gradient(180deg,#ffffff0e,#ffffff04); border:1px solid #ffffff1f; color:#ded9f5; box-shadow:inset 0 1px #ffffff09,0 3px 12px #0004; }
.nav-cta:hover { background:#ffffff10; color:white; border-color:#bbaaff5c; }
.lang-trigger { background:#ffffff06; border-color:#ffffff14; color:#bebacb; }
.lang-trigger:hover { background:#ffffff0c; border-color:#ffffff25; }
.lang-dropdown { background:#17161ce8; border-color:#ffffff1c; box-shadow:0 15px 35px #0008; }
.lang-option { color:#b2adbf; }
.lang-option:hover,.lang-option.active { color:#f2edff; background:#a58bff16; }
.nav-hamburger span { background:#d9d3e9; }
.nav-mobile { background:#111015ee; border-color:#ffffff14; backdrop-filter:blur(24px); }
.mobile-lang-btn { background:#ffffff06; color:#c6bde0; border-color:#ffffff18; }
.mobile-lang-btn.active { background:#a896ff1b; border-color:#b4a0ff4a; color:#dfd5ff; }
.scanner-page { background:#08090c; }
.scanner-shell { position:relative; isolation:isolate; max-width:1256px; padding:76px 32px 70px; }
.scanner-workspace { position:relative; z-index:1; gap:80px; }
.scanner-intro { padding-bottom:15px; }
.scanner-eyebrow { background:linear-gradient(180deg,#ffffff0a,#ffffff03); border:1px solid #ffffff13; box-shadow:inset 0 1px #ffffff05; color:#c0b9d3; font-size:8px; font-weight:400; padding:7px 11px; letter-spacing:.02em; }
.eyebrow-dot { background:#b9a5ff; box-shadow:0 0 10px #ae8cff88; }
.scanner-intro h1 { color:#f1eff7; font-size:clamp(30px,3.25vw,46px); font-weight:500; letter-spacing:-1.9px; line-height:1.4; margin-bottom:23px; }
.scanner-accent { color:#c7b8ef; background:linear-gradient(180deg,#f4edff 5%,#c6b0f1 58%,#8474a7); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.scanner-intro>p { color:#93909f; font-size:12px; line-height:2.1; max-width:460px; }
.scanner-benefits { color:#aba3ba; font-size:9px; gap:21px; margin-top:27px; }
.scanner-benefits svg { color:#c8b8fa; }
.message-preview { position:relative; border:1px solid #ffffff14; border-radius:12px; background:linear-gradient(140deg,#ffffff09,#ffffff02); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:inset 0 1px #ffffff0c,0 12px 25px #0003; margin-top:42px; max-width:375px; padding:19px; }
.message-preview:after { content:''; position:absolute; inset:5px; border:1px solid #ffffff05; border-radius:8px; pointer-events:none; }
.signal-corner { position:absolute; right:15px; top:15px; width:4px; height:4px; border-radius:50%; background:#b89bea; box-shadow:0 0 8px #bb9aff66; }
.message-avatar { background:linear-gradient(135deg,#34303c,#17161d); color:#c7bedb; border:1px solid #ffffff17; box-shadow:inset 0 1px #ffffff14; }
.message-sender { color:#7e778d; font-size:8px; }
.message-preview p { color:#b0a6c2; font-size:10px; }
.message-flag { color:#b99f7b; font-size:8px; }
.scanner-input-card { position:relative; overflow:hidden; border:1px solid #ffffff1b; border-radius:18px; padding:29px; background:linear-gradient(150deg,#202027b8 0%,#111116db 48%,#121117d9 100%); backdrop-filter:blur(25px) saturate(125%); -webkit-backdrop-filter:blur(25px) saturate(125%); box-shadow:0 24px 70px #0007,inset 0 1px 0 #ffffff12,inset 1px 0 0 #ffffff04; }
.scanner-panel-edge { position:absolute; inset:0 20% auto; height:1px; background:linear-gradient(90deg,transparent,#e6d8ff55,transparent); pointer-events:none; }
.scanner-card-heading { margin-bottom:25px; }
.scanner-card-icon { color:#d0bdf6; background:linear-gradient(140deg,#4b3c5b40,#2b243626); border:1px solid #b39ad52b; box-shadow:inset 0 1px #e3c8ff0c; border-radius:11px; }
.scanner-card-heading h2 { color:#e4dfed; font-weight:500; font-size:16px; }
.scanner-card-heading p { color:#77717f; font-size:9px; }
.scanner-tabs { background:#08080c7d; border:1px solid #ffffff0a; box-shadow:inset 0 2px 4px #0004; border-radius:9px; }
.scanner-tabs button { color:#716b7d; font-size:10px; }
.scanner-tabs button.active { color:#e2d5fc; background:linear-gradient(180deg,#2b2632,#211e27); border:1px solid #d9baff22; padding:9px 7px; box-shadow:inset 0 1px #ffffff0c,0 2px 5px #0005; }
.scanner-tabs button:hover { color:#e2d5fc; }
#scanText { color:#d5cede; background:linear-gradient(160deg,#09090d9c,#11101670); border:1px solid #ffffff10; box-shadow:inset 0 2px 6px #0003; border-radius:9px; height:165px; }
#scanText::placeholder { color:#665f75; font-size:11px; }
#scanText:focus { border-color:#bca0ec69; box-shadow:0 0 0 3px #bca0ec0a,inset 0 2px 6px #0003; }
.scanner-text-meta { color:#797180; font-size:8px; margin-bottom:20px; }
.scanner-submit { position:relative; background:linear-gradient(180deg,#463950,#282230); border:1px solid #b69bcc70; color:#e8ddf6; border-radius:9px; font-size:11px; font-weight:500; box-shadow:inset 0 1px #efcfff32,inset 0 -1px #0008,0 0 14px #b395ff15,0 6px 15px #0005; min-height:49px; }
.scanner-submit:before { content:''; position:absolute; left:20%; right:20%; top:-1px; height:1px; background:linear-gradient(90deg,transparent,#ecd4ffb3,transparent); }
.scanner-submit:hover { background:linear-gradient(180deg,#574362,#332a40); border-color:#d5b2f0a1; box-shadow:inset 0 1px #fff3,0 0 25px #b395ff26; }
.scanner-submit-note { color:#807687; font-size:8px; margin-top:15px; }
.scanner-examples { border-color:#ffffff0a; margin-top:22px; }
.scanner-examples>span { color:#817888; font-size:9px; }
.scanner-examples button { background:linear-gradient(180deg,#ffffff07,#ffffff02); border-color:#ffffff12; color:#a096ae; font-size:8px; box-shadow:inset 0 1px #ffffff04; }
.scanner-examples button:hover { border-color:#bba0e74d; color:#e5d4ff; background:#bb96ff0a; }
.scanner-upload { background:#0d0b1280; border-color:#a28bc644; color:#d6c3f3; }
.upload-icon { color:#c8b3e7; background:#a687db12; border:1px solid #b59bd226; }
.scanner-upload strong { color:#b9a9cd; }
.scanner-upload>span:not(.upload-icon),.scanner-upload input { color:#7d708e; }
.scanner-upload input::file-selector-button { color:#c4b4db; background:#24202b; border-color:#b398d12c; }
#scanRemove { color:#d59dba; }
.scanner-error { color:#eeb5b8; border-color:#c65c6d44; background:#62253235; }
.scanner-result { background:linear-gradient(140deg,#1b1c1fcf,#101215ed); border-color:#7fac9733; box-shadow:inset 0 1px #ffffff09,0 20px 45px #0004; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.scanner-result.result-high { border-color:#c38a963d; }
.scanner-result.result-medium { border-color:#bca37340; }
.scanner-result h2 { color:#e8e3ed; font-weight:500; }
.scanner-step { color:#84778f; }
.scanner-result h3 { color:#b4a9c1; }
.scanner-result p { color:#9d95a8; }
.scanner-risk-pill { color:#a0c9b2; background:#81b69b0c; border:1px solid #81b69b26; }
.result-high .scanner-risk-pill { color:#e7b1ba; background:#e390a30c; border-color:#e390a326; }
.result-medium .scanner-risk-pill { color:#d6bd90; background:#c2a06a0c; border-color:#c2a06a26; }
.scanner-trigger { color:#b4aabc; border-color:#ffffff12; background:#ffffff04; }
.result-high .scanner-trigger { color:#cf9da8; border-color:#c17e8b23; background:#b672800a; }
.scanner-result .result-caveat { color:#756e80; border-color:#ffffff0a; }
.scan-how { position:relative; border-color:#ffffff0c; margin-bottom:0; padding:30px 0; }
.how-item>span { color:#a69abf; background:linear-gradient(150deg,#25212c,#121017); border:1px solid #ffffff12; box-shadow:inset 0 1px #ffffff09; }
.how-item h3 { color:#c7c0d0; font-weight:400; }
.how-item p { color:#71697f; }
.evidence-section { background:radial-gradient(ellipse at 50% 0,#241b371f,transparent 60%),#08090c; border-color:#ffffff06; padding-top:80px; }
.evidence-heading .section-tag { color:#9a89ad; letter-spacing:.11em; }
.evidence-heading .section-title { color:#e9e4f0; font-weight:400; font-size:28px; line-height:1.5; }
.evidence-heading>p { color:#7a7186; }
.evidence-card { position:relative; border:1px solid #ffffff12!important; border-radius:14px; background:linear-gradient(140deg,#1d1b22b8,#0f0e14db); box-shadow:inset 0 1px #ffffff09,0 12px 24px #0003; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.evidence-card:before { content:''; position:absolute; left:20%; right:20%; top:-1px; height:1px; background:linear-gradient(90deg,transparent,#d2b4ed2b,transparent); }
.evidence-number { color:#5d556c; }
.evidence-status { color:#a8bcb1; background:#adc9bb0a; border:1px solid #adc9bb17; font-size:8px; }
.danger .evidence-status { color:#caa2ae; background:#cd9baa0a; border-color:#cd9baa17; }
.evidence-kicker { color:#6e647e; }
.evidence-card h3 { color:#d9d1e6; font-weight:400; }
.evidence-description { color:#8b819b; }
.evidence-insight { background:#00000028; border:1px solid #ffffff05; }
.evidence-insight>span { color:#a690bd; }
.evidence-insight p { color:#9486a4; }
.evidence-source { color:#b5a2d1; border-color:#ffffff09; }
.evidence-source:hover { color:#e2cfff; }
.evidence-footnote { color:#665d74; }
.scanner-telegram { background:linear-gradient(120deg,#29213570,#14111ddb); border:1px solid #a185bf2d; box-shadow:inset 0 1px #ffffff0a,0 20px 40px #0004; backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); }
.telegram-symbol { background:linear-gradient(140deg,#3a2d4866,#18131f); color:#c3a5e5; border-color:#b791d72b; box-shadow:inset 0 1px #ffffff12; }
.telegram-label { color:#897499; }
.scanner-telegram h2 { color:#d8cce6; font-weight:400; }
.scanner-telegram p { color:#91829e; }
.btn-primary { background:linear-gradient(180deg,#3d314c,#261f31); border:1px solid #b59ac75c; color:#e0cfee; box-shadow:inset 0 1px #ffffff17,0 3px 10px #0005; }
.btn-primary:hover { background:linear-gradient(180deg,#504060,#31263d); border-color:#baa0db80; color:#f0ddff; }
.btn-ghost { border-color:#ffffff1f; color:#b8a9cc; }
.btn-ghost:hover { background:#ffffff06; }
.footer { background:#08090c; border-color:#ffffff0c; }
.footer-tagline { color:#6f657e; }
.footer-col h4 { color:#9b8daf; }
.footer-col a { color:#756780; }
.footer-col a:hover { color:#d1bce9; }
.footer-bottom { color:#5e536b; border-color:#ffffff09; }
.section-tag { color:#bda3d9; background:#ad83d60e; border:1px solid #b48bd61f; }
.developer-intro h1 { color:#e1d6ee; font-weight:400; }
.developer-intro>p { color:#8e809f; }
.developer-card { border-color:#ffffff14; background:linear-gradient(130deg,#1b1523,#101016); box-shadow:inset 0 1px #ffffff09; }
.developer-portrait { background:radial-gradient(ellipse at 50% 100%,#58406c33,transparent 70%),#110e19; border-color:#ffffff0a; }
.portrait-initials { color:#c2a5e0; text-shadow:0 0 40px #b491df21; }
.portrait-grid { opacity:.3; }
.developer-portrait .portrait-caption { color:#71607f; }
.developer-label { color:#aa8ac2; }
.status-dot { background:#b391d7; box-shadow:0 0 8px #b391d733; }
.developer-details h1 { color:#e2d5f1; }
.developer-details>p,.developer-details .developer-university { color:#91819f; }
.developer-note { border-color:#ffffff0a; }
.support-section,.auth-section { background:#08090c; }
.support-title,.support-card h2,.faq-title,.contact-title,.auth-title { color:#e3d8ef; font-weight:400; }
.support-subtitle,.support-card .card-subtitle,.auth-subtitle { color:#91819e; }
.glass,.support-card,.auth-card,.faq-item { background:linear-gradient(140deg,#24202bb5,#121016d9); border:1px solid #ffffff14; box-shadow:inset 0 1px #ffffff0b,0 20px 50px #0003; }
.faq-question,.contact-item { color:#c3b3d3; }
.faq-answer,.support-card p { color:#9684a6; }
.input-wrapper input,.input-wrapper textarea,.support-card input,.support-card textarea,.form-input { color:#ded0ea; background:#0d0b126e; border-color:#ffffff17; }
input::placeholder,textarea::placeholder { color:#716080; }
.form-label { color:#b6a3c7; }
.auth-card .input-wrapper svg { color:#9782aa; }
.site-notice { background:#20182d; border-color:#b49acc33; color:#d6bde9; }
/* The beam and particle field are drawn behind the working interface. */
.ambient-stage { position:absolute; z-index:-1; inset:0 0 -20px; overflow:hidden; pointer-events:none; -webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 78%,transparent); mask-image:linear-gradient(180deg,transparent,#000 12%,#000 78%,transparent); }
#ambientCanvas { width:100%; height:100%; display:block; opacity:.95; }
.ambient-beam { position:absolute; width:220px; top:10%; bottom:12%; left:45%; transform:translateX(-50%); background:radial-gradient(ellipse at 50% 100%,#d5bdff35,transparent 69%); filter:blur(30px); opacity:.7; }
.ambient-horizon { position:absolute; height:80px; bottom:8%; left:0; right:0; background:radial-gradient(ellipse at 48% 50%,#a98be744,transparent 63%); filter:blur(18px); transform:perspective(500px) rotateX(45deg); }
.ambient-grain { position:absolute; inset:0; opacity:.045; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E"); }
.telegram-miniapp { background:#0b0910; }
.telegram-miniapp .mini-brand { background:#0d0b12bf; border-color:#ffffff0d; backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); }
.mini-brand a { color:#e9dff5; }
.mini-brand>span { color:#786588; }
.telegram-miniapp .scanner-shell { padding-top:25px; }
.telegram-miniapp .scanner-input-card { background:linear-gradient(150deg,#211a2ac9,#131019ed); border-color:#d4b6e421; box-shadow:inset 0 1px #ffffff0c,0 15px 35px #0005; }
.telegram-miniapp .scanner-intro h1 { font-size:27px; line-height:1.4; }
.telegram-miniapp .scanner-intro>p { color:#8c7b9b; }
.telegram-miniapp .scanner-eyebrow { border-color:#ffffff14; }
.telegram-miniapp .scanner-card-heading p { color:#8b789a; }
.telegram-miniapp .scanner-text-meta,.telegram-miniapp .scanner-submit-note { color:#8c789b; }
.telegram-miniapp .ambient-stage { inset:0 0; opacity:.5; }
.telegram-miniapp .ambient-beam { left:70%; top:0; }
.telegram-miniapp .ambient-horizon { bottom:10%; }
button:focus-visible,a:focus-visible { outline:2px solid #bf9be9; outline-offset:4px; }
@media(min-width:801px) and (max-width:1100px) {
  .scanner-workspace { grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:40px; }
  .scanner-intro h1 { font-size:34px; line-height:1.4; }
  .scanner-input-card { padding:24px; }
  .scanner-tabs button { font-size:9px; }
  .scanner-submit { font-size:10px; }
}
@media(max-width:800px) {
  :root { --nav-h:68px; }
  .scanner-shell { padding:40px 22px 42px; }
  .scanner-workspace { grid-template-columns:1fr; gap:30px; }
  .scanner-intro { padding:0; }
  .scanner-intro h1 { font-size:clamp(27px,5.9vw,40px); line-height:1.4; letter-spacing:-1.3px; margin-bottom:18px; }
  .scanner-intro>p { font-size:12px; color:#9b8ea8; }
  .scanner-benefits { font-size:9px; margin-top:21px; }
  .scanner-eyebrow { margin-bottom:21px; }
  .scanner-input-card { padding:24px; border-radius:15px; }
  .scanner-card-heading h2 { font-size:15px; }
  .scanner-card-heading p { font-size:9px; color:#9685a5; }
  .scanner-tabs button { font-size:10px; }
  #scanText { font-size:16px; }
  #scanText::placeholder { font-size:11px; color:#7e6d90; }
  .scanner-text-meta,.scanner-submit-note { font-size:8px; color:#947da5; }
  .scanner-submit { font-size:11px; }
  .scanner-examples>span { color:#9983aa; }
  .scanner-examples button { color:#b49dc5; }
  .ambient-stage { inset:0 0; }
  .ambient-beam { left:80%; width:160px; bottom:20%; }
  .ambient-horizon { bottom:0; opacity:.65; }
  .evidence-section { padding-top:45px; }
  .evidence-heading .section-title { font-size:24px; }
  .evidence-description,.evidence-heading>p { color:#9b8aa9; }
  .evidence-insight p { color:#a18ab0; }
  .evidence-footnote { color:#83708f; }
  .how-item p { color:#9481a3; }
  .scanner-telegram p { color:#a18aae; }
  .scanner-result p { color:#b09ec1; }
  .footer-col a,.footer-tagline { color:#94809f; }
  .footer-bottom { color:#7d688b; }
}
@media(max-width:380px) {
  .scanner-shell { padding-left:16px; padding-right:16px; }
  .scanner-input-card { padding:18px; }
  .scanner-intro h1 { font-size:26px; }
  .scanner-card-heading h2 { font-size:13px; }
  .scanner-card-heading p { font-size:8px; }
  .scanner-tabs button { font-size:9px; }
  .scanner-text-meta,.scanner-submit-note { font-size:7px; }
  .scanner-submit { font-size:10px; }
  .telegram-miniapp .scanner-intro h1 { font-size:23px; }
}
@media(prefers-reduced-transparency:reduce) {
  .navbar,.scanner-input-card,.scanner-telegram,.lang-dropdown,.message-preview,.evidence-card,.scanner-result { background:#141019; backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media(prefers-reduced-motion:reduce) { .ambient-stage canvas { display:none; } }

/* Preserve contrast for the smallest labels over the translucent panels. */
.scanner-card-heading p{color:#9c8ba8}.scanner-text-meta,.scanner-submit-note{color:#9987a7}.scanner-examples>span{color:#a38db0}.scanner-examples button{color:#b29ac0}.evidence-description{color:#a08caf}.evidence-insight p{color:#a38cb4}.evidence-heading>p{color:#9680a6}.evidence-footnote{color:#8c769c}.how-item p{color:#9780a8}.footer-col a,.footer-tagline{color:#927ba2}

.developer-intro{margin-bottom:24px}.developer-nickname{font-size:.64em;color:#a18bad}.developer-details .developer-university{margin-top:18px}
