/* ASTACKRA AI tools — Blueprint Studio + Website X-Ray (Axis design tokens). */
body.ax-tool-page .ax-page-grid{grid-template-columns:minmax(0,1fr)!important}
body.ax-tool-page .ax-aside,body.ax-tool-page .ax-toc-mobile{display:none!important}
body.ax-tool-page .ax-prose{max-width:none}
body.ax-tool-page .ax-prose>p:first-child:empty{display:none}

.ax-tool{--axt-r:18px;font-size:16px;color:var(--text)}
.ax-tool [hidden]{display:none!important}
.axt-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--axt-r);padding:clamp(20px,3.2vw,36px);box-shadow:var(--shadow)}
.axt-field{display:grid;gap:8px;margin:0 0 18px}
.axt-field label,.axt-examples-label{font:500 12px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ax-tool textarea,.ax-tool select,.ax-tool input[type=text],.ax-tool input[type=email],.ax-tool input[type=url]{width:100%;box-sizing:border-box;font:inherit;font-size:16px;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,background .2s}
.ax-tool textarea{min-height:150px;resize:vertical;line-height:1.55}
.ax-tool select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m6 8 4 4 4-4' fill='none' stroke='%235a6071' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-inline-end:40px}
[dir=rtl] .ax-tool select{background-position:left 12px center}
.ax-tool textarea:focus,.ax-tool select:focus,.ax-tool input:focus{outline:0;border-color:var(--cobalt);background:var(--white);box-shadow:0 0 0 4px rgba(47,75,255,.14)}
.axt-count{justify-self:end;font:500 11px var(--f-mono);color:var(--muted)}
.axt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.axt-examples{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 22px}
.axt-examples button{font:inherit;font-size:13.5px;border:1px solid var(--line);background:var(--paper);color:var(--text-2);border-radius:999px;padding:8px 14px;cursor:pointer;transition:.2s}
.axt-examples button:hover{border-color:var(--cobalt);color:var(--cobalt-2);background:var(--cobalt-soft)}
.axt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.axt-fine{margin:0;color:var(--muted);font-size:14px}
.axt-error{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#fdecea;color:#8a1c12;font-size:14.5px}

.axt-urlbar{display:flex;gap:10px;margin-bottom:14px}
.axt-urlbar input{flex:1;min-width:0;font-size:18px!important;padding:16px 18px!important;border-radius:14px!important}
.axt-urlbar .ax-btn{flex:0 0 auto}

/* progress */
.axt-progress{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--ink);color:var(--on-dark);border-color:var(--line-d)}
.axt-orbit{position:relative;width:92px;height:92px}
.axt-orbit i{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(92,225,255,.25);border-top-color:var(--signal);animation:axtSpin 1.4s linear infinite}
.axt-orbit i:nth-child(2){inset:14px;animation-duration:2.1s;animation-direction:reverse;border-top-color:#8fa2ff}
.axt-orbit i:nth-child(3){inset:30px;animation-duration:1s;background:radial-gradient(circle,rgba(92,225,255,.35),transparent 70%)}
@keyframes axtSpin{to{transform:rotate(360deg)}}
.axt-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:s}
.axt-steps li{counter-increment:s;display:flex;gap:12px;align-items:center;color:var(--on-dark-3);font-size:15px;transition:color .3s}
.axt-steps li::before{content:counter(s,decimal-leading-zero);font:500 11px var(--f-mono);border:1px solid var(--line-d2);border-radius:999px;padding:3px 8px}
.axt-steps li.is-on{color:#fff}
.axt-steps li.is-on::before{border-color:var(--signal);color:var(--signal);box-shadow:0 0 0 4px rgba(92,225,255,.12)}
.axt-steps li.is-done{color:var(--on-dark-2)}
.axt-steps li.is-done::before{content:"✓";color:#7ee2b8;border-color:rgba(126,226,184,.5)}

/* report */
.axt-result{display:grid;gap:clamp(22px,3vw,34px)}
.axt-result h3{font-size:clamp(20px,2vw,24px);letter-spacing:-.015em;margin:0 0 16px;font-weight:600;color:var(--text)}
.axt-result h4{margin:0 0 8px;font-size:17px;font-weight:600;color:var(--text)}
.axt-result p{margin:0 0 10px;color:var(--text-2);line-height:1.6}
.axt-result ul{margin:8px 0 0;padding-inline-start:18px;color:var(--text-2);line-height:1.55}
.axt-result li{margin:4px 0}
.axt-report-head{background:var(--ink);color:var(--on-dark);border-radius:24px;padding:clamp(24px,4vw,48px);position:relative;overflow:hidden;isolation:isolate}
.axt-report-head::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 85% 10%,rgba(47,75,255,.45),transparent 40%),radial-gradient(circle at 10% 110%,rgba(92,225,255,.18),transparent 45%)}
.axt-report-head .ax-mono{color:var(--signal);margin:0 0 12px}
.axt-report-head h2{color:#fff;font-size:clamp(28px,4vw,46px);line-height:1.05;letter-spacing:-.03em;margin:0 0 14px;max-width:24ch}
.axt-report-head .axt-lede,.axt-report-head .axt-business{color:var(--on-dark-2);font-size:17px;max-width:70ch}
.axt-report-head .axt-business{color:var(--signal-2);font-size:14.5px}
.axt-kpis{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.axt-kpis div{border:1px solid var(--line-d2);border-radius:14px;padding:12px 16px;min-width:130px;background:rgba(255,255,255,.04)}
.axt-kpis span{display:block;font:500 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-3)}
.axt-kpis strong{display:block;margin-top:4px;color:#fff;font-size:20px;font-weight:600}
.axt-result>section,.axt-two>section{background:var(--white);border:1px solid var(--line);border-radius:var(--axt-r);padding:clamp(20px,3vw,32px)}
.axt-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,34px)}
.axt-mt{margin-top:26px!important}
.axt-svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.axt-svc{display:grid;gap:6px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:inherit;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.axt-svc:hover{border-color:var(--cobalt);transform:translateY(-2px);box-shadow:var(--shadow)}
.axt-svc strong{color:var(--text);font-size:16px}
.axt-svc span{color:var(--muted);font-size:14.5px;line-height:1.5}
.axt-svc em{font-style:normal;color:var(--cobalt-2);font-weight:600;font-size:14px}
.axt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.axt-card{position:relative;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.axt-num{font:500 11px var(--f-mono);color:var(--cobalt-2)}
.axt-card h4{margin-top:8px}
.axt-ai{margin-top:12px!important;padding:10px 12px;border-radius:10px;background:var(--cobalt-soft);color:var(--cobalt-2)!important;font-size:14.5px}
.axt-phases{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.axt-phases li{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--paper);margin:0}
.axt-phase-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.axt-phase-head span{font:500 11px var(--f-mono);color:var(--cobalt-2)}
.axt-phase-head h4{margin:0;flex:1}
.axt-phase-head em{font-style:normal;font:500 12px var(--f-mono);color:var(--text);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.axt-pairs{list-style:none;padding:0!important;margin:0}
.axt-pairs li{display:grid;gap:3px;padding:12px 0;border-top:1px solid var(--line-2);margin:0}
.axt-pairs li:first-child{border-top:0;padding-top:0}
.axt-pairs b{color:var(--text)}
.axt-pairs span{color:var(--muted);font-size:14.5px}
.axt-table{width:100%;border-collapse:collapse}
.axt-table th,.axt-table td{padding:12px 10px;border-top:1px solid var(--line-2);text-align:start;vertical-align:top}
.axt-table th{width:28%;font:500 12px var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.axt-table td span{color:var(--muted);font-size:14.5px}
.axt-first{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--on-dark)}
.axt-first .ax-mono{color:var(--signal);margin:0 0 8px}
.axt-first h3{color:#fff}
.axt-first p{color:var(--on-dark-2)}
.axt-toolbar{display:flex;flex-wrap:wrap;gap:10px}
.axt-toolbar .ax-btn--ghost{--b-fg:var(--text);--b-bd:var(--line);background:var(--white)}
.axt-send{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start;background:linear-gradient(135deg,var(--cobalt) 0%,#1726a8 100%)!important;border:0!important;color:#fff}
.axt-send h3{color:#fff}
.axt-send p{color:rgba(255,255,255,.82)}
.axt-send-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.axt-send-form textarea,.axt-send-form .ax-btn,.axt-send-form .axt-sent{grid-column:1/-1}
.axt-send-form input,.axt-send-form textarea{background:#fff!important;border-color:transparent!important}
.axt-send-form textarea{min-height:70px}
.axt-send .ax-btn--solid{--b-bg:#fff;--b-fg:var(--ink);--b-bd:#fff}
.axt-send.is-sent .axt-send-form>*:not(.axt-sent){display:none}
.axt-sent{margin:0;padding:14px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff!important;font-weight:500}
.axt-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;opacity:0!important}

/* X-Ray */
.axt-rings{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 22px;margin-top:26px}
.axt-ring{position:relative;margin:0;display:grid;justify-items:center;gap:6px}
.axt-ring svg{width:84px;height:84px}
.axt-ring--big svg{width:132px;height:132px}
.axt-ring strong{position:absolute;top:0;left:0;right:0;height:84px;display:grid;place-items:center;font-size:22px;color:#fff;font-weight:600}
.axt-ring--big strong{height:132px;font-size:38px}
.axt-ring figcaption{font:500 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.axt-ring-bg{fill:none;stroke:rgba(255,255,255,.1);stroke-width:8}
.axt-ring-fg{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.2,1)}
.axt-ring-fg:not(.is-drawn){stroke-dashoffset:999!important}
.axt-good .axt-ring-fg{stroke:#48e0a4}.axt-mid .axt-ring-fg{stroke:#ffc857}.axt-low .axt-ring-fg{stroke:#ff6b5e}
.axt-fixes{list-style:none;margin:0;padding:0!important;display:grid;gap:10px;counter-reset:f}
.axt-fixes li{counter-increment:f;border:1px solid var(--line);border-inline-start:4px solid var(--muted);border-radius:12px;padding:16px 18px;background:var(--paper);margin:0}
.axt-fixes li.axt-impact-high{border-inline-start-color:#e5484d}
.axt-fixes li.axt-impact-medium{border-inline-start-color:#f5a524}
.axt-fixes li.axt-impact-low{border-inline-start-color:#2fb37b}
.axt-fixes li>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.axt-fixes b{color:var(--text);font-size:16.5px}
.axt-fixes p{margin:6px 0 0}
.axt-pill{font:500 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:var(--white)}
.axt-checks{display:grid;gap:10px}
.axt-check-group{border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden}
.axt-check-group summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;cursor:pointer;font-weight:600;color:var(--text);list-style:none}
.axt-check-group summary::-webkit-details-marker{display:none}
.axt-check-group summary em{font:500 12px var(--f-mono);font-style:normal;color:var(--muted)}
.axt-check-group ul{list-style:none;margin:0;padding:0 18px 12px!important}
.axt-check-group li{display:grid;grid-template-columns:14px 1fr auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line-2);margin:0}
.axt-check-group li i{width:10px;height:10px;border-radius:50%;margin-top:6px;background:#9aa0ab}
.axt-check-group li.axt-pass i{background:#2fb37b}.axt-check-group li.axt-warn i{background:#f5a524}.axt-check-group li.axt-fail i{background:#e5484d}
.axt-check-group li b{display:block;color:var(--text)}
.axt-check-group li span{display:block;color:var(--muted);font-size:14.5px;line-height:1.5;word-break:break-word}
.axt-check-group li em{font:500 11px var(--f-mono);font-style:normal;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.axt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.axt-chips span{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px;background:var(--paper);color:var(--text-2)}

@media (max-width:900px){.axt-grid{grid-template-columns:1fr 1fr}.axt-two,.axt-send{grid-template-columns:1fr}}
@media (max-width:600px){
  .axt-grid{grid-template-columns:1fr}
  .axt-urlbar{flex-direction:column}
  .axt-urlbar .ax-btn{width:100%}
  .axt-progress{grid-template-columns:1fr;justify-items:start}
  .axt-orbit{width:64px;height:64px}
  .axt-send-form{grid-template-columns:1fr}
  .axt-ring svg{width:70px;height:70px}.axt-ring strong{height:70px;font-size:19px}
  .axt-ring--big svg{width:110px;height:110px}.axt-ring--big strong{height:110px;font-size:32px}
  .axt-rings{gap:12px}
  .axt-table th{width:auto;display:block;padding-bottom:0;border:0}
  .axt-table td{display:block;padding-top:4px}
  .axt-table tr{display:block;border-top:1px solid var(--line-2);padding:8px 0}
  .axt-check-group li{grid-template-columns:12px 1fr}
  .axt-check-group li em{grid-column:2}
}
@media (prefers-reduced-motion:reduce){.axt-orbit i{animation:none}.axt-ring-fg{transition:none}}

/* Print / PDF: the report only, on white. */
@media print{
  body *{visibility:hidden!important}
  .axt-result,.axt-result *{visibility:visible!important}
  .axt-result{position:absolute;left:0;top:0;width:100%;gap:14px}
  .axt-toolbar,.axt-send{display:none!important}
  .axt-report-head{background:#fff!important;color:#000!important;border:2px solid #000}
  .axt-report-head *{color:#000!important}
  .axt-ring-bg{stroke:#ddd}
  .axt-result>section,.axt-two>section,.axt-first{break-inside:avoid;background:#fff!important;border:1px solid #bbb!important;color:#000}
  .axt-first *{color:#000!important}
  .axt-check-group{break-inside:avoid}
  .axt-check-group:not([open]) ul{display:block}
  a[href]::after{content:""}
}
