@layer base;

:root, :host {
  --color-paper: #ffffff;
  --color-page: #f0f0f0;
  --color-blush: #ffe6e2;
  --color-rose: #f4a5b7;
  --color-petal: #ffc5d3;
  --color-vermilion: #ff5733;
  --color-matcha: #33aa77;
  --color-leaf: #81c784;
  --color-sprout: #a5d6a7;
  --color-sidebar: color-mix(in srgb, #ffc5d3 50%, #f0f0f0);
  --color-sage: #889585;
  --color-pine: #29524a;
  --color-forest: #033403;
  --color-ink: #001900;
  --font-web: "Futura", "Avenir Next", "Century Gothic", "URW Gothic", "Questrial", system-ui, sans-serif;
  --font-script: "Playwrite DE SAS", "Segoe Script", cursive;
  --font-body: Arial, Helvetica, sans-serif;
  --font-counter: "Courier New", Courier, monospace;
  --radius-capsule: 20px;
  --radius-tab: 10px;
  --radius-row: 15px;
  --radius-dialog: 12px;
  --radius-field: 8px;
  --radius-mini: 5px;
  --shadow-pane: 0 0 10px rgb(from #033403 r g b / 0.6);
  --shadow-dialog: 0 4px 8px rgb(0 0 0 / 0.4);
  --shadow-focus-ring: 0 0 5px #33aa77;
  --text-shadow-crush: 0 0 5px #ff5733;
  --animate-progress-flow: progress-flow 2s linear infinite;
  --animate-hero-arrive: hero-arrive 3s ease-in-out forwards;
  --animate-settle-in: settle-in 2.4s cubic-bezier(1, 0, 1, 0) forwards;
  --spacing-chrome-floor: 320px;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --font-weight-bold: 700;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-snug: 1.375;
  --leading-tight: 1.25;
  --spacing: 0.25rem;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
}

@font-face {
  font-family: "Playwrite DE SAS";
  src: url("/font/PlaywriteDESAS.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@keyframes progress-flow {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

@keyframes hero-arrive {
  0% {
    opacity: 0;
    transform: scale(0);
  }

  70% {
    opacity: 1;
    transform: scale(1.2);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes settle-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@layer base {
  ::selection {
    background-color: var(--color-leaf);
    color: var(--color-ink);
  }
}

@property --tw-border-spacing-x {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-spacing-y {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset";
  inherits: false;
  initial-value: solid;
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@property --tw-duration {
  syntax: "<time>";
  inherits: false;
}

@property --tw-font-weight {
  syntax: "<number> | normal | bold | bolder | lighter";
  inherits: false;
}

@property --tw-inset-ring-color {
  syntax: "<color>";
  inherits: false;
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow-color {
  syntax: "<color>";
  inherits: false;
}

@property --tw-leading {
  syntax: "<number> | <length> | <percentage> | normal";
  inherits: false;
}

@property --tw-numeric-figure {
  syntax: "lining-nums | oldstyle-nums";
  inherits: false;
}

@property --tw-numeric-fraction {
  syntax: "diagonal-fractions | stacked-fractions";
  inherits: false;
}

@property --tw-numeric-spacing {
  syntax: "proportional-nums | tabular-nums";
  inherits: false;
}

@property --tw-ordinal {
  syntax: "ordinal";
  inherits: false;
}

@property --tw-ring-color {
  syntax: "<color>";
  inherits: false;
}

@property --tw-ring-inset {
  syntax: "inset";
  inherits: false;
}

@property --tw-ring-offset-color {
  syntax: "<color>";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-shadow-color {
  syntax: "<color>";
  inherits: false;
}

@property --tw-slashed-zero {
  syntax: "slashed-zero";
  inherits: false;
}

@property --tw-tracking {
  syntax: "<length> | normal";
  inherits: false;
}

@property --tw-translate-x {
  syntax: "<length> | <percentage>";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "<length> | <percentage>";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

.capsule {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .capsule {
    transition-property: none;
  }
}

.tab {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-tab);
  height: 30px;
  padding-inline: calc(var(--spacing) * 2.5);
  margin-block: 5px;
  margin-inline: calc(var(--spacing) * 2.5);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .tab {
    transition-property: none;
  }
}

.chrome-label {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
}

.prose-text {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}

.prose-text::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.field {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

.field:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .field {
    transition-property: none;
  }
}

.field-verbatim {
  font-family: var(--font-counter);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
}

.field-secret {
  -webkit-text-security: disc;
}

.focusable:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.intent-primary {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .intent-primary:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .intent-primary {
    transition-property: none;
  }
}

.intent-confirm {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .intent-confirm:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .intent-confirm {
    transition-property: none;
  }
}

.intent-neutral {
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .intent-neutral:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .intent-neutral {
    transition-property: none;
  }
}

.account-panel {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 5);
  width: 100%;
}

.account-panel.tall {
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.account-panel .chat {
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.account-panel .section-title {
  font-family: var(--font-web);
  font-size: 1.5em;
  color: var(--color-matcha);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
}

.account-panel .section-note {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
}

.account-panel .section-note::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.account-panel .chat-note {
  font-family: var(--font-body);
  font-size: 0.5em;
  color: var(--color-sage);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
  margin-top: calc(var(--spacing) * -4);
}

.account-panel .chat-note::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.account-panel .form-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--spacing) * 2.5);
}

.account-panel .form-row label {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}

.account-panel .form-row input {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  flex-grow: 1;
}

.account-panel .form-row input:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .account-panel .form-row input {
    transition-property: none;
  }
}

.account-panel .form-row textarea {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  flex-grow: 1;
}

.account-panel .form-row textarea:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .account-panel .form-row textarea {
    transition-property: none;
  }
}

.account-panel .form-row input[type="checkbox"] {
  padding: 0px;
  flex-grow: 0;
  width: auto;
  accent-color: var(--color-matcha);
}

.account-panel .form-row .tick {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  flex-grow: 0;
  cursor: pointer;
}

.account-panel .form-row .literal {
  font-family: var(--font-counter);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  flex-grow: 1;
}

.account-panel .form-row input.verbatim {
  font-family: var(--font-counter);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  flex-grow: 0;
  width: calc(var(--spacing) * 28);
}

.account-panel .form-row .standing {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-mini);
  height: 25px;
  padding-inline: calc(var(--spacing) * 2);
  font-size: 0.8em;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  flex-grow: 0;
}

@media (prefers-reduced-motion: reduce) {
  .account-panel .form-row .standing {
    transition-property: none;
  }
}

@media (hover: hover) {
  .account-panel .form-row .standing:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.account-panel .form-row .standing.confirmed {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .account-panel .form-row .standing.confirmed:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .account-panel .form-row .standing.confirmed {
    transition-property: none;
  }
}

.account-panel .form-row .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  margin-left: auto;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  .account-panel .form-row .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .account-panel .form-row .button:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

.account-panel .form-row .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.account-panel .form-row .alert {
  flex-basis: 100%;
}

.account-panel .form-row .notice {
  flex-basis: 100%;
}

.account-panel .code-input {
  flex-grow: 1;
}

.account-room {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.account-room section {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.account-room .panel-room {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.account-room .waiting {
  align-items: center;
  justify-content: safe center;
}

.account-room .waiting .card {
  max-width: 440px;
}

.account-room .entry {
  align-items: center;
  justify-content: safe center;
}

.account-room .entry .card {
  max-width: 440px;
}

.admin-gate {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.admin-gate .entry {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.admin-gate .whoami {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.admin-gate .panel-room {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.admin-gate .entry {
  align-items: center;
  justify-content: safe center;
}

.admin-gate .entry .card {
  max-width: 440px;
}

.admin-panel {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 5);
  width: 100%;
}

.admin-panel.tall {
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.admin-panel .chat {
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
}

.admin-panel .section-title {
  font-family: var(--font-web);
  font-size: 1.5em;
  color: var(--color-matcha);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
}

.admin-panel .section-note {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
}

.admin-panel .section-note::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.admin-panel .stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(8rem,1fr));
  gap: calc(var(--spacing) * 2.5);
}

.admin-panel .stat {
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  border-radius: var(--radius-capsule);
  background-color: transparent;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--spacing) * 0.5);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 3);
}

@media (hover: hover) {
  .admin-panel .stat:hover {
    background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .stat {
    transition-property: none;
  }
}

.admin-panel .stat .value {
  font-family: var(--font-counter);
  color: var(--color-forest);
  --tw-tracking: 0.1em;
  letter-spacing: 0.1em;
  font-size: 1.6em;
  --tw-leading: 1;
  line-height: 1;
  margin: 0px;
}

.admin-panel .stat .name {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  text-transform: uppercase;
  --tw-tracking: var(--tracking-wider);
  letter-spacing: var(--tracking-wider);
  margin: 0px;
}

.admin-panel .status {
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  border-radius: var(--radius-row);
  background-color: transparent;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--spacing) * 3);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 3);
}

@media (hover: hover) {
  .admin-panel .status:hover {
    background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .status {
    transition-property: none;
  }
}

.admin-panel .form-row {
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  border-radius: var(--radius-row);
  background-color: transparent;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--spacing) * 3);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 3);
}

@media (hover: hover) {
  .admin-panel .form-row:hover {
    background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .form-row {
    transition-property: none;
  }
}

.admin-panel .switches {
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  border-radius: var(--radius-row);
  background-color: transparent;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 1.5);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 3);
}

@media (hover: hover) {
  .admin-panel .switches:hover {
    background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .switches {
    transition-property: none;
  }
}

.admin-panel .switches .permission-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.admin-panel .switches .commit {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2);
  padding-top: calc(var(--spacing) * 2);
  margin-top: var(--spacing);
  border-top-style: var(--tw-border-style);
  border-top-width: 2px;
  --tw-border-style: dashed;
  border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
}

.admin-panel .switches .commit .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  margin-left: auto;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .switches .commit .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .admin-panel .switches .commit .button:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

.admin-panel .switches .commit .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.admin-panel .status {
  flex-direction: column;
  align-items: stretch;
  gap: calc(var(--spacing) * 1.5);
}

.admin-panel .status .headline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--spacing) * 3);
}

