@font-face{font-family:"ALS Hauss";src:url(/static/fonts/ALSHauss-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"ALS Hauss";src:url(/static/fonts/ALSHauss-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"ALS Hauss";src:url(/static/fonts/ALSHauss-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"ALS Hauss";src:url(/static/fonts/ALSHauss-Black.woff2) format("woff2");font-weight:900;font-display:swap}

:root{
  --bg:#07070B; --bg-2:#0D0D14; --bg-3:#14141D;
  --card:rgba(255,255,255,.04); --card-2:rgba(255,255,255,.07); --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --text:#F5F6FA; --text-2:#B9BDCC; --muted:#7C8194;
  --violet:#6366F1; --violet-2:#818CF8; --violet-glow:rgba(99,102,241,.35); --violet-soft:rgba(99,102,241,.12);
  --ok:#10B981; --warn:#F59E0B; --danger:#EF4444;
  --font:"ALS Hauss",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:"Unbounded","ALS Hauss",system-ui,sans-serif;
  --r:16px; --r-lg:24px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,textarea{font:inherit;color:inherit}
::selection{background:var(--violet);color:#fff}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;letter-spacing:-.02em}
h1{font-size:clamp(34px,5.2vw,66px);line-height:1.04}
h2{font-size:clamp(26px,3.6vw,44px);line-height:1.1}
h3{font-size:18px;font-weight:600;font-family:var(--font);letter-spacing:0}
p{margin:0}
.muted{color:var(--muted)}
.t2{color:var(--text-2)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-2);font-weight:500}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--violet-2);box-shadow:0 0 12px var(--violet-2)}

/* nav */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(7,7,11,.7);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:18px;display:block}
.logo span{font-family:var(--display);font-size:13px;font-weight:500;color:var(--text-2);letter-spacing:.02em}
.nav-links{display:flex;gap:28px;font-size:14px;color:var(--text-2)}
.nav-links a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;font-weight:500;font-size:15px;transition:.18s;white-space:nowrap}
.btn-primary{background:var(--violet);color:#fff;box-shadow:0 8px 30px -8px var(--violet-glow)}
.btn-primary:hover{background:var(--violet-2);transform:translateY(-1px)}
.btn-ghost{background:var(--card);border:1px solid var(--line-2)}
.btn-ghost:hover{background:var(--card-2)}
.btn-sm{height:36px;padding:0 14px;font-size:14px;border-radius:10px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* hero */
.hero{position:relative;padding:96px 0 64px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto;height:120%;background:
  radial-gradient(600px 400px at 20% 10%,rgba(99,102,241,.28),transparent 60%),
  radial-gradient(700px 500px at 85% 30%,rgba(129,140,248,.18),transparent 60%),
  radial-gradient(500px 400px at 50% 100%,rgba(99,102,241,.12),transparent 60%);pointer-events:none}
.hero .wrap{position:relative}
.hero h1{max-width:980px;margin-top:18px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,#C7D2FE,#818CF8 50%,#6366F1);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{max-width:680px;margin-top:22px;font-size:19px;color:var(--text-2)}
.linkbox{margin-top:36px;max-width:760px;display:flex;gap:10px;padding:8px;border-radius:18px;background:var(--bg-3);border:1px solid var(--line-2);box-shadow:0 30px 80px -30px rgba(99,102,241,.35)}
.linkbox input{flex:1;height:52px;background:transparent;border:0;outline:0;padding:0 14px;font-size:17px}
.linkbox input::placeholder{color:var(--muted)}
.linkbox .btn{height:52px;border-radius:12px;padding:0 22px}
.examples{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--muted)}
.chip{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text-2);font-size:13px;transition:.15s}
.chip:hover{border-color:var(--violet-2);color:#fff}
.hero-stats{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:980px}
.stat b{display:block;font-family:var(--display);font-size:28px;font-weight:600}
.stat span{font-size:13px;color:var(--muted)}

/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;overflow:hidden;white-space:nowrap;background:var(--bg-2)}
.marquee .track{display:inline-flex;gap:40px;animation:mq 40s linear infinite;font-size:14px;color:var(--text-2)}
.marquee .track i{font-style:normal;color:var(--violet-2);margin-right:8px}
@keyframes mq{to{transform:translateX(-50%)}}

section{padding:88px 0}
.sec-head{max-width:760px;margin-bottom:40px}
.sec-head p{margin-top:14px;font-size:17px;color:var(--text-2)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{padding:28px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.step::after{content:"";position:absolute;inset:auto -30% -40% auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.18),transparent 70%)}
.step .n{font-family:var(--display);font-size:40px;font-weight:700;color:var(--violet-2);line-height:1}
.step h3{margin-top:18px;font-size:20px}
.step p{margin-top:10px;color:var(--text-2)}

/* catalog grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tile{border-radius:var(--r-lg);background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line);padding:22px;min-height:210px;display:flex;flex-direction:column;transition:.2s;position:relative;overflow:hidden}
.tile:hover{border-color:var(--line-2);transform:translateY(-2px)}
.tile .art{position:absolute;inset:auto -20px -30px auto;width:160px;height:160px;border-radius:50%;filter:blur(36px);opacity:.55;background:var(--violet)}
.tile.a1 .art{background:#6366F1}.tile.a2 .art{background:#8B5CF6}.tile.a3 .art{background:#06B6D4}.tile.a4 .art{background:#10B981}.tile.a5 .art{background:#F59E0B}.tile.a6 .art{background:#EC4899}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;background:var(--violet-soft);color:var(--violet-2);border:1px solid rgba(99,102,241,.3)}
.tag.gray{background:var(--card);color:var(--text-2);border-color:var(--line-2)}
.tag.ok{background:rgba(16,185,129,.12);color:#34D399;border-color:rgba(16,185,129,.3)}
.tag.warn{background:rgba(245,158,11,.12);color:#FBBF24;border-color:rgba(245,158,11,.3)}
.tag.danger{background:rgba(239,68,68,.12);color:#F87171;border-color:rgba(239,68,68,.3)}
.tile h3{margin-top:14px;font-size:19px;position:relative}
.tile p{margin-top:8px;color:var(--text-2);font-size:14px;position:relative;flex:1}
.tile .sched{margin-top:16px;font-size:13px;color:var(--muted);position:relative}

/* compare */
.cmp{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.cmp .row{display:grid;grid-template-columns:1.1fr 1fr 1.3fr;border-top:1px solid var(--line)}
.cmp .row:first-child{border-top:0;background:var(--card-2);font-weight:600}
.cmp .row>div{padding:16px 20px;font-size:15px}
.cmp .row>div:first-child{color:var(--muted)}
.cmp .row>div:last-child{color:#fff;background:var(--violet-soft)}

/* tariffs */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.plan{padding:28px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line)}
.plan.hot{border-color:var(--violet);box-shadow:0 30px 80px -40px var(--violet-glow)}
.plan .price{font-family:var(--display);font-size:36px;font-weight:600;margin-top:12px}
.plan .price small{font-size:14px;color:var(--muted);font-family:var(--font)}
.plan ul{margin:18px 0 0;padding:0;list-style:none;color:var(--text-2);font-size:14px}
.plan li{padding:7px 0;border-top:1px solid var(--line)}
.plan li::before{content:"— ";color:var(--violet-2)}

footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* ---------- research view ---------- */
#research{display:none;padding:40px 0 80px}
#research.on{display:block}
.r-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.r-url{font-size:14px;color:var(--muted);word-break:break-all}
.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.pstep{padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);display:flex;gap:12px;align-items:center;font-size:14px}
.pstep .dot{width:10px;height:10px;border-radius:50%;background:var(--line-2);flex:none}
.pstep.run .dot{background:var(--violet-2);box-shadow:0 0 0 4px var(--violet-soft);animation:pulse 1.2s infinite}
.pstep.done .dot{background:var(--ok)}
.pstep.skip .dot{background:var(--warn)}
.pstep.err .dot{background:var(--danger)}
.pstep small{display:block;color:var(--muted);font-size:12px}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px var(--violet-soft)}50%{box-shadow:0 0 0 8px rgba(99,102,241,.05)}}
.elapsed{font-size:13px;color:var(--muted)}

