/*devi-light*/
/* Website preview 49 (owner 11/10/2026): the home page, DEVI Cloud and the source pages, from the approved canvas.
Marked devi-light so scripts/site_light.py leaves these dark colors alone. Phone first: every drawn label stays on
one line (it shortens with an ellipsis), grids drop to one or two columns, nothing scrolls sideways. */
.v49{--ink:#F4F6FB;--muted:#9BA4B8;--card:#0D0E12;--line:rgba(255,255,255,.10);--brand:linear-gradient(100deg,#2447D6 0%,#5B3FE0 52%,#8A4DF0 100%);
--tgrad:linear-gradient(100deg,#6F90FF,#9A86FF 55%,#C79BFF);color:#F4F6FB;background:#06070B}
.v49 .w{max-width:1200px;margin:0 auto;padding:0 32px;box-sizing:border-box}
.v49 h1,.v49 h2,.v49 h3{margin:0;color:inherit;-webkit-text-fill-color:currentColor;background:none}
.v49 p{margin:0}
.v49 .tg{background:var(--tgrad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.v49 .chip{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;max-width:100%;padding:6px 12px;border-radius:6px;background:#F4F6FB;color:#0B0B0F;
font-size:13px;font-weight:600;letter-spacing:.02em;white-space:normal;text-align:left;line-height:1.35;box-sizing:border-box}
.v49 .chip::before{content:"";flex:none;width:8px;height:8px;background:#5B3FE0}
.v49 .chip.dk{background:#0B0B0F;color:#fff}.v49 .chip.dk::before{background:#8A86FF}
.v49 .pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font-size:16px;font-weight:600;
text-decoration:none;white-space:nowrap;box-sizing:border-box}
.v49 .pill svg{width:16px;height:16px;flex:none}
.v49 .p-grad{background:var(--brand);color:#fff}.v49 .p-dark{background:#06070B;color:#fff}.v49 .p-white{background:#F4F6FB;color:#0B0B0F}
.v49 .p-line{border:1px solid rgba(255,255,255,.24);color:#F4F6FB}
.v49 .pill:hover{filter:brightness(1.08)}
.v49 .tlink{display:inline-flex;align-items:center;gap:8px;color:#A9BBFF;font-weight:600;text-decoration:none;white-space:nowrap}
.v49 .slab{margin:0 12px;border-radius:24px;overflow:hidden;position:relative}
.v49 .mesh{background:radial-gradient(ellipse 45% 60% at 12% 18%,rgba(111,144,255,.95),transparent 60%),radial-gradient(ellipse 50% 70% at 55% 0%,#5B3FE0,transparent 65%),
radial-gradient(ellipse 45% 70% at 92% 40%,rgba(138,77,240,.95),transparent 60%),radial-gradient(ellipse 60% 50% at 70% 100%,rgba(36,71,214,.9),transparent 65%),#12163A}
.v49 .light{background:linear-gradient(160deg,#F5F3FF 0%,#ECEFFF 55%,#F1EAFF 100%);color:#0B0B0F}
.v49 .close{background:radial-gradient(ellipse 60% 80% at 0% 100%,#2447D6,transparent 60%),radial-gradient(ellipse 60% 80% at 100% 0%,#8A4DF0,transparent 60%),#3A2CB0;color:#fff}
.v49 .sec{padding:88px 0}
.v49 .head{display:flex;flex-direction:column;gap:18px;max-width:760px}
.v49 .head.c{align-items:center;text-align:center;margin:0 auto}
.v49 .h2{font-size:clamp(32px,4.4vw,52px);line-height:1.05;font-weight:800;letter-spacing:-.04em}
.v49 .lead{font-size:18px;line-height:1.6;color:var(--muted)}
.v49 .rule{height:1px;background:linear-gradient(90deg,transparent,rgba(91,63,224,.8),transparent)}
/* Hero */
.v49 .hero{padding:104px 0 0;text-align:center}
.v49 .hero .w{display:flex;flex-direction:column;align-items:center;gap:26px}
.v49 .hero .chip{align-self:center;background:#fff}
.v49 h1.homehead{max-width:980px;font-size:clamp(44px,7vw,80px);line-height:1;font-weight:800;letter-spacing:-.045em;color:#fff}
.v49 h1.homehead .hl{color:#fff;-webkit-text-fill-color:#fff;background:none}
.v49 .hero .hl2{max-width:640px;font-size:20px;line-height:1.55;color:#EEF0FF}
.v49 .acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
/* Drawn app window (sample data) */
.v49 .win{width:100%;max-width:1040px;margin-top:40px;border-radius:14px 14px 0 0;border:1px solid rgba(255,255,255,.18);border-bottom:0;background:#0D0E12;text-align:left;
overflow:hidden;box-shadow:0 -10px 60px rgba(6,7,11,.45);font-size:13px}
.v49 .win .bar{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-bottom:1px solid #232328;color:#8B8B95;white-space:nowrap;overflow:hidden}
.v49 .win .bar i{width:10px;height:10px;border-radius:50%;background:#2E2E35;flex:none}
.v49 .win .bar span{margin-left:12px;overflow:hidden;text-overflow:ellipsis}
.v49 .win .cols{display:flex}
.v49 .win .side{width:190px;flex:none;padding:16px 12px;border-right:1px solid #232328;display:flex;flex-direction:column;gap:4px;color:#A1A1A8}
.v49 .win .side span{padding:7px 10px;border-radius:8px;white-space:nowrap}
.v49 .win .side .on{background:#1C1C20;color:#fff;font-weight:600}
.v49 .win .main{flex:1;min-width:0;padding:20px 20px 28px;display:flex;flex-direction:column;gap:14px}
.v49 .row1{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v49 .row1 b{font-size:16px;white-space:nowrap}
.v49 .tags{display:flex;gap:6px;min-width:0;overflow:hidden}
.v49 .tag{height:24px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;white-space:nowrap}
.v49 .t-b{background:rgba(75,141,248,.14);color:#8FB4FF}.v49 .t-v{background:rgba(139,119,238,.16);color:#B7A8FF}.v49 .t-g{background:rgba(52,200,122,.14);color:#34C87A}
.v49 .bars{height:56px;display:flex;align-items:flex-end;gap:5px}
.v49 .bars i{flex:1;border-radius:3px;background:#232328}
.v49 .bars i.hot{background:linear-gradient(180deg,#8A4DF0,#2447D6)}
.v49 .rows{border:1px solid #232328;border-radius:12px;overflow:hidden}
.v49 .rows div{display:flex;gap:14px;padding:10px 14px;border-top:1px solid #232328;white-space:nowrap;min-width:0}
.v49 .rows div:first-child{border-top:0}
.v49 .rows .t{color:#8B8B95}.v49 .rows .x{color:#8FB4FF;font-weight:600}.v49 .rows .m{color:#E6E8EE;overflow:hidden;text-overflow:ellipsis}
/* Numbers and audiences */
.v49 .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.v49 .stat{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0D0E12;color:#F4F6FB;text-decoration:none;min-width:0}
.v49 .stat b{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.v49 .stat span{font-size:14px;color:#B4BDCE}
.v49 .who{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;max-width:900px;margin:0 auto;width:100%}
.v49 .who a{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 8px;border-radius:14px;color:#F4F6FB;text-decoration:none;text-align:center;font-weight:600}
.v49 .who a:hover{background:#0D0E12}
.v49 .who svg{width:44px;height:44px}
/* Bento tiles */
.v49 .bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.v49 .tile{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:20px;min-width:0;box-sizing:border-box}
.v49 .tile h3{font-size:22px;font-weight:800;letter-spacing:-.01em}
.v49 .tile p{font-size:16px;line-height:1.55}
.v49 .tile .pill{align-self:flex-start;min-height:44px;font-size:15px;padding:0 18px}
.v49 .s2{grid-column:span 2}.v49 .r2{grid-row:span 2}
.v49 .k-edge{background:linear-gradient(#0D0E12,#0D0E12) padding-box,var(--brand) border-box;border:1px solid transparent}
.v49 .k-light{background:linear-gradient(135deg,#F3F1FF,#E6EBFF);color:#0B0B0F}.v49 .k-light p{color:#3A3D45}
.v49 .k-grad{background:linear-gradient(150deg,#2447D6 0%,#5B3FE0 55%,#8A4DF0 100%);color:#fff}.v49 .k-grad p{color:#EEF0FF}
.v49 .k-dark{background:#12141C;border:1px solid rgba(255,255,255,.08)}.v49 .k-dark p{color:#9BA4B8}
.v49 .k-white{background:#F4F6FB;color:#0B0B0F}.v49 .k-white p{color:#3A3D45}
.v49 .k-glow{background:radial-gradient(ellipse 70% 90% at 100% 0%,rgba(138,77,240,.35),transparent 60%),#0D0E12;border:1px solid rgba(255,255,255,.08)}.v49 .k-glow p{color:#9BA4B8}
.v49 .k-edge p{color:#9BA4B8}
.v49 .mini{display:flex;flex-direction:column;gap:8px}
.v49 .mini div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#151517;font-size:14px;min-width:0}
.v49 .mini b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .chain{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;min-width:0;overflow:hidden}
.v49 .chain span{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #D3D7DF;white-space:nowrap}
.v49 .chain span.on{background:#0B0B0F;color:#fff;border-color:#0B0B0F}
.v49 .chain em{font-style:normal;color:#5B3FE0}
.v49 .doc{border-radius:12px;background:#fff;border:1px solid #E4E6EB;padding:16px;display:flex;flex-direction:column;gap:9px;flex:1 1 200px;min-width:0}
.v49 .doc i{height:7px;border-radius:4px;background:#E4E6EB}
.v49 .cite{font-family:Consolas,ui-monospace,monospace;font-size:11.5px;color:#2447D6;background:#EAF0FE;padding:1px 5px;border-radius:4px;white-space:nowrap}
.v49 .ava{display:flex;align-items:center}
.v49 .ava span{width:36px;height:36px;border-radius:50%;border:2px solid #0D0E12;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-left:-10px}
.v49 .ava span:first-child{margin-left:0}
.v49 .ava em{margin-left:12px;font-style:normal;font-size:13px;color:#B7A8FF;font-weight:600;white-space:nowrap}
/* Sources: what DEVI reads */
.v49 .src{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.v49 .src a{display:flex;flex-direction:column;gap:14px;color:#F4F6FB;text-decoration:none;min-width:0}
.v49 .art{height:190px;border-radius:16px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;gap:12px;
background:radial-gradient(ellipse 70% 70% at 50% 45%,rgba(91,63,224,.35),transparent 70%),linear-gradient(160deg,#1C1238 0%,#0E0A1E 55%,#050409 100%);border:1px solid rgba(255,255,255,.08)}
.v49 .art.a2{background:radial-gradient(circle at 25% 30%,#6F90FF,transparent 45%),radial-gradient(circle at 80% 75%,#8A4DF0,transparent 50%),#1A1F5C;border:0}
.v49 .art.a3{background:radial-gradient(circle at 30% 80%,#8A4DF0,transparent 50%),radial-gradient(circle at 85% 15%,#4E72FF,transparent 45%),#14123A;border:0}
.v49 .src .lab{align-self:flex-start;padding:3px 9px;border-radius:4px;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.v49 .src h3{font-size:19px;font-weight:700}
.v49 .also{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px 12px;padding-top:4px}
@media (max-width:960px){.v49 .also{grid-template-columns:minmax(0,1fr)}}
.v49 .also .alsoh{grid-column:1/-1;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9BA4B8}
.v49 .also a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(155,164,184,.28);border-radius:14px;color:#F4F6FB;text-decoration:none;font-size:14px;line-height:1.3;max-width:100%}
.v49 .also a b{font-size:11.5px;letter-spacing:.06em;padding:2px 7px;border-radius:4px;background:#5B3FE0;color:#fff}
.v49 .also a:hover{border-color:#8A4DF0}
.v49 .also a svg{width:14px;height:14px;flex:none;margin-left:auto}
.v49 .src p{font-size:15px;line-height:1.5;color:#9BA4B8}
.v49 .card-mock{width:108px;border-radius:8px;background:#F7F8FB;box-shadow:0 14px 30px rgba(0,0,0,.4);padding:10px;box-sizing:border-box;display:flex;flex-direction:column;gap:6px}
.v49 .card-mock b{font-size:11px;color:#2447D6;white-space:nowrap}
.v49 .brief-mock b{white-space:normal;line-height:1.25;overflow-wrap:anywhere}
.v49 .card-mock i{height:5px;border-radius:3px;background:#DADDE5}
.v49 .phone{width:78px;height:146px;border-radius:16px;border:2px solid rgba(255,255,255,.85);background:#0A0A0B;padding:12px 7px;box-sizing:border-box;display:flex;flex-direction:column;gap:6px}
.v49 .phone i{height:12px;border-radius:4px;background:#2C2C2C}.v49 .phone i.b{background:rgba(75,141,248,.55)}.v49 .phone i.v{background:rgba(139,119,238,.55)}
.v49 .map{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px}
.v49 .pin{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(138,77,240,.35)}
.v49 .route{position:absolute;inset:0;width:100%;height:100%}
/* Steps (light panel) */
.v49 .steps{display:flex;flex-wrap:wrap;gap:40px}
.v49 .rail{flex:0 1 300px;display:none;flex-direction:column;gap:4px;min-width:0}
.v49.js .rail{display:flex}
.v49 .rail button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;width:100%;min-height:48px;padding:10px 14px;border-radius:12px;cursor:pointer;
font:600 16px Inter,"Segoe UI",system-ui,sans-serif;color:#3A3D45;white-space:nowrap}
.v49 .rail button:hover{background:rgba(11,11,15,.05)}
.v49 .rail button:focus-visible{outline:2px solid #5B3FE0;outline-offset:2px}
.v49 .rail button[aria-selected="true"]{background:#fff;color:#0B0B0F;box-shadow:0 6px 20px -8px rgba(36,71,214,.35)}
.v49 .rail .n{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid #B8BEEA;color:#5B5F69;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.v49 .rail button[aria-selected="true"] .n{border:0;background:linear-gradient(135deg,#2447D6,#8A4DF0);color:#fff}
.v49 .panels{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:20px}
.v49 .panel{display:flex;flex-wrap:wrap;gap:28px;padding:36px;border-radius:20px;background:#fff;box-shadow:0 24px 60px -24px rgba(36,71,214,.35)}
.v49.js .panel[hidden]{display:none}
.v49 .panel .tx{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:16px}
.v49 .panel .k{font-size:12px;font-weight:800;letter-spacing:.12em;color:#5B3FE0}
.v49 .panel h3{font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-.02em}
.v49 .panel p{font-size:17px;line-height:1.55;color:#3A3D45}
.v49 .roles{display:flex;flex-wrap:wrap;gap:8px}
.v49 .roles span{padding:4px 10px;border-radius:6px;background:#EEF0FF;color:#2447D6;font-size:12.5px;font-weight:700;white-space:nowrap}
.v49 .panel .ex{flex:1 1 240px;min-width:0;border-radius:14px;background:linear-gradient(150deg,#2447D6 0%,#5B3FE0 55%,#8A4DF0 100%);padding:22px;display:flex;flex-direction:column;
justify-content:flex-end;gap:10px;min-height:220px;color:#fff;box-sizing:border-box}
.v49 .panel .ex small{font-size:12px;font-weight:700;letter-spacing:.1em;color:#DDE2FF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .panel .ex span{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.14);font-size:14px;line-height:1.45}
.v49 .panel .ex b{align-self:flex-start;padding:4px 10px;border-radius:999px;background:#fff;color:#2447D6;font-size:12px;white-space:nowrap}
/* Cited answer drawing */
.v49 .split{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.v49 .split>*{flex:1 1 420px;min-width:0}
.v49 .diag{position:relative;height:440px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 50% 50%,rgba(91,63,224,.22),transparent 55%),#0A0B10;overflow:hidden}
.v49 .diag svg{position:absolute;inset:0;width:100%;height:100%}
.v49 .node{position:absolute;padding:7px 12px;border-radius:999px;background:#151517;border:1px solid #2E2E35;font-size:12.5px;font-weight:600;white-space:nowrap}
.v49 .ans{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:260px;max-width:68%;padding:16px;border-radius:16px;background:#F4F6FB;color:#0B0B0F;
box-shadow:0 20px 50px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:8px;box-sizing:border-box}
.v49 .ans small{font-size:12px;font-weight:800;letter-spacing:.08em;color:#5B3FE0;white-space:nowrap}
.v49 .ans span{font-size:13.5px;line-height:1.45}
/* Trust strip and resources */
.v49 .trust{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 32px}
.v49 .trust a{display:inline-flex;align-items:center;gap:12px;color:#F4F6FB;text-decoration:none;font-size:15.5px;font-weight:600;white-space:nowrap}
.v49 .trust svg{width:24px;height:24px;flex:none}
.v49 .res{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
/* Closing */
.v49 .closing .w{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.v49 .closing .w>*{flex:1 1 420px;min-width:0}
.v49 .ticks{display:flex;flex-direction:column;gap:14px;font-size:17px}
.v49 .ticks span{display:flex;gap:12px;align-items:flex-start}
.v49 .ticks svg{width:22px;height:22px;flex:none}
.v49 .cbox{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px;border-radius:20px;background:#fff;color:#0B0B0F;box-shadow:0 30px 70px rgba(6,7,11,.35)}
.v49 .cbox p{color:#3A3D45;font-size:16px;line-height:1.55}
/* Page hero (Cloud and the source pages) */
.v49 .phero{padding:80px 0}
.v49 .phero .split{align-items:center}
.v49 .phero .tx{display:flex;flex-direction:column;gap:24px;color:#fff}
.v49 .crumb{font-size:14px;color:#DDE2FF;white-space:nowrap}
.v49 .crumb a{color:#DDE2FF;text-decoration:none}
.v49 .phero h1{font-size:clamp(40px,5vw,60px);line-height:1.03;font-weight:800;letter-spacing:-.04em}
.v49 .phero .tx>p{font-size:19px;line-height:1.6;color:#EEF0FF}
.v49 .phero .chip{background:#fff}
.v49 .feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px}
.v49 .feat div{display:flex;flex-direction:column;gap:10px}
.v49 .feat svg{width:32px;height:32px}
.v49 .feat b{font-size:18px;font-weight:800}
.v49 .feat span{font-size:15px;line-height:1.5;color:#9BA4B8}
.v49 .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.v49 .step{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:18px;background:#fff;box-shadow:0 16px 40px -24px rgba(36,71,214,.4)}
.v49 .step.dk{background:#0B0B0F;color:#fff}.v49 .step.dk p{color:#B4BDCE}
.v49 .step .num{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2447D6,#8A4DF0);color:#fff;font-size:15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.v49 .step.dk .num{background:#fff;color:#2447D6}
.v49 .step h3{font-size:21px;font-weight:800}.v49 .step p{font-size:16px;line-height:1.55;color:#3A3D45}
.v49 .signin{width:100%;max-width:440px;margin:0 auto;border-radius:20px;border:1px solid rgba(255,255,255,.2);background:#121214;padding:36px 32px;display:flex;flex-direction:column;gap:18px;
box-shadow:0 30px 70px rgba(6,7,11,.5);box-sizing:border-box}
.v49 .signin img{height:96px;width:auto;align-self:center}
.v49 .signin.cloudmark{justify-content:center;align-items:center;min-height:300px;padding:40px 32px}
.v49 .signin.cloudmark img{height:150px}
@media (max-width:700px){.v49 .signin.cloudmark{min-height:250px}.v49 .signin.cloudmark img{height:128px}}
.v49 .signin .f{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#D3D8E3}
.v49 .signin .f span{height:44px;border-radius:10px;border:1px solid #2E2E35;background:#0A0A0B;display:flex;align-items:center;padding:0 14px;font-size:15px;font-weight:400;color:#8B8B95;white-space:nowrap;overflow:hidden}
.v49 .signin .go{min-height:46px;border-radius:999px;background:var(--brand);color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center}
.v49 .panelwin{border-radius:16px;border:1px solid rgba(255,255,255,.2);background:#0D0E12;overflow:hidden;box-shadow:0 30px 70px rgba(6,7,11,.45);font-size:13px}
.v49 .panelwin .hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #232328}
.v49 .panelwin .hd b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .panelwin .ls{display:flex;flex-direction:column;padding:8px 18px 16px}
.v49 .panelwin .ls div{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-top:1px solid #1C1C20;min-width:0}
.v49 .panelwin .ls div:first-child{border-top:0}
.v49 .panelwin .ls b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .panelwin .ls span{color:#8B8B95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .mapwin{position:relative;height:300px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.2);background:#0A0B10;box-shadow:0 30px 70px rgba(6,7,11,.45)}
.v49 .mapwin .key{position:absolute;left:14px;bottom:14px;right:14px;display:flex;gap:8px;flex-wrap:nowrap;overflow:hidden}
@media (prefers-reduced-motion:reduce){.v49 .pill{transition:none}}
@media (max-width:1000px){.v49 .bento,.v49 .src{grid-template-columns:repeat(2,minmax(0,1fr))}.v49 .res,.v49 .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
.v49 .w{padding:0 16px}.v49 .slab{margin:0 8px;border-radius:18px}.v49 .sec{padding:64px 0}
.v49 .hero{padding-top:64px}.v49 .hero .hl2{font-size:17px}
.v49 .stats,.v49 .who{grid-template-columns:repeat(2,minmax(0,1fr))}.v49 .who a:last-child:nth-child(odd){grid-column:1/-1}.v49 .stat b{font-size:32px}
.v49 .bento,.v49 .src,.v49 .res,.v49 .grid3{grid-template-columns:1fr}.v49 .s2{grid-column:auto}.v49 .r2{grid-row:auto}
.v49 .win .side{display:none}.v49 .win .main{padding:14px}.v49 .rows .t{display:none}
.v49 .tile{padding:22px}.v49 .panel{padding:22px}.v49 .rail{flex-basis:100%}
.v49 .diag{height:340px}.v49 .node{font-size:11.5px;padding:6px 10px}
.v49 .trust{flex-direction:column}.v49 .pill{min-height:46px;padding:0 18px;font-size:15px}
.v49 .phero{padding:48px 0}.v49 .cbox{padding:22px}
}
/* Icon sizes: every drawn icon has a fixed box, so nothing grows to fill its card. */
.v49 .tile>svg{width:40px;height:40px;flex:none}
.v49 .tlink svg{width:16px;height:16px;flex:none}
.v49 .tile .pill,.v49 .tx .pill,.v49 .cbox .pill{align-self:flex-start}
.v49 .tlink{align-self:flex-start}
/* Colors that sit on gradients and white cards live here, not in the markup (site_light.py rewrites inline colors). */
.v49 .eq{color:#fff;font-size:22px;font-weight:800}
.v49 .arw{color:#fff;width:24px;height:24px;display:inline-flex}.v49 .arw svg{width:24px;height:24px}
.v49 .dk-k{font-size:11px;font-weight:800;letter-spacing:.1em;color:#5B3FE0}
.v49 .dk-t{font-size:12.5px;line-height:1.45;color:#2B2D33}
.v49 .sub{font-size:18px;line-height:1.6;color:#EEF0FF}
.v49 .src.res{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.v49 .src.res{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
.v49 .src.res{grid-template-columns:1fr}
.v49 .stat b{font-size:28px}
.v49 .who a{font-size:14px;white-space:nowrap}
.v49 .tags .t-v{display:none}
.v49 h1.homehead{font-size:40px}
}
/* Reused site parts, in this design: hero buttons, the five trust facts, the four access steps, the vendor note. */
.v49 .hero .heroactions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0}
.v49 .hero .btn{background:#06070B;color:#fff;-webkit-text-fill-color:#fff;min-height:52px;padding:0 28px;font-size:17px}
.v49 .hero .btn.btnghost{background:#F4F6FB;color:#0B0B0F;-webkit-text-fill-color:#0B0B0F}
.v49 .nums{padding:28px 0 0}
.v49 .trustband{padding:0 0 88px}
.v49 .tgd{background-image:linear-gradient(110deg,#2447D6,#5B3FE0 55%,#8A4DF0)}
.v49 .tlk{align-self:center}
.v49 ul.trust3{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 28px;list-style:none;margin:0;padding:0}
@media (max-width:1100px){.v49 ul.trust3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.v49 ul.trust3 li{margin:0;padding:0;border:0;background:none}
.v49 ul.trust3 a{display:inline-flex;align-items:center;gap:12px;color:#F4F6FB;-webkit-text-fill-color:#F4F6FB;text-decoration:none;font-size:15.5px;font-weight:600;line-height:1.35;background:none}
.v49 ul.trust3 svg{width:24px;height:24px;flex:none;fill:none;stroke:#9A86FF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v49 ol.steps3{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0;font-size:17px;color:#fff}
.v49 ol.steps3 li{display:flex;align-items:center;gap:12px;margin:0}
.v49 ol.steps3 li span{flex:none;width:28px;height:28px;border-radius:50%;background:#fff;color:#2447D6;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.v49 .vendornote{max-width:760px;margin:0;font-size:13px;line-height:1.5;color:#8C95A8}
@media (max-width:700px){.v49 ul.trust3{grid-template-columns:minmax(0,1fr)}.v49 .hero .btn{min-height:46px;padding:0 20px;font-size:15px}}
.v49 .cbox .btn{background:#06070B;color:#fff;-webkit-text-fill-color:#fff;align-self:flex-start}
/* Inside a page hero the older hero rules paint text white and give a nav a bar; these win over them. */
.v49 header .chip{color:#0B0B0F!important;-webkit-text-fill-color:#0B0B0F!important;background:#fff!important}
.v49 header nav.crumb{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;position:static!important;height:auto!important;width:auto!important}
.v49 header nav.crumb,.v49 header nav.crumb a{color:#DDE2FF!important;-webkit-text-fill-color:#DDE2FF!important}
.v49 header .acts .pill.p-white{color:#0B0B0F!important;-webkit-text-fill-color:#0B0B0F!important}
.v49 header .acts .pill.p-dark{color:#fff!important;-webkit-text-fill-color:#fff!important}
/* On the light panels a text link takes the brand blue, not the light link color. */
.v49 .light .tlink{color:#2447D6;-webkit-text-fill-color:#2447D6}
/* The custody chain shortens on a phone instead of cutting its last step. */
@media (max-width:700px){.v49 .chain{gap:6px;font-size:12px}.v49 .chain span{padding:5px 9px}.v49 .chain em{display:none}}
/* Headings wrap evenly, so no word is left alone on the last line. */
.v49 h1,.v49 h2,.v49 h3{text-wrap:balance}
/* Drawn sections of the real DEVI web app (staging look, 11/10/2026), cropped with a fade at the bottom. */
.v49 .aw{position:relative;display:flex;height:var(--h,420px);overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#181818;color:#EDEDF0;
font:12px/1.35 "Segoe UI Variable Text","Segoe UI",Inter,system-ui,sans-serif;text-align:left;font-variant-numeric:tabular-nums;
-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent);box-shadow:0 30px 70px rgba(6,7,11,.45)}
.v49 .aw *{box-sizing:border-box;min-width:0}
.v49 .aw-side{flex:none;width:150px;padding:16px 10px;background:#1C1C1E;border-right:1px solid #2A2A2E;display:flex;flex-direction:column;gap:2px}
.v49 .aw-wm{height:12px;margin:0 0 12px;color:#fff;display:flex;justify-content:center}.v49 .aw-wm svg{height:12px;width:auto;display:block}
.v49 .aw-bk{font-size:10.5px;color:#9A9AA2;margin:0 6px 10px}
.v49 .aw-case{font-weight:700;font-size:12px;margin:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .aw-case small{display:block;font-weight:400;font-size:10.5px;color:#9A9AA2}
.v49 .aw-here{font-size:10.5px;color:#34C87A;margin:4px 6px 0;white-space:nowrap}.v49 .aw-here::before{content:"● ";font-size:8px}
.v49 .aw-search{margin:10px 2px 8px;height:24px;line-height:22px;padding:0 9px;border:1px solid #333338;border-radius:999px;font-size:10.5px;color:#8B8B95;white-space:nowrap}
.v49 .aw-n{display:flex;justify-content:space-between;align-items:center;height:26px;padding:0 8px;border-radius:8px;white-space:nowrap}
.v49 .aw-n.on{background:rgba(91,63,224,.24);color:#B9A6FF;font-weight:600}.v49 .aw-n em{font-style:normal;font-size:10px;color:#8B8B95}
.v49 .aw-main{flex:1;padding:14px 16px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.v49 .aw-crumb{font-size:11px;color:#A98BFF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .aw-head{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;overflow:hidden;white-space:nowrap}
.v49 .aw-src{flex:none;padding:5px 11px;border-radius:999px;border:1px solid #5B3FE0;background:rgba(91,63,224,.18);color:#C7B8FF;font-weight:600;font-size:11px}
.v49 .aw-h{font-size:20px;font-weight:800;color:#fff;flex:none}
.v49 .aw-dim{color:#9A9AA2;font-size:11px;overflow:hidden;text-overflow:ellipsis}
.v49 .aw-ok{flex:none;padding:4px 10px;border-radius:999px;border:1px solid #2FB37A;color:#4CD69A;font-size:10.5px;font-weight:600}
.v49 .aw-tabs{display:flex;gap:16px;border-bottom:1px solid #2A2A2E;white-space:nowrap;overflow:hidden;font-size:11.5px;color:#A1A1A8}
.v49 .aw-tabs span{padding:6px 0}.v49 .aw-tabs span.on{color:#fff;font-weight:600;box-shadow:inset 0 -2px #8A4DF0}
.v49 .aw-split{display:flex;gap:12px;min-height:0}
.v49 .aw-tree{flex:none;width:150px;display:flex;flex-direction:column;gap:1px;padding-right:10px;border-right:1px solid #2A2A2E}
.v49 .aw-tree span{display:flex;justify-content:space-between;gap:6px;padding:4px 8px;border-radius:7px;white-space:nowrap}
.v49 .aw-tree .aw-g{color:#A1A1A8;font-size:11px;margin-top:4px}.v49 .aw-tree .aw-t{padding-left:16px}
.v49 .aw-tree b{font-weight:500;overflow:hidden;text-overflow:ellipsis}.v49 .aw-tree i{font-style:normal;color:#9A9AA2}
.v49 .aw-tree .on{background:rgba(91,63,224,.24);color:#C7B8FF}.v49 .aw-tree .on i{color:#C7B8FF}
.v49 .aw-pane{flex:1;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.v49 .aw-chips{display:flex;gap:6px;white-space:nowrap;overflow:hidden}
.v49 .aw-seg{display:inline-flex;border:1px solid #333338;border-radius:999px;padding:2px;flex:none}.v49 .aw-seg b,.v49 .aw-seg i{font-style:normal;padding:3px 9px;border-radius:999px;font-size:10.5px}
.v49 .aw-seg b{background:rgba(91,63,224,.24);color:#C7B8FF}.v49 .aw-seg i{color:#9A9AA2}
.v49 .aw-chip{flex:none;padding:4px 10px;border-radius:999px;border:1px solid #333338;font-size:10.5px;color:#D8D8DE}.v49 .aw-chip.on{border-color:#5B3FE0;color:#C7B8FF}
.v49 .aw-list{display:flex;flex-direction:column;border:1px solid #2A2A2E;border-radius:10px;overflow:hidden}
.v49 .aw-row{display:flex;gap:10px;padding:8px 10px;border-top:1px solid #2A2A2E;white-space:nowrap}.v49 .aw-row:first-child{border-top:0}
.v49 .aw-row i{font-style:normal;color:#9A9AA2;flex:none}.v49 .aw-row b{color:#A98BFF;font-weight:600;flex:none}.v49 .aw-row em{font-style:normal;overflow:hidden;text-overflow:ellipsis}
.v49 .aw-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.v49 .aw-card{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid #2A2A2E;border-radius:10px;background:#1D1D20}
.v49 .aw-card b{font-size:17px;font-weight:800}.v49 .aw-card i{font-style:normal;font-size:10.5px;color:#9A9AA2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .aw-box{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #2A2A2E;border-radius:12px}
.v49 .aw-box>b{font-size:13px}.v49 .aw-box>i{font-style:normal;color:#9A9AA2;font-size:11px}
.v49 .aw-btns{display:flex;gap:6px;margin-top:4px}.v49 .aw-btns em,.v49 .aw-btns i{font-style:normal;padding:4px 12px;border-radius:999px;font-size:10.5px;font-weight:600}
.v49 .aw-btns em{background:linear-gradient(100deg,#2447D6,#8A4DF0);color:#fff}.v49 .aw-btns i{border:1px solid #333338}
.v49 .aw-maphead{display:flex;justify-content:space-between;align-items:center;gap:8px}.v49 .aw-maphead b{font-size:13px}
.v49 .aw-play{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #2A2A2E;border-radius:10px;white-space:nowrap}
.v49 .aw-dot{width:22px;height:22px;border-radius:50%;background:#8A4DF0;color:#fff;font-size:9px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.v49 .aw-play b{font-size:11px;flex:none}.v49 .aw-hist{flex:1;height:26px;display:flex;align-items:flex-end;gap:3px}.v49 .aw-hist i{flex:1;background:#7B5CF0;border-radius:2px 2px 0 0}
.v49 .aw-map{position:relative;flex:1;min-height:180px;border-radius:10px;background:#22262C;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px}
.v49 .aw-cl{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:#4B8DF8;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px rgba(75,141,248,.25)}
.v49 .aw-cl.big{width:40px;height:40px}
.v49 .aw-tabs2{border-bottom:0;gap:14px}
.v49 .hero .aw{max-width:1040px;width:100%;margin-top:40px;border-bottom-left-radius:0;border-bottom-right-radius:0}
@media (max-width:700px){.v49 .aw-side,.v49 .aw-tree{display:none}.v49 .aw-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.v49 .aw-h{font-size:17px}.v49 .aw-dim{display:none}}
/* More screens of the updated workspace (look audit 11/10/2026). */
.v49 .aw-body{display:flex;flex-direction:column;gap:10px;min-height:0}
.v49 .aw-add{margin-left:auto;flex:none;padding:5px 12px;border-radius:999px;background:linear-gradient(100deg,#2447D6,#8A4DF0);color:#fff;font-size:10.5px;font-weight:600}
.v49 .aw-items{display:flex;flex-direction:column;gap:6px}
.v49 .aw-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:#1F1F22;white-space:nowrap}
.v49 .aw-it{flex:1;display:flex;flex-direction:column;gap:1px;overflow:hidden}
.v49 .aw-it b{font-weight:600;overflow:hidden;text-overflow:ellipsis}.v49 .aw-it i{font-style:normal;font-size:10.5px;color:#9A9AA2;overflow:hidden;text-overflow:ellipsis}
.v49 .aw-tag{flex:none;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:600;background:#2A2A2E;color:#D8D8DE}
.v49 .aw-tag.ok{color:#4CD69A;background:rgba(52,200,122,.12)}.v49 .aw-tag.b{color:#8FB4FF;background:rgba(75,141,248,.14)}
.v49 .aw-tag.v{color:#C7B8FF;background:rgba(139,119,238,.16)}.v49 .aw-tag.w{color:#F5C46B;background:rgba(245,165,36,.14)}
.v49 .aw-more{flex:none;color:#8B8B95}
.v49 .aw-av{flex:none;width:26px;height:26px;border-radius:50%;background:#2A2A2E;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700}
.v49 .aw-av.here{box-shadow:0 0 0 2px #34C87A}
.v49 .aw-btn{flex:none;padding:3px 10px;border:1px solid #333338;border-radius:999px;font-size:10px;font-weight:600}
.v49 .aw-lab{display:block;font-size:9.5px;font-weight:700;letter-spacing:.1em;color:#8B8B95;margin:4px 0 0}
.v49 .aw-side .aw-lab{margin:12px 8px 2px}
.v49 .aw-n em.red{background:#E5484D;color:#fff;border-radius:999px;padding:0 5px;font-size:9.5px}
.v49 .aw-searchbar{display:flex;justify-content:space-between;align-items:center;height:32px;padding:0 12px;border:1px solid #333338;border-radius:10px;color:#8B8B95;font-size:11px}
.v49 .aw-searchbar kbd{font:500 9.5px ui-monospace,Consolas,monospace;border:1px solid #333338;border-radius:4px;padding:0 4px}
.v49 .aw-pins{display:flex;gap:10px}.v49 .aw-pin{flex:0 1 190px;display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid #2A2A2E;border-radius:12px;background:#1F1F22}
.v49 .aw-pin.dash{border-style:dashed;background:none}.v49 .aw-pin b{font-size:12.5px}.v49 .aw-pin i{font-style:normal;font-size:10.5px;color:#9A9AA2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .aw-dotr,.v49 .aw-doto,.v49 .aw-dotg{flex:none;width:7px;height:7px;border-radius:50%;background:#E5484D}.v49 .aw-doto{background:#F5A524}.v49 .aw-dotg{background:#8B8B95}
.v49 .aw-due{flex:none;color:#FF6B6B;font-size:10.5px}.v49 .aw-date{flex:none;color:#9A9AA2;font-size:10.5px}
.v49 .aw-stages{display:flex;gap:8px;align-items:center;white-space:nowrap;overflow:hidden;font-size:11px;color:#9A9AA2}
.v49 .aw-stages .d{color:#D8D8DE}.v49 .aw-stages .on{color:#fff;font-weight:700}.v49 .aw-stages i{font-style:normal;color:#6B6B75}
.v49 .aw-ask{display:flex;align-items:center;gap:8px;height:34px;padding:0 6px 0 6px;border:1px solid #3A3A40;border-radius:999px;background:#1F1F22;color:#9A9AA2;font-size:11px;white-space:nowrap;overflow:hidden}
.v49 .aw-ask b{flex:none;width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,#2447D6,#8A4DF0);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.v49 .aw-ask i{margin-left:auto;flex:none;width:22px;height:22px;border-radius:50%;background:#2A2A2E;font-style:normal;display:inline-flex;align-items:center;justify-content:center}
.v49 .aw-cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v49 .aw-chat{display:flex;flex-direction:column;gap:8px}
.v49 .aw-q{align-self:flex-end;max-width:80%;padding:8px 11px;border-radius:14px 14px 4px 14px;background:linear-gradient(135deg,#2447D6,#5B3FE0);color:#fff}
.v49 .aw-a{align-self:flex-start;max-width:85%;padding:8px 11px;border-radius:14px 14px 14px 4px;background:#1F1F22}
.v49 .aw-a code{font:600 9.5px ui-monospace,Consolas,monospace;color:#8FB4FF;background:rgba(75,141,248,.16);padding:0 4px;border-radius:4px}
.v49 .aw-src2{align-self:flex-start;padding:5px 9px;border:1px solid #2A2A2E;border-radius:8px;font-size:10px;color:#9A9AA2}
/* The drawn screens on product pages (the old app windows are replaced). */
figure.vis38 .v49,.pgwin44 .v49{background:none}
figure.vis38 .aw,.pgwin44 .aw{-webkit-mask-image:none;mask-image:none}
figure.vis38 .v49,.pgwin44 .v49{width:100%}
figure.vis38 .aw,.pgwin44 .aw{width:100%;max-width:none}
.pf41 figure.vis38{width:100%!important;max-width:none!important;justify-self:stretch!important;margin:0!important}
@media (min-width:901px){.pf41 .duo38:not(.flip){grid-template-columns:minmax(0,5fr) minmax(0,7fr)!important}}
/* Phone width (owner 11/10/2026: "graphics aren't cut off"): every drawn screen is laid out for the phone, not
squeezed. Tabs and chips show only what fits, whole; the header wraps on purpose; the frame sizes to its content. */
.v49 .aw-tabs span,.v49 .aw-chips>*,.v49 .aw-head>*{flex:none}
@media (max-width:700px){
.v49 .aw{height:auto;max-height:560px}
.v49 .aw-main{padding:12px}
.v49 .aw-head{flex-wrap:wrap;row-gap:8px;white-space:normal}
.v49 .aw-head .aw-h{font-size:17px}
.v49 .aw-ok,.v49 .aw-src{font-size:10px;padding:3px 9px}
.v49 .aw-tabs{gap:12px}
.v49 .aw-tabs span:nth-child(n+4):not(.on){display:none}
.v49 .aw-chips>*:nth-child(n+4):not(.on){display:none}
.v49 .aw-seg i{display:none}
.v49 .aw-stages>*:nth-child(n+6){display:none}
.v49 .aw-row i{display:none}
.v49 .aw-cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v49 .aw-card b{font-size:15px}.v49 .aw-card i{white-space:normal}
.v49 .aw-pins{flex-direction:column}.v49 .aw-pin{flex:none}
.v49 .aw-add{margin-left:0}
.v49 .aw-play b{display:none}
}
/* Spacing on phones (owner 11/10/2026): a page hero's drawing never touches the buttons above it. */
/* 11/11/2026: the drawing sits a clear step below the hero buttons on desktop too */
header.pghero44 .pgh44>.pgwin44{margin-top:56px}
@media (max-width:900px){header.pghero44 .pgwin44{margin-top:32px!important}.v49 .phero .split{gap:32px}}
.v49 .notes{padding-top:28px;padding-bottom:8px}
.v49 .notes .vendornote{margin:0 auto;text-align:center;max-width:760px}
.v49 .notes .vendornote+.vendornote{margin-top:12px}
.app44 .stat44{display:none}
.v49 .pricing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.v49 .pricing .pc{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid rgba(155,164,184,.22);border-radius:16px;background:linear-gradient(160deg,rgba(91,63,224,.16),rgba(6,7,11,0) 70%)}
.v49 .pricing .pc svg{width:28px;height:28px}
.v49 .pricing h3{font-size:18px;font-weight:700;color:#F4F6FB}
.v49 .pricing p{font-size:15px;line-height:1.5;color:#9BA4B8}
@media (max-width:1000px){.v49 .pricing{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.v49 .pricing{grid-template-columns:1fr}.v49 .pricing .pc{padding:20px}}
/* 11/10/2026: the home hero drawing was too busy. Keep only the case header and a few messages. */
.v49 .hero .aw .aw-side,.v49 .hero .aw .aw-tabs,.v49 .hero .aw .aw-tree,.v49 .hero .aw .aw-chips,.v49 .hero .aw .aw-crumb{display:none!important}
.v49 .hero .aw{--h:auto!important;height:auto!important;max-width:880px;margin-left:auto;margin-right:auto}
.v49 .hero .aw .aw-main{padding:22px 26px 10px}
.v49 .hero .aw .aw-split{display:block}
.v49 .hero .aw .aw-head{margin-bottom:14px}
/* 11/11/2026 (vendor naming check): DEVI's own colors, never a vendor's brand color. .mfdb brand blue, .ufdr brand violet. */
.v49{--v-mfdb:#2447D6;--v-ufdrc:#8A4DF0}
.v49 .src .lab.v-mfdb{background:var(--v-mfdb)!important}
.v49 .also a b.v-ufdr{background:var(--v-ufdrc);color:#fff}
.v49 .also a:has(b.v-ufdr):hover{border-color:var(--v-ufdrc)}
.v49 .vendornote[data-vendor-note]{padding:12px 16px;border:1px solid rgba(155,164,184,.18);border-left-width:4px;border-radius:0 10px 10px 0;background:rgba(255,255,255,.02)}
.v49 .chip.v-mfdb::before{background:var(--v-mfdb)}
/* Color per source (11/10/2026): .mfdb blue, .ufdr violet, provider colors for returns, green call records, teal maps. */
.v49{--v-returns:#FFFC00;--v-cdr:#22C55E;--v-maps:#14B8A6}
.v49 .src .lab{background:#2447D6}
.v49 .src a.s-mfdb-cases .lab{background:var(--v-mfdb)}
.v49 .src a.s-warrant-returns .lab{background:#14161E;border:1px solid rgba(155,164,184,.35);display:inline-flex;align-items:center;gap:8px}
.v49 .src a.s-call-records .lab{background:var(--v-cdr);color:#0B0B0F}
.v49 .src a.s-maps .lab{background:var(--v-maps);color:#0B0B0F}
.v49 .pdots{display:inline-flex;gap:4px}.v49 .pdots i{width:8px;height:8px;border-radius:50%;display:block}
.v49 .src a.s-mfdb-cases .art{background:radial-gradient(circle at 25% 30%,rgba(30,127,224,.55),transparent 55%),radial-gradient(circle at 85% 80%,rgba(91,63,224,.45),transparent 55%),#0E1530}
.v49 .src a.s-mfdb-cases .phone i.b{background:var(--v-mfdb)}
.v49 .src a.s-mfdb-cases .card-mock b{color:var(--v-mfdb)}
.v49 .src a.s-warrant-returns .art{background:radial-gradient(circle at 20% 25%,rgba(255,252,0,.28),transparent 45%),radial-gradient(circle at 80% 30%,rgba(8,102,255,.4),transparent 50%),radial-gradient(circle at 50% 90%,rgba(52,168,83,.35),transparent 50%),#121428}
.v49 .src a.s-call-records .art{background:radial-gradient(circle at 30% 80%,rgba(34,197,94,.4),transparent 55%),radial-gradient(circle at 85% 15%,rgba(78,114,255,.4),transparent 50%),#0E1A1A}
.v49 .src a.s-call-records .phone i.b{background:var(--v-cdr)}
.v49 .src a.s-maps .pin{box-shadow:0 0 0 6px rgba(20,184,166,.4)}
.v49 .src a.s-maps .route path{stroke:var(--v-maps)}
/* Works with your tools: DEVI-drawn format badges, vendor names in plain text. */
.v49 .wwgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.v49 .ww{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid rgba(155,164,184,.22);border-radius:16px;background:rgba(255,255,255,.02);color:#F4F6FB;text-decoration:none;min-width:0;transition:border-color .15s}
.v49 .ww .badge{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;font:800 18px/1 Inter,system-ui,sans-serif;letter-spacing:.02em;color:#fff;margin-bottom:8px}
.v49 .ww b{font-size:17px;font-weight:700}
.v49 .ww>span:last-child{font-size:14.5px;line-height:1.5;color:#9BA4B8}
.v49 .w-mfdb .badge{background:var(--v-mfdb)}.v49 .w-mfdb:hover{border-color:var(--v-mfdb)}
.v49 .w-ufdr .badge{background:var(--v-ufdrc);color:#fff}.v49 .w-ufdr:hover{border-color:var(--v-ufdrc)}
.v49 .w-returns .badge{background:#14161E;border:1px solid rgba(155,164,184,.35)}.v49 .w-returns:hover{border-color:#0866FF}
.v49 .w-cdr .badge{background:var(--v-cdr);color:#0B0B0F}.v49 .w-cdr:hover{border-color:var(--v-cdr)}
/* Measured band */
.v49 .msgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;margin:0 auto;width:100%}
.v49 .ms{display:flex;flex-direction:column;gap:8px;padding:26px 28px;border-radius:16px;border:1px solid rgba(155,164,184,.2);border-top-width:4px;background:rgba(255,255,255,.02)}
.v49 .ms b{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.05}
.v49 .ms span{font-size:15px;line-height:1.5;color:#9BA4B8}
.v49 .m-mfdb{border-top-color:var(--v-mfdb)}.v49 .m-mfdb b{color:#6F90FF}
.v49 .m-ufdr{border-top-color:var(--v-ufdrc)}.v49 .m-ufdr b{color:#B07CFF}
@media (max-width:1000px){.v49 .wwgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.v49 .wwgrid,.v49 .msgrid{grid-template-columns:1fr}.v49 .ww{padding:18px}.v49 .ms{padding:20px}}
.v49 .head.c .chip{align-self:center}
.v49 #works-with .head,.v49 #measured .head{max-width:900px}
/* The DEVI map, drawn (11/11/2026): modeled on the Map screen, made-up data. */
.v49 .mapsvg{position:absolute;inset:0;width:100%;height:100%;display:block}
.v49 .mapsvg .water{fill:#0C1220}
.v49 .mapsvg .land{fill:#161D2C;stroke:#222C40;stroke-width:1}
.v49 .mapsvg .road{fill:none;stroke:#26314A;stroke-width:1.4}
.v49 .mapsvg .road.thin{stroke:#1E2738;stroke-width:1}
.v49 .mapsvg .dots circle{fill:#14B8A6;opacity:.85}
.v49 .mapsvg .route{fill:none;stroke:#14B8A6;stroke-width:2.2;stroke-dasharray:6 5;stroke-linecap:round}
.v49 .mapsvg .area{fill:rgba(138,77,240,.12);stroke:#8A4DF0;stroke-width:1.6;stroke-dasharray:5 4}
.v49 .cl{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2F6BFF;color:#fff;font:700 11px/1 Inter,system-ui,sans-serif;box-shadow:0 0 0 5px rgba(47,107,255,.25),0 0 0 11px rgba(47,107,255,.10)}
.v49 .cl.big{width:40px;height:40px;font-size:12.5px;box-shadow:0 0 0 7px rgba(47,107,255,.28),0 0 0 16px rgba(47,107,255,.10)}
.v49 .cl.sm{width:20px;height:20px;font-size:10px}
.v49 .areatag{position:absolute;transform:translateY(calc(-100% - 6px));padding:3px 8px;border-radius:6px;background:#8A4DF0;color:#fff;font:600 10.5px/1.3 Inter,system-ui,sans-serif;white-space:nowrap}
/* Home card */
.v49 .art.mapart{padding:0;background:#0C1220;display:block}
.v49 .art.mapart .areatag{display:none}
.v49 .mtools{position:absolute;left:12px;top:12px;display:flex;gap:6px;padding:6px 8px;border-radius:10px;background:rgba(10,13,22,.85);border:1px solid rgba(155,164,184,.2)}
.v49 .mtools i{width:10px;height:10px;border-radius:3px;background:#3A4560}.v49 .mtools i:first-child{background:#5B3FE0}
.v49 .mtime{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:rgba(10,13,22,.9);border:1px solid rgba(155,164,184,.2)}
.v49 .mtime b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#5B3FE0;color:#fff;font-size:8px;flex:none}
.v49 .mhist,.v49 .mrhist{display:flex;align-items:flex-end;gap:2px;height:18px;flex:1;min-width:0}
.v49 .mhist i,.v49 .mrhist i{flex:1;background:#7C5CFF;border-radius:1px 1px 0 0;min-height:2px}
/* Maps page */
.v49 .mapdraw{display:grid;grid-template-columns:220px minmax(0,1fr);height:420px;border-radius:16px;overflow:hidden;border:1px solid rgba(155,164,184,.25);background:#0A0D16;box-shadow:0 30px 80px -30px rgba(91,63,224,.55);text-align:left}
.v49 .mpanel{display:flex;flex-direction:column;gap:8px;padding:14px 12px;border-right:1px solid rgba(155,164,184,.16);background:#0E121C;min-width:0}
.v49 .mph{display:flex;justify-content:space-between;align-items:baseline}.v49 .mph b{font-size:14px;color:#F4F6FB}.v49 .mph span{font-size:11px;color:#8C95A8}
.v49 .mpsearch{padding:7px 10px;border-radius:9px;border:1px solid rgba(155,164,184,.25);font-size:11px;color:#8C95A8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .mpsec{margin-top:4px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8C95A8}
.v49 .ly{display:flex;align-items:center;gap:8px;min-width:0}
.v49 .ly .sw{flex:none;width:26px;height:15px;border-radius:999px;background:#5B3FE0;position:relative}
.v49 .ly .sw::after{content:"";position:absolute;right:2px;top:2px;width:11px;height:11px;border-radius:50%;background:#fff}
.v49 .ly .sw.off{background:#2A3245}.v49 .ly .sw.off::after{right:auto;left:2px;background:#8C95A8}
.v49 .ly>span{display:flex;flex-direction:column;min-width:0;flex:1}
.v49 .ly b{font-size:12px;color:#E6E9F2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .ly em{font-style:normal;font-size:10.5px;color:#8C95A8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .ly small{font-size:11px;color:#C9CFDC;font-variant-numeric:tabular-nums}
.v49 .mpfoot{margin-top:auto;font-size:11px;color:#A48BFF}
.v49 .mmap{position:relative;min-width:0;overflow:hidden}
.v49 .mbar{position:absolute;left:50%;top:12px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:12px;background:rgba(10,13,22,.88);border:1px solid rgba(155,164,184,.22);max-width:calc(100% - 24px)}
.v49 .mbar>i{flex:none;width:14px;height:14px;border-radius:4px;background:#3A4560}.v49 .mbar>i:first-child{background:#5B3FE0}
.v49 .msearch{flex:1;min-width:0;padding:4px 10px;border-radius:8px;border:1px solid rgba(155,164,184,.25);font-size:11px;color:#8C95A8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v49 .mpts{flex:none;font-size:11px;color:#E6E9F2;white-space:nowrap}
.v49 .mzoom{position:absolute;right:12px;top:60px;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;border:1px solid rgba(155,164,184,.22);background:rgba(10,13,22,.88)}
.v49 .mzoom i{font-style:normal;width:26px;height:26px;display:grid;place-items:center;color:#E6E9F2;font-size:14px}
.v49 .mrange{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(10,13,22,.92);border:1px solid rgba(155,164,184,.22)}
.v49 .mrtop{display:flex;align-items:center;gap:10px;min-width:0}
.v49 .mplay{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#5B3FE0;color:#fff;font-size:10px}
.v49 .mrdate{font-size:12px;font-weight:600;color:#F4F6FB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.v49 .mrchips{margin-left:auto;display:flex;gap:4px;flex:none}
.v49 .mrchips span{padding:3px 8px;border-radius:7px;font-size:10.5px;color:#8C95A8}.v49 .mrchips span.on{background:#232B3D;color:#F4F6FB}
.v49 .mrhist{flex:none;height:26px}
.v49 .mrfoot{display:flex;justify-content:space-between;font-size:10.5px;color:#8C95A8}
@media (max-width:760px){.v49 .mapdraw{grid-template-columns:1fr;height:360px}.v49 .mpanel{display:none}.v49 .mapdraw .areatag{display:none}.v49 .mrchips span:not(.on){display:none}.v49 .mpts{display:none}}
@media (max-width:420px){.v49 .mapdraw{height:320px}.v49 .areatag{font-size:9.5px}.v49 .mbar>i:nth-child(n+5){display:none}}
.v49 .also a b.v-e01{background:#4E72FF}
@media (max-width:370px){.v49 h1.homehead{font-size:34px}}