.admin-panel .status .state {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}

.admin-panel .status.active .state {
  color: var(--color-matcha);
}

.admin-panel .status.disabled .state {
  color: var(--color-vermilion);
}

.admin-panel .status .detail {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
}

.admin-panel .status .detail::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.admin-panel .status .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-mini);
  height: 25px;
  padding-inline: calc(var(--spacing) * 2);
  font-size: 0.8em;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  margin-left: auto;
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .status .button {
    transition-property: none;
  }
}

.admin-panel .status .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.admin-panel .status.active .button {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .admin-panel .status.active .button:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .status.active .button {
    transition-property: none;
  }
}

.admin-panel .status.disabled .button {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .admin-panel .status.disabled .button:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .status.disabled .button {
    transition-property: none;
  }
}

.admin-panel .form-row label {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}

.admin-panel .form-row input {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  flex-grow: 1;
}

.admin-panel .form-row input:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .form-row input {
    transition-property: none;
  }
}

.admin-panel .form-row input[type="number"] {
  flex-grow: 0;
  width: calc(var(--spacing) * 24);
}

.admin-panel .form-row .reading {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  flex-grow: 1;
}

.admin-panel .form-row .reading::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.admin-panel .form-row input[type="checkbox"] {
  padding: 0px;
  flex-grow: 0;
  width: auto;
  accent-color: var(--color-matcha);
}

.admin-panel .form-row textarea {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  flex-grow: 1;
  resize: vertical;
}

.admin-panel .form-row textarea:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .form-row textarea {
    transition-property: none;
  }
}

.admin-panel .form-row select {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  flex-grow: 0;
}

.admin-panel .form-row select:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .form-row select {
    transition-property: none;
  }
}

.admin-panel .form-row .pattern-help {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  flex-grow: 1;
}

.admin-panel .form-row .pattern-help a {
  font-family: var(--font-body);
  font-size: 0.8em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  text-decoration-line: underline;
  white-space: nowrap;
}

.admin-panel .form-row .pattern-help a::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.admin-panel .form-row .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  margin-left: auto;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .form-row .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .admin-panel .form-row .button:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

.admin-panel .form-row .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.admin-panel .admin-form {
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  border-radius: var(--radius-row);
  background-color: transparent;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 3);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 4);
}

@media (hover: hover) {
  .admin-panel .admin-form:hover {
    background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .admin-form {
    transition-property: none;
  }
}

.admin-panel .admin-form .section-title {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
}

.admin-panel .admin-form .ask {
  display: flex;
  flex-direction: column;
  gap: var(--spacing);
}

.admin-panel .admin-form .ask span {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  color: var(--color-forest);
}

.admin-panel .admin-form .ask small {
  font-family: var(--font-body);
  font-size: 0.8em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
}

.admin-panel .admin-form .ask small::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.admin-panel .admin-form .ask.inline {
  flex-direction: row;
  align-items: center;
  gap: calc(var(--spacing) * 2);
}

.admin-panel .admin-form .field {
  width: 100%;
}

.admin-panel .admin-form input[type="checkbox"] {
  padding: 0px;
  width: auto;
  accent-color: var(--color-matcha);
}

.admin-panel .admin-form .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  align-self: flex-start;
}

@media (prefers-reduced-motion: reduce) {
  .admin-panel .admin-form .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .admin-panel .admin-form .button:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

.admin-panel .admin-form .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.alert {
  display: flex;
  align-items: flex-start;
  gap: calc(var(--spacing) * 2);
  margin: 0px;
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  text-align: left;
}

.alert::before {
  flex-shrink: 0;
  -webkit-user-select: none;
  user-select: none;
}

.alert.error {
  font-family: var(--font-web);
  color: var(--color-vermilion);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}

.alert.error::selection {
  background-color: var(--color-vermilion);
  color: var(--color-ink);
}

.alert.error::before {
  --tw-content: '✕';
  content: var(--tw-content);
}

.alert.success {
  font-family: var(--font-web);
  color: var(--color-matcha);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}

.alert.success::before {
  --tw-content: '✓';
  content: var(--tw-content);
}

.alert.notice {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
}

.alert.notice::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.alert.notice::before {
  --tw-content: '·';
  content: var(--tw-content);
}

.app-shell {
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.app-shell .stage {
  background-image: url("/resource/matcha.svg");
  background-repeat: repeat;
  background-size: 50px 50px;
  background-color: rgb(from var(--color-page) r g b / 0.4);
  background-blend-mode: overlay;
  color: var(--color-forest);
  display: flex;
  flex-direction: column;
  align-items: safe center;
  justify-content: safe center;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
  min-height: 0px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: calc(var(--spacing) * 2.5);
  box-sizing: border-box;
  text-align: center;
  container-type: size;
}

.auth-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-block: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 5);
}

.auth-form .card {
  background-color: color-mix(in oklab, var(--color-petal) 60%, transparent);
  border-radius: var(--radius-dialog);
  padding: calc(var(--spacing) * 5);
  box-sizing: border-box;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-pine);
  --tw-shadow: var(--shadow-dialog);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 4);
  width: 100%;
  max-width: 400px;
  text-align: left;
}

.auth-form h2 {
  font-family: var(--font-web);
  font-size: 1.5em;
  color: var(--color-matcha);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  text-align: center;
  margin: 0px;
}

.auth-form p.lede {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  text-align: center;
  margin: 0px;
}

.auth-form p.lede::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.auth-form form {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2);
  margin: 0px;
}

.auth-form label {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin-bottom: -2px;
}

.auth-form input {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  width: 100%;
}

.auth-form input:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .auth-form input {
    transition-property: none;
  }
}

.auth-form .invalid {
  border-color: var(--color-vermilion);
}

.auth-form .invalid:focus {
  border-color: var(--color-vermilion);
}

.auth-form .invalid:focus {
  box-shadow: 0 0 5px var(--color-vermilion);
}

.auth-form .verbatim {
  font-family: var(--font-counter);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
}

.auth-form .secret {
  -webkit-text-security: disc;
}

.auth-form .actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: calc(var(--spacing) * 2);
  margin-top: calc(var(--spacing) * 3);
}

.auth-form .actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  flex-grow: 1;
  text-decoration-line: none;
}

@media (prefers-reduced-motion: reduce) {
  .auth-form .actions .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .auth-form .actions .button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.auth-form .actions .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.auth-form .actions .button.primary {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .auth-form .actions .button.primary:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-form .actions .button.primary {
    transition-property: none;
  }
}

.auth-form .actions .button.confirm {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .auth-form .actions .button.confirm:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-form .actions .button.confirm {
    transition-property: none;
  }
}

.auth-form .actions .button:disabled {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  cursor: not-allowed;
}

@media (hover: hover) {
  .auth-form .actions .button:disabled:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-form .actions .button:disabled {
    transition-property: none;
  }
}

.auth-form .other-ways {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2);
  margin-top: calc(var(--spacing) * 3);
}

.auth-form .other-ways .divider {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  text-align: center;
  margin: 0px;
}

.auth-form .other-ways .divider::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.auth-form .other-ways .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  text-decoration-line: none;
}

