:root {
  color-scheme: light;
  --page: #faf9f6;
  --panel: #fff;
  --line: #dedbd3;
  --ink: #1b1a17;
  --dim: #5d5951;
  --green: #26241f;
  --green-hover: #3e3930;
  --green-soft: #f1efe9;
  --green-line: #d9d5ca;
  --amber: #76521c;
  --amber-soft: #fbf1df;
  --amber-line: #e0d0b0;
  --night: #11110f;
  --night-layer: #1a1916;
  --night-line: #3c382f;
  --paper: #faf7ef;
  --night-text: #c0baae;
  --gold: #d5b87e;
  --spring: cubic-bezier(.21, 1.42, .34, 1);
  --ease-out: cubic-bezier(.22, .61, .36, 1);
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --system: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  font-family: var(--system);
  background: var(--page);
  color: var(--ink);
  line-height: 1.6;
}
.workspace-shell {
  --page: #f8f9f5;
  --line: #dce4db;
  --ink: #172923;
  --dim: #52645b;
  --green: #24583f;
  --green-hover: #173e2c;
  --green-soft: #e6f0e8;
  --green-line: #cdded0;
  background: var(--page);
  color: var(--ink);
}
* { box-sizing: border-box; }
html { scroll-padding-top: 1.5rem; }
body { margin: 0; min-width: 280px; }
main { min-height: 53vh; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .64; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 2px solid #a47b3a; outline-offset: 3px; }
:where(h1, h2, h3, p, ul, ol, dl) { margin: 0; }
:where(h1, h2, h3) { line-height: 1.24; overflow-wrap: anywhere; }
[hidden] { display: none !important; }
.icon { width: 1.15em; height: 1.15em; flex: 0 0 auto; vertical-align: middle; }
.container { width: min(1160px, calc(100% - 88px)); margin-inline: auto; }
.mono { font-family: var(--mono); }
.sr-only, .skip:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip:focus { position: fixed; z-index: 2; top: 10px; left: 10px; padding: .55rem .8rem; background: white; color: var(--ink); }
.eyebrow { color: var(--green); font-size: .73rem; font-weight: 700; letter-spacing: .12em; }
.button {
  display: inline-flex; justify-content: center; align-items: center; gap: .55rem;
  border: 1px solid transparent; border-radius: .22rem; padding: .68rem .95rem;
  font-size: .9rem; line-height: 1.4; font-weight: 700; white-space: nowrap; min-height: 44px;
  transition: background .16s ease, border-color .16s ease, color .16s ease;
}
.workspace-shell .button { border-radius: .62rem; min-height: 42px; }
.button--primary { background: var(--green); color: #fff; }
.button--primary:hover { background: var(--green-hover); }
.button--outline { background: var(--panel); color: var(--green); border-color: var(--line); }
.button--outline:hover { background: var(--green-soft); border-color: #bcb5a8; }
.button--light { background: var(--paper); color: var(--night); }
.button--light:hover { background: #ecddbd; }
.button--dark-outline { border-color: #5d5547; color: var(--paper); background: transparent; }
.button--dark-outline:hover { background: #28241b; border-color: var(--gold); }
.button--danger { background: #842f22; color: #fff; }
.button--danger:hover { background: #62251c; }
.text-link { color: var(--green); font-weight: 650; text-decoration: underline; text-underline-offset: .21em; }
.text-link:hover { color: var(--amber); }
.text-button { padding: .3rem 0; border: 0; background: none; }

.topbar { background: var(--night); color: var(--paper); border-bottom: 1px solid var(--night-line); }
.topbar-inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 70px; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .6rem; font-size: 1.31rem; font-weight: 800; width: max-content; line-height: 1; letter-spacing: -.036em; }
.brand-cn { font-size: 1.04rem; letter-spacing: -.015em; margin-left: .32em; }
.brand-mark { display: inline-grid; width: 33px; height: 33px; place-items: center; border: 1px solid #605443; color: var(--gold); border-radius: .22rem; }
.brand-mark .icon { width: 21px; height: 21px; }
.main-nav { display: flex; align-self: stretch; gap: 1.6rem; }
.main-nav a { display: flex; align-items: center; position: relative; color: var(--night-text); font-size: .89rem; font-weight: 600; white-space: nowrap; padding-inline: .13rem; }
.main-nav a:hover, .main-nav a[aria-current] { color: var(--paper); }
.main-nav a[aria-current]::after { content: ""; position: absolute; inset: auto 0 -1px; height: 2px; background: var(--gold); }
.top-account { justify-self: end; padding-inline: .78rem; min-height: 39px; }
.top-account[aria-current] { border-color: var(--gold); }
.footer { border-top: 1px solid var(--night-line); background: var(--night); color: var(--paper); }
.footer-inner { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 2rem 3rem; padding-block: clamp(2rem, 5vw, 4.25rem); }
.footer p { color: var(--night-text); font-size: .89rem; margin-top: .9rem; }
.footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem 1.35rem; }
.footer-links > div { display: grid; justify-items: start; align-content: start; gap: .2rem; }
.footer-links h2 { color: var(--paper); font-size: .92rem; margin-bottom: .3rem; }
.footer-links a { color: var(--night-text); font-size: .86rem; padding-block: .17rem; }
.footer-links a:hover { color: var(--gold); text-decoration: underline; text-underline-offset: .2em; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .3rem 1rem; padding-block: .95rem; border-top: 1px solid var(--night-line); color: var(--night-text); font-size: .7rem; letter-spacing: .08em; }
.footer-bottom a:hover { color: var(--gold); text-decoration: underline; text-underline-offset: .2em; }

.public-site .button { border-radius: .7rem; }
.public-site .topbar-inner { grid-template-columns: auto minmax(0, 1fr) auto; }
.public-site .main-nav { justify-self: center; }
.topbar-actions { display: flex; justify-content: end; align-items: center; gap: .45rem; }
.public-site :is(.top-account, .top-upload) { min-height: 44px; padding-inline: .72rem; }
.public-site .brand-mark { border-radius: .55rem; }
.hero {
  position: relative; overflow: hidden; isolation: isolate; color: var(--paper);
  background: radial-gradient(ellipse at 50% 98%, #262218 0, #171611 52%, var(--night) 80%);
  border-bottom: 1px solid var(--night-line);
}
.hero-grid { display: grid; place-items: center; min-height: 498px; padding-block: clamp(4rem, 7vw, 6.5rem); }
.hero-copy { position: relative; z-index: 1; width: min(100%, 44rem); text-align: center; }
.product-kicker { display: flex; align-items: center; justify-content: center; gap: .65rem; color: var(--gold); font-size: .71rem; font-weight: 650; letter-spacing: .18em; }
.product-kicker > span { width: 7px; height: 7px; flex: none; border: 1px solid var(--gold); transform: rotate(45deg); }
.hero h1 { margin-top: 1.1rem; font-size: clamp(2.35rem, 5vw, 4.5rem); font-weight: 650; line-height: 1.17; }
.hero-wordmark { letter-spacing: -.008em; }
.hero-name { margin-inline-start: .06em; letter-spacing: .053em; white-space: nowrap; }
.hero-description { max-width: 32em; margin: 1.18rem auto 0; color: var(--night-text); font-size: clamp(1rem, 1.34vw, 1.18rem); line-height: 1.8; text-wrap: balance; }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.4rem; }
.hero-actions .button { min-height: 46px; padding-inline: 1.08rem; }
.hero-graphic { position: absolute; right: max(-10rem, calc((100% - 1450px) / 2)); bottom: -12.75rem; width: clamp(30rem, 58vw, 56rem); opacity: .42; pointer-events: none; mask-image: linear-gradient(110deg, transparent 12%, #000 60%); }
.hero-chart { display: block; width: 100%; font-family: var(--mono); }
.hero-search { width: min(100%, 30rem); margin: 1.9rem auto 0; }
.search-form { display: flex; gap: .65rem; align-items: center; padding: .25rem .25rem .25rem .9rem; background: var(--panel); border: 1px solid #cec8bb; border-radius: .9rem; min-width: 0; }
.search-form > .icon { color: var(--dim); }
.search-form input { min-width: 0; width: 100%; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--ink); }
.search-form input::placeholder { color: var(--dim); }
.search-form input:focus-visible { outline: none; }
.search-form:focus-within { border-color: #9c7941; box-shadow: 0 0 0 3px #ad8b462e; }
.search-form .button { padding-inline: 1.05rem; min-height: 44px; }
.search-shortcut { display: grid; place-items: center; flex: 0 0 1.45rem; height: 1.45rem; border: 1px solid var(--line); border-radius: .32rem; color: var(--dim); font: .74rem var(--mono); }
.hero .search-form { border-color: #4b4437; background: var(--night-layer); color-scheme: dark; }
.hero .search-form:focus-within { border-color: var(--gold); }
.hero .search-form > .icon, .hero .search-form input::placeholder { color: var(--night-text); }
.hero .search-form input { color: var(--paper); }
.hero .search-shortcut { border-color: #51493b; color: var(--night-text); }
.hero .search-form .button { color: var(--paper); background: #2b271e; border-color: #4b4437; }
.hero .search-form .button:hover { border-color: var(--gold); background: #373023; }

.section { padding-block: clamp(2.5rem, 5.25vw, 4.65rem); }
.section--soft { background: #f2f0ea; border-block: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: .8rem 1.5rem; margin-bottom: 1.5rem; }
.section-heading h2, .developer-banner h2 { font-size: clamp(1.8rem, 3.4vw, 2.7rem); margin-top: .4rem; letter-spacing: -.035em; }
.section-description { margin-top: .68rem; color: var(--dim); font-size: .95rem; max-width: 25em; }
.home-lanes .section-heading { margin-bottom: clamp(1.2rem, 3vw, 2rem); }
.lane-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.85rem, 2vw, 1.3rem); }
.lane-link {
  display: flex; flex-direction: column; align-items: start; min-height: 188px; padding: clamp(1.1rem, 3vw, 1.75rem);
  border: 1px solid var(--line); border-radius: 1rem; background: var(--panel);
  transition: background .17s ease, border-color .17s ease;
}
.lane-link:hover { background: #f5f3ee; border-color: #b5ad9c; }
.lane-link--paid { background: #fcf8ef; border-color: var(--amber-line); }
.lane-link--paid:hover { background: #fbf1df; border-color: #bca273; }
.lane-link-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; gap: .4rem .7rem; }
.lane-icon, .tab-icon, .plugin-icon, .empty-icon { display: inline-grid; place-items: center; flex: 0 0 auto; color: var(--green); background: var(--green-soft); border: 1px solid var(--green-line); border-radius: .65rem; }
.lane-icon { width: 46px; height: 46px; font-size: 1.25rem; }
.lane-link--paid :is(.lane-icon, .eyebrow, .lane-action) { color: var(--amber); }
.lane-link--paid .lane-icon { background: var(--amber-soft); border-color: var(--amber-line); }
.lane-link h3 { margin-top: .9rem; font-size: 1.35rem; letter-spacing: .01em; }
.lane-link p { margin: .42rem 0 1rem; color: var(--dim); font-size: .91rem; }
.lane-action { display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; color: var(--green); font-size: .84rem; font-weight: 700; }
.lane-link:hover .lane-action { text-decoration: underline; text-underline-offset: .2em; }
.steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.steps li { display: flex; flex-direction: column; align-items: start; padding: 1.18rem 1.25rem; border: 1px solid var(--line); border-radius: .85rem; background: var(--panel); }
.step-index { display: flex; align-items: center; justify-content: space-between; width: 100%; color: var(--amber); margin-bottom: .8rem; }
.step-index .mono { font-size: .8rem; letter-spacing: .12em; }
.step-index .icon { width: 1.35rem; height: 1.35rem; }
.steps h3 { font-size: 1.12rem; }
.steps p { color: var(--dim); font-size: .9rem; margin: .45rem 0 .75rem; }
.steps a { margin-top: auto; font-weight: 650; font-size: .86rem; }
.steps a:hover { text-decoration: underline; text-underline-offset: .2em; }
.home-lanes + .home-start { border-top: 1px solid var(--line); }
.home-developer { padding-bottom: clamp(2.5rem, 5.25vw, 4.65rem); }
.developer-banner { display: flex; justify-content: space-between; align-items: center; gap: 1.2rem 2.2rem; padding: clamp(1.3rem, 4vw, 3rem); border: 1px solid var(--night-line); border-radius: 1rem; background: radial-gradient(ellipse at 100% 0, #302719, var(--night) 70%); color: var(--paper); }
.developer-banner .eyebrow { color: var(--gold); }
.developer-banner h2 { font-size: clamp(1.65rem, 3.2vw, 2.35rem); }
.developer-banner p:not(.eyebrow) { color: var(--night-text); margin-top: .62rem; max-width: 36rem; font-size: .92rem; }
.developer-banner .developer-actions { margin-top: 0; }

.page-intro { padding-block: clamp(1.45rem, 3.2vw, 2.8rem) clamp(2rem, 4.25vw, 3.65rem); background: var(--green-soft); border-bottom: 1px solid var(--line); }
.theme-paid .detail-masthead { background: #f7f1e6; border-color: var(--amber-line); }
.breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .22rem .6rem; font-size: .82rem; color: var(--dim); margin-bottom: 1.15rem; overflow-wrap: anywhere; }
.breadcrumb a { color: var(--green); }
.breadcrumb a:hover { text-decoration: underline; text-underline-offset: .2em; }
.page-intro h1 { font-size: clamp(2rem, 4.8vw, 3.7rem); letter-spacing: -.045em; margin: .35rem 0 .58rem; }
.intro-text { max-width: 44em; font-size: clamp(.96rem, 1.65vw, 1.08rem); color: var(--dim); line-height: 1.75; overflow-wrap: anywhere; }
.page-intro > .container > .button { margin-top: 1rem; }
.catalog-intro { background: radial-gradient(ellipse at 85% 0, #2b2418, var(--night) 72%); color: var(--paper); border-color: var(--night-line); padding-block: 1.35rem clamp(2.2rem, 4vw, 3.4rem); }
.catalog-intro :is(.breadcrumb, .breadcrumb a, .intro-text) { color: var(--night-text); }
.catalog-intro .eyebrow { color: var(--gold); }
.catalog-intro h1 { font-size: clamp(2.15rem, 4.6vw, 3.7rem); letter-spacing: .025em; }
.catalog-intro-layout { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; }
.catalog-index { display: flex; align-items: center; gap: 1rem; color: var(--gold); font-size: .74rem; letter-spacing: .11em; text-align: start; }
.catalog-index .mono { white-space: nowrap; }
.catalog-index .mono span { display: block; color: var(--night-text); margin-top: .2rem; }
.catalog-index-mark { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid #5d5444; outline: 1px solid #39342a; outline-offset: 5px; border-radius: 50%; }
.catalog-index-mark .icon { width: 31px; height: 31px; }
.catalog-section { padding-top: clamp(1.2rem, 3vw, 2.25rem); }
.catalog-command {
  position: relative; display: grid; grid-template-columns: minmax(0, 27rem) minmax(0, 1fr); align-items: center; gap: .8rem 1.3rem;
  padding: .65rem; border: 1px solid var(--line); border-radius: 1.1rem; background: var(--panel);
  box-shadow: 0 .65rem 1.6rem -.9rem #26201627;
}
.tabs { --tab-inset: .3rem; --tab-gap: .3rem; position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tab-gap); padding: var(--tab-inset); border-radius: .77rem; background: #f0eee8; }
.tabs::before {
  content: ""; position: absolute; inset: var(--tab-inset) auto var(--tab-inset) var(--tab-inset);
  width: calc((100% - var(--tab-inset) - var(--tab-inset) - var(--tab-gap)) / 2);
  border: 1px solid #ded8cb; border-radius: .58rem; background: var(--panel); box-shadow: 0 2px 5px #3e342011;
  pointer-events: none;
}
[data-lane="paid"] .tabs::before { transform: translateX(calc(100% + var(--tab-gap))); background: #fffaf0; border-color: var(--amber-line); }
.tabs a { position: relative; z-index: 1; display: flex; align-items: center; gap: .65rem; padding: .57rem .69rem; min-width: 0; min-height: 53px; border: 1px solid transparent; border-radius: .58rem; }
.tabs a[aria-current] { color: var(--ink); }
.tabs a:hover { border-color: #b9ad96; }
.tab-icon { width: 34px; height: 34px; border-radius: .52rem; }
.tab-copy { display: grid; gap: .09rem; min-width: 0; font-weight: 700; font-size: .94rem; }
.tab-copy small { color: var(--dim); font-size: .72rem; font-weight: 600; }
.tabs a:nth-child(2) :is(.tab-icon, .tab-copy small) { color: var(--amber); }
.tabs a:nth-child(2) .tab-icon { background: var(--amber-soft); border-color: var(--amber-line); }
.catalog-tools { display: flex; align-items: center; gap: .52rem; min-width: 0; }
.catalog-tools .search-form { flex: 1; }
.catalog-tools input::-webkit-search-cancel-button { -webkit-appearance: none; }
.catalog-clear { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding-inline: .3rem; color: var(--dim); border-radius: .55rem; font-size: .83rem; white-space: nowrap; }
.catalog-clear:hover { background: var(--green-soft); color: var(--ink); }
.catalog-disclosure { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .8rem; padding: .95rem .15rem; color: var(--dim); border-bottom: 1px solid var(--line); font-size: .86rem; }
.catalog-error { margin-top: 1rem; padding: .7rem .9rem; border: 1px solid var(--amber-line); border-radius: .65rem; background: var(--amber-soft); color: var(--amber); font-size: .88rem; }
.catalog-error a { font-weight: 700; text-decoration: underline; text-underline-offset: .18em; }
.catalog-results { margin-top: clamp(1.6rem, 3.6vw, 2.45rem); min-height: 13.4rem; }
.catalog-label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: 1.05rem; }
.catalog-label h2 { font-size: clamp(1.25rem, 2.6vw, 1.55rem); letter-spacing: .025em; }
.catalog-count { padding: .29rem .62rem; border-radius: 999px; background: var(--green-soft); color: var(--dim); font-size: .76rem; }
[data-catalog][data-loading] .catalog-command::after { content: ""; position: absolute; bottom: -2px; left: 1rem; width: calc(100% - 2rem); height: 2px; background: #aa8346; border-radius: 2px; }
[data-catalog][data-loading] .catalog-results { opacity: .75; }
.pagination { display: flex; justify-content: end; flex-wrap: wrap; gap: .55rem; margin-top: 1.25rem; }
.badge { display: inline-flex; align-items: center; gap: .3rem; width: fit-content; max-width: 100%; padding: .24rem .5rem; border-radius: .42rem; border: 1px solid transparent; font-size: .73rem; line-height: 1.4; font-weight: 700; overflow-wrap: anywhere; }
.badge .icon { width: 1em; height: 1em; }
.badge--free { color: var(--green); background: var(--green-soft); border-color: var(--green-line); }
.badge--paid { color: var(--amber); background: var(--amber-soft); border-color: var(--amber-line); }
.badge--neutral { color: var(--dim); background: var(--green-soft); border-color: var(--line); }
.plugin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.plugin-card { display: flex; flex-direction: column; position: relative; min-width: 0; padding: 1.3rem; border: 1px solid var(--line); border-radius: .95rem; background: var(--panel); transition: border-color .17s ease; }
.plugin-card:hover, .plugin-card:focus-within { border-color: #a19783; }
.plugin-card-top { display: flex; align-items: start; justify-content: space-between; gap: .5rem; margin-bottom: .8rem; }
.plugin-icon { width: 42px; height: 42px; font-size: 1.21rem; }
.theme-paid .plugin-icon { color: var(--amber); background: var(--amber-soft); border-color: var(--amber-line); }
.plugin-card h3 { font-size: 1.22rem; }
.plugin-card h3 a::after { content: ""; position: absolute; inset: 0; }
.plugin-card h3 a:hover { text-decoration: underline; text-underline-offset: .17em; }
.plugin-card-id { color: var(--dim); font-size: .78rem; margin-top: .22rem; overflow-wrap: anywhere; }
.plugin-card p { margin: .52rem 0 .95rem; color: var(--dim); font-size: .88rem; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.plugin-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .42rem; margin-top: auto; padding-top: .65rem; border-top: 1px solid var(--line); color: var(--dim); font-size: .8rem; overflow-wrap: anywhere; }
.plugin-card-version { display: inline-flex; align-items: center; gap: .55rem; color: var(--green); min-width: 0; }
.empty { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .8rem 1.15rem; min-height: 146px; padding: clamp(1rem, 3vw, 1.8rem); border: 1px solid var(--line); border-radius: 1rem; background: var(--panel); }
.empty-icon { width: 47px; height: 47px; font-size: 1.22rem; }
.theme-paid .empty-icon { color: var(--amber); background: var(--amber-soft); border-color: var(--amber-line); }
.empty h3 { font-size: 1.05rem; }
.empty p { color: var(--dim); font-size: .88rem; margin-top: .25rem; }

.detail-intro { display: flex; gap: clamp(.7rem, 2.4vw, 1.2rem); align-items: start; }
.detail-intro > div { min-width: 0; }
.plugin-icon--large { width: clamp(52px, 7vw, 74px); height: clamp(52px, 7vw, 74px); font-size: clamp(1.55rem, 3vw, 2.3rem); }
.detail-intro h1 { margin-top: .42rem; }
.detail-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .9rem; color: var(--dim); font-size: .86rem; margin-top: .8rem; overflow-wrap: anywhere; }
.detail-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; margin-top: 1.15rem; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 355px); align-items: start; gap: 1rem; }
.detail-body, .version-list, .docs-body { display: grid; gap: .85rem; }
.info-panel, .install-panel { background: var(--panel); border: 1px solid var(--line); border-radius: .22rem; padding: clamp(1rem, 2.5vw, 1.55rem); min-width: 0; }
.workspace-shell .info-panel { border-radius: .85rem; }
.info-panel h2, .install-panel h2 { font-size: 1.29rem; }
.info-panel h3 { font-size: 1rem; margin-top: .95rem; }
.info-panel p, .install-panel p { color: var(--dim); overflow-wrap: anywhere; margin-top: .6rem; }
.info-panel .eyebrow, .install-panel .eyebrow { margin: 0 0 .38rem; color: var(--amber); }
.info-panel > a { display: inline-flex; align-items: center; gap: .25em; margin-top: .85rem; }
.install-panel { position: sticky; top: 1rem; background: #f1efe8; }
.theme-paid .install-panel { background: #fbf2e1; border-color: var(--amber-line); }
.install-panel .badge { margin-top: .65rem; }
.install-panel .button--primary { width: 100%; white-space: normal; }
.install-panel .install-secondary { display: flex; flex-wrap: wrap; gap: .35rem .75rem; font-size: .86rem; }
.install-panel .fine { font-size: .82rem; margin-top: .8rem; border-top: 1px solid var(--line); padding-top: .65rem; }
pre { overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; margin-block: .6rem .9rem; padding: .65rem .75rem; border-radius: .22rem; border: 1px solid var(--line); background: var(--green-soft); font: .83rem/1.65 var(--mono); }
.locator { background: var(--panel); }
.facts { display: grid; grid-template-columns: minmax(6rem, .38fr) minmax(0, 1fr); gap: .55rem .82rem; font-size: .9rem; margin-top: .78rem; }
.facts dt { color: var(--dim); overflow-wrap: anywhere; }
.facts dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.preserve { white-space: pre-wrap; }
.tool-list { display: grid; gap: .5rem; padding-inline-start: 1.15rem; margin-top: .6rem; overflow-wrap: anywhere; }
.tool-list span { display: block; color: var(--dim); font-size: .86rem; }
.title-note { display: inline-block; font-size: .65em; letter-spacing: -.02em; color: var(--dim); margin-left: .45em; }
.version-heading { display: flex; justify-content: space-between; align-items: start; flex-wrap: wrap; gap: .65rem; }
.version-heading h2 { margin-top: .5rem; font-family: var(--mono); }
.version-heading h2 a:hover { text-decoration: underline; }
.version-heading p { font-size: .84rem; }
.version-list .preserve { margin-top: .78rem; padding-top: .78rem; border-top: 1px solid var(--line); }
.docs-grid { display: grid; grid-template-columns: minmax(165px, 225px) minmax(0, 1fr); gap: 1rem; align-items: start; }
.docs-nav { position: sticky; top: 1rem; display: grid; gap: .16rem; padding: .6rem; border: 1px solid var(--line); background: var(--panel); border-radius: .22rem; }
.docs-nav a { color: var(--green); font-size: .88rem; padding: .46rem .55rem; border-radius: .22rem; }
.docs-nav a:hover, .developer-nav a[aria-current] { background: var(--green-soft); }
.docs-body ol { padding-inline-start: 1.3rem; margin-top: .6rem; }
.docs-body li + li { margin-top: .4rem; }
.docs-body a, .developer-article a { color: var(--green); text-decoration: underline; text-underline-offset: .18em; }
.docs-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .65rem; }
.developer-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.05rem; }
.developer-nav a[aria-current] { font-weight: 750; }
.developer-article { overflow-wrap: anywhere; line-height: 1.72; padding: clamp(1rem, 3.4vw, 2.2rem); }
.developer-article > :first-child { margin-top: 0; }
.developer-article h2 { margin: 1.65rem 0 .5rem; }
.developer-article h3 { margin: 1.3rem 0 .4rem; }
.developer-article :is(ol, ul) { padding-inline-start: 1.35rem; margin-block: .65rem; }
.developer-article li + li { margin-top: .35rem; }
.developer-article code { font-family: var(--mono); }
.developer-article :not(pre) > code { color: var(--green-hover); background: var(--green-soft); padding: .08rem .24rem; border-radius: .18rem; }
.developer-article pre { white-space: pre; }
.developer-article blockquote { border-inline-start: 3px solid var(--green-line); padding-inline-start: .8rem; margin: .9rem 0; }
.doc-table { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: .22rem; margin-block: .75rem 1rem; }
.doc-table table { width: 100%; border-collapse: collapse; font-size: .89rem; }
.doc-table :is(th, td) { padding: .5rem .62rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.doc-table th { background: var(--green-soft); color: var(--green-hover); }
.doc-table tbody tr:last-child td { border-bottom: 0; }
.developer-next { display: flex; justify-content: end; border-top: 1px solid var(--line); margin-top: 1.65rem; padding-top: .9rem; font-weight: 650; }
.developer-next .icon { vertical-align: middle; }

.workspace { min-height: 340px; }
.workspace--auth { max-width: 650px; }
.workspace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.workspace-grid > .notice { grid-column: 1 / -1; margin: 0; }
.workspace-panel > .panel-description { font-size: .91rem; margin-bottom: .9rem; }
.account-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; padding: .8rem 1rem; border-radius: .65rem; border: 1px solid var(--green-line); margin-bottom: 1rem; background: #eff5ec; }
.account-bar strong { display: block; overflow-wrap: anywhere; }
.account-bar .action-form { margin: 0; }
.account-actions { display: flex; flex-wrap: wrap; align-items: start; gap: .5rem; }
.notice { border: 1px solid var(--green-line); border-radius: .6rem; padding: .75rem 1rem; background: #eef5eb; color: #365444; font-size: .91rem; margin-bottom: 1rem; overflow-wrap: anywhere; }
.notice--error { background: #fff0eb; color: #7a3125; border-color: #efc8bd; }
.notice--secret { background: #f2f8ef; }
.notice--secret h2 { font-size: 1.18rem; margin-bottom: .32rem; }
.secret-code { display: block; background: #fff; border: 1px solid var(--green-line); border-radius: .5rem; margin-block: .6rem; padding: .56rem .7rem; font-size: .96rem; overflow-wrap: anywhere; user-select: all; }
.form-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.auth-options { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: .62rem; }
.record { border: 1px solid var(--line); background: #fdfefa; border-radius: .65rem; padding: .78rem; margin-top: .65rem; min-width: 0; }
.record-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .45rem; align-items: baseline; }
.record-heading h3 { margin: 0; font-size: 1rem; }
.record > .badge { margin-top: .45rem; }
.record .facts { margin-top: .55rem; }
.empty-inline { padding: .55rem .65rem; background: #f4f7f1; border: 1px dashed var(--line); border-radius: .5rem; font-size: .88rem; }
.action-form { display: grid; gap: .65rem; justify-items: start; margin-top: .7rem; }
.action-form > .button { white-space: normal; }
.field { display: grid; gap: .22rem; width: 100%; }
.field-label { font-size: .89rem; font-weight: 700; }
.field small { color: var(--dim); font-size: .8rem; }
.field :is(input, textarea, select) { width: 100%; min-width: 0; border: 1px solid #c8d5ca; border-radius: .5rem; background: #fff; color: var(--ink); padding: .55rem .65rem; }
.field input[type="file"] { font-size: .88rem; }
.field textarea { resize: vertical; }
.field--check { display: flex; gap: .55rem; align-items: start; }
.field--check input { width: 1.03rem; height: 1.03rem; margin: .22rem 0 0; flex: 0 0 auto; accent-color: var(--green); }
.action-disclosure { margin-top: .58rem; }
.action-disclosure > summary { color: var(--green); font-size: .9rem; font-weight: 700; width: fit-content; cursor: pointer; padding-block: .25rem; }
.action-disclosure[open] { border-top: 1px solid var(--line); padding-top: .45rem; }
.feedback { color: var(--dim); font-size: .86rem; overflow-wrap: anywhere; }
.feedback:empty { display: none; }
.feedback.feedback--error { color: #842f22; }


.install-panel .feedback:empty { display: block; margin: 0; }

@media (max-width: 960px) {
  .container { width: calc(100% - 58px); }
  .plugin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .public-site .topbar-inner { grid-template-columns: minmax(0, 1fr) auto; gap: .22rem .5rem; padding-top: .55rem; }
  .public-site .main-nav { grid-column: 1 / -1; justify-self: stretch; justify-content: space-between; }
  .public-site .main-nav a { min-height: 44px; }
  .topbar-actions { grid-row: 1; grid-column: 2; }
  .catalog-command { grid-template-columns: minmax(0, 1fr); gap: .55rem; }
}
@media (max-width: 760px) {
  .hero-grid { min-height: 0; padding-block: clamp(3.8rem, 9vw, 5.2rem); }
  .hero h1 { font-size: clamp(2.35rem, 8.2vw, 4rem); }
  .hero-graphic { right: -13rem; bottom: -9rem; opacity: .33; }
  .catalog-index { display: none; }
  .detail-grid { grid-template-columns: minmax(0, 1fr); }
  .install-panel { position: static; grid-row: 1; }
  .footer-inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .container { width: calc(100% - 34px); }
  .topbar-inner { grid-template-columns: minmax(0, 1fr) auto; gap: .18rem .5rem; padding-top: .55rem; }
  .top-account { grid-row: 1; grid-column: 2; font-size: .82rem; min-height: 36px; }
  .main-nav { grid-column: 1 / -1; justify-content: space-between; gap: .3rem; margin-top: .25rem; }
  .main-nav a { padding: .43rem .16rem; min-height: 40px; font-size: .82rem; }
  .hero-description { margin-top: .92rem; }
  .hero-search { margin-top: 1.5rem; }
  .hero-actions { margin-top: 1.15rem; }
  .lane-grid { grid-template-columns: minmax(0, 1fr); }
  .lane-link { min-height: 0; }
  .section-heading { align-items: start; flex-direction: column; gap: .7rem; }
  .steps, .docs-grid, .workspace-grid { grid-template-columns: minmax(0, 1fr); }
  .docs-nav { position: static; display: flex; flex-wrap: wrap; }
  .developer-banner { flex-direction: column; align-items: start; }
  .catalog-section { padding-top: 1rem; }
}
@media (max-width: 440px) {
  .public-site .top-account span { display: none; }
  .public-site .top-account { min-width: 44px; }
  .hero h1 { font-size: clamp(1.92rem, 9vw, 2.65rem); }
  .hero-actions .button { padding-inline: .7rem; }
  .search-shortcut { display: none; }
  .search-form { gap: .42rem; padding-inline-start: .55rem; }
  .search-form .button { padding-inline: .65rem; }
  .search-form input { font-size: .95rem; }
  .catalog-command { padding: .45rem; }
  .plugin-grid { grid-template-columns: minmax(0, 1fr); }
  .tabs a { gap: .42rem; padding-inline: .43rem; }
  .tab-icon { width: 29px; height: 29px; }
  .facts { grid-template-columns: minmax(4.6rem, .39fr) minmax(0, 1fr); gap: .4rem .5rem; }
  .empty { grid-template-columns: auto minmax(0, 1fr); }
  .empty > .button { grid-column: 2; justify-self: start; }
}
@media (max-width: 330px) {
  .public-site .topbar .container { width: calc(100% - 24px); }
  .public-site .brand { gap: .4rem; font-size: 1.02rem; }
  .public-site .brand-cn { font-size: .84rem; margin-left: .22em; }
  .public-site .brand-mark { width: 28px; height: 28px; }
  .public-site .top-upload { padding-inline: .56rem; font-size: .8rem; }
  .catalog-tools .search-form > .icon { display: none; }
  .tabs a { gap: .34rem; padding-inline: .35rem; }
  .tab-icon { width: 23px; height: 25px; }
}
@media (pointer: coarse) {
  .search-shortcut { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
  :is(.public-site .button, .lane-link, .tabs a, .plugin-card, .workspace-shell .button, .admin-metric, .admin-filters a) {
    transition: transform .26s var(--spring), background-color .16s var(--ease-out),
      border-color .16s var(--ease-out), box-shadow .2s var(--ease-out), color .16s var(--ease-out);
  }
  :is(.workspace-shell .button:not(:disabled), .admin-metric, .admin-filters a):active {
    transform: translateY(1px) scale(.97);
    transition-duration: .085s;
    transition-timing-function: ease-out;
  }
  :root:not([data-spring-motion]) :is(.public-site .button:not(:disabled), .lane-link, .tabs a, .plugin-card):active { scale: .965; }
  .tabs::before { transition: transform .42s var(--spring), background-color .2s var(--ease-out), border-color .2s var(--ease-out); }
  .catalog-command::after { transform-origin: left; animation: xpi-loading .65s var(--ease-out) alternate infinite; }
  .catalog-results { transition: opacity .16s var(--ease-out); }
  .catalog-results-enter { animation: xpi-arrive .32s var(--ease-out); }
  .lane-action .icon, .plugin-card-version .icon { transition: transform .28s var(--spring); }
  .button[data-copy-state="copied"] .icon {
    animation: xpi-pop .32s var(--spring);
  }
  @media (hover: hover) and (pointer: fine) {
    :is(.lane-link, .plugin-card):hover, .admin-metric:hover:not(:active) {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px -14px #231b1052;
    }
    .lane-link:hover .lane-action .icon, .plugin-card:hover .plugin-card-version .icon { transform: translateX(.22rem); }
  }
}
.public-site :is(.button, .lane-link, .plugin-card, .tabs a, .catalog-clear)[data-spring-pressed] { border-color: #b1945e; box-shadow: inset 0 1px 3px #231b1025; }
@keyframes xpi-loading {
  from { transform: scaleX(.15); opacity: .7; }
  to { transform: scaleX(1); opacity: 1; }
}
@keyframes xpi-arrive {
  from { opacity: .8; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes xpi-pop {
  0% { transform: scale(.9); }
  60% { transform: scale(1.12); }
  100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
