/* app_guides, pyRevit MCP: the guide's own look, ported from P36's app_guide/styles.css (inbox 0432).
   P36's layout, cards, buttons and What-is-MCP animations, worn in the platform's kit: brand.css
   tokens only, Nunito and Geist Mono, dark; the sign-off is the shell's (app_shell/sign.html). Every selector sits under
   .gd[data-guide="pyrevit-mcp"], every class is pm- (gd- belongs to the frame, plain words to the
   shell), every breakpoint is a container query against .gd. P36's own chrome (topbar, logo, the
   fixed progress bar, the grid and glow stage, its dialogs) stays behind: the frame and the shell
   own those jobs here. */

/* the category colours of the tool groups: the site's category dots, orange for full power */
.gd[data-guide="pyrevit-mcp"]{--pm-read:var(--c-docs);--pm-create:var(--green);--pm-modify:var(--red);--pm-docs:var(--c-forum)}
.gd[data-guide="pyrevit-mcp"] .gd-page:not([hidden]){animation:pm-in .35s ease}
@keyframes pm-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* the links of the prose: zero class weight, so the shell's .btn and every pm- rule still win */
:where(.gd[data-guide="pyrevit-mcp"] .gd-page) a{color:var(--acc)}
:where(.gd[data-guide="pyrevit-mcp"] .gd-page) a:hover{color:var(--acc2)}
.gd[data-guide="pyrevit-mcp"] .pm-mono{font-family:var(--fm)}
/* an answer Erik writes in edit mode marks its code as a bare <code> (0605): it wears the chip too */
.gd[data-guide="pyrevit-mcp"] :is(.pm-ic,.faq code){font:500 .86em var(--fm);font-variant-ligatures:none;background:var(--s2);border:1px solid var(--hl1);
  padding:1px 6px;border-radius:5px;color:var(--acc2);overflow-wrap:anywhere}
.gd[data-guide="pyrevit-mcp"] .pm-v{color:var(--green);font-family:var(--fm);font-weight:700;flex:none}

/* ---------- layout and type ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-wrap{max-width:1080px;margin:0 auto}
.gd[data-guide="pyrevit-mcp"] .pm-wrap-xl{max-width:1320px}
.gd[data-guide="pyrevit-mcp"] .pm-gsection{padding:calc(var(--secpad) * 1.1) 0 20px}
.gd[data-guide="pyrevit-mcp"] .pm-gsection.pm-first{padding-top:calc(var(--secpad) * .6)}
.gd[data-guide="pyrevit-mcp"] .pm-sect-head{margin-bottom:36px}
.gd[data-guide="pyrevit-mcp"] .pm-sect-head .gd-chips{margin:22px 0 0}
.gd[data-guide="pyrevit-mcp"] .pm-h2{font:800 clamp(1.75rem,3.4cqw,2.5rem)/1.1 var(--fd);letter-spacing:-.02em;margin:0 0 14px}
.gd[data-guide="pyrevit-mcp"] .pm-h2-note{font-size:.45em;font-weight:500;color:var(--faint);letter-spacing:0}
/* the house eyebrow, with P36's kicker words kept and the house's // in front */
.gd[data-guide="pyrevit-mcp"] .pm-kick{text-transform:uppercase}
.gd[data-guide="pyrevit-mcp"] .pm-kick::before{content:"// "}
.gd[data-guide="pyrevit-mcp"] .lead{max-width:680px}
.gd[data-guide="pyrevit-mcp"] .lead strong{color:var(--ink);font-weight:700}
.gd[data-guide="pyrevit-mcp"] .lead .hl{font-weight:700}

/* ---------- hero: title, the click-to-load video, two buttons ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-hero{padding:calc(var(--secpad) * .7) 0 20px;text-align:center}
.gd[data-guide="pyrevit-mcp"] .pm-hero .pm-wrap{display:flex;flex-direction:column;align-items:center;gap:28px}
.gd[data-guide="pyrevit-mcp"] .pm-hero-title{font:800 clamp(2.2rem,5.4cqw,3.6rem)/1.06 var(--fd);letter-spacing:-.03em}
.gd[data-guide="pyrevit-mcp"] .pm-hero-title-sub{display:block;font:700 clamp(1.1rem,2.2cqw,1.6rem)/1.3 var(--fd);letter-spacing:-.01em;
  color:var(--dim);margin-top:10px}
.gd[data-guide="pyrevit-mcp"] .pm-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.gd[data-guide="pyrevit-mcp"] .pm-cta-end{margin-top:56px}
/* the site's own buttons as the shell draws them: no lift, no glow (Erik's review, 0432) */
.gd[data-guide="pyrevit-mcp"] .btn{display:inline-block}
/* no frame of YouTube's on the page before the click: a poster button, the iframe on the click */
.gd[data-guide="pyrevit-mcp"] .pm-video{width:min(800px,100%);aspect-ratio:16/9;border:1px solid var(--hl2);border-radius:var(--rc);overflow:hidden;
  background:var(--canvas);box-shadow:0 22px 46px -22px rgb(from var(--canvas) r g b / .75)}
.gd[data-guide="pyrevit-mcp"] .pm-video iframe,.gd[data-guide="pyrevit-mcp"] .pm-yt{display:block;width:100%;height:100%;border:0}
.gd[data-guide="pyrevit-mcp"] .pm-yt{position:relative;padding:0;background:var(--canvas);cursor:pointer}
.gd[data-guide="pyrevit-mcp"] .pm-yt img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .16s}
.gd[data-guide="pyrevit-mcp"] .pm-yt-glyph{position:absolute;inset:0;margin:auto;width:64px;height:64px;display:grid;place-items:center;
  border-radius:50%;background:var(--acc);color:var(--acc-ink);transition:background .16s,transform .16s}