@media (prefers-reduced-motion: reduce) {
  .auth-form .other-ways .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .auth-form .other-ways .button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.auth-form .other-ways .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.auth-form .other-ways .button:disabled {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  cursor: not-allowed;
}

@media (hover: hover) {
  .auth-form .other-ways .button:disabled:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-form .other-ways .button:disabled {
    transition-property: none;
  }
}

.auth-form .aside-actions {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: var(--spacing);
}

.auth-form .aside-actions .aside-action {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  background-color: transparent;
  border-width: 0;
  padding: 0px;
  text-decoration-line: underline;
  text-underline-offset: calc(var(--spacing) * 0.5);
  cursor: pointer;
}

.auth-form .aside-actions .aside-action::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.auth-form .aside-actions .aside-action:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.auth-form .alert {
  margin-top: var(--spacing);
}

.bucket-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-block: calc(var(--spacing) * 8);
  padding-inline: calc(var(--spacing) * 5);
}

.bucket-form .making {
  background-color: color-mix(in oklab, var(--color-petal) 60%, transparent);
  border-radius: var(--radius-dialog);
  padding: calc(var(--spacing) * 5);
  box-sizing: border-box;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-pine);
  --tw-shadow: var(--shadow-dialog);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 4);
  width: 100%;
  max-width: 640px;
  text-align: left;
}

.bucket-form h2 {
  font-family: var(--font-web);
  font-size: 1.5em;
  color: var(--color-matcha);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  text-align: center;
  margin: 0px;
}

.bucket-form .lede {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  text-align: center;
  margin: 0px;
}

.bucket-form .lede::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.bucket-form form {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 5);
  margin: 0px;
}

.bucket-form fieldset {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2);
  margin: 0px;
  padding: 0px;
  border-style: var(--tw-border-style);
  border-width: 0px;
}

.bucket-form legend {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  font-size: 1.05em;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  color: var(--color-pine);
  margin-bottom: var(--spacing);
  padding: 0px;
}

.bucket-form label {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin-bottom: -2px;
}

.bucket-form .required {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  font-size: 0.75em;
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: var(--color-vermilion);
  margin-left: var(--spacing);
}

.bucket-form input {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  width: 100%;
}

.bucket-form input:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form input {
    transition-property: none;
  }
}

.bucket-form select {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  width: 100%;
}

.bucket-form select:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form select {
    transition-property: none;
  }
}

.bucket-form .verbatim {
  font-family: var(--font-counter);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
}

.bucket-form .invalid {
  border-color: var(--color-vermilion);
}

.bucket-form .invalid:focus {
  border-color: var(--color-vermilion);
}

.bucket-form .invalid:focus {
  box-shadow: 0 0 5px var(--color-vermilion);
}

.bucket-form select {
  cursor: pointer;
}

.bucket-form .hint {
  font-family: var(--font-body);
  font-size: 0.8em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin-top: -2px;
}

.bucket-form .hint::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.bucket-form .with-action {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(var(--spacing) * 2);
}

.bucket-form .pattern-help {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(var(--spacing) * 2);
}

.bucket-form .actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(var(--spacing) * 2);
}

.bucket-form .pattern-help input {
  flex-grow: 1;
}

.bucket-form .pattern-help a {
  font-family: var(--font-body);
  font-size: 0.8em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  text-decoration-line: underline;
  white-space: nowrap;
}

.bucket-form .pattern-help a::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

@media (hover: hover) {
  .bucket-form .pattern-help a:hover {
    color: var(--color-ink);
  }
}

.bucket-form .with-action input {
  flex-grow: 1;
}

.bucket-form .actions {
  flex-wrap: wrap;
  justify-content: center;
  margin-top: calc(var(--spacing) * 2);
}

.bucket-form .flags {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 1.5);
}

.bucket-form .flags .flag {
  display: flex;
  align-items: flex-start;
  gap: calc(var(--spacing) * 2);
  padding-inline: calc(var(--spacing) * 2);
  padding-block: calc(var(--spacing) * 1.5);
  border-radius: var(--radius-field);
  cursor: pointer;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form .flags .flag {
    transition-property: none;
  }
}

@media (hover: hover) {
  .bucket-form .flags .flag:hover {
    background-color: color-mix(in oklab, var(--color-blush) 40%, transparent);
  }
}

.bucket-form .flags .flag input {
  width: auto;
  margin-top: calc(var(--spacing) * 0.5);
  flex-shrink: 0;
  accent-color: var(--color-matcha);
}

.bucket-form .flags .flag .name {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  font-size: 0.95em;
}

.bucket-form .flags .flag .name::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.bucket-form .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  text-decoration-line: none;
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .bucket-form .button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.bucket-form .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.bucket-form .button.confirm {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .bucket-form .button.confirm:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form .button.confirm {
    transition-property: none;
  }
}

.bucket-form .button.primary {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .bucket-form .button.primary:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form .button.primary {
    transition-property: none;
  }
}

.bucket-form .button.mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-mini);
  height: 25px;
  padding-inline: calc(var(--spacing) * 2);
  font-size: 0.8em;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  min-width: 0px;
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form .button.mini {
    transition-property: none;
  }
}

@media (hover: hover) {
  .bucket-form .button.mini:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.bucket-form .button.mini:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.bucket-form .button:disabled {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  cursor: not-allowed;
}

@media (hover: hover) {
  .bucket-form .button:disabled:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form .button:disabled {
    transition-property: none;
  }
}

.bucket-form .minted {
  background-color: color-mix(in oklab, var(--color-petal) 60%, transparent);
  border-radius: var(--radius-dialog);
  padding: calc(var(--spacing) * 5);
  box-sizing: border-box;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-pine);
  --tw-shadow: var(--shadow-dialog);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 4);
  width: 100%;
  max-width: 560px;
  text-align: left;
}

.bucket-form .minted .warning {
  font-family: var(--font-web);
  color: var(--color-vermilion);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
  text-align: center;
  margin: 0px;
}

.bucket-form .minted .warning::selection {
  background-color: var(--color-vermilion);
  color: var(--color-ink);
}

.bucket-form .minted .note {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
}

.bucket-form .minted .note::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.bucket-form .minted .credentials {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 3);
  margin: 0px;
}

.bucket-form .minted .credential {
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  border-radius: var(--radius-row);
  background-color: transparent;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  display: flex;
  flex-direction: column;
  gap: var(--spacing);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 3);
  margin: 0px;
}

@media (hover: hover) {
  .bucket-form .minted .credential:hover {
    background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bucket-form .minted .credential {
    transition-property: none;
  }
}

.bucket-form .minted .credential dt {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
}

.bucket-form .minted .credential dd {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  margin: 0px;
}

.bucket-form .minted .credential dd code {
  font-family: var(--font-counter);
  color: var(--color-forest);
  --tw-tracking: 0.1em;
  letter-spacing: 0.1em;
  font-size: 1.05em;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  word-break: break-all;
  -webkit-user-select: all;
  user-select: all;
}

.chat {
  display: flex;
  flex-direction: column;
  min-height: 0px;
  height: 100%;
  width: 100%;
  background-color: var(--color-page);
  box-sizing: border-box;
  overflow: hidden;
}

.chat .header {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 2.5);
  flex-shrink: 0;
  padding-inline: calc(var(--spacing) * 2.5);
  padding-block: calc(var(--spacing) * 2);
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 2px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: color-mix(in oklab, var(--color-matcha) 30%, transparent);
}

.chat .header h2 {
  font-family: var(--font-web);
  font-size: 1.5em;
  color: var(--color-matcha);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chat .header .count {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
  margin-left: auto;
  flex-shrink: 0;
}

.chat .header .count::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.chat .log {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0px;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: 0px;
  overflow-y: auto;
  overflow-x: hidden;
  list-style-type: none;
  margin: 0px;
  padding-inline: calc(var(--spacing) * 2.5);
  padding-block: calc(var(--spacing) * 2.5);
}

.chat .message {
  display: flex;
  flex-direction: column;
  margin: 0px;
  margin-block: 5px;
  max-width: 100%;
}

.chat .message.theirs {
  align-items: flex-start;
}

.chat .message.mine {
  align-items: flex-end;
}

.chat .message.pending {
  opacity: 60%;
}

.chat .bubble {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 0.5);
  box-sizing: border-box;
  border-radius: var(--radius-tab);
  padding-inline: calc(var(--spacing) * 2.5);
  padding-block: calc(var(--spacing) * 1.5);
  max-width: min(42ch,85%);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: transparent;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .chat .bubble {
    transition-property: none;
  }
}

.chat .bubble:hover {
  background-color: color-mix(in oklab, var(--color-blush) 50%, transparent);
}

.chat .bubble .author {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  color: var(--color-matcha);
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  font-size: 0.9em;
  margin: 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chat .bubble .content {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  font-size: 1.05em;
  margin: 0px;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

.chat .bubble .content::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.chat .bubble time {
  font-family: var(--font-body);
  font-size: 0.75em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  align-self: flex-end;
  flex-shrink: 0;
}

.chat .bubble time::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.chat .bubble .actions {
  display: flex;
  gap: calc(var(--spacing) * 1.5);
  align-self: flex-end;
  opacity: 0%;
}

.chat .bubble .actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-mini);
  height: 25px;
  padding-inline: calc(var(--spacing) * 2);
  font-size: 0.8em;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
}