.panel{margin-top:22px;padding:26px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line)}
.panel h2{font-size:24px}
.panel .sub{color:var(--muted);font-size:14px;margin-top:6px}
.profile-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:26px;margin-top:20px}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:15px}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
.kv dd .chips{display:flex;flex-wrap:wrap;gap:6px}
.hint{margin-top:18px;padding:12px 14px;border-radius:12px;background:var(--violet-soft);border:1px solid rgba(99,102,241,.25);font-size:14px;color:#C7D2FE}

.findings{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
.finding{padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg-2);display:flex;gap:12px}
.finding .ic{width:28px;height:28px;border-radius:8px;flex:none;display:grid;place-items:center;font-size:14px;font-weight:700}
.finding.gap .ic{background:rgba(245,158,11,.15);color:#FBBF24}
.finding.risk .ic{background:rgba(239,68,68,.15);color:#F87171}
.finding.strength .ic{background:rgba(16,185,129,.15);color:#34D399}
.finding b{font-weight:500;display:block}
.finding small{color:var(--muted);font-size:12px}

.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.card{border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(180deg,var(--card-2),var(--card));padding:22px;display:flex;flex-direction:column;gap:12px;transition:.2s}
.card.sel{border-color:var(--violet);box-shadow:0 0 0 1px var(--violet) inset,0 20px 60px -30px var(--violet-glow)}
.card .top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.card h3{font-size:20px;font-family:var(--display);font-weight:600;letter-spacing:-.01em}
.card .pitch{color:var(--text);font-size:15px}
.card .val{color:var(--muted);font-size:13px}
.card .sched{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-2)}
.card select{background:var(--bg-3);border:1px solid var(--line-2);border-radius:8px;color:#fff;padding:4px 8px;font-size:13px}
.card .acts{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}
.preview{display:none;margin-top:6px;padding:16px;border-radius:14px;background:var(--bg);border:1px solid var(--line);font-size:14px;color:var(--text-2);white-space:pre-wrap;line-height:1.55;max-height:360px;overflow:auto}
.preview.on{display:block}
.preview .ph{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-2);margin-bottom:8px;font-weight:500}
.wave{font-size:11px;color:var(--muted)}

.week{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.week div{padding:16px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);font-size:14px}
.week h4{margin:0 0 10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-2);font-weight:500}
.week ul{margin:0;padding-left:16px;color:var(--text-2)}
.week li{margin:6px 0}

.assignbar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(120px);transition:.25s;z-index:60;display:flex;gap:14px;align-items:center;padding:10px 10px 10px 20px;border-radius:16px;background:#15152A;border:1px solid var(--violet);box-shadow:0 20px 60px -20px var(--violet-glow)}
.assignbar.on{transform:translateX(-50%) translateY(0)}
.assignbar span{font-size:14px}

.searchbits{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:14px}
.searchbits .box{padding:14px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line)}
.searchbits h4{margin:0 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-2);font-weight:500}
.searchbits ul{margin:0;padding-left:16px;color:var(--text-2)}
.searchbits li{margin:4px 0}
.searchbits a{color:#C7D2FE;border-bottom:1px dotted}

.err{margin-top:18px;padding:16px;border-radius:14px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#FCA5A5}

/* modal */
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);padding:20px}
.modal.on{display:grid}
.modal .box{width:100%;max-width:520px;padding:32px;border-radius:var(--r-lg);background:var(--bg-3);border:1px solid var(--line-2);box-shadow:0 40px 120px -30px rgba(99,102,241,.4)}
.modal h2{font-size:24px}
.modal p{margin-top:10px;color:var(--text-2);font-size:15px}
.modal .locked{margin-top:16px;padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:14px;color:var(--text-2)}
.modal .locked li{margin:4px 0}
.modal input{width:100%;height:48px;margin-top:18px;padding:0 14px;border-radius:12px;background:var(--bg);border:1px solid var(--line-2);outline:0;font-size:16px}
.modal input:focus{border-color:var(--violet)}
.modal .oauth{display:flex;gap:8px;margin-top:10px}
.modal .oauth .btn{flex:1;opacity:.6}
.modal .fine{margin-top:12px;font-size:12px;color:var(--muted)}

