:root{
  --ink:#11110f;
  --ink2:#191a14;
  --paper:#efeee7;
  --acid:#d7ff3f;
  --blue:#829cf0;
  --coral:#ff684a;
  --pink:#efa7ca;
  --purple:#9478e8;
  --teal:#6ed4c5;
  --black:#11110f;
  --muted:#999c90;
  --shell:1220px;
}
*{box-sizing:border-box}
html{background:var(--ink)}
body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  background:var(--ink);
  color:white;
}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.shell{width:min(calc(100% - 44px),var(--shell));margin:auto}

.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(17,17,15,.96);
  border-bottom:1px solid rgba(255,255,255,.14)
}
.navrow{min-height:72px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:baseline;gap:10px;margin-right:auto}
.wordmark{font-size:18px;font-weight:950;letter-spacing:-.06em}
.wordmark span,.footer strong span{color:var(--acid)}
.brand small,.mono,.plan,.linkbtn,.back{
  font-family:"Courier New",monospace;
  font-size:9px;letter-spacing:.15em;text-transform:uppercase
}
.brand small,.mono{color:#9da094}
.navright{display:flex;align-items:center;gap:14px}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px rgba(215,255,63,.7)}
.plan{color:var(--acid)}
.inline{display:inline}
.linkbtn,.back{border:0;background:none;color:#bbbdb2;cursor:pointer}
.linkbtn:hover,.back:hover{color:white}

/* dashboard top */
.dashboard-hero{
  min-height:480px;
  padding:58px 0 62px;
  background:
    radial-gradient(circle at 55% 12%,rgba(189,255,52,.10),transparent 27rem),
    linear-gradient(180deg,#141510,#11110f);
}
.hero-meta{
  font-family:"Courier New",monospace;
  font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#b8baaf;
  display:flex;align-items:center;gap:10px;margin-bottom:52px
}
.dashboard-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.dashboard-head h1{
  margin:0;font-size:clamp(70px,10vw,135px);line-height:.78;letter-spacing:-.09em;font-weight:760
}
.dashboard-head h1 span{
  color:transparent;
  -webkit-text-stroke:1.5px rgba(255,255,255,.63);
  font-weight:500;
  margin-left:8%
}
.dashboard-head>div>p{color:#85887c;font-size:13px;margin:30px 0 0}
.hero-side{display:grid;grid-template-columns:1fr 180px;gap:28px;align-items:end}
.hero-side>p{color:#989b8e;font-size:13px;line-height:1.65;margin:0}
.plan-circle{
  aspect-ratio:1;border-radius:50%;background:var(--acid);color:var(--black);
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px
}
.plan-circle small,.plan-circle span{font-family:"Courier New",monospace;font-size:8px;letter-spacing:.12em}
.plan-circle strong{font-size:25px;letter-spacing:-.05em;margin:8px 0}

.alert{padding:13px 15px;margin:0 0 20px;border:1px solid rgba(255,255,255,.18);font-size:12px}
.alert.success{background:rgba(215,255,63,.10);color:#e8ffc1}
.alert.error{background:rgba(255,104,74,.13);color:#ffd4ca}

/* ticker */
.dashboard-ticker{border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11);background:#11110f}
.dashboard-ticker .shell{
  min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:26px;
  overflow:auto;white-space:nowrap;
  font-family:"Courier New",monospace;font-size:9px;letter-spacing:.12em;color:#c4c6ba
}

/* light main area */
.dashboard-paper{background:var(--paper);color:var(--black);padding:78px 0 90px}
.section-title{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:44px}
.section-title>div>span{
  display:block;font-family:"Courier New",monospace;font-size:9px;letter-spacing:.15em;margin-bottom:14px
}
.section-title h2{margin:0;font-size:clamp(48px,6vw,86px);line-height:.86;letter-spacing:-.075em}
.section-title>p{margin:0;color:#707269;font-size:13px;max-width:500px}

/* profile cards */
.profiles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.profile-card{
  min-height:610px;padding:20px;border:1px solid rgba(17,17,15,.17);display:flex;flex-direction:column;color:var(--black)
}
.profile-card-0{background:var(--acid)}
.profile-card-1{background:var(--blue)}
.profile-card-2{background:var(--coral)}
.profile-card-3{background:var(--pink)}
.profile-card-4{background:var(--purple)}
.profile-card-5{background:var(--teal)}
.add-card{background:#f8f7f1}
.card-kicker{
  display:flex;justify-content:space-between;gap:20px;
  font-family:"Courier New",monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase
}
.profile-symbol{
  margin:auto;text-align:center;font-size:clamp(74px,10vw,135px);
  font-weight:950;letter-spacing:-.09em;transform:rotate(-4deg);
  text-shadow:7px 7px 0 rgba(255,255,255,.42)
}
.profile-card-bottom{border-top:1px solid rgba(17,17,15,.22);padding-top:18px}
.profile-card-title{display:flex;justify-content:space-between;align-items:center;gap:15px}
.profile-card-title h3{margin:0;font-size:25px;letter-spacing:-.055em}
.profile-live{font-family:"Courier New",monospace;font-size:8px;letter-spacing:.14em}
.profile-live i{display:inline-block;width:7px;height:7px;background:#0f861f;border-radius:50%;margin-right:5px}
.endpoint{margin:14px 0}
.endpoint small,.custom-rule>span{
  display:block;font-family:"Courier New",monospace;font-size:8px;letter-spacing:.13em;margin-bottom:6px
}
.endpoint code{display:block;font-family:"Courier New",monospace;font-size:10px;overflow-wrap:anywhere;user-select:all}

.switches{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:15px 0}
.switches label{
  display:block;border:1px solid rgba(17,17,15,.28);background:rgba(255,255,255,.20);padding:9px 7px;
  font-family:"Courier New",monospace;font-size:7px;letter-spacing:.06em;text-align:center;cursor:pointer
}
.switches input{display:block;margin:0 auto 6px;accent-color:#11110f}
.switches .locked{opacity:.45;cursor:not-allowed}
.black-button{
  min-height:42px;border:0;background:var(--black);color:white;padding:0 16px;
  font-family:"Courier New",monospace;font-size:8px;letter-spacing:.13em;cursor:pointer
}
.overlap-note{font-size:10px;line-height:1.5;color:#41433c;margin:13px 0}
.custom-rule{border-top:1px solid rgba(17,17,15,.18);padding-top:13px}
.custom-rule form{display:grid;grid-template-columns:90px 1fr auto;gap:5px}
input,select{
  min-height:40px;border:1px solid rgba(17,17,15,.27);background:rgba(255,255,255,.30);
  color:var(--black);padding:0 10px;outline:none
}
.custom-rule button{
  border:0;background:transparent;border-bottom:1px solid var(--black);
  font-family:"Courier New",monospace;font-size:8px;letter-spacing:.12em;cursor:pointer
}
.new-profile-form{display:grid;gap:8px;margin-top:auto}

/* lower utility cards */
.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.utility-card{min-height:420px;padding:22px;border:1px solid rgba(17,17,15,.17);color:var(--black)}
.acid-card{background:var(--acid)}
.blue-card{background:var(--blue)}
.utility-card h3{font-size:45px;letter-spacing:-.07em;margin:70px 0 10px}
.utility-card p{font-size:12px;color:#383a34;max-width:470px}
.device-form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:25px}
.enrollment-box{border-top:1px solid rgba(17,17,15,.2);margin-top:20px;padding-top:15px}
.enrollment-box small{font-family:"Courier New",monospace;font-size:8px;letter-spacing:.13em}
.enrollment-box code{display:block;font-family:"Courier New",monospace;font-size:10px;overflow-wrap:anywhere;margin:8px 0}
.enrollment-box a{font-family:"Courier New",monospace;font-size:8px;letter-spacing:.12em}
.device-list{margin-top:18px;border-top:1px solid rgba(17,17,15,.16)}
.device-list>div{padding:10px 0;border-bottom:1px solid rgba(17,17,15,.14)}
.device-list span{display:block;font-size:10px;color:#494b44}
.rules{border-top:1px solid rgba(17,17,15,.18);margin-top:25px}
.rule{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(17,17,15,.16)}
.rule>div{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center}
.rule>div>span{font-family:"Courier New",monospace;font-size:8px;letter-spacing:.1em}
.rule small{grid-column:2;font-size:10px;color:#4d5047}
.rule button{border:0;background:transparent;font-family:"Courier New",monospace;font-size:8px;cursor:pointer}

/* auth / enrollment */
.authwrap{
  min-height:calc(100svh - 72px);
  padding:70px 22px;
  background:
    radial-gradient(circle at 58% 6%,rgba(200,255,36,.09),transparent 25rem),
    var(--ink);
  display:grid;place-items:center
}
.authcard{
  width:min(100%,560px);
  border-top:1px solid rgba(255,255,255,.2);
  padding-top:22px
}
.authcard.wider{width:min(100%,720px)}
.authcard .eyebrow{
  font-family:"Courier New",monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--acid)
}
.authcard h1{font-size:clamp(52px,9vw,92px);line-height:.82;letter-spacing:-.08em;margin:24px 0 18px}
.authcard p,.authcard .muted{color:#919487}
.stack{display:grid;gap:14px;margin-top:28px}
.stack label{display:grid;gap:7px;font-family:"Courier New",monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#b5b7ad}
.stack input,.stack select{background:#1c1d17;border-color:rgba(255,255,255,.18);color:white}
.button{
  min-height:46px;border:0;border-radius:999px;padding:0 20px;background:var(--acid);color:var(--black);font-weight:800
}
.button.secondary{background:transparent;color:white;border:1px solid rgba(255,255,255,.25)}
.authfoot{color:#7f8276!important;margin-top:20px}
.authfoot a{color:var(--acid)}
.setupflow{display:grid;gap:1px;margin:25px 0;background:rgba(255,255,255,.12)}
.setupflow>div{
  display:grid;grid-template-columns:44px 1fr;gap:12px;padding:15px;background:#171812
}
.setupflow span{
  grid-row:1/3;width:42px;height:42px;border-radius:50%;background:var(--acid);color:var(--black);display:grid;place-items:center;font-weight:900
}
.setupflow small{color:#7c7f73}
.alert.neutral{background:#181913}

/* footer */
.footer{background:#11110f;border-top:1px solid rgba(255,255,255,.1)}
.footer-row{
  min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  color:#707367;font-family:"Courier New",monospace;font-size:9px;letter-spacing:.13em
}

@media(max-width:920px){
  .dashboard-head{grid-template-columns:1fr}
  .hero-side{max-width:620px}
  .profiles-grid,.lower-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .shell{width:min(calc(100% - 28px),var(--shell))}
  .navright .mono,.plan{display:none}
  .dashboard-hero{min-height:auto;padding-top:45px}
  .hero-meta{margin-bottom:35px}
  .dashboard-head h1{font-size:clamp(65px,19vw,96px)}
  .hero-side{grid-template-columns:1fr 145px}
  .section-title{display:block}
  .section-title>p{margin-top:18px}
  .profile-card{min-height:570px}
  .switches{grid-template-columns:repeat(2,1fr)}
  .custom-rule form,.device-form{grid-template-columns:1fr}
  .utility-card h3{margin-top:55px}
  .footer-row{display:block;padding:24px 0}
  .footer-row span{display:block;margin-top:8px}
}


/* Protection statistics — V3.1 information hierarchy */
.stats-heading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:end;
  margin-bottom:28px;
}
.stats-heading>div>span{
  display:block;
  font-family:"Courier New",monospace;
  font-size:9px;
  letter-spacing:.15em;
  margin-bottom:14px;
}
.stats-heading h2{
  margin:0;
  font-size:clamp(48px,6vw,86px);
  line-height:.86;
  letter-spacing:-.075em;
}
.stats-heading>p{
  margin:0;
  color:#707269;
  font-size:13px;
  max-width:520px;
}

.protection-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:56px;
}

.stat-card{
  min-height:220px;
  padding:18px;
  border:1px solid rgba(17,17,15,.17);
  color:var(--black);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.stat-index{
  font-family:"Courier New",monospace;
  font-size:8px;
  letter-spacing:.13em;
}

.stat-card strong{
  display:block;
  font-size:clamp(58px,7vw,92px);
  line-height:.78;
  letter-spacing:-.09em;
  margin-top:auto;
  margin-bottom:12px;
}

.stat-card>span{
  display:block;
  border-top:1px solid rgba(17,17,15,.22);
  padding-top:12px;
  font-size:17px;
  font-weight:800;
  letter-spacing:-.04em;
}

.stat-query{background:#f8f7f1}
.stat-blocked{background:var(--acid)}
.stat-ads{background:var(--blue)}
.stat-trackers{background:var(--coral)}
.stat-gambling{background:var(--pink)}
.stat-mature{background:var(--purple)}
.stat-malware{background:var(--teal)}

.section-divider{
  height:1px;
  background:rgba(17,17,15,.18);
  margin:0 0 62px;
}

@media(max-width:920px){
  .protection-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .stats-heading{display:block}
  .stats-heading>p{margin-top:18px}
  .protection-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-bottom:42px;
  }
  .stat-card{
    min-height:165px;
    padding:14px;
  }
  .stat-card strong{
    font-size:clamp(48px,15vw,68px);
  }
  .stat-card>span{
    font-size:14px;
  }
  .section-divider{margin-bottom:46px}
}

/* =========================================================
   LULS DNS V3.5 — DASHBOARD READABILITY PASS
   ========================================================= */

:root {
  --read-black: #11110f;
  --read-white: #ffffff;
  --read-muted-dark: #3f413b;
  --read-muted-light: #d8dad2;
}

/* Clear system UI typeface everywhere. */
html,
body,
button,
input,
select,
textarea,
.brand small,
.mono,
.plan,
.linkbtn,
.back,
.hero-meta,
.plan-circle small,
.plan-circle span,
.dashboard-ticker .shell,
.section-title > div > span,
.card-kicker,
.profile-live,
.endpoint small,
.custom-rule > span,
.switches label,
.black-button,
.custom-rule button,
.enrollment-box small,
.enrollment-box a,
.rule > div > span,
.rule button,
.authcard .eyebrow,
.stack label,
.footer-row {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

/* Kill hard-to-read tracking on functional labels. */
.brand small,
.mono,
.plan,
.linkbtn,
.back,
.hero-meta,
.plan-circle small,
.plan-circle span,
.dashboard-ticker .shell,
.section-title > div > span,
.card-kicker,
.profile-live,
.endpoint small,
.custom-rule > span,
.switches label,
.black-button,
.custom-rule button,
.enrollment-box small,
.enrollment-box a,
.rule > div > span,
.rule button,
.authcard .eyebrow,
.stack label,
.footer-row {
  letter-spacing: .015em !important;
}

/* Header */
.brand small {
  color: #d8dad2 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

.mono,
.linkbtn,
.back {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  opacity: 1 !important;
}

.plan {
  color: #d7ff3f !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

/* Hero */
.hero-meta {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.dashboard-head h1 {
  color: #ffffff !important;
  font-weight: 800 !important;
}

/* Remove outlined "active." treatment. */
.dashboard-head h1 span {
  color: #ffffff !important;
  -webkit-text-stroke: 0 !important;
  text-stroke: 0 !important;
  font-weight: 800 !important;
  margin-left: 0 !important;
}

.dashboard-head > div > p,
.hero-side > p {
  color: #e0e2da !important;
  opacity: 1 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.hero-side > p strong {
  color: #ffffff !important;
}

.plan-circle {
  color: var(--read-black) !important;
}

.plan-circle small,
.plan-circle span {
  color: var(--read-black) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
}

.plan-circle strong {
  color: var(--read-black) !important;
  font-weight: 900 !important;
}

/* Status ticker must be readable, not decorative microtype. */
.dashboard-ticker .shell {
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  opacity: 1 !important;
}

/* Light dashboard sections. */
.dashboard-paper {
  color: var(--read-black) !important;
}

.section-title > div > span {
  color: var(--read-black) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.section-title > p {
  color: var(--read-muted-dark) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Profile / utility card text */
.profile-card,
.profile-card *,
.utility-card,
.utility-card * {
  color: var(--read-black);
}

.card-kicker {
  color: var(--read-black) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.profile-card-title h3 {
  color: var(--read-black) !important;
  font-weight: 850 !important;
}

.profile-live {
  color: var(--read-black) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.endpoint small,
.custom-rule > span {
  color: var(--read-black) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.endpoint code,
.enrollment-box code {
  color: var(--read-black) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.switches label {
  color: var(--read-black) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.overlap-note,
.utility-card p,
.rule small,
.device-list span {
  color: #30322c !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.black-button {
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.custom-rule button,
.rule button,
.enrollment-box a {
  color: var(--read-black) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

/* Inputs */
input,
select {
  color: var(--read-black) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
}

input::placeholder {
  color: #55574f !important;
  opacity: 1 !important;
}

/* Authentication pages */
.authcard .eyebrow {
  color: #d7ff3f !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.authcard p,
.authcard .muted,
.authfoot {
  color: #d8dad2 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.stack label {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.stack input,
.stack select {
  color: #ffffff !important;
  font-size: 16px !important;
}

/* Footer */
.footer-row {
  color: #d0d2ca !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

/* If V3.1 protection stats are installed, make those labels readable too. */
.stats-heading > div > span,
.stat-index {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  color: var(--read-black) !important;
  letter-spacing: .01em !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.stats-heading > p {
  color: var(--read-muted-dark) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.stat-card,
.stat-card * {
  color: var(--read-black) !important;
}

.stat-card > span {
  font-size: 16px !important;
  font-weight: 850 !important;
}

/* Mobile */
@media (max-width: 620px) {
  .brand small {
    display: inline !important;
    font-size: 10px !important;
  }

  .hero-meta {
    font-size: 12px !important;
  }

  .dashboard-head h1 {
    font-size: clamp(58px, 16vw, 86px) !important;
    line-height: .86 !important;
  }

  .dashboard-head > div > p,
  .hero-side > p {
    font-size: 15px !important;
  }

  .dashboard-ticker .shell {
    font-size: 11px !important;
  }

  .section-title > p,
  .stats-heading > p {
    font-size: 15px !important;
  }

  .switches label {
    font-size: 12px !important;
    min-height: 48px !important;
  }

  .black-button {
    font-size: 13px !important;
  }
}

/* Luls DNS V3.7 — complete device enrollment flow */
.setup-summary{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0;
}
.setup-summary>div{
  padding:15px;border:1px solid rgba(255,255,255,.18);background:#181913;
}
.setup-summary span{
  display:block;color:#d7ff3f;font-size:11px;font-weight:800;margin-bottom:7px;
}
.setup-summary strong{display:block;color:#fff;font-size:16px;line-height:1.25}
.setup-security{color:#d8dad2!important;font-size:13px!important;line-height:1.5!important;margin-top:16px}
.activation-note{color:#fff!important;font-size:14px!important;line-height:1.55!important}
.activation-note strong{color:#d7ff3f!important}
.setup-endpoint{margin:22px 0;padding:15px;border:1px solid rgba(255,255,255,.18);background:#181913}
.setup-endpoint small{display:block;color:#d7ff3f!important;font-size:11px!important;font-weight:800!important;margin-bottom:8px}
.setup-endpoint code{display:block;color:#fff!important;font-size:13px!important;line-height:1.45!important;overflow-wrap:anywhere;user-select:all}
.managed-device{display:flex;align-items:center;justify-content:space-between;gap:12px}
.managed-device form{flex:none}
.device-remove{border:1px solid rgba(17,17,15,.45);background:transparent;color:#11110f;font-size:11px;font-weight:850;padding:8px 10px;cursor:pointer}
@media(max-width:620px){
  .setup-summary{grid-template-columns:1fr}
  .managed-device{align-items:flex-start}
}

/* Luls DNS V3.9 — complete UX / device management / readable forms */
.dashboard-section{padding:64px 0;border-top:1px solid rgba(17,17,15,.18)}
.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:26px}
.section-heading-row h2{font-size:clamp(46px,7vw,82px);line-height:.9;letter-spacing:-.07em;margin:6px 0 10px;color:#11110f}
.section-heading-row p{max-width:560px;margin:0;color:#3f413b!important;font-size:16px!important;line-height:1.55!important}
.section-kicker,.panel-kicker,.choice-badge{font:800 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:.03em;color:#11110f}
.quick-create{display:grid;grid-template-columns:minmax(160px,240px) auto;gap:8px;align-items:center}.quick-create .save-state{grid-column:1/-1}
.limit-note{font-size:13px;color:#4a4b45;margin:-10px 0 20px}
.compact-profiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compact-profiles .profile-card{min-height:0;padding:22px}
.profile-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:20px}.profile-chip{font-size:11px;font-weight:850;white-space:nowrap}
.profile-rename{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;flex:1}.profile-rename input{font-size:24px!important;font-weight:850!important;background:rgba(255,255,255,.32)!important}.profile-rename button{background:#11110f;color:#fff;border:0;padding:0 14px;font-weight:850}
.profile-rename .save-state{grid-column:1/-1}.save-state{min-height:18px;font-size:13px;font-weight:800;color:#26351f}
.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.policy-grid label{display:flex;align-items:center;gap:9px;min-height:52px;padding:10px 12px;border:1px solid rgba(17,17,15,.25);font-size:14px;font-weight:800}.policy-grid input{width:18px;height:18px;min-height:0}.locked{opacity:.52}
.save-row{display:flex;align-items:center;gap:12px;margin-top:10px}.profile-meta{display:flex;gap:10px;align-items:baseline;border-top:1px solid rgba(17,17,15,.18);margin-top:20px;padding-top:15px}.profile-meta strong{font-size:28px}.profile-meta span{font-size:13px;color:#41433d}
.rule-create{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:7px;margin-top:18px}.rule-create button{border:0;background:#11110f;color:#fff;padding:0 15px;font-weight:850}.rule-create .save-state{grid-column:1/-1}
.device-list-grid{display:grid;grid-template-columns:1fr;gap:10px}.add-device-panel{background:#d7ff3f;border:1px solid rgba(17,17,15,.2);padding:24px;display:grid;grid-template-columns:1fr minmax(280px,.65fr);gap:28px;align-items:end}.add-device-panel h3{font-size:44px;letter-spacing:-.06em;margin:8px 0}.add-device-panel p{font-size:15px!important;color:#33352f!important}.device-start-form{display:grid;gap:8px}
.device-row-card{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f8f7f1;color:#11110f;border:1px solid rgba(17,17,15,.2);padding:22px;text-decoration:none!important;transition:transform .12s ease,background .12s ease}.device-row-card:hover{transform:translateY(-2px);background:#fff}.device-row-main h3{font-size:30px;margin:8px 0 4px;letter-spacing:-.04em}.device-row-main p,.device-row-side span{color:#41433d!important;font-size:14px!important}.device-row-side{text-align:right;display:grid;gap:10px}.device-row-side strong{font-size:14px}.device-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.device-status.protected{background:#d7ff3f}.device-status.pending{background:#ffd37a}.empty-state{padding:24px;border:1px dashed rgba(17,17,15,.28);color:#4a4c44}
.rules-list{border-top:1px solid rgba(17,17,15,.2)}.rule-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(17,17,15,.17)}.rule-row>div{display:grid;grid-template-columns:auto 1fr;gap:4px 12px}.rule-row small{grid-column:2;color:#55574f}.rule-action{font-size:11px;font-weight:900}.rule-row button{border:1px solid #11110f;background:transparent;min-height:40px;padding:0 14px;font-weight:850}
.device-page-wrap{background:#efeee7;color:#11110f;min-height:100vh;padding:54px 0 80px}.back-link{display:inline-block;color:#11110f;font-weight:800;margin-bottom:28px}.device-page-head{display:grid;grid-template-columns:1fr 320px;gap:30px;align-items:end;margin-bottom:30px}.device-page-head h1{font-size:clamp(58px,9vw,110px);line-height:.82;letter-spacing:-.08em;margin:12px 0;color:#11110f}.device-page-head p{color:#41433d!important;font-size:18px!important}.device-health-card{background:#11110f;color:#fff;padding:22px;display:grid;gap:8px}.device-health-card small{color:#d7ff3f;font-weight:850}.device-health-card strong{font-size:28px}.device-health-card span{font-size:14px;color:#d8dad2}
.device-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.device-panel{background:#fff;border:1px solid rgba(17,17,15,.2);padding:24px}.device-panel h2{font-size:38px;letter-spacing:-.05em;margin:8px 0 14px}.device-panel p{color:#3e4039!important;font-size:15px!important;line-height:1.55!important}.copy-box{display:grid;grid-template-columns:1fr auto;background:#11110f;color:#fff;margin:16px 0}.copy-box code{padding:16px;color:#d7ff3f;font-size:14px;overflow-wrap:anywhere;user-select:all}.copy-box button{border:0;border-left:1px solid rgba(255,255,255,.25);background:#11110f;color:#fff;padding:0 16px;font-weight:850}.plain-steps{padding-left:22px;color:#30322c;font-size:14px;line-height:1.7}.small-note{font-size:13px!important;color:#55574f!important}.method-tabs{display:flex;gap:7px;margin:18px 0}.method-tab{flex:1;min-height:46px;border:1px solid #11110f;background:transparent;font-weight:850}.method-tab.active{background:#11110f;color:#fff}.method-panel{display:none}.method-panel.active{display:block}.open-private-dns{width:100%;margin:8px 0;background:#d7ff3f;color:#11110f!important}
.field-label{display:grid;gap:7px;font-size:14px;font-weight:850}.inherit-toggle{display:flex;gap:9px;align-items:center;font-size:15px;font-weight:850;margin:18px 0 5px}.inherit-toggle input{width:18px;height:18px;min-height:0}.device-overrides.is-inherited{opacity:.42}.danger-zone{margin-top:18px;border:1px solid #a83232;background:#fff;padding:20px;display:flex;justify-content:space-between;gap:20px;align-items:center}.danger-zone p{margin:4px 0 0;color:#55574f}.danger-zone button{border:1px solid #a83232;background:#fff;color:#8b2222;min-height:44px;padding:0 16px;font-weight:900}
.setup-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.setup-choice{border:1px solid rgba(255,255,255,.18);background:#171812;padding:22px}.setup-choice.recommended{border-color:#d7ff3f}.setup-choice h2{font-size:30px;color:#fff;margin:9px 0}.setup-choice p{color:#d8dad2!important;font-size:14px!important;line-height:1.55!important}.choice-badge{color:#d7ff3f}.setup-qr{width:min(220px,100%);height:auto;background:#fff;padding:10px;margin:16px auto;display:block}.app-unavailable{padding:14px;border:1px solid rgba(255,255,255,.2);color:#d8dad2;font-size:13px}.setup-security{color:#d8dad2!important}
.manual-activation-card{border:1px solid rgba(255,255,255,.2);background:#171812;padding:22px;margin:22px 0}.manual-activation-card h2{color:#fff;font-size:30px}.manual-activation-card p{color:#d8dad2!important}.activation-state{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.22);margin:24px 0;background:#211f18}.activation-dot{width:14px;height:14px;border-radius:50%;background:#ffd37a}.activation-state.is-active{border-color:#d7ff3f;background:#17210f}.activation-state.is-active .activation-dot{background:#d7ff3f}.activation-state strong{display:block;color:#fff;font-size:20px}.activation-state small{color:#d8dad2;font-size:13px}
@media(max-width:900px){.compact-profiles,.device-page-grid,.setup-choice-grid{grid-template-columns:1fr}.add-device-panel,.device-page-head{grid-template-columns:1fr}.section-heading-row{display:block}.quick-create{margin-top:20px}.device-row-card{align-items:flex-start}.device-row-side{min-width:130px}}
@media(max-width:620px){.dashboard-section{padding:45px 0}.quick-create,.rule-create{grid-template-columns:1fr}.policy-grid{grid-template-columns:1fr 1fr}.profile-head{display:block}.profile-chip{display:inline-block;margin-top:10px}.add-device-panel{padding:18px}.device-row-card{display:block}.device-row-side{text-align:left;border-top:1px solid rgba(17,17,15,.14);padding-top:13px;margin-top:14px}.device-page-wrap{padding-top:32px}.device-page-head h1{font-size:58px}.device-panel{padding:18px}.danger-zone{display:block}.danger-zone form{margin-top:14px}.method-tabs{display:grid;grid-template-columns:1fr}.setup-choice{padding:18px}}

/* Luls DNS V3.9.1 — Android activation/readability hotfix */
.topbar{background:#11110f!important;color:#fff!important;opacity:1!important;backdrop-filter:none!important}
.topbar .brand,.topbar .brand span,.topbar .navright,.topbar .linkbtn,.topbar .plan,.topbar .back{color:#fff!important}
.device-page-wrap,.device-page-wrap .shell{color:#11110f!important}
.device-panel{color:#11110f!important;background:#fff!important}
.device-panel h1,.device-panel h2,.device-panel h3,.device-panel .panel-kicker,.device-panel .field-label,.device-panel .inherit-toggle,.device-panel .plain-steps,.device-panel .plain-steps strong{color:#11110f!important}
.method-tab{color:#11110f!important;background:#fff!important;border:2px solid #11110f!important}
.method-tab.active{color:#fff!important;background:#11110f!important}
.method-tab:disabled{color:#5d5f58!important;background:#e8e7e0!important;border-color:#8c8e86!important}
.method-panel p,.settings-fallback{color:#34362f!important}
.open-private-dns{display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;min-height:54px!important;background:#d7ff3f!important;color:#11110f!important;font-weight:900!important;text-align:center!important}
.settings-fallback{padding:14px 16px;border:1px solid rgba(17,17,15,.25);background:#f4f3ed;margin:12px 0!important;font-size:14px!important;line-height:1.5!important}
.app-build-note{display:grid;gap:6px;padding:16px;border:2px solid #11110f;background:#f4f3ed;color:#11110f;margin-top:16px}
.app-build-note strong{font-size:16px;color:#11110f!important}.app-build-note span{font-size:14px;line-height:1.5;color:#3f413b!important}
.app-build-note.dark{background:#171812;border-color:#d7ff3f;color:#fff}.app-build-note.dark strong{color:#fff!important}.app-build-note.dark span{color:#d8dad2!important}
.activation-panel .copy-box code{color:#d7ff3f!important}.activation-panel .copy-box button{color:#fff!important}
.android-download-page .button{margin:8px 0;display:flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:620px){.method-tabs{grid-template-columns:1fr!important}.open-private-dns{font-size:14px!important;padding:8px 12px!important}}

/* LULS DNS V3.9.8 — profile + device policy management */
.profile-rules-block{margin-top:20px;padding-top:16px;border-top:1px solid rgba(17,17,15,.18)}
.profile-rules-head>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.profile-rules-head strong{font-size:16px}.profile-rules-head span{font-size:12px;color:#55574f}
.profile-rule-list{margin-top:12px;border-top:1px solid rgba(17,17,15,.14)}
.profile-rule-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(17,17,15,.12)}
.profile-rule-row>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-width:0}
.profile-rule-row strong{overflow-wrap:anywhere;font-size:13px}
.profile-rule-row form{display:flex;align-items:center;gap:6px}
.profile-rule-row button{border:1px solid rgba(17,17,15,.5);background:transparent;min-height:34px;padding:0 10px;font-size:11px;font-weight:900}
.rules-more{display:block;padding:10px 0;color:#55574f}
.profile-actions{margin-top:20px;padding-top:16px;border-top:1px solid rgba(17,17,15,.18);display:flex;justify-content:space-between;align-items:center;gap:14px}
.profile-delete-note{max-width:62%;color:#55574f;font-size:12px;line-height:1.4}
.profile-delete-button{min-height:40px;border:1px solid #9a3030;background:transparent;color:#852525;padding:0 12px;font-weight:900}
.profile-delete-button:disabled{opacity:.38;cursor:not-allowed}
.compact-limit{margin:12px 0 0}
.device-last-seen{display:block;color:#686a62;font-size:12px}
.device-start-form label{display:grid;gap:6px;font-size:12px;font-weight:850}
.device-rename-form{display:grid;grid-template-columns:minmax(160px,300px) auto;gap:8px;margin-top:18px;max-width:460px}
.device-rename-form input{min-height:44px;border:1px solid rgba(17,17,15,.35);background:#fff;color:#11110f;padding:0 12px;font-weight:800}
.device-rename-form button{min-height:44px;border:0;background:#11110f;color:#fff;padding:0 16px;font-weight:900}
.device-rename-form .save-state{grid-column:1/-1}
@media(max-width:620px){
  .profile-actions{display:block}
  .profile-delete-note{display:block;max-width:none;margin-bottom:10px}
  .profile-delete-button{width:100%}
  .profile-rule-row{align-items:flex-start}
  .device-rename-form{grid-template-columns:1fr}
  .device-rename-form .save-state{grid-column:auto}
}