@media (prefers-reduced-motion: reduce) {
  .chat .bubble .actions .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .chat .bubble .actions .button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.chat .bubble .actions .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.chat .bubble .actions .button.danger {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .chat .bubble .actions .button.danger:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .chat .bubble .actions .button.danger {
    transition-property: none;
  }
}

.chat .bubble:hover .actions {
  opacity: 100%;
}

.chat .bubble:focus-within .actions {
  opacity: 100%;
}

.chat.bubbles .theirs .bubble {
  background-color: var(--color-paper);
  border-color: color-mix(in oklab, var(--color-forest) 15%, transparent);
}

.chat.bubbles .mine .bubble {
  background-color: var(--color-blush);
  border-color: color-mix(in oklab, var(--color-rose) 60%, transparent);
}

.chat.bubbles .mine .bubble:hover {
  background-color: color-mix(in oklab, var(--color-petal) 70%, transparent);
}

.chat.bubbles .bubble:hover {
  border-color: var(--color-rose);
}

.chat .alert {
  flex-shrink: 0;
  padding-inline: calc(var(--spacing) * 2.5);
  padding-bottom: var(--spacing);
}

.chat .composer {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  flex-shrink: 0;
  padding-inline: calc(var(--spacing) * 2.5);
  padding-block: calc(var(--spacing) * 2);
  border-top-style: var(--tw-border-style);
  border-top-width: 2px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: color-mix(in oklab, var(--color-matcha) 30%, transparent);
}

.chat .composer .field {
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 0px;
  height: calc(var(--spacing) * 10);
}

.chat .composer .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  .chat .composer .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .chat .composer .button:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

.chat .composer .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.chat .composer .button:disabled {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  cursor: not-allowed;
}

@media (hover: hover) {
  .chat .composer .button:disabled:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .chat .composer .button:disabled {
    transition-property: none;
  }
}

.chat .empty {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: auto;
  text-align: center;
  padding-inline: calc(var(--spacing) * 5);
}

.chat .empty::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.code-input {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  border-style: var(--tw-border-style);
  border-width: 0px;
  margin: 0px;
  padding: 0px;
  min-width: 0px;
}

.code-input legend {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  text-transform: uppercase;
  --tw-tracking: var(--tracking-wider);
  letter-spacing: var(--tracking-wider);
  padding: 0px;
  margin-bottom: var(--spacing);
}

.code-input .boxes {
  display: flex;
  justify-content: center;
  gap: calc(var(--spacing) * 2);
}

.code-input .boxes input {
  width: calc(var(--spacing) * 8);
  height: calc(var(--spacing) * 8);
  text-align: center;
  font-size: 1.5rem;
  font-family: var(--font-body);
  text-transform: uppercase;
  background-color: var(--color-paper);
  color: var(--color-forest);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  box-sizing: border-box;
  padding: 0px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

.code-input .boxes input:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .code-input .boxes input {
    transition-property: none;
  }
}

.code-input.error .boxes input {
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
}

.code-input.error .hint {
  font-family: var(--font-web);
  color: var(--color-vermilion);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}

.code-input.error .hint::selection {
  background-color: var(--color-vermilion);
  color: var(--color-ink);
}

.code-input .hint {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
}

.code-input .hint::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.danger-zone {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2.5);
  margin-top: calc(var(--spacing) * 5);
  padding: calc(var(--spacing) * 4);
  box-sizing: border-box;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: color-mix(in oklab, var(--color-vermilion) 40%, transparent);
  border-radius: var(--radius-row);
}

.danger-zone .zone-title {
  font-family: var(--font-web);
  color: var(--color-vermilion);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  margin: 0px;
}

.danger-zone .zone-title::selection {
  background-color: var(--color-vermilion);
  color: var(--color-ink);
}

.danger-zone .zone-note {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
}

.danger-zone .zone-note::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.danger-zone .action {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--spacing) * 2.5);
  padding-block: calc(var(--spacing) * 2);
}

.danger-zone .action .describe {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 0.5);
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 16rem;
}

.danger-zone .action .name {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}

.danger-zone .action .consequence {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
}

.danger-zone .action .consequence::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.danger-zone .action .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  margin-left: auto;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  .danger-zone .action .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .danger-zone .action .button:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

.danger-zone .action .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.data-table {
  width: 100%;
  border-collapse: separate;
  --tw-border-spacing-y: calc(var(--spacing) * 2);
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
  text-align: left;
}

.data-table caption {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  text-transform: uppercase;
  --tw-tracking: var(--tracking-wider);
  letter-spacing: var(--tracking-wider);
  text-align: left;
  padding-bottom: calc(var(--spacing) * 2);
}

.data-table thead th {
  white-space: nowrap;
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  text-align: left;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  padding-inline: calc(var(--spacing) * 2.5);
  padding-bottom: var(--spacing);
}

.data-table thead th.actions {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}

.data-table tbody tr {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .data-table tbody tr {
    transition-property: none;
  }
}

.data-table tbody td {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  padding-inline: calc(var(--spacing) * 2.5);
  padding-block: calc(var(--spacing) * 2);
  vertical-align: middle;
  border-block-style: var(--tw-border-style);
  border-block-width: 2px;
  --tw-border-style: dashed;
  border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  background-color: transparent;
}

.data-table tbody td::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.data-table tbody td:first-child {
  border-left-style: var(--tw-border-style);
  border-left-width: 2px;
  border-top-left-radius: var(--radius-row);
  border-bottom-left-radius: var(--radius-row);
}

.data-table tbody td:last-child {
  border-right-style: var(--tw-border-style);
  border-right-width: 2px;
  border-top-right-radius: var(--radius-row);
  border-bottom-right-radius: var(--radius-row);
}

.data-table tbody tr:hover td {
  background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
}

.data-table td.literal {
  white-space: nowrap;
  font-family: var(--font-counter);
  color: var(--color-forest);
  --tw-tracking: 0.1em;
  letter-spacing: 0.1em;
  font-size: 0.9em;
}

.data-table td.muted {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
}

.data-table td.muted::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.data-table td.nowrap {
  white-space: nowrap;
}

.data-table td.breakable {
  white-space: normal;
  word-break: break-all;
}

.data-table td.actions {
  white-space: nowrap;
  text-align: right;
  width: 1px;
}

.data-table td.actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-mini);
  height: 25px;
  padding-inline: calc(var(--spacing) * 2);
  font-size: 0.8em;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  margin-left: calc(var(--spacing) * 1.5);
}

@media (prefers-reduced-motion: reduce) {
  .data-table td.actions .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .data-table td.actions .button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.data-table td.actions .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.data-table td.actions .button.danger {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .data-table td.actions .button.danger:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .data-table td.actions .button.danger {
    transition-property: none;
  }
}

.data-table td.actions .button:disabled {
  opacity: 50%;
  cursor: not-allowed;
}

.data-table tbody td.empty {
  text-align: center;
  padding-block: calc(var(--spacing) * 5);
  border-style: var(--tw-border-style);
  border-width: 2px;
  border-radius: var(--radius-row);
}

.editable-list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2);
  width: 100%;
}

.editable-list .editable {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: calc(var(--spacing) * 4);
  row-gap: calc(var(--spacing) * 2);
  padding: calc(var(--spacing) * 2.5);
  border-radius: var(--radius-row);
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-matcha) 40%, transparent);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 200ms;
  --tw-duration: 200ms;
}

@media (prefers-reduced-motion: reduce) {
  .editable-list .editable {
    transition-property: none;
  }
}

.editable-list .editable:hover {
  border-color: color-mix(in oklab, var(--color-matcha) 70%, transparent);
}

.editable-list .editable.editing {
  --tw-border-style: solid;
  border-style: solid;
  border-color: var(--color-matcha);
}

.editable-list .texts {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 0.5);
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 0px;
}

.editable-list .naming {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: calc(var(--spacing) * 3);
  row-gap: calc(var(--spacing) * 0.5);
}

.editable-list .naming .key {
  width: auto;
  flex-grow: 0;
  flex-shrink: 1;
  min-width: 0px;
  max-width: 16rem;
}

.editable-list .key {
  background-color: transparent;
  border-width: 0;
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 2px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: transparent;
  padding: 0px;
  width: 100%;
  min-width: 0px;
  --tw-outline-style: none;
  outline-style: none;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 200ms;
  --tw-duration: 200ms;
  font-family: var(--font-body);
  font-size: 0.8em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  text-transform: uppercase;
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
}