/* cabinet */
.cab{display:grid;grid-template-columns:300px 1fr;gap:22px;padding:36px 0 80px}
.side{display:flex;flex-direction:column;gap:14px}
.side .panel,.main .panel{margin-top:0}
.alist{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.aitem{padding:12px 14px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line);font-size:14px}
.aitem b{font-weight:500;display:block}
.aitem small{color:var(--muted)}
.trust{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.trust i{width:26px;height:6px;border-radius:3px;background:var(--line-2);display:inline-block}
.trust i.on{background:var(--violet-2)}
.qitem{padding:18px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line);margin-top:12px}
.qitem .qh{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.qitem .body{margin-top:12px;white-space:pre-wrap;font-size:14px;color:var(--text-2);line-height:1.55}
.qitem .acts{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;align-items:center}
.qitem textarea{width:100%;margin-top:10px;min-height:70px;border-radius:10px;background:var(--bg);border:1px solid var(--line-2);padding:10px;outline:0;resize:vertical;display:none}
.qitem textarea.on{display:block}
.qitem.accepted{border-color:rgba(16,185,129,.4)}
.qitem.redo{border-color:rgba(245,158,11,.4)}
.drop{margin-top:12px;padding:22px;border:1px dashed var(--line-2);border-radius:14px;text-align:center;color:var(--muted);font-size:13px}
.kb-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}

@media (max-width:900px){
  .nav-links{display:none}
  .steps,.grid,.plans,.progress,.cards,.findings,.week,.searchbits,.profile-grid{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr 1fr}
  .linkbox{flex-direction:column}
  .linkbox .btn{width:100%}
  .cmp .row{grid-template-columns:1fr 1fr 1fr;font-size:13px}
  .cab{grid-template-columns:1fr}
  .kv{grid-template-columns:110px 1fr}
}
.kb-tags .tag{height:auto;padding:4px 10px;white-space:normal;line-height:1.3}