.gd[data-guide="pyrevit-mcp"] .pm-yt-glyph svg{width:26px;height:26px;fill:currentColor;margin-left:3px}
.gd[data-guide="pyrevit-mcp"] .pm-yt:hover img{opacity:1}
.gd[data-guide="pyrevit-mcp"] .pm-yt:hover .pm-yt-glyph{background:var(--acc2);transform:scale(1.06)}
.gd[data-guide="pyrevit-mcp"] .pm-yt:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
/* a [data-play] poster (the shell's player, 0513) covers its frame while it loads: this file's relative would push it below */
.gd[data-guide="pyrevit-mcp"] .pm-yt[data-state]{position:absolute;inset:0}

/* ---------- the checklist card and the progress tracks (Erik's review, 0432: gray words, the site's squares) ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-todo-card{background:var(--s1);border:1px solid var(--hl2);border-radius:var(--r);padding:26px 28px 12px}
.gd[data-guide="pyrevit-mcp"] .pm-todo-title{font-size:clamp(1.35rem,2.6cqw,1.85rem);margin:0 0 12px}
.gd[data-guide="pyrevit-mcp"] .pm-todo-progress{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.gd[data-guide="pyrevit-mcp"] .pm-count{font:500 12px/1 var(--fm);color:var(--faint)}
.gd[data-guide="pyrevit-mcp"] .pm-count strong{color:var(--dim)}
/* the courses' export bar: a flat track, a flat fill */
.gd[data-guide="pyrevit-mcp"] .pm-steps-track{flex:1;max-width:300px;height:5px;background:var(--xbar-track);border-radius:4px;overflow:hidden}
.gd[data-guide="pyrevit-mcp"] .pm-fill{height:100%;width:0;background:var(--xbar-fill);border-radius:4px;transition:width .4s ease}
.gd[data-guide="pyrevit-mcp"] .pm-steps-meta{display:flex;align-items:center;gap:14px;margin-top:20px}
.gd[data-guide="pyrevit-mcp"] .pm-todo-row{display:flex;align-items:center;gap:16px;border-top:1px solid var(--hl1)}
.gd[data-guide="pyrevit-mcp"] .pm-todo-hit{flex:1;min-width:0;display:flex;align-items:flex-start;gap:14px;cursor:pointer;padding:14px 0;user-select:none}
.gd[data-guide="pyrevit-mcp"] .pm-todo-name{display:block;font:600 .98rem/1.4 var(--fd);color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-todo-desc{display:block;font-size:.85rem;line-height:1.5;color:var(--dim);margin-top:2px}
.gd[data-guide="pyrevit-mcp"] .pm-todo-hit:hover .pm-todo-name{color:var(--dim2)}
.gd[data-guide="pyrevit-mcp"] .pm-todo-row.pm-done .pm-todo-name{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--hl3)}
.gd[data-guide="pyrevit-mcp"] .pm-todo-row.pm-done .pm-todo-desc{opacity:.6}
/* the separator draws its own lines: the row under it needs no second one */
.gd[data-guide="pyrevit-mcp"] .pm-todo-sep + .pm-todo-row{border-top:0}
/* the tick: the input stays for the keyboard and the label, the square after it is what shows.
   Gray not started, green with the tick done: the courses' square language (.sq), at this size */
.gd[data-guide="pyrevit-mcp"] :is(.pm-todo-hit,.pm-step-done){position:relative}
.gd[data-guide="pyrevit-mcp"] :is(.pm-todo-hit,.pm-step-done) input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.gd[data-guide="pyrevit-mcp"] .pm-box{position:relative;flex:none;width:18px;height:18px;border-radius:5px;background:var(--sq-gray);
  border:1px solid var(--hl2);transition:background .15s,border-color .15s}