@media (prefers-reduced-motion: reduce) {
  .editable-list .key {
    transition-property: none;
  }
}

.editable-list .key::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.editable-list .key:not(:disabled) {
  border-color: var(--color-matcha);
  caret-color: var(--color-vermilion);
}

.editable-list .key:focus {
  border-color: var(--color-vermilion);
}

.editable-list .key.invalid {
  border-color: var(--color-vermilion);
}

.editable-list .value {
  background-color: transparent;
  border-width: 0;
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 2px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: transparent;
  padding: 0px;
  width: 100%;
  min-width: 0px;
  --tw-outline-style: none;
  outline-style: none;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 200ms;
  --tw-duration: 200ms;
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}

@media (prefers-reduced-motion: reduce) {
  .editable-list .value {
    transition-property: none;
  }
}

.editable-list .value::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.editable-list .value:not(:disabled) {
  border-color: var(--color-matcha);
  caret-color: var(--color-vermilion);
}

.editable-list .value:focus {
  border-color: var(--color-vermilion);
}

.editable-list .value.invalid {
  border-color: var(--color-vermilion);
}

.editable-list .value:disabled::placeholder {
  color: color-mix(in oklab, var(--color-forest) 40%, transparent);
}

.editable-list .tick {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 1.5);
  flex-shrink: 0;
  font-family: var(--font-body);
  font-size: 0.8em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  cursor: pointer;
}

.editable-list .tick::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.editable-list .tick input:disabled {
  cursor: default;
}

.editable-list .acts {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  flex-shrink: 0;
  margin-left: auto;
}

.editable-list .acts .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-tab);
  height: 30px;
  padding-inline: calc(var(--spacing) * 2.5);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  font-size: 0.9em;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  min-width: 68px;
}

@media (prefers-reduced-motion: reduce) {
  .editable-list .acts .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .editable-list .acts .button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.editable-list .acts .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.editable-list .acts .button.danger {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .editable-list .acts .button.danger:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .editable-list .acts .button.danger {
    transition-property: none;
  }
}

.landing {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.landing .hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100cqh;
  padding-block: calc(var(--spacing) * 10);
}

.landing .hero .words {
  display: flex;
  flex-direction: column;
  width: min(80vmin,44rem);
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 6%;
}

.landing .hero .word {
  font-family: var(--font-script);
  color: var(--color-vermilion);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  width: 100%;
  font-size: clamp(2.75rem,14vmin,8rem);
  margin-block: -0.12em;
  margin-inline: 0px;
  animation: var(--animate-hero-arrive);
}

@media (prefers-reduced-motion: reduce) {
  .landing .hero .word {
    animation: none;
  }
}

.landing .hero .word:where([data-entrance="seen"] *) {
  animation: none;
}

.landing .hero .word.right {
  text-align: right;
}

.landing .hero .word.left {
  text-align: left;
}

.landing .hero .line {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  color: var(--color-vermilion);
  font-size: clamp(0.9rem,2.4vmin,1.4rem);
  margin-top: calc(var(--spacing) * 6);
  margin-bottom: 0px;
  padding-inline: calc(var(--spacing) * 5);
  animation: var(--animate-hero-arrive);
}

@media (prefers-reduced-motion: reduce) {
  .landing .hero .line {
    animation: none;
  }
}

.landing .hero .line:where([data-entrance="seen"] *) {
  animation: none;
}

.landing .hero .line em {
  color: var(--color-matcha);
  font-style: normal;
}

.landing .hero .start {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: auto;
  padding-inline: calc(var(--spacing) * 8);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  font-size: clamp(1rem,3vmin,1.5rem);
  padding-block: calc(var(--spacing) * 3);
  margin-top: calc(var(--spacing) * 8);
  animation: var(--animate-settle-in);
}

@media (prefers-reduced-motion: reduce) {
  .landing .hero .start {
    transition-property: none;
    animation: none;
  }
}

@media (hover: hover) {
  .landing .hero .start:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

.landing .hero .start:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.landing .hero .start:where([data-entrance="seen"] *) {
  animation: none;
}

.landing .counters {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: calc(var(--spacing) * 6);
  background-color: color-mix(in oklab, var(--color-paper) 70%, transparent);
  border-radius: 2em;
  padding-inline: calc(var(--spacing) * 8);
  padding-block: calc(var(--spacing) * 3);
  margin-top: calc(var(--spacing) * 10);
  margin-bottom: 0px;
  min-width: 220px;
  animation: var(--animate-settle-in);
}

@media (prefers-reduced-motion: reduce) {
  .landing .counters {
    animation: none;
  }
}

.landing .counters:where([data-entrance="seen"] *) {
  animation: none;
}

.landing .counters .counter {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: var(--spacing);
  margin: 0px;
}

.landing .counters .counter dt {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  font-size: clamp(0.7rem,2vmin,0.9rem);
  color: var(--color-pine);
  margin: 0px;
}

.landing .counters .counter dd {
  font-family: var(--font-counter);
  color: var(--color-forest);
  --tw-tracking: 0.1em;
  letter-spacing: 0.1em;
  font-size: clamp(1.4rem,4vmin,2.5rem);
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  margin: 0px;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
}

.landing .heart-rule {
  color: var(--color-vermilion);
  font-size: 20px;
  --tw-leading: 1;
  line-height: 1;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  margin-block: calc(var(--spacing) * 6);
  animation: var(--animate-settle-in);
}

@media (prefers-reduced-motion: reduce) {
  .landing .heart-rule {
    animation: none;
  }
}

.landing .heart-rule:where([data-entrance="seen"] *) {
  animation: none;
}

.landing .pitch {
  background-color: color-mix(in oklab, var(--color-petal) 60%, transparent);
  border-radius: var(--radius-capsule);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 4);
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  text-align: left;
  padding-inline: calc(var(--spacing) * 6);
  padding-block: calc(var(--spacing) * 5);
  margin-bottom: calc(var(--spacing) * 10);
  animation: var(--animate-settle-in);
}

@media (prefers-reduced-motion: reduce) {
  .landing .pitch {
    animation: none;
  }
}

.landing .pitch:where([data-entrance="seen"] *) {
  animation: none;
}

.landing .pitch p {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  margin: 0px;
  text-indent: calc(var(--spacing) * 6);
}

.landing .pitch p::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.landing .pitch strong {
  color: var(--color-ink);
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}

.landing .pitch a {
  color: var(--color-pine);
  text-decoration-line: underline;
  text-underline-offset: 2px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .landing .pitch a:hover {
    color: var(--color-ink);
  }
}

.landing .pitch a:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .landing .pitch a {
    transition-property: none;
  }
}

.landing .pitch p.notice {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  color: var(--color-vermilion);
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  text-align: center;
  font-size: 1.25em;
  background-color: var(--color-paper);
  border-radius: var(--radius-capsule);
  align-self: center;
  padding-inline: calc(var(--spacing) * 5);
  padding-block: calc(var(--spacing) * 2);
  margin-top: calc(var(--spacing) * 2);
  text-indent: 0px;
}

.modal {
  background-color: var(--color-page);
  border-radius: var(--radius-dialog);
  padding: calc(var(--spacing) * 5);
  margin: auto;
  box-sizing: border-box;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-pine);
  --tw-shadow: var(--shadow-dialog);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
  width: min(100% - 2.5rem, 400px);
  max-height: min(90vh,44rem);
}

.modal::backdrop {
  background-color: color-mix(in oklab, var(--color-ink) 40%, transparent);
}

.modal:is([open], :popover-open, :open) {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 4);
}

.modal.wide {
  width: min(100% - 2.5rem, 600px);
}

.modal .header {
  font-family: var(--font-web);
  font-size: 1.5em;
  color: var(--color-matcha);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
  padding-bottom: calc(var(--spacing) * 2);
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 2px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: color-mix(in oklab, var(--color-matcha) 30%, transparent);
}

.modal .prose {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  margin: 0px;
  min-height: 0px;
  overflow-y: auto;
}

.modal .prose::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.modal .prose p {
  margin: 0px;
}

.modal .prose p + p {
  margin-top: calc(var(--spacing) * 2.5);
}

.modal .footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: calc(var(--spacing) * 2.5);
  padding-top: var(--spacing);
}

.modal .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
}

