:root{
  --bg:#f5f5f7; --bg2:#ffffff; --panel:#ffffff; --panel2:#fbfbfd;
  --line:#d2d2d7; --line2:#e8e8ed; --txt:#1d1d1f; --muted:#6e6e73; --muted2:#86868b;
  --steel:#1d1d1f; --steel2:#2a2a2e;
  --accent:#ef6c12; --accent2:#c25700; --accentglow:rgba(239,108,18,.16);
  --green:#1f9d57; --greenbg:rgba(31,157,87,.12);
  --blue:#2f6fd6; --bluebg:rgba(47,111,214,.12);
  --amber:#c98a06; --amberbg:rgba(201,138,6,.14);
  --grey:#6b7a8d; --greybg:rgba(107,122,141,.12);
  --shadow:0 2px 8px rgba(0,0,0,.04),0 12px 40px rgba(0,0,0,.07);
  --shadow-sm:0 1px 3px rgba(0,0,0,.05),0 6px 20px rgba(0,0,0,.05);
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{height:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--txt);line-height:1.47;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

#atlas .wrap{max-width:none;padding:0 32px}
@media (max-width:520px){ #atlas .wrap{padding:0 16px} }

#hero{min-height:100vh;display:flex;flex-direction:column;position:relative;isolation:isolate;
  background:
    radial-gradient(900px 480px at 86% -6%,rgba(239,108,18,.08),transparent 60%),
    linear-gradient(180deg,#fbfbfd,#f5f5f7 68%,#f0f0f3)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:26px;padding:15px 0}
.menu{display:flex;align-items:center;gap:4px;margin-left:8px}
.menu .mi{position:relative;font-size:14px;font-weight:600;color:var(--muted);padding:8px 14px;border-radius:9px;cursor:pointer;transition:.15s;white-space:nowrap}
.menu .mi:hover{color:var(--txt);background:rgba(28,36,49,.05)}
.menu .mi.active{color:var(--accent2)}
.menu .mi.active::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--accent);border-radius:2px}
.menu .soon-mi{cursor:default;color:var(--muted2)}
.menu .soon-mi:hover{background:none;color:var(--muted2)}
.soonbadge{font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--accent2);
  background:rgba(245,130,13,.14);border:1px solid rgba(245,130,13,.3);border-radius:100px;padding:2px 6px;margin-left:6px;vertical-align:middle}
.nav-r{display:flex;align-items:center;gap:14px;margin-left:auto}
.langpills{display:flex;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:3px}
.langpills .lp{background:none;border:none;color:var(--muted);font:inherit;font-size:12px;font-weight:700;padding:5px 9px;border-radius:6px;cursor:pointer;transition:.14s}
.langpills .lp:hover{color:var(--txt)}
.langpills .lp.on{background:var(--accent);color:#1a1206}
.btn-sm{padding:10px 18px;border-radius:10px;font-size:14px}
@media(max-width:820px){.menu .soon-mi{display:none}.langpills{display:none}}
@media(max-width:560px){.menu{display:none}}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:8px 28px 0}
.feat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;transition:.18s cubic-bezier(.2,.7,.3,1);box-shadow:var(--shadow-sm)}
.feat:hover{border-color:#d6dbe4;transform:translateY(-4px);box-shadow:var(--shadow)}
.feat .fi{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:21px;
  background:linear-gradient(160deg,#fff3e8,#ffe6d0);border:1px solid rgba(239,108,18,.22);border-radius:12px;margin-bottom:15px}
.feat .fh{font-size:15.5px;font-weight:700;margin-bottom:7px;letter-spacing:-.2px}
.feat .fp{font-size:13px;color:var(--muted);line-height:1.62}
@media(max-width:900px){.features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.features{grid-template-columns:1fr}}
.contacts{padding:20px 0 46px}
.contacts .ch{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em;margin-bottom:6px}
.contacts .csub{color:var(--muted);font-size:16px;margin-bottom:26px}
.cgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-sm)}
.ccard h3{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted2);margin-bottom:16px}
.crow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line2)}
.crow:last-child{border-bottom:none}
.crow .ci{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;font-size:16px;
  background:rgba(120,120,128,.1);border-radius:10px}