.gd[data-guide="pyrevit-mcp"] .pm-todo-hit .pm-box{margin-top:2px}
.gd[data-guide="pyrevit-mcp"] .pm-box svg{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .15s}
.gd[data-guide="pyrevit-mcp"] .pm-box path{fill:none;stroke:var(--tr-ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.gd[data-guide="pyrevit-mcp"] :is(.pm-todo-hit,.pm-step-done):hover .pm-box{border-color:var(--hl3)}
.gd[data-guide="pyrevit-mcp"] input:checked + .pm-box{background:var(--sq-green);border-color:transparent}
.gd[data-guide="pyrevit-mcp"] input:checked + .pm-box svg{opacity:1}
.gd[data-guide="pyrevit-mcp"] input:focus-visible + .pm-box{outline:2px solid var(--acc);outline-offset:2px}
.gd[data-guide="pyrevit-mcp"] .pm-todo-sep{display:flex;align-items:center;gap:12px;padding:18px 0 12px;font:600 9.5px/1 var(--fm);
  letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.gd[data-guide="pyrevit-mcp"] .pm-todo-sep::before,.gd[data-guide="pyrevit-mcp"] .pm-todo-sep::after{content:"";flex:1;height:1px;background:var(--hl2)}
.gd[data-guide="pyrevit-mcp"] .pm-get{flex:none;font:600 10px/1 var(--fm);letter-spacing:.1em;color:var(--faint);border:1px solid var(--hl2);
  padding:7px 10px;border-radius:6px;text-decoration:none;white-space:nowrap;transition:border-color .2s,color .2s}
.gd[data-guide="pyrevit-mcp"] .pm-get:hover{border-color:var(--acc);color:var(--acc)}

/* ---------- What is MCP: the lead, the analogy list, the workers ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-what-lead{margin-bottom:38px}
.gd[data-guide="pyrevit-mcp"] .pm-src-note{font:500 10.5px/1.4 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
.gd[data-guide="pyrevit-mcp"] .pm-what-list{list-style:none;margin:16px 0 10px;padding:0;counter-reset:pm-wl;max-width:760px}
.gd[data-guide="pyrevit-mcp"] .pm-what-list li{position:relative;padding:6px 0 6px 32px;color:var(--dim);line-height:1.6}
.gd[data-guide="pyrevit-mcp"] .pm-what-list li::before{counter-increment:pm-wl;content:counter(pm-wl) ".";position:absolute;left:4px;
  font:700 1em var(--fm);color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-what-list strong{color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-what-joke{font:400 12.5px/1.5 var(--fm);color:var(--dim);margin:8px 0 40px}
.gd[data-guide="pyrevit-mcp"] .pm-what-joke::before{content:"# "}
.gd[data-guide="pyrevit-mcp"] .pm-read{--pm-tc:var(--pm-read)}
.gd[data-guide="pyrevit-mcp"] .pm-create{--pm-tc:var(--pm-create)}
.gd[data-guide="pyrevit-mcp"] .pm-modify{--pm-tc:var(--pm-modify)}
.gd[data-guide="pyrevit-mcp"] .pm-docs{--pm-tc:var(--pm-docs)}
.gd[data-guide="pyrevit-mcp"] .pm-power{--pm-tc:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-workers{display:grid;gap:6px;margin-top:4px}
.gd[data-guide="pyrevit-mcp"] .pm-worker{display:flex;align-items:baseline;gap:12px;padding:8px 13px;border-radius:8px;font-size:.8rem;
  background:color-mix(in srgb,var(--pm-tc) 8%,transparent);border:1px solid color-mix(in srgb,var(--pm-tc) 24%,transparent)}
/* never a surface of flat transparent orange (brand.css): full power states it on the border alone, no glow (0432) */
.gd[data-guide="pyrevit-mcp"] .pm-worker.pm-power{background:var(--s3);border-color:rgb(from var(--acc) r g b / .45)}
.gd[data-guide="pyrevit-mcp"] .pm-worker strong{font:700 11.5px/1.4 var(--fm);color:var(--pm-tc);white-space:nowrap}
.gd[data-guide="pyrevit-mcp"] .pm-worker span{color:var(--dim)}

/* ---------- the MCP diagram: three cards, animated dashed connectors, the tools card below ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-mcpx{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1.14fr) 100px minmax(0,1fr);gap:12px;align-items:start}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-card{min-width:0;background:var(--s2);border:1px solid rgb(from var(--acc) r g b / .28);border-radius:var(--r);
  padding:18px;transition:border-color .25s,transform .25s}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-card:hover{border-color:rgb(from var(--acc) r g b / .55);transform:translateY(-2px)}
/* fill the grid row so the vertical connector starts exactly at the card border */
.gd[data-guide="pyrevit-mcp"] .pm-mcpx > .pm-mcpx-card{align-self:stretch}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-vwrap{grid-column:3;display:flex;justify-content:center;margin:-12px 0}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-vline{flex:none;width:2px;height:50px;margin:0 auto;opacity:.75;
  background-image:repeating-linear-gradient(180deg,var(--acc) 0 6px,transparent 6px 12px);background-size:2px 12px;
  background-repeat:repeat-y;animation:pm-dash-down .9s linear infinite}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-toolsbig{grid-column:1 / -1;width:min(100%,820px);justify-self:center}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-num{width:24px;height:24px;flex:none;display:grid;place-items:center;border-radius:7px;background:var(--s3);
  border:1px solid var(--hl2);font:700 12px/1 var(--fm);color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-ico{flex:none;width:19px;height:19px;color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-ico svg{width:100%;height:100%;display:block}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-logo{flex:none;width:19px;height:19px;object-fit:contain;display:block}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-title{font:700 12.5px/1.3 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-sub{font-size:12px;line-height:1.5;color:var(--faint);margin:2px 0 12px}
.gd[data-guide="pyrevit-mcp"] .pm-wh{color:var(--ink);font-weight:600}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-convo{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-chat{margin-bottom:12px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-person{flex:none;width:34px;height:34px;color:var(--dim);margin-top:6px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-bubble{flex:1;display:grid;gap:6px;background:var(--s3);border:1px solid var(--hl2);border-radius:12px;
  border-top-left-radius:4px;padding:10px 13px;font-size:12.3px;color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-bubble div::before{content:"• ";color:var(--faint)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-foot{font-size:11.5px;color:var(--faint);margin:0 0 10px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-ais{display:flex;gap:16px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-ai{display:flex;flex-direction:column;align-items:center;gap:6px;font:500 9.5px/1 var(--fm);color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-ai img{width:42px;height:42px;border-radius:11px;display:block}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-rows{display:grid;gap:6px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-row{display:flex;gap:10px;align-items:flex-start;background:var(--s3);border:1px solid var(--hl1);border-radius:8px;
  padding:8px 11px;font-size:12.3px;line-height:1.5;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-row svg{flex:none;width:15px;height:15px;color:var(--acc);margin-top:2px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-row strong{color:var(--ink);font-weight:700}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-note{margin-top:12px;font:500 9px/1.4 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-checks{display:grid;gap:7px}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-check{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink)}
/* the duplex connectors: forward dashes run right, the answer runs left */
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-duplex{display:flex;flex-direction:column;justify-content:center;gap:30px;padding-top:64px;margin:0 -12px}
.gd[data-guide="pyrevit-mcp"] .pm-dx{display:flex;flex-direction:column;gap:5px}
.gd[data-guide="pyrevit-mcp"] .pm-dx-lbl{font:500 9px/1.2 var(--fm);letter-spacing:.05em;text-transform:uppercase;color:var(--acc);text-align:center;white-space:nowrap}
.gd[data-guide="pyrevit-mcp"] .pm-dx-line{position:relative;height:2px;opacity:.75;
  background-image:repeating-linear-gradient(90deg,var(--acc) 0 7px,transparent 7px 14px)}
.gd[data-guide="pyrevit-mcp"] .pm-fwd .pm-dx-line{animation:pm-dash-fwd .9s linear infinite}
.gd[data-guide="pyrevit-mcp"] .pm-back .pm-dx-line{animation:pm-dash-back .9s linear infinite}
.gd[data-guide="pyrevit-mcp"] .pm-fwd .pm-dx-line::after,.gd[data-guide="pyrevit-mcp"] .pm-back .pm-dx-line::after{position:absolute;top:50%;transform:translateY(-50%);
  color:var(--acc);font-size:12px;line-height:1}
.gd[data-guide="pyrevit-mcp"] .pm-fwd .pm-dx-line::after{content:"▸";right:-5px}
.gd[data-guide="pyrevit-mcp"] .pm-back .pm-dx-line::after{content:"◂";left:-5px}
@keyframes pm-dash-fwd{to{background-position:14px 0}}
@keyframes pm-dash-back{to{background-position:-14px 0}}
@keyframes pm-dash-down{to{background-position:0 12px}}

/* ---------- the tool groups: a card per category, its colour on the whole perimeter ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-toolgroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:6px}
.gd[data-guide="pyrevit-mcp"] .pm-tg-stack{display:grid;gap:12px;align-content:start}
.gd[data-guide="pyrevit-mcp"] .pm-tg{background:var(--s3);border:1px solid color-mix(in srgb,var(--pm-tc) 30%,transparent);border-radius:var(--rc);padding:13px 14px}
.gd[data-guide="pyrevit-mcp"] .pm-tg-name{font:700 10px/1.3 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--pm-tc);margin-bottom:9px}
.gd[data-guide="pyrevit-mcp"] .pm-tg-list{display:grid;gap:5px}
.gd[data-guide="pyrevit-mcp"] .pm-tgpill{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:7px;min-width:0;
  font:500 11px/1.4 var(--fm);font-variant-ligatures:none;color:var(--pm-tc);overflow-wrap:anywhere;
  background:color-mix(in srgb,var(--pm-tc) 8%,transparent);border:1px solid color-mix(in srgb,var(--pm-tc) 24%,transparent);
  transition:border-color .15s,background .15s}
.gd[data-guide="pyrevit-mcp"] .pm-tgpill:hover{border-color:var(--pm-tc);background:color-mix(in srgb,var(--pm-tc) 15%,transparent)}
.gd[data-guide="pyrevit-mcp"] .pm-tgpill i{font-style:normal;font-size:8.5px;font-weight:700;opacity:.75;flex:none}
/* execute_revit_code: the pill inside a ring that spins */
@property --pm-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.gd[data-guide="pyrevit-mcp"] .pm-exec-wrap{display:block;margin-top:4px;border-radius:9px;padding:1.5px;
  background:conic-gradient(from var(--pm-ang),rgb(from var(--acc) r g b / .18) 0%,var(--acc) 14%,rgb(from var(--acc) r g b / .18) 30%);
  animation:pm-ring 3.2s linear infinite}
@keyframes pm-ring{to{--pm-ang:360deg}}
.gd[data-guide="pyrevit-mcp"] .pm-tg.pm-power .pm-exec-wrap{margin-top:0}
.gd[data-guide="pyrevit-mcp"] .pm-tgpill.pm-exec-mini{--pm-tc:var(--acc);flex-wrap:wrap;overflow-wrap:normal;border:none;border-radius:7.5px;background:var(--s2);color:var(--acc);font-weight:700;cursor:help}
.gd[data-guide="pyrevit-mcp"] .pm-exec-mini em{margin-left:auto;font:700 7.5px/1 var(--fm);font-style:normal;letter-spacing:.14em;color:var(--acc);opacity:.75;white-space:nowrap}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-legend{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:16px;
  font:600 9.5px/1 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-legend i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:7px}
.gd[data-guide="pyrevit-mcp"] .pm-l-read{background:var(--pm-read)}
.gd[data-guide="pyrevit-mcp"] .pm-l-create{background:var(--pm-create)}
.gd[data-guide="pyrevit-mcp"] .pm-l-modify{background:var(--pm-modify)}
.gd[data-guide="pyrevit-mcp"] .pm-l-docs{background:var(--pm-docs)}
.gd[data-guide="pyrevit-mcp"] .pm-l-power{background:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-mcpx-legend .pm-l-hint{color:var(--faint);text-transform:none;font-weight:400;letter-spacing:.05em}
/* the tool pills say their words through the shell's one tooltip (any [data-tip], 0440): only the cursor here */
.gd[data-guide="pyrevit-mcp"] [data-tip]{cursor:help}
/* the three ticks under the diagram: the shell's .card, P36's words */
.gd[data-guide="pyrevit-mcp"] .pm-tick-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:44px}
.gd[data-guide="pyrevit-mcp"] .pm-tick{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;text-align:center;
  font:600 11.5px/1.4 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}

/* ---------- step cards ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-step-card{position:relative;margin-top:28px;padding:28px 32px;border:1px solid var(--hl2);border-radius:var(--r);
  background:var(--s1);transition:border-color .3s}
.gd[data-guide="pyrevit-mcp"] .pm-step-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--hl1)}
.gd[data-guide="pyrevit-mcp"] .pm-step-num{font:700 12px/1 var(--fm);letter-spacing:.14em;color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-step-head h3{margin:0;font-size:clamp(1.15rem,2.2cqw,1.5rem);letter-spacing:-.015em}
.gd[data-guide="pyrevit-mcp"] .pm-step-done{position:relative;margin-left:auto;display:inline-flex;align-items:center;gap:9px;
  font:600 10.5px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);cursor:pointer;user-select:none;transition:color .2s}
.gd[data-guide="pyrevit-mcp"] .pm-step-done:hover{color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-step-card.pm-done .pm-step-done{color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-step-card.pm-done .pm-step-body{opacity:.55}
.gd[data-guide="pyrevit-mcp"] .pm-step-gap{color:var(--acc);text-align:center;margin:44px 0 0}
.gd[data-guide="pyrevit-mcp"] .pm-phase-title{font:800 clamp(1.6rem,3.2cqw,2.4rem)/1.15 var(--fd);letter-spacing:-.02em;color:var(--faint);margin:72px 0 0}
.gd[data-guide="pyrevit-mcp"] .pm-ph-num{display:block;font-size:.42em;letter-spacing:.18em;margin-bottom:6px}
.gd[data-guide="pyrevit-mcp"] .pm-step-body{margin-top:16px;font-size:.95rem;line-height:1.65;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-step-body p{margin:10px 0}
.gd[data-guide="pyrevit-mcp"] .pm-step-body strong{color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-step-body a,.gd[data-guide="pyrevit-mcp"] .pm-linkish{color:var(--acc2);text-decoration:underline dotted;text-underline-offset:3px}
.gd[data-guide="pyrevit-mcp"] .pm-step-body a:hover,.gd[data-guide="pyrevit-mcp"] .pm-linkish:hover{color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-linkish{background:none;border:none;padding:0;font:inherit;cursor:pointer}
.gd[data-guide="pyrevit-mcp"] .pm-step-body ul{list-style:none;margin:10px 0;padding:0}
.gd[data-guide="pyrevit-mcp"] .pm-step-body ul li{position:relative;padding:5px 0 5px 22px}
.gd[data-guide="pyrevit-mcp"] .pm-step-body ul li::before{content:"▸";position:absolute;left:2px;color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-step-body ol{list-style:none;margin:10px 0;padding:0;counter-reset:pm-hint}
.gd[data-guide="pyrevit-mcp"] .pm-step-body ol li{position:relative;padding:5px 0 5px 26px}
.gd[data-guide="pyrevit-mcp"] .pm-step-body ol li::before{counter-increment:pm-hint;content:counter(pm-hint) ".";position:absolute;left:2px;
  font-family:var(--fm);color:var(--acc)}
/* screenshots: the frame's lightbox opens them (img.gd-zoom) */
.gd[data-guide="pyrevit-mcp"] .pm-shot{margin:14px 0 6px}
.gd[data-guide="pyrevit-mcp"] .pm-shot img{display:block;max-width:min(100%,680px);height:auto;border:1px solid var(--hl2);border-radius:var(--rc);
  box-shadow:0 22px 46px -22px rgb(from var(--canvas) r g b / .75);cursor:zoom-in}
.gd[data-guide="pyrevit-mcp"] .pm-shot-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;margin:14px 0 6px}
.gd[data-guide="pyrevit-mcp"] .pm-shot-row .pm-shot{margin:0;min-width:0}
.gd[data-guide="pyrevit-mcp"] .pm-shot-row .pm-shot img{height:186px;width:auto;max-width:100%;object-fit:contain}
.gd[data-guide="pyrevit-mcp"] .pm-shot-title{display:block;margin:0 0 6px;text-align:center;font:400 11px/1.4 var(--fm);color:var(--dim)}
/* a callout: one hairline all round, the label carries the emphasis */
.gd[data-guide="pyrevit-mcp"] .pm-callout{margin:16px 0;padding:14px 18px;background:var(--canvas);border:1px solid var(--hl1);border-radius:var(--rc)}
.gd[data-guide="pyrevit-mcp"] .pm-cl-label{display:block;margin-bottom:6px;font:700 10px/1.3 var(--fm);letter-spacing:.15em;text-transform:uppercase;color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-hint{margin:14px 0 4px;padding:12px 18px;border:1px solid var(--hl1);border-radius:var(--rc)}
.gd[data-guide="pyrevit-mcp"] .pm-hint summary{cursor:pointer;list-style:none;font:600 11.5px/1.4 var(--fm);letter-spacing:.08em;color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-hint summary::-webkit-details-marker{display:none}
.gd[data-guide="pyrevit-mcp"] .pm-hint p{margin:10px 0 2px;font-size:.9rem}
.gd[data-guide="pyrevit-mcp"] .pm-hint.pm-bare{border:none;border-radius:0;padding:0}
.gd[data-guide="pyrevit-mcp"] .pm-hint.pm-bare summary{color:var(--ink)}
/* step 6: the sub-steps fold */
.gd[data-guide="pyrevit-mcp"] .pm-substep{margin:30px 0 10px;font:700 17px/1.3 var(--fm);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);
  list-style:none;cursor:pointer}
.gd[data-guide="pyrevit-mcp"] .pm-step-body > .pm-substep-fold:first-child > .pm-substep{margin-top:2px}
.gd[data-guide="pyrevit-mcp"] .pm-substep::-webkit-details-marker{display:none}
.gd[data-guide="pyrevit-mcp"] .pm-substep::after{content:"▸";display:inline-block;margin-left:10px;transition:transform .2s}
.gd[data-guide="pyrevit-mcp"] .pm-substep-fold[open] > .pm-substep::after{transform:rotate(90deg)}
.gd[data-guide="pyrevit-mcp"] .pm-path-box{margin:14px 0 4px}
.gd[data-guide="pyrevit-mcp"] .pm-path-in{width:100%;padding:12px 16px;background:var(--canvas);border:1px solid var(--hl2);border-radius:var(--rb);
  font:400 13px/1.4 var(--fm);color:var(--ink);outline:none;transition:border-color .16s}
.gd[data-guide="pyrevit-mcp"] .pm-path-in:focus{border-color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-path-in::placeholder{color:var(--faint)}
.gd[data-guide="pyrevit-mcp"] .pm-path-msg{margin:8px 2px 0;font:400 13px/1.5 var(--fm)}
.gd[data-guide="pyrevit-mcp"] .pm-path-msg.pm-bad,.gd[data-guide="pyrevit-mcp"] .pm-path.pm-unset{color:var(--red)}
.gd[data-guide="pyrevit-mcp"] .pm-path-msg.pm-ok{color:var(--green)}
.gd[data-guide="pyrevit-mcp"] .pm-mission-list{display:grid;gap:10px;margin:14px 0}
.gd[data-guide="pyrevit-mcp"] .pm-ps{margin:4px 0 0;font:400 12.5px/1.5 var(--fm);color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-mission{padding:13px 18px;background:var(--s2);border:1px solid var(--hl2);border-radius:var(--rc);font:400 13px/1.5 var(--fm);color:var(--ink)}

/* ---------- code windows: the lessons' code block with P36's three dots ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-code-window{margin:16px 0;overflow:hidden;background:var(--canvas);border:1px solid var(--hl2);border-radius:var(--rc);
  box-shadow:0 30px 60px -30px rgb(from var(--canvas) r g b / .8)}
.gd[data-guide="pyrevit-mcp"] .pm-code-head{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--s2);border-bottom:1px solid var(--hl1)}
.gd[data-guide="pyrevit-mcp"] .pm-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--hl3)}
.gd[data-guide="pyrevit-mcp"] .pm-dot.pm-o{background:var(--acc);opacity:.9}
.gd[data-guide="pyrevit-mcp"] .pm-file{min-width:0;margin-left:8px;font:500 11px/1 var(--fm);letter-spacing:.04em;color:var(--dim);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd[data-guide="pyrevit-mcp"] .pm-code-head .badge{margin-left:auto;flex:none}
.gd[data-guide="pyrevit-mcp"] .gd-copy,.gd[data-guide="pyrevit-mcp"] .pm-xbtn{flex:none;padding:5px 9px;background:none;border:1px solid var(--hl2);border-radius:6px;
  font:600 10px/1 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);cursor:pointer;
  transition:border-color .16s,color .16s}
.gd[data-guide="pyrevit-mcp"] .gd-copy:hover,.gd[data-guide="pyrevit-mcp"] .pm-xbtn:hover{border-color:var(--acc);color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-code-head .gd-copy,.gd[data-guide="pyrevit-mcp"] .pm-code-head .pm-xbtn{margin-left:auto}
.gd[data-guide="pyrevit-mcp"] .pm-code-head .badge + .gd-copy,.gd[data-guide="pyrevit-mcp"] .pm-code-head .pm-xbtn + .gd-copy{margin-left:8px}
.gd[data-guide="pyrevit-mcp"] .pm-xpl.pm-on .pm-xbtn{color:var(--acc);border-color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-code-window pre{margin:0;padding:16px 20px;overflow-x:auto;font:400 clamp(11.5px,1.3cqw,13px)/1.65 var(--fm);
  font-variant-ligatures:none;color:var(--dim2)}
.gd[data-guide="pyrevit-mcp"] .pm-code-window pre.pm-pre-wrap{white-space:pre-wrap;word-break:break-word}
.gd[data-guide="pyrevit-mcp"] .gd-panel[data-tab="universal"] .pm-code-window pre{color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-code-window.pm-slim{margin:10px 0 0;box-shadow:none}
.gd[data-guide="pyrevit-mcp"] .pm-code-window.pm-slim pre{padding:12px 16px;font-size:12px;white-space:pre-wrap;word-break:break-word}
.gd[data-guide="pyrevit-mcp"] .pm-c{color:var(--faint);font-style:italic}
.gd[data-guide="pyrevit-mcp"] .pm-k{color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-s{color:var(--green)}
.gd[data-guide="pyrevit-mcp"] .pm-fn{color:var(--acc2)}
.gd[data-guide="pyrevit-mcp"] .pm-num{color:var(--c-forum)}
.gd[data-guide="pyrevit-mcp"] .pm-dec,.gd[data-guide="pyrevit-mcp"] .pm-j-srv,.gd[data-guide="pyrevit-mcp"] .pm-j-brace{color:var(--c-docs)}
.gd[data-guide="pyrevit-mcp"] .pm-j-srv,.gd[data-guide="pyrevit-mcp"] .pm-j-brace{font-weight:700}
.gd[data-guide="pyrevit-mcp"] .pm-ic .pm-dim{color:var(--faint)}
/* the slot the path box fills: outlined, never an orange fill */
.gd[data-guide="pyrevit-mcp"] .pm-hot{padding:1px 4px;border-radius:4px;box-shadow:inset 0 0 0 1px rgb(from var(--acc) r g b / .45)}
/* a highlighted python line keeps its newline inside, so the pre's text is the file as written */
.gd[data-guide="pyrevit-mcp"] .pm-cl{display:block;min-height:1.65em}
.gd[data-guide="pyrevit-mcp"] .pm-cl::before{content:attr(data-ln);display:inline-block;width:2.2em;margin-right:14px;text-align:right;color:var(--faint)}


/* ---------- FAQ and the crash rows ---------- */
/* the FAQ reads on a dark card over the canvas (Erik's review, 0432); the list is the shell's (0650) */
.gd[data-guide="pyrevit-mcp"] .gd-page[data-page="faq"] .pm-wrap{padding:30px clamp(18px,3cqw,36px) 30px;border:1px solid var(--hl2);
  border-radius:var(--r);background:rgb(from var(--s1) r g b / .82);backdrop-filter:blur(6px)}
.gd[data-guide="pyrevit-mcp"] .pm-crash-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);align-items:center;gap:18px;
  margin-bottom:12px;padding:16px 22px;background:var(--s1);border:1px solid var(--hl2);border-radius:var(--rc);
  transition:border-color .18s}
.gd[data-guide="pyrevit-mcp"] .pm-crash-row:hover{border-color:var(--hl3)}
.gd[data-guide="pyrevit-mcp"] .pm-crash-row.pm-tall{align-items:start}
.gd[data-guide="pyrevit-mcp"] .pm-crash{display:flex;gap:12px;align-items:flex-start;min-width:0;font-size:.92rem;color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-x{flex:none;font-weight:700;color:var(--red)}
.gd[data-guide="pyrevit-mcp"] .pm-crash .pm-shot{margin:12px 0 2px}
.gd[data-guide="pyrevit-mcp"] .pm-crash .pm-shot img{max-width:100%}
.gd[data-guide="pyrevit-mcp"] .pm-fix{display:flex;gap:12px;align-items:flex-start;min-width:0;font-size:.86rem;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-fix strong{color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-mid{font:400 14px/1 var(--fm);color:var(--faint)}
.gd[data-guide="pyrevit-mcp"] .pm-trouble-more{margin-top:30px;font-size:.95rem;color:var(--dim)}

/* ---------- Custom MCP Tools: intro, the anatomy diagram, the two ways, the three mechanisms ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-at-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:start;margin-bottom:44px}
.gd[data-guide="pyrevit-mcp"] .pm-at-intro .pm-sect-head{margin-bottom:0}
.gd[data-guide="pyrevit-mcp"] .pm-at-intro .pm-video{width:100%}
.gd[data-guide="pyrevit-mcp"] .pm-fd{max-width:660px;margin:0 auto}
.gd[data-guide="pyrevit-mcp"] .pm-fd-title{margin:0 0 34px;text-align:center;font:800 1.25rem/1.3 var(--fd)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:20px;align-items:center}
.gd[data-guide="pyrevit-mcp"] .pm-fd-box{padding:14px 18px;text-align:center;background:var(--s2);border:1px solid var(--hl2);border-radius:var(--rc)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-box strong{display:block;font:600 14px/1.4 var(--fm);color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-box span{display:block;margin-top:3px;font-size:12px;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-box.pm-you{border-color:rgb(from var(--acc) r g b / .55)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-box.pm-you strong{color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-side strong{display:block;font-size:.85rem;color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-side span{display:block;margin-top:2px;font-size:11.5px;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-arrow{position:relative;height:38px;font:400 11.5px/1 var(--fm);color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-arrow::before{content:"";position:absolute;left:50%;top:4px;bottom:7px;width:2px;margin-left:-1px;opacity:.75;
  background-image:repeating-linear-gradient(180deg,var(--acc) 0 6px,transparent 6px 12px);background-size:2px 12px;
  background-repeat:repeat-y;animation:pm-dash-down .9s linear infinite}
.gd[data-guide="pyrevit-mcp"] .pm-fd-arrow::after{content:"▾";position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);color:var(--acc);font-size:12px;line-height:1}
.gd[data-guide="pyrevit-mcp"] .pm-fd-arrow span{position:absolute;left:calc(50% + 14px);top:50%;transform:translateY(-50%);white-space:nowrap}
.gd[data-guide="pyrevit-mcp"] .pm-fd-caption{margin:16px 0 0;font-size:12.5px;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-key{display:inline-block;width:12px;height:12px;border:2px solid var(--acc);border-radius:3px;vertical-align:-1px}
.gd[data-guide="pyrevit-mcp"] .pm-fd-notes{list-style:none;display:grid;gap:8px;max-width:660px;margin:24px auto 0;padding:0}
.gd[data-guide="pyrevit-mcp"] .pm-fd-notes li{position:relative;padding-left:14px;font-size:.86rem;line-height:1.65;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-notes li::before{content:"•";position:absolute;left:0;color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-note{max-width:720px;margin:26px auto 0;text-align:center;font-size:.86rem;line-height:1.65;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-fd-end{margin-top:40px}
.gd[data-guide="pyrevit-mcp"] .pm-fd-notes strong,.gd[data-guide="pyrevit-mcp"] .pm-fd-note strong{color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.gd[data-guide="pyrevit-mcp"] .pm-way{display:flex;gap:14px;padding:16px 18px}
.gd[data-guide="pyrevit-mcp"] .pm-way-pick{border-color:rgb(from var(--acc) r g b / .5);box-shadow:inset 0 1px 0 var(--hl1)}
.gd[data-guide="pyrevit-mcp"] .pm-way-num{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--s2);
  border:1px solid var(--hl2);font:700 13px/1 var(--fm);color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-way-pick .pm-way-num{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.gd[data-guide="pyrevit-mcp"] .pm-way-body h4{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:2px 0 6px;font:700 .92rem/1.35 var(--fd);color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-way-body p{margin:0;font-size:.82rem;line-height:1.6;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-way-tag{padding:3px 7px;border:1px solid var(--hl2);border-radius:999px;font:700 9px/1 var(--fm);letter-spacing:.1em;
  text-transform:uppercase;color:var(--faint)}
.gd[data-guide="pyrevit-mcp"] .pm-way-tag.on{color:var(--acc-ink);background:var(--acc);border-color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-mech-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:44px}
.gd[data-guide="pyrevit-mcp"] .pm-mech{padding:18px 16px;text-align:center}
.gd[data-guide="pyrevit-mcp"] .pm-mech > .pm-ic{display:inline-block;margin-bottom:10px}
.gd[data-guide="pyrevit-mcp"] .pm-mech p{margin:0;font-size:.82rem;line-height:1.6;color:var(--dim)}

/* ---------- EXPLAIN: the step-through walkthrough beside a code window ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-xpl{position:relative}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-side{display:none}
.gd[data-guide="pyrevit-mcp"] .pm-xpl.pm-on .pm-xpl-stage{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.gd[data-guide="pyrevit-mcp"] .pm-xpl.pm-on .pm-xpl-side{display:block}
.gd[data-guide="pyrevit-mcp"] .pm-xpl.pm-on pre{max-height:62vh;overflow:auto;overscroll-behavior:contain}
.gd[data-guide="pyrevit-mcp"] .pm-xpl.pm-on .pm-cl{opacity:.3;transition:opacity .45s,background .45s}
.gd[data-guide="pyrevit-mcp"] .pm-xpl.pm-on .pm-cl.pm-hi{opacity:1;background:var(--s3)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-top{display:flex;align-items:center;gap:10px;margin:16px 0 10px}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-dots{display:flex;flex:1;align-items:center;gap:6px}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-dot{width:8px;height:8px;padding:0;border:none;border-radius:999px;background:var(--hl3);cursor:pointer;
  transition:width .35s,background .35s}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-dot.pm-on{background:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-dot.pm-cur{width:22px}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-close,.gd[data-guide="pyrevit-mcp"] .pm-xpl-arrow{width:24px;height:24px;padding:0;background:none;border:1px solid var(--hl2);border-radius:6px;
  font-size:11px;line-height:1;color:var(--dim);cursor:pointer}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-close:hover,.gd[data-guide="pyrevit-mcp"] .pm-xpl-arrow:hover{border-color:var(--acc);color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-card{display:none;padding:16px 18px;background:var(--s2);border:1px solid var(--hl2);border-radius:var(--rc)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-card.pm-on{display:block;animation:pm-xpl-in .35s ease}
@keyframes pm-xpl-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-kick{font:700 10px/1.3 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-card h4{margin:6px 0 8px;font:800 .95rem/1.35 var(--fd);color:var(--ink)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-card p{margin:0;font-size:.85rem;line-height:1.65;color:var(--dim)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-card p + p{margin-top:10px}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-card code{padding:1px 5px;background:var(--s1);border:1px solid var(--hl1);border-radius:5px;
  font:500 .88em var(--fm);font-variant-ligatures:none;color:var(--acc2)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-card strong{color:var(--acc2);font-weight:700}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-hint{font:700 10px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.gd[data-guide="pyrevit-mcp"] .pm-xpl-arrows{display:flex;gap:6px}

/* ---------- the sign-off under every tab: the shell's one (app_shell/sign.html), the room around it here ---------- */
.gd[data-guide="pyrevit-mcp"] .pm-gfooter{padding:46px 0 60px}

/* ---------- the gate's points (gate.html): six short ticks in two columns; [data-guide] alone, the gate is no .gd ---------- */
.gd-gate[data-guide="pyrevit-mcp"] .rs-kit-list{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- the guide's box is the container: every breakpoint is its width ---------- */
@container (max-width:900px){
  .gd[data-guide="pyrevit-mcp"] .pm-mcpx{grid-template-columns:minmax(0,1fr)}
  .gd[data-guide="pyrevit-mcp"] .pm-mcpx-vwrap,.gd[data-guide="pyrevit-mcp"] .pm-mcpx-toolsbig{grid-column:1}
  .gd[data-guide="pyrevit-mcp"] .pm-mcpx-duplex{flex-direction:row;justify-content:center;gap:22px;padding:4px 0;margin:0}
  .gd[data-guide="pyrevit-mcp"] .pm-dx-line{display:none}
  .gd[data-guide="pyrevit-mcp"] .pm-fwd .pm-dx-lbl::before{content:"↓ "}
  .gd[data-guide="pyrevit-mcp"] .pm-back .pm-dx-lbl::before{content:"↑ "}
}
@container (max-width:760px){
  .gd[data-guide="pyrevit-mcp"] .pm-gsection{padding:48px 0 10px}
  .gd[data-guide="pyrevit-mcp"] .pm-gsection.pm-first{padding-top:32px}
  .gd[data-guide="pyrevit-mcp"] .pm-hero{padding:32px 0 10px}
  .gd[data-guide="pyrevit-mcp"] .pm-step-card{padding:22px 18px}
  .gd[data-guide="pyrevit-mcp"] .pm-crash-row{grid-template-columns:minmax(0,1fr);gap:8px}
  .gd[data-guide="pyrevit-mcp"] .pm-mid{display:none}
  .gd[data-guide="pyrevit-mcp"] .pm-at-intro{grid-template-columns:minmax(0,1fr);gap:26px}
  .gd[data-guide="pyrevit-mcp"] .pm-xpl.pm-on .pm-xpl-stage{grid-template-columns:minmax(0,1fr)}
  .gd[data-guide="pyrevit-mcp"] .pm-xpl.pm-on pre{max-height:38vh}
  .gd[data-guide="pyrevit-mcp"] .pm-tick-row,.gd[data-guide="pyrevit-mcp"] .pm-mech-row,.gd[data-guide="pyrevit-mcp"] .pm-ways{grid-template-columns:minmax(0,1fr)}
  .gd[data-guide="pyrevit-mcp"] .pm-toolgroups{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width:620px){
  .gd[data-guide="pyrevit-mcp"] .pm-fd-row{grid-template-columns:minmax(0,1fr)}
  .gd[data-guide="pyrevit-mcp"] .pm-fd-side{display:none}
  .gd[data-guide="pyrevit-mcp"] .pm-step-done{margin-left:0}
}
@container (max-width:520px){
  .gd[data-guide="pyrevit-mcp"] .pm-toolgroups{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .gd[data-guide="pyrevit-mcp"] .gd-page:not([hidden]),.gd[data-guide="pyrevit-mcp"] .pm-xpl-card.pm-on{animation:none}
  .gd[data-guide="pyrevit-mcp"] .pm-dx .pm-dx-line,.gd[data-guide="pyrevit-mcp"] .pm-mcpx-vline,.gd[data-guide="pyrevit-mcp"] .pm-exec-wrap,.gd[data-guide="pyrevit-mcp"] .pm-fd-arrow::before{animation:none}
  .gd[data-guide="pyrevit-mcp"] .pm-mcpx-card:hover{transform:none}
}