@media (prefers-reduced-motion: reduce) {
  .modal .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .modal .button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.modal .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.modal .button.confirm {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .modal .button.confirm:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .modal .button.confirm {
    transition-property: none;
  }
}

.modal .button.primary {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .modal .button.primary:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .modal .button.primary {
    transition-property: none;
  }
}

.modal .button:disabled {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  cursor: not-allowed;
}

@media (hover: hover) {
  .modal .button:disabled:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .modal .button:disabled {
    transition-property: none;
  }
}

.modal.danger .header {
  color: var(--color-vermilion);
  border-color: color-mix(in oklab, var(--color-vermilion) 30%, transparent);
}

.modal .ask {
  display: flex;
  flex-direction: column;
  gap: var(--spacing);
}

.modal .ask span {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  color: var(--color-forest);
}

.modal .ask small {
  font-family: var(--font-body);
  font-size: 0.8em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
}

.modal .ask small::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.modal .ask.inline {
  flex-direction: row;
  align-items: center;
  gap: calc(var(--spacing) * 2);
}

.modal .says p {
  margin: 0px;
}

.modal .says p + p {
  margin-top: calc(var(--spacing) * 2.5);
}

.modal p + .ask {
  margin-top: calc(var(--spacing) * 2.5);
}

.modal .authorize {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 3);
  margin-top: var(--spacing);
}

.modal .specimen {
  font-family: var(--font-counter);
  color: var(--color-forest);
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
  font-size: 1.25em;
  text-align: center;
  margin: 0px;
  padding-block: calc(var(--spacing) * 2);
  word-break: break-all;
}

.modal .quote {
  padding-left: calc(var(--spacing) * 3);
  border-left-style: var(--tw-border-style);
  border-left-width: 2px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: color-mix(in oklab, var(--color-vermilion) 40%, transparent);
  overflow-wrap: break-word;
}

.modal .quote .literal {
  font-family: var(--font-counter);
  color: var(--color-forest);
  --tw-tracking: 0.1em;
  letter-spacing: 0.1em;
}

.modal .field {
  width: 100%;
}

.permission-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(15rem,1fr));
  gap: calc(var(--spacing) * 1.5);
}

.permission-grid .permission {
  display: flex;
  align-items: flex-start;
  gap: calc(var(--spacing) * 2);
  padding-inline: calc(var(--spacing) * 2);
  padding-block: calc(var(--spacing) * 1.5);
  border-radius: var(--radius-field);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .permission-grid .permission {
    transition-property: none;
  }
}

.permission-grid .permission input {
  width: calc(var(--spacing) * 3.5);
  height: calc(var(--spacing) * 3.5);
  font-size: 0.95em;
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  flex-shrink: 0;
  accent-color: var(--color-matcha);
  margin-top: calc((1lh - 0.875rem) / 2);
}

.permission-grid .permission .name {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  font-size: 0.95em;
}

.permission-grid .permission .name::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.permission-grid .permission:hover {
  background-color: color-mix(in oklab, var(--color-blush) 40%, transparent);
}

.permission-grid .permission.ungrantable {
  opacity: 50%;
  cursor: not-allowed;
}

.permission-grid .permission.ungrantable:hover {
  background-color: transparent;
}

.permission-grid .permission.withheld {
  opacity: 50%;
  cursor: not-allowed;
}

.permission-grid .permission.withheld:hover {
  background-color: transparent;
}

.profile-list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2);
  flex-grow: 1;
  min-height: 0px;
  overflow-y: auto;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-row);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
}

.profile-list .profile {
  border-radius: var(--radius-row);
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-matcha) 40%, transparent);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 200ms;
  --tw-duration: 200ms;
}

@media (prefers-reduced-motion: reduce) {
  .profile-list .profile {
    transition-property: none;
  }
}

.profile-list .profile:hover {
  border-color: color-mix(in oklab, var(--color-matcha) 70%, transparent);
}

.profile-list .profile[open] {
  border-color: color-mix(in oklab, var(--color-matcha) 70%, transparent);
  --tw-border-style: solid;
  border-style: solid;
}

.profile-list .brief {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: calc(var(--spacing) * 2.5);
  row-gap: var(--spacing);
  padding: calc(var(--spacing) * 2.5);
  cursor: pointer;
  list-style-type: none;
}

.profile-list .brief::-webkit-details-marker {
  display: none;
}

.profile-list .brief .who {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}

.profile-list .brief .standing {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-mini);
  height: 25px;
  padding-inline: calc(var(--spacing) * 2);
  font-size: 0.8em;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
}

@media (prefers-reduced-motion: reduce) {
  .profile-list .brief .standing {
    transition-property: none;
  }
}

@media (hover: hover) {
  .profile-list .brief .standing:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.profile-list .brief .standing.matched {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .profile-list .brief .standing.matched:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-list .brief .standing.matched {
    transition-property: none;
  }
}

.profile-list .brief .mail {
  font-family: var(--font-counter);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  margin-left: auto;
}

.profile-list .brief .mail::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.profile-list .more {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 2.5);
  padding-inline: calc(var(--spacing) * 2.5);
  padding-bottom: calc(var(--spacing) * 2.5);
}

.profile-list .more .state {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
  padding-top: calc(var(--spacing) * 2.5);
}

.profile-list .more .state::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.profile-list .more .fields {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: calc(var(--spacing) * 4);
  row-gap: calc(var(--spacing) * 1.5);
  margin: 0px;
  padding-top: calc(var(--spacing) * 2.5);
}

.profile-list .more .fields dt {
  font-family: var(--font-body);
  font-size: 0.8em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  text-transform: uppercase;
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
  align-self: baseline;
}

.profile-list .more .fields dt::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.profile-list .more .fields dd {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  margin: 0px;
}

.profile-list .more .fields dd::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.profile-list .more .fields dd .reach {
  font-family: var(--font-counter);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  color: var(--color-vermilion);
  text-decoration-line: underline;
  text-underline-offset: calc(var(--spacing) * 0.5);
  word-break: break-all;
}

.profile-list .more .fields dd .reach.handle {
  color: var(--color-forest);
  text-decoration-line: none;
}

.profile-list .more .fields dd .added {
  display: inline-flex;
  flex-direction: column;
  row-gap: calc(var(--spacing) * 0.5);
}

.profile-list .more .fields dd .vouched {
  font-family: var(--font-body);
  font-size: 0.75em;
  color: var(--color-forest);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  word-break: break-all;
}

.profile-list .more .fields dd .vouched::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.profile-list .more .act {
  display: flex;
}

.profile-list .more .act .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  margin-left: auto;
}

@media (prefers-reduced-motion: reduce) {
  .profile-list .more .act .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .profile-list .more .act .button:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

.profile-list .more .act .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.profile-list .more .act .button.danger {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .profile-list .more .act .button.danger:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-list .more .act .button.danger {
    transition-property: none;
  }
}

.progress-bar {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 1.5);
  width: 100%;
}

.progress-bar .flow {
  width: 100%;
  height: calc(var(--spacing) * 2.5);
  border-radius: var(--radius-mini);
  background-image: linear-gradient(90deg, var(--color-vermilion) 0%, var(--color-petal) 50%, var(--color-vermilion) 100%);
  animation: var(--animate-progress-flow);
  background-size: 200% 100%;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar .flow {
    animation: none;
  }
}

.progress-bar .note {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
  margin: 0px;
}

.progress-bar .note::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.site-footer {
  background-color: var(--color-petal);
  color: var(--color-forest);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0;
  justify-content: center;
  min-height: calc(var(--spacing) * 10);
  font-size: 0.9em;
  text-align: center;
}

.site-footer .inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 100%;
  padding-top: 0.1em;
  padding-bottom: 0.05em;
  padding-inline: calc(var(--spacing) * 5);
  min-width: var(--spacing-chrome-floor);
}

.site-footer .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: dotted;
  border-width: 2px;
  --tw-border-style: dotted;
  border-color: var(--color-pine);
  border-radius: var(--radius-tab);
  height: calc(var(--spacing) * 5);
  padding-inline: 5px;
  min-width: 160px;
  background-color: var(--color-blush);
  color: var(--color-forest);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  margin: 5px;
}

@media (hover: hover) {
  .site-footer .button:hover {
    background-color: var(--color-rose);
    color: var(--color-ink);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer .button {
    transition-property: none;
  }
}

.site-footer .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.site-footer small {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  font-size: 1em;
  color: var(--color-forest);
}

.site-footer a:not(.button) {
  color: var(--color-pine);
  text-decoration-line: underline;
  text-underline-offset: 2px;
}

.site-footer a:not(.button):hover {
  color: var(--color-vermilion);
}

.site-footer a.button {
  text-decoration-line: none;
}

.site-header {
  background-color: var(--color-petal);
  color: var(--color-forest);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0;
  justify-content: center;
  min-height: 60px;
}

.site-header .title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
  user-select: none;
  margin-left: calc(var(--spacing) * 5);
  margin-right: auto;
  padding-top: 0.1em;
  padding-bottom: 0.05em;
  min-width: var(--spacing-chrome-floor);
}

.site-header .title h1 {
  font-family: var(--font-script);
  color: var(--color-vermilion);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  font-size: 1.8em;
  margin-inline: 0px;
  margin-top: -0.2em;
  margin-bottom: -0.25em;
}

