/* Edge design system 2.0 (v2.2, site): the ONE stylesheet for every DS2-owned getedge.cc page.
   Base: the live landing and skill pages. One definition per token, component, state and page rule.
   Pages compose classes; no page CSS, no !important, no borders (fill, space, soft shadow; focus rings stay). */

@font-face{font-family:"Inter";src:url("edge-inter.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* ================= 1. TOKENS ================= */
:root{
  color-scheme:light;
  --e-paper:#f5f3eb; --e-surface:#ffffff; --e-sunken:#f1efe7; --e-tint:#ebe9e0;
  --e-ink:#16251e; --e-muted:#59685f; --e-divider:#e6e3da;
  --e-blue:#154cff; --e-blue-hover:#103ed7; --e-blue-base:#0c35ba; --e-blue-soft:#e9efff; --e-blue-ink:#183abe;
  --e-blue-top:#3d6cff;                       /* primary key face, top of gradient */
  --e-key2-top:#ffffff; --e-key2-bottom:#f2f0e9; --e-key2-base:#d5d1c5;
  --e-sky-top:#dfe8f0; --e-sky-art:#2e78b1; --e-meadow:#334626; --e-meadow-ink:#e6ecdf;
  --e-success:#315f43; --e-success-soft:#e5efe8; --e-warn:#7a5200; --e-warn-soft:#f5ecd6; --e-error:#a43d3d; --e-error-soft:#f7e6e3;
  --e-font:"Inter Display","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --e-mono:ui-monospace,"SFMono-Regular",Consolas,monospace;
  --e-fs-hero:clamp(44px,4.6vw,68px); --e-fs-title:clamp(32px,3vw,44px); --e-fs-section:48px; --e-fs-h3:20px;
  --e-fs-lede:18px; --e-fs-body:16px; --e-fs-small:14px; --e-fs-meta:13px;
  --e-track:-.035em; --e-w-display:500;
  --e-s1:4px;--e-s2:8px;--e-s3:12px;--e-s4:16px;--e-s5:20px;--e-s6:24px;--e-s8:32px;--e-s10:40px;--e-s12:48px;--e-s16:64px;--e-s24:96px;
  --e-gutter:clamp(20px,5vw,72px); --e-max:1200px; --e-measure:600px;
  --e-r-key:12px; --e-r-sm:12px; --e-r-card:18px; --e-r-dialog:22px; --e-r-pill:999px;
  --e-sh-card:0 1px 2px #16251e0a,0 10px 30px #16251e0f;
  --e-sh-card-hover:0 2px 4px #16251e0d,0 18px 40px #16251e1a;
  --e-sh-dialog:0 24px 80px #10261933;
  --e-focus:0 0 0 3px var(--e-paper),0 0 0 5px var(--e-blue);
  --e-logo:18px;                              /* the one logo size */
  --e-ease:cubic-bezier(.2,.7,.2,1); --e-t-press:90ms; --e-t-hover:200ms;
}
@media (max-width:700px){:root{--e-fs-section:32px;--e-fs-lede:17px;--e-fs-hero:clamp(36px,10vw,44px);--e-fs-title:clamp(28px,7.6vw,32px)}}

/* ================= 2. BASE + TYPE ================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--e-paper);color:var(--e-ink);font:400 var(--e-fs-body)/1.55 var(--e-font);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus{outline:none}
:focus-visible{outline:none;box-shadow:var(--e-focus);border-radius:var(--e-r-key)}
/* the ring is for keyboard users only: after a mouse or touch press (html[data-input=pointer], set by edge-ds2-v2.js) no element keeps it */
html[data-input=pointer] :focus-visible:not(input):not(textarea){box-shadow:none}
h1,h2,h3{font-weight:var(--e-w-display);letter-spacing:var(--e-track);margin:0}
p{margin:0}
.e-wrap{max-width:calc(var(--e-max) + 2*var(--e-gutter));margin:0 auto;padding-inline:var(--e-gutter)}
.e-section{padding-block:var(--e-s12)}
.e-stack{display:grid;gap:var(--e-s4)} .e-stack--tight{gap:6px}
.e-row{display:flex;flex-wrap:wrap;gap:var(--e-s3);align-items:center} .e-row--between{justify-content:space-between}
.e-grid{display:grid;gap:var(--e-s6);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--e-min,260px)),1fr))}
.e-muted{color:var(--e-muted)}
.e-after{margin-top:var(--e-s6)}
.e-hero-title{font-size:var(--e-fs-hero);line-height:1.02}
.e-accent{color:var(--e-blue);display:block}
.e-title{font-size:var(--e-fs-title);line-height:1.08} .e-title--sm{font-size:28px;line-height:1.12}
.e-h2{font-size:var(--e-fs-section);line-height:1.06}
.e-h3{font-size:var(--e-fs-h3);line-height:1.3;letter-spacing:-.02em}
.e-lede{font-size:var(--e-fs-lede);line-height:1.55;letter-spacing:-.01em;color:var(--e-muted);max-width:var(--e-measure)}
.e-small{font-size:var(--e-fs-small);line-height:1.45}
.e-meta{font-size:var(--e-fs-meta);line-height:1.4;color:var(--e-muted)}

/* ================= 3. LOGO (one size, one ink) ================= */
.e-logo{flex:none;display:inline-block;width:var(--e-logo);height:var(--e-logo);background:currentColor;
  -webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat;vertical-align:-.2em}
