/* /ai-traffic-analytics/block-ai-crawlers/ only: the door, the switchboard, the robots.txt
   tester, the terminal that types and the skyline. */

/* ---------- hero: the door ---------- */
.bk-door{border:1px solid var(--sk-line-2);border-radius:8px;background:var(--sk-deep);overflow:hidden;font:400 .78rem/1.5 var(--sk-mono)}
.bk-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;border-bottom:1px solid var(--sk-line);color:var(--sk-text-3);font-size:.68rem;letter-spacing:.03em}
.bk-btn{flex:none;padding:.25rem .55rem;border:1px solid var(--sk-line-2);border-radius:3px;background:none;color:var(--sk-text-2);font:500 .68rem var(--sk-mono);cursor:pointer}
.bk-stage{position:relative;height:7.6rem;background:linear-gradient(180deg,#121c26,#16222e 78%,#0e161e 78%)}
.bk-lane{position:absolute;left:0;top:0;bottom:0;width:62%;overflow:hidden}
.bk-w{position:absolute;left:0;bottom:1.35rem;display:flex;flex-direction:column;padding:.2rem .45rem;border:1px solid #c6551f;border-radius:4px;background:var(--sk-ai);color:var(--sk-ink);font:700 .62rem/1.25 var(--sk-mono);white-space:nowrap;will-change:transform}
.bk-w small{font-weight:500;font-size:.56rem;opacity:.8}
.bk-w.f{background:#39c2c9;border-color:#2a9298}
.bk-w.pp{background:var(--sk-people-t);border-color:#2a5c8f}
.bk-w.rb{background:#cfd8e2;border-color:#8193a5}
.bk-w.hit{background:#e5484d;border-color:#a3262a;color:#fff}
.bk-wall{position:absolute;left:62%;top:1.5rem;bottom:1.1rem;width:2.2rem;background:repeating-linear-gradient(180deg,#3a4b5c 0 9px,#2c3a48 9px 11px);border-radius:2px}
.bk-frame{position:absolute;left:.2rem;right:.2rem;bottom:0;height:3.9rem;background:#0b1117;border:2px solid #5b6f82;border-bottom:0;border-radius:3px 3px 0 0;perspective:200px}
.bk-leaf{position:absolute;inset:0;background:linear-gradient(90deg,#7a5230,#5c3c22);transform-origin:left center;transition:transform .35s ease}
.bk-door.open .bk-leaf{transform:rotateY(-75deg)}
.bk-no{position:absolute;left:50%;top:.35rem;transform:translateX(-50%);padding:.05rem .3rem;border-radius:3px;background:#3a1a10;color:#ffb38f;font:700 .6rem var(--sk-mono);opacity:.55}
.bk-door.deny .bk-no{animation:bkDeny .9s ease-out}
.bk-door.deny .bk-frame{animation:bkFrame .9s ease-out}
@keyframes bkDeny{0%{opacity:1;background:#e5484d;color:#fff;transform:translateX(-50%) scale(1.35)}100%{opacity:.55}}
@keyframes bkFrame{0%{border-color:#e5484d;box-shadow:0 0 18px rgba(229,72,77,.6)}100%{border-color:#5b6f82;box-shadow:none}}
.bk-room{position:absolute;left:calc(62% + 2.2rem);right:0;top:0;bottom:22%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.4rem;background:radial-gradient(circle at 50% 70%,rgba(57,194,201,.12),transparent 70%)}
.bk-room span{color:var(--sk-text-4);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.bk-room::before{content:'';position:absolute;left:50%;top:1rem;width:2.6rem;height:3.1rem;transform:translateX(-50%);border:1px solid #4a5d70;border-radius:3px;background:repeating-linear-gradient(180deg,transparent 0 6px,rgba(207,216,226,.18) 6px 7px) .4rem .5rem/1.8rem 2.2rem no-repeat,#1a2632;box-shadow:.35rem .35rem 0 -1px #13202b,.35rem .35rem 0 0 #4a5d70}
.bk-log{margin:0;padding:.4rem 0;list-style:none;border-top:1px solid var(--sk-line)}
.bk-log li{display:grid;grid-template-columns:7.2rem minmax(0,1fr) auto;gap:.6rem;align-items:baseline;padding:.28rem .9rem;color:var(--sk-text-2)}
.bk-log li.new{animation:bkNew .5s ease-out}
@keyframes bkNew{from{background:rgba(237,103,41,.18)}to{background:transparent}}
.bk-log code{font:600 .72rem var(--sk-mono);color:var(--sk-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-log span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sk-text-3)}
.bk-log em{font-style:normal;font-size:.66rem;padding:.05rem .4rem;border-radius:3px;white-space:nowrap}
.bk-log .ok em{background:#123323;color:#8fe3b4}
.bk-log .pp em{background:#13263c;color:#a9c8ee}
.bk-log .no em{background:#3a1a10;color:#ffb38f}
.bk-tally{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--sk-line)}
.bk-tally div{padding:.55rem .9rem;border-left:1px solid var(--sk-line)}
.bk-tally div:first-child{border-left:0}
.bk-tally dt{font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sk-text-4)}
.bk-tally dd{margin:0;font:800 1.3rem var(--sk-disp);color:#8fe3b4}
.bk-tally div+div dd{color:#ffb38f}

/* ---------- 01: switchboard ---------- */
.bk-sww{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.5rem;align-items:start;margin-top:1.6rem}
.bk-sw{display:grid;gap:1rem}
.bk-co{padding:.9rem 1rem;border:1px solid var(--sk-line-2);border-radius:8px;background:var(--sk-ink-2)}
.bk-coh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding-bottom:.7rem;border-bottom:1px solid var(--sk-line)}
.bk-coh h3{margin:0;font:800 1.15rem var(--sk-disp);color:var(--sk-text)}
.bk-ms .seg{font-size:.78rem;padding:.4rem .7rem}
.bk-rows{margin:0;padding:0;list-style:none}
.bk-cr{display:grid;grid-template-columns:minmax(0,1fr) auto 8.6rem;gap:.4rem .8rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--sk-line)}
.bk-cr:first-child{border-top:0}
.bk-nm b{display:block;font:600 .82rem var(--sk-mono);color:var(--sk-text)}
.bk-nm small{font-size:.7rem;color:var(--sk-text-4)}
.bk-cr:not([data-state="as"]) .bk-nm b::after{content:'own setting';margin-left:.45rem;padding:.02rem .35rem;border:1px solid #6a5418;border-radius:3px;color:#f2c55c;font:500 .58rem var(--sk-mono);vertical-align:.1rem}
.bk-ov{padding:2px}
.bk-ov .seg{padding:.28rem .5rem;font-size:.68rem}
.bk-lamp{display:flex;align-items:center;gap:.45rem;font:600 .72rem var(--sk-mono);color:var(--sk-text-2)}
.bk-lamp::before{content:'';flex:none;width:.7rem;height:.7rem;border-radius:50%;background:#2c8a5a;box-shadow:0 0 8px #2c8a5a}
.bk-cr[data-eff="allow"] .bk-lamp{color:#8fe3b4}
.bk-cr[data-eff="block"] .bk-lamp{color:#ffb38f}
.bk-cr[data-eff="block"] .bk-lamp::before{background:#e5484d;box-shadow:0 0 10px #e5484d}
.bk-cr[data-eff="ask"] .bk-lamp{color:#f2c55c}
.bk-cr[data-eff="ask"] .bk-lamp::before{background:#eda100;box-shadow:0 0 8px #eda100}
.bk-lamp.flip::before{animation:bkLamp .5s ease-out}
@keyframes bkLamp{0%{transform:scale(1.8)}100%{transform:none}}
.bk-out{position:sticky;top:6rem;padding:1.1rem 1.2rem;border:1px solid var(--sk-line-2);border-radius:8px;background:var(--sk-ink)}
.bk-k{margin:0 0 .4rem;font:500 .64rem var(--sk-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sk-text-4)}
.bk-big{margin:0;color:var(--sk-text-2);font-size:.95rem}
.bk-big b{font:800 2.4rem/1 var(--sk-disp);color:#ffb38f;margin-right:.3rem}
.bk-say{margin:.9rem 0 1rem;font-size:.86rem;line-height:1.55;color:var(--sk-text-2)}
.bk-out pre{max-height:17rem;overflow:auto;white-space:pre;font-size:.76rem;line-height:1.55}

/* ---------- 02: robots.txt tester ---------- */
.bk-rtw{margin-top:1.6rem}
.bk-rt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:1.2rem;align-items:start}
.bk-ed span{display:block;margin-bottom:.4rem;font:500 .66rem var(--sk-mono);letter-spacing:.06em;text-transform:uppercase;color:#6b7785}
.bk-ed textarea{display:block;width:100%;min-height:15rem;padding:.8rem .9rem;border:0;border-radius:8px;background:var(--sk-paper-ink);color:#dfe7ee;font:400 .82rem/1.6 var(--sk-mono);resize:vertical;tab-size:2}
.bk-ed textarea:focus{outline:2px solid var(--sk-ai);outline-offset:2px}
.bk-jd{padding:.9rem 1rem;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(23,33,43,.1);overflow-x:auto}
.bk-tbl{width:100%;border-collapse:collapse;font:400 .76rem var(--sk-mono);color:var(--sk-paper-ink)}
.bk-tbl th{padding:.35rem .4rem;border-bottom:1px solid var(--sk-paper-line);font-weight:500;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:#6b7785;text-align:left}
.bk-tbl td{padding:.45rem .4rem;border-bottom:1px solid #eef0f2;white-space:nowrap}
.bk-tbl td:nth-child(3){text-align:right}
.bk-tbl td:last-child span,.bk-tbl td:last-child{font-weight:600}
.bk-tbl tr.ok td:last-child{color:#2c8a5a}
.bk-tbl tr.no td:last-child{color:#b0401a}
.bk-tbl tr.no{background:#fff3ec}
.bk-tbl tr.chg td{animation:bkChg .6s ease-out}
@keyframes bkChg{from{background:#ffe0a8}to{background:transparent}}
.bk-sum{margin:.8rem 0 0;font-size:.86rem;color:var(--sk-paper-ink-2)}
.bk-sum b{font:800 1.1rem var(--sk-disp);color:#b0401a}
.bk-say2{margin:1rem 0 0;padding:.9rem 1.1rem;border-left:4px solid var(--sk-ai);border-radius:6px;background:#fff;color:var(--sk-paper-ink-2);line-height:1.55;max-width:48rem}

/* ---------- 03: terminal that types ---------- */
.bk-tm{border:1px solid var(--sk-line-2);border-radius:8px;background:#0a0f14;overflow:hidden}
.bk-tbar{display:flex;align-items:center;gap:.35rem;padding:.55rem .8rem;border-bottom:1px solid var(--sk-line);background:#121a22}
.bk-tbar i{width:.6rem;height:.6rem;border-radius:50%;background:#3a4b5c}
.bk-tbar span{margin-left:.5rem;font:500 .64rem var(--sk-mono);color:var(--sk-text-4)}
.bk-tty{min-height:19rem;margin:0;padding:.9rem 1rem;font:400 .72rem/1.65 var(--sk-mono);color:#cfd8e2;white-space:pre-wrap;overflow-wrap:anywhere}
.bk-tty .c{color:#6b8196}
.bk-tty .p{color:var(--sk-ai);font-weight:700}
.bk-tty .g{color:#8fe3b4}
.bk-tty .r{color:#ff8f86}
.bk-tty.typing::after{content:'';display:inline-block;width:.5rem;height:.95rem;margin-left:1px;vertical-align:-.15rem;background:#cfd8e2;animation:bkCur .8s steps(1) infinite}
@keyframes bkCur{50%{opacity:0}}
.bk-st{padding:.8rem 1rem;border-top:1px solid var(--sk-line);background:#0f1720}
.bk-st p{margin:0;padding:.45rem .7rem;border-radius:5px;background:#123323;color:#8fe3b4;font:600 .8rem/1.45 var(--sk-sans);overflow-wrap:anywhere}
.bk-tm[data-state="bad"] .bk-st p{background:#3a1a10;color:#ffb38f}
.bk-st.wait p{background:#2d2610;color:#f2c55c}
.bk-facts{margin:1.4rem 0 0;padding:0;list-style:none}
.bk-facts li{padding:.55rem 0;border-top:1px solid var(--sk-line);color:var(--sk-text-2);line-height:1.5}
.bk-facts b{color:var(--sk-text)}

/* ---------- 04: skyline ---------- */
.bk-skw{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.5rem;align-items:end;margin-top:1.6rem}
.bk-sky{padding:1rem 1rem .6rem;border:1px solid var(--sk-line-2);border-radius:8px;background:linear-gradient(180deg,#0b1220,#152234 70%)}
.bk-city{display:flex;align-items:flex-end;gap:.3rem;height:21rem;margin:0;padding:0;list-style:none}
.bk-tw{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:stretch}
.bk-bld{position:relative;display:block;border-bottom:4px solid #c6551f;height:calc(var(--h) * 11.5rem + 1.2rem);border-radius:2px 2px 0 0;background:repeating-linear-gradient(180deg,transparent 0 5px,#0d1520 5px 8px),repeating-linear-gradient(90deg,#f2c55c 0 5px,#2a3542 5px 8px);background-color:#2a3542;box-shadow:inset 0 0 0 1px #3a4b5c;transition:filter .5s ease calc(var(--i) * 60ms),opacity .5s ease calc(var(--i) * 60ms)}
.bk-bld i{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);padding-bottom:.15rem;font:600 .58rem var(--sk-mono);font-style:normal;color:var(--sk-text-3);white-space:nowrap}
.bk-tw b{display:block;height:7.6rem;margin-top:.4rem;font:500 .62rem var(--sk-mono);color:var(--sk-text-3);writing-mode:vertical-rl;transform:rotate(180deg);text-align:right;white-space:nowrap;align-self:center}
.bk-tw[data-tier="index"] .bk-bld{border-bottom-color:#39c2c9}
.bk-tw[data-tier="asked"] .bk-bld{border-bottom-color:var(--sk-people-t)}
.bk-sky[data-state="train"] [data-tier="training"] .bk-bld,
.bk-sky[data-state="block"] .bk-bld,
.bk-sky[data-state="keep"] [data-tier="training"] .bk-bld,.bk-sky[data-state="keep"] [data-tier="index"] .bk-bld{filter:grayscale(1) brightness(.32);opacity:.8}
.bk-sky[data-state="train"] [data-tier="training"] i,.bk-sky[data-state="block"] i,
.bk-sky[data-state="keep"] [data-tier="training"] i,.bk-sky[data-state="keep"] [data-tier="index"] i{color:#ff8f86;text-decoration:line-through}
.bk-grd{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.7rem 0 0;font:500 .64rem var(--sk-mono);color:var(--sk-text-3)}
.bk-grd span::before{content:'';display:inline-block;width:.7rem;height:.7rem;margin-right:.35rem;vertical-align:-.1rem;border-radius:2px;background:#c6551f}
.bk-grd span:nth-child(2)::before{background:#39c2c9}
.bk-grd span:nth-child(3)::before{background:var(--sk-people-t)}
.bk-read{padding:1.1rem 1.2rem;border:1px solid var(--sk-line-2);border-radius:8px;background:var(--sk-ink)}
.bk-read dl{display:grid;gap:.7rem;margin:0 0 1rem}
.bk-read dt{font:500 .62rem var(--sk-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sk-text-4)}
.bk-read dd{margin:0;font:800 1.9rem/1.1 var(--sk-disp);color:#f2c55c}
.bk-read .lo dd{color:#ffb38f}
.bk-read .as dd{color:#a9c8ee}
.bk-read p{margin:0;font-size:.88rem;line-height:1.55;color:var(--sk-text-2)}

@media (max-width:980px){
  .bk-sww,.bk-rt,.bk-skw{grid-template-columns:minmax(0,1fr)}
  .bk-out{position:static}
}
@media (max-width:640px){
  .bk-cr{grid-template-columns:auto minmax(0,1fr)}
  .bk-ov{flex-wrap:nowrap}
  .bk-nm{grid-column:1 / -1}
  .bk-ov .seg{padding:.26rem .4rem;font-size:.64rem}
  .bk-lamp{font-size:.66rem}
  .bk-log li{grid-template-columns:minmax(0,1fr) auto;gap:.1rem .6rem}
  .bk-log span{grid-column:1;grid-row:2;font-size:.68rem}
  .bk-log em{grid-row:1 / span 2;align-self:center}
  .bk-city{gap:.15rem;height:21rem}
  .bk-tw b{font-size:.56rem;height:6.8rem}
  .bk-bld i{font-size:.5rem}
  .bk-tty{min-height:0;font-size:.66rem}
  .bk-bar span{font-size:.6rem}
}
@media (prefers-reduced-motion:reduce){
  .bk-bld{transition:none}
  .bk-leaf{transition:none}
}