.site-header .title h1::selection {
  background-color: var(--color-vermilion);
  color: var(--color-ink);
}

.site-header .title h1::before {
  --tw-content: url('/resource/icon.svg');
  content: var(--tw-content);
  display: inline-block;
  width: 2em;
  margin-right: 0.2em;
  margin-top: -0.7em;
  margin-bottom: -0.2em;
  --tw-translate-y: 0.7em;
  translate: var(--tw-translate-x) var(--tw-translate-y);
}

.site-header .title p {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  font-size: 0.8em;
  color: var(--color-matcha);
  margin: 0px;
}

.site-header .button-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-left: auto;
  margin-right: calc(var(--spacing) * 5);
  margin-block: calc(var(--spacing) * 2.5);
}

.site-header .button-list button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  text-decoration-line: none;
}

@media (prefers-reduced-motion: reduce) {
  .site-header .button-list button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .site-header .button-list button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.site-header .button-list button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.site-header .button-list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
  text-decoration-line: none;
}

@media (prefers-reduced-motion: reduce) {
  .site-header .button-list a {
    transition-property: none;
  }
}

@media (hover: hover) {
  .site-header .button-list a:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.site-header .button-list a:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.site-header .button-list .primary {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .site-header .button-list .primary:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .button-list .primary {
    transition-property: none;
  }
}

.site-header .button-list .leave {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .site-header .button-list .leave:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .button-list .leave {
    transition-property: none;
  }
}

.site-header .button-list .confirm {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .site-header .button-list .confirm:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .button-list .confirm {
    transition-property: none;
  }
}

.site-header .button-list button:disabled {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  cursor: not-allowed;
}

@media (hover: hover) {
  .site-header .button-list button:disabled:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .button-list button:disabled {
    transition-property: none;
  }
}

.site-header .button-list .identity {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  font-size: 0.8em;
  color: var(--color-pine);
}

.site-header .button-list .identity .literal {
  font-family: var(--font-counter);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  color: var(--color-forest);
  -webkit-user-select: all;
  user-select: all;
}

.split-panel {
  background-color: var(--color-page);
  border-radius: var(--radius-capsule);
  --tw-shadow: var(--shadow-pane);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  flex-grow: 1;
  flex-shrink: 1;
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  height: 100%;
}

@container (max-width: 560px) {
  .split-panel {
    flex-direction: column;
  }

  .split-panel .rail {
    flex-basis: auto;
    width: 100%;
    min-width: 0px;
    border-right-style: var(--tw-border-style);
    border-right-width: 0px;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .split-panel .pane {
    flex-basis: auto;
  }

  .split-panel .tab.current {
    margin-right: calc(var(--spacing) * 2.5);
    border-radius: var(--radius-tab);
  }
}

.split-panel .rail {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  flex-basis: 20%;
  min-width: 200px;
  background-color: var(--color-sidebar);
  border-right-style: var(--tw-border-style);
  border-right-width: 2px;
  --tw-border-style: solid;
  border-style: solid;
  border-color: var(--color-pine);
  overflow-y: auto;
  overflow-x: hidden;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .split-panel .rail {
    transition-property: none;
  }
}

.split-panel .rail-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-tab);
  height: 30px;
  padding-inline: calc(var(--spacing) * 2.5);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  margin-top: auto;
  margin-inline: calc(var(--spacing) * 2.5);
  margin-bottom: calc(var(--spacing) * 2.5);
  flex-shrink: 0;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .split-panel .rail-action {
    transition-property: none;
  }
}

@media (hover: hover) {
  .split-panel .rail-action:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

.split-panel .rail-action:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.split-panel .pane {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 80%;
  background-color: var(--color-page);
  overflow-y: auto;
  overflow-x: hidden;
  padding: calc(var(--spacing) * 5);
  gap: calc(var(--spacing) * 4);
  text-align: left;
}

.split-panel:has(.tab.current.primary) .rail {
  border-color: var(--color-vermilion);
}

.split-panel:has(.tab.current.confirm) .rail {
  border-color: var(--color-matcha);
}

.split-panel:has(.tab.current.deep) .rail {
  border-color: var(--color-forest);
}

.style-preview {
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 5);
  margin-block: calc(var(--spacing) * 5);
  text-align: left;
}

.style-preview section {
  background-color: var(--color-page);
  border-radius: var(--radius-capsule);
  --tw-shadow: var(--shadow-pane);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 4);
  padding: calc(var(--spacing) * 5);
}

.style-preview h2 {
  font-family: var(--font-web);
  font-size: 1.5em;
  color: var(--color-matcha);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
}

.style-preview h3 {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: var(--color-forest);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  margin: 0px;
  text-transform: uppercase;
  --tw-tracking: var(--tracking-wider);
  letter-spacing: var(--tracking-wider);
}

.style-preview p {
  font-family: var(--font-body);
  color: var(--color-forest);
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  margin: 0px;
}

.style-preview p::selection {
  background-color: var(--color-sprout);
  color: var(--color-forest);
}

.style-preview .specimens {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(var(--spacing) * 2.5);
}

.style-preview .chip {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 7.5rem;
  height: calc(var(--spacing) * 20);
  padding: calc(var(--spacing) * 1.5);
  border-radius: var(--radius-field);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: color-mix(in oklab, var(--color-forest) 20%, transparent);
  box-sizing: border-box;
}

.style-preview .chip code {
  font-family: var(--font-counter);
  color: var(--color-forest);
  --tw-tracking: 0.1em;
  letter-spacing: 0.1em;
  font-size: 0.7em;
}

.style-preview .chip span {
  font-family: var(--font-web);
  font-size: 0.7em;
  color: color-mix(in oklab, var(--color-forest) 70%, transparent);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}

.style-preview .chip.dark code {
  color: var(--color-paper);
}

.style-preview .chip.dark span {
  color: var(--color-paper);
}

.style-preview .chip.paper {
  background-color: var(--color-paper);
}

.style-preview .chip.page {
  background-color: var(--color-page);
}

.style-preview .chip.blush {
  background-color: var(--color-blush);
}

.style-preview .chip.rose {
  background-color: var(--color-rose);
}

.style-preview .chip.petal {
  background-color: var(--color-petal);
}

.style-preview .chip.vermilion {
  background-color: var(--color-vermilion);
}

.style-preview .chip.matcha {
  background-color: var(--color-matcha);
}

.style-preview .chip.sage {
  background-color: var(--color-sage);
}

.style-preview .chip.pine {
  background-color: var(--color-pine);
}

.style-preview .chip.forest {
  background-color: var(--color-forest);
}

.style-preview .chip.ink {
  background-color: var(--color-ink);
}

.style-preview .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-capsule);
  height: calc(var(--spacing) * 10);
  padding-inline: calc(var(--spacing) * 2.5);
  min-width: 86px;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .button {
    transition-property: none;
  }
}

@media (hover: hover) {
  .style-preview .button:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.style-preview .button:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.style-preview .button.primary {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .style-preview .button.primary:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .button.primary {
    transition-property: none;
  }
}

.style-preview .button.confirm {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .style-preview .button.confirm:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .button.confirm {
    transition-property: none;
  }
}

.style-preview .button.deep {
  background-color: var(--color-page);
  border-color: var(--color-forest);
  color: var(--color-forest);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .style-preview .button.deep:hover {
    background-color: var(--color-forest);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .button.deep {
    transition-property: none;
  }
}

.style-preview .button.compact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-tab);
  height: 30px;
  padding-inline: calc(var(--spacing) * 2.5);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .button.compact {
    transition-property: none;
  }
}

.style-preview .button.mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-mini);
  height: 25px;
  padding-inline: calc(var(--spacing) * 2);
  font-size: 0.8em;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .button.mini {
    transition-property: none;
  }
}

.style-preview .button.dotted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  border-style: dotted;
  border-width: 2px;
  --tw-border-style: dotted;
  border-color: var(--color-pine);
  border-radius: var(--radius-tab);
  height: calc(var(--spacing) * 5);
  padding-inline: 5px;
  min-width: 160px;
  background-color: var(--color-blush);
  color: var(--color-forest);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .style-preview .button.dotted:hover {
    background-color: var(--color-rose);
    color: var(--color-ink);
  }
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .button.dotted {
    transition-property: none;
  }
}

.style-preview .button:disabled {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  cursor: not-allowed;
}

@media (hover: hover) {
  .style-preview .button:disabled:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .button:disabled {
    transition-property: none;
  }
}

.style-preview input {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-field);
  padding: calc(var(--spacing) * 2);
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

.style-preview input:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .style-preview input {
    transition-property: none;
  }
}