.e-logo--claude{--src:url(claude-app.svg)} .e-logo--claude-code{--src:url(claude-code.svg)} .e-logo--chatgpt{--src:url(chatgpt.svg)}
.e-logo--codex{--src:url(codex.svg)} .e-logo--cursor{--src:url(cursor.svg)}
/* a named product: logo + name, everywhere a product is named */
.e-product{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:500}
/* works-with row */
.e-works{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:var(--e-fs-small);color:var(--e-ink)}
.e-works>span:first-child{color:var(--e-muted);font-weight:400}
/* backers row (company logos, wordmarks keep their shape) */
.e-backers{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;font-size:var(--e-fs-meta);color:var(--e-muted)}
.e-backers>span{flex:0 0 100%}
.e-backer{display:block;flex:none;height:24px;background:var(--e-ink);opacity:.72;-webkit-mask:var(--src) left center/contain no-repeat;mask:var(--src) left center/contain no-repeat}
.e-backer--yc{--src:url(yc-mono.svg);width:24px} .e-backer--sequoia{--src:url(sequoia.svg);width:144px;height:19px} .e-backer--a16z{--src:url(a16z-mark.svg);width:50px}

/* ================= 4. KEY (chunky physical keycap) ================= */
/* face = soft vertical gradient + 1px inner top highlight; 4px darker base underneath; press = down 2px, base 2px */
.e-key{--h:48px;--base:var(--e-blue-base);--lift:4px;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 20px;margin-bottom:var(--lift);
  border:0;border-radius:var(--e-r-key);font:500 15px/1 var(--e-font);letter-spacing:-.01em;text-decoration:none;white-space:nowrap;cursor:pointer;user-select:none;
  box-shadow:inset 0 1px 0 var(--hi,#ffffff59),inset 0 -1px 0 #00000014,0 var(--lift) 0 var(--base),0 calc(var(--lift) + 4px) 12px var(--glow,#0c35ba33);
  transition:transform var(--e-t-press) var(--e-ease),box-shadow var(--e-t-press) var(--e-ease),filter var(--e-t-hover)}
.e-key:hover{filter:brightness(1.05)}
.e-key:active,.e-key.is-down{transform:translateY(2px);box-shadow:inset 0 1px 0 var(--hi,#ffffff40),inset 0 -1px 0 #00000014,0 2px 0 var(--base),0 4px 8px var(--glow,#0c35ba26)}
.e-key--primary{color:#fff;background:linear-gradient(180deg,var(--e-blue-top),var(--e-blue) 70%)}
.e-key--secondary{color:var(--e-ink);background:linear-gradient(180deg,var(--e-key2-top),var(--e-key2-bottom));--base:var(--e-key2-base);--hi:#fff;--glow:#16251e1f}
.e-key--quiet{background:none;color:var(--e-ink);box-shadow:none;padding-inline:2px;margin-bottom:0;text-decoration:underline;text-decoration-color:#16251e40;text-underline-offset:5px}
.e-key--quiet:active{transform:none;box-shadow:none}
.e-key--sm{--h:36px;--lift:3px;padding:0 13px;font-size:14px;gap:8px;border-radius:10px}
.e-key--lg{--h:54px;padding:0 26px;font-size:16px}
.e-key--block{width:100%}
.e-key--icon{width:var(--h);padding:0}
.e-key:disabled,.e-key[aria-disabled=true]{filter:grayscale(.6);opacity:.5;cursor:not-allowed;pointer-events:none}
.e-key:focus-visible{box-shadow:inset 0 1px 0 var(--hi,#ffffff59),0 var(--lift) 0 var(--base),var(--e-focus)}
html[data-input=pointer] .e-key:focus-visible{box-shadow:inset 0 1px 0 var(--hi,#ffffff59),inset 0 -1px 0 #00000014,0 var(--lift) 0 var(--base),0 calc(var(--lift) + 4px) 12px var(--glow,#0c35ba33)}
html[data-input=pointer] .e-key:focus-visible:active{box-shadow:inset 0 1px 0 var(--hi,#ffffff40),inset 0 -1px 0 #00000014,0 2px 0 var(--base),0 4px 8px var(--glow,#0c35ba26)}
.e-dialog:focus-visible{box-shadow:var(--e-sh-dialog)}
.e-key .e-logo{--e-logo:18px}
/* arrows are rules: --go adds →, target=_blank adds ↗ */
.e-key--go::after{content:"\2192";font-size:1.05em}
a.e-key[target=_blank]::after,a.e-link[target=_blank]::after{content:"\2197";font-size:.95em;opacity:.85}
/* copy: both labels in one grid cell = constant width; copied = ✓, same colour, arrow hidden (space kept) */
.e-copy{display:inline-grid;grid-auto-flow:column;justify-content:center;align-items:center}
.e-copy>.e-copy__idle,.e-copy>.e-copy__done{grid-area:1/1;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.e-copy>.e-copy__done{visibility:hidden}
.e-copy>.e-copy__done::before{content:"\2713";font-weight:600}
.e-copy[data-state=copied]>.e-copy__idle{visibility:hidden}
.e-copy[data-state=copied]>.e-copy__done{visibility:visible}
.e-copy[data-state=copied]::after{visibility:hidden}
/* kbd = a mini keycap, same family */
.e-kbd{display:inline-flex;align-items:center;height:22px;padding:0 7px;margin:0 1px 2px;border-radius:6px;font:500 12px/1 var(--e-font);color:var(--e-ink);
  background:linear-gradient(180deg,var(--e-key2-top),var(--e-key2-bottom));box-shadow:inset 0 1px 0 #fff,0 2px 0 var(--e-key2-base)}

/* ================= 5. LINK, BADGE ================= */
.e-link{color:var(--e-ink);font-weight:500;text-decoration:underline;text-decoration-color:#16251e40;text-underline-offset:4px}
.e-link:hover{text-decoration-color:currentColor}
.e-link--go::after{content:" \2192"}
.e-back{display:inline-flex;gap:6px;font-size:var(--e-fs-small);color:var(--e-muted);text-decoration:none} .e-back::before{content:"\2190"}
.e-badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:var(--e-r-pill);background:var(--e-tint);color:var(--e-ink);font:500 12.5px/1 var(--e-font);white-space:nowrap;max-width:100%}
@media (max-width:640px){.e-badge{height:auto;min-height:26px;padding-block:6px;line-height:1.3;white-space:normal}}
.e-badge--blue{background:var(--e-blue-soft);color:var(--e-blue-base)}
.e-badge--success{background:var(--e-success-soft);color:var(--e-success)}
.e-badge--warn{background:var(--e-warn-soft);color:var(--e-warn)}
.e-badge--error{background:var(--e-error-soft);color:var(--e-error)}
.e-badge--dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}

/* ================= 6. CARD ================= */
.e-card{position:relative;display:block;background:var(--e-surface);border-radius:var(--e-r-card);box-shadow:var(--e-sh-card);padding:var(--e-s6);color:inherit;text-decoration:none}
a.e-card{transition:transform var(--e-t-hover) var(--e-ease),box-shadow var(--e-t-hover) var(--e-ease)}
a.e-card:hover,.e-card.is-hover{transform:translateY(-3px);box-shadow:var(--e-sh-card-hover)}
.e-card__head{display:flex;gap:var(--e-s3);align-items:center}
.e-card__icon{flex:none;width:40px;height:40px;border-radius:10px;background:var(--e-blue-soft);display:grid;place-items:center;color:var(--e-blue)}
.e-card__icon svg{width:20px;height:20px}
.e-card__titles{min-width:0;flex:1}
.e-card__name{font-size:16px;font-weight:500;letter-spacing:-.015em;line-height:1.25}
.e-card__sub{font-size:var(--e-fs-meta);line-height:1.35;color:var(--e-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}  /* wraps: "Company · Person" next to a two-mark pair */
.e-card__body{margin-top:var(--e-s3);color:var(--e-muted);font-size:var(--e-fs-small);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.e-card__foot{margin-top:var(--e-s4);display:flex;gap:var(--e-s3);align-items:center;flex-wrap:wrap;font-size:var(--e-fs-meta);color:var(--e-muted)}
.e-card__foot b{color:var(--e-ink);font-weight:500}
.e-card--center{display:grid;justify-items:center;text-align:center;gap:10px;padding:var(--e-s5)}
.e-plan{display:flex;flex-direction:column;gap:var(--e-s4);padding:var(--e-s8)}
.e-plan__price{font-size:48px;line-height:1;letter-spacing:-.04em;font-weight:500}
.e-plan__price small{display:block;margin-top:8px;font-size:var(--e-fs-small);letter-spacing:0;color:var(--e-muted);font-weight:400}
.e-plan__list{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:var(--e-fs-small)}
.e-plan__list li{display:flex;gap:10px;align-items:baseline}
.e-plan__list li::before{content:"\2713";color:var(--e-blue);font-weight:600}
.e-plan__cta{margin-top:auto;display:grid;gap:var(--e-s2)}
.e-skel{display:block;height:12px;width:var(--w,100%);border-radius:6px;background:linear-gradient(90deg,var(--e-tint),var(--e-sunken),var(--e-tint));background-size:200% 100%;animation:e-shimmer 1.4s linear infinite}
@keyframes e-shimmer{to{background-position:-200% 0}}

/* ================= 7. AVATAR (.e-portrait) + CREATOR ================= */
/* ONE component for every creator. Same tile (sky gradient + cloud), same ink #183ABE, same 3px halftone grid:
   person = portrait cut-out · --company = logo cut-out, one logo size (46% of tile height), centred
   person + company = portrait + __badge (company logo on a white chip, bottom right; hidden under 72px, use the .e-avatars pair instead)
   --mono = initials, when no image exists. Sizes: tile (416:300) · --square (rows 72, creator page 96) · --avatar (card 40, skill header 56, inline 24) */
.e-portrait{position:relative;display:block;flex:none;aspect-ratio:416/300;border-radius:var(--e-r-card);overflow:hidden;background:linear-gradient(var(--e-sky-top),var(--e-paper));isolation:isolate;container-type:inline-size}
.e-portrait::before{content:"";position:absolute;z-index:-1;inset:3% -14% auto 48%;aspect-ratio:900/640;background:url(v3-cr-cloud.webp) center/contain no-repeat;image-rendering:pixelated;opacity:.95}
.e-portrait>img{position:absolute;left:50%;bottom:-6%;width:72%;height:auto;transform:translateX(-50%);image-rendering:pixelated}
.e-portrait--square{aspect-ratio:1/1;width:var(--size,96px);border-radius:14px}
.e-portrait--square>img{width:96%;bottom:-8%;image-rendering:auto}
.e-portrait--square::before{inset:4% -30% auto 30%}
.e-portrait--avatar{aspect-ratio:1/1;width:var(--size,32px);border-radius:calc(var(--size,32px)*.28)}
.e-portrait--avatar::before{display:none}
.e-portrait--avatar>img{width:118%;bottom:-14%;image-rendering:auto}
/* company: logo centred, one size on every tile shape */
.e-portrait--company>img,.e-portrait--company.e-portrait--square>img,.e-portrait--company.e-portrait--avatar>img{left:50%;top:50%;bottom:auto;width:auto;height:46%;aspect-ratio:1;transform:translate(-50%,-50%)}
.e-portrait--company:not(.e-portrait--avatar):not(.e-portrait--square)>img{top:54%}
.e-portrait--avatar.e-portrait--company>img{height:54%}
/* fallback: initials, ink on the tile */
.e-portrait--mono{display:grid;place-items:center}
.e-portrait--mono>b{font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--e-blue-ink);font-size:22cqi}
.e-portrait--mono.e-portrait--square>b,.e-portrait--mono.e-portrait--avatar>b{font-size:38cqi}
/* from 64px up the initials take the portraits' 3px halftone grid; below that they stay solid to read */
@container (min-width:64px){.e-portrait--mono>b{font-weight:600;color:transparent;background:radial-gradient(circle,var(--e-blue-ink) 1.25px,transparent 1.45px) 0 0/3px 3px;-webkit-background-clip:text;background-clip:text}}
/* company badge on a person */
/* photo = the creator's own square picture (GitHub avatar), pre-toned to the same blue duotone as the portrait cuts; fills the tile */
.e-portrait--photo::before{display:none}
.e-portrait--photo>img,.e-portrait--photo.e-portrait--avatar>img,.e-portrait--photo.e-portrait--square>img{inset:0;width:100%;height:100%;transform:none;object-fit:cover;image-rendering:auto}
/* initials tile (no picture anywhere): the dark end of the photo duotone, one of five blues fixed per name (partials.tint),
   light initials, and the portraits' 3px halftone grid fading in from the lower corner, so it reads as a portrait without a face */
.e-portrait--t0{--e-mono-bg:#122c9c}
.e-portrait--t1{--e-mono-bg:var(--e-blue-base)}
.e-portrait--t2{--e-mono-bg:var(--e-blue-ink)}
.e-portrait--t3{--e-mono-bg:#1f4fd8}
.e-portrait--t4{--e-mono-bg:#2a5fc4}
.e-portrait--mono[class*=e-portrait--t]{background:linear-gradient(160deg,color-mix(in srgb,var(--e-mono-bg) 82%,#fff),var(--e-mono-bg) 70%)}
.e-portrait--mono[class*=e-portrait--t]::before{display:block;inset:0;aspect-ratio:auto;background:radial-gradient(circle,var(--e-sky-top) .75px,transparent .95px) 0 0/3px 3px;opacity:.28;image-rendering:auto;-webkit-mask:linear-gradient(150deg,transparent 40%,#000);mask:linear-gradient(150deg,transparent 40%,#000)}
.e-portrait--mono[class*=e-portrait--t]>b{color:var(--e-sky-top);font-weight:600}
@container (min-width:64px){.e-portrait--mono[class*=e-portrait--t]>b{background-image:radial-gradient(circle,var(--e-sky-top) 1.25px,transparent 1.45px)}}

.e-portrait__badge{position:absolute;right:6%;bottom:6%;width:max(16px,30cqi);aspect-ratio:1;border-radius:28%;background:var(--e-surface);box-shadow:0 1px 2px #16251e1f,0 4px 10px #16251e1f;display:grid;place-items:center}
.e-portrait__badge img{width:66%;height:66%}
.e-portrait:not(.e-portrait--avatar):not(.e-portrait--square) .e-portrait__badge{width:21cqi;right:4%;bottom:5%}
@container (max-width:71px){.e-portrait__badge{display:none}}
/* two marks side by side at small sizes: company first, then the person. No overlap, no ring */
.e-avatars{display:inline-flex;gap:4px;flex:none}
/* byline: who made a skill (skill page header, sidebar, cards) */
.e-byline{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}
.e-byline>span:last-child{display:grid;min-width:0;line-height:1.3}
.e-byline b{font-weight:500;font-size:15px;letter-spacing:-.01em}
.e-byline>span:last-child>span{font-size:var(--e-fs-meta);color:var(--e-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e-byline[style*="--size:24px"] b{font-size:14px}
a.e-byline:hover b{text-decoration:underline;text-underline-offset:3px}

.e-creator{display:block;color:inherit;text-decoration:none}
.e-creator>b{display:block;margin-top:var(--e-s4);font-size:20px;font-weight:500;letter-spacing:-.02em}
.e-creator>span:last-child{display:block;margin-top:2px;color:var(--e-muted);font-size:15px;line-height:1.5}
.e-creator .e-portrait{transition:transform .35s var(--e-ease),box-shadow .35s var(--e-ease)}
.e-creator:hover .e-portrait{transform:translateY(-5px);box-shadow:var(--e-sh-card-hover)}
.e-creator--row{display:grid;grid-template-columns:var(--size,72px) 1fr;column-gap:var(--e-s4);align-items:center}
.e-creator--row>.e-portrait{grid-row:span 2}
.e-creator--row>b{margin-top:0;align-self:end;font-size:17px}
.e-creator--row>span:last-child{align-self:start;font-size:14px}
@media (max-width:700px){
  .e-creator:not(.e-creator--row){display:grid;grid-template-columns:88px 1fr;column-gap:var(--e-s4);align-items:center}
  .e-creator:not(.e-creator--row)>.e-portrait{grid-row:span 2;aspect-ratio:1/1;width:88px;border-radius:14px}
  .e-creator:not(.e-creator--row)>.e-portrait:not(.e-portrait--company)>img{width:96%;bottom:-8%;image-rendering:auto}
  .e-creator:not(.e-creator--row)>.e-portrait .e-portrait__badge{width:30cqi;right:6%;bottom:6%}
  .e-creator:not(.e-creator--row)>.e-portrait--mono>b{font-size:38cqi}
  .e-creator:not(.e-creator--row)>.e-portrait--company>img{top:50%}
  .e-creator:not(.e-creator--row)>b{margin-top:0;align-self:end}
  .e-creator:not(.e-creator--row)>span:last-child{align-self:start;font-size:14px}
}

/* ================= 8. INPUT, SEARCH, CODE ================= */
.e-field{display:grid;gap:6px} .e-field+.e-field{margin-top:var(--e-s3)}
.e-label{font-size:var(--e-fs-small);font-weight:500}
.e-help{font-size:var(--e-fs-meta);color:var(--e-muted)}
.e-input{height:48px;width:100%;padding:0 14px;border:0;border-radius:var(--e-r-sm);background:var(--e-sunken);color:var(--e-ink);font:400 15px/1 var(--e-font)}
.e-input::placeholder{color:#59685fb3}
.e-input:focus,.e-input.is-focus{outline:none;background:var(--e-surface);box-shadow:var(--e-focus)}
.e-field--error .e-input{background:var(--e-error-soft)} .e-field--error .e-help{color:var(--e-error)}
.e-search{display:flex;align-items:center;gap:var(--e-s3);height:66px;padding:0 9px 0 20px;background:var(--e-surface);border-radius:18px;box-shadow:var(--e-sh-card);width:100%;max-width:720px}
.e-search:focus-within{box-shadow:var(--e-sh-card),var(--e-focus)}
.e-search>svg{width:18px;height:18px;color:var(--e-muted);flex:none}
.e-search input{flex:1;min-width:0;border:0;background:none;font:400 17px/1 var(--e-font);color:var(--e-ink);outline:none}
.e-search input:focus-visible{box-shadow:none}   /* the whole field carries the ring (:focus-within) */
.e-search .e-key{margin-bottom:3px}
.e-chips{display:flex;flex-wrap:wrap;gap:8px}
.e-code{display:block;margin:0;padding:14px 16px;border-radius:var(--e-r-sm);background:var(--e-sunken);font:400 13.5px/1.6 var(--e-mono);color:var(--e-ink);white-space:pre-wrap;word-break:break-word}

/* ================= 9. DIALOG (from the live Get Edge dialog + v2) ================= */
.e-dialog{container:e-dlg/inline-size;width:min(548px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:var(--e-r-dialog);background:var(--e-surface);color:var(--e-ink);box-shadow:var(--e-sh-dialog)}
.e-dialog::backdrop{background:#16251e59}
.e-dialog__in{padding:28px 28px 22px}
.e-dialog__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.e-dialog__close{--h:34px}
.e-opt{padding-block:16px;display:grid;gap:10px}
.e-opt+.e-opt{box-shadow:inset 0 1px 0 var(--e-divider)}
.e-opt__row{display:flex;align-items:center;gap:12px}
.e-opt__logos{display:flex;gap:6px;color:var(--e-ink)}
.e-opt__name{flex:1;min-width:0;font-size:16px;font-weight:500;letter-spacing:-.01em}
.e-opt__row .e-key{flex:none;min-width:172px}
.e-opt__help{font-size:var(--e-fs-small);line-height:1.6;color:var(--e-muted)}
.e-opt__help b{color:var(--e-ink);font-weight:500}
.e-reveal{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font:500 14px/1 var(--e-font);color:var(--e-muted);cursor:pointer}
.e-reveal::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--e-t-hover)}
.e-reveal[aria-expanded=true]::after{transform:translateY(1px) rotate(-135deg)}
.e-reveal:hover{color:var(--e-ink)}
.e-steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:var(--e-fs-small);color:var(--e-muted)}
.e-dialog__tail{display:flex;justify-content:space-between;padding-top:14px;font-size:var(--e-fs-meta);color:var(--e-muted)}
.e-dialog__tail a{color:var(--e-ink)}
.e-dialog[open]{animation:e-pop .22s var(--e-ease)}
@keyframes e-pop{from{opacity:0;transform:translateY(8px) scale(.985)}}
/* narrow dialog (<500px: phones, sheet columns): name on its own line, keys share the row below, equal width */
@container e-dlg (max-width:499px){.e-dialog__in{padding:22px 18px 16px}.e-opt__row{flex-wrap:wrap;row-gap:12px}
  .e-opt__name{flex:1 0 calc(100% - 64px)}.e-opt__row .e-key{flex:1 1 0;min-width:0}}

/* ================= 10. STRUCTURE: section head, stats, tabs, FAQ ================= */
.e-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--e-s3) var(--e-s8);margin-bottom:var(--e-s8)}
.e-head>div{display:grid;gap:var(--e-s3)}
.e-stats{display:flex;flex-wrap:wrap;gap:var(--e-s6) var(--e-s12)}
.e-stat{display:grid;gap:4px} .e-stat__n{font-size:44px;line-height:1;letter-spacing:-.04em;font-weight:500;font-variant-numeric:tabular-nums}
.e-stat__l{font-size:var(--e-fs-small);color:var(--e-muted);max-width:24ch}
.e-faq{display:grid;gap:10px;max-width:760px}
.e-faq details{background:var(--e-surface);border-radius:14px;box-shadow:var(--e-sh-card)}
.e-faq summary{display:flex;justify-content:space-between;gap:var(--e-s4);padding:18px 20px;font-weight:500;cursor:pointer;list-style:none}
.e-faq summary::-webkit-details-marker{display:none}
.e-faq summary::after{content:"+";font-size:20px;line-height:1}
.e-faq details[open] summary::after{content:"\2212"}
.e-faq details>div{padding:0 20px 18px;color:var(--e-muted);font-size:15px}

/* ================= 11. PAGE ANATOMY: header · hero · sections · closing bar · footer ================= */
.e-nav{position:sticky;top:0;z-index:5;background:#f5f3ebeb;backdrop-filter:blur(10px)}
.e-nav__in{display:flex;align-items:center;justify-content:space-between;height:68px}
.e-brand{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:22px;letter-spacing:-.045em;text-decoration:none;color:var(--e-ink)}
.e-brand i{width:22px;height:14.6px;border-radius:0;background:currentColor;-webkit-mask:url(data:image/png;base64,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) center/contain no-repeat;mask:url(data:image/png;base64,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) center/contain no-repeat}
.e-brand--meadow{color:var(--e-meadow-ink)}
.e-nav__links{display:flex;align-items:center;gap:var(--e-s6);font-size:var(--e-fs-small)}
.e-nav__links a:not(.e-key){text-decoration:none}
.e-nav__links a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.e-nav__links .e-key{margin-bottom:0}
@media (max-width:560px){.e-nav__links a:not(.e-key){display:none}}
/* hero: eyebrow, 2-line title, lede, primary + secondary key, works-with row */
.e-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:var(--e-s5);padding-block:var(--e-s16) var(--e-s12)}
.e-hero--center{justify-items:center;text-align:center}
.e-hero--center .e-lede{margin-inline:auto}
.e-hero__actions{display:flex;flex-wrap:wrap;gap:var(--e-s3);align-items:center;margin-top:var(--e-s2)}
.e-hero__art{position:absolute;z-index:-1;right:calc(-1*var(--e-gutter));top:8px;width:clamp(300px,36vw,560px);aspect-ratio:1;background:url(sky.webp) left center/cover no-repeat;border-radius:50% 0 0 50%;pointer-events:none}
.e-page{position:relative;isolation:isolate;overflow-x:clip}
@media (max-width:1000px){.e-hero__art{display:none}}
/* closing bar: the live skill page ending, centred over the cloud bank, flowing into the hills */
.e-close{--hills:clamp(150px,17vw,300px);position:relative;isolation:isolate;margin-top:var(--e-s16);padding:110px var(--e-gutter) calc(var(--hills) + 70px);text-align:center;display:grid;justify-items:center;gap:var(--e-s4)}
.e-close::before{content:"";position:absolute;z-index:-1;inset:0;background:url(v9-cloud-bank.webp) center bottom/max(100%,1500px) auto no-repeat}
.e-close .e-h2{font-size:clamp(40px,4.6vw,68px);line-height:1;letter-spacing:-.04em;max-width:18ch;text-wrap:balance}
.e-close .e-lede{color:var(--e-ink);margin-inline:auto}
.e-close__mark{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--e-surface);box-shadow:var(--e-sh-card)}
.e-close .e-hero__actions{justify-content:center}
@media (max-width:700px){.e-close{--hills:34vw;padding:72px var(--e-gutter) calc(var(--hills) + 56px)}.e-close::before{background:linear-gradient(var(--e-paper) 52%,#f5f3eb00 72%),url(v9-cloud-bank-phone.webp) center bottom/640px auto no-repeat}}
/* footer: hills band over the meadow */
.e-footer{position:relative;color:var(--e-meadow-ink);background:var(--e-meadow)}
.e-footer::before{content:"";position:absolute;left:0;right:0;bottom:calc(100% - 2px);height:clamp(150px,17vw,300px);background:url(hills-band.webp) center top/max(100%,1100px) auto no-repeat}
@media (max-width:700px){.e-footer::before{height:34vw;background:url(hills-band-mobile.webp) center top/100% auto no-repeat}}
.e-footer__in{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:var(--e-s8);padding-block:var(--e-s10) var(--e-s12)}
.e-footer h4{margin:0 0 10px;font:500 13px/1 var(--e-font);color:#e6ecdfa8}
.e-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:var(--e-fs-small)}
.e-footer a{color:var(--e-meadow-ink);text-decoration:none}
.e-footer a:hover{text-decoration:underline}
.e-footer__setup{margin:6px 0 0;font-size:var(--e-fs-small);line-height:1.5;color:#e6ecdfa8;overflow-wrap:anywhere}
.e-footer__setup a{text-decoration:underline;text-decoration-color:#e6ecdf59;text-underline-offset:3px}
.e-footer__setup a:hover{text-decoration-color:currentColor}
@media (max-width:800px){.e-footer__in{grid-template-columns:1fr 1fr}.e-footer__in>:first-child{grid-column:1/-1}}

/* ================= 12. EMPTY / ERROR ================= */
.e-hero--error{min-height:520px;align-content:center}
.e-hero--error .e-code404{position:absolute;right:var(--e-gutter);top:50%;transform:translateY(-50%)}
@media (max-width:900px){.e-hero--error{min-height:0}.e-hero--error .e-code404{position:static;transform:none;font-size:96px}}
.e-code404{display:flex;align-items:center;gap:12px;font-size:clamp(88px,12vw,160px);line-height:.9;letter-spacing:-.06em;font-weight:500;color:var(--e-ink)}
.e-code404 i{width:.7em;height:.7em;border-radius:50%;background:url(sky.webp) left center/cover;box-shadow:var(--e-sh-card);display:grid;place-items:center}
.e-code404 i img{width:38%;image-rendering:pixelated}

/* ================= 13. SKILL PAGE PARTS + STATES (from the live skill, explore and tasks pages) ================= */
/* tabs: a sunken track, the selected tab is a white chip. Arrow keys move between tabs */
.e-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:var(--e-tint);max-width:100%;overflow-x:auto;scrollbar-width:none}
.e-tabs [role=tab]{flex:none;height:38px;padding:0 16px;border:0;border-radius:10px;background:none;font:500 14px/1 var(--e-font);color:var(--e-muted);cursor:pointer;transition:background var(--e-t-hover),color var(--e-t-hover)}
.e-tabs [role=tab]:hover{color:var(--e-ink)}
.e-tabs [role=tab][aria-selected=true]{background:var(--e-surface);color:var(--e-ink);box-shadow:0 1px 2px #16251e14,0 4px 10px #16251e0f}
.e-tabpanel{padding-top:var(--e-s5)}
/* sourced facts: claim, one line, the source it links */
.e-facts{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-s3)}
.e-facts li{display:grid;gap:4px;padding:var(--e-s4) var(--e-s5);border-radius:14px;background:var(--e-sunken)}
.e-facts b{font-weight:500}
.e-facts p{font-size:var(--e-fs-small);color:var(--e-muted)}
.e-facts a{justify-self:start;font-size:var(--e-fs-meta);color:var(--e-ink)}
/* example run: the task, the skill Edge used, the result file */
.e-run{display:grid;gap:var(--e-s3);padding:var(--e-s5);border-radius:var(--e-r-card);background:var(--e-surface);box-shadow:var(--e-sh-card)}
.e-run__ask{justify-self:end;max-width:85%;padding:10px 14px;border-radius:14px 14px 4px 14px;background:var(--e-blue-soft);color:var(--e-blue-base);font-size:15px}
.e-run__used{justify-self:start}
.e-run__out{font-size:15px}
.e-file{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--e-sunken);min-width:0}
.e-file::before{content:"";flex:none;width:28px;height:34px;border-radius:5px;background:linear-gradient(225deg,var(--e-key2-base) 8px,var(--e-surface) 8px);box-shadow:0 1px 2px #16251e1a}
.e-file b{display:block;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e-file span{font-size:var(--e-fs-meta);color:var(--e-muted)}
.e-file--play{width:100%;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.e-file--play::before{background:currentColor;clip-path:polygon(25% 15%,85% 50%,25% 85%);border-radius:0;box-shadow:none}
.e-file--play:hover b{text-decoration:underline}
.e-dl dd small+.e-link{display:inline-block;margin-top:4px}
.e-faq details[id]{scroll-margin-top:96px}
.e-dl dd code{font-size:.88em}
/* file viewer: file list, header with size + download, the file */
.e-files{display:grid;grid-template-columns:fit-content(300px) minmax(0,1fr);gap:var(--e-s4);align-items:start}
.e-files__nav{display:grid;gap:4px}
.e-files__nav button{height:38px;padding:0 12px;border:0;border-radius:10px;background:none;text-align:left;font:500 13.5px/1 var(--e-mono);color:var(--e-muted);cursor:pointer;white-space:nowrap}
.e-files__nav button:hover{color:var(--e-ink)}
.e-files__nav button[aria-current=true]{background:var(--e-surface);color:var(--e-ink);box-shadow:0 1px 2px #16251e14,0 4px 10px #16251e0f}
.e-files__doc{display:grid;gap:10px;min-width:0}
.e-files__head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;font-size:var(--e-fs-meta);color:var(--e-muted)}
.e-files__head b{font:500 14px/1 var(--e-mono);color:var(--e-ink)}
.e-files .e-code{max-height:260px;overflow:auto}
@media (max-width:640px){.e-files{grid-template-columns:1fr}.e-files__nav{display:flex;overflow-x:auto}.e-files__nav button{flex:none}}
/* details list: label left, value right (skill sidebar, skill details) */
.e-dl{display:grid;margin:0;container-type:inline-size}
.e-dl>div{display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr);gap:var(--e-s4);padding-block:14px;align-items:start}
.e-dl>div+div{box-shadow:inset 0 1px 0 var(--e-divider)}
.e-dl dt{font-size:var(--e-fs-meta);color:var(--e-muted);padding-top:2px}
.e-dl dd{margin:0;font-size:15px;min-width:0;overflow-wrap:break-word}
.e-dl dd small{display:block;color:var(--e-muted);font-size:var(--e-fs-meta)}
@container (max-width:380px){.e-dl>div{grid-template-columns:1fr;gap:6px}}   /* narrow lists (side panel, phone) stack label over value */
/* data table (tasks, benchmarks): scrolls inside its card, never the page */
.e-table{overflow-x:auto;border-radius:var(--e-r-card);background:var(--e-surface);box-shadow:var(--e-sh-card)}
.e-table table{border-collapse:collapse;width:100%;min-width:680px;font-size:14px}
.e-table th{text-align:left;font-weight:500;font-size:var(--e-fs-meta);color:var(--e-muted);padding:14px 16px;background:var(--e-sunken)}
.e-table td{padding:14px 16px;vertical-align:middle} .e-table tr+tr td{box-shadow:inset 0 1px 0 var(--e-divider)}
.e-table code{font:400 12.5px/1.4 var(--e-mono)}
/* empty state: scout on the sky, one line, one way out */
.e-empty{display:grid;justify-items:center;text-align:center;gap:var(--e-s3);padding:var(--e-s10) var(--e-s6);border-radius:var(--e-r-card);background:var(--e-sunken)}
.e-empty__art{width:72px;height:72px;border-radius:50%;background:url(sky.webp) left center/cover;display:grid;place-items:center;box-shadow:var(--e-sh-card)}
.e-empty__art img{width:40%;image-rendering:pixelated}
.e-empty .e-lede{font-size:15px}
/* toast: one line, bottom centre, leaves by itself */
.e-toast{position:fixed;z-index:20;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,12px);opacity:0;pointer-events:none;padding:12px 18px;border-radius:12px;background:var(--e-ink);color:#fff;font:500 14px/1.2 var(--e-font);box-shadow:var(--e-sh-dialog);transition:opacity .2s,transform .2s var(--e-ease)}
.e-toast[data-show]{opacity:1;transform:translate(-50%,0)}
.e-toast--static{position:static;transform:none;opacity:1;display:inline-block;box-shadow:var(--e-sh-card)}
/* consent bar: privacy choice, two small keys */
.e-consent{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-s3) var(--e-s5);padding:16px 18px;border-radius:16px;background:var(--e-surface);box-shadow:var(--e-sh-dialog);font-size:var(--e-fs-small);max-width:640px}
.e-consent p{flex:1 1 260px;color:var(--e-muted)} .e-consent p b{color:var(--e-ink);font-weight:500}
.e-consent__keys{display:flex;gap:8px}
.e-consent[data-floating]{position:fixed;z-index:15;left:16px;right:16px;bottom:16px;margin-inline:auto}
/* while the floating consent bar shows, the page ends above it (as the landing does with body padding): bar + 16px inset + 16px air.
   Bar height measured in Chromium: 99px from 640px up, 121-150px from 380px, 172px below 380px. */
body:has(.e-consent[data-floating]:not([hidden])){padding-bottom:132px}
@media (max-width:639px){body:has(.e-consent[data-floating]:not([hidden])){padding-bottom:184px}}
@media (max-width:379px){body:has(.e-consent[data-floating]:not([hidden])){padding-bottom:206px}}

/* [hidden] always wins over a component's display */
.e-wrap [hidden],.e-dialog [hidden],[hidden]{display:none}

/* ================= 14. SITE ANATOMY (v2.2: added for the real pages; each defined once, also on the sheet) ================= */
.e-skip{position:absolute;left:-9999px;top:8px;z-index:20;padding:10px 14px;border-radius:10px;background:var(--e-surface);color:var(--e-ink);box-shadow:var(--e-sh-card)}
.e-skip:focus{left:12px}
button.e-link{border:0;background:none;padding:0;font:inherit;cursor:pointer}
.e-footer button.e-link{color:var(--e-meadow-ink);font-weight:400;text-decoration:none}
.e-footer button.e-link:hover{text-decoration:underline}
.e-row--wrap{flex-wrap:wrap;gap:8px 14px}
.e-stack--loose{gap:var(--e-s8)}
/* split hero: copy left, a figure right (skill pages, landing) */
.e-hero--split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:var(--e-s10);padding-block:var(--e-s12) var(--e-s10)}
.e-hero--split>.e-stack{justify-items:start;gap:var(--e-s4)}
.e-hero--split .e-title{font-size:var(--e-fs-hero);line-height:1.02;overflow-wrap:anywhere}
@media (max-width:980px){.e-hero--split{grid-template-columns:1fr;gap:var(--e-s8)}}
/* two columns: content + details aside */
.e-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--e-s10);align-items:start}
.e-cols>aside{padding:var(--e-s5);border-radius:var(--e-r-card);background:var(--e-surface);box-shadow:var(--e-sh-card)}
@media (max-width:900px){.e-cols{grid-template-columns:1fr}}
/* use chips: what a skill does */
.e-uses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.e-uses li{padding:8px 14px;border-radius:var(--e-r-pill);background:var(--e-surface);box-shadow:var(--e-sh-card);font-size:var(--e-fs-small);font-weight:500}
/* numbered steps as cards */
.e-steps-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.e-why{display:grid;gap:var(--e-s4)}
.e-why .e-row{flex-wrap:nowrap;align-items:center}
/* example run: header row, media, lists */
.e-run{margin:0;min-width:0}
.e-run__head{display:flex;align-items:baseline;gap:10px;font-size:var(--e-fs-small)}
.e-run__head b{font-weight:500}
.e-run__head span{color:var(--e-muted);font-size:var(--e-fs-meta)}
.e-run__media{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:14px;background:var(--e-sunken)}
.e-run__list{margin:0;padding-left:20px;display:grid;gap:6px;font-size:15px}
.e-run .e-h3{font-size:17px}
/* a card that is a button (switches a tab) */
.e-card--action{display:grid;gap:6px;text-align:left;font:inherit;color:inherit;border:0;cursor:pointer;width:100%}
.e-card--action .e-card__name::after{content:" \2192"}
.e-card .e-dl,.e-dl.e-card{padding:var(--e-s5)}
.e-dl ul{margin:6px 0 0;padding-left:18px;font-size:var(--e-fs-small);color:var(--e-muted)}
.e-plan__price s{text-decoration-thickness:2px;color:var(--e-muted)}
.e-faq--details{max-width:none}
.e-faq--details summary{align-items:center}
.e-faq--details summary .e-badge{margin-left:auto}
.e-faq--details details>div{color:var(--e-ink)}
.e-faq--details p{font-size:15px;color:var(--e-muted)}
.e-consent .consent-copy{flex:1 1 260px;display:grid;gap:2px}
.e-consent .consent-copy strong{font-weight:500}
.e-consent .consent-copy p{color:var(--e-muted)}
.e-consent__keys a{font-size:var(--e-fs-meta);color:var(--e-ink);align-self:center}
/* landing: cycling headline word (reduced motion keeps the first word) */
.e-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.e-cycle{display:inline-grid}
.e-cycle__w{grid-area:1/1;opacity:0;transform:translateY(.25em);transition:opacity .5s var(--e-ease),transform .5s var(--e-ease)}
.e-cycle__w.is-on{opacity:1;transform:none}
.e-cycle__w.is-out{opacity:0;transform:translateY(-.25em)}
/* landing: plain vs with-Edge comparison (real runs) */
.e-compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--e-s4)}
.e-compare__side{display:grid;align-content:start;justify-items:start;gap:var(--e-s3);padding:var(--e-s5);border-radius:var(--e-r-card);background:var(--e-sunken);min-width:0}
.e-compare__side--edge{background:var(--e-blue-soft)}
.e-compare__prompt{justify-self:start;max-width:none}
.e-chat{display:grid;gap:var(--e-s3);width:100%}
.e-chat p{max-width:90%;padding:10px 14px;border-radius:14px;background:var(--e-surface);font-size:15px;line-height:1.45;box-shadow:0 1px 2px #16251e14}
.e-chat b{display:block;font-size:var(--e-fs-meta);font-weight:500;color:var(--e-muted);margin-bottom:2px}
.e-chat__out{justify-self:end}
.e-shot{display:grid;gap:8px;margin:0;width:100%}
.e-shot b{font-size:var(--e-fs-meta);font-weight:500;color:var(--e-muted)}
.e-shot img{width:100%;height:auto;border-radius:12px;box-shadow:0 1px 2px #16251e1a}
.e-tagline{margin-top:var(--e-s8);text-align:center;font-size:clamp(28px,3vw,40px);letter-spacing:-.035em;font-weight:500}
@media (max-width:700px){.e-compare{grid-template-columns:1fr}}
/* forms: honeypot, success text */
.e-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.e-help--good,.e-help[data-tone=good]{color:var(--e-success)}
.e-help[data-tone=bad]{color:var(--e-error)}
.e-stack>.e-tabs{justify-self:start}
.e-dl .e-byline span{min-width:0}.e-dl .e-byline span span{white-space:normal}
.e-close__mark--avatar{background:none;box-shadow:none;width:auto;height:auto}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none;transition:none}}
