/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: "Inter", "Helvetica Neue", Arial, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-300: oklch(80.8% 0.114 19.571);
    --color-red-900: oklch(39.6% 0.141 25.723);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-tight: 1.25;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --aspect-video: 16 / 9;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --font-display: "Cormorant Garamond", Georgia, serif;
    --color-ink-950: #111111;
    --color-ink-700: #4b4a47;
    --color-paper-50: #faf9f6;
    --color-paper-100: #f3f0e9;
    --color-paper-200: #e9e4da;
    --color-vermilion-600: #9d241f;
    --color-vermilion-700: #7c1d19;
    --radius-card: 1rem;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    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;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .mx-auto {
    margin-inline: auto;
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-9 {
    margin-top: calc(var(--spacing) * 9);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-auto {
    margin-top: auto;
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-auto {
    margin-left: auto;
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-flex {
    display: inline-flex;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-24 {
    height: calc(var(--spacing) * 24);
  }
  .h-full {
    height: 100%;
  }
  .\!min-h-10 {
    min-height: calc(var(--spacing) * 10) !important;
  }
  .min-h-11 {
    min-height: calc(var(--spacing) * 11);
  }
  .min-h-16 {
    min-height: calc(var(--spacing) * 16);
  }
  .min-h-24 {
    min-height: calc(var(--spacing) * 24);
  }
  .min-h-72 {
    min-height: calc(var(--spacing) * 72);
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-24 {
    width: calc(var(--spacing) * 24);
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-48 {
    max-width: calc(var(--spacing) * 48);
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-60 {
    min-width: calc(var(--spacing) * 60);
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .list-disc {
    list-style-type: disc;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .content-start {
    align-content: flex-start;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-7 {
    gap: calc(var(--spacing) * 7);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }
  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }
  .divide-y {
    :where(& > :not(:last-child)) {
      --tw-divide-y-reverse: 0;
      border-bottom-style: var(--tw-border-style);
      border-top-style: var(--tw-border-style);
      border-top-width: calc(1px * var(--tw-divide-y-reverse));
      border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    }
  }
  .divide-black\/5 {
    :where(& > :not(:last-child)) {
      border-color: color-mix(in srgb, #000 5%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-black) 5%, transparent);
      }
    }
  }
  .divide-black\/10 {
    :where(& > :not(:last-child)) {
      border-color: color-mix(in srgb, #000 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-black) 10%, transparent);
      }
    }
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-\[2rem\] {
    border-radius: 2rem;
  }
  .rounded-card {
    border-radius: var(--radius-card);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-black\/10 {
    border-color: color-mix(in srgb, #000 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }
  .border-black\/15 {
    border-color: color-mix(in srgb, #000 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-black) 15%, transparent);
    }
  }
  .border-red-300 {
    border-color: var(--color-red-300);
  }
  .border-white\/10 {
    border-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .border-white\/15 {
    border-color: color-mix(in srgb, #fff 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }
  .\!bg-white {
    background-color: var(--color-white) !important;
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-ink-950 {
    background-color: var(--color-ink-950);
  }
  .bg-paper-50 {
    background-color: var(--color-paper-50);
  }
  .bg-paper-100 {
    background-color: var(--color-paper-100);
  }
  .bg-paper-200 {
    background-color: var(--color-paper-200);
  }
  .bg-red-50 {
    background-color: var(--color-red-50);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/10 {
    background-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .object-contain {
    object-fit: contain;
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-7 {
    padding: calc(var(--spacing) * 7);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .\!px-4 {
    padding-inline: calc(var(--spacing) * 4) !important;
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .\!py-2 {
    padding-block: calc(var(--spacing) * 2) !important;
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }
  .pb-14 {
    padding-bottom: calc(var(--spacing) * 14);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .\!text-base {
    font-size: var(--text-base) !important;
    line-height: var(--tw-leading, var(--text-base--line-height)) !important;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[13px\] {
    font-size: 13px;
  }
  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }
  .leading-8 {
    --tw-leading: calc(var(--spacing) * 8);
    line-height: calc(var(--spacing) * 8);
  }
  .leading-\[\.95\] {
    --tw-leading: .95;
    line-height: .95;
  }
  .leading-\[\.98\] {
    --tw-leading: .98;
    line-height: .98;
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[\.2em\] {
    --tw-tracking: .2em;
    letter-spacing: .2em;
  }
  .tracking-\[\.12em\] {
    --tw-tracking: .12em;
    letter-spacing: .12em;
  }
  .tracking-\[\.14em\] {
    --tw-tracking: .14em;
    letter-spacing: .14em;
  }
  .tracking-\[\.15em\] {
    --tw-tracking: .15em;
    letter-spacing: .15em;
  }
  .tracking-\[\.16em\] {
    --tw-tracking: .16em;
    letter-spacing: .16em;
  }
  .tracking-\[\.18em\] {
    --tw-tracking: .18em;
    letter-spacing: .18em;
  }
  .whitespace-pre-line {
    white-space: pre-line;
  }
  .\!text-ink-950 {
    color: var(--color-ink-950) !important;
  }
  .\!text-red-300 {
    color: var(--color-red-300) !important;
  }
  .\!text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent) !important;
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent) !important;
    }
  }
  .text-ink-700 {
    color: var(--color-ink-700);
  }
  .text-ink-700\/60 {
    color: color-mix(in srgb, #4b4a47 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-ink-700) 60%, transparent);
    }
  }
  .text-ink-950 {
    color: var(--color-ink-950);
  }
  .text-red-900 {
    color: var(--color-red-900);
  }
  .text-vermilion-600 {
    color: var(--color-vermilion-600);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/45 {
    color: color-mix(in srgb, #fff 45%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 45%, transparent);
    }
  }
  .text-white\/50 {
    color: color-mix(in srgb, #fff 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }
  .text-white\/55 {
    color: color-mix(in srgb, #fff 55%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 55%, transparent);
    }
  }
  .text-white\/60 {
    color: color-mix(in srgb, #fff 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }
  .text-white\/65 {
    color: color-mix(in srgb, #fff 65%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 65%, transparent);
    }
  }
  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .text-white\/75 {
    color: color-mix(in srgb, #fff 75%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 75%, transparent);
    }
  }
  .uppercase {
    text-transform: uppercase;
  }
  .opacity-80 {
    opacity: 80%;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .hover\:bg-paper-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-paper-200);
      }
    }
  }
  .hover\:text-white {
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .sm\:col-span-2 {
    @media (width >= 40rem) {
      grid-column: span 2 / span 2;
    }
  }
  .sm\:block {
    @media (width >= 40rem) {
      display: block;
    }
  }
  .sm\:inline-flex {
    @media (width >= 40rem) {
      display: inline-flex;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:p-8 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .sm\:p-10 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 10);
    }
  }
  .sm\:text-5xl {
    @media (width >= 40rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .sm\:text-6xl {
    @media (width >= 40rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .sm\:text-7xl {
    @media (width >= 40rem) {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  .md\:col-span-2 {
    @media (width >= 48rem) {
      grid-column: span 2 / span 2;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-4 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:sticky {
    @media (width >= 64rem) {
      position: sticky;
    }
  }
  .lg\:top-24 {
    @media (width >= 64rem) {
      top: calc(var(--spacing) * 24);
    }
  }
  .lg\:top-28 {
    @media (width >= 64rem) {
      top: calc(var(--spacing) * 28);
    }
  }
  .lg\:col-span-2 {
    @media (width >= 64rem) {
      grid-column: span 2 / span 2;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-5 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-\[\.8fr_1\.2fr\] {
    @media (width >= 64rem) {
      grid-template-columns: .8fr 1.2fr;
    }
  }
  .lg\:grid-cols-\[\.72fr_1\.28fr\] {
    @media (width >= 64rem) {
      grid-template-columns: .72fr 1.28fr;
    }
  }
  .lg\:grid-cols-\[\.85fr_1\.15fr\] {
    @media (width >= 64rem) {
      grid-template-columns: .85fr 1.15fr;
    }
  }
  .lg\:grid-cols-\[1\.1fr_\.9fr\] {
    @media (width >= 64rem) {
      grid-template-columns: 1.1fr .9fr;
    }
  }
  .lg\:grid-cols-\[1\.05fr_\.95fr\] {
    @media (width >= 64rem) {
      grid-template-columns: 1.05fr .95fr;
    }
  }
  .lg\:grid-cols-\[minmax\(0\,\.85fr\)_minmax\(0\,1\.15fr\)\] {
    @media (width >= 64rem) {
      grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
    }
  }
  .lg\:grid-cols-\[minmax\(0\,1fr\)_280px\] {
    @media (width >= 64rem) {
      grid-template-columns: minmax(0,1fr) 280px;
    }
  }
  .lg\:grid-cols-\[minmax\(0\,1fr\)_360px\] {
    @media (width >= 64rem) {
      grid-template-columns: minmax(0,1fr) 360px;
    }
  }
  .lg\:items-end {
    @media (width >= 64rem) {
      align-items: flex-end;
    }
  }
  .lg\:self-start {
    @media (width >= 64rem) {
      align-self: flex-start;
    }
  }
  .lg\:px-8 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .lg\:py-20 {
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 20);
    }
  }
  .lg\:py-24 {
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 24);
    }
  }
  .lg\:text-7xl {
    @media (width >= 64rem) {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  .xl\:col-span-3 {
    @media (width >= 80rem) {
      grid-column: span 3 / span 3;
    }
  }
  .xl\:grid-cols-3 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .xl\:grid-cols-4 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .xl\:grid-cols-\[1\.35fr_\.65fr\] {
    @media (width >= 80rem) {
      grid-template-columns: 1.35fr .65fr;
    }
  }
}
:root {
  color-scheme: light;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  background: var(--color-paper-50);
  color: var(--color-ink-950);
  font-family: var(--font-sans);
  font-size: 16px;
}
a, button {
  -webkit-tap-highlight-color: transparent;
}
button, input, textarea, select {
  font: inherit;
}
.sdgk-display {
  font-family: var(--font-display);
  letter-spacing: -0.025em;
}
.eyebrow {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--color-vermilion-600);
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid rgb(0 0 0 / .08);
  background: rgb(250 249 246 / .92);
  backdrop-filter: blur(16px);
}
.mobile-menu a {
  display: block;
  padding: .8rem 0;
  font-size: 1rem;
  border-bottom: 1px solid rgb(0 0 0 / .07);
}
.icon-button {
  display: inline-grid;
  min-height: 44px;
  min-width: 44px;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgb(0 0 0 / .12);
  background: white;
}
.primary-button, .secondary-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: .75rem 1.35rem;
  font-weight: 600;
}
.primary-button {
  background: var(--color-ink-950);
  color: white;
}
.secondary-button {
  border: 1px solid rgb(0 0 0 / .14);
  background: white;
  color: var(--color-ink-950);
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-weight: 600;
}
.feature-panel {
  border-radius: 2rem;
  background: var(--color-ink-950);
  padding: 2rem;
}
.feature-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  border-radius: 1rem;
  background: rgb(255 255 255 / .06);
  padding: 1rem;
  color: rgb(255 255 255 / .78);
}
.feature-row svg {
  width: 1.25rem;
  height: 1.25rem;
}
.discipline-card {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  border-radius: 1.25rem;
  border: 1px solid rgb(0 0 0 / .10);
  background: white;
  padding: 1.4rem;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
@media (hover:hover) and (pointer:fine) {
  .discipline-card:hover, .interactive-card:hover {
    transform: translateY(-2px);
    border-color: rgb(0 0 0 / .2);
  }
}
.footer-title {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
}
.footer-links {
  display: grid;
  gap: .65rem;
  margin-top: 1rem;
  font-size: .875rem;
  color: var(--color-ink-700);
}
.prose-sdgk {
  color: var(--color-ink-700);
  line-height: 1.8;
}
.internal-shell {
  min-height: 100vh;
}
.internal-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 60;
  display: flex;
  width: 280px;
  max-width: 88vw;
  flex-direction: column;
  border-right: 1px solid rgb(0 0 0 / .08);
  background: rgb(250 249 246 / .98);
  transform: translateX(-102%);
  transition: transform .22s ease;
}
.internal-sidebar.is-open {
  transform: translateX(0);
}
.internal-main {
  min-width: 0;
}
.internal-topbar {
  display: flex;
  min-height: 72px;
  align-items: center;
  gap: .75rem;
  border-bottom: 1px solid rgb(0 0 0 / .08);
  background: rgb(243 240 233 / .9);
  padding: .75rem 1rem;
  backdrop-filter: blur(14px);
}
.internal-content {
  margin-inline: auto;
  max-width: 1180px;
  padding: 1.25rem;
}
.internal-nav-link {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: .8rem;
  border-radius: .85rem;
  padding: .65rem .8rem;
  color: var(--color-ink-700);
}
.internal-nav-link.is-active {
  background: var(--color-ink-950);
  color: white;
}
.internal-search-trigger {
  display: flex;
  min-height: 44px;
  min-width: 0;
  align-items: center;
  gap: .55rem;
  border: 1px solid rgb(0 0 0 / .10);
  border-radius: 999px;
  background: white;
  padding: 0 .8rem;
  color: var(--color-ink-700);
}
.internal-search-trigger span {
  display: none;
}
.internal-search-trigger kbd {
  display: none;
  border: 1px solid rgb(0 0 0 / .1);
  border-radius: .4rem;
  padding: .1rem .35rem;
  font-size: .7rem;
}
.avatar-button {
  display: grid;
  min-height: 44px;
  min-width: 44px;
  place-items: center;
  border-radius: 999px;
  background: var(--color-ink-950);
  color: white;
  font-size: .8rem;
  font-weight: 700;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border-radius: 999px;
  background: white;
  padding: .65rem .9rem;
  font-size: .8rem;
  font-weight: 600;
}
.status-dot {
  width: .5rem;
  height: .5rem;
  border-radius: 999px;
  background: #347a4a;
}
.interactive-card {
  border: 1px solid transparent;
  transition: transform .18s ease, border-color .18s ease;
}
.icon-tile {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: .8rem;
  background: var(--color-paper-100);
  color: var(--color-ink-950);
}
.icon-tile svg {
  width: 1.25rem;
  height: 1.25rem;
}
.round-action {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 999px;
  background: white;
}
.mini-stat {
  border-radius: .8rem;
  background: rgb(255 255 255 / .06);
  padding: .8rem;
}
.mini-stat strong, .mini-stat span {
  display: block;
}
.mini-stat span {
  margin-top: .15rem;
  font-size: .7rem;
  color: rgb(255 255 255 / .55);
}
.progress-card {
  border: 1px solid rgb(0 0 0 / .08);
  border-radius: 1rem;
  padding: 1rem;
}
.progress-track {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--color-paper-100);
  margin-top: 1rem;
}
.progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--color-vermilion-600);
}
.progress-detail {
  margin-top: .8rem;
  font-size: .8rem;
  color: var(--color-ink-700);
}
.command-palette {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  align-items: start;
  justify-items: center;
  padding: 12vh 1rem 1rem;
}
.command-palette.hidden {
  display: none;
}
.command-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgb(17 17 17 / .45);
  border: 0;
}
.command-panel {
  position: relative;
  width: min(620px, 100%);
  overflow: hidden;
  border-radius: 1.25rem;
  background: white;
  box-shadow: 0 24px 70px rgb(0 0 0 / .22);
}
.command-result {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: .75rem;
  border-radius: .8rem;
  padding: .75rem;
}
.command-result:hover, .command-result:focus-visible {
  background: var(--color-paper-100);
  outline: none;
}
.command-result.hidden {
  display: none;
}
@media (min-width: 640px) {
  .internal-search-trigger {
    min-width: 220px;
    justify-content: flex-start;
  }
  .internal-search-trigger span {
    display: inline;
  }
  .internal-search-trigger kbd {
    display: inline;
    margin-left: auto;
  }
}
@media (min-width: 1024px) {
  .internal-shell {
    display: grid;
    grid-template-columns: 250px minmax(0,1fr);
  }
  .internal-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    width: auto;
    max-width: none;
    transform: none;
  }
  .internal-content {
    padding: 2rem;
  }
  .internal-topbar {
    padding-inline: 2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
.brand-lockup {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: .7rem;
  text-decoration: none;
}
.brand-logo {
  width: 46px;
  height: 46px;
  flex: none;
  border-radius: 999px;
  object-fit: contain;
  background: #171717;
}
.brand-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  line-height: 1;
}
.brand-copy strong {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -.035em;
}
.brand-copy small {
  margin-top: .28rem;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .28em;
  opacity: .58;
}
.site-nav-link {
  position: relative;
  padding-block: .55rem;
}
.site-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: .1rem;
  height: 2px;
  background: var(--color-vermilion-600);
  transition: right .18s ease;
}
.site-nav-link:hover::after {
  right: 0;
}
.site-footer {
  margin-top: 5rem;
  background: #111;
  color: white;
}
.primary-button {
  background: var(--color-vermilion-600);
  color: white;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / .06);
}
.primary-button:hover {
  background: var(--color-vermilion-700);
}
.home-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg,#fbfaf7 0%,#f1ece2 100%);
}
.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image: radial-gradient(circle at 15% 20%,rgb(157 36 31 / .12),transparent 22%),linear-gradient(120deg,transparent 0 63%,rgb(17 17 17 / .035) 63% 64%,transparent 64% 100%);
}
.home-hero > div {
  position: relative;
}
.martial-panel {
  min-height: 410px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 2rem;
  padding: 2rem;
  background: radial-gradient(circle at 80% 20%,rgb(157 36 31 / .45),transparent 30%),linear-gradient(150deg,#232323,#0c0c0c 66%);
  box-shadow: 0 24px 80px rgb(17 17 17 / .18);
}
.martial-panel::after {
  content: "真\A道\A護\A身\A会";
  white-space: pre;
  position: absolute;
  right: 1.6rem;
  top: 1.7rem;
  color: rgb(255 255 255 / .08);
  font-family: serif;
  font-size: 2.2rem;
  line-height: 1.2;
}
.martial-mark {
  width: 104px;
  height: 104px;
  border-radius: 999px;
  padding: .4rem;
  background: white;
  box-shadow: 0 0 0 1px rgb(255 255 255 / .16);
}
.martial-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 999px;
}
.home-feature {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 76px;
  border-radius: 1rem;
  padding: .7rem;
}
.home-feature strong {
  display: block;
  font-size: .86rem;
}
.home-feature p {
  margin-top: .1rem;
  font-size: .72rem;
  color: var(--color-ink-700);
}
.brand-discipline-card {
  min-height: 270px;
  position: relative;
  overflow: hidden;
  border: 0;
  background: linear-gradient(155deg,#282828,#111 70%);
}
.brand-discipline-card::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -60px;
  top: -50px;
  border: 1px solid rgb(255 255 255 / .08);
  border-radius: 999px;
  box-shadow: 0 0 0 28px rgb(255 255 255 / .025),0 0 0 58px rgb(255 255 255 / .018);
}
.brand-discipline-card > * {
  position: relative;
}
.journey-step {
  min-height: 190px;
  border: 1px solid rgb(255 255 255 / .11);
  border-radius: 1.2rem;
  padding: 1.25rem;
  background: rgb(255 255 255 / .035);
}
.journey-step span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: .65rem;
  background: white;
  color: #111;
  font-size: .75rem;
  font-weight: 800;
}
.journey-step strong {
  display: block;
  margin-top: 1.8rem;
  font-size: 1.05rem;
}
.journey-step p {
  margin-top: .45rem;
  color: rgb(255 255 255 / .58);
  font-size: .82rem;
  line-height: 1.55;
}
.product-panel {
  min-height: 300px;
  border: 1px solid rgb(0 0 0 / .09);
  border-radius: 2rem;
  padding: 2rem;
  background: white;
}
.dojo-map-placeholder {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  background: #1a1a1a;
}
.map-grid {
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image: linear-gradient(rgb(255 255 255 / .12) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .12) 1px,transparent 1px);
  background-size: 38px 38px;
  transform: rotate(-8deg) scale(1.2);
}
.map-card {
  position: absolute;
  left: 10%;
  bottom: 12%;
  display: flex;
  align-items: center;
  gap: .8rem;
  border-radius: 1rem;
  padding: .8rem 1rem;
  background: white;
  box-shadow: 0 20px 60px rgb(0 0 0 / .25);
}
.map-card img {
  width: 42px;
  height: 42px;
  border-radius: 999px;
}
.map-card strong,.map-card p {
  display: block;
}
.map-card p {
  margin-top: .1rem;
  font-size: .72rem;
  color: var(--color-ink-700);
}
.document-preview {
  min-height: 145px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgb(0 0 0 / .08);
  border-radius: 1rem;
  padding: 1rem;
  background: white;
  box-shadow: 0 10px 35px rgb(0 0 0 / .05);
}
.document-preview span {
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .17em;
  color: var(--color-vermilion-600);
}
.document-preview strong {
  font-family: var(--font-display);
  font-size: 1.5rem;
}
.document-preview small {
  color: var(--color-ink-700);
}
.cta-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border-radius: 2rem;
  padding: 2rem;
  background: linear-gradient(120deg,#151515,#292929);
}
.auth-stage {
  min-height: calc(100vh - 78px);
  display: grid;
  place-items: center;
  padding: 3rem 1.25rem;
  background: radial-gradient(circle at 50% 0,rgb(157 36 31 / .09),transparent 28%),var(--color-paper-100);
}
.auth-card {
  width: min(460px,100%);
  border: 1px solid rgb(0 0 0 / .08);
  border-radius: 2rem;
  background: white;
  padding: 2rem;
  box-shadow: 0 28px 80px rgb(17 17 17 / .08);
}
.form-field {
  display: grid;
  gap: .45rem;
}
.form-field span {
  font-size: .78rem;
  font-weight: 700;
}
.form-field input,.form-field select,.form-field textarea {
  min-height: 48px;
  width: 100%;
  border: 1px solid rgb(0 0 0 / .13);
  border-radius: .85rem;
  background: white;
  padding: .75rem .9rem;
  outline: none;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus {
  border-color: var(--color-vermilion-600);
  box-shadow: 0 0 0 3px rgb(157 36 31 / .09);
}
.form-error {
  border-radius: .8rem;
  padding: .8rem .9rem;
  background: #fff0ef;
  color: #8b1d18;
  font-size: .82rem;
}
.sidebar-account-card {
  border-radius: 1rem;
  background: #111;
  padding: 1rem;
  color: white;
}
.status-dot-warn {
  background: #b7791f;
}
.empty-state {
  border: 1px dashed rgb(0 0 0 / .14);
  border-radius: 1rem;
  padding: 1.2rem;
  background: var(--color-paper-50);
}
.empty-state strong {
  display: block;
  font-size: .92rem;
}
.empty-state p {
  margin-top: .3rem;
  font-size: .8rem;
  line-height: 1.55;
  color: var(--color-ink-700);
}
.academy-dashboard-card {
  border: 1px solid rgb(0 0 0 / .08);
  border-radius: 1rem;
  padding: 1rem;
  transition: transform .18s ease,border-color .18s ease;
}
.academy-dashboard-card:hover {
  transform: translateY(-2px);
  border-color: rgb(0 0 0 / .18);
}
.trajectory-card {
  border: 1px solid rgb(0 0 0 / .08);
  border-radius: 1rem;
  padding: 1rem;
}
.trajectory-card span,.trajectory-card strong,.trajectory-card small {
  display: block;
}
.trajectory-card span {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--color-vermilion-600);
}
.trajectory-card strong {
  margin-top: .35rem;
}
.trajectory-card small {
  margin-top: .2rem;
  color: var(--color-ink-700);
}
.profile-identity-card {
  border-radius: 1rem;
  padding: 1.6rem;
  background: #111;
  color: white;
}
.list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgb(0 0 0 / .08);
  border-radius: .9rem;
  padding: 1rem;
}
.list-row strong,.list-row p {
  display: block;
}
.list-row p {
  margin-top: .25rem;
  font-size: .78rem;
  color: var(--color-ink-700);
}
.status-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .4rem .65rem;
  background: #eef6ef;
  color: #2d6940;
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.license-card {
  border-radius: 1.3rem;
  padding: 1.4rem;
  background: linear-gradient(145deg,#252525,#111);
  color: white;
  box-shadow: 0 20px 55px rgb(0 0 0 / .12);
}
.license-card .status-chip {
  background: rgb(255 255 255 / .1);
  color: white;
}
.license-card strong {
  display: block;
  margin-top: .25rem;
  color: white;
}
.certificate-card {
  border: 1px solid rgb(0 0 0 / .08);
  border-radius: 1.1rem;
  padding: 1.4rem;
  background: white;
}
@media (min-width:1024px) {
  .internal-shell {
    grid-template-columns: 235px minmax(0,1fr);
  }
  .internal-sidebar {
    background: #15191d;
    color: white;
    border-right-color: transparent;
  }
  .internal-sidebar .brand-copy small {
    color: rgb(255 255 255 / .55);
  }
  .internal-sidebar .internal-nav-link {
    color: rgb(255 255 255 / .64);
  }
  .internal-sidebar .internal-nav-link.is-active {
    background: var(--color-vermilion-600);
    color: white;
  }
  .internal-sidebar .internal-nav-link:hover {
    background: rgb(255 255 255 / .06);
    color: white;
  }
  .internal-sidebar .internal-nav-link.is-active:hover {
    background: var(--color-vermilion-600);
  }
  .internal-sidebar nav section > p {
    color: rgb(255 255 255 / .32);
  }
}
.internal-sidebar {
  background: #15191d;
  color: white;
  border-right-color: transparent;
}
.internal-sidebar .brand-copy small {
  color: rgb(255 255 255 / .55);
}
.internal-sidebar .internal-nav-link {
  color: rgb(255 255 255 / .64);
}
.internal-sidebar .internal-nav-link.is-active {
  background: var(--color-vermilion-600);
  color: white;
}
.internal-sidebar .internal-nav-link:hover {
  background: rgb(255 255 255 / .06);
  color: white;
}
.internal-sidebar .internal-nav-link.is-active:hover {
  background: var(--color-vermilion-600);
}
.internal-sidebar nav section > p {
  color: rgb(255 255 255 / .32);
}
.form-grid {
  display: grid;
  gap: 1rem;
}
.form-grid label, form label {
  display: grid;
  gap: .45rem;
  font-size: .82rem;
  font-weight: 600;
}
.form-grid small, form label small {
  font-size: .72rem;
  line-height: 1.45;
  color: var(--color-ink-700);
  font-weight: 400;
}
.form-control {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgb(0 0 0 / .14);
  border-radius: .8rem;
  background: white;
  padding: .7rem .85rem;
  color: var(--color-ink-950);
  outline: none;
}
textarea.form-control {
  min-height: 96px;
  resize: vertical;
}
.form-control:focus {
  border-color: var(--color-vermilion-600);
  box-shadow: 0 0 0 3px rgb(157 36 31 / .10);
}
.check-card {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: flex-start;
  gap: .75rem !important;
  border: 1px solid rgb(0 0 0 / .10);
  border-radius: .9rem;
  padding: .9rem;
  background: var(--color-paper-50);
}
.check-card input {
  margin-top: .2rem;
}
.check-card span {
  display: grid;
  gap: .15rem;
}
.check-card strong {
  font-size: .86rem;
}
.admin-table-wrap {
  overflow: auto;
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}
.admin-table th {
  text-align: left;
  padding: .9rem 1rem;
  color: var(--color-ink-700);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  border-bottom: 1px solid rgb(0 0 0 / .08);
}
.admin-table td {
  padding: 1rem;
  border-bottom: 1px solid rgb(0 0 0 / .07);
  vertical-align: top;
}
.admin-table td small {
  display: block;
  margin-top: .2rem;
  color: var(--color-ink-700);
}
.grade-row {
  display: grid;
  gap: .75rem;
  align-items: center;
  border: 1px solid rgb(0 0 0 / .08);
  border-radius: .9rem;
  padding: .8rem;
}
.grade-row > div small {
  display: block;
  color: var(--color-ink-700);
}
.dojo-map {
  min-height: 520px;
  border-radius: 1.25rem;
  overflow: hidden;
  border: 1px solid rgb(0 0 0 / .10);
  background: var(--color-paper-100);
}
.dojo-map-empty {
  min-height: 520px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: .5rem;
  padding: 2rem;
  text-align: center;
  color: var(--color-ink-700);
}
.dojo-map-empty strong {
  color: var(--color-ink-950);
}
@media (min-width:768px) {
  .form-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .grade-row {
    grid-template-columns: 110px minmax(170px,1fr) 100px 120px 100px auto;
  }
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
    }
  }
}

@media (min-width:1024px){[data-sidebar-open],[data-sidebar-close]{display:none!important}.internal-shell{grid-template-columns:280px minmax(0,1fr)}.internal-sidebar{width:280px}}.internal-sidebar .brand-lockup{flex:1 1 auto;overflow:hidden}.internal-sidebar .brand-copy strong{white-space:nowrap}
a[href],button,.primary-button,.secondary-button,.icon-button,.avatar-button,[role="button"],input[type="submit"],input[type="button"]{cursor:pointer}button:disabled,input:disabled,[aria-disabled="true"]{cursor:not-allowed}
.commerce-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;border-bottom:1px solid rgb(0 0 0/.08);padding-bottom:.75rem}.commerce-tabs a{border-radius:999px;padding:.55rem .8rem;color:#6b6b66;font-size:.78rem;font-weight:700}.commerce-tabs a:hover{background:#fff;color:#181816}.commerce-tabs a.is-active{background:#181816;color:#fff}.commerce-kpis{display:grid;gap:1rem;margin-top:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.commerce-kpis article{border:1px solid rgb(0 0 0/.08);border-radius:1.2rem;background:#fff;padding:1.2rem}.commerce-kpis span,.commerce-kpis small{display:block;color:#6b6b66}.commerce-kpis span{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.commerce-kpis strong{display:block;margin-top:.45rem;font-size:2rem;line-height:1}.commerce-kpis small{margin-top:.45rem;font-size:.75rem}.commerce-price-list{display:grid;gap:1rem}.commerce-price-card{border:1px solid rgb(0 0 0/.08);border-radius:1rem;padding:1rem;background:#faf9f5}.commerce-balance-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.commerce-balance-grid article{border:1px solid rgb(0 0 0/.08);border-radius:1rem;padding:1rem}.commerce-balance-grid article strong,.commerce-balance-grid article span{display:block}.commerce-balance-grid article span{margin-top:.35rem}.money{font-variant-numeric:tabular-nums;font-weight:700}.money.is-negative{color:#9d241f}


/* 0.8.0 Campus v1 */
.campus-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem;border-radius:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#fff,var(--color-paper-100));border:1px solid rgb(0 0 0 / .07)}
.campus-hero h1{margin-top:.25rem;font-size:clamp(2.2rem,6vw,4.2rem);line-height:.95}.campus-hero p{margin-top:.6rem;max-width:760px;color:var(--color-ink-700);line-height:1.6}.campus-hero-dark{background:linear-gradient(135deg,#171717,#2a2020);color:white}.campus-hero-dark p{color:rgb(255 255 255 / .65)}
.campus-notice{margin-top:1rem;border-radius:1rem;padding:.9rem 1rem;background:#eef6ef;color:#2d6940;font-weight:700}.campus-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:1.25rem}.campus-kpis article{border:1px solid rgb(0 0 0 / .08);border-radius:1.1rem;background:white;padding:1.1rem}.campus-kpis span,.campus-kpis strong{display:block}.campus-kpis span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-ink-700);font-weight:700}.campus-kpis strong{margin-top:.4rem;font-size:1.8rem}
.campus-panel{margin-top:1.25rem;border:1px solid rgb(0 0 0 / .08);border-radius:1.35rem;background:white;padding:1.25rem}.campus-section-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.campus-section-head h1,.campus-section-head h2{margin-top:.2rem}.campus-section-head h2{font-size:1.35rem;font-weight:800}.campus-section-head p{margin-top:.35rem;color:var(--color-ink-700)}
.campus-list-row,.campus-lesson-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgb(0 0 0 / .07);padding:1rem .2rem}.campus-list-row:first-of-type,.campus-lesson-row:first-child{border-top:0}.campus-list-row strong,.campus-list-row small,.campus-lesson-row strong,.campus-lesson-row small{display:block}.campus-list-row small,.campus-lesson-row small{margin-top:.25rem;color:var(--color-ink-700);font-size:.78rem}.campus-row-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.campus-row-metrics span,.campus-tags span{border-radius:999px;background:var(--color-paper-100);padding:.35rem .55rem;font-size:.7rem;font-weight:700;color:var(--color-ink-700)}
.campus-admin-grid{display:grid;gap:1.25rem}.campus-subcard{margin-top:1rem;border:1px solid rgb(0 0 0 / .08);border-radius:1rem;padding:1rem;background:var(--color-paper-50)}.campus-subcard small{display:block;margin-top:.2rem;color:var(--color-ink-700)}.campus-mini-grid{display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgb(0 0 0 / .08)}.campus-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.campus-module-admin{margin-top:1rem;border:1px solid rgb(0 0 0 / .08);border-radius:1rem;padding:1rem}.campus-lesson-admin{margin-top:.75rem;border-top:1px solid rgb(0 0 0 / .08);padding-top:.75rem}.campus-lesson-admin summary{display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:1rem}.campus-lesson-admin summary span{font-size:.75rem;color:var(--color-ink-700)}
.campus-course-grid{display:grid;gap:1rem;margin-top:1.25rem}.campus-course-card{display:flex;min-height:220px;flex-direction:column;border:1px solid rgb(0 0 0 / .08);border-radius:1.25rem;background:white;padding:1.25rem;transition:transform .18s ease,border-color .18s ease}.campus-course-card:hover{transform:translateY(-2px);border-color:rgb(0 0 0 / .18)}.campus-course-card h2{margin-top:1.2rem;font-size:1.35rem;font-weight:800}.campus-course-card p{margin-top:.5rem;color:var(--color-ink-700);line-height:1.55}.campus-card-meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:auto;padding-top:1rem;font-size:.75rem;color:var(--color-ink-700)}.campus-lesson-list{display:grid}.campus-lesson-content{display:grid;gap:1rem}.campus-resource{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgb(0 0 0 / .08);padding-top:1rem}.campus-resource strong{display:block;margin-top:.2rem}.campus-resource p{width:100%;color:var(--color-ink-700)}.campus-progress-action{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem}
@media(min-width:760px){.campus-admin-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.campus-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campus-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.learning-architecture-note{background:linear-gradient(135deg,#fff8f5,#fff)}.learning-editor{overflow:hidden}.learning-tree{display:grid;gap:.75rem}.learning-node{margin-left:calc(min(var(--learning-depth),5)*1rem);border-left:2px solid rgb(157 36 31/.16);padding-left:.75rem}.learning-node>details{border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:var(--color-paper-50);overflow:hidden}.learning-node summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer}.learning-node summary div strong,.learning-node summary div small{display:block}.learning-node summary div small{margin-top:.25rem;color:var(--color-ink-700);font-size:.75rem}.learning-node-body{border-top:1px solid rgb(0 0 0/.08);padding:1rem;background:white}.learning-children{display:grid;gap:.65rem;margin-top:.65rem}.learning-child-form{display:grid;gap:.7rem;align-items:end;margin-top:1rem;padding:1rem;border-radius:.9rem;background:var(--color-paper-50);border:1px dashed rgb(0 0 0/.12)}.learning-child-form small{display:block;margin-top:.2rem;color:var(--color-ink-700)}.learning-delete-form{margin-top:.8rem;text-align:right}.learning-resource-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.learning-resource-list span{border-radius:999px;background:var(--color-paper-100);padding:.35rem .55rem;font-size:.7rem;font-weight:700;color:var(--color-ink-700)}.learning-new-form{margin-top:1.25rem}.learning-app-node{margin-left:calc(min(var(--learning-depth),5)*1rem);border-left:2px solid rgb(157 36 31/.12);padding-left:.6rem}.learning-app-node>.campus-lesson-row{border-radius:.75rem;padding-left:.65rem;padding-right:.65rem}.learning-app-node>.campus-lesson-row:hover{background:var(--color-paper-50)}@media(min-width:760px){.learning-child-form{grid-template-columns:minmax(180px,.7fr) minmax(240px,1.5fr) auto}}
.learning-page-head,.learning-course-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem}.learning-page-head h1,.learning-course-header h1{margin-top:.35rem;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.95}.learning-page-head p,.learning-course-header p{margin-top:.65rem;max-width:820px;color:var(--color-ink-700);line-height:1.55}.learning-header-actions{display:flex;flex-wrap:wrap;gap:.65rem}.learning-tabs{display:flex;flex-wrap:wrap;gap:.35rem;border-bottom:1px solid rgb(0 0 0/.08);margin-bottom:1.25rem}.learning-tabs a{display:inline-flex;align-items:center;gap:.45rem;padding:.85rem 1rem;border-bottom:2px solid transparent;font-weight:700;color:var(--color-ink-700)}.learning-tabs a.is-active{border-color:var(--color-vermilion-600);color:var(--color-ink-950)}.learning-tabs span{display:inline-grid;min-width:1.35rem;height:1.35rem;place-items:center;border-radius:999px;background:var(--color-paper-100);font-size:.7rem}.learning-course-grid{display:grid;gap:1rem}.learning-course-card{display:flex;min-height:230px;flex-direction:column;border:1px solid rgb(0 0 0/.09);border-radius:1.25rem;background:white;padding:1.25rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.learning-course-card:hover{transform:translateY(-2px);border-color:rgb(0 0 0/.18);box-shadow:0 12px 28px rgb(0 0 0/.06)}.learning-course-card h2{margin-top:1rem;font-size:1.45rem;font-weight:800}.learning-course-card p{margin-top:.5rem;color:var(--color-ink-700);line-height:1.5}.learning-course-card footer{margin-top:auto;padding-top:1.25rem;color:var(--color-ink-700);font-size:.78rem}.learning-card-top,.learning-chip-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.learning-chip-row span,.legacy-chip,.count-pill{border-radius:999px;background:var(--color-paper-100);padding:.35rem .55rem;font-size:.7rem;font-weight:750;color:var(--color-ink-700)}.legacy-chip{background:#fff3e8;color:#8f4f11}.learning-taxonomy-layout,.learning-access-grid{display:grid;gap:1rem}.taxonomy-sort-list{display:grid;gap:.65rem;margin-top:1rem}.taxonomy-sort-item{display:flex;align-items:center;gap:.75rem;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:white;padding:.75rem}.taxonomy-sort-item.is-dragging{opacity:.45}.drag-handle,.tree-drag-handle{cursor:grab;user-select:none}.drag-handle:active,.tree-drag-handle:active{cursor:grabbing}.taxonomy-inline-form{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(180px,1.4fr) auto auto;gap:.6rem;align-items:center;flex:1}.stack-form{display:grid;gap:.85rem;margin-top:1rem}.stack-form label{display:grid;gap:.35rem;font-weight:650}.stack-form small{font-weight:400;color:var(--color-ink-700)}.mini-check{display:flex!important;align-items:center;gap:.45rem;font-size:.82rem;font-weight:650!important}.check-grid{display:grid;gap:.65rem;margin-top:1rem}.check-card{display:flex;align-items:flex-start;gap:.75rem;border:1px solid rgb(0 0 0/.09);border-radius:1rem;background:var(--color-paper-50);padding:.85rem}.check-card span,.check-card strong,.check-card small{display:block}.check-card small{margin-top:.2rem;color:var(--color-ink-700);font-size:.76rem}.sticky-save-bar{position:sticky;bottom:1rem;display:flex;justify-content:flex-end;margin-top:1rem;padding:.75rem;border:1px solid rgb(0 0 0/.08);border-radius:999px;background:rgb(255 255 255/.92);backdrop-filter:blur(12px)}.danger-outline-button,.danger-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:999px;padding:.75rem 1.2rem;font-weight:750;cursor:pointer}.danger-outline-button{border:1px solid rgb(157 36 31/.25);color:var(--color-vermilion-700);background:white}.danger-button{border:0;background:var(--color-vermilion-700);color:white}.warning-card{margin:1rem 0;border:1px solid rgb(157 36 31/.18);border-radius:1rem;background:#fff7f4;padding:1rem}.warning-card strong,.warning-card p{display:block}.warning-card p{margin-top:.35rem;color:var(--color-ink-700)}.danger-page{max-width:800px}.danger-page h1{margin:.5rem 0 1rem;font-size:2.4rem;font-weight:800}.access-list{display:grid;margin-top:1rem}.access-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgb(0 0 0/.07);padding:.8rem 0}.access-list strong,.access-list small{display:block}.access-list small,.muted{margin-top:.2rem;color:var(--color-ink-700);font-size:.76rem}.formation-editor{display:grid;gap:1rem;align-items:start}.formation-toolbox,.formation-outline-panel,.formation-inspector{border:1px solid rgb(0 0 0/.09);border-radius:1.2rem;background:white;padding:1rem}.formation-toolbox,.formation-inspector{position:sticky;top:84px}.formation-toolbox h3,.formation-inspector h3,.formation-outline-head h2{margin-top:.25rem;font-size:1.25rem;font-weight:800}.formation-toolbox>p:not(.eyebrow),.formation-outline-head p,.inspector-empty p{margin-top:.35rem;color:var(--color-ink-700);font-size:.84rem;line-height:1.45}.toolbox-note{display:grid;gap:.2rem;margin-top:1rem;padding:.8rem;border-radius:.9rem;background:var(--color-paper-50);font-size:.76rem}.toolbox-note span{color:var(--color-ink-700)}.formation-outline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.learning-outline,.learning-child-list{display:grid;gap:.5rem}.learning-child-list{margin:.5rem 0 0 2rem}.learning-tree-item{list-style:none}.learning-node-row{display:flex;align-items:center;gap:.55rem;border:1px solid rgb(0 0 0/.08);border-radius:.9rem;background:var(--color-paper-50);padding:.65rem .7rem;transition:border-color .15s ease,background .15s ease,transform .15s ease}.learning-node-row:hover,.learning-node-row.is-selected{border-color:rgb(157 36 31/.28);background:#fff9f7}.learning-tree-item.is-dragging>.learning-node-row{opacity:.4;transform:scale(.99)}.learning-node-row.is-drop-target[data-drop-position="inside"]{box-shadow:inset 0 0 0 2px rgb(157 36 31/.35)}.learning-node-row.is-drop-target[data-drop-position="before"]{border-top:3px solid var(--color-vermilion-600)}.learning-node-row.is-drop-target[data-drop-position="after"]{border-bottom:3px solid var(--color-vermilion-600)}.tree-drag-handle,.tree-collapse,.tree-add-child{display:inline-grid;flex:0 0 auto;width:2rem;height:2rem;place-items:center;border:0;border-radius:.65rem;background:transparent;color:var(--color-ink-700)}.tree-drag-handle:hover,.tree-collapse:hover,.tree-add-child:hover{background:white}.tree-node-copy{min-width:0;flex:1}.tree-node-copy strong,.tree-node-copy small{display:block}.tree-node-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node-copy small{margin-top:.15rem;color:var(--color-ink-700);font-size:.7rem}.learning-tree-item.is-collapsed>.learning-child-list{display:none}.tree-inline-add{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;margin:.5rem 0 .5rem 2rem}.tree-empty-state{display:grid;gap:.25rem;padding:1rem;border:1px dashed rgb(0 0 0/.14);border-radius:1rem;color:var(--color-ink-700)}.tree-save-status{min-height:1.2rem;margin-top:.6rem;text-align:right;font-size:.72rem;font-weight:700}.tree-save-status.is-saved{color:#277141}.tree-save-status.is-error{color:var(--color-vermilion-700)}.inspector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.inspector-description{min-height:180px}.current-file{display:block;margin-top:.35rem;font-size:.76rem;color:var(--color-ink-700)}.inspector-danger{margin-top:1rem;padding-top:1rem;border-top:1px solid rgb(0 0 0/.08)}.learning-hero{border-radius:1.5rem;background:linear-gradient(135deg,#181414,#2a2020);padding:2rem;color:white}.learning-hero .eyebrow{color:rgb(255 255 255/.55)}.learning-hero h1{margin-top:.35rem;font-size:clamp(2.8rem,6vw,5.2rem)}.learning-hero p{margin-top:.5rem;color:rgb(255 255 255/.7)}.app-learning-grid{margin-top:1.25rem}.app-course-header{margin-top:.5rem}.app-learning-tree{display:grid;gap:.4rem}.app-lesson-row{margin-left:calc(min(var(--lesson-depth),7)*1.35rem)}.app-lesson-row>a{display:flex;align-items:center;gap:.8rem;border:1px solid rgb(0 0 0/.07);border-radius:.9rem;background:white;padding:.8rem}.app-lesson-row>a:hover{border-color:rgb(157 36 31/.2);background:#fffaf8}.app-lesson-row strong,.app-lesson-row small{display:block}.app-lesson-row small{margin-top:.2rem;color:var(--color-ink-700);font-size:.75rem}.lesson-state{display:inline-grid;width:2rem;height:2rem;place-items:center;border-radius:999px;background:var(--color-paper-100);font-weight:800}.lesson-state.is-complete{background:#eaf6ed;color:#26713c}.app-lesson-shell{max-width:900px;margin:0 auto}.app-lesson-content{margin-top:1rem;border:1px solid rgb(0 0 0/.08);border-radius:1.25rem;background:white;padding:1.4rem}.app-lesson-content h1{margin-top:.4rem;font-size:clamp(2.5rem,5vw,4.5rem)}.prose-like{margin-top:1.25rem;line-height:1.7;color:var(--color-ink-900)}.lesson-resource-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:var(--color-paper-50);padding:1rem}.lesson-resource-card a{font-weight:750;color:var(--color-vermilion-700)}.lesson-progress-form{margin-top:1.25rem;text-align:right}@media(min-width:760px){.learning-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-taxonomy-layout,.learning-access-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1180px){.formation-editor{grid-template-columns:240px minmax(420px,1fr) 340px}.learning-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1179px){.formation-toolbox,.formation-inspector{position:static}.formation-editor{grid-template-columns:1fr}.formation-inspector{order:2}.formation-outline-panel{order:1}.formation-toolbox{order:0}}@media(max-width:759px){.learning-page-head,.learning-course-header{flex-direction:column}.taxonomy-inline-form{grid-template-columns:1fr}.taxonomy-sort-item{align-items:flex-start}.tree-inline-add{grid-template-columns:1fr;margin-left:1rem}.learning-child-list{margin-left:1rem}.sticky-save-bar{border-radius:1rem}.learning-course-grid{grid-template-columns:1fr}}
.learning-course-sort-item{position:relative;display:flex}.learning-course-sort-item>.learning-course-card{flex:1}.course-drag-handle{position:absolute;z-index:2;top:.8rem;right:.8rem;display:grid;width:2.2rem;height:2.2rem;place-items:center;border:1px solid rgb(0 0 0/.08);border-radius:.7rem;background:rgb(255 255 255/.92);cursor:grab}.course-drag-handle:active{cursor:grabbing}.learning-course-sort-item.is-dragging{opacity:.45}
.inspector-embed{min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.78rem;line-height:1.45}.lesson-embed-shell{position:relative;width:100%;margin-top:1.25rem;overflow:hidden;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:#111;aspect-ratio:16/9}.lesson-embed-shell iframe{display:block;width:100%;height:100%;border:0}

/* Learning experience v0.8.6 */
.learning-hero-polished{padding:2.1rem;border-radius:30px;background:linear-gradient(135deg,#1d1717,#2b2020);color:#fff;margin-bottom:1.5rem}.learning-hero-polished .eyebrow{color:rgba(255,255,255,.62)}.learning-hero-polished p{max-width:700px;color:rgba(255,255,255,.72)}
.app-learning-grid-polished{gap:1rem}.learning-course-card-polished{display:grid;gap:1rem}.learning-course-card-top{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.learning-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:.35rem .75rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.learning-status-pill.is-pending{background:#f2f0ec;color:#68615a}.learning-status-pill.is-started{background:#fff0d8;color:#91530b}.learning-status-pill.is-completed{background:#e6f3e9;color:#26713c}
.learning-progress-track{height:7px;border-radius:999px;background:#ece8e2;overflow:hidden}.learning-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--color-vermilion-600);transition:width .25s ease}.learning-course-card-polished footer{display:flex;justify-content:space-between;gap:1rem;color:#6c655f;font-size:.85rem}
.learning-course-header-polished{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:2rem;align-items:end}.learning-course-progress-card{display:grid;gap:.65rem;padding:1.2rem;border:1px solid rgb(0 0 0/.08);border-radius:22px;background:#fff}.learning-course-progress-card>strong{font-size:2.2rem;line-height:1}.learning-course-progress-card>span:not(.learning-status-pill){color:#6c655f;font-size:.85rem}.learning-outline-card{margin-top:1.25rem;padding:1.4rem;border:1px solid rgb(0 0 0/.08);border-radius:26px;background:#fff}.learning-outline-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1rem}.learning-outline-heading h2{font-size:1.35rem;font-weight:800}.learning-outline-heading>span{font-size:.8rem;color:#6c655f}
.app-learning-tree-polished{display:grid;gap:.55rem}.app-lesson-row-polished{margin-left:calc(var(--lesson-depth) * 24px)}.app-lesson-row-polished>a{display:grid;grid-template-columns:32px minmax(0,1fr) 28px;gap:.75rem;align-items:center;padding:.85rem 1rem;border:1px solid rgb(0 0 0/.08);border-radius:16px;background:#fff;transition:.18s ease}.app-lesson-row-polished>a:hover{transform:translateY(-1px);border-color:rgb(0 0 0/.18)}.lesson-state{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#f2f0ec;font-size:.78rem;font-weight:800}.lesson-state.is-started{background:#fff0d8;color:#91530b}.lesson-state.is-completed{background:#e6f3e9;color:#26713c}.lesson-copy{display:grid;gap:.2rem}.lesson-copy small{color:#817970;font-size:.76rem}.lesson-row-arrow{font-size:1.1rem;color:#777}
.learning-player-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.25rem;align-items:start}.learning-player-sidebar{position:sticky;top:1rem;display:grid;gap:1rem;padding:1rem;border:1px solid rgb(0 0 0/.08);border-radius:24px;background:#fff;max-height:calc(100vh - 2rem);overflow:auto}.learning-player-course-meta{display:grid;gap:.5rem;padding:1rem;border-radius:18px;background:#f8f6f2}.learning-player-course-meta>strong{font-size:1.7rem}.learning-player-course-meta>small{color:#716a63}.learning-player-tree{display:grid;gap:.35rem}.learning-sidebar-row{display:grid;grid-template-columns:26px minmax(0,1fr);gap:.6rem;align-items:center;padding:.7rem .75rem .7rem calc(.75rem + var(--lesson-depth)*14px);border-radius:14px}.learning-sidebar-row:hover{background:#f7f4ef}.learning-sidebar-row.is-current{background:#fff3f0;box-shadow:inset 3px 0 0 var(--color-vermilion-600)}.learning-sidebar-row .lesson-state{width:24px;height:24px;font-size:.68rem}.learning-sidebar-row>span:last-child{display:grid;gap:.15rem;min-width:0}.learning-sidebar-row strong{font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learning-sidebar-row small{font-size:.7rem;color:#817970}
.learning-player-main{display:grid;gap:1.2rem;padding:1.5rem;border:1px solid rgb(0 0 0/.08);border-radius:28px;background:#fff}.learning-player-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.learning-player-heading h1{margin-top:.35rem}.learning-player-description{margin:0}.learning-player-embed{margin:0}.learning-player-file{margin-top:0}.learning-player-actions{display:flex;justify-content:flex-end;padding-top:.4rem}.learning-player-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1rem;border-top:1px solid rgb(0 0 0/.08)}.learning-player-nav>div:last-child{display:flex;justify-content:flex-end}.learning-nav-button{display:grid!important;gap:.15rem;max-width:100%;text-align:left}.learning-nav-button small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;opacity:.65}.learning-nav-button strong{max-width:310px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-nav-button.is-next{text-align:right}
@media(max-width:960px){.learning-course-header-polished{grid-template-columns:1fr}.learning-player-layout{grid-template-columns:1fr}.learning-player-sidebar{position:static;max-height:none}.learning-player-tree{max-height:360px;overflow:auto}.learning-player-nav{grid-template-columns:1fr}.learning-player-nav>div:last-child{justify-content:stretch}.learning-nav-button{width:100%;max-width:none}.learning-nav-button.is-next{text-align:left}.learning-course-card-top{align-items:center}}
.taxonomy-manager-grid{display:grid;gap:1rem}.taxonomy-manager-head{align-items:flex-end}.taxonomy-search{display:grid;gap:.3rem;min-width:min(260px,100%);font-size:.75rem;font-weight:750;color:var(--color-ink-700)}.taxonomy-card-list{display:grid;gap:.7rem;margin-top:1rem}.taxonomy-manage-card{display:flex;gap:.7rem;border:1px solid rgb(0 0 0/.08);border-radius:1.1rem;background:#fff;padding:.85rem}.taxonomy-manage-card.is-dragging{opacity:.45}.taxonomy-card-drag{align-self:flex-start;border:0;background:transparent;padding:.45rem .25rem;color:var(--color-ink-500);font-size:1rem}.taxonomy-manage-body{min-width:0;flex:1}.taxonomy-manage-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.taxonomy-manage-title p{margin-top:.35rem;color:var(--color-ink-700);font-size:.84rem;line-height:1.45}.taxonomy-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.taxonomy-title-line>strong{font-size:1rem}.taxonomy-state{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .5rem;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.taxonomy-state.is-active{background:#e9f5eb;color:#2d7040}.taxonomy-state.is-inactive{background:#f0f0ee;color:#65645f}.taxonomy-state.is-public{background:#edf2ff;color:#415e91}.taxonomy-state.is-private{background:#fff2e7;color:#8e551f}.taxonomy-usage-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.taxonomy-usage-row span{border-radius:.75rem;background:var(--color-paper-100);padding:.45rem .6rem;color:var(--color-ink-700);font-size:.73rem}.taxonomy-editor{margin-top:.75rem;border-top:1px solid rgb(0 0 0/.06);padding-top:.65rem}.taxonomy-editor>summary{cursor:pointer;font-size:.78rem;font-weight:800;color:var(--color-vermilion-700)}.taxonomy-edit-form{display:grid;gap:.75rem;margin-top:.85rem}.taxonomy-edit-form>label{display:grid;gap:.35rem;font-size:.78rem;font-weight:700}.taxonomy-two-cols{display:grid;gap:.65rem}.taxonomy-switch{margin:0}.taxonomy-editor-actions{display:flex;justify-content:flex-end}.taxonomy-delete-box,.taxonomy-protection-note{margin-top:.85rem;border-radius:.9rem;padding:.8rem}.taxonomy-delete-box{display:grid;gap:.65rem;border:1px solid rgb(157 36 31/.16);background:#fff7f4}.taxonomy-delete-box p,.taxonomy-protection-note span{color:var(--color-ink-700);font-size:.78rem}.taxonomy-delete-box label{display:grid;gap:.3rem;font-size:.76rem}.taxonomy-protection-note{display:grid;gap:.25rem;background:var(--color-paper-100)}.taxonomy-create-panel{align-self:start}.taxonomy-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.taxonomy-picker-head p{margin-top:.35rem;color:var(--color-ink-700);font-size:.8rem}.taxonomy-picker-search{margin-top:.85rem}.taxonomy-picker-list{display:grid;gap:.55rem;margin-top:.65rem}.taxonomy-picker-card{display:flex;align-items:flex-start;gap:.7rem;border:1px solid rgb(0 0 0/.08);border-radius:.9rem;background:#fff;padding:.75rem;cursor:pointer}.taxonomy-picker-card:has(>input:checked){border-color:rgb(157 36 31/.32);background:#fff9f7}.taxonomy-picker-copy{min-width:0;flex:1}.taxonomy-picker-copy strong,.taxonomy-picker-copy small{display:block}.taxonomy-picker-copy small{margin-top:.2rem;color:var(--color-ink-700);font-size:.72rem;line-height:1.35}.primary-category-choice{display:flex;align-items:center;gap:.3rem;white-space:nowrap;font-size:.68rem;font-weight:750;color:var(--color-ink-700)}@media(min-width:900px){.taxonomy-manager-grid{grid-template-columns:minmax(0,2.25fr) minmax(300px,.75fr)}.taxonomy-two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.taxonomy-create-panel{position:sticky;top:1rem}}@media(max-width:760px){.taxonomy-manager-head,.taxonomy-manage-title,.taxonomy-picker-head{align-items:stretch;flex-direction:column}.taxonomy-search{min-width:0;width:100%}.taxonomy-manage-card{align-items:flex-start}.primary-category-choice{margin-left:auto}}
.picker-inactive{display:inline-flex;margin-left:.35rem;border-radius:999px;background:#f0f0ee;padding:.18rem .35rem;color:#77756f;font-size:.58rem;font-style:normal;font-weight:800;text-transform:uppercase;vertical-align:middle}

/* Learning access management · 0.8.9 */
.learning-access-panel{display:grid;gap:1rem}.access-panel-head{align-items:flex-start}.access-summary-pills{display:flex;gap:.5rem;flex-wrap:wrap}.access-summary-pills span{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgb(0 0 0/.08);background:var(--color-sand-50,#f7f4ee);border-radius:999px;padding:.45rem .7rem;font-size:.78rem}.access-checker-card{display:grid;grid-template-columns:minmax(0,.7fr) minmax(280px,1fr);gap:1rem;align-items:end;border:1px solid rgb(0 0 0/.08);border-radius:1.25rem;padding:1rem;background:rgb(255 255 255/.65)}.access-checker-form{display:flex;gap:.6rem;align-items:center}.access-checker-form .form-control{flex:1}.access-result{grid-column:1/-1;border-radius:1rem;padding:.9rem 1rem;border:1px solid}.access-result strong{display:block;font-size:1rem}.access-result span{font-size:.85rem}.access-result ul{margin:.5rem 0 0 1rem;list-style:disc;font-size:.85rem}.access-result.is-allowed{background:#eff8f1;border-color:#bfe0c7;color:#245c35}.access-result.is-denied{background:#fff3f1;border-color:#efc5bf;color:#8f2f26}.access-management-grid{align-items:start}.access-block{display:grid;gap:1rem}.access-block-head h3{margin:.2rem 0}.access-block-head p{margin:.2rem 0 0}.access-direct-list{border-top:1px solid rgb(0 0 0/.08);padding-top:.75rem}.access-list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid rgb(0 0 0/.06)}.access-list-row span{display:grid;gap:.12rem}.access-list-row small{color:var(--color-ink-500,#68645e)}.access-person-filter{margin-bottom:.45rem}.access-rule-creator{border:1px dashed rgb(0 0 0/.15);border-radius:1rem;padding:.75rem}.access-rule-creator>summary,.access-rule-card>summary{cursor:pointer;font-weight:700}.access-rule-creator[open]>summary{margin-bottom:1rem}.access-rule-checks{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.access-rules-list{display:grid;gap:.65rem}.access-rule-card{border:1px solid rgb(0 0 0/.1);border-radius:1rem;padding:.8rem .9rem;background:white}.access-rule-card>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none}.access-rule-card>summary::-webkit-details-marker{display:none}.access-rule-card>summary span{display:grid;gap:.18rem;min-width:0}.access-rule-card>summary small{font-weight:500;color:var(--color-ink-500,#68645e);white-space:normal}.access-rule-card[open]>summary{padding-bottom:.8rem;margin-bottom:.8rem;border-bottom:1px solid rgb(0 0 0/.07)}.access-rule-actions{display:flex;justify-content:flex-end}.access-rule-delete{display:flex;justify-content:flex-end;border-top:1px solid rgb(0 0 0/.07);margin-top:.75rem;padding-top:.75rem}.form-hint{font-size:.78rem;color:var(--color-ink-500,#68645e);margin:0}@media(max-width:900px){.access-checker-card{grid-template-columns:1fr}.access-checker-form{flex-direction:column;align-items:stretch}.access-rule-checks{grid-template-columns:1fr}}

.learning-course-header-workspace{margin-bottom:.9rem;align-items:flex-end}.learning-course-header-workspace h1{font-size:clamp(2.7rem,5vw,4.4rem)}.learning-workspace-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0 0 1.25rem}.learning-workspace-tabs>a{display:flex;align-items:center;gap:.75rem;min-height:72px;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:#fff;padding:.8rem 1rem;color:var(--color-ink-700);transition:border-color .18s ease,background .18s ease,transform .18s ease}.learning-workspace-tabs>a:hover{border-color:rgb(0 0 0/.16);transform:translateY(-1px)}.learning-workspace-tabs>a.is-active{border-color:rgb(157 36 31/.28);background:#fff8f5;box-shadow:inset 0 -3px 0 var(--color-vermilion-600)}.learning-workspace-tabs>a>span:last-child{display:grid;gap:.14rem}.learning-workspace-tabs strong{font-size:.9rem;color:var(--color-ink-950)}.learning-workspace-tabs small{font-size:.7rem;color:var(--color-ink-500,#6f6963)}.workspace-tab-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:.75rem;background:var(--color-paper-100);font-size:.9rem;font-weight:800}.learning-workspace-tabs>a.is-active .workspace-tab-icon{background:var(--color-vermilion-600);color:#fff}.learning-workspace-section{min-width:0}.learning-access-workspace{display:grid;gap:1rem}.access-hero-card{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;border:1px solid rgb(0 0 0/.08);border-radius:1.35rem;background:linear-gradient(135deg,#fff,#faf7f2);padding:1.35rem}.access-hero-card h2{margin:.25rem 0;font-size:1.65rem;font-weight:800}.access-hero-card p:not(.eyebrow){max-width:720px;color:var(--color-ink-700)}.access-summary-pills-large span{display:grid;min-width:125px;gap:.12rem;border-radius:1rem;padding:.7rem .85rem}.access-summary-pills-large strong{font-size:1.25rem}.access-summary-pills-large small{font-size:.67rem;color:var(--color-ink-500,#6f6963)}.access-checker-card-wide{grid-template-columns:minmax(0,.65fr) minmax(360px,1.35fr);padding:1.1rem 1.2rem}.access-result-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.access-section-card{display:grid;gap:1rem;border:1px solid rgb(0 0 0/.08);border-radius:1.35rem;background:#fff;padding:1.2rem}.access-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.access-section-heading h3{margin:.2rem 0;font-size:1.25rem}.access-section-heading p:not(.eyebrow){color:var(--color-ink-700);font-size:.85rem}.access-count-badge{display:grid;min-width:34px;height:34px;place-items:center;border-radius:999px;background:var(--color-paper-100);font-size:.78rem;font-weight:800}.access-direct-toolbar{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.7fr) auto;gap:.8rem;align-items:end;border-radius:1rem;background:var(--color-paper-50,#fbfaf7);padding:1rem}.access-direct-toolbar>label{display:grid;gap:.35rem;font-size:.76rem;font-weight:750}.access-direct-toolbar small{font-weight:400;color:var(--color-ink-500,#6f6963)}.access-direct-table{display:grid}.access-direct-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:.8rem;align-items:center;border-top:1px solid rgb(0 0 0/.07);padding:.8rem 0}.access-direct-row:first-child{border-top:0}.access-direct-row>div:nth-child(2){display:grid;gap:.15rem}.access-direct-row small{color:var(--color-ink-500,#6f6963)}.access-person-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;background:var(--color-ink-950);color:#fff;font-size:.68rem;font-weight:800}.access-empty-state{display:grid;gap:.2rem;border:1px dashed rgb(0 0 0/.12);border-radius:1rem;padding:1rem;color:var(--color-ink-700)}.access-empty-state strong{color:var(--color-ink-950)}.access-empty-state span{font-size:.8rem}.access-rule-builder{border:1px solid rgb(157 36 31/.18);border-radius:1rem;background:#fff9f7;padding:.9rem 1rem}.access-rule-builder>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}.access-rule-builder>summary::-webkit-details-marker{display:none}.access-rule-builder>summary span{font-weight:800;color:var(--color-vermilion-700)}.access-rule-builder>summary small{color:var(--color-ink-500,#6f6963);font-size:.72rem}.access-rule-builder[open]>summary{padding-bottom:.8rem;border-bottom:1px solid rgb(157 36 31/.1)}.access-rule-form-spacious{display:grid;gap:1rem;margin-top:1rem}.access-rule-name-row{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1rem}.access-rule-name-row>label:first-child{display:grid;gap:.35rem;font-size:.76rem;font-weight:750}.access-rule-active-toggle{display:flex!important;align-items:center;gap:.65rem;border:1px solid rgb(0 0 0/.08);border-radius:.9rem;background:#fff;padding:.7rem .8rem}.access-rule-active-toggle span,.access-rule-active-toggle strong,.access-rule-active-toggle small{display:block}.access-rule-active-toggle small{margin-top:.15rem;color:var(--color-ink-500,#6f6963);font-size:.68rem}.access-condition-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.access-condition-group{min-width:0;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:#fff;padding:.85rem}.access-condition-group legend{padding:0 .35rem;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-600,#5f5b56)}.access-rule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.access-rule-fields label{display:grid;gap:.35rem;font-size:.73rem;font-weight:750}.access-rule-submit-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.access-rule-submit-row .form-hint{max-width:660px}.access-rules-list-spacious{gap:.8rem}.access-rule-card-spacious{padding:0;background:#fff}.access-rule-card-spacious>summary{padding:1rem}.access-rule-summary-copy{display:grid;gap:.22rem;min-width:0}.access-rule-summary-copy strong{font-size:.95rem}.access-rule-summary-copy small{color:var(--color-ink-500,#6f6963);font-size:.73rem}.access-rule-summary-meta{display:flex;align-items:center;gap:.55rem}.access-rule-summary-meta b{border-radius:999px;background:var(--color-paper-100);padding:.3rem .5rem;font-size:.64rem;color:var(--color-ink-600,#5f5b56)}.access-rule-card-spacious[open]>summary{margin:0;padding:1rem;border-bottom:1px solid rgb(0 0 0/.07)}.access-rule-card-spacious>.access-rule-form{padding:0 1rem}.access-rule-card-spacious>.access-rule-delete{margin:1rem;padding-top:.8rem}@media(max-width:900px){.learning-workspace-tabs{grid-template-columns:1fr}.access-hero-card,.access-section-heading{align-items:stretch;flex-direction:column}.access-checker-card-wide{grid-template-columns:1fr}.access-direct-toolbar{grid-template-columns:1fr}.access-rule-name-row,.access-condition-groups,.access-rule-fields{grid-template-columns:1fr}.access-rule-submit-row{align-items:stretch;flex-direction:column}.access-rule-submit-row .primary-button{width:100%}.access-rule-summary-meta{align-items:flex-end;flex-direction:column}.access-direct-row{grid-template-columns:38px minmax(0,1fr)}.access-direct-row form{grid-column:2}}
.profile-avatar-shell{width:6rem;height:6rem;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);display:grid;place-items:center;border:1px solid rgba(255,255,255,.12)}.profile-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar-fallback{font-size:1.5rem;font-weight:800;letter-spacing:.04em;color:#fff}.profile-photo-manager{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.10)}.profile-photo-label{font-weight:700;color:#fff}.profile-photo-help{margin-top:.35rem;font-size:.75rem;line-height:1.45;color:rgba(255,255,255,.55)}.profile-photo-form{display:grid;gap:.65rem;margin-top:.85rem}.profile-photo-form input[type=file]{width:100%;font-size:.78rem;color:rgba(255,255,255,.72)}.profile-photo-primary,.profile-photo-remove{width:100%;min-height:2.65rem;border-radius:999px;font-weight:700;cursor:pointer}.profile-photo-primary{background:#fff;color:#171717}.profile-photo-remove{border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);background:transparent}.avatar-button.has-image{overflow:hidden;padding:0}.avatar-button.has-image img{width:100%;height:100%;object-fit:cover}.profile-sidebar-account{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.75rem;align-items:center}.sidebar-account-avatar{width:2.5rem;height:2.5rem;border-radius:999px;object-fit:cover;border:1px solid rgba(255,255,255,.12)}.profile-sidebar-logout{grid-column:1/-1}
.avatar-button{width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;flex:0 0 44px;overflow:hidden}.avatar-button.has-image img{width:44px;height:44px;max-width:44px;max-height:44px;object-fit:cover;border-radius:999px;display:block}.sidebar-account-avatar{width:36px;height:36px;min-width:36px;max-width:36px;min-height:36px;max-height:36px;flex:0 0 36px;object-fit:cover}.profile-avatar-shell{width:104px;height:104px;max-width:104px;max-height:104px;flex:0 0 104px}.profile-avatar-image{width:104px;height:104px;max-width:104px;max-height:104px;object-fit:cover}
.learning-progress-switch{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem;border:1px solid rgb(0 0 0/.08);border-radius:999px;background:#fbfaf7}.learning-progress-switch form{margin:0}.progress-state-button{display:inline-flex;align-items:center;gap:.38rem;min-height:2.35rem;padding:.42rem .72rem;border:0;border-radius:999px;background:transparent;color:#5f5b56;font-size:.76rem;font-weight:750;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.progress-state-button:disabled{cursor:default;opacity:1}.progress-state-symbol{font-size:1rem;line-height:1}.progress-state-button.is-active{background:#fff;box-shadow:0 1px 7px rgb(0 0 0/.08);color:#161514}.progress-state-button.is-started.is-active{background:#fff4e8;color:#8c4e11}.progress-state-button.is-completed.is-active{background:#eaf5ed;color:#2f7044}.learning-progress-switch.is-compact{padding:.2rem;gap:.15rem}.learning-progress-switch.is-compact .progress-state-button{min-height:1.95rem;padding:.3rem .48rem}.learning-progress-switch.is-compact .progress-state-label{display:none}.lesson-row-with-tracking{padding:0}.lesson-row-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.55rem .65rem}.lesson-row-link{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:0;text-decoration:none;color:inherit}.learning-tracking-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.25rem;padding:1.1rem 1.2rem;border:1px solid rgb(0 0 0/.08);border-radius:1.2rem;background:linear-gradient(135deg,#fff,#faf7f2)}.learning-tracking-card h2{margin:.2rem 0;font-size:1.2rem}.learning-tracking-card p:not(.eyebrow){max-width:620px;color:#4f4a46;font-size:.84rem}.learning-status-pill.is-completed{background:#eaf5ed;color:#2f7044}.learning-status-pill.is-started{background:#fff4e8;color:#8c4e11}.learning-status-pill.is-pending{background:#f3f0ea;color:#5f5b56}.grade-catalog-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.grade-catalog-header .sdgk-display{margin-top:.45rem;font-size:clamp(2.3rem,5vw,4.5rem)}.grade-catalog-header>div:first-child>p:not(.eyebrow){max-width:760px;color:#4f4a46}.grade-order-guide{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.75rem .9rem;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:#fff;font-size:.72rem;font-weight:750}.grade-order-guide i{font-style:normal;color:#9b958e}.grade-discipline-list{display:grid;gap:1rem;margin-top:1.2rem}.grade-discipline-card{display:grid;gap:1rem;border:1px solid rgb(0 0 0/.08);border-radius:1.35rem;background:#fff;padding:1.2rem}.grade-discipline-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.grade-discipline-heading h2{margin:.18rem 0;font-size:1.35rem}.grade-discipline-heading p:not(.eyebrow){font-size:.78rem;color:#6f6963}.grade-rank-sections{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grade-rank-group{display:grid;gap:.65rem;border:1px solid rgb(0 0 0/.07);border-radius:1rem;background:#fbfaf7;padding:.9rem}.grade-rank-title{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.grade-rank-title strong{font-size:.76rem;letter-spacing:.12em}.grade-rank-title span{font-size:.68rem;color:#6f6963}.grade-rank-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}.grade-rank-chip{position:relative}.grade-rank-chip button{position:relative;display:grid;width:100%;min-height:3.55rem;place-items:center;gap:.05rem;border:1px solid rgb(0 0 0/.09);border-radius:.85rem;background:#fff;color:#161514;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.grade-rank-chip button:hover{transform:translateY(-1px);border-color:rgb(157 36 31/.3)}.grade-rank-chip strong{font-size:1rem}.grade-rank-chip small{font-size:.62rem;color:#6f6963}.grade-rank-chip.is-active button{border-color:rgb(47 112 68/.22);background:#edf7f0}.grade-rank-chip.is-inactive button{opacity:.55;background:#f4f1ed}.grade-rank-chip.is-missing button{border-style:dashed;color:#6f6963;background:transparent}.grade-use-dot{position:absolute;top:.42rem;right:.42rem;width:7px;height:7px;border-radius:999px;background:#9d241f}.grade-catalog-help{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid rgb(0 0 0/.07);font-size:.67rem;color:#6f6963}.grade-catalog-help span{display:inline-flex;align-items:center;gap:.35rem}.grade-example{display:inline-block;width:12px;height:12px;border-radius:4px;border:1px solid rgb(0 0 0/.08)}.grade-example.is-active{background:#edf7f0}.grade-example.is-inactive{background:#f4f1ed}.grade-catalog-help .grade-use-dot{position:static}.grade-legacy-box{border:1px solid #eadacb;border-radius:.9rem;background:#fffaf4;padding:.75rem .85rem}.grade-legacy-box summary{cursor:pointer;font-size:.76rem;font-weight:800;color:#8c4e11}.grade-legacy-box summary span{margin-left:.35rem;border-radius:999px;background:#f6e8d8;padding:.15rem .4rem}.grade-legacy-box>div{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}.grade-legacy-box>div span{border-radius:999px;background:#fff;padding:.35rem .55rem;font-size:.68rem}@media(max-width:900px){.learning-tracking-card,.grade-catalog-header,.grade-discipline-heading{align-items:stretch;flex-direction:column}.lesson-row-content{grid-template-columns:1fr}.learning-progress-switch.is-compact{justify-self:start;margin-left:2rem}.grade-rank-sections{grid-template-columns:1fr}.grade-rank-grid{grid-template-columns:repeat(5,minmax(48px,1fr))}.grade-order-guide{align-self:flex-start}}
/* 0.8.14 Martial Record / BudoPass */
.martial-record-admin{display:grid;gap:1rem}.martial-record-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.martial-record-heading h2{margin:.25rem 0;font-size:1.8rem}.martial-record-heading>div>p:not(.eyebrow){max-width:760px;color:var(--color-ink-700)}.martial-record-summary{display:grid;min-width:150px;padding:1rem;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:#fff}.martial-record-summary strong{font-size:2rem}.martial-record-summary span{font-size:.72rem;color:var(--color-ink-600)}.current-grade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.current-grade-card{display:grid;gap:.18rem;padding:1rem;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:linear-gradient(135deg,#fff,#fbf8f3)}.current-grade-card span{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--color-vermilion-600)}.current-grade-card strong{font-size:1.3rem}.current-grade-card small{color:var(--color-ink-600)}.martial-record-layout{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:1rem}.martial-record-panel{border:1px solid rgb(0 0 0/.08);border-radius:1.25rem;background:#fff;padding:1.2rem}.martial-record-panel h3{margin:.2rem 0 .85rem;font-size:1.25rem}.martial-record-form{display:grid;gap:.8rem}.martial-record-form label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.martial-validation-toggle{display:flex!important;align-items:flex-start;gap:.7rem;padding:.8rem;border-radius:.9rem;background:var(--color-paper-100)}.martial-validation-toggle span,.martial-validation-toggle strong,.martial-validation-toggle small{display:block}.martial-validation-toggle small{margin-top:.18rem;font-weight:400;color:var(--color-ink-600)}.martial-history-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.martial-history-header>span{border-radius:999px;background:var(--color-paper-100);padding:.35rem .55rem;font-size:.7rem;font-weight:750}.martial-history-list{display:grid;margin-top:.75rem}.martial-history-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:.75rem;padding:1rem 0;border-top:1px solid rgb(0 0 0/.07)}.martial-history-marker{width:9px;height:9px;margin-top:.35rem;border-radius:999px;background:#3d7c50;box-shadow:0 0 0 4px #eaf5ed}.martial-history-row.is-pending .martial-history-marker{background:#b16a1d;box-shadow:0 0 0 4px #fff3e8}.martial-history-row.is-revoked .martial-history-marker{background:#a8a29b;box-shadow:0 0 0 4px #f0ede9}.martial-history-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.martial-history-copy p{margin-top:.25rem;font-size:.78rem;color:var(--color-ink-700)}.martial-history-copy small{display:block;margin-top:.2rem;color:var(--color-ink-500);font-size:.69rem}.martial-history-note{font-style:italic}.martial-history-actions{display:flex;align-items:flex-end;flex-direction:column;gap:.45rem}.martial-status{border-radius:999px;padding:.28rem .5rem;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.martial-status.is-validated{background:#eaf5ed;color:#2f7044}.martial-status.is-pending{background:#fff3e8;color:#8c4e11}.martial-status.is-revoked{background:#f0ede9;color:#6f6963}.martial-revoke{position:relative}.martial-revoke summary{cursor:pointer;font-size:.7rem;color:var(--color-vermilion-700);font-weight:750}.martial-revoke form{display:grid;gap:.4rem;width:240px;margin-top:.4rem}.martial-revoke .danger-button{min-height:36px;padding:.5rem .8rem;font-size:.7rem}.budopass-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.budopass-heading h1{margin:.25rem 0;font-size:clamp(3rem,7vw,6rem);line-height:.9}.budopass-heading>div>p:not(.eyebrow){max-width:760px;color:var(--color-ink-700)}.budopass-private-badge{border-radius:999px;background:#fff;padding:.55rem .8rem;border:1px solid rgb(0 0 0/.08);font-size:.72rem;font-weight:750}.budopass-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.2rem;margin-top:1.5rem;padding:1.4rem;border-radius:1.5rem;background:#151515;color:#fff}.budopass-avatar{width:88px;height:88px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:#292929;font-size:1.4rem;font-weight:800}.budopass-avatar img{width:100%;height:100%;object-fit:cover}.budopass-person-copy .eyebrow{color:#d7a09c}.budopass-person-copy h2{margin:.25rem 0;font-size:1.8rem}.budopass-person-copy p:last-child{color:rgba(255,255,255,.6)}.budopass-quick-grid{display:grid;grid-template-columns:repeat(3,auto);gap:.6rem}.budopass-quick-grid div{display:grid;min-width:110px;padding:.7rem .85rem;border-radius:1rem;background:rgba(255,255,255,.08)}.budopass-quick-grid span{font-size:.62rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em}.budopass-quick-grid strong{margin-top:.2rem;font-size:1.35rem}.budopass-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.budopass-card{border:1px solid rgb(0 0 0/.08);border-radius:1.25rem;background:#fff;padding:1.2rem}.budopass-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.budopass-card-head h2{margin:.2rem 0;font-size:1.3rem}.budopass-card-head>a{font-size:.72rem;font-weight:750;color:var(--color-vermilion-700)}.budopass-grade-list,.budopass-membership-list,.budopass-certificate-list{display:grid;margin-top:.8rem}.budopass-grade-list article,.budopass-membership-list>div,.budopass-certificate-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid rgb(0 0 0/.07)}.budopass-grade-list span,.budopass-membership-list span,.budopass-certificate-list span{display:block;font-size:.68rem;color:var(--color-ink-500);text-transform:uppercase;letter-spacing:.06em}.budopass-grade-list strong,.budopass-membership-list strong,.budopass-certificate-list strong{display:block;margin-top:.12rem}.budopass-grade-list small,.budopass-membership-list small,.budopass-certificate-list small{font-size:.69rem;color:var(--color-ink-600)}.budopass-timeline{display:grid;margin-top:.8rem}.budopass-timeline article{display:grid;grid-template-columns:56px 14px minmax(0,1fr);gap:.7rem;min-height:70px}.budopass-timeline-date{font-weight:800;color:var(--color-ink-600)}.budopass-timeline-dot{position:relative;width:10px;height:10px;margin-top:.25rem;border-radius:999px;background:var(--color-vermilion-600)}.budopass-timeline-dot:after{content:"";position:absolute;top:12px;left:4px;width:1px;height:52px;background:rgb(0 0 0/.1)}.budopass-timeline article:last-child .budopass-timeline-dot:after{display:none}.budopass-timeline-copy p,.budopass-timeline-copy small{display:block;margin-top:.2rem;color:var(--color-ink-600);font-size:.72rem}.budopass-formation-list{display:grid;margin-top:.8rem}.budopass-formation-list article{display:grid;grid-template-columns:minmax(0,1fr) 90px 42px;align-items:center;gap:.7rem;padding:.8rem 0;border-top:1px solid rgb(0 0 0/.07)}.budopass-formation-list article>div:first-child strong,.budopass-formation-list article>div:first-child span{display:block}.budopass-formation-list article>div:first-child span{margin-top:.2rem;font-size:.69rem;color:var(--color-ink-600)}.budopass-progress{height:7px;overflow:hidden;border-radius:999px;background:var(--color-paper-100)}.budopass-progress i{display:block;height:100%;border-radius:999px;background:var(--color-vermilion-600)}.budopass-formation-list b{font-size:.74rem;text-align:right}@media(max-width:900px){.martial-record-heading,.budopass-heading{align-items:stretch;flex-direction:column}.martial-record-layout,.budopass-grid{grid-template-columns:1fr}.martial-history-row{grid-template-columns:12px minmax(0,1fr)}.martial-history-actions{grid-column:2;align-items:flex-start}.budopass-identity{grid-template-columns:auto minmax(0,1fr)}.budopass-quick-grid{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.budopass-quick-grid div{min-width:0}.budopass-formation-list article{grid-template-columns:1fr}.budopass-formation-list b{text-align:left}}
.dojo-directory-hero{background:linear-gradient(180deg,rgba(245,238,225,.72),rgba(245,238,225,0));border-bottom:1px solid rgb(0 0 0/.06)}.dojo-directory-filters{display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.dojo-directory-filters label>span{display:block;margin-bottom:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(0 0 0/.55)}.dojo-directory-card{border:1px solid rgb(0 0 0/.1);background:#fff;border-radius:1.4rem;padding:1.4rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dojo-directory-card:hover{transform:translateY(-2px);border-color:rgb(0 0 0/.18);box-shadow:0 16px 34px rgb(0 0 0/.08)}.dojo-map-large{min-height:620px}.dojo-map-detail{min-height:460px}.taxonomy-chip{display:inline-flex;align-items:center;min-height:30px;padding:.35rem .7rem;border:1px solid rgb(0 0 0/.1);border-radius:999px;background:#fff;font-size:.76rem;font-weight:650;color:var(--color-ink-950)}.prose-sdgk{font-size:1rem;line-height:1.8;color:var(--color-ink-700)}.cms-block-card{border:1px solid rgb(0 0 0/.1);border-radius:1.2rem;padding:1rem;background:rgb(250 248 243);transition:border-color .15s ease,box-shadow .15s ease}.cms-block-card.is-dragging{opacity:.58;box-shadow:0 20px 40px rgb(0 0 0/.12)}.cms-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cms-block-head small{display:block;margin-top:.15rem;color:var(--color-ink-700)}.drag-handle{cursor:grab;border:1px solid rgb(0 0 0/.1);background:#fff;border-radius:.75rem;min-width:38px;min-height:38px;font-size:1.2rem}.drag-handle:active{cursor:grabbing}.sticky-save-bar{position:sticky;bottom:1rem;z-index:20;display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border:1px solid rgb(0 0 0/.1);border-radius:1rem;background:rgb(255 255 255/.94);backdrop-filter:blur(12px);box-shadow:0 16px 34px rgb(0 0 0/.1)}.demo-import-card{border:1px solid rgb(0 0 0/.1);border-radius:1.4rem;background:#fff;padding:1.5rem}.metric-card{display:grid;gap:.15rem;padding:1rem;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:rgb(250 248 243)}.metric-card strong{font-size:1.8rem}.metric-card span{font-size:.78rem;color:var(--color-ink-700)}.danger-link{color:#a62317;font-size:.82rem;font-weight:700;cursor:pointer}.danger-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:999px;padding:.75rem 1.35rem;background:#9f2318;color:#fff;font-weight:700;cursor:pointer}@media(max-width:960px){.dojo-directory-filters{grid-template-columns:1fr 1fr}.dojo-map-large{min-height:420px}}@media(max-width:640px){.dojo-directory-filters{grid-template-columns:1fr}.sticky-save-bar{bottom:.5rem;flex-wrap:wrap}.cms-block-head{align-items:flex-start;flex-direction:column}}

/*0.8.19 Dojo Team*/.dojo-team-admin-list{display:grid;gap:.75rem}.dojo-team-admin-row{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(180px,.7fr) minmax(170px,.6fr);gap:.8rem;align-items:end;padding:1rem;border:1px solid rgb(0 0 0/.08);border-radius:1rem;background:var(--color-paper-50,#fbfaf7)}.dojo-team-admin-person{display:grid;gap:.2rem;align-self:center}.dojo-team-admin-person strong{font-size:.92rem}.dojo-team-admin-person span{font-size:.7rem;color:var(--color-ink-600)}.dojo-team-admin-row label,.dojo-team-add label{display:grid;gap:.35rem;font-size:.72rem;font-weight:750}.dojo-team-add{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) minmax(180px,.55fr);gap:.8rem;align-items:end;padding:1rem;border:1px dashed rgb(0 0 0/.16);border-radius:1rem}.dojo-team-add>div p{margin-top:.2rem;font-size:.72rem;color:var(--color-ink-600)}.dojo-public-team{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgb(0 0 0/.08)}.dojo-public-team-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}.dojo-public-team-heading h2{margin-top:.25rem;font-size:2.1rem}.dojo-public-team-heading>p{max-width:360px;font-size:.78rem;line-height:1.6;color:var(--color-ink-600)}.dojo-public-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.2rem}.dojo-public-team-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start;padding:1rem;border:1px solid rgb(0 0 0/.09);border-radius:1.2rem;background:#fff}.dojo-public-team-avatar{width:66px;height:66px;overflow:hidden;border-radius:999px;display:grid;place-items:center;background:#181818;color:#fff;font-size:1rem;font-weight:800}.dojo-public-team-avatar img{width:100%;height:100%;object-fit:cover}.dojo-public-team-copy{min-width:0}.dojo-public-team-role{display:block;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-vermilion-700)}.dojo-public-team-copy h3{margin-top:.22rem;font-size:1.05rem}.dojo-public-grades{display:grid;gap:.35rem;margin-top:.7rem}.dojo-public-grades span{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.42rem .55rem;border-radius:.7rem;background:var(--color-paper-100,#f4f0e8);font-size:.7rem;color:var(--color-ink-700)}.dojo-public-grades strong{font-weight:750;color:var(--color-ink-950)}.dojo-public-no-grades{margin-top:.65rem;font-size:.7rem;color:var(--color-ink-600)}@media(max-width:900px){.dojo-team-admin-row,.dojo-team-add{grid-template-columns:1fr}.dojo-public-team-heading{align-items:flex-start;flex-direction:column}.dojo-public-team-grid{grid-template-columns:1fr}}


/* 0.8.25 Demo Media Packs */
.dojo-directory-cover{height:165px;overflow:hidden;border-radius:1rem;margin:-.45rem -.45rem 1rem;background:var(--color-paper-100,#f4f0e8)}.dojo-directory-cover img{width:100%;height:100%;object-fit:cover;display:block}.dojo-public-cover{overflow:hidden;border-radius:1.65rem;border:1px solid rgb(0 0 0/.08);background:var(--color-paper-100,#f4f0e8);aspect-ratio:16/7}.dojo-public-cover img{width:100%;height:100%;object-fit:cover;display:block}.dojo-public-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.dojo-public-gallery figure{overflow:hidden;border-radius:1.2rem;border:1px solid rgb(0 0 0/.08);background:var(--color-paper-100,#f4f0e8);aspect-ratio:4/3}.dojo-public-gallery img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:700px){.dojo-directory-cover{height:145px}.dojo-public-cover{aspect-ratio:4/3}.dojo-public-gallery{grid-template-columns:1fr}}

/* 0.8.38: unified readable chips and responsive catalog filters */
.learning-chip-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.learning-chip-row span,.sdgk-taxonomy-chip{display:inline-flex;align-items:center;min-height:1.9rem;max-width:100%;padding:.4rem .8rem;border:1px solid #e6ded5;border-radius:999px;background:#f7f3ee;color:#3a302c;font-family:inherit;font-size:.75rem;font-weight:650;line-height:1.25;overflow-wrap:anywhere;white-space:normal;text-decoration:none}
.sdgk-filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:1rem;align-items:end;margin:1.5rem 0 1rem;padding:1.25rem;border:1px solid #e4dcd4;border-radius:1.15rem;background:#fff}
.sdgk-filter-panel label{display:grid;gap:.5rem;font-size:.8rem;font-weight:700;min-width:0}
.sdgk-filter-panel .form-control{width:100%;min-width:0}
.sdgk-filter-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.sdgk-filter-count{margin:1rem 0 .5rem;color:#625852;font-size:.85rem}
@media(max-width:640px){.sdgk-filter-panel{grid-template-columns:1fr;padding:1rem}.sdgk-filter-actions .primary-button{flex:1}}