.style-preview input.mini {
  font-family: var(--font-body);
  color: var(--color-forest);
  background-color: var(--color-paper);
  border-style: solid;
  border-width: 1.5px;
  --tw-border-style: solid;
  border-color: var(--color-sage);
  border-radius: var(--radius-mini);
  padding: 5px;
  font-size: 0.75em;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

.style-preview input.mini:focus {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

@media (prefers-reduced-motion: reduce) {
  .style-preview input.mini {
    transition-property: none;
  }
}

.style-preview .demo {
  width: 100%;
  height: 340px;
  display: flex;
  container-type: inline-size;
}

.style-preview .demo.short {
  height: 220px;
}

.style-preview .demo.tall {
  height: 430px;
}

.style-preview .demo.narrow {
  width: 420px;
  max-width: 100%;
}

.style-preview .specimens dialog {
  position: static;
}

.style-preview .card {
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  border-radius: var(--radius-capsule);
  background-color: transparent;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  padding: calc(var(--spacing) * 5);
  flex: 1;
  min-width: 15rem;
}

@media (hover: hover) {
  .style-preview .card:hover {
    background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .card {
    transition-property: none;
  }
}

.style-preview .settings-row {
  border-style: dashed;
  border-width: 2px;
  --tw-border-style: dashed;
  border-color: color-mix(in oklab, var(--color-forest) 30%, transparent);
  border-radius: var(--radius-row);
  background-color: transparent;
  box-sizing: border-box;
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  padding: calc(var(--spacing) * 2.5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--spacing) * 2.5);
}

@media (hover: hover) {
  .style-preview .settings-row:hover {
    background-color: color-mix(in oklab, var(--color-blush) 30%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .style-preview .settings-row {
    transition-property: none;
  }
}

.style-preview .specimen.logo {
  font-family: var(--font-script);
  color: var(--color-vermilion);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  font-size: 2em;
}

.style-preview .specimen.logo::selection {
  background-color: var(--color-vermilion);
  color: var(--color-ink);
}

.style-preview .specimen.display {
  font-family: var(--font-script);
  color: var(--color-forest);
  --tw-tracking: 0.05em;
  letter-spacing: 0.05em;
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
  font-size: 2em;
}

.style-preview .specimen.chrome {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  font-size: 1.2em;
}

.style-preview .specimen.counter {
  font-family: var(--font-counter);
  color: var(--color-forest);
  --tw-tracking: 0.1em;
  letter-spacing: 0.1em;
  font-size: 1.2em;
}

.style-preview .specimen.muted {
  font-family: var(--font-body);
  font-size: 0.9em;
  color: var(--color-sage);
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
}

.style-preview .specimen.muted::selection {
  background-color: var(--color-sage);
  color: var(--color-ink);
}

.style-preview .specimen.error {
  font-family: var(--font-web);
  color: var(--color-vermilion);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}

.style-preview .specimen.error::selection {
  background-color: var(--color-vermilion);
  color: var(--color-ink);
}

.tab-rail {
  display: flex;
  flex-direction: column;
  padding-block: calc(var(--spacing) * 1.5);
}

.tab-rail .rail-heading {
  font-family: var(--font-web);
  font-size: 0.9em;
  color: color-mix(in oklab, var(--color-forest) 60%, transparent);
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  text-transform: uppercase;
  --tw-tracking: var(--tracking-wider);
  letter-spacing: var(--tracking-wider);
  padding-inline: calc(var(--spacing) * 2.5);
  padding-top: calc(var(--spacing) * 2.5);
  padding-bottom: var(--spacing);
  -webkit-user-select: none;
  user-select: none;
}

.tab-rail .tab {
  font-family: var(--font-web);
  --tw-leading: 1;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  border-radius: var(--radius-tab);
  height: 30px;
  padding-inline: calc(var(--spacing) * 2.5);
  margin-block: 5px;
  margin-inline: calc(var(--spacing) * 2.5);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  background-color: var(--color-page);
  border-color: var(--color-pine);
  color: var(--color-pine);
}

@media (prefers-reduced-motion: reduce) {
  .tab-rail .tab {
    transition-property: none;
  }
}

@media (hover: hover) {
  .tab-rail .tab:hover {
    background-color: var(--color-pine);
    color: var(--color-paper);
  }
}

.tab-rail .tab:focus-visible {
  --tw-outline-style: none;
  outline-style: none;
  border-color: var(--color-matcha);
  --tw-shadow: var(--shadow-focus-ring);
  box-shadow: var(--tw-inset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}

.tab-rail .tab.primary {
  background-color: var(--color-page);
  border-color: var(--color-vermilion);
  color: var(--color-vermilion);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .tab-rail .tab.primary:hover {
    background-color: var(--color-vermilion);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tab-rail .tab.primary {
    transition-property: none;
  }
}

.tab-rail .tab.confirm {
  background-color: var(--color-page);
  border-color: var(--color-matcha);
  color: var(--color-matcha);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .tab-rail .tab.confirm:hover {
    background-color: var(--color-matcha);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tab-rail .tab.confirm {
    transition-property: none;
  }
}

.tab-rail .tab.deep {
  background-color: var(--color-page);
  border-color: var(--color-forest);
  color: var(--color-forest);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
}

@media (hover: hover) {
  .tab-rail .tab.deep:hover {
    background-color: var(--color-forest);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tab-rail .tab.deep {
    transition-property: none;
  }
}

.tab-rail .tab.current {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-style: solid;
  border-width: 2px;
  --tw-border-style: solid;
  height: 30px;
  padding-inline: calc(var(--spacing) * 2.5);
  margin-block: 5px;
  margin-inline: calc(var(--spacing) * 2.5);
  margin-right: -0.125rem;
  border-top-left-radius: var(--radius-tab);
  border-bottom-left-radius: var(--radius-tab);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  background-color: var(--color-pine);
  color: var(--color-paper);
  border-color: var(--color-pine);
}

.tab-rail .tab.current.primary {
  background-color: var(--color-vermilion);
  color: var(--color-paper);
  border-color: var(--color-vermilion);
}

.tab-rail .tab.current.confirm {
  background-color: var(--color-matcha);
  color: var(--color-paper);
  border-color: var(--color-matcha);
}

.tab-rail .tab.current.deep {
  background-color: var(--color-forest);
  color: var(--color-paper);
  border-color: var(--color-forest);
}

.tab-rail .tab:disabled {
  background-color: var(--color-page);
  border-color: var(--color-sage);
  color: var(--color-sage);
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: 300ms;
  --tw-duration: 300ms;
  cursor: not-allowed;
}

@media (hover: hover) {
  .tab-rail .tab:disabled:hover {
    background-color: var(--color-sage);
    color: var(--color-paper);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tab-rail .tab:disabled {
    transition-property: none;
  }
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}

::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}

::before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}

::backdrop {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;
}

:host {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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 {
  font-size: inherit;
  font-weight: inherit;
}

h2 {
  font-size: inherit;
  font-weight: inherit;
}

h3 {
  font-size: inherit;
  font-weight: inherit;
}

h4 {
  font-size: inherit;
  font-weight: inherit;
}

h5 {
  font-size: inherit;
  font-weight: inherit;
}

h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

b {
  font-weight: bolder;
}

strong {
  font-weight: bolder;
}

code {
  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;
}

kbd {
  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;
}

samp {
  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;
}

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 {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  bottom: -0.25em;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

:-moz-focusring:where(:not(iframe)) {
  outline: auto;
}

progress {
  vertical-align: baseline;
}

summary {
  display: list-item;
}

ol {
  list-style: none;
}

ul {
  list-style: none;
}

menu {
  list-style: none;
}

svg {
  display: block;
  vertical-align: middle;
}

canvas {
  display: block;
  vertical-align: middle;
}

audio {
  display: block;
  vertical-align: middle;
}

iframe {
  display: block;
  vertical-align: middle;
}

embed {
  display: block;
  vertical-align: middle;
}

object {
  display: block;
  vertical-align: middle;
}

img {
  display: block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

video {
  display: block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

input {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
}

select {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
}

optgroup {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
}

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

textarea {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
  resize: vertical;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-date-and-time-value {
  min-height: 1lh;
  text-align: inherit;
}

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit {
  display: inline-flex;
  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 {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
  appearance: button;
}

input:where([type="button"], [type="reset"], [type="submit"]) {
  appearance: button;
}

::file-selector-button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
  margin-inline-end: 4px;
  appearance: button;
}

::-webkit-inner-spin-button {
  height: auto;
}

::-webkit-outer-spin-button {
  height: auto;
}

[hidden]:where(:not([hidden="until-found"])) {
  display: none !important;
}

::placeholder {
  opacity: 1;
}

@supports not (-webkit-appearance: -apple-pay-button), (contain-intrinsic-size: 1px) {
  ::placeholder {
    color: currentcolor;
  }

  @supports (color: color-mix(in lab, red, red)) {
    ::placeholder {
      color: color-mix(in oklab, currentcolor 50%, transparent);
    }
  }
}