.crow .cl{font-size:12px;color:var(--muted2)}
.crow .cv{font-size:16px;font-weight:600;color:var(--txt)}
.crow a.cv:hover{color:var(--accent2)}
.creq{display:grid;grid-template-columns:132px 1fr;gap:8px 14px;font-size:14px}
.creq dt{color:var(--muted2)}
.creq dd{color:var(--txt);font-weight:500}
.creq .ph{color:var(--muted2);font-style:italic;font-weight:400}
.mgr-btn{display:inline-flex;align-items:center;gap:9px;margin-top:18px;background:var(--accent);color:#fff;font-weight:600;font-size:15px;padding:12px 22px;border-radius:980px;transition:.2s}
.mgr-btn:hover{background:#f0781f;transform:scale(1.02)}
@media(max-width:820px){.cgrid{grid-template-columns:1fr}}

.sitefoot{background:var(--steel);color:#a1a1a6;margin-top:0}
.sitefoot-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:28px 0 18px}
.sitefoot .fbrand{display:flex;align-items:center;gap:11px;font-weight:700;color:#f5f5f7;letter-spacing:-.01em}
.sitefoot .fbrand small{display:block;font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#86868b}
.sitefoot .fnav{display:flex;gap:4px;flex-wrap:wrap}
.sitefoot .fnav a{font-size:13px;color:#a1a1a6;padding:7px 12px;border-radius:8px;cursor:pointer;transition:.14s}
.sitefoot .fnav a:hover{background:rgba(255,255,255,.08);color:#fff}
.sitefoot .fcopy{font-size:12px;color:#6e6e73;padding:16px 0 28px;border-top:1px solid rgba(255,255,255,.1);line-height:1.6}
.brand{display:flex;align-items:center;gap:12px}
.mark{width:40px;height:40px;flex:0 0 40px}
.mark svg{display:block}
.logo-img{height:34px;width:auto;display:block}
.logo-foot{height:26px;background:#fff;padding:6px 10px;border-radius:9px}
.brand-div{width:1px;height:26px;background:var(--line)}
.brand-sub{font-size:11px;color:var(--muted2);letter-spacing:2px;text-transform:uppercase;font-weight:700}
@media(max-width:767px){.brand-sub,.brand-div{display:none}}
.brand .bt{font-weight:800;letter-spacing:-.2px;font-size:15px}
.brand .bs{font-size:10.5px;color:var(--muted2);letter-spacing:2.5px;text-transform:uppercase;font-weight:600}
.hero-mid{flex:1;display:flex;align-items:center;padding:38px 0}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;width:100%}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.2px;font-weight:600;
  color:var(--accent2);margin-bottom:20px}
.kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
h1{font-size:clamp(40px,5vw,66px);line-height:1.05;font-weight:700;letter-spacing:-.035em;color:var(--txt)}
h1 .hl{color:var(--accent)}
.lead{margin-top:20px;font-size:19px;line-height:1.55;color:var(--muted);max-width:500px;font-weight:400}
.cta{margin-top:30px;display:flex;gap:11px;flex-wrap:wrap;align-items:center}
.btn{border:none;cursor:pointer;font:inherit;font-weight:600;font-size:15px;border-radius:980px;padding:12px 24px;
  transition:.22s cubic-bezier(.2,.7,.3,1);display:inline-flex;align-items:center;gap:8px;letter-spacing:0}
.btn-p{background:var(--accent);color:#fff}
.btn-p:hover{background:#f0781f;transform:scale(1.02)}
.btn-g{background:rgba(120,120,128,.12);color:var(--txt)}
.btn-g:hover{background:rgba(120,120,128,.2)}
.trustline{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--muted2)}
.trustline span{display:inline-flex;align-items:center;gap:7px}
.trustline span::before{content:"✓";color:var(--green);font-weight:800}
.chain{margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.chain .node{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 14px;
  font-size:13px;color:var(--muted);white-space:nowrap;box-shadow:var(--shadow-sm)}
.chain .node b{color:var(--txt);font-weight:700}
.chain .arw{color:var(--accent);font-size:14px;font-weight:800}
.heronote{padding:18px 0 28px;color:var(--muted2);font-size:12.5px;text-align:center;border-top:1px solid var(--line2)}
.showcase{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:var(--shadow)}
.sc3d{position:relative;background:
  radial-gradient(120% 90% at 50% 0%,#fbfdff,#eef2f8),
  linear-gradient(rgba(30,40,54,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(30,40,54,.05) 1px,transparent 1px);
  background-size:auto,26px 26px,26px 26px;border:1px solid var(--line);border-radius:13px;overflow:hidden;height:330px}
.sc3d canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none;position:relative;z-index:1}
.sc3d canvas:active{cursor:grabbing}
.sc3d .sctag{position:absolute;left:13px;top:12px;z-index:2;font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:var(--accent2);background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:100px;padding:5px 11px}
.scstats{display:flex;gap:10px;margin-top:12px}
.scstats .stat{flex:1;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:13px 15px;background:var(--panel2)}
.scstats .stat .n{font-size:24px;font-weight:800;color:var(--accent2);letter-spacing:-.5px}
.scstats .stat .l{font-size:11.5px;color:var(--muted);text-align:left;margin-top:2px;line-height:1.35}

.acc-levels{display:grid;gap:8px}
.acc-row{display:flex;gap:12px;align-items:baseline;background:var(--panel2);
  border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13.5px}
.acc-row b{min-width:150px}
.acc-row span{color:var(--muted)}
.overlay{position:fixed;inset:0;background:rgba(28,36,49,.5);backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;z-index:50;padding:24px}
.overlay.on{display:flex}
.login{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);
  border-radius:20px;padding:30px;max-width:640px;width:100%;box-shadow:var(--shadow)}
.login h2{font-size:22px;margin-bottom:6px}
.login p.sub{color:var(--muted);font-size:14px;margin-bottom:22px}
.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.role{background:var(--panel2);border:1px solid var(--line);border-radius:13px;padding:16px;cursor:pointer;transition:.16s;text-align:left}
.role:hover{border-color:var(--accent);transform:translateY(-2px)}
.role.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 8px 20px var(--accentglow)}
.role .ri{font-size:20px;margin-bottom:8px}
.role .rn{font-weight:700;font-size:15px}
.role .rd{font-size:12px;color:var(--muted);margin-top:4px}
.role .lock{font-size:11px;color:var(--muted2);margin-top:9px}
.pwrow{margin-top:20px;display:none;gap:10px}
.pwrow.on{display:flex}
.pwrow input{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:14px 16px;color:var(--txt);font:inherit;outline:none}
.pwrow input:focus{border-color:var(--accent)}
.err{color:#ff6b6b;font-size:13px;margin-top:12px;min-height:18px}
.demo-note{margin-top:18px;font-size:12px;color:var(--muted2);border-top:1px solid var(--line);padding-top:14px}
.demo-note code{background:var(--bg);padding:2px 6px;border-radius:5px;color:var(--accent2)}

#atlas{display:none}
#atlas.on{display:block}
.abar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.abar-in{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px}
.whoami{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.whoami .badge{background:var(--accentglow);color:var(--accent2);border:1px solid rgba(245,130,13,.4);border-radius:100px;padding:4px 12px;font-weight:700;font-size:12px}
.logout{background:none;border:1px solid var(--line);color:var(--muted);border-radius:9px;padding:7px 14px;cursor:pointer;font:inherit;font-size:13px}
.logout:hover{border-color:#ff6b6b;color:#ff6b6b}
.atop{padding:34px 0 10px}
.atop h2{font-size:30px;font-weight:800}
.atop p{color:var(--muted);margin-top:6px}
.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 10px}
.search{flex:1;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 15px;color:var(--txt);font:inherit;outline:none}
.search:focus{border-color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:100px;padding:8px 15px;cursor:pointer;font-size:13px;transition:.14s;user-select:none}
.chip:hover{color:var(--txt)}
.chip.on{background:var(--accent);color:#1a1206;border-color:var(--accent);font-weight:700}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin:6px 0 18px;font-size:12px;color:var(--muted2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.famhead{margin:26px 0 12px;display:flex;align-items:center;gap:12px}
.famhead h3{font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.famhead .ln{flex:1;height:1px;background:var(--line)}
.famhead .cnt{font-size:12px;color:var(--muted2)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:stretch}
.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:15px;padding:18px;transition:.16s;display:flex;flex-direction:column;min-height:168px}
.card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}
.card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.code{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--muted2);font-family:ui-monospace,monospace}
.card .top .nm{margin:0}
.card .coderow{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-top:3px}
.card .top .code{font-size:10px;letter-spacing:.8px}
.card .nm{font-size:17px;font-weight:700;margin:10px 0 4px}
.card .ds{font-size:13px;color:var(--muted);flex:1}
.card .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tag{font-size:10.5px;color:var(--muted2);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 7px}
.card .act{margin-top:14px;display:flex;gap:8px}
.card .pstage{position:relative;width:min(100%,210px);aspect-ratio:4/3;margin:0 auto 12px;
  border-radius:10px;border:1px solid var(--line2);overflow:hidden;
  background:radial-gradient(120% 90% at 50% 40%,#f2f1f3,#e4e4e7)}
.card .pstage .pimg{position:absolute;inset:0;
  background-size:100% auto;background-position:50% 50%;background-repeat:no-repeat}
.card .pstage .p3d{position:absolute;inset:0;width:100%;height:100%;display:block}
.card .pimg{width:min(100%,210px);aspect-ratio:4/3;margin:0 auto 12px;border-radius:10px;
  border:1px solid var(--line2);
  background-size:500% auto;background-position:0% 50%;background-repeat:no-repeat}
@media (hover:hover){
  .card .pimg{transition:background-position .32s steps(4)}
  .card:hover .pimg{background-position:100% 50%}
}
.card .vars{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.card .vchip{border:1px solid var(--line);background:var(--panel);border-radius:8px;
  padding:4px 10px;font:inherit;font-size:12px;font-weight:700;color:var(--txt);cursor:pointer;transition:.14s}
.card .vchip:hover{border-color:var(--accent);color:var(--accent2)}
.card .varnote{font-size:11px;color:var(--muted2);margin-top:6px}
.card .open{flex:1;text-align:center;background:linear-gradient(135deg,var(--accent),#e0730a);color:#1a1206;font-weight:700;border-radius:10px;padding:10px;font-size:13px;transition:.15s;cursor:pointer;border:none;font-family:inherit}
.card .open:hover{filter:brightness(1.08)}
.card .soon{flex:1;text-align:center;background:var(--panel2);color:var(--muted2);border-radius:10px;padding:10px;font-size:13px;cursor:not-allowed}
.empty{color:var(--muted2);padding:40px;text-align:center}
footer{border-top:1px solid var(--line);margin-top:50px;padding:26px 0;color:var(--muted2);font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.calc{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:20px;max-width:900px;width:100%;box-shadow:var(--shadow);overflow:hidden}
.calc-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 26px;border-bottom:1px solid var(--line)}
.calc-code{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted2);letter-spacing:1px}
.calc-name{font-size:21px;font-weight:800;margin-top:2px}
.calc-body{display:grid;grid-template-columns:1.3fr .7fr;gap:0}
.calc-form{padding:26px;border-right:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.cf{display:flex;flex-direction:column;gap:7px;margin:0;min-width:0}
.cf span{font-size:12px;color:var(--muted2);font-weight:600;letter-spacing:.3px;text-transform:uppercase}
.cf .field{display:flex;align-items:center;gap:8px}
.cf input,.cf select{flex:1;min-width:0;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 13px;color:var(--txt);font:inherit;font-size:15px;outline:none;transition:.15s}
.cf input:focus,.cf select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentglow)}
.cf input:hover,.cf select:hover{border-color:#3a4a5e}
.cf em{font-style:normal;font-size:12px;color:var(--muted2);white-space:nowrap;flex:0 0 auto}
.calc.stp-visible .cf input[data-stp]:not(.is-manual){color:var(--accent2);font-weight:700;border-color:rgba(245,130,13,.55);background:rgba(245,130,13,.07)}
.calc-note{grid-column:1 / -1;display:flex;align-items:center;gap:9px;margin-top:2px;font-size:12px;color:var(--muted)}
.calc-note .dot-o{width:12px;height:12px;border-radius:4px;background:rgba(245,130,13,.2);border:1.5px solid var(--accent);display:inline-block;flex:0 0 auto}
.calc-res{padding:28px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:rgba(46,204,113,.06)}
.calc-res-num{font-size:34px;font-weight:800;color:var(--green);line-height:1.1;word-break:break-all}
.calc-res-cap{font-size:13px;color:var(--muted);margin-top:6px}
.calc-res-meta{font-size:12px;color:var(--muted2);margin-top:18px;line-height:1.7}
@media(max-width:720px){.calc-body{grid-template-columns:1fr}.calc-form{border-right:none;border-bottom:1px solid var(--line)}}
@media(max-width:460px){.calc-form{grid-template-columns:1fr}}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;gap:34px}.stats{order:-1}}
