/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme {
  :root,
  :host {
    --font-sans:
      ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *,
  :after,
  :before,
  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  html,
  :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(
      --default-font-family,
      ui-sans-serif,
      system-ui,
      sans-serif,
      "Apple Color Emoji",
      "Segoe UI Emoji",
      "Segoe UI Symbol",
      "Noto Color Emoji"
    );
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(
      --default-mono-font-family,
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace
    );
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(
      --default-mono-font-variation-settings,
      normal
    );
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    vertical-align: middle;
    display: block;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or
    (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }
    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button {
    height: auto;
  }
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer components;
@layer utilities {
  .visible {
    visibility: visible;
  }
  .visible\! {
    visibility: visible !important;
  }
  .relative {
    position: relative;
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .table {
    display: table;
  }
  .grow {
    flex-grow: 1;
  }
}
:root {
  --g: #0d653e;
  --ink: #111919;
  --mut: #65716d;
  --line: #dbe3de;
  --paper: #fbfcfa;
  --serif: Georgia, "Noto Serif SC", "Songti SC", serif;
  --sans: Inter, "Noto Sans SC", "Microsoft YaHei", sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  margin: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  display: block;
}
button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}
button {
  cursor: pointer;
}
body > header {
  z-index: 50;
  -webkit-backdrop-filter: blur(17px);
  backdrop-filter: blur(17px);
  background: #fbfcfaf0;
  border-bottom: 1px solid #dbe3de99;
  grid-template-columns: 180px 1fr 190px;
  align-items: center;
  height: 78px;
  padding: 0 5vw;
  display: grid;
  position: sticky;
  top: 0;
}
.logo {
  letter-spacing: -1.7px;
  font-size: 27px;
}
.logo i {
  color: #2fa86b;
  vertical-align: top;
  margin-left: 3px;
  font-size: 16px;
  font-style: normal;
}
header nav {
  justify-content: center;
  gap: clamp(22px, 3vw, 46px);
  height: 100%;
  display: flex;
}
header nav a {
  color: #39433f;
  white-space: nowrap;
  align-items: center;
  height: 100%;
  font-size: 13px;
  display: flex;
  position: relative;
}
header nav a:after {
  content: "";
  background: var(--g);
  height: 1px;
  transition: all 0.25s;
  position: absolute;
  bottom: 20px;
  left: 50%;
  right: 50%;
}
header nav a:hover:after,
header nav a.on:after {
  left: 0;
  right: 0;
}
header nav a.on {
  color: var(--g);
  font-weight: 650;
}
.tools {
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  display: flex;
}
.tools button {
  background: 0 0;
  border: 0;
  font-size: 11px;
}
.tools > a {
  background: var(--g);
  color: #fff;
  border-radius: 9px;
  align-items: center;
  gap: 18px;
  height: 38px;
  padding: 0 15px;
  font-size: 12px;
  display: flex;
  position: relative;
  overflow: hidden;
}
.tools > a:after,
.partform:after {
  content: "";
  background: linear-gradient(110deg, #0000 47%, #ffffff18 50%, #0000 53%);
  animation: 9s infinite shine;
  position: absolute;
  inset: -80%;
}
.menu {
  background: 0 0;
  border: 0;
  display: none;
}
.site {
  min-height: 75vh;
}
.hero {
  text-align: center;
  border-bottom: 1px solid var(--line);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: calc(100vh - 78px);
  min-height: 650px;
  max-height: 920px;
  padding: 60px 20px;
  display: flex;
  position: relative;
}
.hero > span,
.sectiontitle span,
.pagehead > span,
.copy > span,
.story span,
.principles > span,
.parthead > span,
.account > div > span {
  letter-spacing: 0.22em;
  color: var(--g);
  font-size: 10px;
  font-weight: 700;
}
.hero h1 {
  font: 500 clamp(48px, 6.4vw, 88px) / 1.08 var(--serif);
  letter-spacing: -0.055em;
  margin: 24px 0;
}
.hero p {
  color: var(--mut);
  margin: 0;
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.8;
}
.hero > div,
.actions {
  align-items: center;
  gap: 30px;
  margin-top: 38px;
  display: flex;
}
.hero > small {
  color: var(--g);
  animation: 4s infinite breathe;
  position: absolute;
  bottom: 25px;
}
.primary {
  background: var(--g);
  color: #fff;
  border: 0;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  gap: 34px;
  min-height: 47px;
  padding: 0 22px;
  font-size: 13px;
  font-weight: 650;
  display: inline-flex;
  box-shadow: 0 10px 30px #0d653e22;
}
.primary:hover {
  background: #074e2f;
  transform: translateY(-2px);
}
.textlink {
  border-bottom: 1px solid #9aa7a0;
  padding: 12px 0;
  font-size: 13px;
}
.section {
  width: min(1240px, 100% - 48px);
  margin: auto;
  padding: 105px 0;
}
.sectiontitle h2 {
  font: 500 clamp(34px, 4vw, 52px) / 1.2 var(--serif);
  letter-spacing: -0.035em;
  margin: 16px 0 12px;
}
.sectiontitle p {
  color: var(--mut);
}
.sectiontitle.center {
  text-align: center;
  max-width: 850px;
  margin: 0 auto 50px;
}
.cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
  display: grid;
}
.card {
  border-top: 1px solid #b7c4bd;
  padding-top: 20px;
  transition: all 0.3s;
}
.card:hover {
  border-color: var(--g);
  transform: translateY(-5px);
}
.cardtop {
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  display: flex;
}
.cardtop img {
  object-fit: contain;
  border-radius: 10px;
  width: 44px;
  height: 44px;
}
.cardtop h3 {
  margin: 0 0 4px;
  font-size: 16px;
}
.cardtop span {
  color: var(--g);
  font-size: 10px;
}
.scene {
  object-fit: cover;
  border-radius: 9px;
  width: 100%;
  height: 220px;
}
.card > div:last-child {
  justify-content: space-between;
  padding-top: 17px;
  font-size: 12px;
  display: flex;
}
.case,
.growth {
  border-top: 1px solid var(--line);
}
.steps {
  grid-template-columns: repeat(3, 1fr);
  gap: 70px;
  display: grid;
}
.steps article > b {
  border: 1px solid var(--g);
  width: 40px;
  height: 40px;
  color: var(--g);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  display: flex;
}
.steps article > div {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  flex-direction: column;
  gap: 14px;
  height: 220px;
  margin: 20px 0;
  padding: 28px;
  display: flex;
  box-shadow: 0 20px 60px #1a412e0b;
}
.steps i {
  background: #edf2ee;
  border-radius: 3px;
  width: 86%;
  height: 13px;
}
.steps i:first-child {
  background: #dce9e1;
  width: 63%;
}
.steps i:last-child {
  width: 74%;
}
.steps h3 {
  font-size: 17px;
}
.steps p {
  color: var(--mut);
  font-size: 13px;
}
.growth > a {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 50px 120px 110px 1fr 20px;
  align-items: center;
  gap: 18px;
  min-height: 76px;
  font-size: 12px;
  display: grid;
}
.growth > a:first-of-type {
  border-top: 1px solid #b3c0b9;
  margin-top: 35px;
}
.growth > a i {
  font: normal 14px var(--serif);
  color: #98a39d;
}
.growth > a b {
  color: var(--g);
}
.growth > a time {
  color: #77827e;
}
.growth > a strong {
  font-size: 13px;
  font-weight: 500;
}
.pagehead {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 180px minmax(420px, 720px) 1fr;
  align-items: end;
  gap: 50px;
  height: 335px;
  padding: 0 6vw 68px;
  display: grid;
}
.pagehead h1 {
  font: 500 clamp(40px, 4.6vw, 62px) / 1.12 var(--serif);
  letter-spacing: -0.045em;
  margin: 0;
}
.pagehead p {
  color: var(--mut);
  max-width: 420px;
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}
.rail {
  z-index: 40;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
  background: #fbfcfaf2;
  align-items: center;
  gap: 10px;
  height: 108px;
  padding: 0 6vw;
  display: flex;
  position: sticky;
  top: 78px;
  overflow-x: auto;
}
.rail button {
  opacity: 0.52;
  background: 0 0;
  border: 0;
  border-bottom: 2px solid #0000;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-width: 110px;
  height: 72px;
  display: flex;
}
.rail button.on {
  opacity: 1;
  border-color: var(--g);
  background: linear-gradient(#0000, #eff5f0);
}
.rail img {
  object-fit: contain;
  border-radius: 7px;
  width: 32px;
  height: 32px;
}
.rail span {
  white-space: nowrap;
  font-size: 10px;
}
.detail {
  grid-template-columns: minmax(360px, 0.8fr) minmax(520px, 1.2fr);
  gap: 7vw;
  width: min(1360px, 100% - 48px);
  margin: auto;
  padding: 75px 0 110px;
  display: grid;
}
.copy {
  padding-top: 18px;
}
.apptitle {
  align-items: center;
  gap: 17px;
  margin: 20px 0 42px;
  display: flex;
}
.apptitle img {
  object-fit: contain;
  border-radius: 13px;
  width: 60px;
  height: 60px;
}
.apptitle h2 {
  font: 500 41px var(--serif);
  margin: 0;
}
.apptitle small {
  color: var(--g);
}
.problem {
  border-left: 2px solid var(--g);
  padding-left: 22px;
}
.problem b {
  font-size: 12px;
}
.problem p,
.copy > p,
.release > p {
  color: #53605b;
  font-size: 15px;
  line-height: 1.95;
}
.copy > p {
  margin: 26px 0;
}
.platform {
  border: 1px solid #c8d3cd;
  border-radius: 5px;
  padding: 6px 10px;
  font-size: 10px;
  display: inline-block;
}
.screens {
  background: #edf2ee;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 28px 80px #18362916;
}
.screens > div {
  color: #65716d;
  justify-content: space-between;
  padding: 0 3px 13px;
  font-size: 10px;
  display: flex;
}
.screens > button {
  background: #dfe7e2;
  border: 0;
  border-radius: 8px;
  width: 100%;
  height: 520px;
  padding: 0;
  position: relative;
  overflow: hidden;
}
.screens > button img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.screens > button i {
  color: #fff;
  font: normal 10px var(--sans);
  background: #14241fbb;
  border-radius: 5px;
  padding: 7px;
  position: absolute;
  bottom: 10px;
  right: 10px;
}
.screens aside {
  gap: 9px;
  padding-top: 12px;
  display: flex;
  overflow: auto;
}
.screens aside button {
  opacity: 0.55;
  background: 0 0;
  border: 1px solid #0000;
  border-radius: 6px;
  min-width: 70px;
  height: 64px;
  padding: 4px;
}
.screens aside button.on {
  opacity: 1;
  background: #fff;
  border-color: #7da68e;
}
.screens aside img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.logs {
  width: min(900px, 100% - 48px);
  margin: auto;
  padding: 80px 0 120px;
}
.logs article {
  border-bottom: 1px solid var(--line);
  margin-bottom: 48px;
  padding-bottom: 48px;
}
.logs article > div {
  color: #75817c;
  gap: 20px;
  font-size: 10px;
  display: flex;
}
.logs article > div span {
  color: var(--g);
}
.logs h2 {
  font: 500 34px/1.3 var(--serif);
  margin: 17px 0;
}
.logs p {
  color: var(--mut);
  line-height: 1.8;
}
.logs a {
  border-bottom: 1px solid #9ca8a1;
  padding-bottom: 6px;
  font-size: 12px;
}
.downloads {
  grid-template-columns: 330px 1fr;
  gap: 75px;
  width: min(1240px, 100% - 48px);
  margin: auto;
  padding: 72px 0 120px;
  display: grid;
}
.downloads > aside {
  border-top: 1px solid #afbbb4;
}
.downloads > aside button {
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  background: 0 0;
  grid-template-columns: 38px 1fr 20px;
  align-items: center;
  gap: 13px;
  width: 100%;
  height: 68px;
  padding: 0 8px;
  display: grid;
}
.downloads > aside button.on {
  color: var(--g);
  background: #f0f5f1;
  padding-left: 15px;
}
.downloads > aside img {
  object-fit: contain;
  width: 33px;
  height: 33px;
}
.downloads > aside span {
  font-size: 12px;
}
.release {
  border-left: 1px solid var(--line);
  padding-left: 58px;
}
.facts {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  grid-template-columns: repeat(3, 1fr);
  margin: 35px 0;
  display: grid;
}
.facts div {
  padding: 18px 13px;
}
.facts div + div {
  border-left: 1px solid var(--line);
}
.facts span {
  color: #78837e;
  margin-bottom: 7px;
  font-size: 9px;
  display: block;
}
.facts b {
  font-size: 12px;
}
.activate {
  background: #f0f4f1;
  border: 1px solid #dee6e1;
  border-radius: 9px;
  margin-top: 55px;
  padding: 30px;
}
.activate h3 {
  font: 500 25px var(--serif);
  margin: 0;
}
.activate p {
  color: var(--mut);
  font-size: 12px;
}
.activate label {
  grid-template-columns: 80px 1fr;
  align-items: center;
  margin-top: 13px;
  font-size: 11px;
  display: grid;
}
.activate input {
  background: #fff;
  border: 1px solid #c6d1cb;
  border-radius: 5px;
  height: 43px;
  padding: 0 10px;
}
.activate button {
  color: var(--g);
  background: 0 0;
  border: 0;
  border-bottom: 1px solid #80978a;
  margin-top: 20px;
  padding: 10px 0 5px;
  font-size: 12px;
}
.story {
  grid-template-columns: 170px 1fr;
  gap: 75px;
  width: min(1100px, 100% - 48px);
  margin: auto;
  padding: 105px 0;
  display: grid;
}
.story > b {
  font: 500 88px var(--serif);
  color: #d5dfd9;
}
.story h2,
.principles h2 {
  font: 500 46px/1.25 var(--serif);
  letter-spacing: -0.03em;
}
.story p {
  color: #56625e;
  font-size: 16px;
  line-height: 2;
}
.principles {
  color: #fff;
  background: #10281e;
  padding: 95px max(24px, 50% - 550px);
}
.principles > span {
  color: #79b592;
}
.principles > div {
  border-top: 1px solid #fff3;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 45px;
  display: grid;
}
.principles article {
  border-right: 1px solid #ffffff25;
  padding: 25px;
}
.principles article b {
  font: 500 14px var(--serif);
  color: #79b592;
}
.principles article h3 {
  font-size: 16px;
  line-height: 1.5;
}
.parthead {
  text-align: center;
  min-height: 440px;
  padding: 95px 20px 55px;
}
.parthead h1 {
  font: 500 clamp(44px, 6vw, 75px) / 1.1 var(--serif);
  letter-spacing: -0.045em;
  margin: 24px 0;
}
.parthead p {
  max-width: 680px;
  color: var(--mut);
  margin: auto;
  line-height: 1.8;
}
.partform {
  background: #fff;
  border: 1px solid #ccd7d1;
  border-radius: 11px;
  width: min(980px, 100% - 48px);
  margin: 0 auto 110px;
  padding: 36px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 28px 90px #1a412e13;
}
.types {
  border-bottom: 1px solid var(--line);
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding-bottom: 22px;
  display: grid;
}
.types label {
  align-items: center;
  gap: 8px;
  padding: 11px 7px;
  font-size: 11px;
  display: flex;
}
.types input {
  display: none;
}
.types i {
  border: 1px solid #95a49c;
  border-radius: 50%;
  width: 14px;
  height: 14px;
}
.types input:checked + i {
  background: var(--g);
  box-shadow: inset 0 0 0 3px #fff;
}
.bigfield {
  margin-top: 25px;
  display: block;
}
.bigfield > span {
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 650;
  display: block;
}
.bigfield textarea {
  resize: vertical;
  background: #f4f7f4;
  border: 0;
  border-radius: 8px;
  outline: 1px solid #0000;
  width: 100%;
  min-height: 240px;
  padding: 20px;
  line-height: 1.8;
}
.bigfield textarea:focus {
  outline-color: #76a389;
  box-shadow: 0 0 0 5px #4b906511;
}
.bigfield small {
  text-align: right;
  color: #87918d;
  margin-top: 5px;
  display: block;
}
.partbottom {
  justify-content: space-between;
  align-items: center;
  margin-top: 22px;
  display: flex;
}
.partbottom select {
  border: 1px solid #c8d2cd;
  border-radius: 5px;
  height: 43px;
  padding: 0 10px;
}
.partform > p {
  color: var(--g);
  font-size: 12px;
}
.account {
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 78px);
  display: grid;
}
.account > div {
  color: #fff;
  background: #10281e;
  flex-direction: column;
  justify-content: center;
  padding: 10vh 8vw;
  display: flex;
}
.account > div > span {
  color: #7ab590;
}
.account > div h1 {
  font: 500 clamp(42px, 5vw, 67px) / 1.12 var(--serif);
  letter-spacing: -0.04em;
}
.account > div p {
  color: #b8cbc0;
  line-height: 1.9;
}
.account > main {
  flex-direction: column;
  justify-content: center;
  padding: 60px clamp(30px, 8vw, 130px);
  display: flex;
}
.account > main > nav {
  border-bottom: 1px solid var(--line);
  gap: 28px;
  margin-bottom: 30px;
  display: flex;
}
.account > main > nav button {
  background: 0 0;
  border: 0;
  padding: 12px 0;
  font-size: 12px;
}
.account > main > nav button.on {
  color: var(--g);
  border-bottom: 1px solid var(--g);
}
.account h2 {
  font: 500 35px var(--serif);
  margin: 0;
}
.account main > p {
  color: var(--mut);
  font-size: 12px;
}
.account form > label {
  margin: 14px 0;
  font-size: 10px;
  display: block;
}
.account input {
  border: 1px solid #c7d2cc;
  border-radius: 5px;
  width: 100%;
  height: 45px;
  padding: 0 10px;
}
.account label > div {
  grid-template-columns: 1fr auto;
  display: grid;
}
.account label > div input {
  border-radius: 5px 0 0 5px;
}
.account label > div button {
  background: #f0f4f1;
  border: 1px solid #c7d2cc;
  border-left: 0;
  border-radius: 0 5px 5px 0;
  font-size: 10px;
}
.account label small {
  color: #7f8a85;
  margin-top: 5px;
  display: block;
}
.account form > .primary {
  width: 100%;
  margin-top: 18px;
}
.account form > p {
  color: var(--g);
  font-size: 11px;
}
.avatar input {
  height: auto;
  margin-top: 7px;
  padding: 10px;
}
footer {
  border-top: 1px solid var(--line);
  padding: 55px 6vw 26px;
}
footer > div {
  grid-template-columns: 1fr 1fr;
  display: grid;
}
footer p {
  color: var(--mut);
  font-size: 11px;
  line-height: 1.8;
}
.footlinks {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}
.footlinks a {
  color: var(--mut);
  font-size: 11px;
}
footer > small {
  text-align: center;
  color: #89938f;
  border-top: 1px solid var(--line);
  margin-top: 38px;
  padding-top: 20px;
  font-size: 9px;
  display: block;
}
@keyframes shine {
  0%,
  72% {
    transform: translate(-100%);
  }
  88%,
  to {
    transform: translate(100%);
  }
}
@keyframes breathe {
  50% {
    opacity: 0.25;
    transform: translateY(5px);
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
  }
}
@media (width<=1000px) {
  body > header {
    grid-template-columns: 140px 1fr 140px;
    padding: 0 24px;
  }
  header nav {
    gap: 18px;
  }
  header nav a {
    font-size: 11px;
  }
  .pagehead {
    grid-template-columns: 120px 1fr;
  }
  .pagehead p {
    grid-column: 2;
  }
  .detail {
    grid-template-columns: 1fr;
  }
  .screens {
    max-width: 850px;
  }
  .downloads {
    gap: 40px;
  }
  .account > main {
    padding: 55px;
  }
  .cards {
    gap: 15px;
  }
  .scene {
    height: 185px;
  }
}
@media (width<=720px) {
  body > header {
    grid-template-columns: 1fr auto auto;
    height: 66px;
    padding: 0 18px;
  }
  header nav {
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    gap: 0;
    height: auto;
    padding: 15px 20px;
    display: none;
    position: absolute;
    top: 66px;
    left: 0;
    right: 0;
  }
  header nav.open {
    display: flex;
  }
  header nav a {
    height: auto;
    padding: 12px 0;
  }
  .menu {
    display: block;
  }
  .tools > a {
    width: 38px;
    padding: 0 10px;
    overflow: hidden;
  }
  .tools > a b {
    min-width: 14px;
  }
  .hero {
    height: auto;
    min-height: 670px;
  }
  .hero h1 {
    font-size: 44px;
  }
  .hero p br {
    display: none;
  }
  .section {
    width: calc(100% - 32px);
    padding: 78px 0;
  }
  .cards,
  .steps {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .scene {
    height: 220px;
  }
  .growth > a {
    grid-template-columns: 35px 95px 1fr 20px;
    padding: 13px 0;
  }
  .growth time {
    display: none;
  }
  .pagehead {
    height: auto;
    min-height: 330px;
    padding: 70px 20px 45px;
    display: block;
  }
  .pagehead h1 {
    margin: 22px 0;
    font-size: 39px;
  }
  .rail {
    height: 90px;
    padding: 0 12px;
    top: 66px;
  }
  .rail button {
    min-width: 92px;
    height: 64px;
  }
  .detail {
    width: calc(100% - 32px);
    padding: 55px 0;
  }
  .apptitle h2 {
    font-size: 33px;
  }
  .screens {
    padding: 9px;
  }
  .screens > button {
    height: 410px;
  }
  .logs {
    width: calc(100% - 32px);
    padding-top: 50px;
  }
  .logs h2 {
    font-size: 28px;
  }
  .downloads {
    width: calc(100% - 32px);
    padding-top: 40px;
    display: block;
  }
  .downloads > aside {
    margin-bottom: 45px;
    display: flex;
    overflow: auto;
  }
  .downloads > aside button {
    min-width: 180px;
  }
  .release {
    border: 0;
    padding: 0;
  }
  .facts {
    grid-template-columns: 1fr;
  }
  .facts div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .activate {
    padding: 22px 16px;
  }
  .activate label {
    display: block;
  }
  .activate input {
    width: 100%;
    margin-top: 6px;
  }
  .story {
    padding: 75px 0;
    display: block;
  }
  .story > b {
    font-size: 58px;
  }
  .story h2,
  .principles h2 {
    font-size: 35px;
  }
  .principles > div {
    grid-template-columns: 1fr 1fr;
  }
  .parthead {
    min-height: 390px;
    padding-top: 75px;
  }
  .parthead h1 {
    font-size: 42px;
  }
  .partform {
    width: calc(100% - 32px);
    padding: 20px;
  }
  .types {
    grid-template-columns: 1fr 1fr;
  }
  .partbottom {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  .account {
    grid-template-columns: 1fr;
  }
  .account > div {
    padding: 70px 24px;
  }
  .account > main {
    padding: 55px 24px;
  }
  footer > div {
    grid-template-columns: 1fr;
    gap: 35px;
  }
}
.logo {
  align-items: center;
  display: inline-flex;
}
.brandmark {
  object-fit: contain;
  object-position: left center;
  width: 112px;
  height: 38px;
}
.footerbrand {
  display: inline-flex;
}
.footerbrand .brandmark {
  width: 126px;
  height: 44px;
}
.hero h1 {
  font-size: clamp(44px, 5.4vw, 72px);
}
.hero p {
  font-size: clamp(16px, 1.25vw, 18px);
}
.sectiontitle h2 {
  font-size: clamp(31px, 3.3vw, 46px);
}
.pagehead {
  grid-template-columns: 160px minmax(420px, 690px) 1fr;
  height: 312px;
  padding-bottom: 60px;
}
.pagehead h1 {
  letter-spacing: -0.038em;
  font-size: clamp(36px, 3.8vw, 52px);
  line-height: 1.16;
}
.pagehead p {
  font-size: 14px;
}
.rail button {
  min-width: 126px;
  height: 76px;
}
.rail img {
  width: 38px;
  height: 38px;
}
.rail span {
  font-size: 12px;
}
.apptitle h2 {
  font-size: 36px;
}
.screenstage {
  background: #eef3ef;
  border-radius: 18px;
  align-self: center;
  min-width: 0;
  padding: 20px 0 24px;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 30px 80px #173b2a1a,
    0 3px 12px #173b2a10;
}
.screenstage:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 72% 0, #fff9, #0000 34%);
  position: absolute;
  inset: 0;
}
.stagehead {
  z-index: 1;
  justify-content: space-between;
  align-items: flex-start;
  height: 38px;
  padding: 0 24px;
  display: flex;
  position: relative;
}
.stagehead span {
  letter-spacing: 0.14em;
  color: var(--g);
  font-size: 10px;
  font-weight: 700;
}
.stagehead small {
  color: #76827d;
  font-size: 10px;
}
.screenviewport {
  padding: 10px 0 20px;
  overflow: hidden;
}
.screenflow {
  will-change: transform;
  gap: 22px;
  width: max-content;
  padding-right: 22px;
  animation: 36s linear infinite screenflow;
  display: flex;
}
.screenviewport:hover .screenflow {
  animation-play-state: paused;
}
.screenflow > button {
  background: #fbfcfa;
  border: 0;
  border-radius: 12px;
  flex: none;
  width: 278px;
  height: 420px;
  padding: 9px;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 38px #15352517;
}
.screenflow > button:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 52px #15352524;
}
.screenflow img {
  object-fit: contain;
  border-radius: 8px;
  width: 100%;
  height: 100%;
}
.screenflow span {
  color: #fff;
  text-align: left;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  background: #10251ec9;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 11px;
  position: absolute;
  bottom: 17px;
  left: 18px;
  right: 18px;
}
@keyframes screenflow {
  to {
    transform: translate(calc(-50% - 11px));
  }
}
.screenmodal {
  z-index: 100;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #08110ee0;
  place-items: center;
  padding: 4vh 4vw;
  display: grid;
  position: fixed;
  inset: 0;
}
.modalclose {
  color: #fff;
  width: 42px;
  height: 42px;
  font: 300 34px/1 var(--sans);
  background: 0 0;
  border: 0;
  position: fixed;
  top: 18px;
  right: 28px;
}
.modalbody {
  background: #f8faf8;
  border-radius: 16px;
  height: min(800px, 90vh);
  transition: width 0.2s;
  display: grid;
  overflow: hidden;
  box-shadow: 0 40px 120px #0008;
}
.modalbody.portrait {
  grid-template-columns: minmax(360px, 0.95fr) minmax(300px, 0.75fr);
  width: min(960px, 100%);
}
.modalbody.landscape {
  grid-template-columns: minmax(0, 2.1fr) minmax(300px, 0.7fr);
  width: min(1400px, 100%);
}
.modalimage {
  background: #e8eeea;
  place-items: center;
  min-width: 0;
  min-height: 0;
  padding: 24px;
  display: grid;
}
.modalimage img {
  object-fit: contain;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  display: block;
}
.modalbody > aside {
  flex-direction: column;
  min-width: 0;
  padding: 54px 42px;
  display: flex;
  overflow: auto;
}
.modalbody > aside > span {
  letter-spacing: 0.18em;
  color: var(--g);
  font-size: 10px;
  font-weight: 700;
}
.modalbody h3 {
  font: 500 32px/1.25 var(--serif);
  margin: 18px 0;
}
.modalbody p {
  color: #5b6762;
  font-size: 14px;
  line-height: 1.9;
}
.modalbody dl {
  border-top: 1px solid var(--line);
  margin-top: auto;
}
.modalbody dl div {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 76px 1fr;
  gap: 14px;
  padding: 14px 0;
  display: grid;
}
.modalbody dt {
  color: #7b8782;
  font-size: 10px;
}
.modalbody dd {
  margin: 0;
  font-size: 11px;
}
.blog {
  width: min(1040px, 100% - 48px);
  margin: auto;
  padding: 72px 0 120px;
}
.blog article {
  border-bottom: 1px solid var(--line);
}
.bloglead {
  padding: 0 0 52px;
}
.blogmeta {
  color: #78837f;
  align-items: center;
  gap: 18px;
  font-size: 10px;
  display: flex;
}
.blogmeta span {
  color: var(--g);
}
.blog h2 {
  font: 500 28px/1.38 var(--serif);
  letter-spacing: -0.018em;
  margin: 15px 0 12px;
}
.blog p {
  color: var(--mut);
  margin: 0 0 22px;
  font-size: 14px;
  line-height: 1.8;
}
.blog a {
  border-bottom: 1px solid #9aa7a0;
  gap: 18px;
  padding-bottom: 7px;
  font-size: 11px;
  display: inline-flex;
}
.bloglist {
  grid-template-columns: repeat(2, 1fr);
  column-gap: 64px;
  display: grid;
}
.bloglist article {
  padding: 38px 0;
}
.bloglist h2 {
  font-size: 23px;
}
.aboutchapters span,
.aboutend > span {
  letter-spacing: 0.18em;
  color: var(--g);
  font-size: 10px;
  font-weight: 700;
}
.aboutchapters h2,
.aboutend h2 {
  font: 500 35px/1.35 var(--serif);
  letter-spacing: -0.025em;
  margin: 16px 0 20px;
}
.aboutchapters p,
.aboutend p {
  color: #56625e;
  font-size: 15px;
  line-height: 2;
}
.aboutchapters {
  border-top: 1px solid var(--line);
  width: min(1080px, 100% - 48px);
  margin: auto;
}
.aboutall {
  padding-top: 38px;
}
.aboutchapters article {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 180px 1fr 1fr;
  gap: 36px;
  padding: 62px 0;
  display: grid;
}
.aboutchapters article > span {
  padding-top: 8px;
}
.aboutchapters h2 {
  margin: 0;
  font-size: 29px;
}
.aboutchapters p {
  margin: 0;
}
.aboutchapters a {
  color: var(--g);
  border-bottom: 1px solid #86a795;
  grid-column: 2;
  justify-self: start;
  padding-bottom: 6px;
  font-size: 12px;
}
.aboutend {
  text-align: center;
  width: min(860px, 100% - 48px);
  margin: auto;
  padding: 100px 0 120px;
}
.aboutend h2 {
  font-size: 38px;
}
.aboutend p {
  max-width: 650px;
  margin: auto;
}
@media (width<=1000px) {
  .pagehead {
    grid-template-columns: 120px 1fr;
  }
  .screenstage {
    max-width: 900px;
  }
  .aboutchapters article {
    grid-template-columns: 130px 1fr;
  }
  .aboutchapters article p,
  .aboutchapters a {
    grid-column: 2;
  }
}
@media (width<=720px) {
  .brandmark {
    width: 100px;
  }
  .hero h1 {
    font-size: 42px;
  }
  .pagehead {
    height: auto;
    min-height: 300px;
    padding-bottom: 42px;
  }
  .pagehead h1 {
    font-size: 35px;
  }
  .rail button {
    min-width: 108px;
  }
  .rail img {
    width: 35px;
    height: 35px;
  }
  .rail span {
    font-size: 11px;
  }
  .screenstage {
    border-radius: 13px;
    margin: 0 -4px;
  }
  .stagehead {
    padding: 0 16px;
  }
  .stagehead small {
    display: none;
  }
  .screenflow {
    gap: 14px;
    padding-right: 14px;
  }
  .screenflow > button {
    width: 235px;
    height: 360px;
  }
  .screenmodal {
    padding: 56px 10px 10px;
  }
  .modalbody.portrait,
  .modalbody.landscape {
    grid-template-rows: minmax(0, 1fr) auto;
    grid-template-columns: 1fr;
    width: 100%;
    height: 100%;
  }
  .modalimage {
    padding: 12px;
  }
  .modalbody > aside {
    max-height: 34vh;
    padding: 20px 22px;
  }
  .modalbody h3 {
    margin: 8px 0;
    font-size: 23px;
  }
  .modalbody p {
    margin: 0;
    font-size: 12px;
    line-height: 1.65;
  }
  .modalbody dl {
    display: none;
  }
  .blog {
    width: calc(100% - 32px);
    padding-top: 52px;
  }
  .bloglist {
    grid-template-columns: 1fr;
  }
  .blog h2 {
    font-size: 25px;
  }
  .bloglist h2 {
    font-size: 21px;
  }
  .aboutchapters {
    width: calc(100% - 32px);
  }
  .aboutall {
    padding-top: 24px;
  }
  .aboutchapters article {
    padding: 48px 0;
    display: block;
  }
  .aboutchapters h2 {
    margin: 14px 0;
    font-size: 26px;
  }
  .aboutchapters a {
    margin-top: 12px;
    display: inline-block;
  }
  .aboutend {
    width: calc(100% - 32px);
    padding: 78px 0 90px;
  }
}
@media (width>=721px) {
  .pagehead {
    height: 280px;
    padding-bottom: 48px;
  }
}
.modalimage {
  overflow: hidden;
}
.modalimage img {
  object-fit: contain;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 100%;
  min-height: 0;
  max-height: none;
}
body > header {
  grid-template-columns: 150px minmax(0, 1fr) minmax(300px, 360px);
}
header nav {
  gap: clamp(16px, 2.2vw, 34px);
}
.accounttools {
  position: relative;
  gap: 10px;
}
.accounttools .participatebutton {
  background: var(--g) !important;
  color: #fff !important;
  border-radius: 9px !important;
  height: 38px !important;
  padding: 0 15px !important;
  font-size: 12px !important;
  white-space: nowrap;
  overflow: hidden !important;
  box-shadow: 0 8px 22px #0d653e20;
}
.accounttools .participatebutton:hover {
  background: #074e2f !important;
  transform: translateY(-1px);
}
.accounttools .lang {
  color: #60706a;
  padding: 8px;
}
.profile {
  position: relative;
}
.profilebutton {
  align-items: center;
  display: flex;
  height: 46px !important;
  color: var(--ink) !important;
  background: #eef3ef !important;
  border-radius: 24px !important;
  gap: 9px !important;
  padding: 4px 7px 4px 4px !important;
}
.profilebutton b {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 86px;
  font-size: 11px;
  overflow: hidden;
}
.profilebutton i {
  color: #6d7974;
  font-style: normal;
}
.avatarcircle {
  background: var(--g);
  color: #fff;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}
.avatarcircle.large {
  width: 72px;
  height: 72px;
  margin-bottom: 20px;
  font-size: 25px;
}
.avatarcircle.hasimage {
  background: #e8efea;
  overflow: hidden;
}
.avatarcircle.hasimage img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.profilemenu {
  border: 1px solid var(--line);
  z-index: 80;
  background: #fff;
  border-radius: 10px;
  flex-direction: column;
  width: 230px;
  padding: 16px;
  display: flex;
  position: absolute;
  top: 54px;
  right: 0;
  box-shadow: 0 22px 65px #10281e24;
}
.profilemenu strong {
  font-size: 13px;
}
.profilemenu small {
  color: var(--mut);
  border-bottom: 1px solid var(--line);
  text-overflow: ellipsis;
  padding: 4px 0 12px;
  font-size: 10px;
  overflow: hidden;
}
.profilemenu a,
.profilemenu button {
  text-align: left;
  display: block;
  color: var(--ink) !important;
  background: 0 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1ee !important;
  border-radius: 0 !important;
  height: auto !important;
  padding: 11px 2px !important;
  font-size: 11px !important;
}
.signin {
  color: var(--ink) !important;
  background: 0 0 !important;
  gap: 8px !important;
  padding: 0 !important;
  overflow: visible !important;
}
.signin:after {
  display: none;
}
.signin .avatarcircle {
  color: var(--g);
  background: #e8efea;
  font-size: 16px;
}
.accountsummary {
  align-items: flex-start;
}
.accountsummary .primary {
  margin: 25px 0 12px;
}
.avataractions {
  align-items: center;
  gap: 15px;
  margin: -8px 0 22px;
  display: flex;
}
.avataractions label,
.avataractions button {
  color: var(--g);
  background: transparent;
  border: 0;
  border-bottom: 1px solid #8aa493;
  padding: 7px 0 5px;
  font-size: 11px;
  cursor: pointer;
}
.avataractions input {
  display: none;
}
.avatarhint {
  color: var(--mut);
  margin-top: 4px;
  font-size: 10px;
}
.profilemessage {
  color: var(--g) !important;
  margin: 12px 0 0;
  font-size: 11px !important;
}
.logstream {
  width: min(920px, 100% - 48px);
  margin: auto;
  padding: 58px 0 120px;
}
.logstream article {
  border-bottom: 1px solid var(--line);
  padding: 38px 0;
  scroll-margin-top: 100px;
}
.logstream article:first-of-type {
  border-top: 1px solid #aebbb4;
}
.logstream h2 {
  font: 500 27px/1.4 var(--serif);
  letter-spacing: -0.02em;
  margin: 14px 0 10px;
}
.logsummary {
  color: var(--mut);
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.8;
}
.logfull {
  padding-top: 12px;
}
.prose p {
  color: #37443f;
  margin: 0 0 1.2em;
  font-size: 15px;
  line-height: 2;
}
.readmore {
  background: 0 0;
  border: 0;
  border-bottom: 1px solid #9ba8a1;
  gap: 18px;
  padding: 7px 0;
  font-size: 11px;
  display: inline-flex;
}
.readmore i {
  font-style: normal;
}
.ownerbar {
  background: #eef4f0;
  border: 1px solid #d6e2da;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 26px;
  padding: 13px 16px;
  font-size: 11px;
  display: flex;
}
.ownerbar span {
  color: var(--g);
  font-weight: 700;
}
.ownerbar a {
  border-bottom: 1px solid #89a796;
}
.contentimages {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0;
  display: grid;
}
.contentimages img {
  object-fit: contain;
  background: #eef2ef;
  border-radius: 8px;
  width: 100%;
  height: 290px;
}
.attachments {
  flex-direction: column;
  margin: 18px 0;
  display: flex;
}
.attachments a {
  border-top: 1px solid var(--line);
  color: var(--g);
  justify-content: space-between;
  padding: 13px 0;
  font-size: 12px;
  display: flex;
}
.attachments small {
  color: var(--mut);
}
.empty,
.notice {
  border-left: 2px solid var(--g);
  background: #f0f4f1;
  padding: 16px;
  font-size: 12px;
}
.notice.error {
  color: #8b3030;
  border-color: #a14444;
}
.partform.compact {
  margin-bottom: 70px;
}
.filepick {
  color: var(--mut);
  margin-top: 18px;
  font-size: 11px;
  display: block;
}
.filepick input {
  border: 1px solid var(--line);
  border-radius: 6px;
  width: 100%;
  margin-top: 8px;
  padding: 10px;
  display: block;
}
.community {
  width: min(920px, 100% - 48px);
  margin: 0 auto 120px;
}
.communityhead {
  border-top: 1px solid #abb8b1;
  padding: 22px 0 30px;
}
.communityhead > span {
  letter-spacing: 0.18em;
  color: var(--g);
  font-size: 10px;
  font-weight: 700;
}
.communityhead h2 {
  font: 500 34px var(--serif);
  margin: 14px 0 8px;
}
.communityhead p {
  color: var(--mut);
  font-size: 13px;
}
.community > article {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  margin: 18px 0;
  padding: 28px;
  scroll-margin-top: 95px;
}
.community > article > header {
  align-items: center;
  gap: 11px;
  display: flex;
}
.community > article > header > div:nth-child(2) {
  flex-direction: column;
  gap: 3px;
  display: flex;
}
.community > article > header b {
  font-size: 12px;
}
.community time {
  color: #89948f;
  font-size: 9px;
}
.community .status {
  color: #4c5c55;
  background: #edf2ef;
  border-radius: 14px;
  margin-left: auto;
  padding: 6px 10px;
  font-size: 10px;
}
.community .s-adopted,
.community .s-completed {
  color: #146338;
  background: #dff1e5;
}
.community .s-developing {
  color: #315e83;
  background: #e5edf5;
}
.community .s-not_adopted {
  color: #746767;
  background: #f0eeee;
}
.postmeta {
  gap: 7px;
  margin: 18px 0 12px;
  display: flex;
}
.postmeta span {
  color: var(--g);
  background: #f0f4f1;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 9px;
}
.community > article > p {
  white-space: pre-wrap;
  font-size: 14px;
  line-height: 1.9;
}
.community aside {
  border-left: 2px solid var(--g);
  background: #f0f5f1;
  margin: 20px 0;
  padding: 15px 18px;
}
.community aside b {
  color: var(--g);
  font-size: 10px;
}
.community aside p {
  margin: 6px 0;
  font-size: 13px;
  line-height: 1.8;
}
.comments {
  border-top: 1px solid var(--line);
  margin-top: 24px;
  padding-top: 6px;
}
.comments > div {
  border-bottom: 1px solid #edf1ee;
  padding: 13px 0;
}
.comments b {
  color: var(--g);
  font-size: 10px;
}
.comments p {
  margin: 5px 0;
  font-size: 12px;
  line-height: 1.7;
}
.commentform {
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: 16px;
  display: grid;
}
.commentform input {
  border: 1px solid var(--line);
  border-radius: 6px;
  height: 40px;
  padding: 0 12px;
}
.commentform button {
  background: var(--g);
  color: #fff;
  border: 0;
  border-radius: 6px;
  padding: 0 18px;
  font-size: 11px;
}
.commentform small {
  color: var(--g);
  grid-column: 1/-1;
}
.adminshell {
  background: #f6f8f6;
  min-height: 100vh;
  padding: 50px max(22px, 50% - 550px) 100px;
}
.adminshell > header {
  border-bottom: 1px solid #b9c5be;
  justify-content: space-between;
  align-items: end;
  padding-bottom: 28px;
  display: flex;
}
.adminshell > header span {
  letter-spacing: 0.2em;
  color: var(--g);
  font-size: 10px;
  font-weight: 700;
}
.adminshell h1 {
  font: 500 42px var(--serif);
  margin: 10px 0 0;
}
.adminshell > header a,
.adminshell > nav a {
  border-bottom: 1px solid #93a39a;
  padding-bottom: 5px;
  font-size: 11px;
}
.adminshell > nav {
  gap: 28px;
  padding: 25px 0;
  display: flex;
}
.adminsection {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  margin: 20px 0 38px;
  padding: 32px;
  scroll-margin-top: 20px;
}
.adminsection h2 {
  font: 500 28px var(--serif);
  margin: 0 0 24px;
}
.adminheading {
  justify-content: space-between;
  display: flex;
}
.adminheading button {
  background: 0 0;
  border: 0;
  font-size: 11px;
}
.editor > label,
.editorrow label,
.postmanager > label {
  margin: 14px 0;
  font-size: 10px;
  display: block;
}
.editor input,
.editor textarea,
.editor select,
.postmanager textarea,
.postmanager select {
  background: #fff;
  border: 1px solid #cbd5cf;
  border-radius: 6px;
  width: 100%;
  padding: 10px;
}
.editor textarea {
  resize: vertical;
  min-height: 90px;
}
.editor .bodyeditor {
  min-height: 280px;
  line-height: 1.8;
}
.editorrow {
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  display: grid;
}
.editor > .primary {
  margin-top: 12px;
}
.adminlist {
  border-top: 1px solid var(--line);
  margin-top: 34px;
}
.adminlist article {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  display: grid;
}
.adminlist article > div {
  flex-direction: column;
  display: flex;
}
.adminlist b {
  font-size: 12px;
}
.adminlist small {
  color: var(--mut);
  margin-top: 4px;
  font-size: 9px;
}
.adminlist button,
.postmanager button {
  background: #fff;
  border: 1px solid #bfcac4;
  border-radius: 5px;
  padding: 7px 10px;
  font-size: 10px;
}
.danger {
  color: #a23e3e !important;
  border-color: #dfbcbc !important;
}
.postmanager {
  border-top: 1px solid var(--line);
  padding: 24px 0;
}
.postmanager > div:first-child {
  justify-content: space-between;
  display: flex;
}
.postmanager > div:first-child span {
  color: var(--g);
  font-size: 10px;
}
.postmanager > p {
  font-size: 13px;
  line-height: 1.8;
}
.postmanager textarea {
  min-height: 90px;
}
.postmanager > div:last-child {
  gap: 8px;
  display: flex;
}
.postmanager > div:last-child button:first-child {
  background: var(--g);
  color: #fff;
  border-color: var(--g);
}
@media (width<=1000px) {
  body > header {
    grid-template-columns: 125px minmax(0, 1fr) minmax(240px, 285px);
  }
  header nav {
    gap: 14px;
  }
  .profilebutton b {
    display: none;
  }
}
@media (width<=720px) {
  body > header {
    grid-template-columns: minmax(92px, 1fr) auto auto;
    height: 66px;
    padding: 0 14px;
  }
  .accounttools .participatebutton {
    width: auto !important;
    height: 34px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
  }
  .accounttools .lang {
    display: none;
  }
  .profilebutton {
    background: 0 0 !important;
    padding: 3px !important;
  }
  .profilebutton i {
    display: none;
  }
  .profilemenu {
    right: -4px;
  }
  .signin {
    width: auto !important;
  }
  .signin:not(.avatarcircle) {
    font-size: 0 !important;
  }
  .signin .avatarcircle {
    font-size: 16px !important;
  }
  .logstream,
  .community {
    width: calc(100% - 32px);
  }
  .logstream h2 {
    font-size: 23px;
  }
  .contentimages {
    grid-template-columns: 1fr;
  }
  .contentimages img {
    height: auto;
    max-height: 420px;
  }
  .community > article {
    padding: 19px;
  }
  .parthead {
    min-height: 350px;
  }
  .parthead h1 {
    font-size: 38px;
  }
  .editorrow {
    grid-template-columns: 1fr;
  }
  .adminshell {
    padding: 28px 14px 70px;
  }
  .adminshell h1 {
    font-size: 32px;
  }
  .adminsection {
    padding: 20px 14px;
  }
  .adminlist article {
    grid-template-columns: 1fr auto;
  }
  .adminlist article .danger {
    grid-column: 2;
  }
  .commentform {
    grid-template-columns: 1fr;
  }
  .commentform button {
    height: 38px;
  }
  .profilemenu {
    top: 48px;
  }
}
.licensecenter {
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 52px;
  padding-top: 28px;
  display: grid;
}
.licensecenter h3 {
  font: 500 21px var(--serif);
  margin: 0 0 8px;
}
.licensecenter p {
  color: var(--mut);
  font-size: 11px !important;
  line-height: 1.7 !important;
}
.redeem form {
  grid-template-columns: 1fr auto;
  margin-top: 15px;
  display: grid;
}
.redeem input {
  background: #fff;
  border: 1px solid #c6d1cb;
  border-radius: 6px 0 0 6px;
  min-width: 0;
  height: 43px;
  padding: 0 10px;
}
.redeem button {
  background: var(--g);
  color: #fff;
  border: 0;
  border-radius: 0 6px 6px 0;
  padding: 0 14px;
  font-size: 10px;
}
.redeem > small {
  color: var(--g);
  margin-top: 9px;
  line-height: 1.6;
  display: block;
}
.mylicenses > article {
  border-top: 1px solid var(--line);
  padding: 13px 0;
}
.mylicenses article > header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.mylicenses header > div {
  flex-direction: column;
  display: flex;
}
.mylicenses header b {
  font-size: 12px;
}
.mylicenses header span {
  color: var(--mut);
  font-size: 9px;
}
.mylicenses header em {
  color: var(--g);
  font-size: 9px;
  font-style: normal;
}
.device {
  background: #f3f6f4;
  border-radius: 5px;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  padding: 9px;
  display: flex;
}
.device > span {
  flex-direction: column;
  display: flex;
}
.device b {
  font-size: 10px;
}
.device small {
  color: var(--mut);
  font-size: 8px;
}
.device button {
  color: #9a4141;
  background: 0 0;
  border: 0;
  font-size: 9px;
}
.compactlicense {
  width: 100%;
  margin-top: 30px;
  display: block;
}
.compactlicense .redeem {
  display: none;
}
.compactlicense .mylicenses {
  width: 100%;
}
.codeform {
  grid-template-columns: 1fr 1fr 1fr auto;
  align-items: end;
  gap: 12px;
  display: grid;
}
.codeform label {
  font-size: 10px;
}
.codeform select,
.codeform input {
  border: 1px solid var(--line);
  border-radius: 6px;
  width: 100%;
  height: 42px;
  margin-top: 6px;
  padding: 0 9px;
  display: block;
}
.newcodes {
  color: #bde1ca;
  background: #10281e;
  border-radius: 7px;
  flex-direction: column;
  margin: 15px 0;
  padding: 16px;
  display: flex;
}
.newcodes code {
  padding: 5px;
  font-size: 13px;
}
.codetable {
  border-top: 1px solid var(--line);
  margin-top: 22px;
}
.codetable > div {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 1fr 110px 60px 70px 1fr;
  gap: 10px;
  padding: 11px 0;
  font-size: 10px;
  display: grid;
}
.codetable small {
  text-overflow: ellipsis;
  overflow: hidden;
}
@media (width<=720px) {
  .licensecenter,
  .redeem form {
    grid-template-columns: 1fr;
  }
  .redeem input {
    border-radius: 6px;
  }
  .redeem button {
    border-radius: 6px;
    height: 40px;
    margin-top: 7px;
  }
  .codeform {
    grid-template-columns: 1fr 1fr;
  }
  .codeform .primary {
    grid-column: 1/-1;
  }
  .codetable > div {
    grid-template-columns: 1fr 90px 55px;
  }
  .codetable small {
    grid-column: 1/-1;
  }
  .codetable b {
    display: none;
  }
}

/* 强制公安备案图标尺寸 */
.gongan-link,
.gongan-link span {
  display: inline-flex;
  align-items: center;
}
footer .gongan-link img,
.gongan-link img,
img[alt="公安备案"] {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  object-fit: contain !important;
  display: inline-block !important;
}
footer small {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 4px 6px !important;
}
