/*!
 * 飞立（plui） v0.3.0
 * 自研响应式 CSS 框架 —— 白底黑线的极简风格
 *
 * 生成方式：本地执行 node build/build.mjs，由 src/css/ 下各层源文件按固定顺序拼接而成。
 * 拼接顺序：base → layout → components → utilities → responsive
 * 本文件不含 @import，层叠顺序完全由拼接顺序保证。
 * 源码与决策记录见站点 src/css/ 与 docs/DECISIONS.md。
 */
/* ============================================================
 * 飞立（plui） · base 层
 * ============================================================ */

/* --- src/css/base/reset.css --- */
/* 基础层 · reset：归一化盒模型、清除浏览器默认样式与外边距，不涉及任何视觉风格 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  tab-size: 4;
}

body {
  margin: 0;
  line-height: var(--plui-line-height, 1.6);
  font-family: var(--plui-font-family, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif);
  font-size: var(--plui-font-size-base, 1rem);
  color: var(--plui-color-text, #000);
  background-color: var(--plui-color-bg, #fff);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, pre {
  margin: 0;
}

ul[class], ol[class] {
  margin: 0;
  padding: 0;
  list-style: none;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

svg {
  fill: currentColor;
}

input, button, textarea, select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

textarea {
  resize: vertical;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

[hidden] {
  display: none !important;
}

/* --- src/css/base/tokens.css --- */
/* 基础层 · 设计令牌：颜色、间距、字号、字重、行高、字距、圆角、阴影、层级、过渡的唯一来源
 *
 * 分层结构：
 *   1. 原始层 raw      —— 具体值，写死
 *   2. 语义层 semantic —— 语义别名，引用原始层
 *   3. 组件层 component—— 组件专用参数
 *   4. 主题层 theme    —— 预留，深色模式本版不做，结构已留位
 *
 * 主题层用法（将来启用时只需追加一段覆盖第二层）：
 *   [data-plui-theme="dark"] {
 *     --plui-color-bg: #111;
 *     --plui-color-text: #fff;
 *     ...
 *   }
 */

:root {
  /* ================= 1. 原始层 raw ================= */

  /* 颜色 · 中性（默认只用这组） */
  --plui-color-white: #ffffff;
  --plui-color-black: #000000;
  --plui-color-gray-50: #f9fafb;
  --plui-color-gray-100: #f3f4f6;
  --plui-color-gray-200: #e5e7eb;
  --plui-color-gray-300: #d1d5db;
  --plui-color-gray-400: #9ca3af;
  --plui-color-gray-500: #6b7280;
  --plui-color-gray-600: #4b5563;
  --plui-color-gray-700: #374151;
  --plui-color-gray-800: #1f2937;
  --plui-color-gray-900: #111827;

  /* 颜色 · 可选语义色（默认不做大面积使用，示例页亦不铺色块） */
  --plui-color-red-500: #ef4444;
  --plui-color-red-600: #dc2626;
  --plui-color-red-700: #b91c1c;
  --plui-color-blue-500: #3b82f6;
  --plui-color-blue-600: #2563eb;
  --plui-color-blue-700: #1d4ed8;
  --plui-color-green-500: #22c55e;
  --plui-color-green-600: #16a34a;
  --plui-color-green-700: #15803d;
  --plui-color-yellow-500: #eab308;
  --plui-color-yellow-600: #ca8a04;
  --plui-color-yellow-700: #a16207;
  --plui-color-indigo-500: #6366f1;
  --plui-color-indigo-600: #4f46e5;
  --plui-color-indigo-700: #4338ca;
  --plui-color-purple-500: #a855f7;
  --plui-color-purple-600: #9333ea;
  --plui-color-pink-500: #ec4899;
  --plui-color-pink-600: #db2777;

  /* 间距 · Tailwind 刻度，rem，基准 0.25rem */
  --plui-space-0: 0rem;
  --plui-space-px: 1px;
  --plui-space-0-5: 0.125rem;
  --plui-space-1: 0.25rem;
  --plui-space-1-5: 0.375rem;
  --plui-space-2: 0.5rem;
  --plui-space-2-5: 0.625rem;
  --plui-space-3: 0.75rem;
  --plui-space-3-5: 0.875rem;
  --plui-space-4: 1rem;
  --plui-space-5: 1.25rem;
  --plui-space-6: 1.5rem;
  --plui-space-7: 1.75rem;
  --plui-space-8: 2rem;
  --plui-space-9: 2.25rem;
  --plui-space-10: 2.5rem;
  --plui-space-11: 2.75rem;
  --plui-space-12: 3rem;
  --plui-space-14: 3.5rem;
  --plui-space-16: 4rem;
  --plui-space-20: 5rem;
  --plui-space-24: 6rem;
  --plui-space-28: 7rem;
  --plui-space-32: 8rem;
  --plui-space-36: 9rem;
  --plui-space-40: 10rem;
  --plui-space-44: 11rem;
  --plui-space-48: 12rem;
  --plui-space-52: 13rem;
  --plui-space-56: 14rem;
  --plui-space-60: 15rem;
  --plui-space-64: 16rem;
  --plui-space-72: 18rem;
  --plui-space-80: 20rem;
  --plui-space-96: 24rem;

  /* 字号 · font-size 与行高成对 */
  --plui-font-size-xs: 0.75rem;
  --plui-font-size-sm: 0.875rem;
  --plui-font-size-base: 1rem;
  --plui-font-size-lg: 1.125rem;
  --plui-font-size-xl: 1.25rem;
  --plui-font-size-2xl: 1.5rem;
  --plui-font-size-3xl: 1.875rem;
  --plui-font-size-4xl: 2.25rem;
  --plui-font-size-5xl: 3rem;
  --plui-font-size-6xl: 3.75rem;
  --plui-font-size-7xl: 4.5rem;
  --plui-font-size-8xl: 6rem;
  --plui-font-size-9xl: 8rem;
  --plui-line-height-xs: 1rem;
  --plui-line-height-sm: 1.25rem;
  --plui-line-height-base: 1.5rem;
  --plui-line-height-lg: 1.75rem;
  --plui-line-height-xl: 2rem;
  --plui-line-height-2xl: 2rem;
  --plui-line-height-3xl: 2.25rem;
  --plui-line-height-4xl: 2.5rem;
  --plui-line-height-5xl: 1;
  --plui-line-height-6xl: 1;
  --plui-line-height-7xl: 1;
  --plui-line-height-8xl: 1;
  --plui-line-height-9xl: 1;

  /* 字重 */
  --plui-font-weight-thin: 100;
  --plui-font-weight-extralight: 200;
  --plui-font-weight-light: 300;
  --plui-font-weight-normal: 400;
  --plui-font-weight-medium: 500;
  --plui-font-weight-semibold: 600;
  --plui-font-weight-bold: 700;
  --plui-font-weight-extrabold: 800;
  --plui-font-weight-black: 900;

  /* 行高 */
  --plui-leading-none: 1;
  --plui-leading-tight: 1.25;
  --plui-leading-snug: 1.375;
  --plui-leading-normal: 1.5;
  --plui-leading-relaxed: 1.625;
  --plui-leading-loose: 2;
  --plui-leading-3: 3;
  --plui-leading-4: 4;
  --plui-leading-5: 5;
  --plui-leading-6: 6;
  --plui-leading-7: 7;
  --plui-leading-8: 8;
  --plui-leading-9: 9;
  --plui-leading-10: 10;

  /* 字距 */
  --plui-tracking-tighter: -0.05em;
  --plui-tracking-tight: -0.025em;
  --plui-tracking-normal: 0;
  --plui-tracking-wide: 0.025em;
  --plui-tracking-wider: 0.05em;
  --plui-tracking-widest: 0.1em;

  /* 圆角 · 极简风格映射：none 0 / sm 1px / 其余 2px / full 9999px */
  --plui-radius-none: 0;
  --plui-radius-sm: 1px;
  --plui-radius-md: 2px;
  --plui-radius-lg: 2px;
  --plui-radius-xl: 2px;
  --plui-radius-2xl: 2px;
  --plui-radius-3xl: 2px;
  --plui-radius-full: 9999px;

  /* 阴影 · 映射为不同深浅的 1px 零偏移描边，不产生彩色阴影 */
  --plui-shadow-none: none;
  --plui-shadow-sm: 0 0 0 1px rgba(0, 0, 0, 0.12);
  --plui-shadow-md: 0 0 0 1px rgba(0, 0, 0, 0.2);
  --plui-shadow-lg: 0 0 0 1px rgba(0, 0, 0, 0.3);
  --plui-shadow-xl: 0 0 0 1px rgba(0, 0, 0, 0.4);
  --plui-shadow-2xl: 0 0 0 1px rgba(0, 0, 0, 0.55);
  --plui-shadow-inner: inset 0 0 0 1px rgba(0, 0, 0, 0.2);

  /* 层级 */
  --plui-z-0: 0;
  --plui-z-10: 10;
  --plui-z-20: 20;
  --plui-z-30: 30;
  --plui-z-40: 40;
  --plui-z-50: 50;
  --plui-z-60: 60;
  --plui-z-70: 70;
  --plui-z-80: 80;
  --plui-z-90: 90;
  --plui-z-100: 100;
  --plui-z-auto: auto;

  /* 过渡 */
  --plui-duration-0: 0s;
  --plui-duration-75: 75ms;
  --plui-duration-100: 100ms;
  --plui-duration-150: 150ms;
  --plui-duration-200: 200ms;
  --plui-duration-300: 300ms;
  --plui-duration-500: 500ms;
  --plui-duration-700: 700ms;
  --plui-duration-1000: 1000ms;
  --plui-ease-linear: linear;
  --plui-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --plui-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --plui-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --plui-delay-0: 0s;
  --plui-delay-75: 75ms;
  --plui-delay-100: 100ms;
  --plui-delay-150: 150ms;
  --plui-delay-200: 200ms;
  --plui-delay-300: 300ms;
  --plui-delay-500: 500ms;
  --plui-delay-700: 700ms;
  --plui-delay-1000: 1000ms;

  /* ================= 2. 语义层 semantic ================= */

  --plui-color-bg: var(--plui-color-white);
  --plui-color-bg-soft: var(--plui-color-gray-100);
  --plui-color-bg-inverse: var(--plui-color-black);
  --plui-color-text: var(--plui-color-black);
  --plui-color-text-strong: var(--plui-color-black);
  --plui-color-text-muted: var(--plui-color-gray-600);
  --plui-color-text-faint: var(--plui-color-gray-500);
  --plui-color-text-inverse: var(--plui-color-white);
  --plui-color-inverse: var(--plui-color-white);
  --plui-color-border: var(--plui-color-black);
  --plui-color-border-muted: var(--plui-color-gray-300);
  --plui-color-border-strong: var(--plui-color-black);
  --plui-color-focus: var(--plui-color-black);
  --plui-color-backdrop: rgba(255, 255, 255, 0.86);

  /* ================= 3. 组件层 component ================= */

  --plui-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --plui-font-serif: Georgia, Cambria, "Times New Roman", "Songti SC", SimSun, serif;
  --plui-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --plui-font-family: var(--plui-font-sans);
  --plui-font-family-mono: var(--plui-font-mono);
  --plui-font-size-base: 1rem;
  --plui-font-size-sm: 0.875rem;
  --plui-font-size-lg: 1.25rem;
  --plui-line-height: 1.6;
  --plui-stack-gap: var(--plui-space-4);

  --plui-border-width: 1px;
  --plui-border-style: solid;
  --plui-border-radius: 0;
  --plui-border-radius-sm: 0;
  --plui-box-shadow: none;

  --plui-focus-outline: 2px solid var(--plui-color-focus);
  --plui-focus-offset: 2px;

  --plui-control-height: 2.5rem;
  --plui-control-height-sm: 2rem;
  --plui-control-height-lg: 3rem;
  --plui-transition: 0.15s ease-in-out;

  /* 浮层层级：模态遮罩 < 模态 < 弹出框 < 工具提示 < 吐司，吐司永远在最上层 */
  --plui-z-backdrop: 1040;
  --plui-z-modal: 1050;
  --plui-z-popover: 1070;
  --plui-z-tooltip: 1080;
  --plui-z-toast: 1090;
  --plui-z-offcanvas-backdrop: 1030;
  --plui-z-offcanvas: 1045;

  /* ================= 4. 栅格 ================= */

  --plui-grid-columns: 12;
  --plui-gutter-x: 1.5rem;
  --plui-gutter-y: 0;
  --plui-container-padding-x: 0.75rem;

  /* 断点取值（CSS 自定义属性无法用于媒体查询，媒体查询里写的是同名字面量，此处仅作记录） */
  --plui-breakpoint-sm: 576px;
  --plui-breakpoint-md: 768px;
  --plui-breakpoint-lg: 992px;
  --plui-breakpoint-xl: 1200px;
  --plui-breakpoint-xxl: 1400px;

  /* ================= 5. 主题层 theme（本版留位，未启用） =================
     将来启用时追加下面这段即可覆盖第二层，组件层无需改动：
     [data-plui-theme="dark"] {
       --plui-color-bg: #111827;
       --plui-color-bg-soft: #1f2937;
       --plui-color-text: #ffffff;
       --plui-color-text-muted: #9ca3af;
       --plui-color-text-faint: #6b7280;
       --plui-color-border: #ffffff;
       --plui-color-border-muted: #374151;
       --plui-color-backdrop: rgba(0, 0, 0, 0.86);
     }
   ====================================================================== */
}

/* --- src/css/base/typography.css --- */
/* 基础层 · 排版基线：标题、正文、文本辅助类的默认字号与字重 */
h1, .plui-h1 { font-size: 2.25rem; line-height: 1.25; font-weight: 700; }
h2, .plui-h2 { font-size: 1.75rem; line-height: 1.3; font-weight: 700; }
h3, .plui-h3 { font-size: 1.375rem; line-height: 1.35; font-weight: 600; }
h4, .plui-h4 { font-size: 1.125rem; line-height: 1.4; font-weight: 600; }
h5, .plui-h5 { font-size: 1rem; line-height: 1.5; font-weight: 600; }
h6, .plui-h6 { font-size: 0.875rem; line-height: 1.5; font-weight: 600; }

p { margin: 0 0 var(--plui-space-3); }

a {
  color: var(--plui-color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

a:hover { text-decoration-thickness: 2px; }

small, .plui-small { font-size: var(--plui-font-size-sm); }

strong, .plui-strong { font-weight: 700; }
em, .plui-em { font-style: italic; }

mark {
  background-color: var(--plui-color-black);
  color: var(--plui-color-text-inverse);
  padding: 0 0.15em;
}

code, kbd, samp, pre {
  font-family: var(--plui-font-family-mono);
  font-size: 0.9em;
}

code {
  border: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border-muted);
  padding: 0.1em 0.3em;
}

pre {
  border: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
  padding: var(--plui-space-3);
  overflow: auto;
}

pre code {
  border: 0;
  padding: 0;
}

blockquote {
  margin: 0 0 var(--plui-space-3);
  padding-left: var(--plui-space-3);
  border-left: var(--plui-border-width) var(--plui-border-style) var(--plui-color-black);
  color: var(--plui-color-text-muted);
}

hr {
  height: 0;
  margin: var(--plui-space-4) 0;
  border: 0;
  border-top: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
}

abbr[title] {
  border-bottom: var(--plui-border-width) dotted var(--plui-color-text-muted);
  cursor: help;
  text-decoration: none;
}

/* --- src/css/base/elements.css --- */
/* 基础层 · 元素默认样式：列表、表格、焦点可见性等浏览器默认行为的中性化处理 */
:focus-visible {
  outline: var(--plui-focus-outline);
  outline-offset: var(--plui-focus-offset);
}

:focus:not(:focus-visible) {
  outline: none;
}

::selection {
  background-color: var(--plui-color-black);
  color: var(--plui-color-text-inverse);
}

ul, ol {
  margin: 0 0 var(--plui-space-3);
  padding-left: var(--plui-space-4);
}

dl { margin: 0 0 var(--plui-space-3); }
dt { font-weight: 600; }
dd { margin: 0 0 var(--plui-space-2); }

.plui-list-unstyled {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.plui-list-inline {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.plui-list-inline > li {
  display: inline-block;
  margin-right: var(--plui-space-3);
}

.plui-list-inline > li:last-child {
  margin-right: 0;
}

/* --- src/css/base/dark.css --- */
/* 基础层 · 暗色主题（D18）
 * 覆盖语义层令牌，组件与工具类自动跟随，无需改任何组件样式。
 * 用法一：<html data-plui-theme="dark">（手动切换）
 * 用法二：不加属性，跟随系统 prefers-color-scheme
 */
[data-plui-theme="dark"] {
  --plui-color-bg: #111111;
  --plui-color-bg-soft: #1c1c1c;
  --plui-color-bg-inverse: #f2f2f2;
  --plui-color-text: #f2f2f2;
  --plui-color-text-strong: #ffffff;
  --plui-color-text-muted: #a8a8a8;
  --plui-color-text-faint: #8a8a8a;
  --plui-color-text-inverse: #111111;
  --plui-color-inverse: #111111;
  --plui-color-border: #d9d9d9;
  --plui-color-border-muted: #3f3f3f;
  --plui-color-border-strong: #ffffff;
  --plui-color-focus: #ffffff;
  --plui-color-backdrop: rgba(0, 0, 0, 0.72);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-plui-theme="light"]) {
    --plui-color-bg: #111111;
    --plui-color-bg-soft: #1c1c1c;
    --plui-color-bg-inverse: #f2f2f2;
    --plui-color-text: #f2f2f2;
    --plui-color-text-strong: #ffffff;
    --plui-color-text-muted: #a8a8a8;
    --plui-color-text-faint: #8a8a8a;
    --plui-color-text-inverse: #111111;
    --plui-color-inverse: #111111;
    --plui-color-border: #d9d9d9;
    --plui-color-border-muted: #3f3f3f;
    --plui-color-border-strong: #ffffff;
    --plui-color-focus: #ffffff;
    --plui-color-backdrop: rgba(0, 0, 0, 0.72);
  }
}

/* 暗色下语义色需要提亮才够对比度 */
[data-plui-theme="dark"] {
  --plui-color-red-600: #f87171;
  --plui-color-green-600: #4ade80;
  --plui-color-blue-600: #60a5fa;
  --plui-color-yellow-600: #facc15;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-plui-theme="light"]) {
    --plui-color-red-600: #f87171;
    --plui-color-green-600: #4ade80;
    --plui-color-blue-600: #60a5fa;
    --plui-color-yellow-600: #facc15;
  }
}

/* --- src/css/base/print.css --- */
/* 基础层 · 打印样式：去掉装饰、露出链接地址、避免分页截断 */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  .plui-navbar-toggler,
  .plui-btn-close,
  .plui-offcanvas,
  .plui-modal,
  .plui-popover,
  .plui-tooltip,
  .plui-toast-container,
  .plui-offcanvas-backdrop,
  .plui-backdrop { display: none !important; }
  .plui-card,
  .plui-list-group-item,
  .plui-truncate,
  .plui-table { break-inside: avoid; }
  .plui-table thead { display: table-header-group; }
  .plui-truncate > * { overflow: visible !important; white-space: normal !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.85em; word-break: break-all; }
}

/* --- src/css/base/motion.css --- */
/* 基础层 · 动效偏好与高对比适配 */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (forced-colors: active) {
  .plui-btn,
  .plui-form-control,
  .plui-form-select,
  .plui-card,
  .plui-alert,
  .plui-badge,
  .plui-list-group-item,
  .plui-offcanvas,
  .plui-modal-dialog,
  .plui-toast,
  .plui-dropdown-menu,
  .plui-nav-tabs-link,
  .plui-pagination .plui-page-link {
    border: 1px solid CanvasText;
  }
  .plui-btn-primary,
  .plui-btn:disabled,
  .plui-form-control:disabled,
  .plui-form-check-input:checked {
    background-color: CanvasText;
    color: Canvas;
  }
  .plui-form-control:focus-visible,
  .plui-btn:focus-visible,
  .plui-nav-link:focus-visible {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .plui-offcanvas-backdrop,
  .plui-backdrop { background-color: Canvas; opacity: 0.6; }
  .plui-sr-only { clip-path: inset(50%); }
}

/* ============================================================
 * 飞立（plui） · layout 层
 * ============================================================ */

/* --- src/css/layout/container.css --- */
/* 布局层 · 容器：固定宽度容器与流式容器，断点取值同 Bootstrap 5 */
.plui-container,
.plui-container-fluid {
  /* 注意：这里不能写成 var(--plui-gutter-x, 1.5rem) 这种自引用形式，
     自引用的自定义属性在计算值阶段无效，会让整条 padding 声明失效。 */
  --plui-gutter-x: 1.5rem;
  --plui-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--plui-container-padding-x) + var(--plui-gutter-x) * 0.5);
  padding-left: calc(var(--plui-container-padding-x) + var(--plui-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

.plui-container-fluid {
  --plui-container-padding-x: var(--plui-space-3);
}

/* @media (min-width: 576px) —— sm */
@media (min-width: 576px) {
  .plui-container { max-width: 540px; }
}

/* @media (min-width: 768px) —— md */
@media (min-width: 768px) {
  .plui-container { max-width: 720px; }
}

/* @media (min-width: 992px) —— lg */
@media (min-width: 992px) {
  .plui-container { max-width: 960px; }
}

/* @media (min-width: 1200px) —— xl */
@media (min-width: 1200px) {
  .plui-container { max-width: 1140px; }
}

/* @media (min-width: 1400px) —— xxl */
@media (min-width: 1400px) {
  .plui-container { max-width: 1320px; }
}

/* --- src/css/layout/grid.css --- */
/* 布局层 · 栅格：12 列 Flex 栅格的基线部分（不带断点前缀的部分），断点变体见 responsive/ */
.plui-row {
  --plui-gutter-x: 1.5rem;
  --plui-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--plui-gutter-y) * -1);
  margin-right: calc(var(--plui-gutter-x) * -0.5);
  margin-left: calc(var(--plui-gutter-x) * -0.5);
}

.plui-row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--plui-gutter-x) * 0.5);
  padding-left: calc(var(--plui-gutter-x) * 0.5);
  margin-top: var(--plui-gutter-y);
}

.plui-col {
  flex: 1 0 0%;
}

.plui-col-auto {
  flex: 0 0 auto;
  width: auto;
}

.plui-col-1 { flex: 0 0 auto; width: 8.33333333%; }
.plui-col-2 { flex: 0 0 auto; width: 16.66666667%; }
.plui-col-3 { flex: 0 0 auto; width: 25%; }
.plui-col-4 { flex: 0 0 auto; width: 33.33333333%; }
.plui-col-5 { flex: 0 0 auto; width: 41.66666667%; }
.plui-col-6 { flex: 0 0 auto; width: 50%; }
.plui-col-7 { flex: 0 0 auto; width: 58.33333333%; }
.plui-col-8 { flex: 0 0 auto; width: 66.66666667%; }
.plui-col-9 { flex: 0 0 auto; width: 75%; }
.plui-col-10 { flex: 0 0 auto; width: 83.33333333%; }
.plui-col-11 { flex: 0 0 auto; width: 91.66666667%; }
.plui-col-12 { flex: 0 0 auto; width: 100%; }

.plui-offset-0 { margin-left: 0; }
.plui-offset-1 { margin-left: 8.33333333%; }
.plui-offset-2 { margin-left: 16.66666667%; }
.plui-offset-3 { margin-left: 25%; }
.plui-offset-4 { margin-left: 33.33333333%; }
.plui-offset-5 { margin-left: 41.66666667%; }
.plui-offset-6 { margin-left: 50%; }
.plui-offset-7 { margin-left: 58.33333333%; }
.plui-offset-8 { margin-left: 66.66666667%; }
.plui-offset-9 { margin-left: 75%; }
.plui-offset-10 { margin-left: 83.33333333%; }
.plui-offset-11 { margin-left: 91.66666667%; }

/* 栅格间距：g-0 到 g-5 同时设定行间距与列间距，gx- 只设列间距，gy- 只设行间距 */
.plui-g-0 { --plui-gutter-x: 0; --plui-gutter-y: 0; }
.plui-g-1 { --plui-gutter-x: 0.25rem; --plui-gutter-y: 0.25rem; }
.plui-g-2 { --plui-gutter-x: 0.5rem; --plui-gutter-y: 0.5rem; }
.plui-g-3 { --plui-gutter-x: 1rem; --plui-gutter-y: 1rem; }
.plui-g-4 { --plui-gutter-x: 1.5rem; --plui-gutter-y: 1.5rem; }
.plui-g-5 { --plui-gutter-x: 3rem; --plui-gutter-y: 3rem; }

.plui-gx-0 { --plui-gutter-x: 0; }
.plui-gx-1 { --plui-gutter-x: 0.25rem; }
.plui-gx-2 { --plui-gutter-x: 0.5rem; }
.plui-gx-3 { --plui-gutter-x: 1rem; }
.plui-gx-4 { --plui-gutter-x: 1.5rem; }
.plui-gx-5 { --plui-gutter-x: 3rem; }

.plui-gy-0 { --plui-gutter-y: 0; }
.plui-gy-1 { --plui-gutter-y: 0.25rem; }
.plui-gy-2 { --plui-gutter-y: 0.5rem; }
.plui-gy-3 { --plui-gutter-y: 1rem; }
.plui-gy-4 { --plui-gutter-y: 1.5rem; }
.plui-gy-5 { --plui-gutter-y: 3rem; }


/* 等宽列：每行固定列数，与断点无关 */
.plui-row-cols-1 > * { flex: 0 0 auto; width: 100%; }
.plui-row-cols-2 > * { flex: 0 0 auto; width: 50%; }
.plui-row-cols-3 > * { flex: 0 0 auto; width: 33.33333333%; }
.plui-row-cols-4 > * { flex: 0 0 auto; width: 25%; }
.plui-row-cols-5 > * { flex: 0 0 auto; width: 20%; }
.plui-row-cols-6 > * { flex: 0 0 auto; width: 16.66666667%; }

/* --- src/css/layout/helpers.css --- */
/* 布局层 · 辅助类：比例盒、粘性定位、清浮动、可见性、用户选择
 * 浮动类（.plui-float-start / -end）由 utilities/layout.css 提供，此处不重复 */
.plui-ratio { position: relative; width: 100%; }
.plui-ratio::before { display: block; padding-top: var(--plui-ratio, 100%); content: ""; }
.plui-ratio > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.plui-ratio-1x1 { --plui-ratio: 100%; }
.plui-ratio-4x3 { --plui-ratio: 75%; }
.plui-ratio-16x9 { --plui-ratio: 56.25%; }
.plui-ratio-21x9 { --plui-ratio: 42.8571%; }

.plui-sticky-top { position: sticky; top: 0; z-index: var(--plui-z-20); }
.plui-sticky-bottom { position: sticky; bottom: 0; z-index: var(--plui-z-20); }
.plui-fixed-top { position: fixed; top: 0; right: 0; left: 0; z-index: var(--plui-z-30); }
.plui-fixed-bottom { position: fixed; right: 0; bottom: 0; left: 0; z-index: var(--plui-z-30); }

.plui-clearfix::after { display: block; clear: both; content: ""; }
.plui-invisible { visibility: hidden !important; }
.plui-visible { visibility: visible !important; }
.plui-user-select-none { user-select: none; }
.plui-user-select-all { user-select: all; }
.plui-pe-none { pointer-events: none; }
.plui-pe-auto { pointer-events: auto; }
.plui-border-start { border-left: 1px solid var(--plui-color-border); }
.plui-border-end { border-right: 1px solid var(--plui-color-border); }
.plui-vh-100 { height: 100vh !important; }
.plui-vw-100 { width: 100vw !important; }
.plui-min-vh-100 { min-height: 100vh !important; }

/* --- src/css/layout/rtl.css --- */
/* 布局层 · RTL 适配
 *
 * 框架以逻辑属性（margin-inline / padding-inline / inset-inline）书写，
 * 绝大多数方向类在 RTL 下自动镜像；本文件只处理仍需显式覆盖的部分：
 * 箭头方向、浮层对齐、缩进类与表单勾选标记。
 */

[dir="rtl"] {
  text-align: right;
}

[dir="rtl"] .plui-text-start { text-align: right; }
[dir="rtl"] .plui-text-end { text-align: left; }
[dir="rtl"] .plui-text-left { text-align: right; }
[dir="rtl"] .plui-text-right { text-align: left; }

[dir="rtl"] .plui-float-left { float: right; }
[dir="rtl"] .plui-float-right { float: left; }

[dir="rtl"] .plui-dropdown-menu { text-align: right; }
[dir="rtl"] .plui-dropdown-menu-end { left: 0; right: auto; }
[dir="rtl"] .plui-dropdown-menu-start { right: 0; left: auto; }

[dir="rtl"] .plui-list-unstyled { padding-left: 0; padding-right: 0; }
[dir="rtl"] .plui-list-unstyled li { list-style: none; }

[dir="rtl"] .plui-accordion-collapse::after { transform: rotate(-90deg); }
[dir="rtl"] .plui-accordion-collapse.show::after { transform: rotate(0deg); }

[dir="rtl"] .plui-carousel-control-prev { right: 0; left: auto; }
[dir="rtl"] .plui-carousel-control-next { left: 0; right: auto; }

[dir="rtl"] .plui-form-check { padding-right: 1.5em; padding-left: 0; }
[dir="rtl"] .plui-form-check .plui-form-check-input { margin-right: -1.5em; margin-left: 0; }

[dir="rtl"] .plui-breadcrumb-item + .plui-breadcrumb-item::before { transform: scaleX(-1); }

/* ============================================================
 * 飞立（plui） · components 层
 * ============================================================ */

/* --- src/css/components/accordion.css --- */
/* 组件层 · 折叠面板：.plui-accordion 容器 + .plui-accordion-item 条目，展开依赖 src/plui.js */
.plui-accordion {
  border: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
}

.plui-accordion-header { margin: 0; font-size: inherit; }

.plui-accordion-item {
  border-bottom: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
}

.plui-accordion-item:last-child {
  border-bottom: 0;
}

.plui-accordion-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--plui-space-3);
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: var(--plui-font-size-base);
  font-weight: 600;
  text-align: left;
  color: var(--plui-color-text);
  background-color: var(--plui-color-white);
  border: 0;
  cursor: pointer;
}

.plui-accordion-button:hover {
  background-color: var(--plui-color-bg-soft);
}

.plui-accordion-button:focus-visible {
  outline: var(--plui-focus-outline);
  outline-offset: -2px;
}

/* 折叠指示符用 Unicode 几何字符 ▸ / ▾ 实现 */
.plui-accordion-indicator {
  flex: 0 0 auto;
  font-size: 0.75rem;
  line-height: 1;
}

.plui-accordion-collapse {
  display: none;
}

.plui-accordion-collapse.show {
  display: block;
}

.plui-accordion-body {
  padding: 1rem;
  border-top: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
  color: var(--plui-color-text);
}

/* 无边框折叠组 */
.plui-accordion-flush { border: 0; }
.plui-accordion-flush .plui-accordion-header { margin: 0; font-size: inherit; }

.plui-accordion-item { border: 0; border-bottom: 1px solid var(--plui-color-border-muted); }

/* 折叠组内面板始终隐藏时用的占位 */
.plui-accordion-collapse.plui-collapse { display: none; }
.plui-accordion-collapse.plui-collapse.plui-show { display: block; }

/* 独立折叠体（不在手风琴组内） */
.plui-collapse { display: none; }
.plui-collapse.plui-show { display: block; }

/* --- src/css/components/alert.css --- */
/* 组件层 · 警告框 / 提示框：状态条与可关闭提示 */
.plui-alert {
  position: relative;
  padding: var(--plui-space-3) var(--plui-space-4);
  margin-bottom: var(--plui-space-4);
  color: var(--plui-color-text);
  background-color: var(--plui-color-white);
  border: 1px solid var(--plui-color-border);
  border-left-width: 4px;
  border-radius: var(--plui-radius-none);
}

.plui-alert-heading { margin: 0 0 var(--plui-space-2); font-size: var(--plui-font-size-lg); font-weight: var(--plui-font-weight-semibold); }
.plui-alert > :last-child { margin-bottom: 0; }

.plui-alert-primary { border-left-color: var(--plui-color-black); }
.plui-alert-success { border-left-color: var(--plui-color-green-600); }
.plui-alert-danger { border-left-color: var(--plui-color-red-600); }
.plui-alert-warning { border-left-color: var(--plui-color-yellow-600); }
.plui-alert-info { border-left-color: var(--plui-color-blue-600); }
.plui-alert-light { background-color: var(--plui-color-gray-100); border-color: var(--plui-color-border-muted); border-left-color: var(--plui-color-gray-400); }
.plui-alert-dark { color: var(--plui-color-white); background-color: var(--plui-color-gray-800); border-color: var(--plui-color-gray-800); }

.plui-alert-dismissible { padding-right: var(--plui-space-12); }
.plui-alert-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  padding: 0;
  font-size: var(--plui-font-size-lg);
  line-height: 1;
  color: inherit;
  cursor: pointer;
  background: transparent;
  border: 0;
}
.plui-alert-close:focus-visible { outline: var(--plui-focus-outline); outline-offset: -2px; }

/* --- src/css/components/badge.css --- */
/* 组件层 · 徽标：数字与状态标记 */
.plui-badge {
  display: inline-block;
  padding: 0 var(--plui-space-2);
  font-size: var(--plui-font-size-xs);
  font-weight: var(--plui-font-weight-semibold);
  line-height: 1.6;
  color: var(--plui-color-white);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  background-color: var(--plui-color-black);
  border: 1px solid var(--plui-color-black);
  border-radius: var(--plui-radius-none);
}

.plui-badge-outline { color: var(--plui-color-text); background-color: transparent; border-color: var(--plui-color-border); }
.plui-badge-success { color: var(--plui-color-green-700); background-color: transparent; border-color: var(--plui-color-green-600); }
.plui-badge-danger { color: var(--plui-color-red-700); background-color: transparent; border-color: var(--plui-color-red-600); }
.plui-badge-warning { color: var(--plui-color-yellow-600); background-color: transparent; border-color: var(--plui-color-yellow-600); }
.plui-badge-info { color: var(--plui-color-blue-700); background-color: transparent; border-color: var(--plui-color-blue-600); }
.plui-badge-pill { border-radius: var(--plui-radius-full); }
.plui-badge-lg { padding: var(--plui-space-1) var(--plui-space-3); font-size: var(--plui-font-size-sm); }

/* --- src/css/components/breadcrumb.css --- */
/* 组件层 · 面包屑：路径导航 */
.plui-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: var(--plui-space-1);
  padding: 0;
  margin: 0;
  font-size: var(--plui-font-size-sm);
  list-style: none;
}

.plui-breadcrumb-item + .plui-breadcrumb-item::before {
  display: inline-block;
  padding-inline: var(--plui-space-2);
  color: var(--plui-color-text-faint);
  content: "/";
}
.plui-breadcrumb-link { color: var(--plui-color-text); text-decoration: underline; }
.plui-breadcrumb-link:hover { color: var(--plui-color-text); }
.plui-breadcrumb-item.active .plui-breadcrumb-link { color: var(--plui-color-text-muted); text-decoration: none; }
.plui-breadcrumb-divider { color: var(--plui-color-text-faint); }

/* --- src/css/components/button.css --- */
/* 组件层 · 按钮：基础态、语义变体、尺寸、描边、幽灵、链接、按钮组
 *
 * 极简风格下的变体规则：
 *   primary   —— 黑底白字
 *   secondary —— 白底黑边黑字
 *   success / danger / warning / info —— 白底，仅 1px 边框与文字使用语义色，不做大面积色块
 */
.plui-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--plui-space-2);
  padding: var(--plui-space-2) var(--plui-space-4);
  font-family: inherit;
  font-size: var(--plui-font-size-base);
  font-weight: var(--plui-font-weight-normal);
  line-height: 1.5;
  color: var(--plui-color-text);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--plui-color-border);
  border-radius: var(--plui-radius-none);
  background-color: var(--plui-color-white);
  transition: background-color var(--plui-duration-150) var(--plui-ease-in-out),
    color var(--plui-duration-150) var(--plui-ease-in-out),
    border-color var(--plui-duration-150) var(--plui-ease-in-out);
}

.plui-btn:hover { background-color: var(--plui-color-bg-soft); }
.plui-btn:focus-visible { outline: var(--plui-focus-outline); outline-offset: var(--plui-focus-offset); }
.plui-btn:active { background-color: var(--plui-color-gray-200); }
.plui-btn:disabled,
.plui-btn.plui-disabled { color: var(--plui-color-text-faint); cursor: not-allowed; background-color: var(--plui-color-white); border-color: var(--plui-color-border-muted); }

/* 尺寸 */
.plui-btn-sm { padding: var(--plui-space-1) var(--plui-space-3); font-size: var(--plui-font-size-sm); }
.plui-btn-lg { padding: var(--plui-space-3) var(--plui-space-6); font-size: var(--plui-font-size-lg); }

/* 变体 */
.plui-btn-primary {
  color: var(--plui-color-white);
  background-color: var(--plui-color-black);
  border-color: var(--plui-color-black);
}
.plui-btn-primary:hover { color: var(--plui-color-white); background-color: var(--plui-color-gray-700); }
.plui-btn-primary:active { color: var(--plui-color-white); background-color: var(--plui-color-gray-800); }
.plui-btn-secondary { color: var(--plui-color-text); background-color: var(--plui-color-white); border-color: var(--plui-color-border); }
.plui-btn-success { color: var(--plui-color-green-700); border-color: var(--plui-color-green-600); }
.plui-btn-danger { color: var(--plui-color-red-700); border-color: var(--plui-color-red-600); }
.plui-btn-warning { color: var(--plui-color-yellow-600); border-color: var(--plui-color-yellow-600); }
.plui-btn-info { color: var(--plui-color-blue-700); border-color: var(--plui-color-blue-600); }
.plui-btn-dark { color: var(--plui-color-white); background-color: var(--plui-color-gray-800); border-color: var(--plui-color-gray-800); }
.plui-btn-light { color: var(--plui-color-text); background-color: var(--plui-color-gray-100); border-color: var(--plui-color-border-muted); }

/* 描边变体：透明底，只留边框 */
.plui-btn-outline { color: var(--plui-color-text); background-color: transparent; border-color: var(--plui-color-border); }
.plui-btn-outline:hover { color: var(--plui-color-text); background-color: var(--plui-color-white); }
.plui-btn-outline-secondary { color: var(--plui-color-text); background-color: transparent; border-color: var(--plui-color-border); }
.plui-btn-outline-success { color: var(--plui-color-green-700); background-color: transparent; border-color: var(--plui-color-green-600); }
.plui-btn-outline-danger { color: var(--plui-color-red-700); background-color: transparent; border-color: var(--plui-color-red-600); }
.plui-btn-outline-warning { color: var(--plui-color-yellow-600); background-color: transparent; border-color: var(--plui-color-yellow-600); }
.plui-btn-outline-info { color: var(--plui-color-blue-700); background-color: transparent; border-color: var(--plui-color-blue-600); }

/* 幽灵按钮：无边框 */
.plui-btn-ghost { background-color: transparent; border-color: transparent; }
.plui-btn-ghost:hover { background-color: var(--plui-color-bg-soft); }

/* 链接按钮：无边框带下划线 */
.plui-btn-link { color: var(--plui-color-text); background-color: transparent; border-color: transparent; text-decoration: underline; }
.plui-btn-link:hover { color: var(--plui-color-text); background-color: transparent; }

/* 块级按钮 */
.plui-btn-block { display: flex; width: 100%; }

/* 按钮组 */
.plui-btn-group { display: inline-flex; flex-wrap: wrap; align-items: stretch; }
.plui-btn-group > .plui-btn { position: relative; flex: 1 1 auto; }
.plui-btn-group > .plui-btn:not(:first-child) { margin-left: -1px; }
.plui-btn-group > .plui-btn:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.plui-btn-group > .plui-btn:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.plui-btn-group-vertical { flex-direction: column; align-items: stretch; }
.plui-btn-group-vertical > .plui-btn { width: 100%; }
.plui-btn-group-vertical > .plui-btn:not(:first-child) { margin-left: 0; margin-top: -1px; }
.plui-btn-group-vertical > .plui-btn:not(:last-child) { border-radius: 0; }

/* 按钮组尺寸与勾选式按钮组 */
.plui-btn-group-lg > .plui-btn { padding: var(--plui-space-2) var(--plui-space-4); font-size: var(--plui-font-size-lg); line-height: var(--plui-line-height-lg); }
.plui-btn-group-sm > .plui-btn { padding: var(--plui-space-1) var(--plui-space-2); font-size: var(--plui-font-size-sm); line-height: var(--plui-line-height-sm); }
.plui-btn-check { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; pointer-events: none; }
.plui-btn-check:checked + .plui-btn { color: var(--plui-color-text-inverse); background-color: var(--plui-color-bg-inverse); border-color: var(--plui-color-bg-inverse); }
.plui-btn-check:focus-visible + .plui-btn { outline: var(--plui-focus-outline); outline-offset: 1px; }
.plui-btn-group > .plui-btn-check:checked + .plui-btn { z-index: 1; }

/* --- src/css/components/card.css --- */
/* 组件层 · 卡片：容器、头身尾、标题副标题、横向卡片、图片区 */
.plui-card {
  display: flex;
  flex-direction: column;
  background-color: var(--plui-color-white);
  border: 1px solid var(--plui-color-border);
  border-radius: var(--plui-radius-none);
}

.plui-card-header {
  padding: var(--plui-space-3) var(--plui-space-4);
  background-color: var(--plui-color-bg-soft);
  border-bottom: 1px solid var(--plui-color-border);
}
.plui-card-body { flex: 1 1 auto; padding: var(--plui-space-4); }
.plui-card-footer {
  padding: var(--plui-space-3) var(--plui-space-4);
  background-color: var(--plui-color-bg-soft);
  border-top: 1px solid var(--plui-color-border);
}
.plui-card-title { margin: 0; font-size: var(--plui-font-size-lg); font-weight: var(--plui-font-weight-semibold); }
.plui-card-subtitle { margin: var(--plui-space-1) 0 0; font-size: var(--plui-font-size-sm); color: var(--plui-color-text-muted); }
.plui-card-text { margin: 0 0 var(--plui-space-3); }
.plui-card-text:last-child { margin-bottom: 0; }
.plui-card-link { color: var(--plui-color-text); text-decoration: underline; }
.plui-card-img-top { display: block; width: 100%; border-bottom: 1px solid var(--plui-color-border); }
.plui-card-img-bottom { display: block; width: 100%; border-top: 1px solid var(--plui-color-border); }
.plui-card-header + .plui-card-body { padding-top: var(--plui-space-4); }

/* 变体：仅调整边框与标题色，不做大面积底色 */
.plui-card-primary { border-color: var(--plui-color-black); }
.plui-card-success { border-color: var(--plui-color-green-600); }
.plui-card-danger { border-color: var(--plui-color-red-600); }
.plui-card-warning { border-color: var(--plui-color-yellow-600); }
.plui-card-info { border-color: var(--plui-color-blue-600); }

/* 横向卡片 */
.plui-card-horizontal { display: flex; flex-direction: row; }
.plui-card-horizontal .plui-card-body { flex: 1 1 auto; }
.plui-card-horizontal .plui-card-img-top { width: 200px; border-bottom: 0; border-right: 1px solid var(--plui-color-border); }

/* --- src/css/components/carousel.css --- */
/* 组件层 · 轮播：幻灯片容器、指示器、左右控制 */
.plui-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--plui-color-bg-soft);
  border: 1px solid var(--plui-color-border);
}
.plui-carousel-inner { position: relative; width: 100%; overflow: hidden; }
.plui-carousel-item {
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform var(--plui-duration-300) var(--plui-ease-in-out);
}
.plui-carousel-item.plui-carousel-item-active { display: block; }
.plui-carousel-item.plui-carousel-item-next,
.plui-carousel-item.plui-carousel-item-prev { display: block; }
.plui-carousel-item.plui-carousel-item-next { transform: translateX(100%); }
.plui-carousel-item.plui-carousel-item-prev { transform: translateX(-100%); }
.plui-carousel-indicators {
  position: absolute;
  right: 0;
  bottom: var(--plui-space-3);
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: var(--plui-space-1);
  padding: 0;
  margin: 0;
  list-style: none;
}
.plui-carousel-indicator {
  width: 1.5rem;
  height: 2px;
  padding: 0;
  cursor: pointer;
  background-color: var(--plui-color-gray-400);
  border: 0;
}
.plui-carousel-indicator.plui-active { background-color: var(--plui-color-black); }
.plui-carousel-control-prev,
.plui-carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12%;
  padding: 0;
  color: var(--plui-color-black);
  cursor: pointer;
  background: transparent;
  border: 0;
}
.plui-carousel-control-prev { left: 0; }
.plui-carousel-control-next { right: 0; }
.plui-carousel-control-prev-icon,
.plui-carousel-control-next-icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
}
.plui-carousel-control-prev-icon {
  clip-path: polygon(100% 0, 100% 100%, 0 50%);
}
.plui-carousel-control-next-icon {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.plui-carousel-fade .plui-carousel-item { opacity: 0; transition-property: opacity; }
.plui-carousel-fade .plui-carousel-item.plui-carousel-item-active { opacity: 1; }

/* --- src/css/components/dropdown.css --- */
/* 组件层 · 下拉菜单：.plui-dropdown 容器，展开依赖 src/plui.js */
.plui-dropdown {
  position: relative;
  display: inline-block;
}

.plui-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.plui-dropdown-toggle::after {
  content: "\25BE";
  font-size: 0.7em;
  line-height: 1;
}

.plui-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  display: none;
  min-width: 10rem;
  margin-top: var(--plui-space-1);
  padding: var(--plui-space-1) 0;
  background-color: var(--plui-color-white);
  border: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
  list-style: none;
}

.plui-dropdown.plui-show .plui-dropdown-menu,
.plui-dropdown.show .plui-dropdown-menu {
  display: block;
}

.plui-dropdown-menu-end {
  left: auto;
  right: 0;
}

.plui-dropdown-item {
  display: block;
  width: 100%;
  padding: 0.375rem 1rem;
  font-size: var(--plui-font-size-base);
  color: var(--plui-color-text);
  text-align: left;
  text-decoration: none;
  background-color: transparent;
  border: 0;
  cursor: pointer;
}

.plui-dropdown-item:hover,
.plui-dropdown-item:focus-visible {
  background-color: var(--plui-color-black);
  color: var(--plui-color-text-inverse);
}

.plui-dropdown-item.active {
  background-color: var(--plui-color-black);
  color: var(--plui-color-text-inverse);
  font-weight: 600;
}

.plui-dropdown-item:disabled {
  color: var(--plui-color-text-faint);
  cursor: not-allowed;
  pointer-events: none;
}

.plui-dropdown-divider {
  height: 0;
  margin: var(--plui-space-1) 0;
  border-top: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border-muted);
}

/* 下拉分组标题 */
.plui-dropdown-header {
  padding: var(--plui-space-1) var(--plui-space-3);
  font-size: var(--plui-font-size-xs);
  font-weight: var(--plui-font-weight-semibold);
  color: var(--plui-color-text-muted);
  border-bottom: 1px solid var(--plui-color-border-muted);
}

/* --- src/css/components/form.css --- */
/* 组件层 · 表单：栅格布局、控件、尺寸、校验状态、输入组、勾选与开关 */
.plui-form { display: block; }

.plui-form-group { margin-bottom: var(--plui-space-4); }
.plui-form-label {
  display: inline-block;
  margin-bottom: var(--plui-space-1);
  font-weight: var(--plui-font-weight-medium);
}
.plui-form-label-plain { font-weight: var(--plui-font-weight-normal); }
.plui-form-text {
  display: block;
  margin-top: var(--plui-space-1);
  font-size: var(--plui-font-size-sm);
  color: var(--plui-color-text-muted);
}
.plui-form-text-muted { color: var(--plui-color-text-muted); }

/* 控件 */
.plui-form-control,
.plui-form-select {
  display: block;
  width: 100%;
  padding: var(--plui-space-2) var(--plui-space-3);
  font-family: inherit;
  font-size: var(--plui-font-size-base);
  line-height: 1.5;
  color: var(--plui-color-text);
  background-color: var(--plui-color-white);
  border: 1px solid var(--plui-color-border);
  border-radius: var(--plui-radius-none);
  appearance: none;
  transition: border-color var(--plui-duration-150) var(--plui-ease-in-out);
}
.plui-form-control:focus,
.plui-form-select:focus {
  outline: none;
  border-color: var(--plui-color-black);
  box-shadow: 0 0 0 1px var(--plui-color-black);
}
.plui-form-control:focus-visible,
.plui-form-select:focus-visible { outline: var(--plui-focus-outline); outline-offset: 1px; }
.plui-form-control::placeholder { color: var(--plui-color-text-faint); opacity: 1; }
.plui-form-control:disabled,
.plui-form-select:disabled {
  color: var(--plui-color-text-faint);
  cursor: not-allowed;
  background-color: var(--plui-color-gray-100);
}
.plui-form-control[readonly] { background-color: var(--plui-color-gray-100); }
.plui-form-control-plaintext {
  display: block;
  width: 100%;
  padding: var(--plui-space-2) var(--plui-space-3);
  margin: 0;
  font-size: var(--plui-font-size-base);
  line-height: 1.5;
  color: var(--plui-color-text);
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.plui-form-control-sm { padding: var(--plui-space-1) var(--plui-space-2); font-size: var(--plui-font-size-sm); }
.plui-form-control-lg { padding: var(--plui-space-3) var(--plui-space-4); font-size: var(--plui-font-size-lg); }
.plui-form-select {
  padding-right: var(--plui-space-8);
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: right var(--plui-space-4) center, right var(--plui-space-3) center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.plui-form-range { width: 100%; height: 1.5rem; padding: 0; background-color: transparent; appearance: none; }
.plui-form-range::-webkit-slider-runnable-track { height: 2px; background-color: var(--plui-color-border); }
.plui-form-range::-moz-range-track { height: 2px; background-color: var(--plui-color-border); }
.plui-form-range::-webkit-slider-thumb {
  width: 14px;
  height: 14px;
  margin-top: -6px;
  background-color: var(--plui-color-black);
  border: 1px solid var(--plui-color-black);
  border-radius: var(--plui-radius-full);
  appearance: none;
}
.plui-form-range::-moz-range-thumb {
  width: 14px;
  height: 14px;
  background-color: var(--plui-color-black);
  border: 1px solid var(--plui-color-black);
  border-radius: var(--plui-radius-full);
}
.plui-form-color { width: 3rem; height: 2rem; padding: 2px; border: 1px solid var(--plui-color-border); background-color: var(--plui-color-white); }

/* 校验状态：容器加 .plui-is-valid / .plui-is-invalid，控件与反馈文案随之变化 */
.plui-is-valid .plui-form-control,
.plui-is-valid .plui-form-select { border-color: var(--plui-color-green-600); }
.plui-is-invalid .plui-form-control,
.plui-is-invalid .plui-form-select { border-color: var(--plui-color-red-600); }
.plui-valid-feedback,
.plui-invalid-feedback {
  display: none;
  width: 100%;
  margin-top: var(--plui-space-1);
  font-size: var(--plui-font-size-sm);
}
.plui-is-valid .plui-valid-feedback { display: block; color: var(--plui-color-green-700); }
.plui-is-invalid .plui-invalid-feedback { display: block; color: var(--plui-color-red-700); }
.plui-form-control.is-valid,
.plui-form-control.is-invalid { border-width: 1px; }
.plui-form-control.is-valid { border-color: var(--plui-color-green-600); }
.plui-form-control.is-invalid { border-color: var(--plui-color-red-600); }

/* 输入组 */
.plui-input-group {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.plui-input-group > .plui-form-control,
.plui-input-group > .plui-form-select,
.plui-input-group > .plui-input-group-text,
.plui-input-group > .plui-btn {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.plui-input-group > :not(:first-child) { margin-left: -1px; }
.plui-input-group > :not(:first-child).plui-form-control,
.plui-input-group > :not(:first-child).plui-form-select { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.plui-input-group > :not(:last-child).plui-form-control,
.plui-input-group > :not(:last-child).plui-form-select { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.plui-input-group-text {
  display: flex;
  align-items: center;
  padding: var(--plui-space-2) var(--plui-space-3);
  font-size: var(--plui-font-size-base);
  line-height: 1.5;
  color: var(--plui-color-text);
  text-align: center;
  white-space: nowrap;
  background-color: var(--plui-color-bg-soft);
  border: 1px solid var(--plui-color-border);
  border-radius: var(--plui-radius-none);
}
.plui-input-group-sm > .plui-form-control,
.plui-input-group-sm > .plui-form-select,
.plui-input-group-sm > .plui-input-group-text { padding: var(--plui-space-1) var(--plui-space-2); font-size: var(--plui-font-size-sm); }
.plui-input-group-lg > .plui-form-control,
.plui-input-group-lg > .plui-form-select,
.plui-input-group-lg > .plui-input-group-text { padding: var(--plui-space-3) var(--plui-space-4); font-size: var(--plui-font-size-lg); }

/* 勾选与开关 */
.plui-form-check {
  position: relative;
  display: block;
  padding-left: 1.5em;
  margin-bottom: var(--plui-space-2);
}
.plui-form-check-input {
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.2em;
  vertical-align: top;
  background-color: var(--plui-color-white);
  border: 1px solid var(--plui-color-border);
  border-radius: var(--plui-radius-none);
  appearance: none;
}
.plui-form-check-input[type="checkbox"] { border-radius: var(--plui-radius-none); }
.plui-form-check-input[type="radio"] { border-radius: var(--plui-radius-full); }
.plui-form-check-input:checked { background-color: var(--plui-color-black); border-color: var(--plui-color-black); }
.plui-form-check-input[type="checkbox"]:checked { background-image: none; box-shadow: inset 0 0 0 2px var(--plui-color-white); }
.plui-form-check-input[type="radio"]:checked { box-shadow: inset 0 0 0 3px var(--plui-color-white); }
.plui-form-check-input:focus-visible { outline: var(--plui-focus-outline); outline-offset: 1px; }
.plui-form-check-input:disabled { cursor: not-allowed; background-color: var(--plui-color-gray-100); border-color: var(--plui-color-border-muted); }
.plui-form-check-label { color: var(--plui-color-text); }
.plui-form-check-disabled { color: var(--plui-color-text-faint); }
.plui-form-check-inline { display: inline-block; margin-right: var(--plui-space-4); }
.plui-form-switch { padding-left: 2.5em; }
.plui-form-switch .plui-form-check-input { width: 2em; height: 1em; border-radius: var(--plui-radius-full); }
.plui-form-switch .plui-form-check-input:checked { background-color: var(--plui-color-black); }
.plui-form-switch .plui-form-check-input:checked::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 0.7em;
  height: 0.7em;
  background-color: var(--plui-color-white);
  border-radius: var(--plui-radius-full);
  transition: transform var(--plui-duration-150) var(--plui-ease-in-out);
}
.plui-form-switch .plui-form-check-input:checked::before { transform: translateX(1em); }

/* 表单布局：栅格内表单 */
.plui-form-row { display: flex; flex-wrap: wrap; gap: var(--plui-space-4); }
.plui-form-row > * { flex: 1 1 0; min-width: 0; }

/* 输入组扩展：前置/后置文本、按钮、检查框、校验位置 */
.plui-input-group > .plui-form-control { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }
.plui-input-group > .plui-btn { position: relative; z-index: 2; }
.plui-input-group-text { display: flex; align-items: center; padding: var(--plui-space-2) var(--plui-space-3); color: var(--plui-color-text-muted); background-color: var(--plui-color-bg-soft); border: 1px solid var(--plui-color-border); }
.plui-input-group > :not(:first-child) { margin-left: -1px; }
.plui-input-group-check { position: absolute; right: 0; bottom: 0; z-index: 3; height: 100%; padding: 0 0.75rem; background-color: transparent; border: 0; }
.plui-input-group-has-validation { position: relative; }
.plui-input-group-has-validation .plui-form-control { z-index: 3; }
.plui-input-group-has-validation .plui-form-control.is-invalid ~ .plui-invalid-feedback { display: block; }

/* 选择框尺寸 */
.plui-form-select-sm { padding: var(--plui-space-1) var(--plui-space-2); font-size: var(--plui-font-size-sm); }
.plui-form-select-lg { padding: var(--plui-space-3) var(--plui-space-4); font-size: var(--plui-font-size-lg); }

/* 浮动标签 */
.plui-form-floating { position: relative; }
.plui-form-floating > .plui-form-control { height: calc(3.5rem + 2px); padding: var(--plui-space-4) var(--plui-space-3); line-height: 1.2; }
.plui-form-floating > .plui-form-control:focus,
.plui-form-floating > .plui-form-control:not(:placeholder-shown) { padding-top: var(--plui-space-5); padding-bottom: var(--plui-space-1); }
.plui-form-floating > label { position: absolute; top: 0; left: var(--plui-space-3); height: 100%; padding: var(--plui-space-4) var(--plui-space-3); overflow: hidden; color: var(--plui-color-text-muted); text-align: start; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; transform-origin: 0 0; transition: transform 0.2s ease-out; }
.plui-form-floating > label::after { position: absolute; top: 100%; left: 0; right: 0; height: 100%; background-color: var(--plui-color-bg); content: ""; }
.plui-form-floating > .plui-form-control:focus ~ label,
.plui-form-floating > .plui-form-control:not(:placeholder-shown) ~ label { transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); }
.plui-form-floating > .plui-form-control::placeholder { color: transparent; }
.plui-form-floating > .plui-form-control:focus ~ label::after,
.plui-form-floating > .plui-form-control:not(:placeholder-shown) ~ label::after { background-color: transparent; }
.plui-form-floating > .plui-form-select ~ label { transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); }

/* --- src/css/components/icon.css --- */
/* 组件层 · 图标：内联 SVG 与几何字符的尺寸与对齐工具
 *
 * 不引入图标字体与图片，只提供尺寸、描边与动画工具类；
 * 几何字符（▸ ▾ ■ □ ▣）可直接放进正文。
 */
.plui-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  fill: currentColor;
  stroke: currentColor;
}
.plui-icon-sm { width: 0.875em; height: 0.875em; }
.plui-icon-lg { width: 1.5em; height: 1.5em; }
.plui-icon-xl { width: 2em; height: 2em; }
.plui-icon-stroke-1 { stroke-width: 1; }
.plui-icon-stroke-2 { stroke-width: 2; }
.plui-icon-fill-none { fill: none; }
.plui-icon-spin { animation: plui-spin 1s linear infinite; }
.plui-icon-pulse { animation: plui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

/* --- src/css/components/list-group.css --- */
/* 组件层 · 列表组：一组同级条目 */
.plui-list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border: 1px solid var(--plui-color-border);
  border-radius: var(--plui-radius-none);
}

.plui-list-group-item {
  position: relative;
  display: block;
  padding: var(--plui-space-3) var(--plui-space-4);
  color: var(--plui-color-text);
  text-decoration: none;
  background-color: var(--plui-color-white);
  border: 0;
  border-bottom: 1px solid var(--plui-color-border-muted);
}
.plui-list-group-item:last-child { border-bottom: 0; }
.plui-list-group-item:hover { background-color: var(--plui-color-bg-soft); }
.plui-list-group-item:focus-visible { outline: var(--plui-focus-outline); outline-offset: -2px; }
.plui-list-group-item.plui-active { color: var(--plui-color-white); background-color: var(--plui-color-black); }
.plui-list-group-item.plui-disabled { color: var(--plui-color-text-faint); pointer-events: none; }
.plui-list-group-item-action { width: 100%; text-align: inherit; cursor: pointer; background-color: transparent; }
.plui-list-group-flush { border: 0; }
.plui-list-group-flush .plui-list-group-item { border-right: 0; border-left: 0; border-radius: 0; }
.plui-list-group-numbered { list-style-type: decimal; }
.plui-list-group-horizontal { flex-direction: row; }
.plui-list-group-horizontal > .plui-list-group-item { border-right: 1px solid var(--plui-color-border-muted); border-bottom: 0; }
.plui-list-group-horizontal > .plui-list-group-item:last-child { border-right: 0; }

/* --- src/css/components/modal.css --- */
/* 组件层 · 模态框：遮罩 + 对话框，开关依赖 src/plui.js */
.plui-modal {
  position: fixed;
  inset: 0;
  z-index: var(--plui-z-modal);
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--plui-space-3);
  overflow-y: auto;
}

.plui-modal.plui-show,
.plui-modal.show {
  display: flex;
}

.plui-modal-dialog {
  position: relative;
  width: 100%;
  max-width: 32rem;
  margin: auto;
}

.plui-modal-dialog-lg {
  max-width: 48rem;
}

.plui-modal-content {
  display: flex;
  flex-direction: column;
  background-color: var(--plui-color-white);
  border: var(--plui-border-width) var(--plui-border-style) var(--plui-color-black);
}

.plui-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--plui-space-3);
  padding: 0.75rem 1rem;
  border-bottom: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
}

.plui-modal-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
}

.plui-modal-body {
  flex: 1 1 auto;
  padding: 1rem;
}

.plui-modal-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--plui-space-2);
  padding: 0.75rem 1rem;
  border-top: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
}

.plui-modal-close {
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  font-size: 1.125rem;
  line-height: 1;
  color: var(--plui-color-text);
  background-color: transparent;
  border: 0;
  cursor: pointer;
}

.plui-modal-close:hover {
  background-color: var(--plui-color-black);
  color: var(--plui-color-text-inverse);
}

.plui-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--plui-z-backdrop);
  background-color: rgba(0, 0, 0, 0.5);
}

.plui-backdrop.plui-show,
.plui-backdrop.show {
  display: block;
}

/* 尺寸 */
.plui-modal-dialog-sm { max-width: 24rem; }
.plui-modal-dialog-lg { max-width: 48rem; }
.plui-modal-dialog-xl { max-width: 64rem; }
.plui-modal-dialog-centered { display: flex; align-items: center; min-height: calc(100% - var(--plui-space-8)); }
.plui-modal-dialog-scrollable { max-height: calc(100vh - var(--plui-space-8)); }
.plui-modal-dialog-scrollable .plui-modal-body { overflow-y: auto; }

/* 全屏 */
@media (max-width: 575.98px) {
  .plui-modal-fullscreen-sm { width: 100%; max-width: 100%; height: 100%; margin: 0; }
}
@media (max-width: 767.98px) {
  .plui-modal-fullscreen { width: 100%; max-width: 100%; height: 100%; margin: 0; }
  .plui-modal-fullscreen .plui-modal-content { height: 100%; border: 0; }
}
@media (max-width: 991.98px) {
  .plui-modal-fullscreen-md { width: 100%; max-width: 100%; height: 100%; margin: 0; }
}
@media (max-width: 1199.98px) {
  .plui-modal-fullscreen-lg { width: 100%; max-width: 100%; height: 100%; margin: 0; }
}
@media (max-width: 1399.98px) {
  .plui-modal-fullscreen-xl { width: 100%; max-width: 100%; height: 100%; margin: 0; }
}

/* --- src/css/components/offcanvas.css --- */
/* 组件层 · 离屏面板（Offcanvas）：从四边滑出的抽屉，带遮罩与滚动条锁定 */
.plui-offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--plui-z-offcanvas);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  visibility: hidden;
  background-color: var(--plui-color-bg);
  color: var(--plui-color-text);
  border: 1px solid var(--plui-color-border);
  transition: transform 0.3s ease-in-out;
}
.plui-offcanvas.showing,
.plui-offcanvas.plui-show:not(.hiding),
.plui-offcanvas.show:not(.hiding) { transform: none; }
.plui-offcanvas.showing,
.plui-offcanvas.hiding,
.plui-offcanvas.plui-show,
.plui-offcanvas.show { visibility: visible; }

/* 四种位置 */
.plui-offcanvas-start { top: 0; left: 0; width: 400px; transform: translateX(-100%); }
.plui-offcanvas-end { top: 0; right: 0; width: 400px; transform: translateX(100%); }
.plui-offcanvas-top { top: 0; left: 0; right: 0; height: 30vh; max-height: 100%; transform: translateY(-100%); }
.plui-offcanvas-bottom { left: 0; right: 0; bottom: 0; height: 30vh; max-height: 100%; transform: translateY(100%); }

.plui-offcanvas-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--plui-z-offcanvas-backdrop);
  background-color: var(--plui-color-backdrop);
}
.plui-offcanvas-backdrop.plui-show,
.plui-offcanvas-backdrop.show { opacity: 1; }

/* 头部 / 主体 / 底部 */
.plui-offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--plui-space-4);
  border-bottom: 1px solid var(--plui-color-border);
}
.plui-offcanvas-title { margin: 0; font-size: var(--plui-font-size-lg); line-height: var(--plui-line-height-lg); }
.plui-offcanvas-body { flex: 1 1 auto; padding: var(--plui-space-4); overflow-y: auto; }
.plui-offcanvas-footer { display: flex; gap: var(--plui-space-2); padding: var(--plui-space-4); border-top: 1px solid var(--plui-color-border); }
.plui-offcanvas-close {
  padding: 0;
  font-size: var(--plui-font-size-xl);
  line-height: 1;
  color: var(--plui-color-text);
  background: transparent;
  border: 0;
  cursor: pointer;
}
.plui-offcanvas-close:hover { text-decoration: underline; }

/* 滚动条锁定：JS 给 body 加这两个类 */
.plui-scroll-locked { overflow: hidden; }
.plui-scroll-locked-body { padding-right: 0 !important; }

/* --- src/css/components/nav.css --- */
/* 组件层 · 导航：基础导航与导航栏 */
.plui-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--plui-space-4);
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.plui-nav-item { display: flex; flex-direction: column; }
.plui-nav-link {
  display: block;
  padding: var(--plui-space-2) 0;
  color: var(--plui-color-text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.plui-nav-link:hover { color: var(--plui-color-text); border-bottom-color: var(--plui-color-border); }
.plui-nav-link:focus-visible { outline: var(--plui-focus-outline); outline-offset: 2px; }
.plui-nav-link.disabled { color: var(--plui-color-text-faint); pointer-events: none; }
.plui-nav-link.plui-active { border-bottom-color: var(--plui-color-black); font-weight: var(--plui-font-weight-semibold); }

/* 导航栏 */
.plui-navbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--plui-space-3);
  padding: var(--plui-space-3) var(--plui-space-4);
  background-color: var(--plui-color-bg-soft);
  border-bottom: 1px solid var(--plui-color-border);
}
.plui-navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--plui-space-2);
  font-size: var(--plui-font-size-lg);
  font-weight: var(--plui-font-weight-semibold);
  color: var(--plui-color-text);
  text-decoration: none;
}
.plui-navbar-nav { display: flex; flex-direction: column; gap: var(--plui-space-2); list-style: none; }
.plui-navbar-nav .plui-nav-link { padding: var(--plui-space-1) 0; }
.plui-navbar-text { color: var(--plui-color-text-muted); }
.plui-navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.plui-navbar-toggler {
  display: none;
  padding: var(--plui-space-1) var(--plui-space-2);
  font-size: var(--plui-font-size-lg);
  line-height: 1;
  color: var(--plui-color-text);
  cursor: pointer;
  background-color: transparent;
  border: 1px solid var(--plui-color-border);
}
.plui-navbar-toggler-icon {
  display: inline-block;
  width: 1.25em;
  height: 1em;
  vertical-align: middle;
  background-image: linear-gradient(to bottom, currentColor 0 2px, transparent 2px 7px, currentColor 7px 9px, transparent 9px 14px, currentColor 14px 16px, transparent 16px);
}

/* 默认（不加 plui-navbar-expand-* ）导航始终展开，直接排成一行 */
.plui-navbar-collapse { display: flex; flex-basis: 100%; flex-grow: 1; align-items: center; }
.plui-navbar > .plui-navbar-collapse > .plui-navbar-nav { flex-direction: row; gap: var(--plui-space-4); }

/* 折叠状态由 plui.js 控制：.show 决定是否展开 */
.plui-navbar-expand .plui-navbar-collapse,
.plui-navbar-expand-sm .plui-navbar-collapse,
.plui-navbar-expand-md .plui-navbar-collapse,
.plui-navbar-expand-lg .plui-navbar-collapse,
.plui-navbar-expand-xl .plui-navbar-collapse,
.plui-navbar-expand-xxl .plui-navbar-collapse { display: none; }
.plui-navbar-collapse.show { display: flex; flex-direction: column; gap: var(--plui-space-2); }

/* 一律折叠（不分断点） */
@media (max-width: 1399.98px) {
  .plui-navbar-expand .plui-navbar-collapse { display: none; }
  .plui-navbar-expand .plui-navbar-collapse.show { display: flex; }
  .plui-navbar-expand .plui-navbar-toggler { display: inline-block; }
  .plui-navbar-expand .plui-navbar-nav { flex-direction: column; gap: var(--plui-space-2); }
}
@media (max-width: 575.98px) {
  .plui-navbar-expand-sm .plui-navbar-collapse { display: none; }
  .plui-navbar-expand-sm .plui-navbar-collapse.show { display: flex; }
  .plui-navbar-expand-sm .plui-navbar-toggler { display: inline-block; }
  .plui-navbar-expand-sm .plui-navbar-nav { flex-direction: column; gap: var(--plui-space-2); }
}
@media (max-width: 767.98px) {
  .plui-navbar-expand-md .plui-navbar-collapse { display: none; }
  .plui-navbar-expand-md .plui-navbar-collapse.show { display: flex; }
  .plui-navbar-expand-md .plui-navbar-toggler { display: inline-block; }
  .plui-navbar-expand-md .plui-navbar-nav { flex-direction: column; gap: var(--plui-space-2); }
}
@media (max-width: 991.98px) {
  .plui-navbar-expand-lg .plui-navbar-collapse { display: none; }
  .plui-navbar-expand-lg .plui-navbar-collapse.show { display: flex; }
  .plui-navbar-expand-lg .plui-navbar-toggler { display: inline-block; }
  .plui-navbar-expand-lg .plui-navbar-nav { flex-direction: column; gap: var(--plui-space-2); }
}
@media (max-width: 1199.98px) {
  .plui-navbar-expand-xl .plui-navbar-collapse { display: none; }
  .plui-navbar-expand-xl .plui-navbar-collapse.show { display: flex; }
  .plui-navbar-expand-xl .plui-navbar-toggler { display: inline-block; }
  .plui-navbar-expand-xl .plui-navbar-nav { flex-direction: column; gap: var(--plui-space-2); }
}
@media (max-width: 1399.98px) {
  .plui-navbar-expand-xxl .plui-navbar-collapse { display: none; }
  .plui-navbar-expand-xxl .plui-navbar-collapse.show { display: flex; }
  .plui-navbar-expand-xxl .plui-navbar-toggler { display: inline-block; }
  .plui-navbar-expand-xxl .plui-navbar-nav { flex-direction: column; gap: var(--plui-space-2); }
}
@media (min-width: 576px) {
  .plui-navbar-expand-sm { flex-wrap: nowrap; }
  .plui-navbar-expand-sm > .plui-navbar-collapse { display: flex !important; flex-basis: auto; flex-direction: row; gap: var(--plui-space-4); }
  .plui-navbar-expand-sm > .plui-navbar-toggler { display: none; }
}
@media (min-width: 768px) {
  .plui-navbar-expand-md { flex-wrap: nowrap; }
  .plui-navbar-expand-md > .plui-navbar-collapse { display: flex !important; flex-basis: auto; flex-direction: row; gap: var(--plui-space-4); }
  .plui-navbar-expand-md > .plui-navbar-toggler { display: none; }
}
@media (min-width: 992px) {
  .plui-navbar-expand-lg { flex-wrap: nowrap; }
  .plui-navbar-expand-lg > .plui-navbar-collapse { display: flex !important; flex-basis: auto; flex-direction: row; gap: var(--plui-space-4); }
  .plui-navbar-expand-lg > .plui-navbar-toggler { display: none; }
}
@media (min-width: 1200px) {
  .plui-navbar-expand-xl { flex-wrap: nowrap; }
  .plui-navbar-expand-xl > .plui-navbar-collapse { display: flex !important; flex-basis: auto; flex-direction: row; gap: var(--plui-space-4); }
  .plui-navbar-expand-xl > .plui-navbar-toggler { display: none; }
}
@media (min-width: 1400px) {
  .plui-navbar-expand-xxl { flex-wrap: nowrap; }
  .plui-navbar-expand-xxl > .plui-navbar-collapse { display: flex !important; flex-basis: auto; flex-direction: row; gap: var(--plui-space-4); }
  .plui-navbar-expand-xxl > .plui-navbar-toggler { display: none; }
}

/* 导航变体：下划线式、填充式 */
.plui-nav-underline .plui-nav-link { border-bottom: 2px solid transparent; }
.plui-nav-underline .plui-nav-link:hover { border-bottom-color: var(--plui-color-border-muted); }
.plui-nav-underline .plui-nav-link.active,
.plui-nav-underline .plui-nav-link[aria-selected="true"] { color: var(--plui-color-text-strong); border-bottom-color: var(--plui-color-border); }
.plui-nav-fill .plui-nav-item { flex: 1 1 auto; text-align: center; }
.plui-nav-fill .plui-nav-link { border-radius: 0; }

/* --- src/css/components/pagination.css --- */
/* 组件层 · 分页：页码列表、首末页、禁用态、尺寸 */
.plui-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: var(--plui-space-1);
  padding: 0;
  margin: 0;
  list-style: none;
}

.plui-page-item { display: flex; }
.plui-page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  padding: var(--plui-space-1) var(--plui-space-2);
  font-size: var(--plui-font-size-base);
  line-height: 1.5;
  color: var(--plui-color-text);
  text-decoration: none;
  background-color: var(--plui-color-white);
  border: 1px solid var(--plui-color-border);
}
.plui-page-link:hover { background-color: var(--plui-color-bg-soft); }
.plui-page-link:focus-visible { outline: var(--plui-focus-outline); outline-offset: -2px; }
.plui-page-item.active .plui-page-link { color: var(--plui-color-white); background-color: var(--plui-color-black); border-color: var(--plui-color-black); }
.plui-page-item.disabled .plui-page-link { color: var(--plui-color-text-faint); pointer-events: none; background-color: var(--plui-color-white); }
.plui-page-link-sm { min-width: 1.75rem; padding: var(--plui-space-1); font-size: var(--plui-font-size-sm); }
.plui-page-link-lg { min-width: 2.75rem; padding: var(--plui-space-2) var(--plui-space-3); font-size: var(--plui-font-size-lg); }

/* --- src/css/components/popover.css --- */
/* 组件层 · 弹出框：带标题与正文的浮层 */
.plui-popover {
  position: absolute;
  z-index: var(--plui-z-popover);
  display: block;
  max-width: 20rem;
  font-family: inherit;
  font-size: var(--plui-font-size-sm);
  line-height: 1.5;
  color: var(--plui-color-text);
  text-align: left;
  background-color: var(--plui-color-white);
  border: 1px solid var(--plui-color-border);
  border-radius: var(--plui-radius-none);
  opacity: 0;
  transition: opacity var(--plui-duration-150) var(--plui-ease-in-out);
}
.plui-popover-header {
  padding: var(--plui-space-2) var(--plui-space-3);
  font-weight: var(--plui-font-weight-semibold);
  background-color: var(--plui-color-bg-soft);
  border-bottom: 1px solid var(--plui-color-border);
}
.plui-popover-body { padding: var(--plui-space-3); }
.plui-popover-body > :last-child { margin-bottom: 0; }
.plui-popover-arrow { position: absolute; width: 0; height: 0; border: 6px solid transparent; }
.plui-popover-top { bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 6px; }
.plui-popover-top .plui-popover-arrow { top: -12px; left: 50%; margin-left: -6px; border-top-color: var(--plui-color-border); }
.plui-popover-bottom { top: 100%; left: 50%; transform: translateX(-50%); margin-top: 6px; }
.plui-popover-bottom .plui-popover-arrow { bottom: -12px; left: 50%; margin-left: -6px; border-bottom-color: var(--plui-color-border); }
.plui-popover-start { right: 100%; top: 50%; transform: translateY(-50%); margin-right: 6px; }
.plui-popover-start .plui-popover-arrow { right: -12px; top: 50%; margin-top: -6px; border-left-color: var(--plui-color-border); }
.plui-popover-end { left: 100%; top: 50%; transform: translateY(-50%); margin-left: 6px; }
.plui-popover-end .plui-popover-arrow { left: -12px; top: 50%; margin-top: -6px; border-right-color: var(--plui-color-border); }

/* 与 plui.js 配合：JS 插入后加 .plui-show 显示 */
.plui-popover.plui-show { opacity: 1; }

/* --- src/css/components/placeholder.css --- */
/* 组件层 · 占位块（Placeholder）：骨架屏 */
.plui-placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.plui-placeholder-xs { min-height: 0.6em; }
.plui-placeholder-sm { min-height: 0.8em; }
.plui-placeholder-lg { min-height: 1.2em; }
.plui-placeholder-glow .plui-placeholder { animation: plui-placeholder-glow 2s ease-in-out infinite; }
.plui-placeholder-wave { mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.2) 75%, #000 95%);
  mask-size: 200% 100%;
  animation: plui-placeholder-wave 2s linear infinite; }
@keyframes plui-placeholder-glow { 50% { opacity: 0.2; } }
@keyframes plui-placeholder-wave { 100% { mask-position: -200% 0%; } }

/* --- src/css/components/progress.css --- */
/* 组件层 · 进度条：底槽与进度条 */
.plui-progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: var(--plui-font-size-xs);
  background-color: var(--plui-color-gray-100);
  border: 1px solid var(--plui-color-border-muted);
  border-radius: var(--plui-radius-none);
}

.plui-progress-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  color: var(--plui-color-white);
  text-align: center;
  white-space: nowrap;
  background-color: var(--plui-color-black);
  border-right: 1px solid var(--plui-color-white);
  transition: width var(--plui-duration-300) var(--plui-ease-in-out);
}
.plui-progress-bar-striped { background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%); background-size: 1rem 1rem; }
.plui-progress-bar-animated { animation: plui-progress-stripes 1s linear infinite; }
.plui-progress-sm { height: 0.5rem; }
.plui-progress-lg { height: 1.5rem; }
.plui-progress-bar-0 { width: 0; }
.plui-progress-bar-25 { width: 25%; }
.plui-progress-bar-50 { width: 50%; }
.plui-progress-bar-75 { width: 75%; }
.plui-progress-bar-100 { width: 100%; }
.plui-progress-bar-success { background-color: var(--plui-color-green-600); }
.plui-progress-bar-danger { background-color: var(--plui-color-red-600); }
.plui-progress-bar-warning { background-color: var(--plui-color-yellow-600); }
.plui-progress-bar-info { background-color: var(--plui-color-blue-600); }

@keyframes plui-progress-stripes {
  from { background-position: 1rem 0; }
  to { background-position: 0 0; }
}

/* --- src/css/components/scrollspy.css --- */
/* 组件层 · 滚动监听（ScrollSpy）：滚动到区块时高亮对应导航项 */
.plui-scrollspy-nav { position: relative; }
.plui-scrollspy-section { padding: var(--plui-space-6) 0; border-bottom: 1px solid var(--plui-color-border-muted); scroll-margin-top: var(--plui-space-6); }
.plui-scrollspy-link { display: block; padding: var(--plui-space-2) var(--plui-space-3); color: var(--plui-color-text-muted); text-decoration: none; border-left: 2px solid transparent; }
.plui-scrollspy-link:hover { color: var(--plui-color-text); }
.plui-scrollspy-link.active { color: var(--plui-color-text-strong); border-left-color: var(--plui-color-border); font-weight: var(--plui-font-weight-semibold); }
.plui-scrollspy-link:focus-visible { outline: var(--plui-focus-outline); outline-offset: 1px; }

/* --- src/css/components/spinner.css --- */
/* 组件层 · 加载与状态：转圈、骨架屏、加载文案 */
.plui-spinner {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  vertical-align: -0.25em;
  border: 2px solid var(--plui-color-gray-300);
  border-top-color: var(--plui-color-black);
  border-radius: var(--plui-radius-full);
  animation: plui-spin 0.75s linear infinite;
}
.plui-spinner-sm { width: 1rem; height: 1rem; border-width: 1px; }
.plui-spinner-lg { width: 2.5rem; height: 2.5rem; border-width: 3px; }
.plui-spinner-border { border-color: currentColor; border-right-color: transparent; border-bottom-color: transparent; }

.plui-skeleton {
  position: relative;
  overflow: hidden;
  background-color: var(--plui-color-gray-100);
  border: 1px solid var(--plui-color-border-muted);
  border-radius: var(--plui-radius-none);
}
.plui-skeleton::after {
  position: absolute;
  inset: 0;
  content: "";
  background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.75), transparent);
  transform: translateX(-100%);
  animation: plui-skeleton 1.4s ease-in-out infinite;
}
.plui-skeleton-text { height: 0.85em; margin-bottom: 0.5em; }
.plui-skeleton-block { height: 6rem; }

.plui-loading-text { display: inline-flex; align-items: center; gap: var(--plui-space-2); color: var(--plui-color-text-muted); }

/* 生长型加载指示 */
.plui-spinner-grow { display: inline-block; width: 1rem; height: 1rem; vertical-align: -0.125em; background-color: currentcolor; border-radius: 50%; opacity: 0; animation: plui-spinner-grow 0.75s ease-in-out infinite; }
.plui-spinner-grow-sm { width: 0.75rem; height: 0.75rem; }
.plui-spinner-grow-lg { width: 1.5rem; height: 1.5rem; }
@keyframes plui-spinner-grow { 0% { transform: scale(0); opacity: 0; } 50% { opacity: 1; transform: none; } 100% { transform: scale(0); opacity: 0; } }

/* --- src/css/components/stack.css --- */
/* 组件层 · 堆叠：垂直堆叠的子元素，可指定间距 */
.plui-stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.plui-stack > * { position: relative; }
.plui-stack > * + * { margin-top: var(--plui-stack-gap, var(--plui-space-4)); }
.plui-stack-1 > * + * { margin-top: var(--plui-space-1); }
.plui-stack-2 > * + * { margin-top: var(--plui-space-2); }
.plui-stack-3 > * + * { margin-top: var(--plui-space-3); }
.plui-stack-4 > * + * { margin-top: var(--plui-space-4); }
.plui-stack-5 > * + * { margin-top: var(--plui-space-5); }
.plui-stack-6 > * + * { margin-top: var(--plui-space-6); }

/* --- src/css/components/table.css --- */
/* 组件层 · 表格：基础、尺寸、边框、悬停、斑马纹、响应式包裹、激活态 */
.plui-table {
  width: 100%;
  margin-bottom: var(--plui-space-4);
  color: var(--plui-color-text);
  border-collapse: collapse;
  border-spacing: 0;
}

.plui-table > :not(caption) > * > * { padding: var(--plui-space-2) var(--plui-space-3); border-bottom: 1px solid var(--plui-color-border-muted); }
.plui-table > thead { border-bottom: 2px solid var(--plui-color-border); }
.plui-table > thead th { font-weight: var(--plui-font-weight-semibold); text-align: left; }
.plui-table > tbody > tr:last-child > * { border-bottom: 1px solid var(--plui-color-border); }
.plui-table caption { padding: var(--plui-space-2) var(--plui-space-3); color: var(--plui-color-text-muted); text-align: left; caption-side: bottom; }

.plui-table-sm > :not(caption) > * > * { padding: var(--plui-space-1) var(--plui-space-2); }
.plui-table-lg > :not(caption) > * > * { padding: var(--plui-space-3) var(--plui-space-4); }
.plui-table-bordered > :not(caption) > * > * { border: 1px solid var(--plui-color-border-muted); }
.plui-table-borderless > :not(caption) > * > * { border-bottom: 0; }
.plui-table-striped > tbody > tr:nth-of-type(odd) > * { background-color: var(--plui-color-bg-soft); }
.plui-table-hover > tbody > tr:hover > * { background-color: var(--plui-color-bg-soft); }
.plui-table-active > * > * { background-color: var(--plui-color-gray-200); }
.plui-table-responsive { display: block; width: 100%; overflow-x: auto; }

/* 表说明 */
.plui-table-caption { caption-side: bottom; padding: var(--plui-space-2) var(--plui-space-3); color: var(--plui-color-text-muted); font-size: var(--plui-font-size-sm); text-align: left; }

/* --- src/css/components/tabs.css --- */
/* 组件层 · 标签页：.plui-nav-tabs 导航条 + .plui-tab-content 面板容器，切换依赖 src/plui.js */
.plui-nav-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: var(--plui-border-width) var(--plui-border-style) var(--plui-color-border);
}

.plui-nav-tabs-link {
  display: block;
  padding: 0.5rem 1rem;
  color: var(--plui-color-text);
  text-decoration: none;
  background-color: transparent;
  border: var(--plui-border-width) var(--plui-border-style) transparent;
  border-bottom: 0;
  margin-bottom: -1px;
  cursor: pointer;
}

.plui-nav-tabs-link:hover {
  background-color: var(--plui-color-bg-soft);
}

.plui-nav-tabs-link.active {
  background-color: var(--plui-color-white);
  border-color: var(--plui-color-black);
  font-weight: 600;
}

.plui-nav-tabs-link:disabled {
  color: var(--plui-color-text-faint);
  cursor: not-allowed;
  pointer-events: none;
}

.plui-tab-content {
  padding-top: var(--plui-space-3);
}

.plui-tab-pane {
  display: none;
}

.plui-tab-pane.active {
  display: block;
}

/* 胶囊式标签页 */
.plui-nav-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--plui-space-1);
  border-bottom: 0;
}
.plui-nav-pills .plui-nav-tabs-link {
  margin-bottom: 0;
  border: 1px solid var(--plui-color-border);
  background-color: var(--plui-color-white);
}
.plui-nav-pills .plui-nav-tabs-link.active {
  color: var(--plui-color-white);
  background-color: var(--plui-color-black);
  border-color: var(--plui-color-black);
}

/* 竖排标签页 */
.plui-nav-vertical { flex-direction: column; border-bottom: 0; border-right: 1px solid var(--plui-color-border); }
.plui-nav-vertical .plui-nav-tabs-link { border-bottom: 0; border-right: 1px solid transparent; margin-bottom: 0; }
.plui-nav-vertical .plui-nav-tabs-link.active { color: var(--plui-color-text); background-color: var(--plui-color-white); border-color: var(--plui-color-border); }

/* --- src/css/components/toast.css --- */
/* 组件层 · 吐司 / 浮层提示：右下角堆叠的消息条 */
.plui-toast-container {
  position: fixed;
  right: var(--plui-space-4);
  bottom: var(--plui-space-4);
  z-index: var(--plui-z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--plui-space-2);
  width: 100%;
  max-width: 22rem;
  pointer-events: none;
}

.plui-toast {
  display: flex;
  align-items: stretch;
  width: 100%;
  color: var(--plui-color-text);
  background-color: var(--plui-color-white);
  border: 1px solid var(--plui-color-border);
  border-radius: var(--plui-radius-none);
  pointer-events: auto;
}
.plui-toast.plui-hide { display: none; }
.plui-toast-header {
  display: flex;
  align-items: center;
  gap: var(--plui-space-2);
  padding: var(--plui-space-2) var(--plui-space-3);
  font-weight: var(--plui-font-weight-semibold);
  background-color: var(--plui-color-bg-soft);
  border-bottom: 1px solid var(--plui-color-border);
}
.plui-toast-body { flex: 1 1 auto; padding: var(--plui-space-3); }
.plui-toast-body > :last-child { margin-bottom: 0; }
.plui-toast-close {
  margin-left: auto;
  padding: 0 var(--plui-space-2);
  font-size: var(--plui-font-size-lg);
  line-height: 1;
  color: inherit;
  cursor: pointer;
  background: transparent;
  border: 0;
}
.plui-toast-close:focus-visible { outline: var(--plui-focus-outline); outline-offset: -2px; }
.plui-toast-autohide { animation: plui-toast-in var(--plui-duration-200) var(--plui-ease-out); }

@keyframes plui-toast-in {
  from { opacity: 0; transform: translateY(0.5rem); }
  to { opacity: 1; transform: translateY(0); }
}

/* --- src/css/components/tooltip.css --- */
/* 组件层 · 工具提示：悬停或聚焦时的小浮层
 *
 * 纯 CSS 版本：给元素加 data-plui-tip="提示文字" 即可；
 * 需要支持点击、延迟与动态内容时用 plui.js 生成的 .plui-tooltip。
 */
.plui-tooltip {
  position: absolute;
  z-index: var(--plui-z-tooltip);
  padding: var(--plui-space-1) var(--plui-space-2);
  font-size: var(--plui-font-size-xs);
  line-height: 1.4;
  color: var(--plui-color-white);
  white-space: nowrap;
  background-color: var(--plui-color-black);
  border-radius: var(--plui-radius-none);
  opacity: 0;
  transition: opacity var(--plui-duration-150) var(--plui-ease-in-out);
}

.plui-tooltip-arrow { position: absolute; width: 0; height: 0; border: 4px solid transparent; }
.plui-tooltip-top { bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 4px; }
.plui-tooltip-top .plui-tooltip-arrow { top: -8px; left: 50%; margin-left: -4px; border-top-color: var(--plui-color-black); }
.plui-tooltip-bottom { top: 100%; left: 50%; transform: translateX(-50%); margin-top: 4px; }
.plui-tooltip-bottom .plui-tooltip-arrow { bottom: -8px; left: 50%; margin-left: -4px; border-bottom-color: var(--plui-color-black); }
.plui-tooltip-start { right: 100%; top: 50%; transform: translateY(-50%); margin-right: 4px; }
.plui-tooltip-start .plui-tooltip-arrow { right: -8px; top: 50%; margin-top: -4px; border-left-color: var(--plui-color-black); }
.plui-tooltip-end { left: 100%; top: 50%; transform: translateY(-50%); margin-left: 4px; }
.plui-tooltip-end .plui-tooltip-arrow { left: -8px; top: 50%; margin-top: -4px; border-right-color: var(--plui-color-black); }

/* 纯 CSS 触发器 */
[data-plui-tip] { position: relative; }
[data-plui-tip]::after {
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: var(--plui-z-tooltip);
  padding: var(--plui-space-1) var(--plui-space-2);
  margin-bottom: 4px;
  font-size: var(--plui-font-size-xs);
  line-height: 1.4;
  color: var(--plui-color-white);
  white-space: nowrap;
  content: attr(data-plui-tip);
  background-color: var(--plui-color-black);
  transform: translateX(-50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--plui-duration-150) var(--plui-ease-in-out);
}
[data-plui-tip]:hover::after,
[data-plui-tip]:focus-visible::after { opacity: 1; }

/* 与 plui.js 配合：JS 插入后加 .plui-show 显示 */
.plui-tooltip.plui-show { opacity: 1; }

/* --- src/css/components/typography-elements.css --- */
/* 组件层 · 图文元素：figure / blockquote / code / kbd / mark / abbr / initialism / 链接
 * 列表样式（.plui-list-unstyled / .plui-list-inline）与 .plui-small 定义在 base 层，此处不重复 */
.plui-figure { display: inline-block; }
.plui-figure-img { display: block; margin-bottom: var(--plui-space-2); max-width: 100%; border: 1px solid var(--plui-color-border); }
.plui-figure-caption { font-size: var(--plui-font-size-sm); color: var(--plui-color-text-muted); }

.plui-blockquote { margin: 0 0 var(--plui-space-4); padding: var(--plui-space-3) var(--plui-space-4); border-left: 4px solid var(--plui-color-border); color: var(--plui-color-text-muted); }
.plui-blockquote > :last-child { margin-bottom: 0; }
.plui-blockquote-footer { margin-top: var(--plui-space-2); font-size: var(--plui-font-size-sm); color: var(--plui-color-text-faint); }
.plui-blockquote-footer::before { content: "— "; }

.plui-code {
  padding: 0.15em 0.35em;
  font-family: var(--plui-font-family-mono);
  font-size: 0.9em;
  color: var(--plui-color-text-strong);
  background-color: var(--plui-color-bg-soft);
  border: 1px solid var(--plui-color-border-muted);
  word-wrap: break-word;
}
.plui-pre {
  display: block;
  padding: var(--plui-space-3);
  overflow: auto;
  color: var(--plui-color-text);
  background-color: var(--plui-color-bg-soft);
  border: 1px solid var(--plui-color-border);
}
.plui-pre .plui-code { padding: 0; background: transparent; border: 0; }

.plui-kbd {
  padding: 0.15em 0.4em;
  font-family: var(--plui-font-family-mono);
  font-size: 0.8em;
  line-height: 1;
  color: var(--plui-color-text-strong);
  background-color: var(--plui-color-bg-soft);
  border: 1px solid var(--plui-color-border);
}
.plui-kbd + .plui-kbd { margin-left: var(--plui-space-1); }

.plui-mark { padding: 0.15em 0.25em; color: var(--plui-color-text-strong); background-color: var(--plui-color-gray-200); }
.plui-mark-strong { color: var(--plui-color-text-inverse); background-color: var(--plui-color-text-strong); }

.plui-abbr { text-decoration: underline dotted; cursor: help; text-decoration-thickness: 1px; }
.plui-initialism { font-size: 0.9em; font-variant: small-caps; }

.plui-link-stretched { position: relative; }
.plui-link-stretched::after { position: absolute; inset: 0; content: ""; }
.plui-link-underline { text-decoration: underline; }
.plui-link-underline-hover:hover { text-decoration: underline; }

/* ============================================================
 * 飞立（plui） · utilities 层
 * ============================================================ */

/* --- src/css/utilities/spacing.css --- */
/* ============================================================
   plui 工具类 · 间距：外边距、内边距、间隙、子元素间距、定位内缩、滚动边距
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   刻度表：build/generators/scales.js
   ============================================================ */

.plui-m-0{margin:0rem;}
.plui-m-px{margin:1px;}
.plui-m-0.5{margin:0.125rem;}
.plui-m-1{margin:0.25rem;}
.plui-m-1.5{margin:0.375rem;}
.plui-m-2{margin:0.5rem;}
.plui-m-2.5{margin:0.625rem;}
.plui-m-3{margin:0.75rem;}
.plui-m-3.5{margin:0.875rem;}
.plui-m-4{margin:1rem;}
.plui-m-5{margin:1.25rem;}
.plui-m-6{margin:1.5rem;}
.plui-m-7{margin:1.75rem;}
.plui-m-8{margin:2rem;}
.plui-m-9{margin:2.25rem;}
.plui-m-10{margin:2.5rem;}
.plui-m-11{margin:2.75rem;}
.plui-m-12{margin:3rem;}
.plui-m-14{margin:3.5rem;}
.plui-m-16{margin:4rem;}
.plui-m-20{margin:5rem;}
.plui-m-24{margin:6rem;}
.plui-m-28{margin:7rem;}
.plui-m-32{margin:8rem;}
.plui-m-36{margin:9rem;}
.plui-m-40{margin:10rem;}
.plui-m-44{margin:11rem;}
.plui-m-48{margin:12rem;}
.plui-m-52{margin:13rem;}
.plui-m-56{margin:14rem;}
.plui-m-60{margin:15rem;}
.plui-m-64{margin:16rem;}
.plui-m-72{margin:18rem;}
.plui-m-80{margin:20rem;}
.plui-m-96{margin:24rem;}
.plui-m--0.5{margin:-0.125rem;}
.plui-m--1{margin:-0.25rem;}
.plui-m--1.5{margin:-0.375rem;}
.plui-m--2{margin:-0.5rem;}
.plui-m--2.5{margin:-0.625rem;}
.plui-m--3{margin:-0.75rem;}
.plui-m--3.5{margin:-0.875rem;}
.plui-m--4{margin:-1rem;}
.plui-m--5{margin:-1.25rem;}
.plui-m--6{margin:-1.5rem;}
.plui-m--7{margin:-1.75rem;}
.plui-m--8{margin:-2rem;}
.plui-m--9{margin:-2.25rem;}
.plui-m--10{margin:-2.5rem;}
.plui-m--11{margin:-2.75rem;}
.plui-m--12{margin:-3rem;}
.plui-m--14{margin:-3.5rem;}
.plui-m--16{margin:-4rem;}
.plui-m--20{margin:-5rem;}
.plui-m--24{margin:-6rem;}
.plui-m--28{margin:-7rem;}
.plui-m--32{margin:-8rem;}
.plui-m--36{margin:-9rem;}
.plui-m--40{margin:-10rem;}
.plui-m--44{margin:-11rem;}
.plui-m--48{margin:-12rem;}
.plui-m--52{margin:-13rem;}
.plui-m--56{margin:-14rem;}
.plui-m--60{margin:-15rem;}
.plui-m--64{margin:-16rem;}
.plui-m--72{margin:-18rem;}
.plui-m--80{margin:-20rem;}
.plui-m--96{margin:-24rem;}
.plui-mt-0{margin-top:0rem;}
.plui-mt-px{margin-top:1px;}
.plui-mt-0.5{margin-top:0.125rem;}
.plui-mt-1{margin-top:0.25rem;}
.plui-mt-1.5{margin-top:0.375rem;}
.plui-mt-2{margin-top:0.5rem;}
.plui-mt-2.5{margin-top:0.625rem;}
.plui-mt-3{margin-top:0.75rem;}
.plui-mt-3.5{margin-top:0.875rem;}
.plui-mt-4{margin-top:1rem;}
.plui-mt-5{margin-top:1.25rem;}
.plui-mt-6{margin-top:1.5rem;}
.plui-mt-7{margin-top:1.75rem;}
.plui-mt-8{margin-top:2rem;}
.plui-mt-9{margin-top:2.25rem;}
.plui-mt-10{margin-top:2.5rem;}
.plui-mt-11{margin-top:2.75rem;}
.plui-mt-12{margin-top:3rem;}
.plui-mt-14{margin-top:3.5rem;}
.plui-mt-16{margin-top:4rem;}
.plui-mt-20{margin-top:5rem;}
.plui-mt-24{margin-top:6rem;}
.plui-mt-28{margin-top:7rem;}
.plui-mt-32{margin-top:8rem;}
.plui-mt-36{margin-top:9rem;}
.plui-mt-40{margin-top:10rem;}
.plui-mt-44{margin-top:11rem;}
.plui-mt-48{margin-top:12rem;}
.plui-mt-52{margin-top:13rem;}
.plui-mt-56{margin-top:14rem;}
.plui-mt-60{margin-top:15rem;}
.plui-mt-64{margin-top:16rem;}
.plui-mt-72{margin-top:18rem;}
.plui-mt-80{margin-top:20rem;}
.plui-mt-96{margin-top:24rem;}
.plui-mt--0.5{margin-top:-0.125rem;}
.plui-mt--1{margin-top:-0.25rem;}
.plui-mt--1.5{margin-top:-0.375rem;}
.plui-mt--2{margin-top:-0.5rem;}
.plui-mt--2.5{margin-top:-0.625rem;}
.plui-mt--3{margin-top:-0.75rem;}
.plui-mt--3.5{margin-top:-0.875rem;}
.plui-mt--4{margin-top:-1rem;}
.plui-mt--5{margin-top:-1.25rem;}
.plui-mt--6{margin-top:-1.5rem;}
.plui-mt--7{margin-top:-1.75rem;}
.plui-mt--8{margin-top:-2rem;}
.plui-mt--9{margin-top:-2.25rem;}
.plui-mt--10{margin-top:-2.5rem;}
.plui-mt--11{margin-top:-2.75rem;}
.plui-mt--12{margin-top:-3rem;}
.plui-mt--14{margin-top:-3.5rem;}
.plui-mt--16{margin-top:-4rem;}
.plui-mt--20{margin-top:-5rem;}
.plui-mt--24{margin-top:-6rem;}
.plui-mt--28{margin-top:-7rem;}
.plui-mt--32{margin-top:-8rem;}
.plui-mt--36{margin-top:-9rem;}
.plui-mt--40{margin-top:-10rem;}
.plui-mt--44{margin-top:-11rem;}
.plui-mt--48{margin-top:-12rem;}
.plui-mt--52{margin-top:-13rem;}
.plui-mt--56{margin-top:-14rem;}
.plui-mt--60{margin-top:-15rem;}
.plui-mt--64{margin-top:-16rem;}
.plui-mt--72{margin-top:-18rem;}
.plui-mt--80{margin-top:-20rem;}
.plui-mt--96{margin-top:-24rem;}
.plui-mr-0{margin-right:0rem;}
.plui-mr-px{margin-right:1px;}
.plui-mr-0.5{margin-right:0.125rem;}
.plui-mr-1{margin-right:0.25rem;}
.plui-mr-1.5{margin-right:0.375rem;}
.plui-mr-2{margin-right:0.5rem;}
.plui-mr-2.5{margin-right:0.625rem;}
.plui-mr-3{margin-right:0.75rem;}
.plui-mr-3.5{margin-right:0.875rem;}
.plui-mr-4{margin-right:1rem;}
.plui-mr-5{margin-right:1.25rem;}
.plui-mr-6{margin-right:1.5rem;}
.plui-mr-7{margin-right:1.75rem;}
.plui-mr-8{margin-right:2rem;}
.plui-mr-9{margin-right:2.25rem;}
.plui-mr-10{margin-right:2.5rem;}
.plui-mr-11{margin-right:2.75rem;}
.plui-mr-12{margin-right:3rem;}
.plui-mr-14{margin-right:3.5rem;}
.plui-mr-16{margin-right:4rem;}
.plui-mr-20{margin-right:5rem;}
.plui-mr-24{margin-right:6rem;}
.plui-mr-28{margin-right:7rem;}
.plui-mr-32{margin-right:8rem;}
.plui-mr-36{margin-right:9rem;}
.plui-mr-40{margin-right:10rem;}
.plui-mr-44{margin-right:11rem;}
.plui-mr-48{margin-right:12rem;}
.plui-mr-52{margin-right:13rem;}
.plui-mr-56{margin-right:14rem;}
.plui-mr-60{margin-right:15rem;}
.plui-mr-64{margin-right:16rem;}
.plui-mr-72{margin-right:18rem;}
.plui-mr-80{margin-right:20rem;}
.plui-mr-96{margin-right:24rem;}
.plui-mr--0.5{margin-right:-0.125rem;}
.plui-mr--1{margin-right:-0.25rem;}
.plui-mr--1.5{margin-right:-0.375rem;}
.plui-mr--2{margin-right:-0.5rem;}
.plui-mr--2.5{margin-right:-0.625rem;}
.plui-mr--3{margin-right:-0.75rem;}
.plui-mr--3.5{margin-right:-0.875rem;}
.plui-mr--4{margin-right:-1rem;}
.plui-mr--5{margin-right:-1.25rem;}
.plui-mr--6{margin-right:-1.5rem;}
.plui-mr--7{margin-right:-1.75rem;}
.plui-mr--8{margin-right:-2rem;}
.plui-mr--9{margin-right:-2.25rem;}
.plui-mr--10{margin-right:-2.5rem;}
.plui-mr--11{margin-right:-2.75rem;}
.plui-mr--12{margin-right:-3rem;}
.plui-mr--14{margin-right:-3.5rem;}
.plui-mr--16{margin-right:-4rem;}
.plui-mr--20{margin-right:-5rem;}
.plui-mr--24{margin-right:-6rem;}
.plui-mr--28{margin-right:-7rem;}
.plui-mr--32{margin-right:-8rem;}
.plui-mr--36{margin-right:-9rem;}
.plui-mr--40{margin-right:-10rem;}
.plui-mr--44{margin-right:-11rem;}
.plui-mr--48{margin-right:-12rem;}
.plui-mr--52{margin-right:-13rem;}
.plui-mr--56{margin-right:-14rem;}
.plui-mr--60{margin-right:-15rem;}
.plui-mr--64{margin-right:-16rem;}
.plui-mr--72{margin-right:-18rem;}
.plui-mr--80{margin-right:-20rem;}
.plui-mr--96{margin-right:-24rem;}
.plui-mb-0{margin-bottom:0rem;}
.plui-mb-px{margin-bottom:1px;}
.plui-mb-0.5{margin-bottom:0.125rem;}
.plui-mb-1{margin-bottom:0.25rem;}
.plui-mb-1.5{margin-bottom:0.375rem;}
.plui-mb-2{margin-bottom:0.5rem;}
.plui-mb-2.5{margin-bottom:0.625rem;}
.plui-mb-3{margin-bottom:0.75rem;}
.plui-mb-3.5{margin-bottom:0.875rem;}
.plui-mb-4{margin-bottom:1rem;}
.plui-mb-5{margin-bottom:1.25rem;}
.plui-mb-6{margin-bottom:1.5rem;}
.plui-mb-7{margin-bottom:1.75rem;}
.plui-mb-8{margin-bottom:2rem;}
.plui-mb-9{margin-bottom:2.25rem;}
.plui-mb-10{margin-bottom:2.5rem;}
.plui-mb-11{margin-bottom:2.75rem;}
.plui-mb-12{margin-bottom:3rem;}
.plui-mb-14{margin-bottom:3.5rem;}
.plui-mb-16{margin-bottom:4rem;}
.plui-mb-20{margin-bottom:5rem;}
.plui-mb-24{margin-bottom:6rem;}
.plui-mb-28{margin-bottom:7rem;}
.plui-mb-32{margin-bottom:8rem;}
.plui-mb-36{margin-bottom:9rem;}
.plui-mb-40{margin-bottom:10rem;}
.plui-mb-44{margin-bottom:11rem;}
.plui-mb-48{margin-bottom:12rem;}
.plui-mb-52{margin-bottom:13rem;}
.plui-mb-56{margin-bottom:14rem;}
.plui-mb-60{margin-bottom:15rem;}
.plui-mb-64{margin-bottom:16rem;}
.plui-mb-72{margin-bottom:18rem;}
.plui-mb-80{margin-bottom:20rem;}
.plui-mb-96{margin-bottom:24rem;}
.plui-mb--0.5{margin-bottom:-0.125rem;}
.plui-mb--1{margin-bottom:-0.25rem;}
.plui-mb--1.5{margin-bottom:-0.375rem;}
.plui-mb--2{margin-bottom:-0.5rem;}
.plui-mb--2.5{margin-bottom:-0.625rem;}
.plui-mb--3{margin-bottom:-0.75rem;}
.plui-mb--3.5{margin-bottom:-0.875rem;}
.plui-mb--4{margin-bottom:-1rem;}
.plui-mb--5{margin-bottom:-1.25rem;}
.plui-mb--6{margin-bottom:-1.5rem;}
.plui-mb--7{margin-bottom:-1.75rem;}
.plui-mb--8{margin-bottom:-2rem;}
.plui-mb--9{margin-bottom:-2.25rem;}
.plui-mb--10{margin-bottom:-2.5rem;}
.plui-mb--11{margin-bottom:-2.75rem;}
.plui-mb--12{margin-bottom:-3rem;}
.plui-mb--14{margin-bottom:-3.5rem;}
.plui-mb--16{margin-bottom:-4rem;}
.plui-mb--20{margin-bottom:-5rem;}
.plui-mb--24{margin-bottom:-6rem;}
.plui-mb--28{margin-bottom:-7rem;}
.plui-mb--32{margin-bottom:-8rem;}
.plui-mb--36{margin-bottom:-9rem;}
.plui-mb--40{margin-bottom:-10rem;}
.plui-mb--44{margin-bottom:-11rem;}
.plui-mb--48{margin-bottom:-12rem;}
.plui-mb--52{margin-bottom:-13rem;}
.plui-mb--56{margin-bottom:-14rem;}
.plui-mb--60{margin-bottom:-15rem;}
.plui-mb--64{margin-bottom:-16rem;}
.plui-mb--72{margin-bottom:-18rem;}
.plui-mb--80{margin-bottom:-20rem;}
.plui-mb--96{margin-bottom:-24rem;}
.plui-ml-0{margin-left:0rem;}
.plui-ml-px{margin-left:1px;}
.plui-ml-0.5{margin-left:0.125rem;}
.plui-ml-1{margin-left:0.25rem;}
.plui-ml-1.5{margin-left:0.375rem;}
.plui-ml-2{margin-left:0.5rem;}
.plui-ml-2.5{margin-left:0.625rem;}
.plui-ml-3{margin-left:0.75rem;}
.plui-ml-3.5{margin-left:0.875rem;}
.plui-ml-4{margin-left:1rem;}
.plui-ml-5{margin-left:1.25rem;}
.plui-ml-6{margin-left:1.5rem;}
.plui-ml-7{margin-left:1.75rem;}
.plui-ml-8{margin-left:2rem;}
.plui-ml-9{margin-left:2.25rem;}
.plui-ml-10{margin-left:2.5rem;}
.plui-ml-11{margin-left:2.75rem;}
.plui-ml-12{margin-left:3rem;}
.plui-ml-14{margin-left:3.5rem;}
.plui-ml-16{margin-left:4rem;}
.plui-ml-20{margin-left:5rem;}
.plui-ml-24{margin-left:6rem;}
.plui-ml-28{margin-left:7rem;}
.plui-ml-32{margin-left:8rem;}
.plui-ml-36{margin-left:9rem;}
.plui-ml-40{margin-left:10rem;}
.plui-ml-44{margin-left:11rem;}
.plui-ml-48{margin-left:12rem;}
.plui-ml-52{margin-left:13rem;}
.plui-ml-56{margin-left:14rem;}
.plui-ml-60{margin-left:15rem;}
.plui-ml-64{margin-left:16rem;}
.plui-ml-72{margin-left:18rem;}
.plui-ml-80{margin-left:20rem;}
.plui-ml-96{margin-left:24rem;}
.plui-ml--0.5{margin-left:-0.125rem;}
.plui-ml--1{margin-left:-0.25rem;}
.plui-ml--1.5{margin-left:-0.375rem;}
.plui-ml--2{margin-left:-0.5rem;}
.plui-ml--2.5{margin-left:-0.625rem;}
.plui-ml--3{margin-left:-0.75rem;}
.plui-ml--3.5{margin-left:-0.875rem;}
.plui-ml--4{margin-left:-1rem;}
.plui-ml--5{margin-left:-1.25rem;}
.plui-ml--6{margin-left:-1.5rem;}
.plui-ml--7{margin-left:-1.75rem;}
.plui-ml--8{margin-left:-2rem;}
.plui-ml--9{margin-left:-2.25rem;}
.plui-ml--10{margin-left:-2.5rem;}
.plui-ml--11{margin-left:-2.75rem;}
.plui-ml--12{margin-left:-3rem;}
.plui-ml--14{margin-left:-3.5rem;}
.plui-ml--16{margin-left:-4rem;}
.plui-ml--20{margin-left:-5rem;}
.plui-ml--24{margin-left:-6rem;}
.plui-ml--28{margin-left:-7rem;}
.plui-ml--32{margin-left:-8rem;}
.plui-ml--36{margin-left:-9rem;}
.plui-ml--40{margin-left:-10rem;}
.plui-ml--44{margin-left:-11rem;}
.plui-ml--48{margin-left:-12rem;}
.plui-ml--52{margin-left:-13rem;}
.plui-ml--56{margin-left:-14rem;}
.plui-ml--60{margin-left:-15rem;}
.plui-ml--64{margin-left:-16rem;}
.plui-ml--72{margin-left:-18rem;}
.plui-ml--80{margin-left:-20rem;}
.plui-ml--96{margin-left:-24rem;}
.plui-mx-0{margin-left:0rem;margin-right:0rem;}
.plui-mx-px{margin-left:1px;margin-right:1px;}
.plui-mx-0.5{margin-left:0.125rem;margin-right:0.125rem;}
.plui-mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.plui-mx-1.5{margin-left:0.375rem;margin-right:0.375rem;}
.plui-mx-2{margin-left:0.5rem;margin-right:0.5rem;}
.plui-mx-2.5{margin-left:0.625rem;margin-right:0.625rem;}
.plui-mx-3{margin-left:0.75rem;margin-right:0.75rem;}
.plui-mx-3.5{margin-left:0.875rem;margin-right:0.875rem;}
.plui-mx-4{margin-left:1rem;margin-right:1rem;}
.plui-mx-5{margin-left:1.25rem;margin-right:1.25rem;}
.plui-mx-6{margin-left:1.5rem;margin-right:1.5rem;}
.plui-mx-7{margin-left:1.75rem;margin-right:1.75rem;}
.plui-mx-8{margin-left:2rem;margin-right:2rem;}
.plui-mx-9{margin-left:2.25rem;margin-right:2.25rem;}
.plui-mx-10{margin-left:2.5rem;margin-right:2.5rem;}
.plui-mx-11{margin-left:2.75rem;margin-right:2.75rem;}
.plui-mx-12{margin-left:3rem;margin-right:3rem;}
.plui-mx-14{margin-left:3.5rem;margin-right:3.5rem;}
.plui-mx-16{margin-left:4rem;margin-right:4rem;}
.plui-mx-20{margin-left:5rem;margin-right:5rem;}
.plui-mx-24{margin-left:6rem;margin-right:6rem;}
.plui-mx-28{margin-left:7rem;margin-right:7rem;}
.plui-mx-32{margin-left:8rem;margin-right:8rem;}
.plui-mx-36{margin-left:9rem;margin-right:9rem;}
.plui-mx-40{margin-left:10rem;margin-right:10rem;}
.plui-mx-44{margin-left:11rem;margin-right:11rem;}
.plui-mx-48{margin-left:12rem;margin-right:12rem;}
.plui-mx-52{margin-left:13rem;margin-right:13rem;}
.plui-mx-56{margin-left:14rem;margin-right:14rem;}
.plui-mx-60{margin-left:15rem;margin-right:15rem;}
.plui-mx-64{margin-left:16rem;margin-right:16rem;}
.plui-mx-72{margin-left:18rem;margin-right:18rem;}
.plui-mx-80{margin-left:20rem;margin-right:20rem;}
.plui-mx-96{margin-left:24rem;margin-right:24rem;}
.plui-mx--0.5{margin-left:-0.125rem;margin-right:-0.125rem;}
.plui-mx--1{margin-left:-0.25rem;margin-right:-0.25rem;}
.plui-mx--1.5{margin-left:-0.375rem;margin-right:-0.375rem;}
.plui-mx--2{margin-left:-0.5rem;margin-right:-0.5rem;}
.plui-mx--2.5{margin-left:-0.625rem;margin-right:-0.625rem;}
.plui-mx--3{margin-left:-0.75rem;margin-right:-0.75rem;}
.plui-mx--3.5{margin-left:-0.875rem;margin-right:-0.875rem;}
.plui-mx--4{margin-left:-1rem;margin-right:-1rem;}
.plui-mx--5{margin-left:-1.25rem;margin-right:-1.25rem;}
.plui-mx--6{margin-left:-1.5rem;margin-right:-1.5rem;}
.plui-mx--7{margin-left:-1.75rem;margin-right:-1.75rem;}
.plui-mx--8{margin-left:-2rem;margin-right:-2rem;}
.plui-mx--9{margin-left:-2.25rem;margin-right:-2.25rem;}
.plui-mx--10{margin-left:-2.5rem;margin-right:-2.5rem;}
.plui-mx--11{margin-left:-2.75rem;margin-right:-2.75rem;}
.plui-mx--12{margin-left:-3rem;margin-right:-3rem;}
.plui-mx--14{margin-left:-3.5rem;margin-right:-3.5rem;}
.plui-mx--16{margin-left:-4rem;margin-right:-4rem;}
.plui-mx--20{margin-left:-5rem;margin-right:-5rem;}
.plui-mx--24{margin-left:-6rem;margin-right:-6rem;}
.plui-mx--28{margin-left:-7rem;margin-right:-7rem;}
.plui-mx--32{margin-left:-8rem;margin-right:-8rem;}
.plui-mx--36{margin-left:-9rem;margin-right:-9rem;}
.plui-mx--40{margin-left:-10rem;margin-right:-10rem;}
.plui-mx--44{margin-left:-11rem;margin-right:-11rem;}
.plui-mx--48{margin-left:-12rem;margin-right:-12rem;}
.plui-mx--52{margin-left:-13rem;margin-right:-13rem;}
.plui-mx--56{margin-left:-14rem;margin-right:-14rem;}
.plui-mx--60{margin-left:-15rem;margin-right:-15rem;}
.plui-mx--64{margin-left:-16rem;margin-right:-16rem;}
.plui-mx--72{margin-left:-18rem;margin-right:-18rem;}
.plui-mx--80{margin-left:-20rem;margin-right:-20rem;}
.plui-mx--96{margin-left:-24rem;margin-right:-24rem;}
.plui-my-0{margin-top:0rem;margin-bottom:0rem;}
.plui-my-px{margin-top:1px;margin-bottom:1px;}
.plui-my-0.5{margin-top:0.125rem;margin-bottom:0.125rem;}
.plui-my-1{margin-top:0.25rem;margin-bottom:0.25rem;}
.plui-my-1.5{margin-top:0.375rem;margin-bottom:0.375rem;}
.plui-my-2{margin-top:0.5rem;margin-bottom:0.5rem;}
.plui-my-2.5{margin-top:0.625rem;margin-bottom:0.625rem;}
.plui-my-3{margin-top:0.75rem;margin-bottom:0.75rem;}
.plui-my-3.5{margin-top:0.875rem;margin-bottom:0.875rem;}
.plui-my-4{margin-top:1rem;margin-bottom:1rem;}
.plui-my-5{margin-top:1.25rem;margin-bottom:1.25rem;}
.plui-my-6{margin-top:1.5rem;margin-bottom:1.5rem;}
.plui-my-7{margin-top:1.75rem;margin-bottom:1.75rem;}
.plui-my-8{margin-top:2rem;margin-bottom:2rem;}
.plui-my-9{margin-top:2.25rem;margin-bottom:2.25rem;}
.plui-my-10{margin-top:2.5rem;margin-bottom:2.5rem;}
.plui-my-11{margin-top:2.75rem;margin-bottom:2.75rem;}
.plui-my-12{margin-top:3rem;margin-bottom:3rem;}
.plui-my-14{margin-top:3.5rem;margin-bottom:3.5rem;}
.plui-my-16{margin-top:4rem;margin-bottom:4rem;}
.plui-my-20{margin-top:5rem;margin-bottom:5rem;}
.plui-my-24{margin-top:6rem;margin-bottom:6rem;}
.plui-my-28{margin-top:7rem;margin-bottom:7rem;}
.plui-my-32{margin-top:8rem;margin-bottom:8rem;}
.plui-my-36{margin-top:9rem;margin-bottom:9rem;}
.plui-my-40{margin-top:10rem;margin-bottom:10rem;}
.plui-my-44{margin-top:11rem;margin-bottom:11rem;}
.plui-my-48{margin-top:12rem;margin-bottom:12rem;}
.plui-my-52{margin-top:13rem;margin-bottom:13rem;}
.plui-my-56{margin-top:14rem;margin-bottom:14rem;}
.plui-my-60{margin-top:15rem;margin-bottom:15rem;}
.plui-my-64{margin-top:16rem;margin-bottom:16rem;}
.plui-my-72{margin-top:18rem;margin-bottom:18rem;}
.plui-my-80{margin-top:20rem;margin-bottom:20rem;}
.plui-my-96{margin-top:24rem;margin-bottom:24rem;}
.plui-my--0.5{margin-top:-0.125rem;margin-bottom:-0.125rem;}
.plui-my--1{margin-top:-0.25rem;margin-bottom:-0.25rem;}
.plui-my--1.5{margin-top:-0.375rem;margin-bottom:-0.375rem;}
.plui-my--2{margin-top:-0.5rem;margin-bottom:-0.5rem;}
.plui-my--2.5{margin-top:-0.625rem;margin-bottom:-0.625rem;}
.plui-my--3{margin-top:-0.75rem;margin-bottom:-0.75rem;}
.plui-my--3.5{margin-top:-0.875rem;margin-bottom:-0.875rem;}
.plui-my--4{margin-top:-1rem;margin-bottom:-1rem;}
.plui-my--5{margin-top:-1.25rem;margin-bottom:-1.25rem;}
.plui-my--6{margin-top:-1.5rem;margin-bottom:-1.5rem;}
.plui-my--7{margin-top:-1.75rem;margin-bottom:-1.75rem;}
.plui-my--8{margin-top:-2rem;margin-bottom:-2rem;}
.plui-my--9{margin-top:-2.25rem;margin-bottom:-2.25rem;}
.plui-my--10{margin-top:-2.5rem;margin-bottom:-2.5rem;}
.plui-my--11{margin-top:-2.75rem;margin-bottom:-2.75rem;}
.plui-my--12{margin-top:-3rem;margin-bottom:-3rem;}
.plui-my--14{margin-top:-3.5rem;margin-bottom:-3.5rem;}
.plui-my--16{margin-top:-4rem;margin-bottom:-4rem;}
.plui-my--20{margin-top:-5rem;margin-bottom:-5rem;}
.plui-my--24{margin-top:-6rem;margin-bottom:-6rem;}
.plui-my--28{margin-top:-7rem;margin-bottom:-7rem;}
.plui-my--32{margin-top:-8rem;margin-bottom:-8rem;}
.plui-my--36{margin-top:-9rem;margin-bottom:-9rem;}
.plui-my--40{margin-top:-10rem;margin-bottom:-10rem;}
.plui-my--44{margin-top:-11rem;margin-bottom:-11rem;}
.plui-my--48{margin-top:-12rem;margin-bottom:-12rem;}
.plui-my--52{margin-top:-13rem;margin-bottom:-13rem;}
.plui-my--56{margin-top:-14rem;margin-bottom:-14rem;}
.plui-my--60{margin-top:-15rem;margin-bottom:-15rem;}
.plui-my--64{margin-top:-16rem;margin-bottom:-16rem;}
.plui-my--72{margin-top:-18rem;margin-bottom:-18rem;}
.plui-my--80{margin-top:-20rem;margin-bottom:-20rem;}
.plui-my--96{margin-top:-24rem;margin-bottom:-24rem;}
.plui-ms-0{margin-inline-start:0rem;}
.plui-ms-px{margin-inline-start:1px;}
.plui-ms-0.5{margin-inline-start:0.125rem;}
.plui-ms-1{margin-inline-start:0.25rem;}
.plui-ms-1.5{margin-inline-start:0.375rem;}
.plui-ms-2{margin-inline-start:0.5rem;}
.plui-ms-2.5{margin-inline-start:0.625rem;}
.plui-ms-3{margin-inline-start:0.75rem;}
.plui-ms-3.5{margin-inline-start:0.875rem;}
.plui-ms-4{margin-inline-start:1rem;}
.plui-ms-5{margin-inline-start:1.25rem;}
.plui-ms-6{margin-inline-start:1.5rem;}
.plui-ms-7{margin-inline-start:1.75rem;}
.plui-ms-8{margin-inline-start:2rem;}
.plui-ms-9{margin-inline-start:2.25rem;}
.plui-ms-10{margin-inline-start:2.5rem;}
.plui-ms-11{margin-inline-start:2.75rem;}
.plui-ms-12{margin-inline-start:3rem;}
.plui-ms-14{margin-inline-start:3.5rem;}
.plui-ms-16{margin-inline-start:4rem;}
.plui-ms-20{margin-inline-start:5rem;}
.plui-ms-24{margin-inline-start:6rem;}
.plui-ms-28{margin-inline-start:7rem;}
.plui-ms-32{margin-inline-start:8rem;}
.plui-ms-36{margin-inline-start:9rem;}
.plui-ms-40{margin-inline-start:10rem;}
.plui-ms-44{margin-inline-start:11rem;}
.plui-ms-48{margin-inline-start:12rem;}
.plui-ms-52{margin-inline-start:13rem;}
.plui-ms-56{margin-inline-start:14rem;}
.plui-ms-60{margin-inline-start:15rem;}
.plui-ms-64{margin-inline-start:16rem;}
.plui-ms-72{margin-inline-start:18rem;}
.plui-ms-80{margin-inline-start:20rem;}
.plui-ms-96{margin-inline-start:24rem;}
.plui-me-0{margin-inline-end:0rem;}
.plui-me-px{margin-inline-end:1px;}
.plui-me-0.5{margin-inline-end:0.125rem;}
.plui-me-1{margin-inline-end:0.25rem;}
.plui-me-1.5{margin-inline-end:0.375rem;}
.plui-me-2{margin-inline-end:0.5rem;}
.plui-me-2.5{margin-inline-end:0.625rem;}
.plui-me-3{margin-inline-end:0.75rem;}
.plui-me-3.5{margin-inline-end:0.875rem;}
.plui-me-4{margin-inline-end:1rem;}
.plui-me-5{margin-inline-end:1.25rem;}
.plui-me-6{margin-inline-end:1.5rem;}
.plui-me-7{margin-inline-end:1.75rem;}
.plui-me-8{margin-inline-end:2rem;}
.plui-me-9{margin-inline-end:2.25rem;}
.plui-me-10{margin-inline-end:2.5rem;}
.plui-me-11{margin-inline-end:2.75rem;}
.plui-me-12{margin-inline-end:3rem;}
.plui-me-14{margin-inline-end:3.5rem;}
.plui-me-16{margin-inline-end:4rem;}
.plui-me-20{margin-inline-end:5rem;}
.plui-me-24{margin-inline-end:6rem;}
.plui-me-28{margin-inline-end:7rem;}
.plui-me-32{margin-inline-end:8rem;}
.plui-me-36{margin-inline-end:9rem;}
.plui-me-40{margin-inline-end:10rem;}
.plui-me-44{margin-inline-end:11rem;}
.plui-me-48{margin-inline-end:12rem;}
.plui-me-52{margin-inline-end:13rem;}
.plui-me-56{margin-inline-end:14rem;}
.plui-me-60{margin-inline-end:15rem;}
.plui-me-64{margin-inline-end:16rem;}
.plui-me-72{margin-inline-end:18rem;}
.plui-me-80{margin-inline-end:20rem;}
.plui-me-96{margin-inline-end:24rem;}
.plui-p-0{padding:0rem;}
.plui-p-px{padding:1px;}
.plui-p-0.5{padding:0.125rem;}
.plui-p-1{padding:0.25rem;}
.plui-p-1.5{padding:0.375rem;}
.plui-p-2{padding:0.5rem;}
.plui-p-2.5{padding:0.625rem;}
.plui-p-3{padding:0.75rem;}
.plui-p-3.5{padding:0.875rem;}
.plui-p-4{padding:1rem;}
.plui-p-5{padding:1.25rem;}
.plui-p-6{padding:1.5rem;}
.plui-p-7{padding:1.75rem;}
.plui-p-8{padding:2rem;}
.plui-p-9{padding:2.25rem;}
.plui-p-10{padding:2.5rem;}
.plui-p-11{padding:2.75rem;}
.plui-p-12{padding:3rem;}
.plui-p-14{padding:3.5rem;}
.plui-p-16{padding:4rem;}
.plui-p-20{padding:5rem;}
.plui-p-24{padding:6rem;}
.plui-p-28{padding:7rem;}
.plui-p-32{padding:8rem;}
.plui-p-36{padding:9rem;}
.plui-p-40{padding:10rem;}
.plui-p-44{padding:11rem;}
.plui-p-48{padding:12rem;}
.plui-p-52{padding:13rem;}
.plui-p-56{padding:14rem;}
.plui-p-60{padding:15rem;}
.plui-p-64{padding:16rem;}
.plui-p-72{padding:18rem;}
.plui-p-80{padding:20rem;}
.plui-p-96{padding:24rem;}
.plui-pt-0{padding-top:0rem;}
.plui-pt-px{padding-top:1px;}
.plui-pt-0.5{padding-top:0.125rem;}
.plui-pt-1{padding-top:0.25rem;}
.plui-pt-1.5{padding-top:0.375rem;}
.plui-pt-2{padding-top:0.5rem;}
.plui-pt-2.5{padding-top:0.625rem;}
.plui-pt-3{padding-top:0.75rem;}
.plui-pt-3.5{padding-top:0.875rem;}
.plui-pt-4{padding-top:1rem;}
.plui-pt-5{padding-top:1.25rem;}
.plui-pt-6{padding-top:1.5rem;}
.plui-pt-7{padding-top:1.75rem;}
.plui-pt-8{padding-top:2rem;}
.plui-pt-9{padding-top:2.25rem;}
.plui-pt-10{padding-top:2.5rem;}
.plui-pt-11{padding-top:2.75rem;}
.plui-pt-12{padding-top:3rem;}
.plui-pt-14{padding-top:3.5rem;}
.plui-pt-16{padding-top:4rem;}
.plui-pt-20{padding-top:5rem;}
.plui-pt-24{padding-top:6rem;}
.plui-pt-28{padding-top:7rem;}
.plui-pt-32{padding-top:8rem;}
.plui-pt-36{padding-top:9rem;}
.plui-pt-40{padding-top:10rem;}
.plui-pt-44{padding-top:11rem;}
.plui-pt-48{padding-top:12rem;}
.plui-pt-52{padding-top:13rem;}
.plui-pt-56{padding-top:14rem;}
.plui-pt-60{padding-top:15rem;}
.plui-pt-64{padding-top:16rem;}
.plui-pt-72{padding-top:18rem;}
.plui-pt-80{padding-top:20rem;}
.plui-pt-96{padding-top:24rem;}
.plui-pr-0{padding-right:0rem;}
.plui-pr-px{padding-right:1px;}
.plui-pr-0.5{padding-right:0.125rem;}
.plui-pr-1{padding-right:0.25rem;}
.plui-pr-1.5{padding-right:0.375rem;}
.plui-pr-2{padding-right:0.5rem;}
.plui-pr-2.5{padding-right:0.625rem;}
.plui-pr-3{padding-right:0.75rem;}
.plui-pr-3.5{padding-right:0.875rem;}
.plui-pr-4{padding-right:1rem;}
.plui-pr-5{padding-right:1.25rem;}
.plui-pr-6{padding-right:1.5rem;}
.plui-pr-7{padding-right:1.75rem;}
.plui-pr-8{padding-right:2rem;}
.plui-pr-9{padding-right:2.25rem;}
.plui-pr-10{padding-right:2.5rem;}
.plui-pr-11{padding-right:2.75rem;}
.plui-pr-12{padding-right:3rem;}
.plui-pr-14{padding-right:3.5rem;}
.plui-pr-16{padding-right:4rem;}
.plui-pr-20{padding-right:5rem;}
.plui-pr-24{padding-right:6rem;}
.plui-pr-28{padding-right:7rem;}
.plui-pr-32{padding-right:8rem;}
.plui-pr-36{padding-right:9rem;}
.plui-pr-40{padding-right:10rem;}
.plui-pr-44{padding-right:11rem;}
.plui-pr-48{padding-right:12rem;}
.plui-pr-52{padding-right:13rem;}
.plui-pr-56{padding-right:14rem;}
.plui-pr-60{padding-right:15rem;}
.plui-pr-64{padding-right:16rem;}
.plui-pr-72{padding-right:18rem;}
.plui-pr-80{padding-right:20rem;}
.plui-pr-96{padding-right:24rem;}
.plui-pb-0{padding-bottom:0rem;}
.plui-pb-px{padding-bottom:1px;}
.plui-pb-0.5{padding-bottom:0.125rem;}
.plui-pb-1{padding-bottom:0.25rem;}
.plui-pb-1.5{padding-bottom:0.375rem;}
.plui-pb-2{padding-bottom:0.5rem;}
.plui-pb-2.5{padding-bottom:0.625rem;}
.plui-pb-3{padding-bottom:0.75rem;}
.plui-pb-3.5{padding-bottom:0.875rem;}
.plui-pb-4{padding-bottom:1rem;}
.plui-pb-5{padding-bottom:1.25rem;}
.plui-pb-6{padding-bottom:1.5rem;}
.plui-pb-7{padding-bottom:1.75rem;}
.plui-pb-8{padding-bottom:2rem;}
.plui-pb-9{padding-bottom:2.25rem;}
.plui-pb-10{padding-bottom:2.5rem;}
.plui-pb-11{padding-bottom:2.75rem;}
.plui-pb-12{padding-bottom:3rem;}
.plui-pb-14{padding-bottom:3.5rem;}
.plui-pb-16{padding-bottom:4rem;}
.plui-pb-20{padding-bottom:5rem;}
.plui-pb-24{padding-bottom:6rem;}
.plui-pb-28{padding-bottom:7rem;}
.plui-pb-32{padding-bottom:8rem;}
.plui-pb-36{padding-bottom:9rem;}
.plui-pb-40{padding-bottom:10rem;}
.plui-pb-44{padding-bottom:11rem;}
.plui-pb-48{padding-bottom:12rem;}
.plui-pb-52{padding-bottom:13rem;}
.plui-pb-56{padding-bottom:14rem;}
.plui-pb-60{padding-bottom:15rem;}
.plui-pb-64{padding-bottom:16rem;}
.plui-pb-72{padding-bottom:18rem;}
.plui-pb-80{padding-bottom:20rem;}
.plui-pb-96{padding-bottom:24rem;}
.plui-pl-0{padding-left:0rem;}
.plui-pl-px{padding-left:1px;}
.plui-pl-0.5{padding-left:0.125rem;}
.plui-pl-1{padding-left:0.25rem;}
.plui-pl-1.5{padding-left:0.375rem;}
.plui-pl-2{padding-left:0.5rem;}
.plui-pl-2.5{padding-left:0.625rem;}
.plui-pl-3{padding-left:0.75rem;}
.plui-pl-3.5{padding-left:0.875rem;}
.plui-pl-4{padding-left:1rem;}
.plui-pl-5{padding-left:1.25rem;}
.plui-pl-6{padding-left:1.5rem;}
.plui-pl-7{padding-left:1.75rem;}
.plui-pl-8{padding-left:2rem;}
.plui-pl-9{padding-left:2.25rem;}
.plui-pl-10{padding-left:2.5rem;}
.plui-pl-11{padding-left:2.75rem;}
.plui-pl-12{padding-left:3rem;}
.plui-pl-14{padding-left:3.5rem;}
.plui-pl-16{padding-left:4rem;}
.plui-pl-20{padding-left:5rem;}
.plui-pl-24{padding-left:6rem;}
.plui-pl-28{padding-left:7rem;}
.plui-pl-32{padding-left:8rem;}
.plui-pl-36{padding-left:9rem;}
.plui-pl-40{padding-left:10rem;}
.plui-pl-44{padding-left:11rem;}
.plui-pl-48{padding-left:12rem;}
.plui-pl-52{padding-left:13rem;}
.plui-pl-56{padding-left:14rem;}
.plui-pl-60{padding-left:15rem;}
.plui-pl-64{padding-left:16rem;}
.plui-pl-72{padding-left:18rem;}
.plui-pl-80{padding-left:20rem;}
.plui-pl-96{padding-left:24rem;}
.plui-px-0{padding-left:0rem;padding-right:0rem;}
.plui-px-px{padding-left:1px;padding-right:1px;}
.plui-px-0.5{padding-left:0.125rem;padding-right:0.125rem;}
.plui-px-1{padding-left:0.25rem;padding-right:0.25rem;}
.plui-px-1.5{padding-left:0.375rem;padding-right:0.375rem;}
.plui-px-2{padding-left:0.5rem;padding-right:0.5rem;}
.plui-px-2.5{padding-left:0.625rem;padding-right:0.625rem;}
.plui-px-3{padding-left:0.75rem;padding-right:0.75rem;}
.plui-px-3.5{padding-left:0.875rem;padding-right:0.875rem;}
.plui-px-4{padding-left:1rem;padding-right:1rem;}
.plui-px-5{padding-left:1.25rem;padding-right:1.25rem;}
.plui-px-6{padding-left:1.5rem;padding-right:1.5rem;}
.plui-px-7{padding-left:1.75rem;padding-right:1.75rem;}
.plui-px-8{padding-left:2rem;padding-right:2rem;}
.plui-px-9{padding-left:2.25rem;padding-right:2.25rem;}
.plui-px-10{padding-left:2.5rem;padding-right:2.5rem;}
.plui-px-11{padding-left:2.75rem;padding-right:2.75rem;}
.plui-px-12{padding-left:3rem;padding-right:3rem;}
.plui-px-14{padding-left:3.5rem;padding-right:3.5rem;}
.plui-px-16{padding-left:4rem;padding-right:4rem;}
.plui-px-20{padding-left:5rem;padding-right:5rem;}
.plui-px-24{padding-left:6rem;padding-right:6rem;}
.plui-px-28{padding-left:7rem;padding-right:7rem;}
.plui-px-32{padding-left:8rem;padding-right:8rem;}
.plui-px-36{padding-left:9rem;padding-right:9rem;}
.plui-px-40{padding-left:10rem;padding-right:10rem;}
.plui-px-44{padding-left:11rem;padding-right:11rem;}
.plui-px-48{padding-left:12rem;padding-right:12rem;}
.plui-px-52{padding-left:13rem;padding-right:13rem;}
.plui-px-56{padding-left:14rem;padding-right:14rem;}
.plui-px-60{padding-left:15rem;padding-right:15rem;}
.plui-px-64{padding-left:16rem;padding-right:16rem;}
.plui-px-72{padding-left:18rem;padding-right:18rem;}
.plui-px-80{padding-left:20rem;padding-right:20rem;}
.plui-px-96{padding-left:24rem;padding-right:24rem;}
.plui-py-0{padding-top:0rem;padding-bottom:0rem;}
.plui-py-px{padding-top:1px;padding-bottom:1px;}
.plui-py-0.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.plui-py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.plui-py-1.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.plui-py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.plui-py-2.5{padding-top:0.625rem;padding-bottom:0.625rem;}
.plui-py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.plui-py-3.5{padding-top:0.875rem;padding-bottom:0.875rem;}
.plui-py-4{padding-top:1rem;padding-bottom:1rem;}
.plui-py-5{padding-top:1.25rem;padding-bottom:1.25rem;}
.plui-py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.plui-py-7{padding-top:1.75rem;padding-bottom:1.75rem;}
.plui-py-8{padding-top:2rem;padding-bottom:2rem;}
.plui-py-9{padding-top:2.25rem;padding-bottom:2.25rem;}
.plui-py-10{padding-top:2.5rem;padding-bottom:2.5rem;}
.plui-py-11{padding-top:2.75rem;padding-bottom:2.75rem;}
.plui-py-12{padding-top:3rem;padding-bottom:3rem;}
.plui-py-14{padding-top:3.5rem;padding-bottom:3.5rem;}
.plui-py-16{padding-top:4rem;padding-bottom:4rem;}
.plui-py-20{padding-top:5rem;padding-bottom:5rem;}
.plui-py-24{padding-top:6rem;padding-bottom:6rem;}
.plui-py-28{padding-top:7rem;padding-bottom:7rem;}
.plui-py-32{padding-top:8rem;padding-bottom:8rem;}
.plui-py-36{padding-top:9rem;padding-bottom:9rem;}
.plui-py-40{padding-top:10rem;padding-bottom:10rem;}
.plui-py-44{padding-top:11rem;padding-bottom:11rem;}
.plui-py-48{padding-top:12rem;padding-bottom:12rem;}
.plui-py-52{padding-top:13rem;padding-bottom:13rem;}
.plui-py-56{padding-top:14rem;padding-bottom:14rem;}
.plui-py-60{padding-top:15rem;padding-bottom:15rem;}
.plui-py-64{padding-top:16rem;padding-bottom:16rem;}
.plui-py-72{padding-top:18rem;padding-bottom:18rem;}
.plui-py-80{padding-top:20rem;padding-bottom:20rem;}
.plui-py-96{padding-top:24rem;padding-bottom:24rem;}
.plui-ps-0{padding-inline-start:0rem;}
.plui-ps-px{padding-inline-start:1px;}
.plui-ps-0.5{padding-inline-start:0.125rem;}
.plui-ps-1{padding-inline-start:0.25rem;}
.plui-ps-1.5{padding-inline-start:0.375rem;}
.plui-ps-2{padding-inline-start:0.5rem;}
.plui-ps-2.5{padding-inline-start:0.625rem;}
.plui-ps-3{padding-inline-start:0.75rem;}
.plui-ps-3.5{padding-inline-start:0.875rem;}
.plui-ps-4{padding-inline-start:1rem;}
.plui-ps-5{padding-inline-start:1.25rem;}
.plui-ps-6{padding-inline-start:1.5rem;}
.plui-ps-7{padding-inline-start:1.75rem;}
.plui-ps-8{padding-inline-start:2rem;}
.plui-ps-9{padding-inline-start:2.25rem;}
.plui-ps-10{padding-inline-start:2.5rem;}
.plui-ps-11{padding-inline-start:2.75rem;}
.plui-ps-12{padding-inline-start:3rem;}
.plui-ps-14{padding-inline-start:3.5rem;}
.plui-ps-16{padding-inline-start:4rem;}
.plui-ps-20{padding-inline-start:5rem;}
.plui-ps-24{padding-inline-start:6rem;}
.plui-ps-28{padding-inline-start:7rem;}
.plui-ps-32{padding-inline-start:8rem;}
.plui-ps-36{padding-inline-start:9rem;}
.plui-ps-40{padding-inline-start:10rem;}
.plui-ps-44{padding-inline-start:11rem;}
.plui-ps-48{padding-inline-start:12rem;}
.plui-ps-52{padding-inline-start:13rem;}
.plui-ps-56{padding-inline-start:14rem;}
.plui-ps-60{padding-inline-start:15rem;}
.plui-ps-64{padding-inline-start:16rem;}
.plui-ps-72{padding-inline-start:18rem;}
.plui-ps-80{padding-inline-start:20rem;}
.plui-ps-96{padding-inline-start:24rem;}
.plui-pe-0{padding-inline-end:0rem;}
.plui-pe-px{padding-inline-end:1px;}
.plui-pe-0.5{padding-inline-end:0.125rem;}
.plui-pe-1{padding-inline-end:0.25rem;}
.plui-pe-1.5{padding-inline-end:0.375rem;}
.plui-pe-2{padding-inline-end:0.5rem;}
.plui-pe-2.5{padding-inline-end:0.625rem;}
.plui-pe-3{padding-inline-end:0.75rem;}
.plui-pe-3.5{padding-inline-end:0.875rem;}
.plui-pe-4{padding-inline-end:1rem;}
.plui-pe-5{padding-inline-end:1.25rem;}
.plui-pe-6{padding-inline-end:1.5rem;}
.plui-pe-7{padding-inline-end:1.75rem;}
.plui-pe-8{padding-inline-end:2rem;}
.plui-pe-9{padding-inline-end:2.25rem;}
.plui-pe-10{padding-inline-end:2.5rem;}
.plui-pe-11{padding-inline-end:2.75rem;}
.plui-pe-12{padding-inline-end:3rem;}
.plui-pe-14{padding-inline-end:3.5rem;}
.plui-pe-16{padding-inline-end:4rem;}
.plui-pe-20{padding-inline-end:5rem;}
.plui-pe-24{padding-inline-end:6rem;}
.plui-pe-28{padding-inline-end:7rem;}
.plui-pe-32{padding-inline-end:8rem;}
.plui-pe-36{padding-inline-end:9rem;}
.plui-pe-40{padding-inline-end:10rem;}
.plui-pe-44{padding-inline-end:11rem;}
.plui-pe-48{padding-inline-end:12rem;}
.plui-pe-52{padding-inline-end:13rem;}
.plui-pe-56{padding-inline-end:14rem;}
.plui-pe-60{padding-inline-end:15rem;}
.plui-pe-64{padding-inline-end:16rem;}
.plui-pe-72{padding-inline-end:18rem;}
.plui-pe-80{padding-inline-end:20rem;}
.plui-pe-96{padding-inline-end:24rem;}
.plui-inset-0{top:0rem;right:0rem;bottom:0rem;left:0rem;}
.plui-inset-px{top:1px;right:1px;bottom:1px;left:1px;}
.plui-inset-0.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem;}
.plui-inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem;}
.plui-inset-1.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem;}
.plui-inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem;}
.plui-inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem;}
.plui-inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem;}
.plui-inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem;}
.plui-inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem;}
.plui-inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem;}
.plui-inset-x-0{left:0rem;right:0rem;}
.plui-inset-x-px{left:1px;right:1px;}
.plui-inset-x-0.5{left:0.125rem;right:0.125rem;}
.plui-inset-x-1{left:0.25rem;right:0.25rem;}
.plui-inset-x-1.5{left:0.375rem;right:0.375rem;}
.plui-inset-x-2{left:0.5rem;right:0.5rem;}
.plui-inset-x-3{left:0.75rem;right:0.75rem;}
.plui-inset-x-4{left:1rem;right:1rem;}
.plui-inset-x-6{left:1.5rem;right:1.5rem;}
.plui-inset-x-8{left:2rem;right:2rem;}
.plui-inset-x-12{left:3rem;right:3rem;}
.plui-inset-y-0{top:0rem;bottom:0rem;}
.plui-inset-y-px{top:1px;bottom:1px;}
.plui-inset-y-0.5{top:0.125rem;bottom:0.125rem;}
.plui-inset-y-1{top:0.25rem;bottom:0.25rem;}
.plui-inset-y-1.5{top:0.375rem;bottom:0.375rem;}
.plui-inset-y-2{top:0.5rem;bottom:0.5rem;}
.plui-inset-y-3{top:0.75rem;bottom:0.75rem;}
.plui-inset-y-4{top:1rem;bottom:1rem;}
.plui-inset-y-6{top:1.5rem;bottom:1.5rem;}
.plui-inset-y-8{top:2rem;bottom:2rem;}
.plui-inset-y-12{top:3rem;bottom:3rem;}
.plui-top-0{top:0rem;}
.plui-top-px{top:1px;}
.plui-top-0.5{top:0.125rem;}
.plui-top-1{top:0.25rem;}
.plui-top-1.5{top:0.375rem;}
.plui-top-2{top:0.5rem;}
.plui-top-3{top:0.75rem;}
.plui-top-4{top:1rem;}
.plui-top-6{top:1.5rem;}
.plui-top-8{top:2rem;}
.plui-top-12{top:3rem;}
.plui-right-0{right:0rem;}
.plui-right-px{right:1px;}
.plui-right-0.5{right:0.125rem;}
.plui-right-1{right:0.25rem;}
.plui-right-1.5{right:0.375rem;}
.plui-right-2{right:0.5rem;}
.plui-right-3{right:0.75rem;}
.plui-right-4{right:1rem;}
.plui-right-6{right:1.5rem;}
.plui-right-8{right:2rem;}
.plui-right-12{right:3rem;}
.plui-bottom-0{bottom:0rem;}
.plui-bottom-px{bottom:1px;}
.plui-bottom-0.5{bottom:0.125rem;}
.plui-bottom-1{bottom:0.25rem;}
.plui-bottom-1.5{bottom:0.375rem;}
.plui-bottom-2{bottom:0.5rem;}
.plui-bottom-3{bottom:0.75rem;}
.plui-bottom-4{bottom:1rem;}
.plui-bottom-6{bottom:1.5rem;}
.plui-bottom-8{bottom:2rem;}
.plui-bottom-12{bottom:3rem;}
.plui-left-0{left:0rem;}
.plui-left-px{left:1px;}
.plui-left-0.5{left:0.125rem;}
.plui-left-1{left:0.25rem;}
.plui-left-1.5{left:0.375rem;}
.plui-left-2{left:0.5rem;}
.plui-left-3{left:0.75rem;}
.plui-left-4{left:1rem;}
.plui-left-6{left:1.5rem;}
.plui-left-8{left:2rem;}
.plui-left-12{left:3rem;}
.plui-scroll-m-0{scroll-margin:0rem;}
.plui-scroll-m-px{scroll-margin:1px;}
.plui-scroll-m-0.5{scroll-margin:0.125rem;}
.plui-scroll-m-1{scroll-margin:0.25rem;}
.plui-scroll-m-1.5{scroll-margin:0.375rem;}
.plui-scroll-m-2{scroll-margin:0.5rem;}
.plui-scroll-m-3{scroll-margin:0.75rem;}
.plui-scroll-m-4{scroll-margin:1rem;}
.plui-scroll-m-6{scroll-margin:1.5rem;}
.plui-scroll-m-8{scroll-margin:2rem;}
.plui-scroll-m-12{scroll-margin:3rem;}
.plui-scroll-mt-0{scroll-margin-top:0rem;}
.plui-scroll-mt-px{scroll-margin-top:1px;}
.plui-scroll-mt-0.5{scroll-margin-top:0.125rem;}
.plui-scroll-mt-1{scroll-margin-top:0.25rem;}
.plui-scroll-mt-1.5{scroll-margin-top:0.375rem;}
.plui-scroll-mt-2{scroll-margin-top:0.5rem;}
.plui-scroll-mt-3{scroll-margin-top:0.75rem;}
.plui-scroll-mt-4{scroll-margin-top:1rem;}
.plui-scroll-mt-6{scroll-margin-top:1.5rem;}
.plui-scroll-mt-8{scroll-margin-top:2rem;}
.plui-scroll-mt-12{scroll-margin-top:3rem;}
.plui-scroll-mr-0{scroll-margin-right:0rem;}
.plui-scroll-mr-px{scroll-margin-right:1px;}
.plui-scroll-mr-0.5{scroll-margin-right:0.125rem;}
.plui-scroll-mr-1{scroll-margin-right:0.25rem;}
.plui-scroll-mr-1.5{scroll-margin-right:0.375rem;}
.plui-scroll-mr-2{scroll-margin-right:0.5rem;}
.plui-scroll-mr-3{scroll-margin-right:0.75rem;}
.plui-scroll-mr-4{scroll-margin-right:1rem;}
.plui-scroll-mr-6{scroll-margin-right:1.5rem;}
.plui-scroll-mr-8{scroll-margin-right:2rem;}
.plui-scroll-mr-12{scroll-margin-right:3rem;}
.plui-scroll-mb-0{scroll-margin-bottom:0rem;}
.plui-scroll-mb-px{scroll-margin-bottom:1px;}
.plui-scroll-mb-0.5{scroll-margin-bottom:0.125rem;}
.plui-scroll-mb-1{scroll-margin-bottom:0.25rem;}
.plui-scroll-mb-1.5{scroll-margin-bottom:0.375rem;}
.plui-scroll-mb-2{scroll-margin-bottom:0.5rem;}
.plui-scroll-mb-3{scroll-margin-bottom:0.75rem;}
.plui-scroll-mb-4{scroll-margin-bottom:1rem;}
.plui-scroll-mb-6{scroll-margin-bottom:1.5rem;}
.plui-scroll-mb-8{scroll-margin-bottom:2rem;}
.plui-scroll-mb-12{scroll-margin-bottom:3rem;}
.plui-scroll-ml-0{scroll-margin-left:0rem;}
.plui-scroll-ml-px{scroll-margin-left:1px;}
.plui-scroll-ml-0.5{scroll-margin-left:0.125rem;}
.plui-scroll-ml-1{scroll-margin-left:0.25rem;}
.plui-scroll-ml-1.5{scroll-margin-left:0.375rem;}
.plui-scroll-ml-2{scroll-margin-left:0.5rem;}
.plui-scroll-ml-3{scroll-margin-left:0.75rem;}
.plui-scroll-ml-4{scroll-margin-left:1rem;}
.plui-scroll-ml-6{scroll-margin-left:1.5rem;}
.plui-scroll-ml-8{scroll-margin-left:2rem;}
.plui-scroll-ml-12{scroll-margin-left:3rem;}
.plui-scroll-p-0{scroll-padding:0rem;}
.plui-scroll-p-px{scroll-padding:1px;}
.plui-scroll-p-0.5{scroll-padding:0.125rem;}
.plui-scroll-p-1{scroll-padding:0.25rem;}
.plui-scroll-p-1.5{scroll-padding:0.375rem;}
.plui-scroll-p-2{scroll-padding:0.5rem;}
.plui-scroll-p-3{scroll-padding:0.75rem;}
.plui-scroll-p-4{scroll-padding:1rem;}
.plui-scroll-p-6{scroll-padding:1.5rem;}
.plui-scroll-p-8{scroll-padding:2rem;}
.plui-scroll-p-12{scroll-padding:3rem;}
.plui-scroll-pt-0{scroll-padding-top:0rem;}
.plui-scroll-pt-px{scroll-padding-top:1px;}
.plui-scroll-pt-0.5{scroll-padding-top:0.125rem;}
.plui-scroll-pt-1{scroll-padding-top:0.25rem;}
.plui-scroll-pt-1.5{scroll-padding-top:0.375rem;}
.plui-scroll-pt-2{scroll-padding-top:0.5rem;}
.plui-scroll-pt-3{scroll-padding-top:0.75rem;}
.plui-scroll-pt-4{scroll-padding-top:1rem;}
.plui-scroll-pt-6{scroll-padding-top:1.5rem;}
.plui-scroll-pt-8{scroll-padding-top:2rem;}
.plui-scroll-pt-12{scroll-padding-top:3rem;}
.plui-scroll-pr-0{scroll-padding-right:0rem;}
.plui-scroll-pr-px{scroll-padding-right:1px;}
.plui-scroll-pr-0.5{scroll-padding-right:0.125rem;}
.plui-scroll-pr-1{scroll-padding-right:0.25rem;}
.plui-scroll-pr-1.5{scroll-padding-right:0.375rem;}
.plui-scroll-pr-2{scroll-padding-right:0.5rem;}
.plui-scroll-pr-3{scroll-padding-right:0.75rem;}
.plui-scroll-pr-4{scroll-padding-right:1rem;}
.plui-scroll-pr-6{scroll-padding-right:1.5rem;}
.plui-scroll-pr-8{scroll-padding-right:2rem;}
.plui-scroll-pr-12{scroll-padding-right:3rem;}
.plui-scroll-pb-0{scroll-padding-bottom:0rem;}
.plui-scroll-pb-px{scroll-padding-bottom:1px;}
.plui-scroll-pb-0.5{scroll-padding-bottom:0.125rem;}
.plui-scroll-pb-1{scroll-padding-bottom:0.25rem;}
.plui-scroll-pb-1.5{scroll-padding-bottom:0.375rem;}
.plui-scroll-pb-2{scroll-padding-bottom:0.5rem;}
.plui-scroll-pb-3{scroll-padding-bottom:0.75rem;}
.plui-scroll-pb-4{scroll-padding-bottom:1rem;}
.plui-scroll-pb-6{scroll-padding-bottom:1.5rem;}
.plui-scroll-pb-8{scroll-padding-bottom:2rem;}
.plui-scroll-pb-12{scroll-padding-bottom:3rem;}
.plui-scroll-pl-0{scroll-padding-left:0rem;}
.plui-scroll-pl-px{scroll-padding-left:1px;}
.plui-scroll-pl-0.5{scroll-padding-left:0.125rem;}
.plui-scroll-pl-1{scroll-padding-left:0.25rem;}
.plui-scroll-pl-1.5{scroll-padding-left:0.375rem;}
.plui-scroll-pl-2{scroll-padding-left:0.5rem;}
.plui-scroll-pl-3{scroll-padding-left:0.75rem;}
.plui-scroll-pl-4{scroll-padding-left:1rem;}
.plui-scroll-pl-6{scroll-padding-left:1.5rem;}
.plui-scroll-pl-8{scroll-padding-left:2rem;}
.plui-scroll-pl-12{scroll-padding-left:3rem;}
.plui-gap-0{gap:0rem;}
.plui-gap-x-0{column-gap:0rem;}
.plui-gap-y-0{row-gap:0rem;}
.plui-gap-px{gap:1px;}
.plui-gap-x-px{column-gap:1px;}
.plui-gap-y-px{row-gap:1px;}
.plui-gap-0.5{gap:0.125rem;}
.plui-gap-x-0.5{column-gap:0.125rem;}
.plui-gap-y-0.5{row-gap:0.125rem;}
.plui-gap-1{gap:0.25rem;}
.plui-gap-x-1{column-gap:0.25rem;}
.plui-gap-y-1{row-gap:0.25rem;}
.plui-gap-1.5{gap:0.375rem;}
.plui-gap-x-1.5{column-gap:0.375rem;}
.plui-gap-y-1.5{row-gap:0.375rem;}
.plui-gap-2{gap:0.5rem;}
.plui-gap-x-2{column-gap:0.5rem;}
.plui-gap-y-2{row-gap:0.5rem;}
.plui-gap-2.5{gap:0.625rem;}
.plui-gap-x-2.5{column-gap:0.625rem;}
.plui-gap-y-2.5{row-gap:0.625rem;}
.plui-gap-3{gap:0.75rem;}
.plui-gap-x-3{column-gap:0.75rem;}
.plui-gap-y-3{row-gap:0.75rem;}
.plui-gap-3.5{gap:0.875rem;}
.plui-gap-x-3.5{column-gap:0.875rem;}
.plui-gap-y-3.5{row-gap:0.875rem;}
.plui-gap-4{gap:1rem;}
.plui-gap-x-4{column-gap:1rem;}
.plui-gap-y-4{row-gap:1rem;}
.plui-gap-5{gap:1.25rem;}
.plui-gap-x-5{column-gap:1.25rem;}
.plui-gap-y-5{row-gap:1.25rem;}
.plui-gap-6{gap:1.5rem;}
.plui-gap-x-6{column-gap:1.5rem;}
.plui-gap-y-6{row-gap:1.5rem;}
.plui-gap-7{gap:1.75rem;}
.plui-gap-x-7{column-gap:1.75rem;}
.plui-gap-y-7{row-gap:1.75rem;}
.plui-gap-8{gap:2rem;}
.plui-gap-x-8{column-gap:2rem;}
.plui-gap-y-8{row-gap:2rem;}
.plui-gap-9{gap:2.25rem;}
.plui-gap-x-9{column-gap:2.25rem;}
.plui-gap-y-9{row-gap:2.25rem;}
.plui-gap-10{gap:2.5rem;}
.plui-gap-x-10{column-gap:2.5rem;}
.plui-gap-y-10{row-gap:2.5rem;}
.plui-gap-11{gap:2.75rem;}
.plui-gap-x-11{column-gap:2.75rem;}
.plui-gap-y-11{row-gap:2.75rem;}
.plui-gap-12{gap:3rem;}
.plui-gap-x-12{column-gap:3rem;}
.plui-gap-y-12{row-gap:3rem;}
.plui-gap-14{gap:3.5rem;}
.plui-gap-x-14{column-gap:3.5rem;}
.plui-gap-y-14{row-gap:3.5rem;}
.plui-gap-16{gap:4rem;}
.plui-gap-x-16{column-gap:4rem;}
.plui-gap-y-16{row-gap:4rem;}
.plui-gap-20{gap:5rem;}
.plui-gap-x-20{column-gap:5rem;}
.plui-gap-y-20{row-gap:5rem;}
.plui-gap-24{gap:6rem;}
.plui-gap-x-24{column-gap:6rem;}
.plui-gap-y-24{row-gap:6rem;}
.plui-gap-28{gap:7rem;}
.plui-gap-x-28{column-gap:7rem;}
.plui-gap-y-28{row-gap:7rem;}
.plui-gap-32{gap:8rem;}
.plui-gap-x-32{column-gap:8rem;}
.plui-gap-y-32{row-gap:8rem;}
.plui-gap-36{gap:9rem;}
.plui-gap-x-36{column-gap:9rem;}
.plui-gap-y-36{row-gap:9rem;}
.plui-gap-40{gap:10rem;}
.plui-gap-x-40{column-gap:10rem;}
.plui-gap-y-40{row-gap:10rem;}
.plui-gap-44{gap:11rem;}
.plui-gap-x-44{column-gap:11rem;}
.plui-gap-y-44{row-gap:11rem;}
.plui-gap-48{gap:12rem;}
.plui-gap-x-48{column-gap:12rem;}
.plui-gap-y-48{row-gap:12rem;}
.plui-gap-52{gap:13rem;}
.plui-gap-x-52{column-gap:13rem;}
.plui-gap-y-52{row-gap:13rem;}
.plui-gap-56{gap:14rem;}
.plui-gap-x-56{column-gap:14rem;}
.plui-gap-y-56{row-gap:14rem;}
.plui-gap-60{gap:15rem;}
.plui-gap-x-60{column-gap:15rem;}
.plui-gap-y-60{row-gap:15rem;}
.plui-gap-64{gap:16rem;}
.plui-gap-x-64{column-gap:16rem;}
.plui-gap-y-64{row-gap:16rem;}
.plui-gap-72{gap:18rem;}
.plui-gap-x-72{column-gap:18rem;}
.plui-gap-y-72{row-gap:18rem;}
.plui-gap-80{gap:20rem;}
.plui-gap-x-80{column-gap:20rem;}
.plui-gap-y-80{row-gap:20rem;}
.plui-gap-96{gap:24rem;}
.plui-gap-x-96{column-gap:24rem;}
.plui-gap-y-96{row-gap:24rem;}
.plui-space-x-0 > :not([hidden]) ~ :not([hidden]){margin-left:0rem;}
.plui-space-y-0 > :not([hidden]) ~ :not([hidden]){margin-top:0rem;}
.plui-space-x-px > :not([hidden]) ~ :not([hidden]){margin-left:1px;}
.plui-space-y-px > :not([hidden]) ~ :not([hidden]){margin-top:1px;}
.plui-space-x-0.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.125rem;}
.plui-space-y-0.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.125rem;}
.plui-space-x-1 > :not([hidden]) ~ :not([hidden]){margin-left:0.25rem;}
.plui-space-y-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem;}
.plui-space-x-1.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.375rem;}
.plui-space-y-1.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.375rem;}
.plui-space-x-2 > :not([hidden]) ~ :not([hidden]){margin-left:0.5rem;}
.plui-space-y-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.plui-space-x-2.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.625rem;}
.plui-space-y-2.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.625rem;}
.plui-space-x-3 > :not([hidden]) ~ :not([hidden]){margin-left:0.75rem;}
.plui-space-y-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.plui-space-x-3.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.875rem;}
.plui-space-y-3.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.875rem;}
.plui-space-x-4 > :not([hidden]) ~ :not([hidden]){margin-left:1rem;}
.plui-space-y-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}
.plui-space-x-5 > :not([hidden]) ~ :not([hidden]){margin-left:1.25rem;}
.plui-space-y-5 > :not([hidden]) ~ :not([hidden]){margin-top:1.25rem;}
.plui-space-x-6 > :not([hidden]) ~ :not([hidden]){margin-left:1.5rem;}
.plui-space-y-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem;}
.plui-space-x-7 > :not([hidden]) ~ :not([hidden]){margin-left:1.75rem;}
.plui-space-y-7 > :not([hidden]) ~ :not([hidden]){margin-top:1.75rem;}
.plui-space-x-8 > :not([hidden]) ~ :not([hidden]){margin-left:2rem;}
.plui-space-y-8 > :not([hidden]) ~ :not([hidden]){margin-top:2rem;}
.plui-space-x-9 > :not([hidden]) ~ :not([hidden]){margin-left:2.25rem;}
.plui-space-y-9 > :not([hidden]) ~ :not([hidden]){margin-top:2.25rem;}
.plui-space-x-10 > :not([hidden]) ~ :not([hidden]){margin-left:2.5rem;}
.plui-space-y-10 > :not([hidden]) ~ :not([hidden]){margin-top:2.5rem;}
.plui-space-x-11 > :not([hidden]) ~ :not([hidden]){margin-left:2.75rem;}
.plui-space-y-11 > :not([hidden]) ~ :not([hidden]){margin-top:2.75rem;}
.plui-space-x-12 > :not([hidden]) ~ :not([hidden]){margin-left:3rem;}
.plui-space-y-12 > :not([hidden]) ~ :not([hidden]){margin-top:3rem;}
.plui-space-x-14 > :not([hidden]) ~ :not([hidden]){margin-left:3.5rem;}
.plui-space-y-14 > :not([hidden]) ~ :not([hidden]){margin-top:3.5rem;}
.plui-space-x-16 > :not([hidden]) ~ :not([hidden]){margin-left:4rem;}
.plui-space-y-16 > :not([hidden]) ~ :not([hidden]){margin-top:4rem;}
.plui-space-x-20 > :not([hidden]) ~ :not([hidden]){margin-left:5rem;}
.plui-space-y-20 > :not([hidden]) ~ :not([hidden]){margin-top:5rem;}
.plui-space-x-24 > :not([hidden]) ~ :not([hidden]){margin-left:6rem;}
.plui-space-y-24 > :not([hidden]) ~ :not([hidden]){margin-top:6rem;}
.plui-space-x-28 > :not([hidden]) ~ :not([hidden]){margin-left:7rem;}
.plui-space-y-28 > :not([hidden]) ~ :not([hidden]){margin-top:7rem;}
.plui-space-x-32 > :not([hidden]) ~ :not([hidden]){margin-left:8rem;}
.plui-space-y-32 > :not([hidden]) ~ :not([hidden]){margin-top:8rem;}
.plui-space-x-36 > :not([hidden]) ~ :not([hidden]){margin-left:9rem;}
.plui-space-y-36 > :not([hidden]) ~ :not([hidden]){margin-top:9rem;}
.plui-space-x-40 > :not([hidden]) ~ :not([hidden]){margin-left:10rem;}
.plui-space-y-40 > :not([hidden]) ~ :not([hidden]){margin-top:10rem;}
.plui-space-x-44 > :not([hidden]) ~ :not([hidden]){margin-left:11rem;}
.plui-space-y-44 > :not([hidden]) ~ :not([hidden]){margin-top:11rem;}
.plui-space-x-48 > :not([hidden]) ~ :not([hidden]){margin-left:12rem;}
.plui-space-y-48 > :not([hidden]) ~ :not([hidden]){margin-top:12rem;}
.plui-space-x-52 > :not([hidden]) ~ :not([hidden]){margin-left:13rem;}
.plui-space-y-52 > :not([hidden]) ~ :not([hidden]){margin-top:13rem;}
.plui-space-x-56 > :not([hidden]) ~ :not([hidden]){margin-left:14rem;}
.plui-space-y-56 > :not([hidden]) ~ :not([hidden]){margin-top:14rem;}
.plui-space-x-60 > :not([hidden]) ~ :not([hidden]){margin-left:15rem;}
.plui-space-y-60 > :not([hidden]) ~ :not([hidden]){margin-top:15rem;}
.plui-space-x-64 > :not([hidden]) ~ :not([hidden]){margin-left:16rem;}
.plui-space-y-64 > :not([hidden]) ~ :not([hidden]){margin-top:16rem;}
.plui-space-x-72 > :not([hidden]) ~ :not([hidden]){margin-left:18rem;}
.plui-space-y-72 > :not([hidden]) ~ :not([hidden]){margin-top:18rem;}
.plui-space-x-80 > :not([hidden]) ~ :not([hidden]){margin-left:20rem;}
.plui-space-y-80 > :not([hidden]) ~ :not([hidden]){margin-top:20rem;}
.plui-space-x-96 > :not([hidden]) ~ :not([hidden]){margin-left:24rem;}
.plui-space-y-96 > :not([hidden]) ~ :not([hidden]){margin-top:24rem;}

/* --- src/css/utilities/colors.css --- */
/* ============================================================
   plui 工具类 · 颜色：背景、文字、边框、填充描边、强调色、占位符
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   刻度表：build/generators/scales.js
   ============================================================ */

.plui-bg-muted{background-color:var(--plui-color-text-muted);}
.plui-text-muted{color:var(--plui-color-text-muted);}
.plui-border-muted{border-color:var(--plui-color-text-muted);}
.plui-bg-faint{background-color:var(--plui-color-text-faint);}
.plui-text-faint{color:var(--plui-color-text-faint);}
.plui-border-faint{border-color:var(--plui-color-text-faint);}
.plui-bg-strong{background-color:var(--plui-color-text-strong);}
.plui-text-strong{color:var(--plui-color-text-strong);}
.plui-border-strong{border-color:var(--plui-color-text-strong);}
.plui-bg-soft{background-color:var(--plui-color-bg-soft);}
.plui-text-soft{color:var(--plui-color-bg-soft);}
.plui-border-soft{border-color:var(--plui-color-bg-soft);}
.plui-bg-inverse{background-color:var(--plui-color-inverse);}
.plui-text-inverse{color:var(--plui-color-inverse);}
.plui-border-inverse{border-color:var(--plui-color-inverse);}
.plui-bg-inherit{background-color:inherit;}
.plui-text-inherit{color:inherit;}
.plui-border-inherit{border-color:inherit;}
.plui-fill-inherit{fill:inherit;}
.plui-stroke-inherit{stroke:inherit;}
.plui-accent-inherit{accent-color:inherit;}
.plui-caret-inherit{caret-color:inherit;}
.plui-bg-current{background-color:currentColor;}
.plui-text-current{color:currentColor;}
.plui-border-current{border-color:currentColor;}
.plui-fill-current{fill:currentColor;}
.plui-stroke-current{stroke:currentColor;}
.plui-accent-current{accent-color:currentColor;}
.plui-caret-current{caret-color:currentColor;}
.plui-bg-transparent{background-color:transparent;}
.plui-text-transparent{color:transparent;}
.plui-border-transparent{border-color:transparent;}
.plui-fill-transparent{fill:transparent;}
.plui-stroke-transparent{stroke:transparent;}
.plui-accent-transparent{accent-color:transparent;}
.plui-caret-transparent{caret-color:transparent;}
.plui-bg-black{background-color:#000000;}
.plui-text-black{color:#000000;}
.plui-border-black{border-color:#000000;}
.plui-fill-black{fill:#000000;}
.plui-stroke-black{stroke:#000000;}
.plui-accent-black{accent-color:#000000;}
.plui-caret-black{caret-color:#000000;}
.plui-bg-white{background-color:#ffffff;}
.plui-text-white{color:#ffffff;}
.plui-border-white{border-color:#ffffff;}
.plui-fill-white{fill:#ffffff;}
.plui-stroke-white{stroke:#ffffff;}
.plui-accent-white{accent-color:#ffffff;}
.plui-caret-white{caret-color:#ffffff;}
.plui-bg-gray-50{background-color:#f9fafb;}
.plui-text-gray-50{color:#f9fafb;}
.plui-border-gray-50{border-color:#f9fafb;}
.plui-fill-gray-50{fill:#f9fafb;}
.plui-stroke-gray-50{stroke:#f9fafb;}
.plui-accent-gray-50{accent-color:#f9fafb;}
.plui-caret-gray-50{caret-color:#f9fafb;}
.plui-bg-gray-100{background-color:#f3f4f6;}
.plui-text-gray-100{color:#f3f4f6;}
.plui-border-gray-100{border-color:#f3f4f6;}
.plui-fill-gray-100{fill:#f3f4f6;}
.plui-stroke-gray-100{stroke:#f3f4f6;}
.plui-accent-gray-100{accent-color:#f3f4f6;}
.plui-caret-gray-100{caret-color:#f3f4f6;}
.plui-bg-gray-200{background-color:#e5e7eb;}
.plui-text-gray-200{color:#e5e7eb;}
.plui-border-gray-200{border-color:#e5e7eb;}
.plui-fill-gray-200{fill:#e5e7eb;}
.plui-stroke-gray-200{stroke:#e5e7eb;}
.plui-accent-gray-200{accent-color:#e5e7eb;}
.plui-caret-gray-200{caret-color:#e5e7eb;}
.plui-bg-gray-300{background-color:#d1d5db;}
.plui-text-gray-300{color:#d1d5db;}
.plui-border-gray-300{border-color:#d1d5db;}
.plui-fill-gray-300{fill:#d1d5db;}
.plui-stroke-gray-300{stroke:#d1d5db;}
.plui-accent-gray-300{accent-color:#d1d5db;}
.plui-caret-gray-300{caret-color:#d1d5db;}
.plui-bg-gray-400{background-color:#9ca3af;}
.plui-text-gray-400{color:#9ca3af;}
.plui-border-gray-400{border-color:#9ca3af;}
.plui-fill-gray-400{fill:#9ca3af;}
.plui-stroke-gray-400{stroke:#9ca3af;}
.plui-accent-gray-400{accent-color:#9ca3af;}
.plui-caret-gray-400{caret-color:#9ca3af;}
.plui-bg-gray-500{background-color:#6b7280;}
.plui-text-gray-500{color:#6b7280;}
.plui-border-gray-500{border-color:#6b7280;}
.plui-fill-gray-500{fill:#6b7280;}
.plui-stroke-gray-500{stroke:#6b7280;}
.plui-accent-gray-500{accent-color:#6b7280;}
.plui-caret-gray-500{caret-color:#6b7280;}
.plui-bg-gray-600{background-color:#4b5563;}
.plui-text-gray-600{color:#4b5563;}
.plui-border-gray-600{border-color:#4b5563;}
.plui-fill-gray-600{fill:#4b5563;}
.plui-stroke-gray-600{stroke:#4b5563;}
.plui-accent-gray-600{accent-color:#4b5563;}
.plui-caret-gray-600{caret-color:#4b5563;}
.plui-bg-gray-700{background-color:#374151;}
.plui-text-gray-700{color:#374151;}
.plui-border-gray-700{border-color:#374151;}
.plui-fill-gray-700{fill:#374151;}
.plui-stroke-gray-700{stroke:#374151;}
.plui-accent-gray-700{accent-color:#374151;}
.plui-caret-gray-700{caret-color:#374151;}
.plui-bg-gray-800{background-color:#1f2937;}
.plui-text-gray-800{color:#1f2937;}
.plui-border-gray-800{border-color:#1f2937;}
.plui-fill-gray-800{fill:#1f2937;}
.plui-stroke-gray-800{stroke:#1f2937;}
.plui-accent-gray-800{accent-color:#1f2937;}
.plui-caret-gray-800{caret-color:#1f2937;}
.plui-bg-gray-900{background-color:#111827;}
.plui-text-gray-900{color:#111827;}
.plui-border-gray-900{border-color:#111827;}
.plui-fill-gray-900{fill:#111827;}
.plui-stroke-gray-900{stroke:#111827;}
.plui-accent-gray-900{accent-color:#111827;}
.plui-caret-gray-900{caret-color:#111827;}
.plui-bg-red-500{background-color:#ef4444;}
.plui-text-red-500{color:#ef4444;}
.plui-border-red-500{border-color:#ef4444;}
.plui-fill-red-500{fill:#ef4444;}
.plui-stroke-red-500{stroke:#ef4444;}
.plui-accent-red-500{accent-color:#ef4444;}
.plui-caret-red-500{caret-color:#ef4444;}
.plui-bg-red-600{background-color:#dc2626;}
.plui-text-red-600{color:#dc2626;}
.plui-border-red-600{border-color:#dc2626;}
.plui-fill-red-600{fill:#dc2626;}
.plui-stroke-red-600{stroke:#dc2626;}
.plui-accent-red-600{accent-color:#dc2626;}
.plui-caret-red-600{caret-color:#dc2626;}
.plui-bg-red-700{background-color:#b91c1c;}
.plui-text-red-700{color:#b91c1c;}
.plui-border-red-700{border-color:#b91c1c;}
.plui-fill-red-700{fill:#b91c1c;}
.plui-stroke-red-700{stroke:#b91c1c;}
.plui-accent-red-700{accent-color:#b91c1c;}
.plui-caret-red-700{caret-color:#b91c1c;}
.plui-bg-blue-500{background-color:#3b82f6;}
.plui-text-blue-500{color:#3b82f6;}
.plui-border-blue-500{border-color:#3b82f6;}
.plui-fill-blue-500{fill:#3b82f6;}
.plui-stroke-blue-500{stroke:#3b82f6;}
.plui-accent-blue-500{accent-color:#3b82f6;}
.plui-caret-blue-500{caret-color:#3b82f6;}
.plui-bg-blue-600{background-color:#2563eb;}
.plui-text-blue-600{color:#2563eb;}
.plui-border-blue-600{border-color:#2563eb;}
.plui-fill-blue-600{fill:#2563eb;}
.plui-stroke-blue-600{stroke:#2563eb;}
.plui-accent-blue-600{accent-color:#2563eb;}
.plui-caret-blue-600{caret-color:#2563eb;}
.plui-bg-blue-700{background-color:#1d4ed8;}
.plui-text-blue-700{color:#1d4ed8;}
.plui-border-blue-700{border-color:#1d4ed8;}
.plui-fill-blue-700{fill:#1d4ed8;}
.plui-stroke-blue-700{stroke:#1d4ed8;}
.plui-accent-blue-700{accent-color:#1d4ed8;}
.plui-caret-blue-700{caret-color:#1d4ed8;}
.plui-bg-green-500{background-color:#22c55e;}
.plui-text-green-500{color:#22c55e;}
.plui-border-green-500{border-color:#22c55e;}
.plui-fill-green-500{fill:#22c55e;}
.plui-stroke-green-500{stroke:#22c55e;}
.plui-accent-green-500{accent-color:#22c55e;}
.plui-caret-green-500{caret-color:#22c55e;}
.plui-bg-green-600{background-color:#16a34a;}
.plui-text-green-600{color:#16a34a;}
.plui-border-green-600{border-color:#16a34a;}
.plui-fill-green-600{fill:#16a34a;}
.plui-stroke-green-600{stroke:#16a34a;}
.plui-accent-green-600{accent-color:#16a34a;}
.plui-caret-green-600{caret-color:#16a34a;}
.plui-bg-green-700{background-color:#15803d;}
.plui-text-green-700{color:#15803d;}
.plui-border-green-700{border-color:#15803d;}
.plui-fill-green-700{fill:#15803d;}
.plui-stroke-green-700{stroke:#15803d;}
.plui-accent-green-700{accent-color:#15803d;}
.plui-caret-green-700{caret-color:#15803d;}
.plui-bg-yellow-500{background-color:#eab308;}
.plui-text-yellow-500{color:#eab308;}
.plui-border-yellow-500{border-color:#eab308;}
.plui-fill-yellow-500{fill:#eab308;}
.plui-stroke-yellow-500{stroke:#eab308;}
.plui-accent-yellow-500{accent-color:#eab308;}
.plui-caret-yellow-500{caret-color:#eab308;}
.plui-bg-yellow-600{background-color:#ca8a04;}
.plui-text-yellow-600{color:#ca8a04;}
.plui-border-yellow-600{border-color:#ca8a04;}
.plui-fill-yellow-600{fill:#ca8a04;}
.plui-stroke-yellow-600{stroke:#ca8a04;}
.plui-accent-yellow-600{accent-color:#ca8a04;}
.plui-caret-yellow-600{caret-color:#ca8a04;}
.plui-bg-indigo-500{background-color:#6366f1;}
.plui-text-indigo-500{color:#6366f1;}
.plui-border-indigo-500{border-color:#6366f1;}
.plui-fill-indigo-500{fill:#6366f1;}
.plui-stroke-indigo-500{stroke:#6366f1;}
.plui-accent-indigo-500{accent-color:#6366f1;}
.plui-caret-indigo-500{caret-color:#6366f1;}
.plui-bg-indigo-600{background-color:#4f46e5;}
.plui-text-indigo-600{color:#4f46e5;}
.plui-border-indigo-600{border-color:#4f46e5;}
.plui-fill-indigo-600{fill:#4f46e5;}
.plui-stroke-indigo-600{stroke:#4f46e5;}
.plui-accent-indigo-600{accent-color:#4f46e5;}
.plui-caret-indigo-600{caret-color:#4f46e5;}
.plui-bg-indigo-700{background-color:#4338ca;}
.plui-text-indigo-700{color:#4338ca;}
.plui-border-indigo-700{border-color:#4338ca;}
.plui-fill-indigo-700{fill:#4338ca;}
.plui-stroke-indigo-700{stroke:#4338ca;}
.plui-accent-indigo-700{accent-color:#4338ca;}
.plui-caret-indigo-700{caret-color:#4338ca;}
.plui-bg-purple-500{background-color:#a855f7;}
.plui-text-purple-500{color:#a855f7;}
.plui-border-purple-500{border-color:#a855f7;}
.plui-fill-purple-500{fill:#a855f7;}
.plui-stroke-purple-500{stroke:#a855f7;}
.plui-accent-purple-500{accent-color:#a855f7;}
.plui-caret-purple-500{caret-color:#a855f7;}
.plui-bg-purple-600{background-color:#9333ea;}
.plui-text-purple-600{color:#9333ea;}
.plui-border-purple-600{border-color:#9333ea;}
.plui-fill-purple-600{fill:#9333ea;}
.plui-stroke-purple-600{stroke:#9333ea;}
.plui-accent-purple-600{accent-color:#9333ea;}
.plui-caret-purple-600{caret-color:#9333ea;}
.plui-bg-pink-500{background-color:#ec4899;}
.plui-text-pink-500{color:#ec4899;}
.plui-border-pink-500{border-color:#ec4899;}
.plui-fill-pink-500{fill:#ec4899;}
.plui-stroke-pink-500{stroke:#ec4899;}
.plui-accent-pink-500{accent-color:#ec4899;}
.plui-caret-pink-500{caret-color:#ec4899;}
.plui-bg-pink-600{background-color:#db2777;}
.plui-text-pink-600{color:#db2777;}
.plui-border-pink-600{border-color:#db2777;}
.plui-fill-pink-600{fill:#db2777;}
.plui-stroke-pink-600{stroke:#db2777;}
.plui-accent-pink-600{accent-color:#db2777;}
.plui-caret-pink-600{caret-color:#db2777;}
.plui-placeholder-inherit::placeholder{color:inherit;opacity:1;}
.plui-placeholder-current::placeholder{color:currentColor;opacity:1;}
.plui-placeholder-transparent::placeholder{color:transparent;opacity:1;}
.plui-placeholder-black::placeholder{color:#000000;opacity:1;}
.plui-placeholder-white::placeholder{color:#ffffff;opacity:1;}
.plui-placeholder-gray-50::placeholder{color:#f9fafb;opacity:1;}
.plui-placeholder-gray-100::placeholder{color:#f3f4f6;opacity:1;}
.plui-placeholder-gray-200::placeholder{color:#e5e7eb;opacity:1;}
.plui-placeholder-gray-300::placeholder{color:#d1d5db;opacity:1;}
.plui-placeholder-gray-400::placeholder{color:#9ca3af;opacity:1;}
.plui-placeholder-gray-500::placeholder{color:#6b7280;opacity:1;}
.plui-placeholder-gray-600::placeholder{color:#4b5563;opacity:1;}
.plui-placeholder-gray-700::placeholder{color:#374151;opacity:1;}
.plui-placeholder-gray-800::placeholder{color:#1f2937;opacity:1;}
.plui-placeholder-gray-900::placeholder{color:#111827;opacity:1;}
.plui-placeholder-red-500::placeholder{color:#ef4444;opacity:1;}
.plui-placeholder-red-600::placeholder{color:#dc2626;opacity:1;}
.plui-placeholder-red-700::placeholder{color:#b91c1c;opacity:1;}
.plui-placeholder-blue-500::placeholder{color:#3b82f6;opacity:1;}
.plui-placeholder-blue-600::placeholder{color:#2563eb;opacity:1;}
.plui-placeholder-blue-700::placeholder{color:#1d4ed8;opacity:1;}
.plui-placeholder-green-500::placeholder{color:#22c55e;opacity:1;}
.plui-placeholder-green-600::placeholder{color:#16a34a;opacity:1;}
.plui-placeholder-green-700::placeholder{color:#15803d;opacity:1;}
.plui-placeholder-yellow-500::placeholder{color:#eab308;opacity:1;}
.plui-placeholder-yellow-600::placeholder{color:#ca8a04;opacity:1;}
.plui-placeholder-indigo-500::placeholder{color:#6366f1;opacity:1;}
.plui-placeholder-indigo-600::placeholder{color:#4f46e5;opacity:1;}
.plui-placeholder-indigo-700::placeholder{color:#4338ca;opacity:1;}
.plui-placeholder-purple-500::placeholder{color:#a855f7;opacity:1;}
.plui-placeholder-purple-600::placeholder{color:#9333ea;opacity:1;}
.plui-placeholder-pink-500::placeholder{color:#ec4899;opacity:1;}
.plui-placeholder-pink-600::placeholder{color:#db2777;opacity:1;}
.plui-divide-inherit{border-color:inherit;}
.plui-divide-current{border-color:currentColor;}
.plui-divide-transparent{border-color:transparent;}
.plui-divide-black{border-color:#000000;}
.plui-divide-white{border-color:#ffffff;}
.plui-divide-gray-50{border-color:#f9fafb;}
.plui-divide-gray-100{border-color:#f3f4f6;}
.plui-divide-gray-200{border-color:#e5e7eb;}
.plui-divide-gray-300{border-color:#d1d5db;}
.plui-divide-gray-400{border-color:#9ca3af;}
.plui-divide-gray-500{border-color:#6b7280;}
.plui-divide-gray-600{border-color:#4b5563;}
.plui-divide-gray-700{border-color:#374151;}
.plui-divide-gray-800{border-color:#1f2937;}
.plui-divide-gray-900{border-color:#111827;}
.plui-divide-red-500{border-color:#ef4444;}
.plui-divide-red-600{border-color:#dc2626;}
.plui-divide-red-700{border-color:#b91c1c;}
.plui-divide-blue-500{border-color:#3b82f6;}
.plui-divide-blue-600{border-color:#2563eb;}
.plui-divide-blue-700{border-color:#1d4ed8;}
.plui-divide-green-500{border-color:#22c55e;}
.plui-divide-green-600{border-color:#16a34a;}
.plui-divide-green-700{border-color:#15803d;}
.plui-divide-yellow-500{border-color:#eab308;}
.plui-divide-yellow-600{border-color:#ca8a04;}
.plui-divide-indigo-500{border-color:#6366f1;}
.plui-divide-indigo-600{border-color:#4f46e5;}
.plui-divide-indigo-700{border-color:#4338ca;}
.plui-divide-purple-500{border-color:#a855f7;}
.plui-divide-purple-600{border-color:#9333ea;}
.plui-divide-pink-500{border-color:#ec4899;}
.plui-divide-pink-600{border-color:#db2777;}
.plui-stroke-0{stroke-width:0;}
.plui-stroke-1{stroke-width:1;}
.plui-stroke-2{stroke-width:2;}
.plui-stroke-none{stroke:none;}
.plui-fill-none{fill:none;}

/* --- src/css/utilities/typography.css --- */
/* ============================================================
   plui 工具类 · 排版：字号、字重、字体族、字距、行高、对齐、大小写、装饰、截断
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   刻度表：build/generators/scales.js
   ============================================================ */

.plui-text-xs{font-size:0.75rem;line-height:1rem;}
.plui-text-sm{font-size:0.875rem;line-height:1.25rem;}
.plui-text-base{font-size:1rem;line-height:1.5rem;}
.plui-text-lg{font-size:1.125rem;line-height:1.75rem;}
.plui-text-xl{font-size:1.25rem;line-height:2rem;}
.plui-text-2xl{font-size:1.5rem;line-height:2rem;}
.plui-text-3xl{font-size:1.875rem;line-height:2.25rem;}
.plui-text-4xl{font-size:2.25rem;line-height:2.5rem;}
.plui-text-5xl{font-size:3rem;line-height:1;}
.plui-text-6xl{font-size:3.75rem;line-height:1;}
.plui-text-7xl{font-size:4.5rem;line-height:1;}
.plui-text-8xl{font-size:6rem;line-height:1;}
.plui-text-9xl{font-size:8rem;line-height:1;}
.plui-font-thin{font-weight:100;}
.plui-font-extralight{font-weight:200;}
.plui-font-light{font-weight:300;}
.plui-font-normal{font-weight:400;}
.plui-font-medium{font-weight:500;}
.plui-font-semibold{font-weight:600;}
.plui-font-bold{font-weight:700;}
.plui-font-extrabold{font-weight:800;}
.plui-font-black{font-weight:900;}
.plui-font-sans{font-family:var(--plui-font-sans);}
.plui-font-serif{font-family:var(--plui-font-serif);}
.plui-font-mono{font-family:var(--plui-font-mono);}
.plui-font-style-italic{font-style:italic;}
.plui-font-style-normal{font-style:normal;}
.plui-tracking-tighter{letter-spacing:-0.05em;}
.plui-tracking-tight{letter-spacing:-0.025em;}
.plui-tracking-normal{letter-spacing:0;}
.plui-tracking-wide{letter-spacing:0.025em;}
.plui-tracking-wider{letter-spacing:0.05em;}
.plui-tracking-widest{letter-spacing:0.1em;}
.plui-leading-none{line-height:1;}
.plui-leading-tight{line-height:1.25;}
.plui-leading-snug{line-height:1.375;}
.plui-leading-normal{line-height:1.5;}
.plui-leading-relaxed{line-height:1.625;}
.plui-leading-loose{line-height:2;}
.plui-leading-3{line-height:3;}
.plui-leading-4{line-height:4;}
.plui-leading-5{line-height:5;}
.plui-leading-6{line-height:6;}
.plui-leading-7{line-height:7;}
.plui-leading-8{line-height:8;}
.plui-leading-9{line-height:9;}
.plui-leading-10{line-height:10;}
.plui-text-left{text-align:left;}
.plui-text-center{text-align:center;}
.plui-text-right{text-align:right;}
.plui-text-justify{text-align:justify;}
.plui-text-start{text-align:start;}
.plui-text-end{text-align:end;}
.plui-uppercase{text-transform:uppercase;}
.plui-lowercase{text-transform:lowercase;}
.plui-capitalize{text-transform:capitalize;}
.plui-normal-case{text-transform:none;}
.plui-underline{text-decoration-line:underline;}
.plui-overline{text-decoration-line:overline;}
.plui-line-through{text-decoration-line:line-through;}
.plui-no-underline{text-decoration-line:none;}
.plui-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plui-text-ellipsis{text-overflow:ellipsis;}
.plui-text-wrap{text-wrap:wrap;}
.plui-text-nowrap{text-wrap:nowrap;}
.plui-text-balance{text-wrap:balance;}
.plui-text-pretty{text-wrap:pretty;}
.plui-break-normal{overflow-wrap:normal;word-break:normal;}
.plui-break-words{overflow-wrap:break-word;word-break:break-word;}
.plui-break-all{word-break:break-all;}
.plui-break-keep{word-break:keep-all;}
.plui-list-none{list-style-type:none;}
.plui-list-disc{list-style-type:disc;}
.plui-list-decimal{list-style-type:decimal;}
.plui-list-inside{list-style-position:inside;}
.plui-list-outside{list-style-position:outside;}

/* --- src/css/utilities/layout.css --- */
/* ============================================================
   plui 工具类 · 布局：显示、定位、层级、浮动、尺寸、溢出、对象适配、可见性、变换
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   刻度表：build/generators/scales.js
   ============================================================ */

.plui-block{display:block;}
.plui-inline{display:inline;}
.plui-inline-block{display:inline-block;}
.plui-flex{display:flex;}
.plui-inline-flex{display:inline-flex;}
.plui-grid{display:grid;}
.plui-inline-grid{display:inline-grid;}
.plui-flow-root{display:flow-root;}
.plui-contents{display:contents;}
.plui-hidden{display:none;}
.plui-static{position:static;}
.plui-fixed{position:fixed;}
.plui-absolute{position:absolute;}
.plui-relative{position:relative;}
.plui-sticky{position:sticky;}
.plui-float-none{float:none;}
.plui-float-left{float:left;}
.plui-float-right{float:right;}
.plui-float-start{float:inline-start;}
.plui-float-end{float:inline-end;}
.plui-clear-none{clear:none;}
.plui-clear-left{clear:left;}
.plui-clear-right{clear:right;}
.plui-clear-both{clear:both;}
.plui-z-0{z-index:0;}
.plui-z-10{z-index:10;}
.plui-z-20{z-index:20;}
.plui-z-30{z-index:30;}
.plui-z-40{z-index:40;}
.plui-z-50{z-index:50;}
.plui-z-60{z-index:60;}
.plui-z-70{z-index:70;}
.plui-z-80{z-index:80;}
.plui-z-90{z-index:90;}
.plui-z-100{z-index:100;}
.plui-z-auto{z-index:auto;}
.plui-w-0{width:0;}
.plui-h-0{height:0;}
.plui-w-px{width:1px;}
.plui-h-px{height:1px;}
.plui-w-0.5{width:0.125rem;}
.plui-h-0.5{height:0.125rem;}
.plui-w-1{width:0.25rem;}
.plui-h-1{height:0.25rem;}
.plui-w-2{width:0.5rem;}
.plui-h-2{height:0.5rem;}
.plui-w-4{width:1rem;}
.plui-h-4{height:1rem;}
.plui-w-8{width:2rem;}
.plui-h-8{height:2rem;}
.plui-w-16{width:4rem;}
.plui-h-16{height:4rem;}
.plui-w-24{width:6rem;}
.plui-h-24{height:6rem;}
.plui-w-32{width:8rem;}
.plui-h-32{height:8rem;}
.plui-w-full{width:100%;}
.plui-h-full{height:100%;}
.plui-w-auto{width:auto;}
.plui-h-auto{height:auto;}
.plui-w-min{width:min-content;}
.plui-h-min{height:min-content;}
.plui-w-max{width:max-content;}
.plui-h-max{height:max-content;}
.plui-w-fit{width:fit-content;}
.plui-h-fit{height:fit-content;}
.plui-w-screen{width:100vw;}
.plui-h-screen{height:100vw;}
.plui-w-1\/12{width:8.333333%;}
.plui-h-1\/12{height:8.333333%;}
.plui-w-1\/6{width:16.666667%;}
.plui-h-1\/6{height:16.666667%;}
.plui-w-1\/4{width:25%;}
.plui-h-1\/4{height:25%;}
.plui-w-1\/3{width:33.333333%;}
.plui-h-1\/3{height:33.333333%;}
.plui-w-2\/5{width:40%;}
.plui-h-2\/5{height:40%;}
.plui-w-1\/2{width:50%;}
.plui-h-1\/2{height:50%;}
.plui-w-3\/5{width:60%;}
.plui-h-3\/5{height:60%;}
.plui-w-2\/3{width:66.666667%;}
.plui-h-2\/3{height:66.666667%;}
.plui-w-3\/4{width:75%;}
.plui-h-3\/4{height:75%;}
.plui-w-4\/5{width:80%;}
.plui-h-4\/5{height:80%;}
.plui-w-5\/6{width:83.333333%;}
.plui-h-5\/6{height:83.333333%;}
.plui-w-11\/12{width:91.666667%;}
.plui-h-11\/12{height:91.666667%;}
.plui-min-w-0{min-width:0;}
.plui-max-w-0{max-width:0;}
.plui-min-h-0{min-height:0;}
.plui-max-h-0{max-height:0;}
.plui-min-w-full{min-width:100%;}
.plui-max-w-full{max-width:100%;}
.plui-min-h-full{min-height:100%;}
.plui-max-h-full{max-height:100%;}
.plui-min-w-auto{min-width:auto;}
.plui-max-w-auto{max-width:auto;}
.plui-min-h-auto{min-height:auto;}
.plui-max-h-auto{max-height:auto;}
.plui-min-w-min{min-width:min-content;}
.plui-max-w-min{max-width:min-content;}
.plui-min-h-min{min-height:min-content;}
.plui-max-h-min{max-height:min-content;}
.plui-min-w-max{min-width:max-content;}
.plui-max-w-max{max-width:max-content;}
.plui-min-h-max{min-height:max-content;}
.plui-max-h-max{max-height:max-content;}
.plui-min-w-fit{min-width:fit-content;}
.plui-max-w-fit{max-width:fit-content;}
.plui-min-h-fit{min-height:fit-content;}
.plui-max-h-fit{max-height:fit-content;}
.plui-min-w-screen{min-width:100vw;}
.plui-max-w-screen{max-width:100vw;}
.plui-min-h-screen{min-height:100vw;}
.plui-max-h-screen{max-height:100vw;}
.plui-overflow-auto{overflow:auto;}
.plui-overflow-x-auto{overflow-x:auto;}
.plui-overflow-y-auto{overflow-y:auto;}
.plui-overflow-hidden{overflow:hidden;}
.plui-overflow-x-hidden{overflow-x:hidden;}
.plui-overflow-y-hidden{overflow-y:hidden;}
.plui-overflow-clip{overflow:clip;}
.plui-overflow-x-clip{overflow-x:clip;}
.plui-overflow-y-clip{overflow-y:clip;}
.plui-overflow-visible{overflow:visible;}
.plui-overflow-x-visible{overflow-x:visible;}
.plui-overflow-y-visible{overflow-y:visible;}
.plui-overflow-scroll{overflow:scroll;}
.plui-overflow-x-scroll{overflow-x:scroll;}
.plui-overflow-y-scroll{overflow-y:scroll;}
.plui-object-contain{object-fit:contain;}
.plui-object-cover{object-fit:cover;}
.plui-object-fill{object-fit:fill;}
.plui-object-none{object-fit:none;}
.plui-object-scale-down{object-fit:scale-down;}
.plui-object-bottom{object-position:bottom;}
.plui-object-center{object-position:center;}
.plui-object-left{object-position:left;}
.plui-object-left-bottom{object-position:left-bottom;}
.plui-object-left-top{object-position:left-top;}
.plui-object-right{object-position:right;}
.plui-object-right-bottom{object-position:right-bottom;}
.plui-object-right-top{object-position:right-top;}
.plui-object-top{object-position:top;}
.plui-aspect-auto{aspect-ratio:auto;}
.plui-aspect-square{aspect-ratio:1 / 1;}
.plui-aspect-video{aspect-ratio:16 / 9;}
.plui-visibility-visible{visibility:visible;}
.plui-visibility-invisible{visibility:hidden;}
.plui-visibility-collapse{visibility:collapse;}
.plui-table-layout-auto{table-layout:auto;}
.plui-table-layout-fixed{table-layout:fixed;}
.plui-border-collapse-collapse{border-collapse:collapse;}
.plui-border-collapse-separate{border-collapse:separate;}
.plui-box-sizing-border-box{box-sizing:border-box;}
.plui-box-sizing-content-box{box-sizing:content-box;}
.plui-transform-none{transform:none;}
.plui-translate-x-0{transform:translateX(0);}
.plui-translate-x-full{transform:translateX(100%);}
.plui-translate-x--full{transform:translateX(-100%);}
.plui-translate-y-0{transform:translateY(0);}
.plui-translate-y-full{transform:translateY(100%);}
.plui-translate-y--full{transform:translateY(-100%);}
.plui-scale-0{transform:scale(0);}
.plui-scale-50{transform:scale(0.5);}
.plui-scale-75{transform:scale(0.75);}
.plui-scale-90{transform:scale(0.9);}
.plui-scale-100{transform:scale(1);}
.plui-scale-105{transform:scale(1.05);}
.plui-scale-110{transform:scale(1.1);}
.plui-scale-125{transform:scale(1.25);}
.plui-rotate-0{transform:rotate(0deg);}
.plui-rotate-45{transform:rotate(45deg);}
.plui-rotate-90{transform:rotate(90deg);}
.plui-rotate-180{transform:rotate(180deg);}
.plui-transform{transform:translate(var(--plui-translate-x,0),var(--plui-translate-y,0)) scale(var(--plui-scale,1)) rotate(var(--plui-rotate,0deg));}
.plui-skew-x-0{transform:skewX(0deg);}
.plui-skew-x-6{transform:skewX(6deg);}
.plui-skew-y-0{transform:skewY(0deg);}
.plui-skew-y-6{transform:skewY(6deg);}
.plui-origin-center{transform-origin:center;}
.plui-origin-top{transform-origin:top;}
.plui-origin-bottom{transform-origin:bottom;}
.plui-origin-left{transform-origin:left;}
.plui-origin-right{transform-origin:right;}
.plui-will-change-auto{will-change:auto;}
.plui-will-change-transform{will-change:transform;}
.plui-will-change-opacity{will-change:opacity;}
.plui-isolation-auto{isolation:auto;}
.plui-isolation-isolate{isolation:isolate;}
.plui-scroll-smooth{scroll-behavior:smooth;}
.plui-scroll-auto{scroll-behavior:auto;}
.plui-align-top{vertical-align:top;}
.plui-align-middle{vertical-align:middle;}
.plui-align-bottom{vertical-align:bottom;}
.plui-align-baseline{vertical-align:baseline;}
.plui-align-sub{vertical-align:sub;}
.plui-align-super{vertical-align:super;}
.plui-align-text-top{vertical-align:text-top;}
.plui-align-text-bottom{vertical-align:text-bottom;}

/* --- src/css/utilities/flexgrid.css --- */
/* ============================================================
   plui 工具类 · 弹性盒与网格：方向、换行、伸缩、顺序、对齐、网格列行与跨度
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   刻度表：build/generators/scales.js
   ============================================================ */

.plui-flex-1{flex:1 1 0%;}
.plui-flex-auto{flex:1 1 auto;}
.plui-flex-initial{flex:0 1 auto;}
.plui-flex-none{flex:none;}
.plui-flex-row{flex-direction:row;}
.plui-flex-row-reverse{flex-direction:row-reverse;}
.plui-flex-col{flex-direction:column;}
.plui-flex-col-reverse{flex-direction:column-reverse;}
.plui-flex-wrap{flex-wrap:wrap;}
.plui-flex-nowrap{flex-wrap:nowrap;}
.plui-flex-wrap-reverse{flex-wrap:wrap-reverse;}
.plui-flex-grow-0{flex-grow:0;}
.plui-flex-grow-1{flex-grow:1;}
.plui-flex-shrink-0{flex-shrink:0;}
.plui-flex-shrink-1{flex-shrink:1;}
.plui-basis-auto{flex-basis:auto;}
.plui-basis-full{flex-basis:100%;}
.plui-basis-0{flex-basis:0;}
.plui-basis-1{flex-basis:0.25rem;}
.plui-basis-2{flex-basis:0.5rem;}
.plui-basis-4{flex-basis:1rem;}
.plui-basis-8{flex-basis:2rem;}
.plui-basis-1\/12{flex-basis:8.333333%;}
.plui-basis-1\/6{flex-basis:16.666667%;}
.plui-basis-1\/4{flex-basis:25%;}
.plui-basis-1\/3{flex-basis:33.333333%;}
.plui-basis-2\/5{flex-basis:40%;}
.plui-basis-1\/2{flex-basis:50%;}
.plui-basis-3\/5{flex-basis:60%;}
.plui-basis-2\/3{flex-basis:66.666667%;}
.plui-basis-3\/4{flex-basis:75%;}
.plui-basis-4\/5{flex-basis:80%;}
.plui-basis-5\/6{flex-basis:83.333333%;}
.plui-basis-11\/12{flex-basis:91.666667%;}
.plui-order-0{order:0;}
.plui-order-1{order:1;}
.plui-order-2{order:2;}
.plui-order-3{order:3;}
.plui-order-4{order:4;}
.plui-order-5{order:5;}
.plui-order-6{order:6;}
.plui-order-7{order:7;}
.plui-order-8{order:8;}
.plui-order-9{order:9;}
.plui-order-10{order:10;}
.plui-order-11{order:11;}
.plui-order-12{order:12;}
.plui-order-first{order:-9999;}
.plui-order-last{order:9999;}
.plui-order-none{order:0;}
.plui-justify-start{justify-content:start;}
.plui-justify-end{justify-content:end;}
.plui-justify-center{justify-content:center;}
.plui-justify-between{justify-content:between;}
.plui-justify-around{justify-content:around;}
.plui-justify-evenly{justify-content:evenly;}
.plui-items-start{align-items:start;}
.plui-items-end{align-items:end;}
.plui-items-center{align-items:center;}
.plui-items-baseline{align-items:baseline;}
.plui-items-stretch{align-items:stretch;}
.plui-content-start{align-content:start;}
.plui-content-end{align-content:end;}
.plui-content-center{align-content:center;}
.plui-content-between{align-content:between;}
.plui-content-around{align-content:around;}
.plui-content-evenly{align-content:evenly;}
.plui-self-auto{align-self:auto;}
.plui-self-start{align-self:start;}
.plui-self-end{align-self:end;}
.plui-self-center{align-self:center;}
.plui-self-stretch{align-self:stretch;}
.plui-self-baseline{align-self:baseline;}
.plui-place-items-center{place-items:center;}
.plui-place-items-start{place-items:start;}
.plui-place-items-end{place-items:end;}
.plui-place-items-stretch{place-items:stretch;}
.plui-place-items-baseline{place-items:baseline;}
.plui-place-content-center{place-content:center;}
.plui-place-content-start{place-content:start;}
.plui-place-content-end{place-content:end;}
.plui-place-content-stretch{place-content:stretch;}
.plui-place-content-between{place-content:between;}
.plui-place-content-around{place-content:around;}
.plui-place-content-evenly{place-content:evenly;}
.plui-grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));}
.plui-grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr));}
.plui-grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.plui-grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr));}
.plui-grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.plui-grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr));}
.plui-grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.plui-grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr));}
.plui-grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}
.plui-grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr));}
.plui-grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}
.plui-grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr));}
.plui-grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}
.plui-grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr));}
.plui-grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));}
.plui-grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr));}
.plui-grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));}
.plui-grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr));}
.plui-grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));}
.plui-grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr));}
.plui-grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));}
.plui-grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr));}
.plui-grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));}
.plui-grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr));}
.plui-grid-cols-none{grid-template-columns:none;}
.plui-grid-rows-none{grid-template-rows:none;}
.plui-col-span-1{grid-column:span 1 / span 1;}
.plui-row-span-1{grid-row:span 1 / span 1;}
.plui-col-span-2{grid-column:span 2 / span 2;}
.plui-row-span-2{grid-row:span 2 / span 2;}
.plui-col-span-3{grid-column:span 3 / span 3;}
.plui-row-span-3{grid-row:span 3 / span 3;}
.plui-col-span-4{grid-column:span 4 / span 4;}
.plui-row-span-4{grid-row:span 4 / span 4;}
.plui-col-span-5{grid-column:span 5 / span 5;}
.plui-row-span-5{grid-row:span 5 / span 5;}
.plui-col-span-6{grid-column:span 6 / span 6;}
.plui-row-span-6{grid-row:span 6 / span 6;}
.plui-col-span-7{grid-column:span 7 / span 7;}
.plui-row-span-7{grid-row:span 7 / span 7;}
.plui-col-span-8{grid-column:span 8 / span 8;}
.plui-row-span-8{grid-row:span 8 / span 8;}
.plui-col-span-9{grid-column:span 9 / span 9;}
.plui-row-span-9{grid-row:span 9 / span 9;}
.plui-col-span-10{grid-column:span 10 / span 10;}
.plui-row-span-10{grid-row:span 10 / span 10;}
.plui-col-span-11{grid-column:span 11 / span 11;}
.plui-row-span-11{grid-row:span 11 / span 11;}
.plui-col-span-12{grid-column:span 12 / span 12;}
.plui-row-span-12{grid-row:span 12 / span 12;}
.plui-col-span-full{grid-column:1 / -1;}
.plui-row-span-full{grid-row:1 / -1;}
.plui-col-start-1{grid-column-start:1;}
.plui-col-end-1{grid-column-end:1;}
.plui-row-start-1{grid-row-start:1;}
.plui-row-end-1{grid-row-end:1;}
.plui-col-start-2{grid-column-start:2;}
.plui-col-end-2{grid-column-end:2;}
.plui-row-start-2{grid-row-start:2;}
.plui-row-end-2{grid-row-end:2;}
.plui-col-start-3{grid-column-start:3;}
.plui-col-end-3{grid-column-end:3;}
.plui-row-start-3{grid-row-start:3;}
.plui-row-end-3{grid-row-end:3;}
.plui-col-start-4{grid-column-start:4;}
.plui-col-end-4{grid-column-end:4;}
.plui-row-start-4{grid-row-start:4;}
.plui-row-end-4{grid-row-end:4;}
.plui-col-start-5{grid-column-start:5;}
.plui-col-end-5{grid-column-end:5;}
.plui-row-start-5{grid-row-start:5;}
.plui-row-end-5{grid-row-end:5;}
.plui-col-start-6{grid-column-start:6;}
.plui-col-end-6{grid-column-end:6;}
.plui-row-start-6{grid-row-start:6;}
.plui-row-end-6{grid-row-end:6;}
.plui-col-start-7{grid-column-start:7;}
.plui-col-end-7{grid-column-end:7;}
.plui-row-start-7{grid-row-start:7;}
.plui-row-end-7{grid-row-end:7;}
.plui-col-start-8{grid-column-start:8;}
.plui-col-end-8{grid-column-end:8;}
.plui-row-start-8{grid-row-start:8;}
.plui-row-end-8{grid-row-end:8;}
.plui-col-start-9{grid-column-start:9;}
.plui-col-end-9{grid-column-end:9;}
.plui-row-start-9{grid-row-start:9;}
.plui-row-end-9{grid-row-end:9;}
.plui-col-start-10{grid-column-start:10;}
.plui-col-end-10{grid-column-end:10;}
.plui-row-start-10{grid-row-start:10;}
.plui-row-end-10{grid-row-end:10;}
.plui-col-start-11{grid-column-start:11;}
.plui-col-end-11{grid-column-end:11;}
.plui-row-start-11{grid-row-start:11;}
.plui-row-end-11{grid-row-end:11;}
.plui-col-start-12{grid-column-start:12;}
.plui-col-end-12{grid-column-end:12;}
.plui-row-start-12{grid-row-start:12;}
.plui-row-end-12{grid-row-end:12;}
.plui-col-start-13{grid-column-start:13;}
.plui-col-end-13{grid-column-end:13;}
.plui-row-start-13{grid-row-start:13;}
.plui-row-end-13{grid-row-end:13;}
.plui-col-start-auto{grid-column-start:auto;}
.plui-col-end-auto{grid-column-end:auto;}
.plui-row-start-auto{grid-row-start:auto;}
.plui-row-end-auto{grid-row-end:auto;}

/* --- src/css/utilities/borders.css --- */
/* ============================================================
   plui 工具类 · 边框：宽度、样式、圆角、分隔线、外描边、焦点环
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   刻度表：build/generators/scales.js
   ============================================================ */

.plui-border{border-width:1px;border-style:solid;}
.plui-border-0{border-width:0;}
.plui-border-2{border-width:2px;}
.plui-border-4{border-width:4px;}
.plui-border-8{border-width:8px;}
.plui-border-t{border-top-width:1px;}
.plui-border-t-0{border-top-width:0;}
.plui-border-t-2{border-top-width:2px;}
.plui-border-t-4{border-top-width:4px;}
.plui-border-t-8{border-top-width:8px;}
.plui-border-r{border-right-width:1px;}
.plui-border-r-0{border-right-width:0;}
.plui-border-r-2{border-right-width:2px;}
.plui-border-r-4{border-right-width:4px;}
.plui-border-r-8{border-right-width:8px;}
.plui-border-b{border-bottom-width:1px;}
.plui-border-b-0{border-bottom-width:0;}
.plui-border-b-2{border-bottom-width:2px;}
.plui-border-b-4{border-bottom-width:4px;}
.plui-border-b-8{border-bottom-width:8px;}
.plui-border-l{border-left-width:1px;}
.plui-border-l-0{border-left-width:0;}
.plui-border-l-2{border-left-width:2px;}
.plui-border-l-4{border-left-width:4px;}
.plui-border-l-8{border-left-width:8px;}
.plui-border-solid{border-style:solid;}
.plui-border-dashed{border-style:dashed;}
.plui-border-dotted{border-style:dotted;}
.plui-border-double{border-style:double;}
.plui-border-groove{border-style:groove;}
.plui-border-ridge{border-style:ridge;}
.plui-border-inset{border-style:inset;}
.plui-border-outset{border-style:outset;}
.plui-border-none{border-style:none;border-width:0;}
.plui-rounded{border-radius:2px;}
.plui-rounded-none{border-radius:0;}
.plui-rounded-sm{border-radius:1px;}
.plui-rounded-md{border-radius:2px;}
.plui-rounded-lg{border-radius:2px;}
.plui-rounded-xl{border-radius:2px;}
.plui-rounded-2xl{border-radius:2px;}
.plui-rounded-3xl{border-radius:2px;}
.plui-rounded-full{border-radius:9999px;}
.plui-rounded-t{border-top-radius:2px;}
.plui-rounded-t-none{border-top-radius:0;}
.plui-rounded-t-sm{border-top-radius:1px;}
.plui-rounded-t-md{border-top-radius:2px;}
.plui-rounded-t-lg{border-top-radius:2px;}
.plui-rounded-t-xl{border-top-radius:2px;}
.plui-rounded-t-2xl{border-top-radius:2px;}
.plui-rounded-t-3xl{border-top-radius:2px;}
.plui-rounded-t-full{border-top-radius:9999px;}
.plui-rounded-r{border-right-radius:2px;}
.plui-rounded-r-none{border-right-radius:0;}
.plui-rounded-r-sm{border-right-radius:1px;}
.plui-rounded-r-md{border-right-radius:2px;}
.plui-rounded-r-lg{border-right-radius:2px;}
.plui-rounded-r-xl{border-right-radius:2px;}
.plui-rounded-r-2xl{border-right-radius:2px;}
.plui-rounded-r-3xl{border-right-radius:2px;}
.plui-rounded-r-full{border-right-radius:9999px;}
.plui-rounded-b{border-bottom-radius:2px;}
.plui-rounded-b-none{border-bottom-radius:0;}
.plui-rounded-b-sm{border-bottom-radius:1px;}
.plui-rounded-b-md{border-bottom-radius:2px;}
.plui-rounded-b-lg{border-bottom-radius:2px;}
.plui-rounded-b-xl{border-bottom-radius:2px;}
.plui-rounded-b-2xl{border-bottom-radius:2px;}
.plui-rounded-b-3xl{border-bottom-radius:2px;}
.plui-rounded-b-full{border-bottom-radius:9999px;}
.plui-rounded-l{border-left-radius:2px;}
.plui-rounded-l-none{border-left-radius:0;}
.plui-rounded-l-sm{border-left-radius:1px;}
.plui-rounded-l-md{border-left-radius:2px;}
.plui-rounded-l-lg{border-left-radius:2px;}
.plui-rounded-l-xl{border-left-radius:2px;}
.plui-rounded-l-2xl{border-left-radius:2px;}
.plui-rounded-l-3xl{border-left-radius:2px;}
.plui-rounded-l-full{border-left-radius:9999px;}
.plui-divide-0{--plui-divide-width:0;}
.plui-divide-2{--plui-divide-width:2px;}
.plui-divide-4{--plui-divide-width:4px;}
.plui-divide-8{--plui-divide-width:8px;}
.plui-divide-x{--plui-divide-axis:x;}
.plui-divide-y{--plui-divide-axis:y;}
.plui-outline-none{outline:none solid currentColor;}
.plui-outline-0{outline:0px solid currentColor;}
.plui-outline-1{outline:1px solid currentColor;}
.plui-outline-2{outline:2px solid currentColor;}
.plui-outline-4{outline:4px solid currentColor;}
.plui-outline-8{outline:8px solid currentColor;}
.plui-outline-offset-0{outline-offset:0;}
.plui-outline-offset-1{outline-offset:1px;}
.plui-outline-offset-2{outline-offset:2px;}
.plui-ring-0{box-shadow:0 0 0 0 #000;}
.plui-ring-1{box-shadow:0 0 0 1px currentColor;}
.plui-ring-2{box-shadow:0 0 0 2px currentColor;}
.plui-ring-4{box-shadow:0 0 0 4px currentColor;}
.plui-ring-8{box-shadow:0 0 0 8px currentColor;}

/* --- src/css/utilities/effects.css --- */
/* ============================================================
   plui 工具类 · 效果：透明度、阴影、过渡、时长、缓动、延迟、动画
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   刻度表：build/generators/scales.js
   ============================================================ */

.plui-opacity-0{opacity:0;}
.plui-opacity-5{opacity:0.05;}
.plui-opacity-10{opacity:0.1;}
.plui-opacity-15{opacity:0.15;}
.plui-opacity-20{opacity:0.2;}
.plui-opacity-25{opacity:0.25;}
.plui-opacity-30{opacity:0.3;}
.plui-opacity-40{opacity:0.4;}
.plui-opacity-50{opacity:0.5;}
.plui-opacity-60{opacity:0.6;}
.plui-opacity-70{opacity:0.7;}
.plui-opacity-75{opacity:0.75;}
.plui-opacity-80{opacity:0.8;}
.plui-opacity-90{opacity:0.9;}
.plui-opacity-95{opacity:0.95;}
.plui-opacity-100{opacity:1;}
.plui-shadow-none{box-shadow:none;}
.plui-shadow-sm{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.12);}
.plui-shadow-md{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-shadow-lg{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.3);}
.plui-shadow-xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.4);}
.plui-shadow-2xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.55);}
.plui-shadow-inner{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-transition{transition-property:color,background-color,border-color,opacity,box-shadow,transform;}
.plui-transition-none{transition-property:none;}
.plui-transition-all{transition-property:all;}
.plui-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}
.plui-transition-opacity{transition-property:opacity;}
.plui-transition-shadow{transition-property:box-shadow;}
.plui-transition-transform{transition-property:transform;}
.plui-duration-0{transition-duration:0s;}
.plui-duration-75{transition-duration:75ms;}
.plui-duration-100{transition-duration:100ms;}
.plui-duration-150{transition-duration:150ms;}
.plui-duration-200{transition-duration:200ms;}
.plui-duration-300{transition-duration:300ms;}
.plui-duration-500{transition-duration:500ms;}
.plui-duration-700{transition-duration:700ms;}
.plui-duration-1000{transition-duration:1000ms;}
.plui-ease-linear{transition-timing-function:linear;}
.plui-ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}
.plui-ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}
.plui-ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
.plui-delay-0{transition-delay:0s;}
.plui-delay-75{transition-delay:75ms;}
.plui-delay-100{transition-delay:100ms;}
.plui-delay-150{transition-delay:150ms;}
.plui-delay-200{transition-delay:200ms;}
.plui-delay-300{transition-delay:300ms;}
.plui-delay-500{transition-delay:500ms;}
.plui-delay-700{transition-delay:700ms;}
.plui-delay-1000{transition-delay:1000ms;}
.plui-animate-spin{animation:plui-spin 1s linear infinite;}
.plui-animate-ping{animation:plui-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;}
.plui-animate-pulse{animation:plui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;}
.plui-animate-bounce{animation:plui-bounce 1s infinite;}
.plui-animate-none{animation:none;}

/* 动画关键帧 */
@keyframes plui-spin{to{transform:rotate(360deg);}}
@keyframes plui-ping{75%,100%{transform:scale(2);opacity:0;}}
@keyframes plui-pulse{50%{opacity:.4;}}
@keyframes plui-bounce{0%,100%{transform:translateY(-25%);}50%{transform:translateY(0);}}
@keyframes plui-skeleton{100%{transform:translateX(100%);}}

/* --- src/css/utilities/interactivity.css --- */
/* ============================================================
   plui 工具类 · 交互：光标、指针事件、选中、缩放、表单外观、读屏器隐藏
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   刻度表：build/generators/scales.js
   ============================================================ */

.plui-cursor-auto{cursor:auto;}
.plui-cursor-default{cursor:default;}
.plui-cursor-pointer{cursor:pointer;}
.plui-cursor-wait{cursor:wait;}
.plui-cursor-text{cursor:text;}
.plui-cursor-move{cursor:move;}
.plui-cursor-help{cursor:help;}
.plui-cursor-not-allowed{cursor:not-allowed;}
.plui-pointer-events-none{pointer-events:none;}
.plui-pointer-events-auto{pointer-events:auto;}
.plui-select-none{user-select:none;-webkit-user-select:none;}
.plui-select-text{user-select:text;-webkit-user-select:text;}
.plui-select-all{user-select:all;-webkit-user-select:all;}
.plui-select-auto{user-select:auto;-webkit-user-select:auto;}
.plui-resize-none{resize:none;}
.plui-resize-y{resize:y;}
.plui-resize-x{resize:x;}
.plui-resize-both{resize:both;}
.plui-appearance-none{-webkit-appearance:none;appearance:none;}
.plui-appearance-auto{-webkit-appearance:auto;appearance:auto;}
.plui-touch-auto{touch-action:auto;}
.plui-touch-none{touch-action:none;}
.plui-touch-manipulation{touch-action:manipulation;}
.plui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;}

/* ============================================================
 * 飞立（plui） · responsive 层
 * ============================================================ */

/* --- src/css/responsive/grid.css --- */
/* ============================================================
   plui 响应式层 · Bootstrap 栅格断点变体
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   栅格沿用 Bootstrap 的中缀写法 .plui-col-md-6（组件层约定）
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-col-sm { flex: 1 0 0%; }
.plui-col-sm-auto { flex: 0 0 auto; width: auto; }
.plui-col-sm-1 { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-col-sm-2 { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-col-sm-3 { flex: 0 0 auto; width: 25%; }
.plui-col-sm-4 { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-col-sm-5 { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-col-sm-6 { flex: 0 0 auto; width: 50%; }
.plui-col-sm-7 { flex: 0 0 auto; width: 58.333333333333336%; }
.plui-col-sm-8 { flex: 0 0 auto; width: 66.66666666666666%; }
.plui-col-sm-9 { flex: 0 0 auto; width: 75%; }
.plui-col-sm-10 { flex: 0 0 auto; width: 83.33333333333334%; }
.plui-col-sm-11 { flex: 0 0 auto; width: 91.66666666666666%; }
.plui-col-sm-12 { flex: 0 0 auto; width: 100%; }
.plui-offset-sm-0 { margin-left: 0%; }
.plui-offset-sm-1 { margin-left: 8.333333333333332%; }
.plui-offset-sm-2 { margin-left: 16.666666666666664%; }
.plui-offset-sm-3 { margin-left: 25%; }
.plui-offset-sm-4 { margin-left: 33.33333333333333%; }
.plui-offset-sm-5 { margin-left: 41.66666666666667%; }
.plui-offset-sm-6 { margin-left: 50%; }
.plui-offset-sm-7 { margin-left: 58.333333333333336%; }
.plui-offset-sm-8 { margin-left: 66.66666666666666%; }
.plui-offset-sm-9 { margin-left: 75%; }
.plui-offset-sm-10 { margin-left: 83.33333333333334%; }
.plui-offset-sm-11 { margin-left: 91.66666666666666%; }
.plui-order-sm-0 { order: 0; }
.plui-order-sm-1 { order: 1; }
.plui-order-sm-2 { order: 2; }
.plui-order-sm-3 { order: 3; }
.plui-order-sm-4 { order: 4; }
.plui-order-sm-5 { order: 5; }
.plui-g-sm-0 { --plui-gutter-x: 0; --plui-gutter-y: 0; }
.plui-gx-sm-0 { --plui-gutter-x: 0; }
.plui-gy-sm-0 { --plui-gutter-y: 0; }
.plui-g-sm-1 { --plui-gutter-x: 0.25rem; --plui-gutter-y: 0.25rem; }
.plui-gx-sm-1 { --plui-gutter-x: 0.25rem; }
.plui-gy-sm-1 { --plui-gutter-y: 0.25rem; }
.plui-g-sm-2 { --plui-gutter-x: 0.5rem; --plui-gutter-y: 0.5rem; }
.plui-gx-sm-2 { --plui-gutter-x: 0.5rem; }
.plui-gy-sm-2 { --plui-gutter-y: 0.5rem; }
.plui-g-sm-3 { --plui-gutter-x: 1rem; --plui-gutter-y: 1rem; }
.plui-gx-sm-3 { --plui-gutter-x: 1rem; }
.plui-gy-sm-3 { --plui-gutter-y: 1rem; }
.plui-g-sm-4 { --plui-gutter-x: 1.5rem; --plui-gutter-y: 1.5rem; }
.plui-gx-sm-4 { --plui-gutter-x: 1.5rem; }
.plui-gy-sm-4 { --plui-gutter-y: 1.5rem; }
.plui-g-sm-5 { --plui-gutter-x: 3rem; --plui-gutter-y: 3rem; }
.plui-gx-sm-5 { --plui-gutter-x: 3rem; }
.plui-gy-sm-5 { --plui-gutter-y: 3rem; }
.plui-row-cols-sm-1 > * { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-row-cols-sm-2 > * { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-row-cols-sm-3 > * { flex: 0 0 auto; width: 25%; }
.plui-row-cols-sm-4 > * { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-row-cols-sm-5 > * { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-row-cols-sm-6 > * { flex: 0 0 auto; width: 50%; }

/* ---- md ≥ 768px ---- */
.plui-col-md { flex: 1 0 0%; }
.plui-col-md-auto { flex: 0 0 auto; width: auto; }
.plui-col-md-1 { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-col-md-2 { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-col-md-3 { flex: 0 0 auto; width: 25%; }
.plui-col-md-4 { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-col-md-5 { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-col-md-6 { flex: 0 0 auto; width: 50%; }
.plui-col-md-7 { flex: 0 0 auto; width: 58.333333333333336%; }
.plui-col-md-8 { flex: 0 0 auto; width: 66.66666666666666%; }
.plui-col-md-9 { flex: 0 0 auto; width: 75%; }
.plui-col-md-10 { flex: 0 0 auto; width: 83.33333333333334%; }
.plui-col-md-11 { flex: 0 0 auto; width: 91.66666666666666%; }
.plui-col-md-12 { flex: 0 0 auto; width: 100%; }
.plui-offset-md-0 { margin-left: 0%; }
.plui-offset-md-1 { margin-left: 8.333333333333332%; }
.plui-offset-md-2 { margin-left: 16.666666666666664%; }
.plui-offset-md-3 { margin-left: 25%; }
.plui-offset-md-4 { margin-left: 33.33333333333333%; }
.plui-offset-md-5 { margin-left: 41.66666666666667%; }
.plui-offset-md-6 { margin-left: 50%; }
.plui-offset-md-7 { margin-left: 58.333333333333336%; }
.plui-offset-md-8 { margin-left: 66.66666666666666%; }
.plui-offset-md-9 { margin-left: 75%; }
.plui-offset-md-10 { margin-left: 83.33333333333334%; }
.plui-offset-md-11 { margin-left: 91.66666666666666%; }
.plui-order-md-0 { order: 0; }
.plui-order-md-1 { order: 1; }
.plui-order-md-2 { order: 2; }
.plui-order-md-3 { order: 3; }
.plui-order-md-4 { order: 4; }
.plui-order-md-5 { order: 5; }
.plui-g-md-0 { --plui-gutter-x: 0; --plui-gutter-y: 0; }
.plui-gx-md-0 { --plui-gutter-x: 0; }
.plui-gy-md-0 { --plui-gutter-y: 0; }
.plui-g-md-1 { --plui-gutter-x: 0.25rem; --plui-gutter-y: 0.25rem; }
.plui-gx-md-1 { --plui-gutter-x: 0.25rem; }
.plui-gy-md-1 { --plui-gutter-y: 0.25rem; }
.plui-g-md-2 { --plui-gutter-x: 0.5rem; --plui-gutter-y: 0.5rem; }
.plui-gx-md-2 { --plui-gutter-x: 0.5rem; }
.plui-gy-md-2 { --plui-gutter-y: 0.5rem; }
.plui-g-md-3 { --plui-gutter-x: 1rem; --plui-gutter-y: 1rem; }
.plui-gx-md-3 { --plui-gutter-x: 1rem; }
.plui-gy-md-3 { --plui-gutter-y: 1rem; }
.plui-g-md-4 { --plui-gutter-x: 1.5rem; --plui-gutter-y: 1.5rem; }
.plui-gx-md-4 { --plui-gutter-x: 1.5rem; }
.plui-gy-md-4 { --plui-gutter-y: 1.5rem; }
.plui-g-md-5 { --plui-gutter-x: 3rem; --plui-gutter-y: 3rem; }
.plui-gx-md-5 { --plui-gutter-x: 3rem; }
.plui-gy-md-5 { --plui-gutter-y: 3rem; }
.plui-row-cols-md-1 > * { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-row-cols-md-2 > * { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-row-cols-md-3 > * { flex: 0 0 auto; width: 25%; }
.plui-row-cols-md-4 > * { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-row-cols-md-5 > * { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-row-cols-md-6 > * { flex: 0 0 auto; width: 50%; }

/* ---- lg ≥ 992px ---- */
.plui-col-lg { flex: 1 0 0%; }
.plui-col-lg-auto { flex: 0 0 auto; width: auto; }
.plui-col-lg-1 { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-col-lg-2 { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-col-lg-3 { flex: 0 0 auto; width: 25%; }
.plui-col-lg-4 { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-col-lg-5 { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-col-lg-6 { flex: 0 0 auto; width: 50%; }
.plui-col-lg-7 { flex: 0 0 auto; width: 58.333333333333336%; }
.plui-col-lg-8 { flex: 0 0 auto; width: 66.66666666666666%; }
.plui-col-lg-9 { flex: 0 0 auto; width: 75%; }
.plui-col-lg-10 { flex: 0 0 auto; width: 83.33333333333334%; }
.plui-col-lg-11 { flex: 0 0 auto; width: 91.66666666666666%; }
.plui-col-lg-12 { flex: 0 0 auto; width: 100%; }
.plui-offset-lg-0 { margin-left: 0%; }
.plui-offset-lg-1 { margin-left: 8.333333333333332%; }
.plui-offset-lg-2 { margin-left: 16.666666666666664%; }
.plui-offset-lg-3 { margin-left: 25%; }
.plui-offset-lg-4 { margin-left: 33.33333333333333%; }
.plui-offset-lg-5 { margin-left: 41.66666666666667%; }
.plui-offset-lg-6 { margin-left: 50%; }
.plui-offset-lg-7 { margin-left: 58.333333333333336%; }
.plui-offset-lg-8 { margin-left: 66.66666666666666%; }
.plui-offset-lg-9 { margin-left: 75%; }
.plui-offset-lg-10 { margin-left: 83.33333333333334%; }
.plui-offset-lg-11 { margin-left: 91.66666666666666%; }
.plui-order-lg-0 { order: 0; }
.plui-order-lg-1 { order: 1; }
.plui-order-lg-2 { order: 2; }
.plui-order-lg-3 { order: 3; }
.plui-order-lg-4 { order: 4; }
.plui-order-lg-5 { order: 5; }
.plui-g-lg-0 { --plui-gutter-x: 0; --plui-gutter-y: 0; }
.plui-gx-lg-0 { --plui-gutter-x: 0; }
.plui-gy-lg-0 { --plui-gutter-y: 0; }
.plui-g-lg-1 { --plui-gutter-x: 0.25rem; --plui-gutter-y: 0.25rem; }
.plui-gx-lg-1 { --plui-gutter-x: 0.25rem; }
.plui-gy-lg-1 { --plui-gutter-y: 0.25rem; }
.plui-g-lg-2 { --plui-gutter-x: 0.5rem; --plui-gutter-y: 0.5rem; }
.plui-gx-lg-2 { --plui-gutter-x: 0.5rem; }
.plui-gy-lg-2 { --plui-gutter-y: 0.5rem; }
.plui-g-lg-3 { --plui-gutter-x: 1rem; --plui-gutter-y: 1rem; }
.plui-gx-lg-3 { --plui-gutter-x: 1rem; }
.plui-gy-lg-3 { --plui-gutter-y: 1rem; }
.plui-g-lg-4 { --plui-gutter-x: 1.5rem; --plui-gutter-y: 1.5rem; }
.plui-gx-lg-4 { --plui-gutter-x: 1.5rem; }
.plui-gy-lg-4 { --plui-gutter-y: 1.5rem; }
.plui-g-lg-5 { --plui-gutter-x: 3rem; --plui-gutter-y: 3rem; }
.plui-gx-lg-5 { --plui-gutter-x: 3rem; }
.plui-gy-lg-5 { --plui-gutter-y: 3rem; }
.plui-row-cols-lg-1 > * { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-row-cols-lg-2 > * { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-row-cols-lg-3 > * { flex: 0 0 auto; width: 25%; }
.plui-row-cols-lg-4 > * { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-row-cols-lg-5 > * { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-row-cols-lg-6 > * { flex: 0 0 auto; width: 50%; }

/* ---- xl ≥ 1200px ---- */
.plui-col-xl { flex: 1 0 0%; }
.plui-col-xl-auto { flex: 0 0 auto; width: auto; }
.plui-col-xl-1 { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-col-xl-2 { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-col-xl-3 { flex: 0 0 auto; width: 25%; }
.plui-col-xl-4 { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-col-xl-5 { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-col-xl-6 { flex: 0 0 auto; width: 50%; }
.plui-col-xl-7 { flex: 0 0 auto; width: 58.333333333333336%; }
.plui-col-xl-8 { flex: 0 0 auto; width: 66.66666666666666%; }
.plui-col-xl-9 { flex: 0 0 auto; width: 75%; }
.plui-col-xl-10 { flex: 0 0 auto; width: 83.33333333333334%; }
.plui-col-xl-11 { flex: 0 0 auto; width: 91.66666666666666%; }
.plui-col-xl-12 { flex: 0 0 auto; width: 100%; }
.plui-offset-xl-0 { margin-left: 0%; }
.plui-offset-xl-1 { margin-left: 8.333333333333332%; }
.plui-offset-xl-2 { margin-left: 16.666666666666664%; }
.plui-offset-xl-3 { margin-left: 25%; }
.plui-offset-xl-4 { margin-left: 33.33333333333333%; }
.plui-offset-xl-5 { margin-left: 41.66666666666667%; }
.plui-offset-xl-6 { margin-left: 50%; }
.plui-offset-xl-7 { margin-left: 58.333333333333336%; }
.plui-offset-xl-8 { margin-left: 66.66666666666666%; }
.plui-offset-xl-9 { margin-left: 75%; }
.plui-offset-xl-10 { margin-left: 83.33333333333334%; }
.plui-offset-xl-11 { margin-left: 91.66666666666666%; }
.plui-order-xl-0 { order: 0; }
.plui-order-xl-1 { order: 1; }
.plui-order-xl-2 { order: 2; }
.plui-order-xl-3 { order: 3; }
.plui-order-xl-4 { order: 4; }
.plui-order-xl-5 { order: 5; }
.plui-g-xl-0 { --plui-gutter-x: 0; --plui-gutter-y: 0; }
.plui-gx-xl-0 { --plui-gutter-x: 0; }
.plui-gy-xl-0 { --plui-gutter-y: 0; }
.plui-g-xl-1 { --plui-gutter-x: 0.25rem; --plui-gutter-y: 0.25rem; }
.plui-gx-xl-1 { --plui-gutter-x: 0.25rem; }
.plui-gy-xl-1 { --plui-gutter-y: 0.25rem; }
.plui-g-xl-2 { --plui-gutter-x: 0.5rem; --plui-gutter-y: 0.5rem; }
.plui-gx-xl-2 { --plui-gutter-x: 0.5rem; }
.plui-gy-xl-2 { --plui-gutter-y: 0.5rem; }
.plui-g-xl-3 { --plui-gutter-x: 1rem; --plui-gutter-y: 1rem; }
.plui-gx-xl-3 { --plui-gutter-x: 1rem; }
.plui-gy-xl-3 { --plui-gutter-y: 1rem; }
.plui-g-xl-4 { --plui-gutter-x: 1.5rem; --plui-gutter-y: 1.5rem; }
.plui-gx-xl-4 { --plui-gutter-x: 1.5rem; }
.plui-gy-xl-4 { --plui-gutter-y: 1.5rem; }
.plui-g-xl-5 { --plui-gutter-x: 3rem; --plui-gutter-y: 3rem; }
.plui-gx-xl-5 { --plui-gutter-x: 3rem; }
.plui-gy-xl-5 { --plui-gutter-y: 3rem; }
.plui-row-cols-xl-1 > * { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-row-cols-xl-2 > * { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-row-cols-xl-3 > * { flex: 0 0 auto; width: 25%; }
.plui-row-cols-xl-4 > * { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-row-cols-xl-5 > * { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-row-cols-xl-6 > * { flex: 0 0 auto; width: 50%; }

/* ---- xxl ≥ 1400px ---- */
.plui-col-xxl { flex: 1 0 0%; }
.plui-col-xxl-auto { flex: 0 0 auto; width: auto; }
.plui-col-xxl-1 { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-col-xxl-2 { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-col-xxl-3 { flex: 0 0 auto; width: 25%; }
.plui-col-xxl-4 { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-col-xxl-5 { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-col-xxl-6 { flex: 0 0 auto; width: 50%; }
.plui-col-xxl-7 { flex: 0 0 auto; width: 58.333333333333336%; }
.plui-col-xxl-8 { flex: 0 0 auto; width: 66.66666666666666%; }
.plui-col-xxl-9 { flex: 0 0 auto; width: 75%; }
.plui-col-xxl-10 { flex: 0 0 auto; width: 83.33333333333334%; }
.plui-col-xxl-11 { flex: 0 0 auto; width: 91.66666666666666%; }
.plui-col-xxl-12 { flex: 0 0 auto; width: 100%; }
.plui-offset-xxl-0 { margin-left: 0%; }
.plui-offset-xxl-1 { margin-left: 8.333333333333332%; }
.plui-offset-xxl-2 { margin-left: 16.666666666666664%; }
.plui-offset-xxl-3 { margin-left: 25%; }
.plui-offset-xxl-4 { margin-left: 33.33333333333333%; }
.plui-offset-xxl-5 { margin-left: 41.66666666666667%; }
.plui-offset-xxl-6 { margin-left: 50%; }
.plui-offset-xxl-7 { margin-left: 58.333333333333336%; }
.plui-offset-xxl-8 { margin-left: 66.66666666666666%; }
.plui-offset-xxl-9 { margin-left: 75%; }
.plui-offset-xxl-10 { margin-left: 83.33333333333334%; }
.plui-offset-xxl-11 { margin-left: 91.66666666666666%; }
.plui-order-xxl-0 { order: 0; }
.plui-order-xxl-1 { order: 1; }
.plui-order-xxl-2 { order: 2; }
.plui-order-xxl-3 { order: 3; }
.plui-order-xxl-4 { order: 4; }
.plui-order-xxl-5 { order: 5; }
.plui-g-xxl-0 { --plui-gutter-x: 0; --plui-gutter-y: 0; }
.plui-gx-xxl-0 { --plui-gutter-x: 0; }
.plui-gy-xxl-0 { --plui-gutter-y: 0; }
.plui-g-xxl-1 { --plui-gutter-x: 0.25rem; --plui-gutter-y: 0.25rem; }
.plui-gx-xxl-1 { --plui-gutter-x: 0.25rem; }
.plui-gy-xxl-1 { --plui-gutter-y: 0.25rem; }
.plui-g-xxl-2 { --plui-gutter-x: 0.5rem; --plui-gutter-y: 0.5rem; }
.plui-gx-xxl-2 { --plui-gutter-x: 0.5rem; }
.plui-gy-xxl-2 { --plui-gutter-y: 0.5rem; }
.plui-g-xxl-3 { --plui-gutter-x: 1rem; --plui-gutter-y: 1rem; }
.plui-gx-xxl-3 { --plui-gutter-x: 1rem; }
.plui-gy-xxl-3 { --plui-gutter-y: 1rem; }
.plui-g-xxl-4 { --plui-gutter-x: 1.5rem; --plui-gutter-y: 1.5rem; }
.plui-gx-xxl-4 { --plui-gutter-x: 1.5rem; }
.plui-gy-xxl-4 { --plui-gutter-y: 1.5rem; }
.plui-g-xxl-5 { --plui-gutter-x: 3rem; --plui-gutter-y: 3rem; }
.plui-gx-xxl-5 { --plui-gutter-x: 3rem; }
.plui-gy-xxl-5 { --plui-gutter-y: 3rem; }
.plui-row-cols-xxl-1 > * { flex: 0 0 auto; width: 8.333333333333332%; }
.plui-row-cols-xxl-2 > * { flex: 0 0 auto; width: 16.666666666666664%; }
.plui-row-cols-xxl-3 > * { flex: 0 0 auto; width: 25%; }
.plui-row-cols-xxl-4 > * { flex: 0 0 auto; width: 33.33333333333333%; }
.plui-row-cols-xxl-5 > * { flex: 0 0 auto; width: 41.66666666666667%; }
.plui-row-cols-xxl-6 > * { flex: 0 0 auto; width: 50%; }

/* --- src/css/responsive/spacing.css --- */
/* ============================================================
   plui 工具类断点变体 · 间距：外边距、内边距、间隙、子元素间距、定位内缩、滚动边距
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   写法：.plui-{断点}:{属性}-{取值}，例如 .plui-md:p-4
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-sm\:m-0{margin:0rem;}
.plui-sm\:m-px{margin:1px;}
.plui-sm\:m-0.5{margin:0.125rem;}
.plui-sm\:m-1{margin:0.25rem;}
.plui-sm\:m-1.5{margin:0.375rem;}
.plui-sm\:m-2{margin:0.5rem;}
.plui-sm\:m-3{margin:0.75rem;}
.plui-sm\:m-4{margin:1rem;}
.plui-sm\:m-6{margin:1.5rem;}
.plui-sm\:m-8{margin:2rem;}
.plui-sm\:m-12{margin:3rem;}
.plui-sm\:mt-0{margin-top:0rem;}
.plui-sm\:mt-px{margin-top:1px;}
.plui-sm\:mt-0.5{margin-top:0.125rem;}
.plui-sm\:mt-1{margin-top:0.25rem;}
.plui-sm\:mt-1.5{margin-top:0.375rem;}
.plui-sm\:mt-2{margin-top:0.5rem;}
.plui-sm\:mt-3{margin-top:0.75rem;}
.plui-sm\:mt-4{margin-top:1rem;}
.plui-sm\:mt-6{margin-top:1.5rem;}
.plui-sm\:mt-8{margin-top:2rem;}
.plui-sm\:mt-12{margin-top:3rem;}
.plui-sm\:mr-0{margin-right:0rem;}
.plui-sm\:mr-px{margin-right:1px;}
.plui-sm\:mr-0.5{margin-right:0.125rem;}
.plui-sm\:mr-1{margin-right:0.25rem;}
.plui-sm\:mr-1.5{margin-right:0.375rem;}
.plui-sm\:mr-2{margin-right:0.5rem;}
.plui-sm\:mr-3{margin-right:0.75rem;}
.plui-sm\:mr-4{margin-right:1rem;}
.plui-sm\:mr-6{margin-right:1.5rem;}
.plui-sm\:mr-8{margin-right:2rem;}
.plui-sm\:mr-12{margin-right:3rem;}
.plui-sm\:mb-0{margin-bottom:0rem;}
.plui-sm\:mb-px{margin-bottom:1px;}
.plui-sm\:mb-0.5{margin-bottom:0.125rem;}
.plui-sm\:mb-1{margin-bottom:0.25rem;}
.plui-sm\:mb-1.5{margin-bottom:0.375rem;}
.plui-sm\:mb-2{margin-bottom:0.5rem;}
.plui-sm\:mb-3{margin-bottom:0.75rem;}
.plui-sm\:mb-4{margin-bottom:1rem;}
.plui-sm\:mb-6{margin-bottom:1.5rem;}
.plui-sm\:mb-8{margin-bottom:2rem;}
.plui-sm\:mb-12{margin-bottom:3rem;}
.plui-sm\:ml-0{margin-left:0rem;}
.plui-sm\:ml-px{margin-left:1px;}
.plui-sm\:ml-0.5{margin-left:0.125rem;}
.plui-sm\:ml-1{margin-left:0.25rem;}
.plui-sm\:ml-1.5{margin-left:0.375rem;}
.plui-sm\:ml-2{margin-left:0.5rem;}
.plui-sm\:ml-3{margin-left:0.75rem;}
.plui-sm\:ml-4{margin-left:1rem;}
.plui-sm\:ml-6{margin-left:1.5rem;}
.plui-sm\:ml-8{margin-left:2rem;}
.plui-sm\:ml-12{margin-left:3rem;}
.plui-sm\:mx-0{margin-left:0rem;margin-right:0rem;}
.plui-sm\:mx-px{margin-left:1px;margin-right:1px;}
.plui-sm\:mx-0.5{margin-left:0.125rem;margin-right:0.125rem;}
.plui-sm\:mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.plui-sm\:mx-1.5{margin-left:0.375rem;margin-right:0.375rem;}
.plui-sm\:mx-2{margin-left:0.5rem;margin-right:0.5rem;}
.plui-sm\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}
.plui-sm\:mx-4{margin-left:1rem;margin-right:1rem;}
.plui-sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem;}
.plui-sm\:mx-8{margin-left:2rem;margin-right:2rem;}
.plui-sm\:mx-12{margin-left:3rem;margin-right:3rem;}
.plui-sm\:my-0{margin-top:0rem;margin-bottom:0rem;}
.plui-sm\:my-px{margin-top:1px;margin-bottom:1px;}
.plui-sm\:my-0.5{margin-top:0.125rem;margin-bottom:0.125rem;}
.plui-sm\:my-1{margin-top:0.25rem;margin-bottom:0.25rem;}
.plui-sm\:my-1.5{margin-top:0.375rem;margin-bottom:0.375rem;}
.plui-sm\:my-2{margin-top:0.5rem;margin-bottom:0.5rem;}
.plui-sm\:my-3{margin-top:0.75rem;margin-bottom:0.75rem;}
.plui-sm\:my-4{margin-top:1rem;margin-bottom:1rem;}
.plui-sm\:my-6{margin-top:1.5rem;margin-bottom:1.5rem;}
.plui-sm\:my-8{margin-top:2rem;margin-bottom:2rem;}
.plui-sm\:my-12{margin-top:3rem;margin-bottom:3rem;}
.plui-sm\:p-0{padding:0rem;}
.plui-sm\:p-px{padding:1px;}
.plui-sm\:p-0.5{padding:0.125rem;}
.plui-sm\:p-1{padding:0.25rem;}
.plui-sm\:p-1.5{padding:0.375rem;}
.plui-sm\:p-2{padding:0.5rem;}
.plui-sm\:p-3{padding:0.75rem;}
.plui-sm\:p-4{padding:1rem;}
.plui-sm\:p-6{padding:1.5rem;}
.plui-sm\:p-8{padding:2rem;}
.plui-sm\:p-12{padding:3rem;}
.plui-sm\:pt-0{padding-top:0rem;}
.plui-sm\:pt-px{padding-top:1px;}
.plui-sm\:pt-0.5{padding-top:0.125rem;}
.plui-sm\:pt-1{padding-top:0.25rem;}
.plui-sm\:pt-1.5{padding-top:0.375rem;}
.plui-sm\:pt-2{padding-top:0.5rem;}
.plui-sm\:pt-3{padding-top:0.75rem;}
.plui-sm\:pt-4{padding-top:1rem;}
.plui-sm\:pt-6{padding-top:1.5rem;}
.plui-sm\:pt-8{padding-top:2rem;}
.plui-sm\:pt-12{padding-top:3rem;}
.plui-sm\:pr-0{padding-right:0rem;}
.plui-sm\:pr-px{padding-right:1px;}
.plui-sm\:pr-0.5{padding-right:0.125rem;}
.plui-sm\:pr-1{padding-right:0.25rem;}
.plui-sm\:pr-1.5{padding-right:0.375rem;}
.plui-sm\:pr-2{padding-right:0.5rem;}
.plui-sm\:pr-3{padding-right:0.75rem;}
.plui-sm\:pr-4{padding-right:1rem;}
.plui-sm\:pr-6{padding-right:1.5rem;}
.plui-sm\:pr-8{padding-right:2rem;}
.plui-sm\:pr-12{padding-right:3rem;}
.plui-sm\:pb-0{padding-bottom:0rem;}
.plui-sm\:pb-px{padding-bottom:1px;}
.plui-sm\:pb-0.5{padding-bottom:0.125rem;}
.plui-sm\:pb-1{padding-bottom:0.25rem;}
.plui-sm\:pb-1.5{padding-bottom:0.375rem;}
.plui-sm\:pb-2{padding-bottom:0.5rem;}
.plui-sm\:pb-3{padding-bottom:0.75rem;}
.plui-sm\:pb-4{padding-bottom:1rem;}
.plui-sm\:pb-6{padding-bottom:1.5rem;}
.plui-sm\:pb-8{padding-bottom:2rem;}
.plui-sm\:pb-12{padding-bottom:3rem;}
.plui-sm\:pl-0{padding-left:0rem;}
.plui-sm\:pl-px{padding-left:1px;}
.plui-sm\:pl-0.5{padding-left:0.125rem;}
.plui-sm\:pl-1{padding-left:0.25rem;}
.plui-sm\:pl-1.5{padding-left:0.375rem;}
.plui-sm\:pl-2{padding-left:0.5rem;}
.plui-sm\:pl-3{padding-left:0.75rem;}
.plui-sm\:pl-4{padding-left:1rem;}
.plui-sm\:pl-6{padding-left:1.5rem;}
.plui-sm\:pl-8{padding-left:2rem;}
.plui-sm\:pl-12{padding-left:3rem;}
.plui-sm\:px-0{padding-left:0rem;padding-right:0rem;}
.plui-sm\:px-px{padding-left:1px;padding-right:1px;}
.plui-sm\:px-0.5{padding-left:0.125rem;padding-right:0.125rem;}
.plui-sm\:px-1{padding-left:0.25rem;padding-right:0.25rem;}
.plui-sm\:px-1.5{padding-left:0.375rem;padding-right:0.375rem;}
.plui-sm\:px-2{padding-left:0.5rem;padding-right:0.5rem;}
.plui-sm\:px-3{padding-left:0.75rem;padding-right:0.75rem;}
.plui-sm\:px-4{padding-left:1rem;padding-right:1rem;}
.plui-sm\:px-6{padding-left:1.5rem;padding-right:1.5rem;}
.plui-sm\:px-8{padding-left:2rem;padding-right:2rem;}
.plui-sm\:px-12{padding-left:3rem;padding-right:3rem;}
.plui-sm\:py-0{padding-top:0rem;padding-bottom:0rem;}
.plui-sm\:py-px{padding-top:1px;padding-bottom:1px;}
.plui-sm\:py-0.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.plui-sm\:py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.plui-sm\:py-1.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.plui-sm\:py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.plui-sm\:py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.plui-sm\:py-4{padding-top:1rem;padding-bottom:1rem;}
.plui-sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.plui-sm\:py-8{padding-top:2rem;padding-bottom:2rem;}
.plui-sm\:py-12{padding-top:3rem;padding-bottom:3rem;}
.plui-sm\:inset-0{top:0rem;right:0rem;bottom:0rem;left:0rem;}
.plui-sm\:inset-px{top:1px;right:1px;bottom:1px;left:1px;}
.plui-sm\:inset-0.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem;}
.plui-sm\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem;}
.plui-sm\:inset-1.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem;}
.plui-sm\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem;}
.plui-sm\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem;}
.plui-sm\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem;}
.plui-sm\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem;}
.plui-sm\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem;}
.plui-sm\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem;}
.plui-sm\:top-0{top:0rem;}
.plui-sm\:top-px{top:1px;}
.plui-sm\:top-0.5{top:0.125rem;}
.plui-sm\:top-1{top:0.25rem;}
.plui-sm\:top-1.5{top:0.375rem;}
.plui-sm\:top-2{top:0.5rem;}
.plui-sm\:top-3{top:0.75rem;}
.plui-sm\:top-4{top:1rem;}
.plui-sm\:top-6{top:1.5rem;}
.plui-sm\:top-8{top:2rem;}
.plui-sm\:top-12{top:3rem;}
.plui-sm\:right-0{right:0rem;}
.plui-sm\:right-px{right:1px;}
.plui-sm\:right-0.5{right:0.125rem;}
.plui-sm\:right-1{right:0.25rem;}
.plui-sm\:right-1.5{right:0.375rem;}
.plui-sm\:right-2{right:0.5rem;}
.plui-sm\:right-3{right:0.75rem;}
.plui-sm\:right-4{right:1rem;}
.plui-sm\:right-6{right:1.5rem;}
.plui-sm\:right-8{right:2rem;}
.plui-sm\:right-12{right:3rem;}
.plui-sm\:bottom-0{bottom:0rem;}
.plui-sm\:bottom-px{bottom:1px;}
.plui-sm\:bottom-0.5{bottom:0.125rem;}
.plui-sm\:bottom-1{bottom:0.25rem;}
.plui-sm\:bottom-1.5{bottom:0.375rem;}
.plui-sm\:bottom-2{bottom:0.5rem;}
.plui-sm\:bottom-3{bottom:0.75rem;}
.plui-sm\:bottom-4{bottom:1rem;}
.plui-sm\:bottom-6{bottom:1.5rem;}
.plui-sm\:bottom-8{bottom:2rem;}
.plui-sm\:bottom-12{bottom:3rem;}
.plui-sm\:left-0{left:0rem;}
.plui-sm\:left-px{left:1px;}
.plui-sm\:left-0.5{left:0.125rem;}
.plui-sm\:left-1{left:0.25rem;}
.plui-sm\:left-1.5{left:0.375rem;}
.plui-sm\:left-2{left:0.5rem;}
.plui-sm\:left-3{left:0.75rem;}
.plui-sm\:left-4{left:1rem;}
.plui-sm\:left-6{left:1.5rem;}
.plui-sm\:left-8{left:2rem;}
.plui-sm\:left-12{left:3rem;}
.plui-sm\:gap-0{gap:0rem;}
.plui-sm\:gap-x-0{column-gap:0rem;}
.plui-sm\:gap-y-0{row-gap:0rem;}
.plui-sm\:gap-px{gap:1px;}
.plui-sm\:gap-x-px{column-gap:1px;}
.plui-sm\:gap-y-px{row-gap:1px;}
.plui-sm\:gap-0.5{gap:0.125rem;}
.plui-sm\:gap-x-0.5{column-gap:0.125rem;}
.plui-sm\:gap-y-0.5{row-gap:0.125rem;}
.plui-sm\:gap-1{gap:0.25rem;}
.plui-sm\:gap-x-1{column-gap:0.25rem;}
.plui-sm\:gap-y-1{row-gap:0.25rem;}
.plui-sm\:gap-1.5{gap:0.375rem;}
.plui-sm\:gap-x-1.5{column-gap:0.375rem;}
.plui-sm\:gap-y-1.5{row-gap:0.375rem;}
.plui-sm\:gap-2{gap:0.5rem;}
.plui-sm\:gap-x-2{column-gap:0.5rem;}
.plui-sm\:gap-y-2{row-gap:0.5rem;}
.plui-sm\:gap-3{gap:0.75rem;}
.plui-sm\:gap-x-3{column-gap:0.75rem;}
.plui-sm\:gap-y-3{row-gap:0.75rem;}
.plui-sm\:gap-4{gap:1rem;}
.plui-sm\:gap-x-4{column-gap:1rem;}
.plui-sm\:gap-y-4{row-gap:1rem;}
.plui-sm\:gap-6{gap:1.5rem;}
.plui-sm\:gap-x-6{column-gap:1.5rem;}
.plui-sm\:gap-y-6{row-gap:1.5rem;}
.plui-sm\:gap-8{gap:2rem;}
.plui-sm\:gap-x-8{column-gap:2rem;}
.plui-sm\:gap-y-8{row-gap:2rem;}
.plui-sm\:gap-12{gap:3rem;}
.plui-sm\:gap-x-12{column-gap:3rem;}
.plui-sm\:gap-y-12{row-gap:3rem;}
.plui-space-x\:sm-0 > :not([hidden]) ~ :not([hidden]){margin-left:0rem;}
.plui-space-y\:sm-0 > :not([hidden]) ~ :not([hidden]){margin-top:0rem;}
.plui-space-x\:sm-px > :not([hidden]) ~ :not([hidden]){margin-left:1px;}
.plui-space-y\:sm-px > :not([hidden]) ~ :not([hidden]){margin-top:1px;}
.plui-space-x\:sm-0.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.125rem;}
.plui-space-y\:sm-0.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.125rem;}
.plui-space-x\:sm-1 > :not([hidden]) ~ :not([hidden]){margin-left:0.25rem;}
.plui-space-y\:sm-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem;}
.plui-space-x\:sm-1.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.375rem;}
.plui-space-y\:sm-1.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.375rem;}
.plui-space-x\:sm-2 > :not([hidden]) ~ :not([hidden]){margin-left:0.5rem;}
.plui-space-y\:sm-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.plui-space-x\:sm-3 > :not([hidden]) ~ :not([hidden]){margin-left:0.75rem;}
.plui-space-y\:sm-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.plui-space-x\:sm-4 > :not([hidden]) ~ :not([hidden]){margin-left:1rem;}
.plui-space-y\:sm-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}
.plui-space-x\:sm-6 > :not([hidden]) ~ :not([hidden]){margin-left:1.5rem;}
.plui-space-y\:sm-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem;}
.plui-space-x\:sm-8 > :not([hidden]) ~ :not([hidden]){margin-left:2rem;}
.plui-space-y\:sm-8 > :not([hidden]) ~ :not([hidden]){margin-top:2rem;}
.plui-space-x\:sm-12 > :not([hidden]) ~ :not([hidden]){margin-left:3rem;}
.plui-space-y\:sm-12 > :not([hidden]) ~ :not([hidden]){margin-top:3rem;}

/* ---- md ≥ 768px ---- */
.plui-md\:m-0{margin:0rem;}
.plui-md\:m-px{margin:1px;}
.plui-md\:m-0.5{margin:0.125rem;}
.plui-md\:m-1{margin:0.25rem;}
.plui-md\:m-1.5{margin:0.375rem;}
.plui-md\:m-2{margin:0.5rem;}
.plui-md\:m-3{margin:0.75rem;}
.plui-md\:m-4{margin:1rem;}
.plui-md\:m-6{margin:1.5rem;}
.plui-md\:m-8{margin:2rem;}
.plui-md\:m-12{margin:3rem;}
.plui-md\:mt-0{margin-top:0rem;}
.plui-md\:mt-px{margin-top:1px;}
.plui-md\:mt-0.5{margin-top:0.125rem;}
.plui-md\:mt-1{margin-top:0.25rem;}
.plui-md\:mt-1.5{margin-top:0.375rem;}
.plui-md\:mt-2{margin-top:0.5rem;}
.plui-md\:mt-3{margin-top:0.75rem;}
.plui-md\:mt-4{margin-top:1rem;}
.plui-md\:mt-6{margin-top:1.5rem;}
.plui-md\:mt-8{margin-top:2rem;}
.plui-md\:mt-12{margin-top:3rem;}
.plui-md\:mr-0{margin-right:0rem;}
.plui-md\:mr-px{margin-right:1px;}
.plui-md\:mr-0.5{margin-right:0.125rem;}
.plui-md\:mr-1{margin-right:0.25rem;}
.plui-md\:mr-1.5{margin-right:0.375rem;}
.plui-md\:mr-2{margin-right:0.5rem;}
.plui-md\:mr-3{margin-right:0.75rem;}
.plui-md\:mr-4{margin-right:1rem;}
.plui-md\:mr-6{margin-right:1.5rem;}
.plui-md\:mr-8{margin-right:2rem;}
.plui-md\:mr-12{margin-right:3rem;}
.plui-md\:mb-0{margin-bottom:0rem;}
.plui-md\:mb-px{margin-bottom:1px;}
.plui-md\:mb-0.5{margin-bottom:0.125rem;}
.plui-md\:mb-1{margin-bottom:0.25rem;}
.plui-md\:mb-1.5{margin-bottom:0.375rem;}
.plui-md\:mb-2{margin-bottom:0.5rem;}
.plui-md\:mb-3{margin-bottom:0.75rem;}
.plui-md\:mb-4{margin-bottom:1rem;}
.plui-md\:mb-6{margin-bottom:1.5rem;}
.plui-md\:mb-8{margin-bottom:2rem;}
.plui-md\:mb-12{margin-bottom:3rem;}
.plui-md\:ml-0{margin-left:0rem;}
.plui-md\:ml-px{margin-left:1px;}
.plui-md\:ml-0.5{margin-left:0.125rem;}
.plui-md\:ml-1{margin-left:0.25rem;}
.plui-md\:ml-1.5{margin-left:0.375rem;}
.plui-md\:ml-2{margin-left:0.5rem;}
.plui-md\:ml-3{margin-left:0.75rem;}
.plui-md\:ml-4{margin-left:1rem;}
.plui-md\:ml-6{margin-left:1.5rem;}
.plui-md\:ml-8{margin-left:2rem;}
.plui-md\:ml-12{margin-left:3rem;}
.plui-md\:mx-0{margin-left:0rem;margin-right:0rem;}
.plui-md\:mx-px{margin-left:1px;margin-right:1px;}
.plui-md\:mx-0.5{margin-left:0.125rem;margin-right:0.125rem;}
.plui-md\:mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.plui-md\:mx-1.5{margin-left:0.375rem;margin-right:0.375rem;}
.plui-md\:mx-2{margin-left:0.5rem;margin-right:0.5rem;}
.plui-md\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}
.plui-md\:mx-4{margin-left:1rem;margin-right:1rem;}
.plui-md\:mx-6{margin-left:1.5rem;margin-right:1.5rem;}
.plui-md\:mx-8{margin-left:2rem;margin-right:2rem;}
.plui-md\:mx-12{margin-left:3rem;margin-right:3rem;}
.plui-md\:my-0{margin-top:0rem;margin-bottom:0rem;}
.plui-md\:my-px{margin-top:1px;margin-bottom:1px;}
.plui-md\:my-0.5{margin-top:0.125rem;margin-bottom:0.125rem;}
.plui-md\:my-1{margin-top:0.25rem;margin-bottom:0.25rem;}
.plui-md\:my-1.5{margin-top:0.375rem;margin-bottom:0.375rem;}
.plui-md\:my-2{margin-top:0.5rem;margin-bottom:0.5rem;}
.plui-md\:my-3{margin-top:0.75rem;margin-bottom:0.75rem;}
.plui-md\:my-4{margin-top:1rem;margin-bottom:1rem;}
.plui-md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem;}
.plui-md\:my-8{margin-top:2rem;margin-bottom:2rem;}
.plui-md\:my-12{margin-top:3rem;margin-bottom:3rem;}
.plui-md\:p-0{padding:0rem;}
.plui-md\:p-px{padding:1px;}
.plui-md\:p-0.5{padding:0.125rem;}
.plui-md\:p-1{padding:0.25rem;}
.plui-md\:p-1.5{padding:0.375rem;}
.plui-md\:p-2{padding:0.5rem;}
.plui-md\:p-3{padding:0.75rem;}
.plui-md\:p-4{padding:1rem;}
.plui-md\:p-6{padding:1.5rem;}
.plui-md\:p-8{padding:2rem;}
.plui-md\:p-12{padding:3rem;}
.plui-md\:pt-0{padding-top:0rem;}
.plui-md\:pt-px{padding-top:1px;}
.plui-md\:pt-0.5{padding-top:0.125rem;}
.plui-md\:pt-1{padding-top:0.25rem;}
.plui-md\:pt-1.5{padding-top:0.375rem;}
.plui-md\:pt-2{padding-top:0.5rem;}
.plui-md\:pt-3{padding-top:0.75rem;}
.plui-md\:pt-4{padding-top:1rem;}
.plui-md\:pt-6{padding-top:1.5rem;}
.plui-md\:pt-8{padding-top:2rem;}
.plui-md\:pt-12{padding-top:3rem;}
.plui-md\:pr-0{padding-right:0rem;}
.plui-md\:pr-px{padding-right:1px;}
.plui-md\:pr-0.5{padding-right:0.125rem;}
.plui-md\:pr-1{padding-right:0.25rem;}
.plui-md\:pr-1.5{padding-right:0.375rem;}
.plui-md\:pr-2{padding-right:0.5rem;}
.plui-md\:pr-3{padding-right:0.75rem;}
.plui-md\:pr-4{padding-right:1rem;}
.plui-md\:pr-6{padding-right:1.5rem;}
.plui-md\:pr-8{padding-right:2rem;}
.plui-md\:pr-12{padding-right:3rem;}
.plui-md\:pb-0{padding-bottom:0rem;}
.plui-md\:pb-px{padding-bottom:1px;}
.plui-md\:pb-0.5{padding-bottom:0.125rem;}
.plui-md\:pb-1{padding-bottom:0.25rem;}
.plui-md\:pb-1.5{padding-bottom:0.375rem;}
.plui-md\:pb-2{padding-bottom:0.5rem;}
.plui-md\:pb-3{padding-bottom:0.75rem;}
.plui-md\:pb-4{padding-bottom:1rem;}
.plui-md\:pb-6{padding-bottom:1.5rem;}
.plui-md\:pb-8{padding-bottom:2rem;}
.plui-md\:pb-12{padding-bottom:3rem;}
.plui-md\:pl-0{padding-left:0rem;}
.plui-md\:pl-px{padding-left:1px;}
.plui-md\:pl-0.5{padding-left:0.125rem;}
.plui-md\:pl-1{padding-left:0.25rem;}
.plui-md\:pl-1.5{padding-left:0.375rem;}
.plui-md\:pl-2{padding-left:0.5rem;}
.plui-md\:pl-3{padding-left:0.75rem;}
.plui-md\:pl-4{padding-left:1rem;}
.plui-md\:pl-6{padding-left:1.5rem;}
.plui-md\:pl-8{padding-left:2rem;}
.plui-md\:pl-12{padding-left:3rem;}
.plui-md\:px-0{padding-left:0rem;padding-right:0rem;}
.plui-md\:px-px{padding-left:1px;padding-right:1px;}
.plui-md\:px-0.5{padding-left:0.125rem;padding-right:0.125rem;}
.plui-md\:px-1{padding-left:0.25rem;padding-right:0.25rem;}
.plui-md\:px-1.5{padding-left:0.375rem;padding-right:0.375rem;}
.plui-md\:px-2{padding-left:0.5rem;padding-right:0.5rem;}
.plui-md\:px-3{padding-left:0.75rem;padding-right:0.75rem;}
.plui-md\:px-4{padding-left:1rem;padding-right:1rem;}
.plui-md\:px-6{padding-left:1.5rem;padding-right:1.5rem;}
.plui-md\:px-8{padding-left:2rem;padding-right:2rem;}
.plui-md\:px-12{padding-left:3rem;padding-right:3rem;}
.plui-md\:py-0{padding-top:0rem;padding-bottom:0rem;}
.plui-md\:py-px{padding-top:1px;padding-bottom:1px;}
.plui-md\:py-0.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.plui-md\:py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.plui-md\:py-1.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.plui-md\:py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.plui-md\:py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.plui-md\:py-4{padding-top:1rem;padding-bottom:1rem;}
.plui-md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.plui-md\:py-8{padding-top:2rem;padding-bottom:2rem;}
.plui-md\:py-12{padding-top:3rem;padding-bottom:3rem;}
.plui-md\:inset-0{top:0rem;right:0rem;bottom:0rem;left:0rem;}
.plui-md\:inset-px{top:1px;right:1px;bottom:1px;left:1px;}
.plui-md\:inset-0.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem;}
.plui-md\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem;}
.plui-md\:inset-1.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem;}
.plui-md\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem;}
.plui-md\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem;}
.plui-md\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem;}
.plui-md\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem;}
.plui-md\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem;}
.plui-md\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem;}
.plui-md\:top-0{top:0rem;}
.plui-md\:top-px{top:1px;}
.plui-md\:top-0.5{top:0.125rem;}
.plui-md\:top-1{top:0.25rem;}
.plui-md\:top-1.5{top:0.375rem;}
.plui-md\:top-2{top:0.5rem;}
.plui-md\:top-3{top:0.75rem;}
.plui-md\:top-4{top:1rem;}
.plui-md\:top-6{top:1.5rem;}
.plui-md\:top-8{top:2rem;}
.plui-md\:top-12{top:3rem;}
.plui-md\:right-0{right:0rem;}
.plui-md\:right-px{right:1px;}
.plui-md\:right-0.5{right:0.125rem;}
.plui-md\:right-1{right:0.25rem;}
.plui-md\:right-1.5{right:0.375rem;}
.plui-md\:right-2{right:0.5rem;}
.plui-md\:right-3{right:0.75rem;}
.plui-md\:right-4{right:1rem;}
.plui-md\:right-6{right:1.5rem;}
.plui-md\:right-8{right:2rem;}
.plui-md\:right-12{right:3rem;}
.plui-md\:bottom-0{bottom:0rem;}
.plui-md\:bottom-px{bottom:1px;}
.plui-md\:bottom-0.5{bottom:0.125rem;}
.plui-md\:bottom-1{bottom:0.25rem;}
.plui-md\:bottom-1.5{bottom:0.375rem;}
.plui-md\:bottom-2{bottom:0.5rem;}
.plui-md\:bottom-3{bottom:0.75rem;}
.plui-md\:bottom-4{bottom:1rem;}
.plui-md\:bottom-6{bottom:1.5rem;}
.plui-md\:bottom-8{bottom:2rem;}
.plui-md\:bottom-12{bottom:3rem;}
.plui-md\:left-0{left:0rem;}
.plui-md\:left-px{left:1px;}
.plui-md\:left-0.5{left:0.125rem;}
.plui-md\:left-1{left:0.25rem;}
.plui-md\:left-1.5{left:0.375rem;}
.plui-md\:left-2{left:0.5rem;}
.plui-md\:left-3{left:0.75rem;}
.plui-md\:left-4{left:1rem;}
.plui-md\:left-6{left:1.5rem;}
.plui-md\:left-8{left:2rem;}
.plui-md\:left-12{left:3rem;}
.plui-md\:gap-0{gap:0rem;}
.plui-md\:gap-x-0{column-gap:0rem;}
.plui-md\:gap-y-0{row-gap:0rem;}
.plui-md\:gap-px{gap:1px;}
.plui-md\:gap-x-px{column-gap:1px;}
.plui-md\:gap-y-px{row-gap:1px;}
.plui-md\:gap-0.5{gap:0.125rem;}
.plui-md\:gap-x-0.5{column-gap:0.125rem;}
.plui-md\:gap-y-0.5{row-gap:0.125rem;}
.plui-md\:gap-1{gap:0.25rem;}
.plui-md\:gap-x-1{column-gap:0.25rem;}
.plui-md\:gap-y-1{row-gap:0.25rem;}
.plui-md\:gap-1.5{gap:0.375rem;}
.plui-md\:gap-x-1.5{column-gap:0.375rem;}
.plui-md\:gap-y-1.5{row-gap:0.375rem;}
.plui-md\:gap-2{gap:0.5rem;}
.plui-md\:gap-x-2{column-gap:0.5rem;}
.plui-md\:gap-y-2{row-gap:0.5rem;}
.plui-md\:gap-3{gap:0.75rem;}
.plui-md\:gap-x-3{column-gap:0.75rem;}
.plui-md\:gap-y-3{row-gap:0.75rem;}
.plui-md\:gap-4{gap:1rem;}
.plui-md\:gap-x-4{column-gap:1rem;}
.plui-md\:gap-y-4{row-gap:1rem;}
.plui-md\:gap-6{gap:1.5rem;}
.plui-md\:gap-x-6{column-gap:1.5rem;}
.plui-md\:gap-y-6{row-gap:1.5rem;}
.plui-md\:gap-8{gap:2rem;}
.plui-md\:gap-x-8{column-gap:2rem;}
.plui-md\:gap-y-8{row-gap:2rem;}
.plui-md\:gap-12{gap:3rem;}
.plui-md\:gap-x-12{column-gap:3rem;}
.plui-md\:gap-y-12{row-gap:3rem;}
.plui-space-x\:md-0 > :not([hidden]) ~ :not([hidden]){margin-left:0rem;}
.plui-space-y\:md-0 > :not([hidden]) ~ :not([hidden]){margin-top:0rem;}
.plui-space-x\:md-px > :not([hidden]) ~ :not([hidden]){margin-left:1px;}
.plui-space-y\:md-px > :not([hidden]) ~ :not([hidden]){margin-top:1px;}
.plui-space-x\:md-0.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.125rem;}
.plui-space-y\:md-0.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.125rem;}
.plui-space-x\:md-1 > :not([hidden]) ~ :not([hidden]){margin-left:0.25rem;}
.plui-space-y\:md-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem;}
.plui-space-x\:md-1.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.375rem;}
.plui-space-y\:md-1.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.375rem;}
.plui-space-x\:md-2 > :not([hidden]) ~ :not([hidden]){margin-left:0.5rem;}
.plui-space-y\:md-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.plui-space-x\:md-3 > :not([hidden]) ~ :not([hidden]){margin-left:0.75rem;}
.plui-space-y\:md-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.plui-space-x\:md-4 > :not([hidden]) ~ :not([hidden]){margin-left:1rem;}
.plui-space-y\:md-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}
.plui-space-x\:md-6 > :not([hidden]) ~ :not([hidden]){margin-left:1.5rem;}
.plui-space-y\:md-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem;}
.plui-space-x\:md-8 > :not([hidden]) ~ :not([hidden]){margin-left:2rem;}
.plui-space-y\:md-8 > :not([hidden]) ~ :not([hidden]){margin-top:2rem;}
.plui-space-x\:md-12 > :not([hidden]) ~ :not([hidden]){margin-left:3rem;}
.plui-space-y\:md-12 > :not([hidden]) ~ :not([hidden]){margin-top:3rem;}

/* ---- lg ≥ 992px ---- */
.plui-lg\:m-0{margin:0rem;}
.plui-lg\:m-px{margin:1px;}
.plui-lg\:m-0.5{margin:0.125rem;}
.plui-lg\:m-1{margin:0.25rem;}
.plui-lg\:m-1.5{margin:0.375rem;}
.plui-lg\:m-2{margin:0.5rem;}
.plui-lg\:m-3{margin:0.75rem;}
.plui-lg\:m-4{margin:1rem;}
.plui-lg\:m-6{margin:1.5rem;}
.plui-lg\:m-8{margin:2rem;}
.plui-lg\:m-12{margin:3rem;}
.plui-lg\:mt-0{margin-top:0rem;}
.plui-lg\:mt-px{margin-top:1px;}
.plui-lg\:mt-0.5{margin-top:0.125rem;}
.plui-lg\:mt-1{margin-top:0.25rem;}
.plui-lg\:mt-1.5{margin-top:0.375rem;}
.plui-lg\:mt-2{margin-top:0.5rem;}
.plui-lg\:mt-3{margin-top:0.75rem;}
.plui-lg\:mt-4{margin-top:1rem;}
.plui-lg\:mt-6{margin-top:1.5rem;}
.plui-lg\:mt-8{margin-top:2rem;}
.plui-lg\:mt-12{margin-top:3rem;}
.plui-lg\:mr-0{margin-right:0rem;}
.plui-lg\:mr-px{margin-right:1px;}
.plui-lg\:mr-0.5{margin-right:0.125rem;}
.plui-lg\:mr-1{margin-right:0.25rem;}
.plui-lg\:mr-1.5{margin-right:0.375rem;}
.plui-lg\:mr-2{margin-right:0.5rem;}
.plui-lg\:mr-3{margin-right:0.75rem;}
.plui-lg\:mr-4{margin-right:1rem;}
.plui-lg\:mr-6{margin-right:1.5rem;}
.plui-lg\:mr-8{margin-right:2rem;}
.plui-lg\:mr-12{margin-right:3rem;}
.plui-lg\:mb-0{margin-bottom:0rem;}
.plui-lg\:mb-px{margin-bottom:1px;}
.plui-lg\:mb-0.5{margin-bottom:0.125rem;}
.plui-lg\:mb-1{margin-bottom:0.25rem;}
.plui-lg\:mb-1.5{margin-bottom:0.375rem;}
.plui-lg\:mb-2{margin-bottom:0.5rem;}
.plui-lg\:mb-3{margin-bottom:0.75rem;}
.plui-lg\:mb-4{margin-bottom:1rem;}
.plui-lg\:mb-6{margin-bottom:1.5rem;}
.plui-lg\:mb-8{margin-bottom:2rem;}
.plui-lg\:mb-12{margin-bottom:3rem;}
.plui-lg\:ml-0{margin-left:0rem;}
.plui-lg\:ml-px{margin-left:1px;}
.plui-lg\:ml-0.5{margin-left:0.125rem;}
.plui-lg\:ml-1{margin-left:0.25rem;}
.plui-lg\:ml-1.5{margin-left:0.375rem;}
.plui-lg\:ml-2{margin-left:0.5rem;}
.plui-lg\:ml-3{margin-left:0.75rem;}
.plui-lg\:ml-4{margin-left:1rem;}
.plui-lg\:ml-6{margin-left:1.5rem;}
.plui-lg\:ml-8{margin-left:2rem;}
.plui-lg\:ml-12{margin-left:3rem;}
.plui-lg\:mx-0{margin-left:0rem;margin-right:0rem;}
.plui-lg\:mx-px{margin-left:1px;margin-right:1px;}
.plui-lg\:mx-0.5{margin-left:0.125rem;margin-right:0.125rem;}
.plui-lg\:mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.plui-lg\:mx-1.5{margin-left:0.375rem;margin-right:0.375rem;}
.plui-lg\:mx-2{margin-left:0.5rem;margin-right:0.5rem;}
.plui-lg\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}
.plui-lg\:mx-4{margin-left:1rem;margin-right:1rem;}
.plui-lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem;}
.plui-lg\:mx-8{margin-left:2rem;margin-right:2rem;}
.plui-lg\:mx-12{margin-left:3rem;margin-right:3rem;}
.plui-lg\:my-0{margin-top:0rem;margin-bottom:0rem;}
.plui-lg\:my-px{margin-top:1px;margin-bottom:1px;}
.plui-lg\:my-0.5{margin-top:0.125rem;margin-bottom:0.125rem;}
.plui-lg\:my-1{margin-top:0.25rem;margin-bottom:0.25rem;}
.plui-lg\:my-1.5{margin-top:0.375rem;margin-bottom:0.375rem;}
.plui-lg\:my-2{margin-top:0.5rem;margin-bottom:0.5rem;}
.plui-lg\:my-3{margin-top:0.75rem;margin-bottom:0.75rem;}
.plui-lg\:my-4{margin-top:1rem;margin-bottom:1rem;}
.plui-lg\:my-6{margin-top:1.5rem;margin-bottom:1.5rem;}
.plui-lg\:my-8{margin-top:2rem;margin-bottom:2rem;}
.plui-lg\:my-12{margin-top:3rem;margin-bottom:3rem;}
.plui-lg\:p-0{padding:0rem;}
.plui-lg\:p-px{padding:1px;}
.plui-lg\:p-0.5{padding:0.125rem;}
.plui-lg\:p-1{padding:0.25rem;}
.plui-lg\:p-1.5{padding:0.375rem;}
.plui-lg\:p-2{padding:0.5rem;}
.plui-lg\:p-3{padding:0.75rem;}
.plui-lg\:p-4{padding:1rem;}
.plui-lg\:p-6{padding:1.5rem;}
.plui-lg\:p-8{padding:2rem;}
.plui-lg\:p-12{padding:3rem;}
.plui-lg\:pt-0{padding-top:0rem;}
.plui-lg\:pt-px{padding-top:1px;}
.plui-lg\:pt-0.5{padding-top:0.125rem;}
.plui-lg\:pt-1{padding-top:0.25rem;}
.plui-lg\:pt-1.5{padding-top:0.375rem;}
.plui-lg\:pt-2{padding-top:0.5rem;}
.plui-lg\:pt-3{padding-top:0.75rem;}
.plui-lg\:pt-4{padding-top:1rem;}
.plui-lg\:pt-6{padding-top:1.5rem;}
.plui-lg\:pt-8{padding-top:2rem;}
.plui-lg\:pt-12{padding-top:3rem;}
.plui-lg\:pr-0{padding-right:0rem;}
.plui-lg\:pr-px{padding-right:1px;}
.plui-lg\:pr-0.5{padding-right:0.125rem;}
.plui-lg\:pr-1{padding-right:0.25rem;}
.plui-lg\:pr-1.5{padding-right:0.375rem;}
.plui-lg\:pr-2{padding-right:0.5rem;}
.plui-lg\:pr-3{padding-right:0.75rem;}
.plui-lg\:pr-4{padding-right:1rem;}
.plui-lg\:pr-6{padding-right:1.5rem;}
.plui-lg\:pr-8{padding-right:2rem;}
.plui-lg\:pr-12{padding-right:3rem;}
.plui-lg\:pb-0{padding-bottom:0rem;}
.plui-lg\:pb-px{padding-bottom:1px;}
.plui-lg\:pb-0.5{padding-bottom:0.125rem;}
.plui-lg\:pb-1{padding-bottom:0.25rem;}
.plui-lg\:pb-1.5{padding-bottom:0.375rem;}
.plui-lg\:pb-2{padding-bottom:0.5rem;}
.plui-lg\:pb-3{padding-bottom:0.75rem;}
.plui-lg\:pb-4{padding-bottom:1rem;}
.plui-lg\:pb-6{padding-bottom:1.5rem;}
.plui-lg\:pb-8{padding-bottom:2rem;}
.plui-lg\:pb-12{padding-bottom:3rem;}
.plui-lg\:pl-0{padding-left:0rem;}
.plui-lg\:pl-px{padding-left:1px;}
.plui-lg\:pl-0.5{padding-left:0.125rem;}
.plui-lg\:pl-1{padding-left:0.25rem;}
.plui-lg\:pl-1.5{padding-left:0.375rem;}
.plui-lg\:pl-2{padding-left:0.5rem;}
.plui-lg\:pl-3{padding-left:0.75rem;}
.plui-lg\:pl-4{padding-left:1rem;}
.plui-lg\:pl-6{padding-left:1.5rem;}
.plui-lg\:pl-8{padding-left:2rem;}
.plui-lg\:pl-12{padding-left:3rem;}
.plui-lg\:px-0{padding-left:0rem;padding-right:0rem;}
.plui-lg\:px-px{padding-left:1px;padding-right:1px;}
.plui-lg\:px-0.5{padding-left:0.125rem;padding-right:0.125rem;}
.plui-lg\:px-1{padding-left:0.25rem;padding-right:0.25rem;}
.plui-lg\:px-1.5{padding-left:0.375rem;padding-right:0.375rem;}
.plui-lg\:px-2{padding-left:0.5rem;padding-right:0.5rem;}
.plui-lg\:px-3{padding-left:0.75rem;padding-right:0.75rem;}
.plui-lg\:px-4{padding-left:1rem;padding-right:1rem;}
.plui-lg\:px-6{padding-left:1.5rem;padding-right:1.5rem;}
.plui-lg\:px-8{padding-left:2rem;padding-right:2rem;}
.plui-lg\:px-12{padding-left:3rem;padding-right:3rem;}
.plui-lg\:py-0{padding-top:0rem;padding-bottom:0rem;}
.plui-lg\:py-px{padding-top:1px;padding-bottom:1px;}
.plui-lg\:py-0.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.plui-lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.plui-lg\:py-1.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.plui-lg\:py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.plui-lg\:py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.plui-lg\:py-4{padding-top:1rem;padding-bottom:1rem;}
.plui-lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.plui-lg\:py-8{padding-top:2rem;padding-bottom:2rem;}
.plui-lg\:py-12{padding-top:3rem;padding-bottom:3rem;}
.plui-lg\:inset-0{top:0rem;right:0rem;bottom:0rem;left:0rem;}
.plui-lg\:inset-px{top:1px;right:1px;bottom:1px;left:1px;}
.plui-lg\:inset-0.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem;}
.plui-lg\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem;}
.plui-lg\:inset-1.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem;}
.plui-lg\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem;}
.plui-lg\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem;}
.plui-lg\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem;}
.plui-lg\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem;}
.plui-lg\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem;}
.plui-lg\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem;}
.plui-lg\:top-0{top:0rem;}
.plui-lg\:top-px{top:1px;}
.plui-lg\:top-0.5{top:0.125rem;}
.plui-lg\:top-1{top:0.25rem;}
.plui-lg\:top-1.5{top:0.375rem;}
.plui-lg\:top-2{top:0.5rem;}
.plui-lg\:top-3{top:0.75rem;}
.plui-lg\:top-4{top:1rem;}
.plui-lg\:top-6{top:1.5rem;}
.plui-lg\:top-8{top:2rem;}
.plui-lg\:top-12{top:3rem;}
.plui-lg\:right-0{right:0rem;}
.plui-lg\:right-px{right:1px;}
.plui-lg\:right-0.5{right:0.125rem;}
.plui-lg\:right-1{right:0.25rem;}
.plui-lg\:right-1.5{right:0.375rem;}
.plui-lg\:right-2{right:0.5rem;}
.plui-lg\:right-3{right:0.75rem;}
.plui-lg\:right-4{right:1rem;}
.plui-lg\:right-6{right:1.5rem;}
.plui-lg\:right-8{right:2rem;}
.plui-lg\:right-12{right:3rem;}
.plui-lg\:bottom-0{bottom:0rem;}
.plui-lg\:bottom-px{bottom:1px;}
.plui-lg\:bottom-0.5{bottom:0.125rem;}
.plui-lg\:bottom-1{bottom:0.25rem;}
.plui-lg\:bottom-1.5{bottom:0.375rem;}
.plui-lg\:bottom-2{bottom:0.5rem;}
.plui-lg\:bottom-3{bottom:0.75rem;}
.plui-lg\:bottom-4{bottom:1rem;}
.plui-lg\:bottom-6{bottom:1.5rem;}
.plui-lg\:bottom-8{bottom:2rem;}
.plui-lg\:bottom-12{bottom:3rem;}
.plui-lg\:left-0{left:0rem;}
.plui-lg\:left-px{left:1px;}
.plui-lg\:left-0.5{left:0.125rem;}
.plui-lg\:left-1{left:0.25rem;}
.plui-lg\:left-1.5{left:0.375rem;}
.plui-lg\:left-2{left:0.5rem;}
.plui-lg\:left-3{left:0.75rem;}
.plui-lg\:left-4{left:1rem;}
.plui-lg\:left-6{left:1.5rem;}
.plui-lg\:left-8{left:2rem;}
.plui-lg\:left-12{left:3rem;}
.plui-lg\:gap-0{gap:0rem;}
.plui-lg\:gap-x-0{column-gap:0rem;}
.plui-lg\:gap-y-0{row-gap:0rem;}
.plui-lg\:gap-px{gap:1px;}
.plui-lg\:gap-x-px{column-gap:1px;}
.plui-lg\:gap-y-px{row-gap:1px;}
.plui-lg\:gap-0.5{gap:0.125rem;}
.plui-lg\:gap-x-0.5{column-gap:0.125rem;}
.plui-lg\:gap-y-0.5{row-gap:0.125rem;}
.plui-lg\:gap-1{gap:0.25rem;}
.plui-lg\:gap-x-1{column-gap:0.25rem;}
.plui-lg\:gap-y-1{row-gap:0.25rem;}
.plui-lg\:gap-1.5{gap:0.375rem;}
.plui-lg\:gap-x-1.5{column-gap:0.375rem;}
.plui-lg\:gap-y-1.5{row-gap:0.375rem;}
.plui-lg\:gap-2{gap:0.5rem;}
.plui-lg\:gap-x-2{column-gap:0.5rem;}
.plui-lg\:gap-y-2{row-gap:0.5rem;}
.plui-lg\:gap-3{gap:0.75rem;}
.plui-lg\:gap-x-3{column-gap:0.75rem;}
.plui-lg\:gap-y-3{row-gap:0.75rem;}
.plui-lg\:gap-4{gap:1rem;}
.plui-lg\:gap-x-4{column-gap:1rem;}
.plui-lg\:gap-y-4{row-gap:1rem;}
.plui-lg\:gap-6{gap:1.5rem;}
.plui-lg\:gap-x-6{column-gap:1.5rem;}
.plui-lg\:gap-y-6{row-gap:1.5rem;}
.plui-lg\:gap-8{gap:2rem;}
.plui-lg\:gap-x-8{column-gap:2rem;}
.plui-lg\:gap-y-8{row-gap:2rem;}
.plui-lg\:gap-12{gap:3rem;}
.plui-lg\:gap-x-12{column-gap:3rem;}
.plui-lg\:gap-y-12{row-gap:3rem;}
.plui-space-x\:lg-0 > :not([hidden]) ~ :not([hidden]){margin-left:0rem;}
.plui-space-y\:lg-0 > :not([hidden]) ~ :not([hidden]){margin-top:0rem;}
.plui-space-x\:lg-px > :not([hidden]) ~ :not([hidden]){margin-left:1px;}
.plui-space-y\:lg-px > :not([hidden]) ~ :not([hidden]){margin-top:1px;}
.plui-space-x\:lg-0.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.125rem;}
.plui-space-y\:lg-0.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.125rem;}
.plui-space-x\:lg-1 > :not([hidden]) ~ :not([hidden]){margin-left:0.25rem;}
.plui-space-y\:lg-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem;}
.plui-space-x\:lg-1.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.375rem;}
.plui-space-y\:lg-1.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.375rem;}
.plui-space-x\:lg-2 > :not([hidden]) ~ :not([hidden]){margin-left:0.5rem;}
.plui-space-y\:lg-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.plui-space-x\:lg-3 > :not([hidden]) ~ :not([hidden]){margin-left:0.75rem;}
.plui-space-y\:lg-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.plui-space-x\:lg-4 > :not([hidden]) ~ :not([hidden]){margin-left:1rem;}
.plui-space-y\:lg-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}
.plui-space-x\:lg-6 > :not([hidden]) ~ :not([hidden]){margin-left:1.5rem;}
.plui-space-y\:lg-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem;}
.plui-space-x\:lg-8 > :not([hidden]) ~ :not([hidden]){margin-left:2rem;}
.plui-space-y\:lg-8 > :not([hidden]) ~ :not([hidden]){margin-top:2rem;}
.plui-space-x\:lg-12 > :not([hidden]) ~ :not([hidden]){margin-left:3rem;}
.plui-space-y\:lg-12 > :not([hidden]) ~ :not([hidden]){margin-top:3rem;}

/* ---- xl ≥ 1200px ---- */
.plui-xl\:m-0{margin:0rem;}
.plui-xl\:m-px{margin:1px;}
.plui-xl\:m-0.5{margin:0.125rem;}
.plui-xl\:m-1{margin:0.25rem;}
.plui-xl\:m-1.5{margin:0.375rem;}
.plui-xl\:m-2{margin:0.5rem;}
.plui-xl\:m-3{margin:0.75rem;}
.plui-xl\:m-4{margin:1rem;}
.plui-xl\:m-6{margin:1.5rem;}
.plui-xl\:m-8{margin:2rem;}
.plui-xl\:m-12{margin:3rem;}
.plui-xl\:mt-0{margin-top:0rem;}
.plui-xl\:mt-px{margin-top:1px;}
.plui-xl\:mt-0.5{margin-top:0.125rem;}
.plui-xl\:mt-1{margin-top:0.25rem;}
.plui-xl\:mt-1.5{margin-top:0.375rem;}
.plui-xl\:mt-2{margin-top:0.5rem;}
.plui-xl\:mt-3{margin-top:0.75rem;}
.plui-xl\:mt-4{margin-top:1rem;}
.plui-xl\:mt-6{margin-top:1.5rem;}
.plui-xl\:mt-8{margin-top:2rem;}
.plui-xl\:mt-12{margin-top:3rem;}
.plui-xl\:mr-0{margin-right:0rem;}
.plui-xl\:mr-px{margin-right:1px;}
.plui-xl\:mr-0.5{margin-right:0.125rem;}
.plui-xl\:mr-1{margin-right:0.25rem;}
.plui-xl\:mr-1.5{margin-right:0.375rem;}
.plui-xl\:mr-2{margin-right:0.5rem;}
.plui-xl\:mr-3{margin-right:0.75rem;}
.plui-xl\:mr-4{margin-right:1rem;}
.plui-xl\:mr-6{margin-right:1.5rem;}
.plui-xl\:mr-8{margin-right:2rem;}
.plui-xl\:mr-12{margin-right:3rem;}
.plui-xl\:mb-0{margin-bottom:0rem;}
.plui-xl\:mb-px{margin-bottom:1px;}
.plui-xl\:mb-0.5{margin-bottom:0.125rem;}
.plui-xl\:mb-1{margin-bottom:0.25rem;}
.plui-xl\:mb-1.5{margin-bottom:0.375rem;}
.plui-xl\:mb-2{margin-bottom:0.5rem;}
.plui-xl\:mb-3{margin-bottom:0.75rem;}
.plui-xl\:mb-4{margin-bottom:1rem;}
.plui-xl\:mb-6{margin-bottom:1.5rem;}
.plui-xl\:mb-8{margin-bottom:2rem;}
.plui-xl\:mb-12{margin-bottom:3rem;}
.plui-xl\:ml-0{margin-left:0rem;}
.plui-xl\:ml-px{margin-left:1px;}
.plui-xl\:ml-0.5{margin-left:0.125rem;}
.plui-xl\:ml-1{margin-left:0.25rem;}
.plui-xl\:ml-1.5{margin-left:0.375rem;}
.plui-xl\:ml-2{margin-left:0.5rem;}
.plui-xl\:ml-3{margin-left:0.75rem;}
.plui-xl\:ml-4{margin-left:1rem;}
.plui-xl\:ml-6{margin-left:1.5rem;}
.plui-xl\:ml-8{margin-left:2rem;}
.plui-xl\:ml-12{margin-left:3rem;}
.plui-xl\:mx-0{margin-left:0rem;margin-right:0rem;}
.plui-xl\:mx-px{margin-left:1px;margin-right:1px;}
.plui-xl\:mx-0.5{margin-left:0.125rem;margin-right:0.125rem;}
.plui-xl\:mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.plui-xl\:mx-1.5{margin-left:0.375rem;margin-right:0.375rem;}
.plui-xl\:mx-2{margin-left:0.5rem;margin-right:0.5rem;}
.plui-xl\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}
.plui-xl\:mx-4{margin-left:1rem;margin-right:1rem;}
.plui-xl\:mx-6{margin-left:1.5rem;margin-right:1.5rem;}
.plui-xl\:mx-8{margin-left:2rem;margin-right:2rem;}
.plui-xl\:mx-12{margin-left:3rem;margin-right:3rem;}
.plui-xl\:my-0{margin-top:0rem;margin-bottom:0rem;}
.plui-xl\:my-px{margin-top:1px;margin-bottom:1px;}
.plui-xl\:my-0.5{margin-top:0.125rem;margin-bottom:0.125rem;}
.plui-xl\:my-1{margin-top:0.25rem;margin-bottom:0.25rem;}
.plui-xl\:my-1.5{margin-top:0.375rem;margin-bottom:0.375rem;}
.plui-xl\:my-2{margin-top:0.5rem;margin-bottom:0.5rem;}
.plui-xl\:my-3{margin-top:0.75rem;margin-bottom:0.75rem;}
.plui-xl\:my-4{margin-top:1rem;margin-bottom:1rem;}
.plui-xl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem;}
.plui-xl\:my-8{margin-top:2rem;margin-bottom:2rem;}
.plui-xl\:my-12{margin-top:3rem;margin-bottom:3rem;}
.plui-xl\:p-0{padding:0rem;}
.plui-xl\:p-px{padding:1px;}
.plui-xl\:p-0.5{padding:0.125rem;}
.plui-xl\:p-1{padding:0.25rem;}
.plui-xl\:p-1.5{padding:0.375rem;}
.plui-xl\:p-2{padding:0.5rem;}
.plui-xl\:p-3{padding:0.75rem;}
.plui-xl\:p-4{padding:1rem;}
.plui-xl\:p-6{padding:1.5rem;}
.plui-xl\:p-8{padding:2rem;}
.plui-xl\:p-12{padding:3rem;}
.plui-xl\:pt-0{padding-top:0rem;}
.plui-xl\:pt-px{padding-top:1px;}
.plui-xl\:pt-0.5{padding-top:0.125rem;}
.plui-xl\:pt-1{padding-top:0.25rem;}
.plui-xl\:pt-1.5{padding-top:0.375rem;}
.plui-xl\:pt-2{padding-top:0.5rem;}
.plui-xl\:pt-3{padding-top:0.75rem;}
.plui-xl\:pt-4{padding-top:1rem;}
.plui-xl\:pt-6{padding-top:1.5rem;}
.plui-xl\:pt-8{padding-top:2rem;}
.plui-xl\:pt-12{padding-top:3rem;}
.plui-xl\:pr-0{padding-right:0rem;}
.plui-xl\:pr-px{padding-right:1px;}
.plui-xl\:pr-0.5{padding-right:0.125rem;}
.plui-xl\:pr-1{padding-right:0.25rem;}
.plui-xl\:pr-1.5{padding-right:0.375rem;}
.plui-xl\:pr-2{padding-right:0.5rem;}
.plui-xl\:pr-3{padding-right:0.75rem;}
.plui-xl\:pr-4{padding-right:1rem;}
.plui-xl\:pr-6{padding-right:1.5rem;}
.plui-xl\:pr-8{padding-right:2rem;}
.plui-xl\:pr-12{padding-right:3rem;}
.plui-xl\:pb-0{padding-bottom:0rem;}
.plui-xl\:pb-px{padding-bottom:1px;}
.plui-xl\:pb-0.5{padding-bottom:0.125rem;}
.plui-xl\:pb-1{padding-bottom:0.25rem;}
.plui-xl\:pb-1.5{padding-bottom:0.375rem;}
.plui-xl\:pb-2{padding-bottom:0.5rem;}
.plui-xl\:pb-3{padding-bottom:0.75rem;}
.plui-xl\:pb-4{padding-bottom:1rem;}
.plui-xl\:pb-6{padding-bottom:1.5rem;}
.plui-xl\:pb-8{padding-bottom:2rem;}
.plui-xl\:pb-12{padding-bottom:3rem;}
.plui-xl\:pl-0{padding-left:0rem;}
.plui-xl\:pl-px{padding-left:1px;}
.plui-xl\:pl-0.5{padding-left:0.125rem;}
.plui-xl\:pl-1{padding-left:0.25rem;}
.plui-xl\:pl-1.5{padding-left:0.375rem;}
.plui-xl\:pl-2{padding-left:0.5rem;}
.plui-xl\:pl-3{padding-left:0.75rem;}
.plui-xl\:pl-4{padding-left:1rem;}
.plui-xl\:pl-6{padding-left:1.5rem;}
.plui-xl\:pl-8{padding-left:2rem;}
.plui-xl\:pl-12{padding-left:3rem;}
.plui-xl\:px-0{padding-left:0rem;padding-right:0rem;}
.plui-xl\:px-px{padding-left:1px;padding-right:1px;}
.plui-xl\:px-0.5{padding-left:0.125rem;padding-right:0.125rem;}
.plui-xl\:px-1{padding-left:0.25rem;padding-right:0.25rem;}
.plui-xl\:px-1.5{padding-left:0.375rem;padding-right:0.375rem;}
.plui-xl\:px-2{padding-left:0.5rem;padding-right:0.5rem;}
.plui-xl\:px-3{padding-left:0.75rem;padding-right:0.75rem;}
.plui-xl\:px-4{padding-left:1rem;padding-right:1rem;}
.plui-xl\:px-6{padding-left:1.5rem;padding-right:1.5rem;}
.plui-xl\:px-8{padding-left:2rem;padding-right:2rem;}
.plui-xl\:px-12{padding-left:3rem;padding-right:3rem;}
.plui-xl\:py-0{padding-top:0rem;padding-bottom:0rem;}
.plui-xl\:py-px{padding-top:1px;padding-bottom:1px;}
.plui-xl\:py-0.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.plui-xl\:py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.plui-xl\:py-1.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.plui-xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.plui-xl\:py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.plui-xl\:py-4{padding-top:1rem;padding-bottom:1rem;}
.plui-xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.plui-xl\:py-8{padding-top:2rem;padding-bottom:2rem;}
.plui-xl\:py-12{padding-top:3rem;padding-bottom:3rem;}
.plui-xl\:inset-0{top:0rem;right:0rem;bottom:0rem;left:0rem;}
.plui-xl\:inset-px{top:1px;right:1px;bottom:1px;left:1px;}
.plui-xl\:inset-0.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem;}
.plui-xl\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem;}
.plui-xl\:inset-1.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem;}
.plui-xl\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem;}
.plui-xl\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem;}
.plui-xl\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem;}
.plui-xl\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem;}
.plui-xl\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem;}
.plui-xl\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem;}
.plui-xl\:top-0{top:0rem;}
.plui-xl\:top-px{top:1px;}
.plui-xl\:top-0.5{top:0.125rem;}
.plui-xl\:top-1{top:0.25rem;}
.plui-xl\:top-1.5{top:0.375rem;}
.plui-xl\:top-2{top:0.5rem;}
.plui-xl\:top-3{top:0.75rem;}
.plui-xl\:top-4{top:1rem;}
.plui-xl\:top-6{top:1.5rem;}
.plui-xl\:top-8{top:2rem;}
.plui-xl\:top-12{top:3rem;}
.plui-xl\:right-0{right:0rem;}
.plui-xl\:right-px{right:1px;}
.plui-xl\:right-0.5{right:0.125rem;}
.plui-xl\:right-1{right:0.25rem;}
.plui-xl\:right-1.5{right:0.375rem;}
.plui-xl\:right-2{right:0.5rem;}
.plui-xl\:right-3{right:0.75rem;}
.plui-xl\:right-4{right:1rem;}
.plui-xl\:right-6{right:1.5rem;}
.plui-xl\:right-8{right:2rem;}
.plui-xl\:right-12{right:3rem;}
.plui-xl\:bottom-0{bottom:0rem;}
.plui-xl\:bottom-px{bottom:1px;}
.plui-xl\:bottom-0.5{bottom:0.125rem;}
.plui-xl\:bottom-1{bottom:0.25rem;}
.plui-xl\:bottom-1.5{bottom:0.375rem;}
.plui-xl\:bottom-2{bottom:0.5rem;}
.plui-xl\:bottom-3{bottom:0.75rem;}
.plui-xl\:bottom-4{bottom:1rem;}
.plui-xl\:bottom-6{bottom:1.5rem;}
.plui-xl\:bottom-8{bottom:2rem;}
.plui-xl\:bottom-12{bottom:3rem;}
.plui-xl\:left-0{left:0rem;}
.plui-xl\:left-px{left:1px;}
.plui-xl\:left-0.5{left:0.125rem;}
.plui-xl\:left-1{left:0.25rem;}
.plui-xl\:left-1.5{left:0.375rem;}
.plui-xl\:left-2{left:0.5rem;}
.plui-xl\:left-3{left:0.75rem;}
.plui-xl\:left-4{left:1rem;}
.plui-xl\:left-6{left:1.5rem;}
.plui-xl\:left-8{left:2rem;}
.plui-xl\:left-12{left:3rem;}
.plui-xl\:gap-0{gap:0rem;}
.plui-xl\:gap-x-0{column-gap:0rem;}
.plui-xl\:gap-y-0{row-gap:0rem;}
.plui-xl\:gap-px{gap:1px;}
.plui-xl\:gap-x-px{column-gap:1px;}
.plui-xl\:gap-y-px{row-gap:1px;}
.plui-xl\:gap-0.5{gap:0.125rem;}
.plui-xl\:gap-x-0.5{column-gap:0.125rem;}
.plui-xl\:gap-y-0.5{row-gap:0.125rem;}
.plui-xl\:gap-1{gap:0.25rem;}
.plui-xl\:gap-x-1{column-gap:0.25rem;}
.plui-xl\:gap-y-1{row-gap:0.25rem;}
.plui-xl\:gap-1.5{gap:0.375rem;}
.plui-xl\:gap-x-1.5{column-gap:0.375rem;}
.plui-xl\:gap-y-1.5{row-gap:0.375rem;}
.plui-xl\:gap-2{gap:0.5rem;}
.plui-xl\:gap-x-2{column-gap:0.5rem;}
.plui-xl\:gap-y-2{row-gap:0.5rem;}
.plui-xl\:gap-3{gap:0.75rem;}
.plui-xl\:gap-x-3{column-gap:0.75rem;}
.plui-xl\:gap-y-3{row-gap:0.75rem;}
.plui-xl\:gap-4{gap:1rem;}
.plui-xl\:gap-x-4{column-gap:1rem;}
.plui-xl\:gap-y-4{row-gap:1rem;}
.plui-xl\:gap-6{gap:1.5rem;}
.plui-xl\:gap-x-6{column-gap:1.5rem;}
.plui-xl\:gap-y-6{row-gap:1.5rem;}
.plui-xl\:gap-8{gap:2rem;}
.plui-xl\:gap-x-8{column-gap:2rem;}
.plui-xl\:gap-y-8{row-gap:2rem;}
.plui-xl\:gap-12{gap:3rem;}
.plui-xl\:gap-x-12{column-gap:3rem;}
.plui-xl\:gap-y-12{row-gap:3rem;}
.plui-space-x\:xl-0 > :not([hidden]) ~ :not([hidden]){margin-left:0rem;}
.plui-space-y\:xl-0 > :not([hidden]) ~ :not([hidden]){margin-top:0rem;}
.plui-space-x\:xl-px > :not([hidden]) ~ :not([hidden]){margin-left:1px;}
.plui-space-y\:xl-px > :not([hidden]) ~ :not([hidden]){margin-top:1px;}
.plui-space-x\:xl-0.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.125rem;}
.plui-space-y\:xl-0.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.125rem;}
.plui-space-x\:xl-1 > :not([hidden]) ~ :not([hidden]){margin-left:0.25rem;}
.plui-space-y\:xl-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem;}
.plui-space-x\:xl-1.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.375rem;}
.plui-space-y\:xl-1.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.375rem;}
.plui-space-x\:xl-2 > :not([hidden]) ~ :not([hidden]){margin-left:0.5rem;}
.plui-space-y\:xl-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.plui-space-x\:xl-3 > :not([hidden]) ~ :not([hidden]){margin-left:0.75rem;}
.plui-space-y\:xl-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.plui-space-x\:xl-4 > :not([hidden]) ~ :not([hidden]){margin-left:1rem;}
.plui-space-y\:xl-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}
.plui-space-x\:xl-6 > :not([hidden]) ~ :not([hidden]){margin-left:1.5rem;}
.plui-space-y\:xl-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem;}
.plui-space-x\:xl-8 > :not([hidden]) ~ :not([hidden]){margin-left:2rem;}
.plui-space-y\:xl-8 > :not([hidden]) ~ :not([hidden]){margin-top:2rem;}
.plui-space-x\:xl-12 > :not([hidden]) ~ :not([hidden]){margin-left:3rem;}
.plui-space-y\:xl-12 > :not([hidden]) ~ :not([hidden]){margin-top:3rem;}

/* ---- xxl ≥ 1400px ---- */
.plui-xxl\:m-0{margin:0rem;}
.plui-xxl\:m-px{margin:1px;}
.plui-xxl\:m-0.5{margin:0.125rem;}
.plui-xxl\:m-1{margin:0.25rem;}
.plui-xxl\:m-1.5{margin:0.375rem;}
.plui-xxl\:m-2{margin:0.5rem;}
.plui-xxl\:m-3{margin:0.75rem;}
.plui-xxl\:m-4{margin:1rem;}
.plui-xxl\:m-6{margin:1.5rem;}
.plui-xxl\:m-8{margin:2rem;}
.plui-xxl\:m-12{margin:3rem;}
.plui-xxl\:mt-0{margin-top:0rem;}
.plui-xxl\:mt-px{margin-top:1px;}
.plui-xxl\:mt-0.5{margin-top:0.125rem;}
.plui-xxl\:mt-1{margin-top:0.25rem;}
.plui-xxl\:mt-1.5{margin-top:0.375rem;}
.plui-xxl\:mt-2{margin-top:0.5rem;}
.plui-xxl\:mt-3{margin-top:0.75rem;}
.plui-xxl\:mt-4{margin-top:1rem;}
.plui-xxl\:mt-6{margin-top:1.5rem;}
.plui-xxl\:mt-8{margin-top:2rem;}
.plui-xxl\:mt-12{margin-top:3rem;}
.plui-xxl\:mr-0{margin-right:0rem;}
.plui-xxl\:mr-px{margin-right:1px;}
.plui-xxl\:mr-0.5{margin-right:0.125rem;}
.plui-xxl\:mr-1{margin-right:0.25rem;}
.plui-xxl\:mr-1.5{margin-right:0.375rem;}
.plui-xxl\:mr-2{margin-right:0.5rem;}
.plui-xxl\:mr-3{margin-right:0.75rem;}
.plui-xxl\:mr-4{margin-right:1rem;}
.plui-xxl\:mr-6{margin-right:1.5rem;}
.plui-xxl\:mr-8{margin-right:2rem;}
.plui-xxl\:mr-12{margin-right:3rem;}
.plui-xxl\:mb-0{margin-bottom:0rem;}
.plui-xxl\:mb-px{margin-bottom:1px;}
.plui-xxl\:mb-0.5{margin-bottom:0.125rem;}
.plui-xxl\:mb-1{margin-bottom:0.25rem;}
.plui-xxl\:mb-1.5{margin-bottom:0.375rem;}
.plui-xxl\:mb-2{margin-bottom:0.5rem;}
.plui-xxl\:mb-3{margin-bottom:0.75rem;}
.plui-xxl\:mb-4{margin-bottom:1rem;}
.plui-xxl\:mb-6{margin-bottom:1.5rem;}
.plui-xxl\:mb-8{margin-bottom:2rem;}
.plui-xxl\:mb-12{margin-bottom:3rem;}
.plui-xxl\:ml-0{margin-left:0rem;}
.plui-xxl\:ml-px{margin-left:1px;}
.plui-xxl\:ml-0.5{margin-left:0.125rem;}
.plui-xxl\:ml-1{margin-left:0.25rem;}
.plui-xxl\:ml-1.5{margin-left:0.375rem;}
.plui-xxl\:ml-2{margin-left:0.5rem;}
.plui-xxl\:ml-3{margin-left:0.75rem;}
.plui-xxl\:ml-4{margin-left:1rem;}
.plui-xxl\:ml-6{margin-left:1.5rem;}
.plui-xxl\:ml-8{margin-left:2rem;}
.plui-xxl\:ml-12{margin-left:3rem;}
.plui-xxl\:mx-0{margin-left:0rem;margin-right:0rem;}
.plui-xxl\:mx-px{margin-left:1px;margin-right:1px;}
.plui-xxl\:mx-0.5{margin-left:0.125rem;margin-right:0.125rem;}
.plui-xxl\:mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.plui-xxl\:mx-1.5{margin-left:0.375rem;margin-right:0.375rem;}
.plui-xxl\:mx-2{margin-left:0.5rem;margin-right:0.5rem;}
.plui-xxl\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}
.plui-xxl\:mx-4{margin-left:1rem;margin-right:1rem;}
.plui-xxl\:mx-6{margin-left:1.5rem;margin-right:1.5rem;}
.plui-xxl\:mx-8{margin-left:2rem;margin-right:2rem;}
.plui-xxl\:mx-12{margin-left:3rem;margin-right:3rem;}
.plui-xxl\:my-0{margin-top:0rem;margin-bottom:0rem;}
.plui-xxl\:my-px{margin-top:1px;margin-bottom:1px;}
.plui-xxl\:my-0.5{margin-top:0.125rem;margin-bottom:0.125rem;}
.plui-xxl\:my-1{margin-top:0.25rem;margin-bottom:0.25rem;}
.plui-xxl\:my-1.5{margin-top:0.375rem;margin-bottom:0.375rem;}
.plui-xxl\:my-2{margin-top:0.5rem;margin-bottom:0.5rem;}
.plui-xxl\:my-3{margin-top:0.75rem;margin-bottom:0.75rem;}
.plui-xxl\:my-4{margin-top:1rem;margin-bottom:1rem;}
.plui-xxl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem;}
.plui-xxl\:my-8{margin-top:2rem;margin-bottom:2rem;}
.plui-xxl\:my-12{margin-top:3rem;margin-bottom:3rem;}
.plui-xxl\:p-0{padding:0rem;}
.plui-xxl\:p-px{padding:1px;}
.plui-xxl\:p-0.5{padding:0.125rem;}
.plui-xxl\:p-1{padding:0.25rem;}
.plui-xxl\:p-1.5{padding:0.375rem;}
.plui-xxl\:p-2{padding:0.5rem;}
.plui-xxl\:p-3{padding:0.75rem;}
.plui-xxl\:p-4{padding:1rem;}
.plui-xxl\:p-6{padding:1.5rem;}
.plui-xxl\:p-8{padding:2rem;}
.plui-xxl\:p-12{padding:3rem;}
.plui-xxl\:pt-0{padding-top:0rem;}
.plui-xxl\:pt-px{padding-top:1px;}
.plui-xxl\:pt-0.5{padding-top:0.125rem;}
.plui-xxl\:pt-1{padding-top:0.25rem;}
.plui-xxl\:pt-1.5{padding-top:0.375rem;}
.plui-xxl\:pt-2{padding-top:0.5rem;}
.plui-xxl\:pt-3{padding-top:0.75rem;}
.plui-xxl\:pt-4{padding-top:1rem;}
.plui-xxl\:pt-6{padding-top:1.5rem;}
.plui-xxl\:pt-8{padding-top:2rem;}
.plui-xxl\:pt-12{padding-top:3rem;}
.plui-xxl\:pr-0{padding-right:0rem;}
.plui-xxl\:pr-px{padding-right:1px;}
.plui-xxl\:pr-0.5{padding-right:0.125rem;}
.plui-xxl\:pr-1{padding-right:0.25rem;}
.plui-xxl\:pr-1.5{padding-right:0.375rem;}
.plui-xxl\:pr-2{padding-right:0.5rem;}
.plui-xxl\:pr-3{padding-right:0.75rem;}
.plui-xxl\:pr-4{padding-right:1rem;}
.plui-xxl\:pr-6{padding-right:1.5rem;}
.plui-xxl\:pr-8{padding-right:2rem;}
.plui-xxl\:pr-12{padding-right:3rem;}
.plui-xxl\:pb-0{padding-bottom:0rem;}
.plui-xxl\:pb-px{padding-bottom:1px;}
.plui-xxl\:pb-0.5{padding-bottom:0.125rem;}
.plui-xxl\:pb-1{padding-bottom:0.25rem;}
.plui-xxl\:pb-1.5{padding-bottom:0.375rem;}
.plui-xxl\:pb-2{padding-bottom:0.5rem;}
.plui-xxl\:pb-3{padding-bottom:0.75rem;}
.plui-xxl\:pb-4{padding-bottom:1rem;}
.plui-xxl\:pb-6{padding-bottom:1.5rem;}
.plui-xxl\:pb-8{padding-bottom:2rem;}
.plui-xxl\:pb-12{padding-bottom:3rem;}
.plui-xxl\:pl-0{padding-left:0rem;}
.plui-xxl\:pl-px{padding-left:1px;}
.plui-xxl\:pl-0.5{padding-left:0.125rem;}
.plui-xxl\:pl-1{padding-left:0.25rem;}
.plui-xxl\:pl-1.5{padding-left:0.375rem;}
.plui-xxl\:pl-2{padding-left:0.5rem;}
.plui-xxl\:pl-3{padding-left:0.75rem;}
.plui-xxl\:pl-4{padding-left:1rem;}
.plui-xxl\:pl-6{padding-left:1.5rem;}
.plui-xxl\:pl-8{padding-left:2rem;}
.plui-xxl\:pl-12{padding-left:3rem;}
.plui-xxl\:px-0{padding-left:0rem;padding-right:0rem;}
.plui-xxl\:px-px{padding-left:1px;padding-right:1px;}
.plui-xxl\:px-0.5{padding-left:0.125rem;padding-right:0.125rem;}
.plui-xxl\:px-1{padding-left:0.25rem;padding-right:0.25rem;}
.plui-xxl\:px-1.5{padding-left:0.375rem;padding-right:0.375rem;}
.plui-xxl\:px-2{padding-left:0.5rem;padding-right:0.5rem;}
.plui-xxl\:px-3{padding-left:0.75rem;padding-right:0.75rem;}
.plui-xxl\:px-4{padding-left:1rem;padding-right:1rem;}
.plui-xxl\:px-6{padding-left:1.5rem;padding-right:1.5rem;}
.plui-xxl\:px-8{padding-left:2rem;padding-right:2rem;}
.plui-xxl\:px-12{padding-left:3rem;padding-right:3rem;}
.plui-xxl\:py-0{padding-top:0rem;padding-bottom:0rem;}
.plui-xxl\:py-px{padding-top:1px;padding-bottom:1px;}
.plui-xxl\:py-0.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.plui-xxl\:py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.plui-xxl\:py-1.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.plui-xxl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.plui-xxl\:py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.plui-xxl\:py-4{padding-top:1rem;padding-bottom:1rem;}
.plui-xxl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.plui-xxl\:py-8{padding-top:2rem;padding-bottom:2rem;}
.plui-xxl\:py-12{padding-top:3rem;padding-bottom:3rem;}
.plui-xxl\:inset-0{top:0rem;right:0rem;bottom:0rem;left:0rem;}
.plui-xxl\:inset-px{top:1px;right:1px;bottom:1px;left:1px;}
.plui-xxl\:inset-0.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem;}
.plui-xxl\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem;}
.plui-xxl\:inset-1.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem;}
.plui-xxl\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem;}
.plui-xxl\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem;}
.plui-xxl\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem;}
.plui-xxl\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem;}
.plui-xxl\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem;}
.plui-xxl\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem;}
.plui-xxl\:top-0{top:0rem;}
.plui-xxl\:top-px{top:1px;}
.plui-xxl\:top-0.5{top:0.125rem;}
.plui-xxl\:top-1{top:0.25rem;}
.plui-xxl\:top-1.5{top:0.375rem;}
.plui-xxl\:top-2{top:0.5rem;}
.plui-xxl\:top-3{top:0.75rem;}
.plui-xxl\:top-4{top:1rem;}
.plui-xxl\:top-6{top:1.5rem;}
.plui-xxl\:top-8{top:2rem;}
.plui-xxl\:top-12{top:3rem;}
.plui-xxl\:right-0{right:0rem;}
.plui-xxl\:right-px{right:1px;}
.plui-xxl\:right-0.5{right:0.125rem;}
.plui-xxl\:right-1{right:0.25rem;}
.plui-xxl\:right-1.5{right:0.375rem;}
.plui-xxl\:right-2{right:0.5rem;}
.plui-xxl\:right-3{right:0.75rem;}
.plui-xxl\:right-4{right:1rem;}
.plui-xxl\:right-6{right:1.5rem;}
.plui-xxl\:right-8{right:2rem;}
.plui-xxl\:right-12{right:3rem;}
.plui-xxl\:bottom-0{bottom:0rem;}
.plui-xxl\:bottom-px{bottom:1px;}
.plui-xxl\:bottom-0.5{bottom:0.125rem;}
.plui-xxl\:bottom-1{bottom:0.25rem;}
.plui-xxl\:bottom-1.5{bottom:0.375rem;}
.plui-xxl\:bottom-2{bottom:0.5rem;}
.plui-xxl\:bottom-3{bottom:0.75rem;}
.plui-xxl\:bottom-4{bottom:1rem;}
.plui-xxl\:bottom-6{bottom:1.5rem;}
.plui-xxl\:bottom-8{bottom:2rem;}
.plui-xxl\:bottom-12{bottom:3rem;}
.plui-xxl\:left-0{left:0rem;}
.plui-xxl\:left-px{left:1px;}
.plui-xxl\:left-0.5{left:0.125rem;}
.plui-xxl\:left-1{left:0.25rem;}
.plui-xxl\:left-1.5{left:0.375rem;}
.plui-xxl\:left-2{left:0.5rem;}
.plui-xxl\:left-3{left:0.75rem;}
.plui-xxl\:left-4{left:1rem;}
.plui-xxl\:left-6{left:1.5rem;}
.plui-xxl\:left-8{left:2rem;}
.plui-xxl\:left-12{left:3rem;}
.plui-xxl\:gap-0{gap:0rem;}
.plui-xxl\:gap-x-0{column-gap:0rem;}
.plui-xxl\:gap-y-0{row-gap:0rem;}
.plui-xxl\:gap-px{gap:1px;}
.plui-xxl\:gap-x-px{column-gap:1px;}
.plui-xxl\:gap-y-px{row-gap:1px;}
.plui-xxl\:gap-0.5{gap:0.125rem;}
.plui-xxl\:gap-x-0.5{column-gap:0.125rem;}
.plui-xxl\:gap-y-0.5{row-gap:0.125rem;}
.plui-xxl\:gap-1{gap:0.25rem;}
.plui-xxl\:gap-x-1{column-gap:0.25rem;}
.plui-xxl\:gap-y-1{row-gap:0.25rem;}
.plui-xxl\:gap-1.5{gap:0.375rem;}
.plui-xxl\:gap-x-1.5{column-gap:0.375rem;}
.plui-xxl\:gap-y-1.5{row-gap:0.375rem;}
.plui-xxl\:gap-2{gap:0.5rem;}
.plui-xxl\:gap-x-2{column-gap:0.5rem;}
.plui-xxl\:gap-y-2{row-gap:0.5rem;}
.plui-xxl\:gap-3{gap:0.75rem;}
.plui-xxl\:gap-x-3{column-gap:0.75rem;}
.plui-xxl\:gap-y-3{row-gap:0.75rem;}
.plui-xxl\:gap-4{gap:1rem;}
.plui-xxl\:gap-x-4{column-gap:1rem;}
.plui-xxl\:gap-y-4{row-gap:1rem;}
.plui-xxl\:gap-6{gap:1.5rem;}
.plui-xxl\:gap-x-6{column-gap:1.5rem;}
.plui-xxl\:gap-y-6{row-gap:1.5rem;}
.plui-xxl\:gap-8{gap:2rem;}
.plui-xxl\:gap-x-8{column-gap:2rem;}
.plui-xxl\:gap-y-8{row-gap:2rem;}
.plui-xxl\:gap-12{gap:3rem;}
.plui-xxl\:gap-x-12{column-gap:3rem;}
.plui-xxl\:gap-y-12{row-gap:3rem;}
.plui-space-x\:xxl-0 > :not([hidden]) ~ :not([hidden]){margin-left:0rem;}
.plui-space-y\:xxl-0 > :not([hidden]) ~ :not([hidden]){margin-top:0rem;}
.plui-space-x\:xxl-px > :not([hidden]) ~ :not([hidden]){margin-left:1px;}
.plui-space-y\:xxl-px > :not([hidden]) ~ :not([hidden]){margin-top:1px;}
.plui-space-x\:xxl-0.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.125rem;}
.plui-space-y\:xxl-0.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.125rem;}
.plui-space-x\:xxl-1 > :not([hidden]) ~ :not([hidden]){margin-left:0.25rem;}
.plui-space-y\:xxl-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem;}
.plui-space-x\:xxl-1.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.375rem;}
.plui-space-y\:xxl-1.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.375rem;}
.plui-space-x\:xxl-2 > :not([hidden]) ~ :not([hidden]){margin-left:0.5rem;}
.plui-space-y\:xxl-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.plui-space-x\:xxl-3 > :not([hidden]) ~ :not([hidden]){margin-left:0.75rem;}
.plui-space-y\:xxl-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.plui-space-x\:xxl-4 > :not([hidden]) ~ :not([hidden]){margin-left:1rem;}
.plui-space-y\:xxl-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}
.plui-space-x\:xxl-6 > :not([hidden]) ~ :not([hidden]){margin-left:1.5rem;}
.plui-space-y\:xxl-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem;}
.plui-space-x\:xxl-8 > :not([hidden]) ~ :not([hidden]){margin-left:2rem;}
.plui-space-y\:xxl-8 > :not([hidden]) ~ :not([hidden]){margin-top:2rem;}
.plui-space-x\:xxl-12 > :not([hidden]) ~ :not([hidden]){margin-left:3rem;}
.plui-space-y\:xxl-12 > :not([hidden]) ~ :not([hidden]){margin-top:3rem;}

/* --- src/css/responsive/colors.css --- */
/* ============================================================
   plui 工具类断点变体 · 颜色：背景、文字、边框、填充描边、强调色、占位符
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   写法：.plui-{断点}:{属性}-{取值}，例如 .plui-md:p-4
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-sm\:bg-muted{background-color:var(--plui-color-text-muted);}
.plui-sm\:text-muted{color:var(--plui-color-text-muted);}
.plui-sm\:border-muted{border-color:var(--plui-color-text-muted);}
.plui-sm\:bg-faint{background-color:var(--plui-color-text-faint);}
.plui-sm\:text-faint{color:var(--plui-color-text-faint);}
.plui-sm\:border-faint{border-color:var(--plui-color-text-faint);}
.plui-sm\:bg-strong{background-color:var(--plui-color-text-strong);}
.plui-sm\:text-strong{color:var(--plui-color-text-strong);}
.plui-sm\:border-strong{border-color:var(--plui-color-text-strong);}
.plui-sm\:bg-soft{background-color:var(--plui-color-bg-soft);}
.plui-sm\:text-soft{color:var(--plui-color-bg-soft);}
.plui-sm\:border-soft{border-color:var(--plui-color-bg-soft);}
.plui-sm\:bg-inverse{background-color:var(--plui-color-inverse);}
.plui-sm\:text-inverse{color:var(--plui-color-inverse);}
.plui-sm\:border-inverse{border-color:var(--plui-color-inverse);}
.plui-sm\:bg-inherit{background-color:inherit;}
.plui-sm\:text-inherit{color:inherit;}
.plui-sm\:border-inherit{border-color:inherit;}
.plui-sm\:fill-inherit{fill:inherit;}
.plui-sm\:stroke-inherit{stroke:inherit;}
.plui-sm\:accent-inherit{accent-color:inherit;}
.plui-sm\:bg-current{background-color:currentColor;}
.plui-sm\:text-current{color:currentColor;}
.plui-sm\:border-current{border-color:currentColor;}
.plui-sm\:fill-current{fill:currentColor;}
.plui-sm\:stroke-current{stroke:currentColor;}
.plui-sm\:accent-current{accent-color:currentColor;}
.plui-sm\:bg-transparent{background-color:transparent;}
.plui-sm\:text-transparent{color:transparent;}
.plui-sm\:border-transparent{border-color:transparent;}
.plui-sm\:fill-transparent{fill:transparent;}
.plui-sm\:stroke-transparent{stroke:transparent;}
.plui-sm\:accent-transparent{accent-color:transparent;}
.plui-sm\:bg-black{background-color:#000000;}
.plui-sm\:text-black{color:#000000;}
.plui-sm\:border-black{border-color:#000000;}
.plui-sm\:fill-black{fill:#000000;}
.plui-sm\:stroke-black{stroke:#000000;}
.plui-sm\:accent-black{accent-color:#000000;}
.plui-sm\:bg-white{background-color:#ffffff;}
.plui-sm\:text-white{color:#ffffff;}
.plui-sm\:border-white{border-color:#ffffff;}
.plui-sm\:fill-white{fill:#ffffff;}
.plui-sm\:stroke-white{stroke:#ffffff;}
.plui-sm\:accent-white{accent-color:#ffffff;}
.plui-sm\:bg-gray-50{background-color:#f9fafb;}
.plui-sm\:text-gray-50{color:#f9fafb;}
.plui-sm\:border-gray-50{border-color:#f9fafb;}
.plui-sm\:fill-gray-50{fill:#f9fafb;}
.plui-sm\:stroke-gray-50{stroke:#f9fafb;}
.plui-sm\:accent-gray-50{accent-color:#f9fafb;}
.plui-sm\:bg-gray-100{background-color:#f3f4f6;}
.plui-sm\:text-gray-100{color:#f3f4f6;}
.plui-sm\:border-gray-100{border-color:#f3f4f6;}
.plui-sm\:fill-gray-100{fill:#f3f4f6;}
.plui-sm\:stroke-gray-100{stroke:#f3f4f6;}
.plui-sm\:accent-gray-100{accent-color:#f3f4f6;}
.plui-sm\:bg-gray-200{background-color:#e5e7eb;}
.plui-sm\:text-gray-200{color:#e5e7eb;}
.plui-sm\:border-gray-200{border-color:#e5e7eb;}
.plui-sm\:fill-gray-200{fill:#e5e7eb;}
.plui-sm\:stroke-gray-200{stroke:#e5e7eb;}
.plui-sm\:accent-gray-200{accent-color:#e5e7eb;}
.plui-sm\:bg-gray-300{background-color:#d1d5db;}
.plui-sm\:text-gray-300{color:#d1d5db;}
.plui-sm\:border-gray-300{border-color:#d1d5db;}
.plui-sm\:fill-gray-300{fill:#d1d5db;}
.plui-sm\:stroke-gray-300{stroke:#d1d5db;}
.plui-sm\:accent-gray-300{accent-color:#d1d5db;}
.plui-sm\:bg-gray-400{background-color:#9ca3af;}
.plui-sm\:text-gray-400{color:#9ca3af;}
.plui-sm\:border-gray-400{border-color:#9ca3af;}
.plui-sm\:fill-gray-400{fill:#9ca3af;}
.plui-sm\:stroke-gray-400{stroke:#9ca3af;}
.plui-sm\:accent-gray-400{accent-color:#9ca3af;}
.plui-sm\:bg-gray-500{background-color:#6b7280;}
.plui-sm\:text-gray-500{color:#6b7280;}
.plui-sm\:border-gray-500{border-color:#6b7280;}
.plui-sm\:fill-gray-500{fill:#6b7280;}
.plui-sm\:stroke-gray-500{stroke:#6b7280;}
.plui-sm\:accent-gray-500{accent-color:#6b7280;}
.plui-sm\:bg-gray-600{background-color:#4b5563;}
.plui-sm\:text-gray-600{color:#4b5563;}
.plui-sm\:border-gray-600{border-color:#4b5563;}
.plui-sm\:fill-gray-600{fill:#4b5563;}
.plui-sm\:stroke-gray-600{stroke:#4b5563;}
.plui-sm\:accent-gray-600{accent-color:#4b5563;}
.plui-sm\:bg-gray-700{background-color:#374151;}
.plui-sm\:text-gray-700{color:#374151;}
.plui-sm\:border-gray-700{border-color:#374151;}
.plui-sm\:fill-gray-700{fill:#374151;}
.plui-sm\:stroke-gray-700{stroke:#374151;}
.plui-sm\:accent-gray-700{accent-color:#374151;}
.plui-sm\:bg-gray-800{background-color:#1f2937;}
.plui-sm\:text-gray-800{color:#1f2937;}
.plui-sm\:border-gray-800{border-color:#1f2937;}
.plui-sm\:fill-gray-800{fill:#1f2937;}
.plui-sm\:stroke-gray-800{stroke:#1f2937;}
.plui-sm\:accent-gray-800{accent-color:#1f2937;}
.plui-sm\:bg-gray-900{background-color:#111827;}
.plui-sm\:text-gray-900{color:#111827;}
.plui-sm\:border-gray-900{border-color:#111827;}
.plui-sm\:fill-gray-900{fill:#111827;}
.plui-sm\:stroke-gray-900{stroke:#111827;}
.plui-sm\:accent-gray-900{accent-color:#111827;}
.plui-sm\:bg-red-500{background-color:#ef4444;}
.plui-sm\:text-red-500{color:#ef4444;}
.plui-sm\:border-red-500{border-color:#ef4444;}
.plui-sm\:fill-red-500{fill:#ef4444;}
.plui-sm\:stroke-red-500{stroke:#ef4444;}
.plui-sm\:accent-red-500{accent-color:#ef4444;}
.plui-sm\:bg-red-600{background-color:#dc2626;}
.plui-sm\:text-red-600{color:#dc2626;}
.plui-sm\:border-red-600{border-color:#dc2626;}
.plui-sm\:fill-red-600{fill:#dc2626;}
.plui-sm\:stroke-red-600{stroke:#dc2626;}
.plui-sm\:accent-red-600{accent-color:#dc2626;}
.plui-sm\:bg-red-700{background-color:#b91c1c;}
.plui-sm\:text-red-700{color:#b91c1c;}
.plui-sm\:border-red-700{border-color:#b91c1c;}
.plui-sm\:fill-red-700{fill:#b91c1c;}
.plui-sm\:stroke-red-700{stroke:#b91c1c;}
.plui-sm\:accent-red-700{accent-color:#b91c1c;}
.plui-sm\:bg-blue-500{background-color:#3b82f6;}
.plui-sm\:text-blue-500{color:#3b82f6;}
.plui-sm\:border-blue-500{border-color:#3b82f6;}
.plui-sm\:fill-blue-500{fill:#3b82f6;}
.plui-sm\:stroke-blue-500{stroke:#3b82f6;}
.plui-sm\:accent-blue-500{accent-color:#3b82f6;}
.plui-sm\:bg-blue-600{background-color:#2563eb;}
.plui-sm\:text-blue-600{color:#2563eb;}
.plui-sm\:border-blue-600{border-color:#2563eb;}
.plui-sm\:fill-blue-600{fill:#2563eb;}
.plui-sm\:stroke-blue-600{stroke:#2563eb;}
.plui-sm\:accent-blue-600{accent-color:#2563eb;}
.plui-sm\:bg-blue-700{background-color:#1d4ed8;}
.plui-sm\:text-blue-700{color:#1d4ed8;}
.plui-sm\:border-blue-700{border-color:#1d4ed8;}
.plui-sm\:fill-blue-700{fill:#1d4ed8;}
.plui-sm\:stroke-blue-700{stroke:#1d4ed8;}
.plui-sm\:accent-blue-700{accent-color:#1d4ed8;}
.plui-sm\:bg-green-500{background-color:#22c55e;}
.plui-sm\:text-green-500{color:#22c55e;}
.plui-sm\:border-green-500{border-color:#22c55e;}
.plui-sm\:fill-green-500{fill:#22c55e;}
.plui-sm\:stroke-green-500{stroke:#22c55e;}
.plui-sm\:accent-green-500{accent-color:#22c55e;}
.plui-sm\:bg-green-600{background-color:#16a34a;}
.plui-sm\:text-green-600{color:#16a34a;}
.plui-sm\:border-green-600{border-color:#16a34a;}
.plui-sm\:fill-green-600{fill:#16a34a;}
.plui-sm\:stroke-green-600{stroke:#16a34a;}
.plui-sm\:accent-green-600{accent-color:#16a34a;}
.plui-sm\:bg-green-700{background-color:#15803d;}
.plui-sm\:text-green-700{color:#15803d;}
.plui-sm\:border-green-700{border-color:#15803d;}
.plui-sm\:fill-green-700{fill:#15803d;}
.plui-sm\:stroke-green-700{stroke:#15803d;}
.plui-sm\:accent-green-700{accent-color:#15803d;}
.plui-sm\:bg-yellow-500{background-color:#eab308;}
.plui-sm\:text-yellow-500{color:#eab308;}
.plui-sm\:border-yellow-500{border-color:#eab308;}
.plui-sm\:fill-yellow-500{fill:#eab308;}
.plui-sm\:stroke-yellow-500{stroke:#eab308;}
.plui-sm\:accent-yellow-500{accent-color:#eab308;}
.plui-sm\:bg-yellow-600{background-color:#ca8a04;}
.plui-sm\:text-yellow-600{color:#ca8a04;}
.plui-sm\:border-yellow-600{border-color:#ca8a04;}
.plui-sm\:fill-yellow-600{fill:#ca8a04;}
.plui-sm\:stroke-yellow-600{stroke:#ca8a04;}
.plui-sm\:accent-yellow-600{accent-color:#ca8a04;}
.plui-sm\:bg-indigo-500{background-color:#6366f1;}
.plui-sm\:text-indigo-500{color:#6366f1;}
.plui-sm\:border-indigo-500{border-color:#6366f1;}
.plui-sm\:fill-indigo-500{fill:#6366f1;}
.plui-sm\:stroke-indigo-500{stroke:#6366f1;}
.plui-sm\:accent-indigo-500{accent-color:#6366f1;}
.plui-sm\:bg-indigo-600{background-color:#4f46e5;}
.plui-sm\:text-indigo-600{color:#4f46e5;}
.plui-sm\:border-indigo-600{border-color:#4f46e5;}
.plui-sm\:fill-indigo-600{fill:#4f46e5;}
.plui-sm\:stroke-indigo-600{stroke:#4f46e5;}
.plui-sm\:accent-indigo-600{accent-color:#4f46e5;}
.plui-sm\:bg-indigo-700{background-color:#4338ca;}
.plui-sm\:text-indigo-700{color:#4338ca;}
.plui-sm\:border-indigo-700{border-color:#4338ca;}
.plui-sm\:fill-indigo-700{fill:#4338ca;}
.plui-sm\:stroke-indigo-700{stroke:#4338ca;}
.plui-sm\:accent-indigo-700{accent-color:#4338ca;}
.plui-sm\:bg-purple-500{background-color:#a855f7;}
.plui-sm\:text-purple-500{color:#a855f7;}
.plui-sm\:border-purple-500{border-color:#a855f7;}
.plui-sm\:fill-purple-500{fill:#a855f7;}
.plui-sm\:stroke-purple-500{stroke:#a855f7;}
.plui-sm\:accent-purple-500{accent-color:#a855f7;}
.plui-sm\:bg-purple-600{background-color:#9333ea;}
.plui-sm\:text-purple-600{color:#9333ea;}
.plui-sm\:border-purple-600{border-color:#9333ea;}
.plui-sm\:fill-purple-600{fill:#9333ea;}
.plui-sm\:stroke-purple-600{stroke:#9333ea;}
.plui-sm\:accent-purple-600{accent-color:#9333ea;}
.plui-sm\:bg-pink-500{background-color:#ec4899;}
.plui-sm\:text-pink-500{color:#ec4899;}
.plui-sm\:border-pink-500{border-color:#ec4899;}
.plui-sm\:fill-pink-500{fill:#ec4899;}
.plui-sm\:stroke-pink-500{stroke:#ec4899;}
.plui-sm\:accent-pink-500{accent-color:#ec4899;}
.plui-sm\:bg-pink-600{background-color:#db2777;}
.plui-sm\:text-pink-600{color:#db2777;}
.plui-sm\:border-pink-600{border-color:#db2777;}
.plui-sm\:fill-pink-600{fill:#db2777;}
.plui-sm\:stroke-pink-600{stroke:#db2777;}
.plui-sm\:accent-pink-600{accent-color:#db2777;}
.plui-sm\:divide-inherit{border-color:inherit;}
.plui-sm\:divide-current{border-color:currentColor;}
.plui-sm\:divide-transparent{border-color:transparent;}
.plui-sm\:divide-black{border-color:#000000;}
.plui-sm\:divide-white{border-color:#ffffff;}
.plui-sm\:divide-gray-50{border-color:#f9fafb;}
.plui-sm\:divide-gray-100{border-color:#f3f4f6;}
.plui-sm\:divide-gray-200{border-color:#e5e7eb;}
.plui-sm\:divide-gray-300{border-color:#d1d5db;}
.plui-sm\:divide-gray-400{border-color:#9ca3af;}
.plui-sm\:divide-gray-500{border-color:#6b7280;}
.plui-sm\:divide-gray-600{border-color:#4b5563;}
.plui-sm\:divide-gray-700{border-color:#374151;}
.plui-sm\:divide-gray-800{border-color:#1f2937;}
.plui-sm\:divide-gray-900{border-color:#111827;}
.plui-sm\:divide-red-500{border-color:#ef4444;}
.plui-sm\:divide-red-600{border-color:#dc2626;}
.plui-sm\:divide-red-700{border-color:#b91c1c;}
.plui-sm\:divide-blue-500{border-color:#3b82f6;}
.plui-sm\:divide-blue-600{border-color:#2563eb;}
.plui-sm\:divide-blue-700{border-color:#1d4ed8;}
.plui-sm\:divide-green-500{border-color:#22c55e;}
.plui-sm\:divide-green-600{border-color:#16a34a;}
.plui-sm\:divide-green-700{border-color:#15803d;}
.plui-sm\:divide-yellow-500{border-color:#eab308;}
.plui-sm\:divide-yellow-600{border-color:#ca8a04;}
.plui-sm\:divide-indigo-500{border-color:#6366f1;}
.plui-sm\:divide-indigo-600{border-color:#4f46e5;}
.plui-sm\:divide-indigo-700{border-color:#4338ca;}
.plui-sm\:divide-purple-500{border-color:#a855f7;}
.plui-sm\:divide-purple-600{border-color:#9333ea;}
.plui-sm\:divide-pink-500{border-color:#ec4899;}
.plui-sm\:divide-pink-600{border-color:#db2777;}
.plui-sm\:stroke-0{stroke-width:0;}
.plui-sm\:stroke-1{stroke-width:1;}
.plui-sm\:stroke-2{stroke-width:2;}
.plui-sm\:stroke-none{stroke:none;}
.plui-sm\:fill-none{fill:none;}

/* ---- md ≥ 768px ---- */
.plui-md\:bg-muted{background-color:var(--plui-color-text-muted);}
.plui-md\:text-muted{color:var(--plui-color-text-muted);}
.plui-md\:border-muted{border-color:var(--plui-color-text-muted);}
.plui-md\:bg-faint{background-color:var(--plui-color-text-faint);}
.plui-md\:text-faint{color:var(--plui-color-text-faint);}
.plui-md\:border-faint{border-color:var(--plui-color-text-faint);}
.plui-md\:bg-strong{background-color:var(--plui-color-text-strong);}
.plui-md\:text-strong{color:var(--plui-color-text-strong);}
.plui-md\:border-strong{border-color:var(--plui-color-text-strong);}
.plui-md\:bg-soft{background-color:var(--plui-color-bg-soft);}
.plui-md\:text-soft{color:var(--plui-color-bg-soft);}
.plui-md\:border-soft{border-color:var(--plui-color-bg-soft);}
.plui-md\:bg-inverse{background-color:var(--plui-color-inverse);}
.plui-md\:text-inverse{color:var(--plui-color-inverse);}
.plui-md\:border-inverse{border-color:var(--plui-color-inverse);}
.plui-md\:bg-inherit{background-color:inherit;}
.plui-md\:text-inherit{color:inherit;}
.plui-md\:border-inherit{border-color:inherit;}
.plui-md\:fill-inherit{fill:inherit;}
.plui-md\:stroke-inherit{stroke:inherit;}
.plui-md\:accent-inherit{accent-color:inherit;}
.plui-md\:bg-current{background-color:currentColor;}
.plui-md\:text-current{color:currentColor;}
.plui-md\:border-current{border-color:currentColor;}
.plui-md\:fill-current{fill:currentColor;}
.plui-md\:stroke-current{stroke:currentColor;}
.plui-md\:accent-current{accent-color:currentColor;}
.plui-md\:bg-transparent{background-color:transparent;}
.plui-md\:text-transparent{color:transparent;}
.plui-md\:border-transparent{border-color:transparent;}
.plui-md\:fill-transparent{fill:transparent;}
.plui-md\:stroke-transparent{stroke:transparent;}
.plui-md\:accent-transparent{accent-color:transparent;}
.plui-md\:bg-black{background-color:#000000;}
.plui-md\:text-black{color:#000000;}
.plui-md\:border-black{border-color:#000000;}
.plui-md\:fill-black{fill:#000000;}
.plui-md\:stroke-black{stroke:#000000;}
.plui-md\:accent-black{accent-color:#000000;}
.plui-md\:bg-white{background-color:#ffffff;}
.plui-md\:text-white{color:#ffffff;}
.plui-md\:border-white{border-color:#ffffff;}
.plui-md\:fill-white{fill:#ffffff;}
.plui-md\:stroke-white{stroke:#ffffff;}
.plui-md\:accent-white{accent-color:#ffffff;}
.plui-md\:bg-gray-50{background-color:#f9fafb;}
.plui-md\:text-gray-50{color:#f9fafb;}
.plui-md\:border-gray-50{border-color:#f9fafb;}
.plui-md\:fill-gray-50{fill:#f9fafb;}
.plui-md\:stroke-gray-50{stroke:#f9fafb;}
.plui-md\:accent-gray-50{accent-color:#f9fafb;}
.plui-md\:bg-gray-100{background-color:#f3f4f6;}
.plui-md\:text-gray-100{color:#f3f4f6;}
.plui-md\:border-gray-100{border-color:#f3f4f6;}
.plui-md\:fill-gray-100{fill:#f3f4f6;}
.plui-md\:stroke-gray-100{stroke:#f3f4f6;}
.plui-md\:accent-gray-100{accent-color:#f3f4f6;}
.plui-md\:bg-gray-200{background-color:#e5e7eb;}
.plui-md\:text-gray-200{color:#e5e7eb;}
.plui-md\:border-gray-200{border-color:#e5e7eb;}
.plui-md\:fill-gray-200{fill:#e5e7eb;}
.plui-md\:stroke-gray-200{stroke:#e5e7eb;}
.plui-md\:accent-gray-200{accent-color:#e5e7eb;}
.plui-md\:bg-gray-300{background-color:#d1d5db;}
.plui-md\:text-gray-300{color:#d1d5db;}
.plui-md\:border-gray-300{border-color:#d1d5db;}
.plui-md\:fill-gray-300{fill:#d1d5db;}
.plui-md\:stroke-gray-300{stroke:#d1d5db;}
.plui-md\:accent-gray-300{accent-color:#d1d5db;}
.plui-md\:bg-gray-400{background-color:#9ca3af;}
.plui-md\:text-gray-400{color:#9ca3af;}
.plui-md\:border-gray-400{border-color:#9ca3af;}
.plui-md\:fill-gray-400{fill:#9ca3af;}
.plui-md\:stroke-gray-400{stroke:#9ca3af;}
.plui-md\:accent-gray-400{accent-color:#9ca3af;}
.plui-md\:bg-gray-500{background-color:#6b7280;}
.plui-md\:text-gray-500{color:#6b7280;}
.plui-md\:border-gray-500{border-color:#6b7280;}
.plui-md\:fill-gray-500{fill:#6b7280;}
.plui-md\:stroke-gray-500{stroke:#6b7280;}
.plui-md\:accent-gray-500{accent-color:#6b7280;}
.plui-md\:bg-gray-600{background-color:#4b5563;}
.plui-md\:text-gray-600{color:#4b5563;}
.plui-md\:border-gray-600{border-color:#4b5563;}
.plui-md\:fill-gray-600{fill:#4b5563;}
.plui-md\:stroke-gray-600{stroke:#4b5563;}
.plui-md\:accent-gray-600{accent-color:#4b5563;}
.plui-md\:bg-gray-700{background-color:#374151;}
.plui-md\:text-gray-700{color:#374151;}
.plui-md\:border-gray-700{border-color:#374151;}
.plui-md\:fill-gray-700{fill:#374151;}
.plui-md\:stroke-gray-700{stroke:#374151;}
.plui-md\:accent-gray-700{accent-color:#374151;}
.plui-md\:bg-gray-800{background-color:#1f2937;}
.plui-md\:text-gray-800{color:#1f2937;}
.plui-md\:border-gray-800{border-color:#1f2937;}
.plui-md\:fill-gray-800{fill:#1f2937;}
.plui-md\:stroke-gray-800{stroke:#1f2937;}
.plui-md\:accent-gray-800{accent-color:#1f2937;}
.plui-md\:bg-gray-900{background-color:#111827;}
.plui-md\:text-gray-900{color:#111827;}
.plui-md\:border-gray-900{border-color:#111827;}
.plui-md\:fill-gray-900{fill:#111827;}
.plui-md\:stroke-gray-900{stroke:#111827;}
.plui-md\:accent-gray-900{accent-color:#111827;}
.plui-md\:bg-red-500{background-color:#ef4444;}
.plui-md\:text-red-500{color:#ef4444;}
.plui-md\:border-red-500{border-color:#ef4444;}
.plui-md\:fill-red-500{fill:#ef4444;}
.plui-md\:stroke-red-500{stroke:#ef4444;}
.plui-md\:accent-red-500{accent-color:#ef4444;}
.plui-md\:bg-red-600{background-color:#dc2626;}
.plui-md\:text-red-600{color:#dc2626;}
.plui-md\:border-red-600{border-color:#dc2626;}
.plui-md\:fill-red-600{fill:#dc2626;}
.plui-md\:stroke-red-600{stroke:#dc2626;}
.plui-md\:accent-red-600{accent-color:#dc2626;}
.plui-md\:bg-red-700{background-color:#b91c1c;}
.plui-md\:text-red-700{color:#b91c1c;}
.plui-md\:border-red-700{border-color:#b91c1c;}
.plui-md\:fill-red-700{fill:#b91c1c;}
.plui-md\:stroke-red-700{stroke:#b91c1c;}
.plui-md\:accent-red-700{accent-color:#b91c1c;}
.plui-md\:bg-blue-500{background-color:#3b82f6;}
.plui-md\:text-blue-500{color:#3b82f6;}
.plui-md\:border-blue-500{border-color:#3b82f6;}
.plui-md\:fill-blue-500{fill:#3b82f6;}
.plui-md\:stroke-blue-500{stroke:#3b82f6;}
.plui-md\:accent-blue-500{accent-color:#3b82f6;}
.plui-md\:bg-blue-600{background-color:#2563eb;}
.plui-md\:text-blue-600{color:#2563eb;}
.plui-md\:border-blue-600{border-color:#2563eb;}
.plui-md\:fill-blue-600{fill:#2563eb;}
.plui-md\:stroke-blue-600{stroke:#2563eb;}
.plui-md\:accent-blue-600{accent-color:#2563eb;}
.plui-md\:bg-blue-700{background-color:#1d4ed8;}
.plui-md\:text-blue-700{color:#1d4ed8;}
.plui-md\:border-blue-700{border-color:#1d4ed8;}
.plui-md\:fill-blue-700{fill:#1d4ed8;}
.plui-md\:stroke-blue-700{stroke:#1d4ed8;}
.plui-md\:accent-blue-700{accent-color:#1d4ed8;}
.plui-md\:bg-green-500{background-color:#22c55e;}
.plui-md\:text-green-500{color:#22c55e;}
.plui-md\:border-green-500{border-color:#22c55e;}
.plui-md\:fill-green-500{fill:#22c55e;}
.plui-md\:stroke-green-500{stroke:#22c55e;}
.plui-md\:accent-green-500{accent-color:#22c55e;}
.plui-md\:bg-green-600{background-color:#16a34a;}
.plui-md\:text-green-600{color:#16a34a;}
.plui-md\:border-green-600{border-color:#16a34a;}
.plui-md\:fill-green-600{fill:#16a34a;}
.plui-md\:stroke-green-600{stroke:#16a34a;}
.plui-md\:accent-green-600{accent-color:#16a34a;}
.plui-md\:bg-green-700{background-color:#15803d;}
.plui-md\:text-green-700{color:#15803d;}
.plui-md\:border-green-700{border-color:#15803d;}
.plui-md\:fill-green-700{fill:#15803d;}
.plui-md\:stroke-green-700{stroke:#15803d;}
.plui-md\:accent-green-700{accent-color:#15803d;}
.plui-md\:bg-yellow-500{background-color:#eab308;}
.plui-md\:text-yellow-500{color:#eab308;}
.plui-md\:border-yellow-500{border-color:#eab308;}
.plui-md\:fill-yellow-500{fill:#eab308;}
.plui-md\:stroke-yellow-500{stroke:#eab308;}
.plui-md\:accent-yellow-500{accent-color:#eab308;}
.plui-md\:bg-yellow-600{background-color:#ca8a04;}
.plui-md\:text-yellow-600{color:#ca8a04;}
.plui-md\:border-yellow-600{border-color:#ca8a04;}
.plui-md\:fill-yellow-600{fill:#ca8a04;}
.plui-md\:stroke-yellow-600{stroke:#ca8a04;}
.plui-md\:accent-yellow-600{accent-color:#ca8a04;}
.plui-md\:bg-indigo-500{background-color:#6366f1;}
.plui-md\:text-indigo-500{color:#6366f1;}
.plui-md\:border-indigo-500{border-color:#6366f1;}
.plui-md\:fill-indigo-500{fill:#6366f1;}
.plui-md\:stroke-indigo-500{stroke:#6366f1;}
.plui-md\:accent-indigo-500{accent-color:#6366f1;}
.plui-md\:bg-indigo-600{background-color:#4f46e5;}
.plui-md\:text-indigo-600{color:#4f46e5;}
.plui-md\:border-indigo-600{border-color:#4f46e5;}
.plui-md\:fill-indigo-600{fill:#4f46e5;}
.plui-md\:stroke-indigo-600{stroke:#4f46e5;}
.plui-md\:accent-indigo-600{accent-color:#4f46e5;}
.plui-md\:bg-indigo-700{background-color:#4338ca;}
.plui-md\:text-indigo-700{color:#4338ca;}
.plui-md\:border-indigo-700{border-color:#4338ca;}
.plui-md\:fill-indigo-700{fill:#4338ca;}
.plui-md\:stroke-indigo-700{stroke:#4338ca;}
.plui-md\:accent-indigo-700{accent-color:#4338ca;}
.plui-md\:bg-purple-500{background-color:#a855f7;}
.plui-md\:text-purple-500{color:#a855f7;}
.plui-md\:border-purple-500{border-color:#a855f7;}
.plui-md\:fill-purple-500{fill:#a855f7;}
.plui-md\:stroke-purple-500{stroke:#a855f7;}
.plui-md\:accent-purple-500{accent-color:#a855f7;}
.plui-md\:bg-purple-600{background-color:#9333ea;}
.plui-md\:text-purple-600{color:#9333ea;}
.plui-md\:border-purple-600{border-color:#9333ea;}
.plui-md\:fill-purple-600{fill:#9333ea;}
.plui-md\:stroke-purple-600{stroke:#9333ea;}
.plui-md\:accent-purple-600{accent-color:#9333ea;}
.plui-md\:bg-pink-500{background-color:#ec4899;}
.plui-md\:text-pink-500{color:#ec4899;}
.plui-md\:border-pink-500{border-color:#ec4899;}
.plui-md\:fill-pink-500{fill:#ec4899;}
.plui-md\:stroke-pink-500{stroke:#ec4899;}
.plui-md\:accent-pink-500{accent-color:#ec4899;}
.plui-md\:bg-pink-600{background-color:#db2777;}
.plui-md\:text-pink-600{color:#db2777;}
.plui-md\:border-pink-600{border-color:#db2777;}
.plui-md\:fill-pink-600{fill:#db2777;}
.plui-md\:stroke-pink-600{stroke:#db2777;}
.plui-md\:accent-pink-600{accent-color:#db2777;}
.plui-md\:divide-inherit{border-color:inherit;}
.plui-md\:divide-current{border-color:currentColor;}
.plui-md\:divide-transparent{border-color:transparent;}
.plui-md\:divide-black{border-color:#000000;}
.plui-md\:divide-white{border-color:#ffffff;}
.plui-md\:divide-gray-50{border-color:#f9fafb;}
.plui-md\:divide-gray-100{border-color:#f3f4f6;}
.plui-md\:divide-gray-200{border-color:#e5e7eb;}
.plui-md\:divide-gray-300{border-color:#d1d5db;}
.plui-md\:divide-gray-400{border-color:#9ca3af;}
.plui-md\:divide-gray-500{border-color:#6b7280;}
.plui-md\:divide-gray-600{border-color:#4b5563;}
.plui-md\:divide-gray-700{border-color:#374151;}
.plui-md\:divide-gray-800{border-color:#1f2937;}
.plui-md\:divide-gray-900{border-color:#111827;}
.plui-md\:divide-red-500{border-color:#ef4444;}
.plui-md\:divide-red-600{border-color:#dc2626;}
.plui-md\:divide-red-700{border-color:#b91c1c;}
.plui-md\:divide-blue-500{border-color:#3b82f6;}
.plui-md\:divide-blue-600{border-color:#2563eb;}
.plui-md\:divide-blue-700{border-color:#1d4ed8;}
.plui-md\:divide-green-500{border-color:#22c55e;}
.plui-md\:divide-green-600{border-color:#16a34a;}
.plui-md\:divide-green-700{border-color:#15803d;}
.plui-md\:divide-yellow-500{border-color:#eab308;}
.plui-md\:divide-yellow-600{border-color:#ca8a04;}
.plui-md\:divide-indigo-500{border-color:#6366f1;}
.plui-md\:divide-indigo-600{border-color:#4f46e5;}
.plui-md\:divide-indigo-700{border-color:#4338ca;}
.plui-md\:divide-purple-500{border-color:#a855f7;}
.plui-md\:divide-purple-600{border-color:#9333ea;}
.plui-md\:divide-pink-500{border-color:#ec4899;}
.plui-md\:divide-pink-600{border-color:#db2777;}
.plui-md\:stroke-0{stroke-width:0;}
.plui-md\:stroke-1{stroke-width:1;}
.plui-md\:stroke-2{stroke-width:2;}
.plui-md\:stroke-none{stroke:none;}
.plui-md\:fill-none{fill:none;}

/* ---- lg ≥ 992px ---- */
.plui-lg\:bg-muted{background-color:var(--plui-color-text-muted);}
.plui-lg\:text-muted{color:var(--plui-color-text-muted);}
.plui-lg\:border-muted{border-color:var(--plui-color-text-muted);}
.plui-lg\:bg-faint{background-color:var(--plui-color-text-faint);}
.plui-lg\:text-faint{color:var(--plui-color-text-faint);}
.plui-lg\:border-faint{border-color:var(--plui-color-text-faint);}
.plui-lg\:bg-strong{background-color:var(--plui-color-text-strong);}
.plui-lg\:text-strong{color:var(--plui-color-text-strong);}
.plui-lg\:border-strong{border-color:var(--plui-color-text-strong);}
.plui-lg\:bg-soft{background-color:var(--plui-color-bg-soft);}
.plui-lg\:text-soft{color:var(--plui-color-bg-soft);}
.plui-lg\:border-soft{border-color:var(--plui-color-bg-soft);}
.plui-lg\:bg-inverse{background-color:var(--plui-color-inverse);}
.plui-lg\:text-inverse{color:var(--plui-color-inverse);}
.plui-lg\:border-inverse{border-color:var(--plui-color-inverse);}
.plui-lg\:bg-inherit{background-color:inherit;}
.plui-lg\:text-inherit{color:inherit;}
.plui-lg\:border-inherit{border-color:inherit;}
.plui-lg\:fill-inherit{fill:inherit;}
.plui-lg\:stroke-inherit{stroke:inherit;}
.plui-lg\:accent-inherit{accent-color:inherit;}
.plui-lg\:bg-current{background-color:currentColor;}
.plui-lg\:text-current{color:currentColor;}
.plui-lg\:border-current{border-color:currentColor;}
.plui-lg\:fill-current{fill:currentColor;}
.plui-lg\:stroke-current{stroke:currentColor;}
.plui-lg\:accent-current{accent-color:currentColor;}
.plui-lg\:bg-transparent{background-color:transparent;}
.plui-lg\:text-transparent{color:transparent;}
.plui-lg\:border-transparent{border-color:transparent;}
.plui-lg\:fill-transparent{fill:transparent;}
.plui-lg\:stroke-transparent{stroke:transparent;}
.plui-lg\:accent-transparent{accent-color:transparent;}
.plui-lg\:bg-black{background-color:#000000;}
.plui-lg\:text-black{color:#000000;}
.plui-lg\:border-black{border-color:#000000;}
.plui-lg\:fill-black{fill:#000000;}
.plui-lg\:stroke-black{stroke:#000000;}
.plui-lg\:accent-black{accent-color:#000000;}
.plui-lg\:bg-white{background-color:#ffffff;}
.plui-lg\:text-white{color:#ffffff;}
.plui-lg\:border-white{border-color:#ffffff;}
.plui-lg\:fill-white{fill:#ffffff;}
.plui-lg\:stroke-white{stroke:#ffffff;}
.plui-lg\:accent-white{accent-color:#ffffff;}
.plui-lg\:bg-gray-50{background-color:#f9fafb;}
.plui-lg\:text-gray-50{color:#f9fafb;}
.plui-lg\:border-gray-50{border-color:#f9fafb;}
.plui-lg\:fill-gray-50{fill:#f9fafb;}
.plui-lg\:stroke-gray-50{stroke:#f9fafb;}
.plui-lg\:accent-gray-50{accent-color:#f9fafb;}
.plui-lg\:bg-gray-100{background-color:#f3f4f6;}
.plui-lg\:text-gray-100{color:#f3f4f6;}
.plui-lg\:border-gray-100{border-color:#f3f4f6;}
.plui-lg\:fill-gray-100{fill:#f3f4f6;}
.plui-lg\:stroke-gray-100{stroke:#f3f4f6;}
.plui-lg\:accent-gray-100{accent-color:#f3f4f6;}
.plui-lg\:bg-gray-200{background-color:#e5e7eb;}
.plui-lg\:text-gray-200{color:#e5e7eb;}
.plui-lg\:border-gray-200{border-color:#e5e7eb;}
.plui-lg\:fill-gray-200{fill:#e5e7eb;}
.plui-lg\:stroke-gray-200{stroke:#e5e7eb;}
.plui-lg\:accent-gray-200{accent-color:#e5e7eb;}
.plui-lg\:bg-gray-300{background-color:#d1d5db;}
.plui-lg\:text-gray-300{color:#d1d5db;}
.plui-lg\:border-gray-300{border-color:#d1d5db;}
.plui-lg\:fill-gray-300{fill:#d1d5db;}
.plui-lg\:stroke-gray-300{stroke:#d1d5db;}
.plui-lg\:accent-gray-300{accent-color:#d1d5db;}
.plui-lg\:bg-gray-400{background-color:#9ca3af;}
.plui-lg\:text-gray-400{color:#9ca3af;}
.plui-lg\:border-gray-400{border-color:#9ca3af;}
.plui-lg\:fill-gray-400{fill:#9ca3af;}
.plui-lg\:stroke-gray-400{stroke:#9ca3af;}
.plui-lg\:accent-gray-400{accent-color:#9ca3af;}
.plui-lg\:bg-gray-500{background-color:#6b7280;}
.plui-lg\:text-gray-500{color:#6b7280;}
.plui-lg\:border-gray-500{border-color:#6b7280;}
.plui-lg\:fill-gray-500{fill:#6b7280;}
.plui-lg\:stroke-gray-500{stroke:#6b7280;}
.plui-lg\:accent-gray-500{accent-color:#6b7280;}
.plui-lg\:bg-gray-600{background-color:#4b5563;}
.plui-lg\:text-gray-600{color:#4b5563;}
.plui-lg\:border-gray-600{border-color:#4b5563;}
.plui-lg\:fill-gray-600{fill:#4b5563;}
.plui-lg\:stroke-gray-600{stroke:#4b5563;}
.plui-lg\:accent-gray-600{accent-color:#4b5563;}
.plui-lg\:bg-gray-700{background-color:#374151;}
.plui-lg\:text-gray-700{color:#374151;}
.plui-lg\:border-gray-700{border-color:#374151;}
.plui-lg\:fill-gray-700{fill:#374151;}
.plui-lg\:stroke-gray-700{stroke:#374151;}
.plui-lg\:accent-gray-700{accent-color:#374151;}
.plui-lg\:bg-gray-800{background-color:#1f2937;}
.plui-lg\:text-gray-800{color:#1f2937;}
.plui-lg\:border-gray-800{border-color:#1f2937;}
.plui-lg\:fill-gray-800{fill:#1f2937;}
.plui-lg\:stroke-gray-800{stroke:#1f2937;}
.plui-lg\:accent-gray-800{accent-color:#1f2937;}
.plui-lg\:bg-gray-900{background-color:#111827;}
.plui-lg\:text-gray-900{color:#111827;}
.plui-lg\:border-gray-900{border-color:#111827;}
.plui-lg\:fill-gray-900{fill:#111827;}
.plui-lg\:stroke-gray-900{stroke:#111827;}
.plui-lg\:accent-gray-900{accent-color:#111827;}
.plui-lg\:bg-red-500{background-color:#ef4444;}
.plui-lg\:text-red-500{color:#ef4444;}
.plui-lg\:border-red-500{border-color:#ef4444;}
.plui-lg\:fill-red-500{fill:#ef4444;}
.plui-lg\:stroke-red-500{stroke:#ef4444;}
.plui-lg\:accent-red-500{accent-color:#ef4444;}
.plui-lg\:bg-red-600{background-color:#dc2626;}
.plui-lg\:text-red-600{color:#dc2626;}
.plui-lg\:border-red-600{border-color:#dc2626;}
.plui-lg\:fill-red-600{fill:#dc2626;}
.plui-lg\:stroke-red-600{stroke:#dc2626;}
.plui-lg\:accent-red-600{accent-color:#dc2626;}
.plui-lg\:bg-red-700{background-color:#b91c1c;}
.plui-lg\:text-red-700{color:#b91c1c;}
.plui-lg\:border-red-700{border-color:#b91c1c;}
.plui-lg\:fill-red-700{fill:#b91c1c;}
.plui-lg\:stroke-red-700{stroke:#b91c1c;}
.plui-lg\:accent-red-700{accent-color:#b91c1c;}
.plui-lg\:bg-blue-500{background-color:#3b82f6;}
.plui-lg\:text-blue-500{color:#3b82f6;}
.plui-lg\:border-blue-500{border-color:#3b82f6;}
.plui-lg\:fill-blue-500{fill:#3b82f6;}
.plui-lg\:stroke-blue-500{stroke:#3b82f6;}
.plui-lg\:accent-blue-500{accent-color:#3b82f6;}
.plui-lg\:bg-blue-600{background-color:#2563eb;}
.plui-lg\:text-blue-600{color:#2563eb;}
.plui-lg\:border-blue-600{border-color:#2563eb;}
.plui-lg\:fill-blue-600{fill:#2563eb;}
.plui-lg\:stroke-blue-600{stroke:#2563eb;}
.plui-lg\:accent-blue-600{accent-color:#2563eb;}
.plui-lg\:bg-blue-700{background-color:#1d4ed8;}
.plui-lg\:text-blue-700{color:#1d4ed8;}
.plui-lg\:border-blue-700{border-color:#1d4ed8;}
.plui-lg\:fill-blue-700{fill:#1d4ed8;}
.plui-lg\:stroke-blue-700{stroke:#1d4ed8;}
.plui-lg\:accent-blue-700{accent-color:#1d4ed8;}
.plui-lg\:bg-green-500{background-color:#22c55e;}
.plui-lg\:text-green-500{color:#22c55e;}
.plui-lg\:border-green-500{border-color:#22c55e;}
.plui-lg\:fill-green-500{fill:#22c55e;}
.plui-lg\:stroke-green-500{stroke:#22c55e;}
.plui-lg\:accent-green-500{accent-color:#22c55e;}
.plui-lg\:bg-green-600{background-color:#16a34a;}
.plui-lg\:text-green-600{color:#16a34a;}
.plui-lg\:border-green-600{border-color:#16a34a;}
.plui-lg\:fill-green-600{fill:#16a34a;}
.plui-lg\:stroke-green-600{stroke:#16a34a;}
.plui-lg\:accent-green-600{accent-color:#16a34a;}
.plui-lg\:bg-green-700{background-color:#15803d;}
.plui-lg\:text-green-700{color:#15803d;}
.plui-lg\:border-green-700{border-color:#15803d;}
.plui-lg\:fill-green-700{fill:#15803d;}
.plui-lg\:stroke-green-700{stroke:#15803d;}
.plui-lg\:accent-green-700{accent-color:#15803d;}
.plui-lg\:bg-yellow-500{background-color:#eab308;}
.plui-lg\:text-yellow-500{color:#eab308;}
.plui-lg\:border-yellow-500{border-color:#eab308;}
.plui-lg\:fill-yellow-500{fill:#eab308;}
.plui-lg\:stroke-yellow-500{stroke:#eab308;}
.plui-lg\:accent-yellow-500{accent-color:#eab308;}
.plui-lg\:bg-yellow-600{background-color:#ca8a04;}
.plui-lg\:text-yellow-600{color:#ca8a04;}
.plui-lg\:border-yellow-600{border-color:#ca8a04;}
.plui-lg\:fill-yellow-600{fill:#ca8a04;}
.plui-lg\:stroke-yellow-600{stroke:#ca8a04;}
.plui-lg\:accent-yellow-600{accent-color:#ca8a04;}
.plui-lg\:bg-indigo-500{background-color:#6366f1;}
.plui-lg\:text-indigo-500{color:#6366f1;}
.plui-lg\:border-indigo-500{border-color:#6366f1;}
.plui-lg\:fill-indigo-500{fill:#6366f1;}
.plui-lg\:stroke-indigo-500{stroke:#6366f1;}
.plui-lg\:accent-indigo-500{accent-color:#6366f1;}
.plui-lg\:bg-indigo-600{background-color:#4f46e5;}
.plui-lg\:text-indigo-600{color:#4f46e5;}
.plui-lg\:border-indigo-600{border-color:#4f46e5;}
.plui-lg\:fill-indigo-600{fill:#4f46e5;}
.plui-lg\:stroke-indigo-600{stroke:#4f46e5;}
.plui-lg\:accent-indigo-600{accent-color:#4f46e5;}
.plui-lg\:bg-indigo-700{background-color:#4338ca;}
.plui-lg\:text-indigo-700{color:#4338ca;}
.plui-lg\:border-indigo-700{border-color:#4338ca;}
.plui-lg\:fill-indigo-700{fill:#4338ca;}
.plui-lg\:stroke-indigo-700{stroke:#4338ca;}
.plui-lg\:accent-indigo-700{accent-color:#4338ca;}
.plui-lg\:bg-purple-500{background-color:#a855f7;}
.plui-lg\:text-purple-500{color:#a855f7;}
.plui-lg\:border-purple-500{border-color:#a855f7;}
.plui-lg\:fill-purple-500{fill:#a855f7;}
.plui-lg\:stroke-purple-500{stroke:#a855f7;}
.plui-lg\:accent-purple-500{accent-color:#a855f7;}
.plui-lg\:bg-purple-600{background-color:#9333ea;}
.plui-lg\:text-purple-600{color:#9333ea;}
.plui-lg\:border-purple-600{border-color:#9333ea;}
.plui-lg\:fill-purple-600{fill:#9333ea;}
.plui-lg\:stroke-purple-600{stroke:#9333ea;}
.plui-lg\:accent-purple-600{accent-color:#9333ea;}
.plui-lg\:bg-pink-500{background-color:#ec4899;}
.plui-lg\:text-pink-500{color:#ec4899;}
.plui-lg\:border-pink-500{border-color:#ec4899;}
.plui-lg\:fill-pink-500{fill:#ec4899;}
.plui-lg\:stroke-pink-500{stroke:#ec4899;}
.plui-lg\:accent-pink-500{accent-color:#ec4899;}
.plui-lg\:bg-pink-600{background-color:#db2777;}
.plui-lg\:text-pink-600{color:#db2777;}
.plui-lg\:border-pink-600{border-color:#db2777;}
.plui-lg\:fill-pink-600{fill:#db2777;}
.plui-lg\:stroke-pink-600{stroke:#db2777;}
.plui-lg\:accent-pink-600{accent-color:#db2777;}
.plui-lg\:divide-inherit{border-color:inherit;}
.plui-lg\:divide-current{border-color:currentColor;}
.plui-lg\:divide-transparent{border-color:transparent;}
.plui-lg\:divide-black{border-color:#000000;}
.plui-lg\:divide-white{border-color:#ffffff;}
.plui-lg\:divide-gray-50{border-color:#f9fafb;}
.plui-lg\:divide-gray-100{border-color:#f3f4f6;}
.plui-lg\:divide-gray-200{border-color:#e5e7eb;}
.plui-lg\:divide-gray-300{border-color:#d1d5db;}
.plui-lg\:divide-gray-400{border-color:#9ca3af;}
.plui-lg\:divide-gray-500{border-color:#6b7280;}
.plui-lg\:divide-gray-600{border-color:#4b5563;}
.plui-lg\:divide-gray-700{border-color:#374151;}
.plui-lg\:divide-gray-800{border-color:#1f2937;}
.plui-lg\:divide-gray-900{border-color:#111827;}
.plui-lg\:divide-red-500{border-color:#ef4444;}
.plui-lg\:divide-red-600{border-color:#dc2626;}
.plui-lg\:divide-red-700{border-color:#b91c1c;}
.plui-lg\:divide-blue-500{border-color:#3b82f6;}
.plui-lg\:divide-blue-600{border-color:#2563eb;}
.plui-lg\:divide-blue-700{border-color:#1d4ed8;}
.plui-lg\:divide-green-500{border-color:#22c55e;}
.plui-lg\:divide-green-600{border-color:#16a34a;}
.plui-lg\:divide-green-700{border-color:#15803d;}
.plui-lg\:divide-yellow-500{border-color:#eab308;}
.plui-lg\:divide-yellow-600{border-color:#ca8a04;}
.plui-lg\:divide-indigo-500{border-color:#6366f1;}
.plui-lg\:divide-indigo-600{border-color:#4f46e5;}
.plui-lg\:divide-indigo-700{border-color:#4338ca;}
.plui-lg\:divide-purple-500{border-color:#a855f7;}
.plui-lg\:divide-purple-600{border-color:#9333ea;}
.plui-lg\:divide-pink-500{border-color:#ec4899;}
.plui-lg\:divide-pink-600{border-color:#db2777;}
.plui-lg\:stroke-0{stroke-width:0;}
.plui-lg\:stroke-1{stroke-width:1;}
.plui-lg\:stroke-2{stroke-width:2;}
.plui-lg\:stroke-none{stroke:none;}
.plui-lg\:fill-none{fill:none;}

/* ---- xl ≥ 1200px ---- */
.plui-xl\:bg-muted{background-color:var(--plui-color-text-muted);}
.plui-xl\:text-muted{color:var(--plui-color-text-muted);}
.plui-xl\:border-muted{border-color:var(--plui-color-text-muted);}
.plui-xl\:bg-faint{background-color:var(--plui-color-text-faint);}
.plui-xl\:text-faint{color:var(--plui-color-text-faint);}
.plui-xl\:border-faint{border-color:var(--plui-color-text-faint);}
.plui-xl\:bg-strong{background-color:var(--plui-color-text-strong);}
.plui-xl\:text-strong{color:var(--plui-color-text-strong);}
.plui-xl\:border-strong{border-color:var(--plui-color-text-strong);}
.plui-xl\:bg-soft{background-color:var(--plui-color-bg-soft);}
.plui-xl\:text-soft{color:var(--plui-color-bg-soft);}
.plui-xl\:border-soft{border-color:var(--plui-color-bg-soft);}
.plui-xl\:bg-inverse{background-color:var(--plui-color-inverse);}
.plui-xl\:text-inverse{color:var(--plui-color-inverse);}
.plui-xl\:border-inverse{border-color:var(--plui-color-inverse);}
.plui-xl\:bg-inherit{background-color:inherit;}
.plui-xl\:text-inherit{color:inherit;}
.plui-xl\:border-inherit{border-color:inherit;}
.plui-xl\:fill-inherit{fill:inherit;}
.plui-xl\:stroke-inherit{stroke:inherit;}
.plui-xl\:accent-inherit{accent-color:inherit;}
.plui-xl\:bg-current{background-color:currentColor;}
.plui-xl\:text-current{color:currentColor;}
.plui-xl\:border-current{border-color:currentColor;}
.plui-xl\:fill-current{fill:currentColor;}
.plui-xl\:stroke-current{stroke:currentColor;}
.plui-xl\:accent-current{accent-color:currentColor;}
.plui-xl\:bg-transparent{background-color:transparent;}
.plui-xl\:text-transparent{color:transparent;}
.plui-xl\:border-transparent{border-color:transparent;}
.plui-xl\:fill-transparent{fill:transparent;}
.plui-xl\:stroke-transparent{stroke:transparent;}
.plui-xl\:accent-transparent{accent-color:transparent;}
.plui-xl\:bg-black{background-color:#000000;}
.plui-xl\:text-black{color:#000000;}
.plui-xl\:border-black{border-color:#000000;}
.plui-xl\:fill-black{fill:#000000;}
.plui-xl\:stroke-black{stroke:#000000;}
.plui-xl\:accent-black{accent-color:#000000;}
.plui-xl\:bg-white{background-color:#ffffff;}
.plui-xl\:text-white{color:#ffffff;}
.plui-xl\:border-white{border-color:#ffffff;}
.plui-xl\:fill-white{fill:#ffffff;}
.plui-xl\:stroke-white{stroke:#ffffff;}
.plui-xl\:accent-white{accent-color:#ffffff;}
.plui-xl\:bg-gray-50{background-color:#f9fafb;}
.plui-xl\:text-gray-50{color:#f9fafb;}
.plui-xl\:border-gray-50{border-color:#f9fafb;}
.plui-xl\:fill-gray-50{fill:#f9fafb;}
.plui-xl\:stroke-gray-50{stroke:#f9fafb;}
.plui-xl\:accent-gray-50{accent-color:#f9fafb;}
.plui-xl\:bg-gray-100{background-color:#f3f4f6;}
.plui-xl\:text-gray-100{color:#f3f4f6;}
.plui-xl\:border-gray-100{border-color:#f3f4f6;}
.plui-xl\:fill-gray-100{fill:#f3f4f6;}
.plui-xl\:stroke-gray-100{stroke:#f3f4f6;}
.plui-xl\:accent-gray-100{accent-color:#f3f4f6;}
.plui-xl\:bg-gray-200{background-color:#e5e7eb;}
.plui-xl\:text-gray-200{color:#e5e7eb;}
.plui-xl\:border-gray-200{border-color:#e5e7eb;}
.plui-xl\:fill-gray-200{fill:#e5e7eb;}
.plui-xl\:stroke-gray-200{stroke:#e5e7eb;}
.plui-xl\:accent-gray-200{accent-color:#e5e7eb;}
.plui-xl\:bg-gray-300{background-color:#d1d5db;}
.plui-xl\:text-gray-300{color:#d1d5db;}
.plui-xl\:border-gray-300{border-color:#d1d5db;}
.plui-xl\:fill-gray-300{fill:#d1d5db;}
.plui-xl\:stroke-gray-300{stroke:#d1d5db;}
.plui-xl\:accent-gray-300{accent-color:#d1d5db;}
.plui-xl\:bg-gray-400{background-color:#9ca3af;}
.plui-xl\:text-gray-400{color:#9ca3af;}
.plui-xl\:border-gray-400{border-color:#9ca3af;}
.plui-xl\:fill-gray-400{fill:#9ca3af;}
.plui-xl\:stroke-gray-400{stroke:#9ca3af;}
.plui-xl\:accent-gray-400{accent-color:#9ca3af;}
.plui-xl\:bg-gray-500{background-color:#6b7280;}
.plui-xl\:text-gray-500{color:#6b7280;}
.plui-xl\:border-gray-500{border-color:#6b7280;}
.plui-xl\:fill-gray-500{fill:#6b7280;}
.plui-xl\:stroke-gray-500{stroke:#6b7280;}
.plui-xl\:accent-gray-500{accent-color:#6b7280;}
.plui-xl\:bg-gray-600{background-color:#4b5563;}
.plui-xl\:text-gray-600{color:#4b5563;}
.plui-xl\:border-gray-600{border-color:#4b5563;}
.plui-xl\:fill-gray-600{fill:#4b5563;}
.plui-xl\:stroke-gray-600{stroke:#4b5563;}
.plui-xl\:accent-gray-600{accent-color:#4b5563;}
.plui-xl\:bg-gray-700{background-color:#374151;}
.plui-xl\:text-gray-700{color:#374151;}
.plui-xl\:border-gray-700{border-color:#374151;}
.plui-xl\:fill-gray-700{fill:#374151;}
.plui-xl\:stroke-gray-700{stroke:#374151;}
.plui-xl\:accent-gray-700{accent-color:#374151;}
.plui-xl\:bg-gray-800{background-color:#1f2937;}
.plui-xl\:text-gray-800{color:#1f2937;}
.plui-xl\:border-gray-800{border-color:#1f2937;}
.plui-xl\:fill-gray-800{fill:#1f2937;}
.plui-xl\:stroke-gray-800{stroke:#1f2937;}
.plui-xl\:accent-gray-800{accent-color:#1f2937;}
.plui-xl\:bg-gray-900{background-color:#111827;}
.plui-xl\:text-gray-900{color:#111827;}
.plui-xl\:border-gray-900{border-color:#111827;}
.plui-xl\:fill-gray-900{fill:#111827;}
.plui-xl\:stroke-gray-900{stroke:#111827;}
.plui-xl\:accent-gray-900{accent-color:#111827;}
.plui-xl\:bg-red-500{background-color:#ef4444;}
.plui-xl\:text-red-500{color:#ef4444;}
.plui-xl\:border-red-500{border-color:#ef4444;}
.plui-xl\:fill-red-500{fill:#ef4444;}
.plui-xl\:stroke-red-500{stroke:#ef4444;}
.plui-xl\:accent-red-500{accent-color:#ef4444;}
.plui-xl\:bg-red-600{background-color:#dc2626;}
.plui-xl\:text-red-600{color:#dc2626;}
.plui-xl\:border-red-600{border-color:#dc2626;}
.plui-xl\:fill-red-600{fill:#dc2626;}
.plui-xl\:stroke-red-600{stroke:#dc2626;}
.plui-xl\:accent-red-600{accent-color:#dc2626;}
.plui-xl\:bg-red-700{background-color:#b91c1c;}
.plui-xl\:text-red-700{color:#b91c1c;}
.plui-xl\:border-red-700{border-color:#b91c1c;}
.plui-xl\:fill-red-700{fill:#b91c1c;}
.plui-xl\:stroke-red-700{stroke:#b91c1c;}
.plui-xl\:accent-red-700{accent-color:#b91c1c;}
.plui-xl\:bg-blue-500{background-color:#3b82f6;}
.plui-xl\:text-blue-500{color:#3b82f6;}
.plui-xl\:border-blue-500{border-color:#3b82f6;}
.plui-xl\:fill-blue-500{fill:#3b82f6;}
.plui-xl\:stroke-blue-500{stroke:#3b82f6;}
.plui-xl\:accent-blue-500{accent-color:#3b82f6;}
.plui-xl\:bg-blue-600{background-color:#2563eb;}
.plui-xl\:text-blue-600{color:#2563eb;}
.plui-xl\:border-blue-600{border-color:#2563eb;}
.plui-xl\:fill-blue-600{fill:#2563eb;}
.plui-xl\:stroke-blue-600{stroke:#2563eb;}
.plui-xl\:accent-blue-600{accent-color:#2563eb;}
.plui-xl\:bg-blue-700{background-color:#1d4ed8;}
.plui-xl\:text-blue-700{color:#1d4ed8;}
.plui-xl\:border-blue-700{border-color:#1d4ed8;}
.plui-xl\:fill-blue-700{fill:#1d4ed8;}
.plui-xl\:stroke-blue-700{stroke:#1d4ed8;}
.plui-xl\:accent-blue-700{accent-color:#1d4ed8;}
.plui-xl\:bg-green-500{background-color:#22c55e;}
.plui-xl\:text-green-500{color:#22c55e;}
.plui-xl\:border-green-500{border-color:#22c55e;}
.plui-xl\:fill-green-500{fill:#22c55e;}
.plui-xl\:stroke-green-500{stroke:#22c55e;}
.plui-xl\:accent-green-500{accent-color:#22c55e;}
.plui-xl\:bg-green-600{background-color:#16a34a;}
.plui-xl\:text-green-600{color:#16a34a;}
.plui-xl\:border-green-600{border-color:#16a34a;}
.plui-xl\:fill-green-600{fill:#16a34a;}
.plui-xl\:stroke-green-600{stroke:#16a34a;}
.plui-xl\:accent-green-600{accent-color:#16a34a;}
.plui-xl\:bg-green-700{background-color:#15803d;}
.plui-xl\:text-green-700{color:#15803d;}
.plui-xl\:border-green-700{border-color:#15803d;}
.plui-xl\:fill-green-700{fill:#15803d;}
.plui-xl\:stroke-green-700{stroke:#15803d;}
.plui-xl\:accent-green-700{accent-color:#15803d;}
.plui-xl\:bg-yellow-500{background-color:#eab308;}
.plui-xl\:text-yellow-500{color:#eab308;}
.plui-xl\:border-yellow-500{border-color:#eab308;}
.plui-xl\:fill-yellow-500{fill:#eab308;}
.plui-xl\:stroke-yellow-500{stroke:#eab308;}
.plui-xl\:accent-yellow-500{accent-color:#eab308;}
.plui-xl\:bg-yellow-600{background-color:#ca8a04;}
.plui-xl\:text-yellow-600{color:#ca8a04;}
.plui-xl\:border-yellow-600{border-color:#ca8a04;}
.plui-xl\:fill-yellow-600{fill:#ca8a04;}
.plui-xl\:stroke-yellow-600{stroke:#ca8a04;}
.plui-xl\:accent-yellow-600{accent-color:#ca8a04;}
.plui-xl\:bg-indigo-500{background-color:#6366f1;}
.plui-xl\:text-indigo-500{color:#6366f1;}
.plui-xl\:border-indigo-500{border-color:#6366f1;}
.plui-xl\:fill-indigo-500{fill:#6366f1;}
.plui-xl\:stroke-indigo-500{stroke:#6366f1;}
.plui-xl\:accent-indigo-500{accent-color:#6366f1;}
.plui-xl\:bg-indigo-600{background-color:#4f46e5;}
.plui-xl\:text-indigo-600{color:#4f46e5;}
.plui-xl\:border-indigo-600{border-color:#4f46e5;}
.plui-xl\:fill-indigo-600{fill:#4f46e5;}
.plui-xl\:stroke-indigo-600{stroke:#4f46e5;}
.plui-xl\:accent-indigo-600{accent-color:#4f46e5;}
.plui-xl\:bg-indigo-700{background-color:#4338ca;}
.plui-xl\:text-indigo-700{color:#4338ca;}
.plui-xl\:border-indigo-700{border-color:#4338ca;}
.plui-xl\:fill-indigo-700{fill:#4338ca;}
.plui-xl\:stroke-indigo-700{stroke:#4338ca;}
.plui-xl\:accent-indigo-700{accent-color:#4338ca;}
.plui-xl\:bg-purple-500{background-color:#a855f7;}
.plui-xl\:text-purple-500{color:#a855f7;}
.plui-xl\:border-purple-500{border-color:#a855f7;}
.plui-xl\:fill-purple-500{fill:#a855f7;}
.plui-xl\:stroke-purple-500{stroke:#a855f7;}
.plui-xl\:accent-purple-500{accent-color:#a855f7;}
.plui-xl\:bg-purple-600{background-color:#9333ea;}
.plui-xl\:text-purple-600{color:#9333ea;}
.plui-xl\:border-purple-600{border-color:#9333ea;}
.plui-xl\:fill-purple-600{fill:#9333ea;}
.plui-xl\:stroke-purple-600{stroke:#9333ea;}
.plui-xl\:accent-purple-600{accent-color:#9333ea;}
.plui-xl\:bg-pink-500{background-color:#ec4899;}
.plui-xl\:text-pink-500{color:#ec4899;}
.plui-xl\:border-pink-500{border-color:#ec4899;}
.plui-xl\:fill-pink-500{fill:#ec4899;}
.plui-xl\:stroke-pink-500{stroke:#ec4899;}
.plui-xl\:accent-pink-500{accent-color:#ec4899;}
.plui-xl\:bg-pink-600{background-color:#db2777;}
.plui-xl\:text-pink-600{color:#db2777;}
.plui-xl\:border-pink-600{border-color:#db2777;}
.plui-xl\:fill-pink-600{fill:#db2777;}
.plui-xl\:stroke-pink-600{stroke:#db2777;}
.plui-xl\:accent-pink-600{accent-color:#db2777;}
.plui-xl\:divide-inherit{border-color:inherit;}
.plui-xl\:divide-current{border-color:currentColor;}
.plui-xl\:divide-transparent{border-color:transparent;}
.plui-xl\:divide-black{border-color:#000000;}
.plui-xl\:divide-white{border-color:#ffffff;}
.plui-xl\:divide-gray-50{border-color:#f9fafb;}
.plui-xl\:divide-gray-100{border-color:#f3f4f6;}
.plui-xl\:divide-gray-200{border-color:#e5e7eb;}
.plui-xl\:divide-gray-300{border-color:#d1d5db;}
.plui-xl\:divide-gray-400{border-color:#9ca3af;}
.plui-xl\:divide-gray-500{border-color:#6b7280;}
.plui-xl\:divide-gray-600{border-color:#4b5563;}
.plui-xl\:divide-gray-700{border-color:#374151;}
.plui-xl\:divide-gray-800{border-color:#1f2937;}
.plui-xl\:divide-gray-900{border-color:#111827;}
.plui-xl\:divide-red-500{border-color:#ef4444;}
.plui-xl\:divide-red-600{border-color:#dc2626;}
.plui-xl\:divide-red-700{border-color:#b91c1c;}
.plui-xl\:divide-blue-500{border-color:#3b82f6;}
.plui-xl\:divide-blue-600{border-color:#2563eb;}
.plui-xl\:divide-blue-700{border-color:#1d4ed8;}
.plui-xl\:divide-green-500{border-color:#22c55e;}
.plui-xl\:divide-green-600{border-color:#16a34a;}
.plui-xl\:divide-green-700{border-color:#15803d;}
.plui-xl\:divide-yellow-500{border-color:#eab308;}
.plui-xl\:divide-yellow-600{border-color:#ca8a04;}
.plui-xl\:divide-indigo-500{border-color:#6366f1;}
.plui-xl\:divide-indigo-600{border-color:#4f46e5;}
.plui-xl\:divide-indigo-700{border-color:#4338ca;}
.plui-xl\:divide-purple-500{border-color:#a855f7;}
.plui-xl\:divide-purple-600{border-color:#9333ea;}
.plui-xl\:divide-pink-500{border-color:#ec4899;}
.plui-xl\:divide-pink-600{border-color:#db2777;}
.plui-xl\:stroke-0{stroke-width:0;}
.plui-xl\:stroke-1{stroke-width:1;}
.plui-xl\:stroke-2{stroke-width:2;}
.plui-xl\:stroke-none{stroke:none;}
.plui-xl\:fill-none{fill:none;}

/* ---- xxl ≥ 1400px ---- */
.plui-xxl\:bg-muted{background-color:var(--plui-color-text-muted);}
.plui-xxl\:text-muted{color:var(--plui-color-text-muted);}
.plui-xxl\:border-muted{border-color:var(--plui-color-text-muted);}
.plui-xxl\:bg-faint{background-color:var(--plui-color-text-faint);}
.plui-xxl\:text-faint{color:var(--plui-color-text-faint);}
.plui-xxl\:border-faint{border-color:var(--plui-color-text-faint);}
.plui-xxl\:bg-strong{background-color:var(--plui-color-text-strong);}
.plui-xxl\:text-strong{color:var(--plui-color-text-strong);}
.plui-xxl\:border-strong{border-color:var(--plui-color-text-strong);}
.plui-xxl\:bg-soft{background-color:var(--plui-color-bg-soft);}
.plui-xxl\:text-soft{color:var(--plui-color-bg-soft);}
.plui-xxl\:border-soft{border-color:var(--plui-color-bg-soft);}
.plui-xxl\:bg-inverse{background-color:var(--plui-color-inverse);}
.plui-xxl\:text-inverse{color:var(--plui-color-inverse);}
.plui-xxl\:border-inverse{border-color:var(--plui-color-inverse);}
.plui-xxl\:bg-inherit{background-color:inherit;}
.plui-xxl\:text-inherit{color:inherit;}
.plui-xxl\:border-inherit{border-color:inherit;}
.plui-xxl\:fill-inherit{fill:inherit;}
.plui-xxl\:stroke-inherit{stroke:inherit;}
.plui-xxl\:accent-inherit{accent-color:inherit;}
.plui-xxl\:bg-current{background-color:currentColor;}
.plui-xxl\:text-current{color:currentColor;}
.plui-xxl\:border-current{border-color:currentColor;}
.plui-xxl\:fill-current{fill:currentColor;}
.plui-xxl\:stroke-current{stroke:currentColor;}
.plui-xxl\:accent-current{accent-color:currentColor;}
.plui-xxl\:bg-transparent{background-color:transparent;}
.plui-xxl\:text-transparent{color:transparent;}
.plui-xxl\:border-transparent{border-color:transparent;}
.plui-xxl\:fill-transparent{fill:transparent;}
.plui-xxl\:stroke-transparent{stroke:transparent;}
.plui-xxl\:accent-transparent{accent-color:transparent;}
.plui-xxl\:bg-black{background-color:#000000;}
.plui-xxl\:text-black{color:#000000;}
.plui-xxl\:border-black{border-color:#000000;}
.plui-xxl\:fill-black{fill:#000000;}
.plui-xxl\:stroke-black{stroke:#000000;}
.plui-xxl\:accent-black{accent-color:#000000;}
.plui-xxl\:bg-white{background-color:#ffffff;}
.plui-xxl\:text-white{color:#ffffff;}
.plui-xxl\:border-white{border-color:#ffffff;}
.plui-xxl\:fill-white{fill:#ffffff;}
.plui-xxl\:stroke-white{stroke:#ffffff;}
.plui-xxl\:accent-white{accent-color:#ffffff;}
.plui-xxl\:bg-gray-50{background-color:#f9fafb;}
.plui-xxl\:text-gray-50{color:#f9fafb;}
.plui-xxl\:border-gray-50{border-color:#f9fafb;}
.plui-xxl\:fill-gray-50{fill:#f9fafb;}
.plui-xxl\:stroke-gray-50{stroke:#f9fafb;}
.plui-xxl\:accent-gray-50{accent-color:#f9fafb;}
.plui-xxl\:bg-gray-100{background-color:#f3f4f6;}
.plui-xxl\:text-gray-100{color:#f3f4f6;}
.plui-xxl\:border-gray-100{border-color:#f3f4f6;}
.plui-xxl\:fill-gray-100{fill:#f3f4f6;}
.plui-xxl\:stroke-gray-100{stroke:#f3f4f6;}
.plui-xxl\:accent-gray-100{accent-color:#f3f4f6;}
.plui-xxl\:bg-gray-200{background-color:#e5e7eb;}
.plui-xxl\:text-gray-200{color:#e5e7eb;}
.plui-xxl\:border-gray-200{border-color:#e5e7eb;}
.plui-xxl\:fill-gray-200{fill:#e5e7eb;}
.plui-xxl\:stroke-gray-200{stroke:#e5e7eb;}
.plui-xxl\:accent-gray-200{accent-color:#e5e7eb;}
.plui-xxl\:bg-gray-300{background-color:#d1d5db;}
.plui-xxl\:text-gray-300{color:#d1d5db;}
.plui-xxl\:border-gray-300{border-color:#d1d5db;}
.plui-xxl\:fill-gray-300{fill:#d1d5db;}
.plui-xxl\:stroke-gray-300{stroke:#d1d5db;}
.plui-xxl\:accent-gray-300{accent-color:#d1d5db;}
.plui-xxl\:bg-gray-400{background-color:#9ca3af;}
.plui-xxl\:text-gray-400{color:#9ca3af;}
.plui-xxl\:border-gray-400{border-color:#9ca3af;}
.plui-xxl\:fill-gray-400{fill:#9ca3af;}
.plui-xxl\:stroke-gray-400{stroke:#9ca3af;}
.plui-xxl\:accent-gray-400{accent-color:#9ca3af;}
.plui-xxl\:bg-gray-500{background-color:#6b7280;}
.plui-xxl\:text-gray-500{color:#6b7280;}
.plui-xxl\:border-gray-500{border-color:#6b7280;}
.plui-xxl\:fill-gray-500{fill:#6b7280;}
.plui-xxl\:stroke-gray-500{stroke:#6b7280;}
.plui-xxl\:accent-gray-500{accent-color:#6b7280;}
.plui-xxl\:bg-gray-600{background-color:#4b5563;}
.plui-xxl\:text-gray-600{color:#4b5563;}
.plui-xxl\:border-gray-600{border-color:#4b5563;}
.plui-xxl\:fill-gray-600{fill:#4b5563;}
.plui-xxl\:stroke-gray-600{stroke:#4b5563;}
.plui-xxl\:accent-gray-600{accent-color:#4b5563;}
.plui-xxl\:bg-gray-700{background-color:#374151;}
.plui-xxl\:text-gray-700{color:#374151;}
.plui-xxl\:border-gray-700{border-color:#374151;}
.plui-xxl\:fill-gray-700{fill:#374151;}
.plui-xxl\:stroke-gray-700{stroke:#374151;}
.plui-xxl\:accent-gray-700{accent-color:#374151;}
.plui-xxl\:bg-gray-800{background-color:#1f2937;}
.plui-xxl\:text-gray-800{color:#1f2937;}
.plui-xxl\:border-gray-800{border-color:#1f2937;}
.plui-xxl\:fill-gray-800{fill:#1f2937;}
.plui-xxl\:stroke-gray-800{stroke:#1f2937;}
.plui-xxl\:accent-gray-800{accent-color:#1f2937;}
.plui-xxl\:bg-gray-900{background-color:#111827;}
.plui-xxl\:text-gray-900{color:#111827;}
.plui-xxl\:border-gray-900{border-color:#111827;}
.plui-xxl\:fill-gray-900{fill:#111827;}
.plui-xxl\:stroke-gray-900{stroke:#111827;}
.plui-xxl\:accent-gray-900{accent-color:#111827;}
.plui-xxl\:bg-red-500{background-color:#ef4444;}
.plui-xxl\:text-red-500{color:#ef4444;}
.plui-xxl\:border-red-500{border-color:#ef4444;}
.plui-xxl\:fill-red-500{fill:#ef4444;}
.plui-xxl\:stroke-red-500{stroke:#ef4444;}
.plui-xxl\:accent-red-500{accent-color:#ef4444;}
.plui-xxl\:bg-red-600{background-color:#dc2626;}
.plui-xxl\:text-red-600{color:#dc2626;}
.plui-xxl\:border-red-600{border-color:#dc2626;}
.plui-xxl\:fill-red-600{fill:#dc2626;}
.plui-xxl\:stroke-red-600{stroke:#dc2626;}
.plui-xxl\:accent-red-600{accent-color:#dc2626;}
.plui-xxl\:bg-red-700{background-color:#b91c1c;}
.plui-xxl\:text-red-700{color:#b91c1c;}
.plui-xxl\:border-red-700{border-color:#b91c1c;}
.plui-xxl\:fill-red-700{fill:#b91c1c;}
.plui-xxl\:stroke-red-700{stroke:#b91c1c;}
.plui-xxl\:accent-red-700{accent-color:#b91c1c;}
.plui-xxl\:bg-blue-500{background-color:#3b82f6;}
.plui-xxl\:text-blue-500{color:#3b82f6;}
.plui-xxl\:border-blue-500{border-color:#3b82f6;}
.plui-xxl\:fill-blue-500{fill:#3b82f6;}
.plui-xxl\:stroke-blue-500{stroke:#3b82f6;}
.plui-xxl\:accent-blue-500{accent-color:#3b82f6;}
.plui-xxl\:bg-blue-600{background-color:#2563eb;}
.plui-xxl\:text-blue-600{color:#2563eb;}
.plui-xxl\:border-blue-600{border-color:#2563eb;}
.plui-xxl\:fill-blue-600{fill:#2563eb;}
.plui-xxl\:stroke-blue-600{stroke:#2563eb;}
.plui-xxl\:accent-blue-600{accent-color:#2563eb;}
.plui-xxl\:bg-blue-700{background-color:#1d4ed8;}
.plui-xxl\:text-blue-700{color:#1d4ed8;}
.plui-xxl\:border-blue-700{border-color:#1d4ed8;}
.plui-xxl\:fill-blue-700{fill:#1d4ed8;}
.plui-xxl\:stroke-blue-700{stroke:#1d4ed8;}
.plui-xxl\:accent-blue-700{accent-color:#1d4ed8;}
.plui-xxl\:bg-green-500{background-color:#22c55e;}
.plui-xxl\:text-green-500{color:#22c55e;}
.plui-xxl\:border-green-500{border-color:#22c55e;}
.plui-xxl\:fill-green-500{fill:#22c55e;}
.plui-xxl\:stroke-green-500{stroke:#22c55e;}
.plui-xxl\:accent-green-500{accent-color:#22c55e;}
.plui-xxl\:bg-green-600{background-color:#16a34a;}
.plui-xxl\:text-green-600{color:#16a34a;}
.plui-xxl\:border-green-600{border-color:#16a34a;}
.plui-xxl\:fill-green-600{fill:#16a34a;}
.plui-xxl\:stroke-green-600{stroke:#16a34a;}
.plui-xxl\:accent-green-600{accent-color:#16a34a;}
.plui-xxl\:bg-green-700{background-color:#15803d;}
.plui-xxl\:text-green-700{color:#15803d;}
.plui-xxl\:border-green-700{border-color:#15803d;}
.plui-xxl\:fill-green-700{fill:#15803d;}
.plui-xxl\:stroke-green-700{stroke:#15803d;}
.plui-xxl\:accent-green-700{accent-color:#15803d;}
.plui-xxl\:bg-yellow-500{background-color:#eab308;}
.plui-xxl\:text-yellow-500{color:#eab308;}
.plui-xxl\:border-yellow-500{border-color:#eab308;}
.plui-xxl\:fill-yellow-500{fill:#eab308;}
.plui-xxl\:stroke-yellow-500{stroke:#eab308;}
.plui-xxl\:accent-yellow-500{accent-color:#eab308;}
.plui-xxl\:bg-yellow-600{background-color:#ca8a04;}
.plui-xxl\:text-yellow-600{color:#ca8a04;}
.plui-xxl\:border-yellow-600{border-color:#ca8a04;}
.plui-xxl\:fill-yellow-600{fill:#ca8a04;}
.plui-xxl\:stroke-yellow-600{stroke:#ca8a04;}
.plui-xxl\:accent-yellow-600{accent-color:#ca8a04;}
.plui-xxl\:bg-indigo-500{background-color:#6366f1;}
.plui-xxl\:text-indigo-500{color:#6366f1;}
.plui-xxl\:border-indigo-500{border-color:#6366f1;}
.plui-xxl\:fill-indigo-500{fill:#6366f1;}
.plui-xxl\:stroke-indigo-500{stroke:#6366f1;}
.plui-xxl\:accent-indigo-500{accent-color:#6366f1;}
.plui-xxl\:bg-indigo-600{background-color:#4f46e5;}
.plui-xxl\:text-indigo-600{color:#4f46e5;}
.plui-xxl\:border-indigo-600{border-color:#4f46e5;}
.plui-xxl\:fill-indigo-600{fill:#4f46e5;}
.plui-xxl\:stroke-indigo-600{stroke:#4f46e5;}
.plui-xxl\:accent-indigo-600{accent-color:#4f46e5;}
.plui-xxl\:bg-indigo-700{background-color:#4338ca;}
.plui-xxl\:text-indigo-700{color:#4338ca;}
.plui-xxl\:border-indigo-700{border-color:#4338ca;}
.plui-xxl\:fill-indigo-700{fill:#4338ca;}
.plui-xxl\:stroke-indigo-700{stroke:#4338ca;}
.plui-xxl\:accent-indigo-700{accent-color:#4338ca;}
.plui-xxl\:bg-purple-500{background-color:#a855f7;}
.plui-xxl\:text-purple-500{color:#a855f7;}
.plui-xxl\:border-purple-500{border-color:#a855f7;}
.plui-xxl\:fill-purple-500{fill:#a855f7;}
.plui-xxl\:stroke-purple-500{stroke:#a855f7;}
.plui-xxl\:accent-purple-500{accent-color:#a855f7;}
.plui-xxl\:bg-purple-600{background-color:#9333ea;}
.plui-xxl\:text-purple-600{color:#9333ea;}
.plui-xxl\:border-purple-600{border-color:#9333ea;}
.plui-xxl\:fill-purple-600{fill:#9333ea;}
.plui-xxl\:stroke-purple-600{stroke:#9333ea;}
.plui-xxl\:accent-purple-600{accent-color:#9333ea;}
.plui-xxl\:bg-pink-500{background-color:#ec4899;}
.plui-xxl\:text-pink-500{color:#ec4899;}
.plui-xxl\:border-pink-500{border-color:#ec4899;}
.plui-xxl\:fill-pink-500{fill:#ec4899;}
.plui-xxl\:stroke-pink-500{stroke:#ec4899;}
.plui-xxl\:accent-pink-500{accent-color:#ec4899;}
.plui-xxl\:bg-pink-600{background-color:#db2777;}
.plui-xxl\:text-pink-600{color:#db2777;}
.plui-xxl\:border-pink-600{border-color:#db2777;}
.plui-xxl\:fill-pink-600{fill:#db2777;}
.plui-xxl\:stroke-pink-600{stroke:#db2777;}
.plui-xxl\:accent-pink-600{accent-color:#db2777;}
.plui-xxl\:divide-inherit{border-color:inherit;}
.plui-xxl\:divide-current{border-color:currentColor;}
.plui-xxl\:divide-transparent{border-color:transparent;}
.plui-xxl\:divide-black{border-color:#000000;}
.plui-xxl\:divide-white{border-color:#ffffff;}
.plui-xxl\:divide-gray-50{border-color:#f9fafb;}
.plui-xxl\:divide-gray-100{border-color:#f3f4f6;}
.plui-xxl\:divide-gray-200{border-color:#e5e7eb;}
.plui-xxl\:divide-gray-300{border-color:#d1d5db;}
.plui-xxl\:divide-gray-400{border-color:#9ca3af;}
.plui-xxl\:divide-gray-500{border-color:#6b7280;}
.plui-xxl\:divide-gray-600{border-color:#4b5563;}
.plui-xxl\:divide-gray-700{border-color:#374151;}
.plui-xxl\:divide-gray-800{border-color:#1f2937;}
.plui-xxl\:divide-gray-900{border-color:#111827;}
.plui-xxl\:divide-red-500{border-color:#ef4444;}
.plui-xxl\:divide-red-600{border-color:#dc2626;}
.plui-xxl\:divide-red-700{border-color:#b91c1c;}
.plui-xxl\:divide-blue-500{border-color:#3b82f6;}
.plui-xxl\:divide-blue-600{border-color:#2563eb;}
.plui-xxl\:divide-blue-700{border-color:#1d4ed8;}
.plui-xxl\:divide-green-500{border-color:#22c55e;}
.plui-xxl\:divide-green-600{border-color:#16a34a;}
.plui-xxl\:divide-green-700{border-color:#15803d;}
.plui-xxl\:divide-yellow-500{border-color:#eab308;}
.plui-xxl\:divide-yellow-600{border-color:#ca8a04;}
.plui-xxl\:divide-indigo-500{border-color:#6366f1;}
.plui-xxl\:divide-indigo-600{border-color:#4f46e5;}
.plui-xxl\:divide-indigo-700{border-color:#4338ca;}
.plui-xxl\:divide-purple-500{border-color:#a855f7;}
.plui-xxl\:divide-purple-600{border-color:#9333ea;}
.plui-xxl\:divide-pink-500{border-color:#ec4899;}
.plui-xxl\:divide-pink-600{border-color:#db2777;}
.plui-xxl\:stroke-0{stroke-width:0;}
.plui-xxl\:stroke-1{stroke-width:1;}
.plui-xxl\:stroke-2{stroke-width:2;}
.plui-xxl\:stroke-none{stroke:none;}
.plui-xxl\:fill-none{fill:none;}

/* --- src/css/responsive/typography.css --- */
/* ============================================================
   plui 工具类断点变体 · 排版：字号、字重、字体族、字距、行高、对齐、大小写、装饰、截断
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   写法：.plui-{断点}:{属性}-{取值}，例如 .plui-md:p-4
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-sm\:text-xs{font-size:0.75rem;line-height:1rem;}
.plui-sm\:text-sm{font-size:0.875rem;line-height:1.25rem;}
.plui-sm\:text-base{font-size:1rem;line-height:1.5rem;}
.plui-sm\:text-lg{font-size:1.125rem;line-height:1.75rem;}
.plui-sm\:text-xl{font-size:1.25rem;line-height:2rem;}
.plui-sm\:text-2xl{font-size:1.5rem;line-height:2rem;}
.plui-sm\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
.plui-sm\:text-4xl{font-size:2.25rem;line-height:2.5rem;}
.plui-sm\:text-5xl{font-size:3rem;line-height:1;}
.plui-sm\:text-6xl{font-size:3.75rem;line-height:1;}
.plui-sm\:text-7xl{font-size:4.5rem;line-height:1;}
.plui-sm\:text-8xl{font-size:6rem;line-height:1;}
.plui-sm\:text-9xl{font-size:8rem;line-height:1;}
.plui-sm\:font-thin{font-weight:100;}
.plui-sm\:font-extralight{font-weight:200;}
.plui-sm\:font-light{font-weight:300;}
.plui-sm\:font-normal{font-weight:400;}
.plui-sm\:font-medium{font-weight:500;}
.plui-sm\:font-semibold{font-weight:600;}
.plui-sm\:font-bold{font-weight:700;}
.plui-sm\:font-extrabold{font-weight:800;}
.plui-sm\:font-black{font-weight:900;}
.plui-sm\:font-sans{font-family:var(--plui-font-sans);}
.plui-sm\:font-serif{font-family:var(--plui-font-serif);}
.plui-sm\:font-mono{font-family:var(--plui-font-mono);}
.plui-sm\:font-style-italic{font-style:italic;}
.plui-sm\:font-style-normal{font-style:normal;}
.plui-sm\:tracking-tighter{letter-spacing:-0.05em;}
.plui-sm\:tracking-tight{letter-spacing:-0.025em;}
.plui-sm\:tracking-normal{letter-spacing:0;}
.plui-sm\:tracking-wide{letter-spacing:0.025em;}
.plui-sm\:tracking-wider{letter-spacing:0.05em;}
.plui-sm\:tracking-widest{letter-spacing:0.1em;}
.plui-sm\:leading-none{line-height:1;}
.plui-sm\:leading-tight{line-height:1.25;}
.plui-sm\:leading-snug{line-height:1.375;}
.plui-sm\:leading-normal{line-height:1.5;}
.plui-sm\:leading-relaxed{line-height:1.625;}
.plui-sm\:leading-loose{line-height:2;}
.plui-sm\:leading-3{line-height:3;}
.plui-sm\:leading-4{line-height:4;}
.plui-sm\:leading-5{line-height:5;}
.plui-sm\:leading-6{line-height:6;}
.plui-sm\:leading-7{line-height:7;}
.plui-sm\:leading-8{line-height:8;}
.plui-sm\:leading-9{line-height:9;}
.plui-sm\:leading-10{line-height:10;}
.plui-sm\:text-left{text-align:left;}
.plui-sm\:text-center{text-align:center;}
.plui-sm\:text-right{text-align:right;}
.plui-sm\:text-justify{text-align:justify;}
.plui-sm\:text-start{text-align:start;}
.plui-sm\:text-end{text-align:end;}
.plui-sm\:uppercase{text-transform:uppercase;}
.plui-sm\:lowercase{text-transform:lowercase;}
.plui-sm\:capitalize{text-transform:capitalize;}
.plui-sm\:normal-case{text-transform:none;}
.plui-sm\:underline{text-decoration-line:underline;}
.plui-sm\:overline{text-decoration-line:overline;}
.plui-sm\:line-through{text-decoration-line:line-through;}
.plui-sm\:no-underline{text-decoration-line:none;}
.plui-truncate\:sm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plui-sm\:text-ellipsis{text-overflow:ellipsis;}
.plui-sm\:text-wrap{text-wrap:wrap;}
.plui-sm\:text-nowrap{text-wrap:nowrap;}
.plui-sm\:text-balance{text-wrap:balance;}
.plui-sm\:text-pretty{text-wrap:pretty;}
.plui-sm\:break-normal{overflow-wrap:normal;word-break:normal;}
.plui-sm\:break-words{overflow-wrap:break-word;word-break:break-word;}
.plui-sm\:break-all{word-break:break-all;}
.plui-sm\:break-keep{word-break:keep-all;}
.plui-sm\:list-none{list-style-type:none;}
.plui-sm\:list-disc{list-style-type:disc;}
.plui-sm\:list-decimal{list-style-type:decimal;}
.plui-sm\:list-inside{list-style-position:inside;}
.plui-sm\:list-outside{list-style-position:outside;}

/* ---- md ≥ 768px ---- */
.plui-md\:text-xs{font-size:0.75rem;line-height:1rem;}
.plui-md\:text-sm{font-size:0.875rem;line-height:1.25rem;}
.plui-md\:text-base{font-size:1rem;line-height:1.5rem;}
.plui-md\:text-lg{font-size:1.125rem;line-height:1.75rem;}
.plui-md\:text-xl{font-size:1.25rem;line-height:2rem;}
.plui-md\:text-2xl{font-size:1.5rem;line-height:2rem;}
.plui-md\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
.plui-md\:text-4xl{font-size:2.25rem;line-height:2.5rem;}
.plui-md\:text-5xl{font-size:3rem;line-height:1;}
.plui-md\:text-6xl{font-size:3.75rem;line-height:1;}
.plui-md\:text-7xl{font-size:4.5rem;line-height:1;}
.plui-md\:text-8xl{font-size:6rem;line-height:1;}
.plui-md\:text-9xl{font-size:8rem;line-height:1;}
.plui-md\:font-thin{font-weight:100;}
.plui-md\:font-extralight{font-weight:200;}
.plui-md\:font-light{font-weight:300;}
.plui-md\:font-normal{font-weight:400;}
.plui-md\:font-medium{font-weight:500;}
.plui-md\:font-semibold{font-weight:600;}
.plui-md\:font-bold{font-weight:700;}
.plui-md\:font-extrabold{font-weight:800;}
.plui-md\:font-black{font-weight:900;}
.plui-md\:font-sans{font-family:var(--plui-font-sans);}
.plui-md\:font-serif{font-family:var(--plui-font-serif);}
.plui-md\:font-mono{font-family:var(--plui-font-mono);}
.plui-md\:font-style-italic{font-style:italic;}
.plui-md\:font-style-normal{font-style:normal;}
.plui-md\:tracking-tighter{letter-spacing:-0.05em;}
.plui-md\:tracking-tight{letter-spacing:-0.025em;}
.plui-md\:tracking-normal{letter-spacing:0;}
.plui-md\:tracking-wide{letter-spacing:0.025em;}
.plui-md\:tracking-wider{letter-spacing:0.05em;}
.plui-md\:tracking-widest{letter-spacing:0.1em;}
.plui-md\:leading-none{line-height:1;}
.plui-md\:leading-tight{line-height:1.25;}
.plui-md\:leading-snug{line-height:1.375;}
.plui-md\:leading-normal{line-height:1.5;}
.plui-md\:leading-relaxed{line-height:1.625;}
.plui-md\:leading-loose{line-height:2;}
.plui-md\:leading-3{line-height:3;}
.plui-md\:leading-4{line-height:4;}
.plui-md\:leading-5{line-height:5;}
.plui-md\:leading-6{line-height:6;}
.plui-md\:leading-7{line-height:7;}
.plui-md\:leading-8{line-height:8;}
.plui-md\:leading-9{line-height:9;}
.plui-md\:leading-10{line-height:10;}
.plui-md\:text-left{text-align:left;}
.plui-md\:text-center{text-align:center;}
.plui-md\:text-right{text-align:right;}
.plui-md\:text-justify{text-align:justify;}
.plui-md\:text-start{text-align:start;}
.plui-md\:text-end{text-align:end;}
.plui-md\:uppercase{text-transform:uppercase;}
.plui-md\:lowercase{text-transform:lowercase;}
.plui-md\:capitalize{text-transform:capitalize;}
.plui-md\:normal-case{text-transform:none;}
.plui-md\:underline{text-decoration-line:underline;}
.plui-md\:overline{text-decoration-line:overline;}
.plui-md\:line-through{text-decoration-line:line-through;}
.plui-md\:no-underline{text-decoration-line:none;}
.plui-truncate\:md{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plui-md\:text-ellipsis{text-overflow:ellipsis;}
.plui-md\:text-wrap{text-wrap:wrap;}
.plui-md\:text-nowrap{text-wrap:nowrap;}
.plui-md\:text-balance{text-wrap:balance;}
.plui-md\:text-pretty{text-wrap:pretty;}
.plui-md\:break-normal{overflow-wrap:normal;word-break:normal;}
.plui-md\:break-words{overflow-wrap:break-word;word-break:break-word;}
.plui-md\:break-all{word-break:break-all;}
.plui-md\:break-keep{word-break:keep-all;}
.plui-md\:list-none{list-style-type:none;}
.plui-md\:list-disc{list-style-type:disc;}
.plui-md\:list-decimal{list-style-type:decimal;}
.plui-md\:list-inside{list-style-position:inside;}
.plui-md\:list-outside{list-style-position:outside;}

/* ---- lg ≥ 992px ---- */
.plui-lg\:text-xs{font-size:0.75rem;line-height:1rem;}
.plui-lg\:text-sm{font-size:0.875rem;line-height:1.25rem;}
.plui-lg\:text-base{font-size:1rem;line-height:1.5rem;}
.plui-lg\:text-lg{font-size:1.125rem;line-height:1.75rem;}
.plui-lg\:text-xl{font-size:1.25rem;line-height:2rem;}
.plui-lg\:text-2xl{font-size:1.5rem;line-height:2rem;}
.plui-lg\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
.plui-lg\:text-4xl{font-size:2.25rem;line-height:2.5rem;}
.plui-lg\:text-5xl{font-size:3rem;line-height:1;}
.plui-lg\:text-6xl{font-size:3.75rem;line-height:1;}
.plui-lg\:text-7xl{font-size:4.5rem;line-height:1;}
.plui-lg\:text-8xl{font-size:6rem;line-height:1;}
.plui-lg\:text-9xl{font-size:8rem;line-height:1;}
.plui-lg\:font-thin{font-weight:100;}
.plui-lg\:font-extralight{font-weight:200;}
.plui-lg\:font-light{font-weight:300;}
.plui-lg\:font-normal{font-weight:400;}
.plui-lg\:font-medium{font-weight:500;}
.plui-lg\:font-semibold{font-weight:600;}
.plui-lg\:font-bold{font-weight:700;}
.plui-lg\:font-extrabold{font-weight:800;}
.plui-lg\:font-black{font-weight:900;}
.plui-lg\:font-sans{font-family:var(--plui-font-sans);}
.plui-lg\:font-serif{font-family:var(--plui-font-serif);}
.plui-lg\:font-mono{font-family:var(--plui-font-mono);}
.plui-lg\:font-style-italic{font-style:italic;}
.plui-lg\:font-style-normal{font-style:normal;}
.plui-lg\:tracking-tighter{letter-spacing:-0.05em;}
.plui-lg\:tracking-tight{letter-spacing:-0.025em;}
.plui-lg\:tracking-normal{letter-spacing:0;}
.plui-lg\:tracking-wide{letter-spacing:0.025em;}
.plui-lg\:tracking-wider{letter-spacing:0.05em;}
.plui-lg\:tracking-widest{letter-spacing:0.1em;}
.plui-lg\:leading-none{line-height:1;}
.plui-lg\:leading-tight{line-height:1.25;}
.plui-lg\:leading-snug{line-height:1.375;}
.plui-lg\:leading-normal{line-height:1.5;}
.plui-lg\:leading-relaxed{line-height:1.625;}
.plui-lg\:leading-loose{line-height:2;}
.plui-lg\:leading-3{line-height:3;}
.plui-lg\:leading-4{line-height:4;}
.plui-lg\:leading-5{line-height:5;}
.plui-lg\:leading-6{line-height:6;}
.plui-lg\:leading-7{line-height:7;}
.plui-lg\:leading-8{line-height:8;}
.plui-lg\:leading-9{line-height:9;}
.plui-lg\:leading-10{line-height:10;}
.plui-lg\:text-left{text-align:left;}
.plui-lg\:text-center{text-align:center;}
.plui-lg\:text-right{text-align:right;}
.plui-lg\:text-justify{text-align:justify;}
.plui-lg\:text-start{text-align:start;}
.plui-lg\:text-end{text-align:end;}
.plui-lg\:uppercase{text-transform:uppercase;}
.plui-lg\:lowercase{text-transform:lowercase;}
.plui-lg\:capitalize{text-transform:capitalize;}
.plui-lg\:normal-case{text-transform:none;}
.plui-lg\:underline{text-decoration-line:underline;}
.plui-lg\:overline{text-decoration-line:overline;}
.plui-lg\:line-through{text-decoration-line:line-through;}
.plui-lg\:no-underline{text-decoration-line:none;}
.plui-truncate\:lg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plui-lg\:text-ellipsis{text-overflow:ellipsis;}
.plui-lg\:text-wrap{text-wrap:wrap;}
.plui-lg\:text-nowrap{text-wrap:nowrap;}
.plui-lg\:text-balance{text-wrap:balance;}
.plui-lg\:text-pretty{text-wrap:pretty;}
.plui-lg\:break-normal{overflow-wrap:normal;word-break:normal;}
.plui-lg\:break-words{overflow-wrap:break-word;word-break:break-word;}
.plui-lg\:break-all{word-break:break-all;}
.plui-lg\:break-keep{word-break:keep-all;}
.plui-lg\:list-none{list-style-type:none;}
.plui-lg\:list-disc{list-style-type:disc;}
.plui-lg\:list-decimal{list-style-type:decimal;}
.plui-lg\:list-inside{list-style-position:inside;}
.plui-lg\:list-outside{list-style-position:outside;}

/* ---- xl ≥ 1200px ---- */
.plui-xl\:text-xs{font-size:0.75rem;line-height:1rem;}
.plui-xl\:text-sm{font-size:0.875rem;line-height:1.25rem;}
.plui-xl\:text-base{font-size:1rem;line-height:1.5rem;}
.plui-xl\:text-lg{font-size:1.125rem;line-height:1.75rem;}
.plui-xl\:text-xl{font-size:1.25rem;line-height:2rem;}
.plui-xl\:text-2xl{font-size:1.5rem;line-height:2rem;}
.plui-xl\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
.plui-xl\:text-4xl{font-size:2.25rem;line-height:2.5rem;}
.plui-xl\:text-5xl{font-size:3rem;line-height:1;}
.plui-xl\:text-6xl{font-size:3.75rem;line-height:1;}
.plui-xl\:text-7xl{font-size:4.5rem;line-height:1;}
.plui-xl\:text-8xl{font-size:6rem;line-height:1;}
.plui-xl\:text-9xl{font-size:8rem;line-height:1;}
.plui-xl\:font-thin{font-weight:100;}
.plui-xl\:font-extralight{font-weight:200;}
.plui-xl\:font-light{font-weight:300;}
.plui-xl\:font-normal{font-weight:400;}
.plui-xl\:font-medium{font-weight:500;}
.plui-xl\:font-semibold{font-weight:600;}
.plui-xl\:font-bold{font-weight:700;}
.plui-xl\:font-extrabold{font-weight:800;}
.plui-xl\:font-black{font-weight:900;}
.plui-xl\:font-sans{font-family:var(--plui-font-sans);}
.plui-xl\:font-serif{font-family:var(--plui-font-serif);}
.plui-xl\:font-mono{font-family:var(--plui-font-mono);}
.plui-xl\:font-style-italic{font-style:italic;}
.plui-xl\:font-style-normal{font-style:normal;}
.plui-xl\:tracking-tighter{letter-spacing:-0.05em;}
.plui-xl\:tracking-tight{letter-spacing:-0.025em;}
.plui-xl\:tracking-normal{letter-spacing:0;}
.plui-xl\:tracking-wide{letter-spacing:0.025em;}
.plui-xl\:tracking-wider{letter-spacing:0.05em;}
.plui-xl\:tracking-widest{letter-spacing:0.1em;}
.plui-xl\:leading-none{line-height:1;}
.plui-xl\:leading-tight{line-height:1.25;}
.plui-xl\:leading-snug{line-height:1.375;}
.plui-xl\:leading-normal{line-height:1.5;}
.plui-xl\:leading-relaxed{line-height:1.625;}
.plui-xl\:leading-loose{line-height:2;}
.plui-xl\:leading-3{line-height:3;}
.plui-xl\:leading-4{line-height:4;}
.plui-xl\:leading-5{line-height:5;}
.plui-xl\:leading-6{line-height:6;}
.plui-xl\:leading-7{line-height:7;}
.plui-xl\:leading-8{line-height:8;}
.plui-xl\:leading-9{line-height:9;}
.plui-xl\:leading-10{line-height:10;}
.plui-xl\:text-left{text-align:left;}
.plui-xl\:text-center{text-align:center;}
.plui-xl\:text-right{text-align:right;}
.plui-xl\:text-justify{text-align:justify;}
.plui-xl\:text-start{text-align:start;}
.plui-xl\:text-end{text-align:end;}
.plui-xl\:uppercase{text-transform:uppercase;}
.plui-xl\:lowercase{text-transform:lowercase;}
.plui-xl\:capitalize{text-transform:capitalize;}
.plui-xl\:normal-case{text-transform:none;}
.plui-xl\:underline{text-decoration-line:underline;}
.plui-xl\:overline{text-decoration-line:overline;}
.plui-xl\:line-through{text-decoration-line:line-through;}
.plui-xl\:no-underline{text-decoration-line:none;}
.plui-truncate\:xl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plui-xl\:text-ellipsis{text-overflow:ellipsis;}
.plui-xl\:text-wrap{text-wrap:wrap;}
.plui-xl\:text-nowrap{text-wrap:nowrap;}
.plui-xl\:text-balance{text-wrap:balance;}
.plui-xl\:text-pretty{text-wrap:pretty;}
.plui-xl\:break-normal{overflow-wrap:normal;word-break:normal;}
.plui-xl\:break-words{overflow-wrap:break-word;word-break:break-word;}
.plui-xl\:break-all{word-break:break-all;}
.plui-xl\:break-keep{word-break:keep-all;}
.plui-xl\:list-none{list-style-type:none;}
.plui-xl\:list-disc{list-style-type:disc;}
.plui-xl\:list-decimal{list-style-type:decimal;}
.plui-xl\:list-inside{list-style-position:inside;}
.plui-xl\:list-outside{list-style-position:outside;}

/* ---- xxl ≥ 1400px ---- */
.plui-xxl\:text-xs{font-size:0.75rem;line-height:1rem;}
.plui-xxl\:text-sm{font-size:0.875rem;line-height:1.25rem;}
.plui-xxl\:text-base{font-size:1rem;line-height:1.5rem;}
.plui-xxl\:text-lg{font-size:1.125rem;line-height:1.75rem;}
.plui-xxl\:text-xl{font-size:1.25rem;line-height:2rem;}
.plui-xxl\:text-2xl{font-size:1.5rem;line-height:2rem;}
.plui-xxl\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
.plui-xxl\:text-4xl{font-size:2.25rem;line-height:2.5rem;}
.plui-xxl\:text-5xl{font-size:3rem;line-height:1;}
.plui-xxl\:text-6xl{font-size:3.75rem;line-height:1;}
.plui-xxl\:text-7xl{font-size:4.5rem;line-height:1;}
.plui-xxl\:text-8xl{font-size:6rem;line-height:1;}
.plui-xxl\:text-9xl{font-size:8rem;line-height:1;}
.plui-xxl\:font-thin{font-weight:100;}
.plui-xxl\:font-extralight{font-weight:200;}
.plui-xxl\:font-light{font-weight:300;}
.plui-xxl\:font-normal{font-weight:400;}
.plui-xxl\:font-medium{font-weight:500;}
.plui-xxl\:font-semibold{font-weight:600;}
.plui-xxl\:font-bold{font-weight:700;}
.plui-xxl\:font-extrabold{font-weight:800;}
.plui-xxl\:font-black{font-weight:900;}
.plui-xxl\:font-sans{font-family:var(--plui-font-sans);}
.plui-xxl\:font-serif{font-family:var(--plui-font-serif);}
.plui-xxl\:font-mono{font-family:var(--plui-font-mono);}
.plui-xxl\:font-style-italic{font-style:italic;}
.plui-xxl\:font-style-normal{font-style:normal;}
.plui-xxl\:tracking-tighter{letter-spacing:-0.05em;}
.plui-xxl\:tracking-tight{letter-spacing:-0.025em;}
.plui-xxl\:tracking-normal{letter-spacing:0;}
.plui-xxl\:tracking-wide{letter-spacing:0.025em;}
.plui-xxl\:tracking-wider{letter-spacing:0.05em;}
.plui-xxl\:tracking-widest{letter-spacing:0.1em;}
.plui-xxl\:leading-none{line-height:1;}
.plui-xxl\:leading-tight{line-height:1.25;}
.plui-xxl\:leading-snug{line-height:1.375;}
.plui-xxl\:leading-normal{line-height:1.5;}
.plui-xxl\:leading-relaxed{line-height:1.625;}
.plui-xxl\:leading-loose{line-height:2;}
.plui-xxl\:leading-3{line-height:3;}
.plui-xxl\:leading-4{line-height:4;}
.plui-xxl\:leading-5{line-height:5;}
.plui-xxl\:leading-6{line-height:6;}
.plui-xxl\:leading-7{line-height:7;}
.plui-xxl\:leading-8{line-height:8;}
.plui-xxl\:leading-9{line-height:9;}
.plui-xxl\:leading-10{line-height:10;}
.plui-xxl\:text-left{text-align:left;}
.plui-xxl\:text-center{text-align:center;}
.plui-xxl\:text-right{text-align:right;}
.plui-xxl\:text-justify{text-align:justify;}
.plui-xxl\:text-start{text-align:start;}
.plui-xxl\:text-end{text-align:end;}
.plui-xxl\:uppercase{text-transform:uppercase;}
.plui-xxl\:lowercase{text-transform:lowercase;}
.plui-xxl\:capitalize{text-transform:capitalize;}
.plui-xxl\:normal-case{text-transform:none;}
.plui-xxl\:underline{text-decoration-line:underline;}
.plui-xxl\:overline{text-decoration-line:overline;}
.plui-xxl\:line-through{text-decoration-line:line-through;}
.plui-xxl\:no-underline{text-decoration-line:none;}
.plui-truncate\:xxl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plui-xxl\:text-ellipsis{text-overflow:ellipsis;}
.plui-xxl\:text-wrap{text-wrap:wrap;}
.plui-xxl\:text-nowrap{text-wrap:nowrap;}
.plui-xxl\:text-balance{text-wrap:balance;}
.plui-xxl\:text-pretty{text-wrap:pretty;}
.plui-xxl\:break-normal{overflow-wrap:normal;word-break:normal;}
.plui-xxl\:break-words{overflow-wrap:break-word;word-break:break-word;}
.plui-xxl\:break-all{word-break:break-all;}
.plui-xxl\:break-keep{word-break:keep-all;}
.plui-xxl\:list-none{list-style-type:none;}
.plui-xxl\:list-disc{list-style-type:disc;}
.plui-xxl\:list-decimal{list-style-type:decimal;}
.plui-xxl\:list-inside{list-style-position:inside;}
.plui-xxl\:list-outside{list-style-position:outside;}

/* --- src/css/responsive/layout.css --- */
/* ============================================================
   plui 工具类断点变体 · 布局：显示、定位、层级、浮动、尺寸、溢出、对象适配、可见性、变换
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   写法：.plui-{断点}:{属性}-{取值}，例如 .plui-md:p-4
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-sm\:block{display:block;}
.plui-sm\:inline{display:inline;}
.plui-sm\:inline-block{display:inline-block;}
.plui-sm\:flex{display:flex;}
.plui-sm\:inline-flex{display:inline-flex;}
.plui-sm\:grid{display:grid;}
.plui-sm\:inline-grid{display:inline-grid;}
.plui-sm\:flow-root{display:flow-root;}
.plui-sm\:contents{display:contents;}
.plui-sm\:hidden{display:none;}
.plui-sm\:static{position:static;}
.plui-sm\:fixed{position:fixed;}
.plui-sm\:absolute{position:absolute;}
.plui-sm\:relative{position:relative;}
.plui-sm\:sticky{position:sticky;}
.plui-sm\:float-none{float:none;}
.plui-sm\:float-left{float:left;}
.plui-sm\:float-right{float:right;}
.plui-sm\:float-start{float:inline-start;}
.plui-sm\:float-end{float:inline-end;}
.plui-sm\:clear-none{clear:none;}
.plui-sm\:clear-left{clear:left;}
.plui-sm\:clear-right{clear:right;}
.plui-sm\:clear-both{clear:both;}
.plui-sm\:z-0{z-index:0;}
.plui-sm\:z-10{z-index:10;}
.plui-sm\:z-20{z-index:20;}
.plui-sm\:z-30{z-index:30;}
.plui-sm\:z-40{z-index:40;}
.plui-sm\:z-50{z-index:50;}
.plui-sm\:z-60{z-index:60;}
.plui-sm\:z-70{z-index:70;}
.plui-sm\:z-80{z-index:80;}
.plui-sm\:z-90{z-index:90;}
.plui-sm\:z-100{z-index:100;}
.plui-sm\:z-auto{z-index:auto;}
.plui-sm\:w-0{width:0;}
.plui-sm\:h-0{height:0;}
.plui-sm\:w-px{width:1px;}
.plui-sm\:h-px{height:1px;}
.plui-sm\:w-0.5{width:0.125rem;}
.plui-sm\:h-0.5{height:0.125rem;}
.plui-sm\:w-1{width:0.25rem;}
.plui-sm\:h-1{height:0.25rem;}
.plui-sm\:w-2{width:0.5rem;}
.plui-sm\:h-2{height:0.5rem;}
.plui-sm\:w-4{width:1rem;}
.plui-sm\:h-4{height:1rem;}
.plui-sm\:w-8{width:2rem;}
.plui-sm\:h-8{height:2rem;}
.plui-sm\:w-16{width:4rem;}
.plui-sm\:h-16{height:4rem;}
.plui-sm\:w-24{width:6rem;}
.plui-sm\:h-24{height:6rem;}
.plui-sm\:w-32{width:8rem;}
.plui-sm\:h-32{height:8rem;}
.plui-sm\:w-full{width:100%;}
.plui-sm\:h-full{height:100%;}
.plui-sm\:w-auto{width:auto;}
.plui-sm\:h-auto{height:auto;}
.plui-sm\:w-min{width:min-content;}
.plui-sm\:h-min{height:min-content;}
.plui-sm\:w-max{width:max-content;}
.plui-sm\:h-max{height:max-content;}
.plui-sm\:w-fit{width:fit-content;}
.plui-sm\:h-fit{height:fit-content;}
.plui-sm\:w-screen{width:100vw;}
.plui-sm\:h-screen{height:100vw;}
.plui-sm\:w-1\/12{width:8.333333%;}
.plui-sm\:h-1\/12{height:8.333333%;}
.plui-sm\:w-1\/6{width:16.666667%;}
.plui-sm\:h-1\/6{height:16.666667%;}
.plui-sm\:w-1\/4{width:25%;}
.plui-sm\:h-1\/4{height:25%;}
.plui-sm\:w-1\/3{width:33.333333%;}
.plui-sm\:h-1\/3{height:33.333333%;}
.plui-sm\:w-2\/5{width:40%;}
.plui-sm\:h-2\/5{height:40%;}
.plui-sm\:w-1\/2{width:50%;}
.plui-sm\:h-1\/2{height:50%;}
.plui-sm\:w-3\/5{width:60%;}
.plui-sm\:h-3\/5{height:60%;}
.plui-sm\:w-2\/3{width:66.666667%;}
.plui-sm\:h-2\/3{height:66.666667%;}
.plui-sm\:w-3\/4{width:75%;}
.plui-sm\:h-3\/4{height:75%;}
.plui-sm\:w-4\/5{width:80%;}
.plui-sm\:h-4\/5{height:80%;}
.plui-sm\:w-5\/6{width:83.333333%;}
.plui-sm\:h-5\/6{height:83.333333%;}
.plui-sm\:w-11\/12{width:91.666667%;}
.plui-sm\:h-11\/12{height:91.666667%;}
.plui-sm\:min-w-0{min-width:0;}
.plui-sm\:max-w-0{max-width:0;}
.plui-sm\:min-h-0{min-height:0;}
.plui-sm\:max-h-0{max-height:0;}
.plui-sm\:min-w-full{min-width:100%;}
.plui-sm\:max-w-full{max-width:100%;}
.plui-sm\:min-h-full{min-height:100%;}
.plui-sm\:max-h-full{max-height:100%;}
.plui-sm\:min-w-auto{min-width:auto;}
.plui-sm\:max-w-auto{max-width:auto;}
.plui-sm\:min-h-auto{min-height:auto;}
.plui-sm\:max-h-auto{max-height:auto;}
.plui-sm\:min-w-min{min-width:min-content;}
.plui-sm\:max-w-min{max-width:min-content;}
.plui-sm\:min-h-min{min-height:min-content;}
.plui-sm\:max-h-min{max-height:min-content;}
.plui-sm\:min-w-max{min-width:max-content;}
.plui-sm\:max-w-max{max-width:max-content;}
.plui-sm\:min-h-max{min-height:max-content;}
.plui-sm\:max-h-max{max-height:max-content;}
.plui-sm\:min-w-fit{min-width:fit-content;}
.plui-sm\:max-w-fit{max-width:fit-content;}
.plui-sm\:min-h-fit{min-height:fit-content;}
.plui-sm\:max-h-fit{max-height:fit-content;}
.plui-sm\:min-w-screen{min-width:100vw;}
.plui-sm\:max-w-screen{max-width:100vw;}
.plui-sm\:min-h-screen{min-height:100vw;}
.plui-sm\:max-h-screen{max-height:100vw;}
.plui-sm\:overflow-auto{overflow:auto;}
.plui-sm\:overflow-x-auto{overflow-x:auto;}
.plui-sm\:overflow-y-auto{overflow-y:auto;}
.plui-sm\:overflow-hidden{overflow:hidden;}
.plui-sm\:overflow-x-hidden{overflow-x:hidden;}
.plui-sm\:overflow-y-hidden{overflow-y:hidden;}
.plui-sm\:overflow-clip{overflow:clip;}
.plui-sm\:overflow-x-clip{overflow-x:clip;}
.plui-sm\:overflow-y-clip{overflow-y:clip;}
.plui-sm\:overflow-visible{overflow:visible;}
.plui-sm\:overflow-x-visible{overflow-x:visible;}
.plui-sm\:overflow-y-visible{overflow-y:visible;}
.plui-sm\:overflow-scroll{overflow:scroll;}
.plui-sm\:overflow-x-scroll{overflow-x:scroll;}
.plui-sm\:overflow-y-scroll{overflow-y:scroll;}
.plui-sm\:object-contain{object-fit:contain;}
.plui-sm\:object-cover{object-fit:cover;}
.plui-sm\:object-fill{object-fit:fill;}
.plui-sm\:object-none{object-fit:none;}
.plui-sm\:object-scale-down{object-fit:scale-down;}
.plui-sm\:object-bottom{object-position:bottom;}
.plui-sm\:object-center{object-position:center;}
.plui-sm\:object-left{object-position:left;}
.plui-sm\:object-left-bottom{object-position:left-bottom;}
.plui-sm\:object-left-top{object-position:left-top;}
.plui-sm\:object-right{object-position:right;}
.plui-sm\:object-right-bottom{object-position:right-bottom;}
.plui-sm\:object-right-top{object-position:right-top;}
.plui-sm\:object-top{object-position:top;}
.plui-sm\:aspect-auto{aspect-ratio:auto;}
.plui-sm\:aspect-square{aspect-ratio:1 / 1;}
.plui-sm\:aspect-video{aspect-ratio:16 / 9;}
.plui-sm\:visibility-visible{visibility:visible;}
.plui-sm\:visibility-invisible{visibility:hidden;}
.plui-sm\:visibility-collapse{visibility:collapse;}
.plui-sm\:table-layout-auto{table-layout:auto;}
.plui-sm\:table-layout-fixed{table-layout:fixed;}
.plui-sm\:border-collapse-collapse{border-collapse:collapse;}
.plui-sm\:border-collapse-separate{border-collapse:separate;}
.plui-sm\:box-sizing-border-box{box-sizing:border-box;}
.plui-sm\:box-sizing-content-box{box-sizing:content-box;}
.plui-sm\:translate-x-0{transform:translateX(0);}
.plui-sm\:translate-x-full{transform:translateX(100%);}
.plui-sm\:translate-x--full{transform:translateX(-100%);}
.plui-sm\:translate-y-0{transform:translateY(0);}
.plui-sm\:translate-y-full{transform:translateY(100%);}
.plui-sm\:translate-y--full{transform:translateY(-100%);}
.plui-sm\:scale-0{transform:scale(0);}
.plui-sm\:scale-50{transform:scale(0.5);}
.plui-sm\:scale-75{transform:scale(0.75);}
.plui-sm\:scale-90{transform:scale(0.9);}
.plui-sm\:scale-100{transform:scale(1);}
.plui-sm\:scale-105{transform:scale(1.05);}
.plui-sm\:scale-110{transform:scale(1.1);}
.plui-sm\:scale-125{transform:scale(1.25);}
.plui-sm\:rotate-0{transform:rotate(0deg);}
.plui-sm\:rotate-45{transform:rotate(45deg);}
.plui-sm\:rotate-90{transform:rotate(90deg);}
.plui-sm\:rotate-180{transform:rotate(180deg);}
.plui-sm\:skew-x-0{transform:skewX(0deg);}
.plui-sm\:skew-x-6{transform:skewX(6deg);}
.plui-sm\:skew-y-0{transform:skewY(0deg);}
.plui-sm\:skew-y-6{transform:skewY(6deg);}
.plui-sm\:origin-center{transform-origin:center;}
.plui-sm\:origin-top{transform-origin:top;}
.plui-sm\:origin-bottom{transform-origin:bottom;}
.plui-sm\:origin-left{transform-origin:left;}
.plui-sm\:origin-right{transform-origin:right;}
.plui-sm\:isolation-auto{isolation:auto;}
.plui-sm\:isolation-isolate{isolation:isolate;}
.plui-sm\:scroll-smooth{scroll-behavior:smooth;}
.plui-sm\:scroll-auto{scroll-behavior:auto;}
.plui-sm\:align-top{vertical-align:top;}
.plui-sm\:align-middle{vertical-align:middle;}
.plui-sm\:align-bottom{vertical-align:bottom;}
.plui-sm\:align-baseline{vertical-align:baseline;}
.plui-sm\:align-sub{vertical-align:sub;}
.plui-sm\:align-super{vertical-align:super;}
.plui-sm\:align-text-top{vertical-align:text-top;}
.plui-sm\:align-text-bottom{vertical-align:text-bottom;}

/* ---- md ≥ 768px ---- */
.plui-md\:block{display:block;}
.plui-md\:inline{display:inline;}
.plui-md\:inline-block{display:inline-block;}
.plui-md\:flex{display:flex;}
.plui-md\:inline-flex{display:inline-flex;}
.plui-md\:grid{display:grid;}
.plui-md\:inline-grid{display:inline-grid;}
.plui-md\:flow-root{display:flow-root;}
.plui-md\:contents{display:contents;}
.plui-md\:hidden{display:none;}
.plui-md\:static{position:static;}
.plui-md\:fixed{position:fixed;}
.plui-md\:absolute{position:absolute;}
.plui-md\:relative{position:relative;}
.plui-md\:sticky{position:sticky;}
.plui-md\:float-none{float:none;}
.plui-md\:float-left{float:left;}
.plui-md\:float-right{float:right;}
.plui-md\:float-start{float:inline-start;}
.plui-md\:float-end{float:inline-end;}
.plui-md\:clear-none{clear:none;}
.plui-md\:clear-left{clear:left;}
.plui-md\:clear-right{clear:right;}
.plui-md\:clear-both{clear:both;}
.plui-md\:z-0{z-index:0;}
.plui-md\:z-10{z-index:10;}
.plui-md\:z-20{z-index:20;}
.plui-md\:z-30{z-index:30;}
.plui-md\:z-40{z-index:40;}
.plui-md\:z-50{z-index:50;}
.plui-md\:z-60{z-index:60;}
.plui-md\:z-70{z-index:70;}
.plui-md\:z-80{z-index:80;}
.plui-md\:z-90{z-index:90;}
.plui-md\:z-100{z-index:100;}
.plui-md\:z-auto{z-index:auto;}
.plui-md\:w-0{width:0;}
.plui-md\:h-0{height:0;}
.plui-md\:w-px{width:1px;}
.plui-md\:h-px{height:1px;}
.plui-md\:w-0.5{width:0.125rem;}
.plui-md\:h-0.5{height:0.125rem;}
.plui-md\:w-1{width:0.25rem;}
.plui-md\:h-1{height:0.25rem;}
.plui-md\:w-2{width:0.5rem;}
.plui-md\:h-2{height:0.5rem;}
.plui-md\:w-4{width:1rem;}
.plui-md\:h-4{height:1rem;}
.plui-md\:w-8{width:2rem;}
.plui-md\:h-8{height:2rem;}
.plui-md\:w-16{width:4rem;}
.plui-md\:h-16{height:4rem;}
.plui-md\:w-24{width:6rem;}
.plui-md\:h-24{height:6rem;}
.plui-md\:w-32{width:8rem;}
.plui-md\:h-32{height:8rem;}
.plui-md\:w-full{width:100%;}
.plui-md\:h-full{height:100%;}
.plui-md\:w-auto{width:auto;}
.plui-md\:h-auto{height:auto;}
.plui-md\:w-min{width:min-content;}
.plui-md\:h-min{height:min-content;}
.plui-md\:w-max{width:max-content;}
.plui-md\:h-max{height:max-content;}
.plui-md\:w-fit{width:fit-content;}
.plui-md\:h-fit{height:fit-content;}
.plui-md\:w-screen{width:100vw;}
.plui-md\:h-screen{height:100vw;}
.plui-md\:w-1\/12{width:8.333333%;}
.plui-md\:h-1\/12{height:8.333333%;}
.plui-md\:w-1\/6{width:16.666667%;}
.plui-md\:h-1\/6{height:16.666667%;}
.plui-md\:w-1\/4{width:25%;}
.plui-md\:h-1\/4{height:25%;}
.plui-md\:w-1\/3{width:33.333333%;}
.plui-md\:h-1\/3{height:33.333333%;}
.plui-md\:w-2\/5{width:40%;}
.plui-md\:h-2\/5{height:40%;}
.plui-md\:w-1\/2{width:50%;}
.plui-md\:h-1\/2{height:50%;}
.plui-md\:w-3\/5{width:60%;}
.plui-md\:h-3\/5{height:60%;}
.plui-md\:w-2\/3{width:66.666667%;}
.plui-md\:h-2\/3{height:66.666667%;}
.plui-md\:w-3\/4{width:75%;}
.plui-md\:h-3\/4{height:75%;}
.plui-md\:w-4\/5{width:80%;}
.plui-md\:h-4\/5{height:80%;}
.plui-md\:w-5\/6{width:83.333333%;}
.plui-md\:h-5\/6{height:83.333333%;}
.plui-md\:w-11\/12{width:91.666667%;}
.plui-md\:h-11\/12{height:91.666667%;}
.plui-md\:min-w-0{min-width:0;}
.plui-md\:max-w-0{max-width:0;}
.plui-md\:min-h-0{min-height:0;}
.plui-md\:max-h-0{max-height:0;}
.plui-md\:min-w-full{min-width:100%;}
.plui-md\:max-w-full{max-width:100%;}
.plui-md\:min-h-full{min-height:100%;}
.plui-md\:max-h-full{max-height:100%;}
.plui-md\:min-w-auto{min-width:auto;}
.plui-md\:max-w-auto{max-width:auto;}
.plui-md\:min-h-auto{min-height:auto;}
.plui-md\:max-h-auto{max-height:auto;}
.plui-md\:min-w-min{min-width:min-content;}
.plui-md\:max-w-min{max-width:min-content;}
.plui-md\:min-h-min{min-height:min-content;}
.plui-md\:max-h-min{max-height:min-content;}
.plui-md\:min-w-max{min-width:max-content;}
.plui-md\:max-w-max{max-width:max-content;}
.plui-md\:min-h-max{min-height:max-content;}
.plui-md\:max-h-max{max-height:max-content;}
.plui-md\:min-w-fit{min-width:fit-content;}
.plui-md\:max-w-fit{max-width:fit-content;}
.plui-md\:min-h-fit{min-height:fit-content;}
.plui-md\:max-h-fit{max-height:fit-content;}
.plui-md\:min-w-screen{min-width:100vw;}
.plui-md\:max-w-screen{max-width:100vw;}
.plui-md\:min-h-screen{min-height:100vw;}
.plui-md\:max-h-screen{max-height:100vw;}
.plui-md\:overflow-auto{overflow:auto;}
.plui-md\:overflow-x-auto{overflow-x:auto;}
.plui-md\:overflow-y-auto{overflow-y:auto;}
.plui-md\:overflow-hidden{overflow:hidden;}
.plui-md\:overflow-x-hidden{overflow-x:hidden;}
.plui-md\:overflow-y-hidden{overflow-y:hidden;}
.plui-md\:overflow-clip{overflow:clip;}
.plui-md\:overflow-x-clip{overflow-x:clip;}
.plui-md\:overflow-y-clip{overflow-y:clip;}
.plui-md\:overflow-visible{overflow:visible;}
.plui-md\:overflow-x-visible{overflow-x:visible;}
.plui-md\:overflow-y-visible{overflow-y:visible;}
.plui-md\:overflow-scroll{overflow:scroll;}
.plui-md\:overflow-x-scroll{overflow-x:scroll;}
.plui-md\:overflow-y-scroll{overflow-y:scroll;}
.plui-md\:object-contain{object-fit:contain;}
.plui-md\:object-cover{object-fit:cover;}
.plui-md\:object-fill{object-fit:fill;}
.plui-md\:object-none{object-fit:none;}
.plui-md\:object-scale-down{object-fit:scale-down;}
.plui-md\:object-bottom{object-position:bottom;}
.plui-md\:object-center{object-position:center;}
.plui-md\:object-left{object-position:left;}
.plui-md\:object-left-bottom{object-position:left-bottom;}
.plui-md\:object-left-top{object-position:left-top;}
.plui-md\:object-right{object-position:right;}
.plui-md\:object-right-bottom{object-position:right-bottom;}
.plui-md\:object-right-top{object-position:right-top;}
.plui-md\:object-top{object-position:top;}
.plui-md\:aspect-auto{aspect-ratio:auto;}
.plui-md\:aspect-square{aspect-ratio:1 / 1;}
.plui-md\:aspect-video{aspect-ratio:16 / 9;}
.plui-md\:visibility-visible{visibility:visible;}
.plui-md\:visibility-invisible{visibility:hidden;}
.plui-md\:visibility-collapse{visibility:collapse;}
.plui-md\:table-layout-auto{table-layout:auto;}
.plui-md\:table-layout-fixed{table-layout:fixed;}
.plui-md\:border-collapse-collapse{border-collapse:collapse;}
.plui-md\:border-collapse-separate{border-collapse:separate;}
.plui-md\:box-sizing-border-box{box-sizing:border-box;}
.plui-md\:box-sizing-content-box{box-sizing:content-box;}
.plui-md\:translate-x-0{transform:translateX(0);}
.plui-md\:translate-x-full{transform:translateX(100%);}
.plui-md\:translate-x--full{transform:translateX(-100%);}
.plui-md\:translate-y-0{transform:translateY(0);}
.plui-md\:translate-y-full{transform:translateY(100%);}
.plui-md\:translate-y--full{transform:translateY(-100%);}
.plui-md\:scale-0{transform:scale(0);}
.plui-md\:scale-50{transform:scale(0.5);}
.plui-md\:scale-75{transform:scale(0.75);}
.plui-md\:scale-90{transform:scale(0.9);}
.plui-md\:scale-100{transform:scale(1);}
.plui-md\:scale-105{transform:scale(1.05);}
.plui-md\:scale-110{transform:scale(1.1);}
.plui-md\:scale-125{transform:scale(1.25);}
.plui-md\:rotate-0{transform:rotate(0deg);}
.plui-md\:rotate-45{transform:rotate(45deg);}
.plui-md\:rotate-90{transform:rotate(90deg);}
.plui-md\:rotate-180{transform:rotate(180deg);}
.plui-md\:skew-x-0{transform:skewX(0deg);}
.plui-md\:skew-x-6{transform:skewX(6deg);}
.plui-md\:skew-y-0{transform:skewY(0deg);}
.plui-md\:skew-y-6{transform:skewY(6deg);}
.plui-md\:origin-center{transform-origin:center;}
.plui-md\:origin-top{transform-origin:top;}
.plui-md\:origin-bottom{transform-origin:bottom;}
.plui-md\:origin-left{transform-origin:left;}
.plui-md\:origin-right{transform-origin:right;}
.plui-md\:isolation-auto{isolation:auto;}
.plui-md\:isolation-isolate{isolation:isolate;}
.plui-md\:scroll-smooth{scroll-behavior:smooth;}
.plui-md\:scroll-auto{scroll-behavior:auto;}
.plui-md\:align-top{vertical-align:top;}
.plui-md\:align-middle{vertical-align:middle;}
.plui-md\:align-bottom{vertical-align:bottom;}
.plui-md\:align-baseline{vertical-align:baseline;}
.plui-md\:align-sub{vertical-align:sub;}
.plui-md\:align-super{vertical-align:super;}
.plui-md\:align-text-top{vertical-align:text-top;}
.plui-md\:align-text-bottom{vertical-align:text-bottom;}

/* ---- lg ≥ 992px ---- */
.plui-lg\:block{display:block;}
.plui-lg\:inline{display:inline;}
.plui-lg\:inline-block{display:inline-block;}
.plui-lg\:flex{display:flex;}
.plui-lg\:inline-flex{display:inline-flex;}
.plui-lg\:grid{display:grid;}
.plui-lg\:inline-grid{display:inline-grid;}
.plui-lg\:flow-root{display:flow-root;}
.plui-lg\:contents{display:contents;}
.plui-lg\:hidden{display:none;}
.plui-lg\:static{position:static;}
.plui-lg\:fixed{position:fixed;}
.plui-lg\:absolute{position:absolute;}
.plui-lg\:relative{position:relative;}
.plui-lg\:sticky{position:sticky;}
.plui-lg\:float-none{float:none;}
.plui-lg\:float-left{float:left;}
.plui-lg\:float-right{float:right;}
.plui-lg\:float-start{float:inline-start;}
.plui-lg\:float-end{float:inline-end;}
.plui-lg\:clear-none{clear:none;}
.plui-lg\:clear-left{clear:left;}
.plui-lg\:clear-right{clear:right;}
.plui-lg\:clear-both{clear:both;}
.plui-lg\:z-0{z-index:0;}
.plui-lg\:z-10{z-index:10;}
.plui-lg\:z-20{z-index:20;}
.plui-lg\:z-30{z-index:30;}
.plui-lg\:z-40{z-index:40;}
.plui-lg\:z-50{z-index:50;}
.plui-lg\:z-60{z-index:60;}
.plui-lg\:z-70{z-index:70;}
.plui-lg\:z-80{z-index:80;}
.plui-lg\:z-90{z-index:90;}
.plui-lg\:z-100{z-index:100;}
.plui-lg\:z-auto{z-index:auto;}
.plui-lg\:w-0{width:0;}
.plui-lg\:h-0{height:0;}
.plui-lg\:w-px{width:1px;}
.plui-lg\:h-px{height:1px;}
.plui-lg\:w-0.5{width:0.125rem;}
.plui-lg\:h-0.5{height:0.125rem;}
.plui-lg\:w-1{width:0.25rem;}
.plui-lg\:h-1{height:0.25rem;}
.plui-lg\:w-2{width:0.5rem;}
.plui-lg\:h-2{height:0.5rem;}
.plui-lg\:w-4{width:1rem;}
.plui-lg\:h-4{height:1rem;}
.plui-lg\:w-8{width:2rem;}
.plui-lg\:h-8{height:2rem;}
.plui-lg\:w-16{width:4rem;}
.plui-lg\:h-16{height:4rem;}
.plui-lg\:w-24{width:6rem;}
.plui-lg\:h-24{height:6rem;}
.plui-lg\:w-32{width:8rem;}
.plui-lg\:h-32{height:8rem;}
.plui-lg\:w-full{width:100%;}
.plui-lg\:h-full{height:100%;}
.plui-lg\:w-auto{width:auto;}
.plui-lg\:h-auto{height:auto;}
.plui-lg\:w-min{width:min-content;}
.plui-lg\:h-min{height:min-content;}
.plui-lg\:w-max{width:max-content;}
.plui-lg\:h-max{height:max-content;}
.plui-lg\:w-fit{width:fit-content;}
.plui-lg\:h-fit{height:fit-content;}
.plui-lg\:w-screen{width:100vw;}
.plui-lg\:h-screen{height:100vw;}
.plui-lg\:w-1\/12{width:8.333333%;}
.plui-lg\:h-1\/12{height:8.333333%;}
.plui-lg\:w-1\/6{width:16.666667%;}
.plui-lg\:h-1\/6{height:16.666667%;}
.plui-lg\:w-1\/4{width:25%;}
.plui-lg\:h-1\/4{height:25%;}
.plui-lg\:w-1\/3{width:33.333333%;}
.plui-lg\:h-1\/3{height:33.333333%;}
.plui-lg\:w-2\/5{width:40%;}
.plui-lg\:h-2\/5{height:40%;}
.plui-lg\:w-1\/2{width:50%;}
.plui-lg\:h-1\/2{height:50%;}
.plui-lg\:w-3\/5{width:60%;}
.plui-lg\:h-3\/5{height:60%;}
.plui-lg\:w-2\/3{width:66.666667%;}
.plui-lg\:h-2\/3{height:66.666667%;}
.plui-lg\:w-3\/4{width:75%;}
.plui-lg\:h-3\/4{height:75%;}
.plui-lg\:w-4\/5{width:80%;}
.plui-lg\:h-4\/5{height:80%;}
.plui-lg\:w-5\/6{width:83.333333%;}
.plui-lg\:h-5\/6{height:83.333333%;}
.plui-lg\:w-11\/12{width:91.666667%;}
.plui-lg\:h-11\/12{height:91.666667%;}
.plui-lg\:min-w-0{min-width:0;}
.plui-lg\:max-w-0{max-width:0;}
.plui-lg\:min-h-0{min-height:0;}
.plui-lg\:max-h-0{max-height:0;}
.plui-lg\:min-w-full{min-width:100%;}
.plui-lg\:max-w-full{max-width:100%;}
.plui-lg\:min-h-full{min-height:100%;}
.plui-lg\:max-h-full{max-height:100%;}
.plui-lg\:min-w-auto{min-width:auto;}
.plui-lg\:max-w-auto{max-width:auto;}
.plui-lg\:min-h-auto{min-height:auto;}
.plui-lg\:max-h-auto{max-height:auto;}
.plui-lg\:min-w-min{min-width:min-content;}
.plui-lg\:max-w-min{max-width:min-content;}
.plui-lg\:min-h-min{min-height:min-content;}
.plui-lg\:max-h-min{max-height:min-content;}
.plui-lg\:min-w-max{min-width:max-content;}
.plui-lg\:max-w-max{max-width:max-content;}
.plui-lg\:min-h-max{min-height:max-content;}
.plui-lg\:max-h-max{max-height:max-content;}
.plui-lg\:min-w-fit{min-width:fit-content;}
.plui-lg\:max-w-fit{max-width:fit-content;}
.plui-lg\:min-h-fit{min-height:fit-content;}
.plui-lg\:max-h-fit{max-height:fit-content;}
.plui-lg\:min-w-screen{min-width:100vw;}
.plui-lg\:max-w-screen{max-width:100vw;}
.plui-lg\:min-h-screen{min-height:100vw;}
.plui-lg\:max-h-screen{max-height:100vw;}
.plui-lg\:overflow-auto{overflow:auto;}
.plui-lg\:overflow-x-auto{overflow-x:auto;}
.plui-lg\:overflow-y-auto{overflow-y:auto;}
.plui-lg\:overflow-hidden{overflow:hidden;}
.plui-lg\:overflow-x-hidden{overflow-x:hidden;}
.plui-lg\:overflow-y-hidden{overflow-y:hidden;}
.plui-lg\:overflow-clip{overflow:clip;}
.plui-lg\:overflow-x-clip{overflow-x:clip;}
.plui-lg\:overflow-y-clip{overflow-y:clip;}
.plui-lg\:overflow-visible{overflow:visible;}
.plui-lg\:overflow-x-visible{overflow-x:visible;}
.plui-lg\:overflow-y-visible{overflow-y:visible;}
.plui-lg\:overflow-scroll{overflow:scroll;}
.plui-lg\:overflow-x-scroll{overflow-x:scroll;}
.plui-lg\:overflow-y-scroll{overflow-y:scroll;}
.plui-lg\:object-contain{object-fit:contain;}
.plui-lg\:object-cover{object-fit:cover;}
.plui-lg\:object-fill{object-fit:fill;}
.plui-lg\:object-none{object-fit:none;}
.plui-lg\:object-scale-down{object-fit:scale-down;}
.plui-lg\:object-bottom{object-position:bottom;}
.plui-lg\:object-center{object-position:center;}
.plui-lg\:object-left{object-position:left;}
.plui-lg\:object-left-bottom{object-position:left-bottom;}
.plui-lg\:object-left-top{object-position:left-top;}
.plui-lg\:object-right{object-position:right;}
.plui-lg\:object-right-bottom{object-position:right-bottom;}
.plui-lg\:object-right-top{object-position:right-top;}
.plui-lg\:object-top{object-position:top;}
.plui-lg\:aspect-auto{aspect-ratio:auto;}
.plui-lg\:aspect-square{aspect-ratio:1 / 1;}
.plui-lg\:aspect-video{aspect-ratio:16 / 9;}
.plui-lg\:visibility-visible{visibility:visible;}
.plui-lg\:visibility-invisible{visibility:hidden;}
.plui-lg\:visibility-collapse{visibility:collapse;}
.plui-lg\:table-layout-auto{table-layout:auto;}
.plui-lg\:table-layout-fixed{table-layout:fixed;}
.plui-lg\:border-collapse-collapse{border-collapse:collapse;}
.plui-lg\:border-collapse-separate{border-collapse:separate;}
.plui-lg\:box-sizing-border-box{box-sizing:border-box;}
.plui-lg\:box-sizing-content-box{box-sizing:content-box;}
.plui-lg\:translate-x-0{transform:translateX(0);}
.plui-lg\:translate-x-full{transform:translateX(100%);}
.plui-lg\:translate-x--full{transform:translateX(-100%);}
.plui-lg\:translate-y-0{transform:translateY(0);}
.plui-lg\:translate-y-full{transform:translateY(100%);}
.plui-lg\:translate-y--full{transform:translateY(-100%);}
.plui-lg\:scale-0{transform:scale(0);}
.plui-lg\:scale-50{transform:scale(0.5);}
.plui-lg\:scale-75{transform:scale(0.75);}
.plui-lg\:scale-90{transform:scale(0.9);}
.plui-lg\:scale-100{transform:scale(1);}
.plui-lg\:scale-105{transform:scale(1.05);}
.plui-lg\:scale-110{transform:scale(1.1);}
.plui-lg\:scale-125{transform:scale(1.25);}
.plui-lg\:rotate-0{transform:rotate(0deg);}
.plui-lg\:rotate-45{transform:rotate(45deg);}
.plui-lg\:rotate-90{transform:rotate(90deg);}
.plui-lg\:rotate-180{transform:rotate(180deg);}
.plui-lg\:skew-x-0{transform:skewX(0deg);}
.plui-lg\:skew-x-6{transform:skewX(6deg);}
.plui-lg\:skew-y-0{transform:skewY(0deg);}
.plui-lg\:skew-y-6{transform:skewY(6deg);}
.plui-lg\:origin-center{transform-origin:center;}
.plui-lg\:origin-top{transform-origin:top;}
.plui-lg\:origin-bottom{transform-origin:bottom;}
.plui-lg\:origin-left{transform-origin:left;}
.plui-lg\:origin-right{transform-origin:right;}
.plui-lg\:isolation-auto{isolation:auto;}
.plui-lg\:isolation-isolate{isolation:isolate;}
.plui-lg\:scroll-smooth{scroll-behavior:smooth;}
.plui-lg\:scroll-auto{scroll-behavior:auto;}
.plui-lg\:align-top{vertical-align:top;}
.plui-lg\:align-middle{vertical-align:middle;}
.plui-lg\:align-bottom{vertical-align:bottom;}
.plui-lg\:align-baseline{vertical-align:baseline;}
.plui-lg\:align-sub{vertical-align:sub;}
.plui-lg\:align-super{vertical-align:super;}
.plui-lg\:align-text-top{vertical-align:text-top;}
.plui-lg\:align-text-bottom{vertical-align:text-bottom;}

/* ---- xl ≥ 1200px ---- */
.plui-xl\:block{display:block;}
.plui-xl\:inline{display:inline;}
.plui-xl\:inline-block{display:inline-block;}
.plui-xl\:flex{display:flex;}
.plui-xl\:inline-flex{display:inline-flex;}
.plui-xl\:grid{display:grid;}
.plui-xl\:inline-grid{display:inline-grid;}
.plui-xl\:flow-root{display:flow-root;}
.plui-xl\:contents{display:contents;}
.plui-xl\:hidden{display:none;}
.plui-xl\:static{position:static;}
.plui-xl\:fixed{position:fixed;}
.plui-xl\:absolute{position:absolute;}
.plui-xl\:relative{position:relative;}
.plui-xl\:sticky{position:sticky;}
.plui-xl\:float-none{float:none;}
.plui-xl\:float-left{float:left;}
.plui-xl\:float-right{float:right;}
.plui-xl\:float-start{float:inline-start;}
.plui-xl\:float-end{float:inline-end;}
.plui-xl\:clear-none{clear:none;}
.plui-xl\:clear-left{clear:left;}
.plui-xl\:clear-right{clear:right;}
.plui-xl\:clear-both{clear:both;}
.plui-xl\:z-0{z-index:0;}
.plui-xl\:z-10{z-index:10;}
.plui-xl\:z-20{z-index:20;}
.plui-xl\:z-30{z-index:30;}
.plui-xl\:z-40{z-index:40;}
.plui-xl\:z-50{z-index:50;}
.plui-xl\:z-60{z-index:60;}
.plui-xl\:z-70{z-index:70;}
.plui-xl\:z-80{z-index:80;}
.plui-xl\:z-90{z-index:90;}
.plui-xl\:z-100{z-index:100;}
.plui-xl\:z-auto{z-index:auto;}
.plui-xl\:w-0{width:0;}
.plui-xl\:h-0{height:0;}
.plui-xl\:w-px{width:1px;}
.plui-xl\:h-px{height:1px;}
.plui-xl\:w-0.5{width:0.125rem;}
.plui-xl\:h-0.5{height:0.125rem;}
.plui-xl\:w-1{width:0.25rem;}
.plui-xl\:h-1{height:0.25rem;}
.plui-xl\:w-2{width:0.5rem;}
.plui-xl\:h-2{height:0.5rem;}
.plui-xl\:w-4{width:1rem;}
.plui-xl\:h-4{height:1rem;}
.plui-xl\:w-8{width:2rem;}
.plui-xl\:h-8{height:2rem;}
.plui-xl\:w-16{width:4rem;}
.plui-xl\:h-16{height:4rem;}
.plui-xl\:w-24{width:6rem;}
.plui-xl\:h-24{height:6rem;}
.plui-xl\:w-32{width:8rem;}
.plui-xl\:h-32{height:8rem;}
.plui-xl\:w-full{width:100%;}
.plui-xl\:h-full{height:100%;}
.plui-xl\:w-auto{width:auto;}
.plui-xl\:h-auto{height:auto;}
.plui-xl\:w-min{width:min-content;}
.plui-xl\:h-min{height:min-content;}
.plui-xl\:w-max{width:max-content;}
.plui-xl\:h-max{height:max-content;}
.plui-xl\:w-fit{width:fit-content;}
.plui-xl\:h-fit{height:fit-content;}
.plui-xl\:w-screen{width:100vw;}
.plui-xl\:h-screen{height:100vw;}
.plui-xl\:w-1\/12{width:8.333333%;}
.plui-xl\:h-1\/12{height:8.333333%;}
.plui-xl\:w-1\/6{width:16.666667%;}
.plui-xl\:h-1\/6{height:16.666667%;}
.plui-xl\:w-1\/4{width:25%;}
.plui-xl\:h-1\/4{height:25%;}
.plui-xl\:w-1\/3{width:33.333333%;}
.plui-xl\:h-1\/3{height:33.333333%;}
.plui-xl\:w-2\/5{width:40%;}
.plui-xl\:h-2\/5{height:40%;}
.plui-xl\:w-1\/2{width:50%;}
.plui-xl\:h-1\/2{height:50%;}
.plui-xl\:w-3\/5{width:60%;}
.plui-xl\:h-3\/5{height:60%;}
.plui-xl\:w-2\/3{width:66.666667%;}
.plui-xl\:h-2\/3{height:66.666667%;}
.plui-xl\:w-3\/4{width:75%;}
.plui-xl\:h-3\/4{height:75%;}
.plui-xl\:w-4\/5{width:80%;}
.plui-xl\:h-4\/5{height:80%;}
.plui-xl\:w-5\/6{width:83.333333%;}
.plui-xl\:h-5\/6{height:83.333333%;}
.plui-xl\:w-11\/12{width:91.666667%;}
.plui-xl\:h-11\/12{height:91.666667%;}
.plui-xl\:min-w-0{min-width:0;}
.plui-xl\:max-w-0{max-width:0;}
.plui-xl\:min-h-0{min-height:0;}
.plui-xl\:max-h-0{max-height:0;}
.plui-xl\:min-w-full{min-width:100%;}
.plui-xl\:max-w-full{max-width:100%;}
.plui-xl\:min-h-full{min-height:100%;}
.plui-xl\:max-h-full{max-height:100%;}
.plui-xl\:min-w-auto{min-width:auto;}
.plui-xl\:max-w-auto{max-width:auto;}
.plui-xl\:min-h-auto{min-height:auto;}
.plui-xl\:max-h-auto{max-height:auto;}
.plui-xl\:min-w-min{min-width:min-content;}
.plui-xl\:max-w-min{max-width:min-content;}
.plui-xl\:min-h-min{min-height:min-content;}
.plui-xl\:max-h-min{max-height:min-content;}
.plui-xl\:min-w-max{min-width:max-content;}
.plui-xl\:max-w-max{max-width:max-content;}
.plui-xl\:min-h-max{min-height:max-content;}
.plui-xl\:max-h-max{max-height:max-content;}
.plui-xl\:min-w-fit{min-width:fit-content;}
.plui-xl\:max-w-fit{max-width:fit-content;}
.plui-xl\:min-h-fit{min-height:fit-content;}
.plui-xl\:max-h-fit{max-height:fit-content;}
.plui-xl\:min-w-screen{min-width:100vw;}
.plui-xl\:max-w-screen{max-width:100vw;}
.plui-xl\:min-h-screen{min-height:100vw;}
.plui-xl\:max-h-screen{max-height:100vw;}
.plui-xl\:overflow-auto{overflow:auto;}
.plui-xl\:overflow-x-auto{overflow-x:auto;}
.plui-xl\:overflow-y-auto{overflow-y:auto;}
.plui-xl\:overflow-hidden{overflow:hidden;}
.plui-xl\:overflow-x-hidden{overflow-x:hidden;}
.plui-xl\:overflow-y-hidden{overflow-y:hidden;}
.plui-xl\:overflow-clip{overflow:clip;}
.plui-xl\:overflow-x-clip{overflow-x:clip;}
.plui-xl\:overflow-y-clip{overflow-y:clip;}
.plui-xl\:overflow-visible{overflow:visible;}
.plui-xl\:overflow-x-visible{overflow-x:visible;}
.plui-xl\:overflow-y-visible{overflow-y:visible;}
.plui-xl\:overflow-scroll{overflow:scroll;}
.plui-xl\:overflow-x-scroll{overflow-x:scroll;}
.plui-xl\:overflow-y-scroll{overflow-y:scroll;}
.plui-xl\:object-contain{object-fit:contain;}
.plui-xl\:object-cover{object-fit:cover;}
.plui-xl\:object-fill{object-fit:fill;}
.plui-xl\:object-none{object-fit:none;}
.plui-xl\:object-scale-down{object-fit:scale-down;}
.plui-xl\:object-bottom{object-position:bottom;}
.plui-xl\:object-center{object-position:center;}
.plui-xl\:object-left{object-position:left;}
.plui-xl\:object-left-bottom{object-position:left-bottom;}
.plui-xl\:object-left-top{object-position:left-top;}
.plui-xl\:object-right{object-position:right;}
.plui-xl\:object-right-bottom{object-position:right-bottom;}
.plui-xl\:object-right-top{object-position:right-top;}
.plui-xl\:object-top{object-position:top;}
.plui-xl\:aspect-auto{aspect-ratio:auto;}
.plui-xl\:aspect-square{aspect-ratio:1 / 1;}
.plui-xl\:aspect-video{aspect-ratio:16 / 9;}
.plui-xl\:visibility-visible{visibility:visible;}
.plui-xl\:visibility-invisible{visibility:hidden;}
.plui-xl\:visibility-collapse{visibility:collapse;}
.plui-xl\:table-layout-auto{table-layout:auto;}
.plui-xl\:table-layout-fixed{table-layout:fixed;}
.plui-xl\:border-collapse-collapse{border-collapse:collapse;}
.plui-xl\:border-collapse-separate{border-collapse:separate;}
.plui-xl\:box-sizing-border-box{box-sizing:border-box;}
.plui-xl\:box-sizing-content-box{box-sizing:content-box;}
.plui-xl\:translate-x-0{transform:translateX(0);}
.plui-xl\:translate-x-full{transform:translateX(100%);}
.plui-xl\:translate-x--full{transform:translateX(-100%);}
.plui-xl\:translate-y-0{transform:translateY(0);}
.plui-xl\:translate-y-full{transform:translateY(100%);}
.plui-xl\:translate-y--full{transform:translateY(-100%);}
.plui-xl\:scale-0{transform:scale(0);}
.plui-xl\:scale-50{transform:scale(0.5);}
.plui-xl\:scale-75{transform:scale(0.75);}
.plui-xl\:scale-90{transform:scale(0.9);}
.plui-xl\:scale-100{transform:scale(1);}
.plui-xl\:scale-105{transform:scale(1.05);}
.plui-xl\:scale-110{transform:scale(1.1);}
.plui-xl\:scale-125{transform:scale(1.25);}
.plui-xl\:rotate-0{transform:rotate(0deg);}
.plui-xl\:rotate-45{transform:rotate(45deg);}
.plui-xl\:rotate-90{transform:rotate(90deg);}
.plui-xl\:rotate-180{transform:rotate(180deg);}
.plui-xl\:skew-x-0{transform:skewX(0deg);}
.plui-xl\:skew-x-6{transform:skewX(6deg);}
.plui-xl\:skew-y-0{transform:skewY(0deg);}
.plui-xl\:skew-y-6{transform:skewY(6deg);}
.plui-xl\:origin-center{transform-origin:center;}
.plui-xl\:origin-top{transform-origin:top;}
.plui-xl\:origin-bottom{transform-origin:bottom;}
.plui-xl\:origin-left{transform-origin:left;}
.plui-xl\:origin-right{transform-origin:right;}
.plui-xl\:isolation-auto{isolation:auto;}
.plui-xl\:isolation-isolate{isolation:isolate;}
.plui-xl\:scroll-smooth{scroll-behavior:smooth;}
.plui-xl\:scroll-auto{scroll-behavior:auto;}
.plui-xl\:align-top{vertical-align:top;}
.plui-xl\:align-middle{vertical-align:middle;}
.plui-xl\:align-bottom{vertical-align:bottom;}
.plui-xl\:align-baseline{vertical-align:baseline;}
.plui-xl\:align-sub{vertical-align:sub;}
.plui-xl\:align-super{vertical-align:super;}
.plui-xl\:align-text-top{vertical-align:text-top;}
.plui-xl\:align-text-bottom{vertical-align:text-bottom;}

/* ---- xxl ≥ 1400px ---- */
.plui-xxl\:block{display:block;}
.plui-xxl\:inline{display:inline;}
.plui-xxl\:inline-block{display:inline-block;}
.plui-xxl\:flex{display:flex;}
.plui-xxl\:inline-flex{display:inline-flex;}
.plui-xxl\:grid{display:grid;}
.plui-xxl\:inline-grid{display:inline-grid;}
.plui-xxl\:flow-root{display:flow-root;}
.plui-xxl\:contents{display:contents;}
.plui-xxl\:hidden{display:none;}
.plui-xxl\:static{position:static;}
.plui-xxl\:fixed{position:fixed;}
.plui-xxl\:absolute{position:absolute;}
.plui-xxl\:relative{position:relative;}
.plui-xxl\:sticky{position:sticky;}
.plui-xxl\:float-none{float:none;}
.plui-xxl\:float-left{float:left;}
.plui-xxl\:float-right{float:right;}
.plui-xxl\:float-start{float:inline-start;}
.plui-xxl\:float-end{float:inline-end;}
.plui-xxl\:clear-none{clear:none;}
.plui-xxl\:clear-left{clear:left;}
.plui-xxl\:clear-right{clear:right;}
.plui-xxl\:clear-both{clear:both;}
.plui-xxl\:z-0{z-index:0;}
.plui-xxl\:z-10{z-index:10;}
.plui-xxl\:z-20{z-index:20;}
.plui-xxl\:z-30{z-index:30;}
.plui-xxl\:z-40{z-index:40;}
.plui-xxl\:z-50{z-index:50;}
.plui-xxl\:z-60{z-index:60;}
.plui-xxl\:z-70{z-index:70;}
.plui-xxl\:z-80{z-index:80;}
.plui-xxl\:z-90{z-index:90;}
.plui-xxl\:z-100{z-index:100;}
.plui-xxl\:z-auto{z-index:auto;}
.plui-xxl\:w-0{width:0;}
.plui-xxl\:h-0{height:0;}
.plui-xxl\:w-px{width:1px;}
.plui-xxl\:h-px{height:1px;}
.plui-xxl\:w-0.5{width:0.125rem;}
.plui-xxl\:h-0.5{height:0.125rem;}
.plui-xxl\:w-1{width:0.25rem;}
.plui-xxl\:h-1{height:0.25rem;}
.plui-xxl\:w-2{width:0.5rem;}
.plui-xxl\:h-2{height:0.5rem;}
.plui-xxl\:w-4{width:1rem;}
.plui-xxl\:h-4{height:1rem;}
.plui-xxl\:w-8{width:2rem;}
.plui-xxl\:h-8{height:2rem;}
.plui-xxl\:w-16{width:4rem;}
.plui-xxl\:h-16{height:4rem;}
.plui-xxl\:w-24{width:6rem;}
.plui-xxl\:h-24{height:6rem;}
.plui-xxl\:w-32{width:8rem;}
.plui-xxl\:h-32{height:8rem;}
.plui-xxl\:w-full{width:100%;}
.plui-xxl\:h-full{height:100%;}
.plui-xxl\:w-auto{width:auto;}
.plui-xxl\:h-auto{height:auto;}
.plui-xxl\:w-min{width:min-content;}
.plui-xxl\:h-min{height:min-content;}
.plui-xxl\:w-max{width:max-content;}
.plui-xxl\:h-max{height:max-content;}
.plui-xxl\:w-fit{width:fit-content;}
.plui-xxl\:h-fit{height:fit-content;}
.plui-xxl\:w-screen{width:100vw;}
.plui-xxl\:h-screen{height:100vw;}
.plui-xxl\:w-1\/12{width:8.333333%;}
.plui-xxl\:h-1\/12{height:8.333333%;}
.plui-xxl\:w-1\/6{width:16.666667%;}
.plui-xxl\:h-1\/6{height:16.666667%;}
.plui-xxl\:w-1\/4{width:25%;}
.plui-xxl\:h-1\/4{height:25%;}
.plui-xxl\:w-1\/3{width:33.333333%;}
.plui-xxl\:h-1\/3{height:33.333333%;}
.plui-xxl\:w-2\/5{width:40%;}
.plui-xxl\:h-2\/5{height:40%;}
.plui-xxl\:w-1\/2{width:50%;}
.plui-xxl\:h-1\/2{height:50%;}
.plui-xxl\:w-3\/5{width:60%;}
.plui-xxl\:h-3\/5{height:60%;}
.plui-xxl\:w-2\/3{width:66.666667%;}
.plui-xxl\:h-2\/3{height:66.666667%;}
.plui-xxl\:w-3\/4{width:75%;}
.plui-xxl\:h-3\/4{height:75%;}
.plui-xxl\:w-4\/5{width:80%;}
.plui-xxl\:h-4\/5{height:80%;}
.plui-xxl\:w-5\/6{width:83.333333%;}
.plui-xxl\:h-5\/6{height:83.333333%;}
.plui-xxl\:w-11\/12{width:91.666667%;}
.plui-xxl\:h-11\/12{height:91.666667%;}
.plui-xxl\:min-w-0{min-width:0;}
.plui-xxl\:max-w-0{max-width:0;}
.plui-xxl\:min-h-0{min-height:0;}
.plui-xxl\:max-h-0{max-height:0;}
.plui-xxl\:min-w-full{min-width:100%;}
.plui-xxl\:max-w-full{max-width:100%;}
.plui-xxl\:min-h-full{min-height:100%;}
.plui-xxl\:max-h-full{max-height:100%;}
.plui-xxl\:min-w-auto{min-width:auto;}
.plui-xxl\:max-w-auto{max-width:auto;}
.plui-xxl\:min-h-auto{min-height:auto;}
.plui-xxl\:max-h-auto{max-height:auto;}
.plui-xxl\:min-w-min{min-width:min-content;}
.plui-xxl\:max-w-min{max-width:min-content;}
.plui-xxl\:min-h-min{min-height:min-content;}
.plui-xxl\:max-h-min{max-height:min-content;}
.plui-xxl\:min-w-max{min-width:max-content;}
.plui-xxl\:max-w-max{max-width:max-content;}
.plui-xxl\:min-h-max{min-height:max-content;}
.plui-xxl\:max-h-max{max-height:max-content;}
.plui-xxl\:min-w-fit{min-width:fit-content;}
.plui-xxl\:max-w-fit{max-width:fit-content;}
.plui-xxl\:min-h-fit{min-height:fit-content;}
.plui-xxl\:max-h-fit{max-height:fit-content;}
.plui-xxl\:min-w-screen{min-width:100vw;}
.plui-xxl\:max-w-screen{max-width:100vw;}
.plui-xxl\:min-h-screen{min-height:100vw;}
.plui-xxl\:max-h-screen{max-height:100vw;}
.plui-xxl\:overflow-auto{overflow:auto;}
.plui-xxl\:overflow-x-auto{overflow-x:auto;}
.plui-xxl\:overflow-y-auto{overflow-y:auto;}
.plui-xxl\:overflow-hidden{overflow:hidden;}
.plui-xxl\:overflow-x-hidden{overflow-x:hidden;}
.plui-xxl\:overflow-y-hidden{overflow-y:hidden;}
.plui-xxl\:overflow-clip{overflow:clip;}
.plui-xxl\:overflow-x-clip{overflow-x:clip;}
.plui-xxl\:overflow-y-clip{overflow-y:clip;}
.plui-xxl\:overflow-visible{overflow:visible;}
.plui-xxl\:overflow-x-visible{overflow-x:visible;}
.plui-xxl\:overflow-y-visible{overflow-y:visible;}
.plui-xxl\:overflow-scroll{overflow:scroll;}
.plui-xxl\:overflow-x-scroll{overflow-x:scroll;}
.plui-xxl\:overflow-y-scroll{overflow-y:scroll;}
.plui-xxl\:object-contain{object-fit:contain;}
.plui-xxl\:object-cover{object-fit:cover;}
.plui-xxl\:object-fill{object-fit:fill;}
.plui-xxl\:object-none{object-fit:none;}
.plui-xxl\:object-scale-down{object-fit:scale-down;}
.plui-xxl\:object-bottom{object-position:bottom;}
.plui-xxl\:object-center{object-position:center;}
.plui-xxl\:object-left{object-position:left;}
.plui-xxl\:object-left-bottom{object-position:left-bottom;}
.plui-xxl\:object-left-top{object-position:left-top;}
.plui-xxl\:object-right{object-position:right;}
.plui-xxl\:object-right-bottom{object-position:right-bottom;}
.plui-xxl\:object-right-top{object-position:right-top;}
.plui-xxl\:object-top{object-position:top;}
.plui-xxl\:aspect-auto{aspect-ratio:auto;}
.plui-xxl\:aspect-square{aspect-ratio:1 / 1;}
.plui-xxl\:aspect-video{aspect-ratio:16 / 9;}
.plui-xxl\:visibility-visible{visibility:visible;}
.plui-xxl\:visibility-invisible{visibility:hidden;}
.plui-xxl\:visibility-collapse{visibility:collapse;}
.plui-xxl\:table-layout-auto{table-layout:auto;}
.plui-xxl\:table-layout-fixed{table-layout:fixed;}
.plui-xxl\:border-collapse-collapse{border-collapse:collapse;}
.plui-xxl\:border-collapse-separate{border-collapse:separate;}
.plui-xxl\:box-sizing-border-box{box-sizing:border-box;}
.plui-xxl\:box-sizing-content-box{box-sizing:content-box;}
.plui-xxl\:translate-x-0{transform:translateX(0);}
.plui-xxl\:translate-x-full{transform:translateX(100%);}
.plui-xxl\:translate-x--full{transform:translateX(-100%);}
.plui-xxl\:translate-y-0{transform:translateY(0);}
.plui-xxl\:translate-y-full{transform:translateY(100%);}
.plui-xxl\:translate-y--full{transform:translateY(-100%);}
.plui-xxl\:scale-0{transform:scale(0);}
.plui-xxl\:scale-50{transform:scale(0.5);}
.plui-xxl\:scale-75{transform:scale(0.75);}
.plui-xxl\:scale-90{transform:scale(0.9);}
.plui-xxl\:scale-100{transform:scale(1);}
.plui-xxl\:scale-105{transform:scale(1.05);}
.plui-xxl\:scale-110{transform:scale(1.1);}
.plui-xxl\:scale-125{transform:scale(1.25);}
.plui-xxl\:rotate-0{transform:rotate(0deg);}
.plui-xxl\:rotate-45{transform:rotate(45deg);}
.plui-xxl\:rotate-90{transform:rotate(90deg);}
.plui-xxl\:rotate-180{transform:rotate(180deg);}
.plui-xxl\:skew-x-0{transform:skewX(0deg);}
.plui-xxl\:skew-x-6{transform:skewX(6deg);}
.plui-xxl\:skew-y-0{transform:skewY(0deg);}
.plui-xxl\:skew-y-6{transform:skewY(6deg);}
.plui-xxl\:origin-center{transform-origin:center;}
.plui-xxl\:origin-top{transform-origin:top;}
.plui-xxl\:origin-bottom{transform-origin:bottom;}
.plui-xxl\:origin-left{transform-origin:left;}
.plui-xxl\:origin-right{transform-origin:right;}
.plui-xxl\:isolation-auto{isolation:auto;}
.plui-xxl\:isolation-isolate{isolation:isolate;}
.plui-xxl\:scroll-smooth{scroll-behavior:smooth;}
.plui-xxl\:scroll-auto{scroll-behavior:auto;}
.plui-xxl\:align-top{vertical-align:top;}
.plui-xxl\:align-middle{vertical-align:middle;}
.plui-xxl\:align-bottom{vertical-align:bottom;}
.plui-xxl\:align-baseline{vertical-align:baseline;}
.plui-xxl\:align-sub{vertical-align:sub;}
.plui-xxl\:align-super{vertical-align:super;}
.plui-xxl\:align-text-top{vertical-align:text-top;}
.plui-xxl\:align-text-bottom{vertical-align:text-bottom;}

/* --- src/css/responsive/flexgrid.css --- */
/* ============================================================
   plui 工具类断点变体 · 弹性盒与网格：方向、换行、伸缩、顺序、对齐、网格列行与跨度
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   写法：.plui-{断点}:{属性}-{取值}，例如 .plui-md:p-4
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-sm\:flex-1{flex:1 1 0%;}
.plui-sm\:flex-auto{flex:1 1 auto;}
.plui-sm\:flex-initial{flex:0 1 auto;}
.plui-sm\:flex-none{flex:none;}
.plui-sm\:flex-row{flex-direction:row;}
.plui-sm\:flex-row-reverse{flex-direction:row-reverse;}
.plui-sm\:flex-col{flex-direction:column;}
.plui-sm\:flex-col-reverse{flex-direction:column-reverse;}
.plui-sm\:flex-wrap{flex-wrap:wrap;}
.plui-sm\:flex-nowrap{flex-wrap:nowrap;}
.plui-sm\:flex-wrap-reverse{flex-wrap:wrap-reverse;}
.plui-sm\:flex-grow-0{flex-grow:0;}
.plui-sm\:flex-grow-1{flex-grow:1;}
.plui-sm\:flex-shrink-0{flex-shrink:0;}
.plui-sm\:flex-shrink-1{flex-shrink:1;}
.plui-sm\:basis-auto{flex-basis:auto;}
.plui-sm\:basis-full{flex-basis:100%;}
.plui-sm\:basis-0{flex-basis:0;}
.plui-sm\:basis-1{flex-basis:0.25rem;}
.plui-sm\:basis-2{flex-basis:0.5rem;}
.plui-sm\:basis-4{flex-basis:1rem;}
.plui-sm\:basis-8{flex-basis:2rem;}
.plui-sm\:basis-1\/12{flex-basis:8.333333%;}
.plui-sm\:basis-1\/6{flex-basis:16.666667%;}
.plui-sm\:basis-1\/4{flex-basis:25%;}
.plui-sm\:basis-1\/3{flex-basis:33.333333%;}
.plui-sm\:basis-2\/5{flex-basis:40%;}
.plui-sm\:basis-1\/2{flex-basis:50%;}
.plui-sm\:basis-3\/5{flex-basis:60%;}
.plui-sm\:basis-2\/3{flex-basis:66.666667%;}
.plui-sm\:basis-3\/4{flex-basis:75%;}
.plui-sm\:basis-4\/5{flex-basis:80%;}
.plui-sm\:basis-5\/6{flex-basis:83.333333%;}
.plui-sm\:basis-11\/12{flex-basis:91.666667%;}
.plui-sm\:order-0{order:0;}
.plui-sm\:order-1{order:1;}
.plui-sm\:order-2{order:2;}
.plui-sm\:order-3{order:3;}
.plui-sm\:order-4{order:4;}
.plui-sm\:order-5{order:5;}
.plui-sm\:order-6{order:6;}
.plui-sm\:order-7{order:7;}
.plui-sm\:order-8{order:8;}
.plui-sm\:order-9{order:9;}
.plui-sm\:order-10{order:10;}
.plui-sm\:order-11{order:11;}
.plui-sm\:order-12{order:12;}
.plui-sm\:order-first{order:-9999;}
.plui-sm\:order-last{order:9999;}
.plui-sm\:order-none{order:0;}
.plui-sm\:justify-start{justify-content:start;}
.plui-sm\:justify-end{justify-content:end;}
.plui-sm\:justify-center{justify-content:center;}
.plui-sm\:justify-between{justify-content:between;}
.plui-sm\:justify-around{justify-content:around;}
.plui-sm\:justify-evenly{justify-content:evenly;}
.plui-sm\:items-start{align-items:start;}
.plui-sm\:items-end{align-items:end;}
.plui-sm\:items-center{align-items:center;}
.plui-sm\:items-baseline{align-items:baseline;}
.plui-sm\:items-stretch{align-items:stretch;}
.plui-sm\:content-start{align-content:start;}
.plui-sm\:content-end{align-content:end;}
.plui-sm\:content-center{align-content:center;}
.plui-sm\:content-between{align-content:between;}
.plui-sm\:content-around{align-content:around;}
.plui-sm\:content-evenly{align-content:evenly;}
.plui-sm\:self-auto{align-self:auto;}
.plui-sm\:self-start{align-self:start;}
.plui-sm\:self-end{align-self:end;}
.plui-sm\:self-center{align-self:center;}
.plui-sm\:self-stretch{align-self:stretch;}
.plui-sm\:self-baseline{align-self:baseline;}
.plui-sm\:place-items-center{place-items:center;}
.plui-sm\:place-items-start{place-items:start;}
.plui-sm\:place-items-end{place-items:end;}
.plui-sm\:place-items-stretch{place-items:stretch;}
.plui-sm\:place-items-baseline{place-items:baseline;}
.plui-sm\:place-content-center{place-content:center;}
.plui-sm\:place-content-start{place-content:start;}
.plui-sm\:place-content-end{place-content:end;}
.plui-sm\:place-content-stretch{place-content:stretch;}
.plui-sm\:place-content-between{place-content:between;}
.plui-sm\:place-content-around{place-content:around;}
.plui-sm\:place-content-evenly{place-content:evenly;}
.plui-sm\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));}
.plui-sm\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr));}
.plui-sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.plui-sm\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr));}
.plui-sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.plui-sm\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr));}
.plui-sm\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.plui-sm\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr));}
.plui-sm\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}
.plui-sm\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr));}
.plui-sm\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}
.plui-sm\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr));}
.plui-sm\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}
.plui-sm\:grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr));}
.plui-sm\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));}
.plui-sm\:grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr));}
.plui-sm\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));}
.plui-sm\:grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr));}
.plui-sm\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));}
.plui-sm\:grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr));}
.plui-sm\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));}
.plui-sm\:grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr));}
.plui-sm\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));}
.plui-sm\:grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr));}
.plui-sm\:grid-cols-none{grid-template-columns:none;}
.plui-sm\:grid-rows-none{grid-template-rows:none;}
.plui-sm\:col-span-1{grid-column:span 1 / span 1;}
.plui-sm\:row-span-1{grid-row:span 1 / span 1;}
.plui-sm\:col-span-2{grid-column:span 2 / span 2;}
.plui-sm\:row-span-2{grid-row:span 2 / span 2;}
.plui-sm\:col-span-3{grid-column:span 3 / span 3;}
.plui-sm\:row-span-3{grid-row:span 3 / span 3;}
.plui-sm\:col-span-4{grid-column:span 4 / span 4;}
.plui-sm\:row-span-4{grid-row:span 4 / span 4;}
.plui-sm\:col-span-5{grid-column:span 5 / span 5;}
.plui-sm\:row-span-5{grid-row:span 5 / span 5;}
.plui-sm\:col-span-6{grid-column:span 6 / span 6;}
.plui-sm\:row-span-6{grid-row:span 6 / span 6;}
.plui-sm\:col-span-7{grid-column:span 7 / span 7;}
.plui-sm\:row-span-7{grid-row:span 7 / span 7;}
.plui-sm\:col-span-8{grid-column:span 8 / span 8;}
.plui-sm\:row-span-8{grid-row:span 8 / span 8;}
.plui-sm\:col-span-9{grid-column:span 9 / span 9;}
.plui-sm\:row-span-9{grid-row:span 9 / span 9;}
.plui-sm\:col-span-10{grid-column:span 10 / span 10;}
.plui-sm\:row-span-10{grid-row:span 10 / span 10;}
.plui-sm\:col-span-11{grid-column:span 11 / span 11;}
.plui-sm\:row-span-11{grid-row:span 11 / span 11;}
.plui-sm\:col-span-12{grid-column:span 12 / span 12;}
.plui-sm\:row-span-12{grid-row:span 12 / span 12;}
.plui-sm\:col-span-full{grid-column:1 / -1;}
.plui-sm\:row-span-full{grid-row:1 / -1;}
.plui-sm\:col-start-1{grid-column-start:1;}
.plui-sm\:col-end-1{grid-column-end:1;}
.plui-sm\:row-start-1{grid-row-start:1;}
.plui-sm\:row-end-1{grid-row-end:1;}
.plui-sm\:col-start-2{grid-column-start:2;}
.plui-sm\:col-end-2{grid-column-end:2;}
.plui-sm\:row-start-2{grid-row-start:2;}
.plui-sm\:row-end-2{grid-row-end:2;}
.plui-sm\:col-start-3{grid-column-start:3;}
.plui-sm\:col-end-3{grid-column-end:3;}
.plui-sm\:row-start-3{grid-row-start:3;}
.plui-sm\:row-end-3{grid-row-end:3;}
.plui-sm\:col-start-4{grid-column-start:4;}
.plui-sm\:col-end-4{grid-column-end:4;}
.plui-sm\:row-start-4{grid-row-start:4;}
.plui-sm\:row-end-4{grid-row-end:4;}
.plui-sm\:col-start-5{grid-column-start:5;}
.plui-sm\:col-end-5{grid-column-end:5;}
.plui-sm\:row-start-5{grid-row-start:5;}
.plui-sm\:row-end-5{grid-row-end:5;}
.plui-sm\:col-start-6{grid-column-start:6;}
.plui-sm\:col-end-6{grid-column-end:6;}
.plui-sm\:row-start-6{grid-row-start:6;}
.plui-sm\:row-end-6{grid-row-end:6;}
.plui-sm\:col-start-7{grid-column-start:7;}
.plui-sm\:col-end-7{grid-column-end:7;}
.plui-sm\:row-start-7{grid-row-start:7;}
.plui-sm\:row-end-7{grid-row-end:7;}
.plui-sm\:col-start-8{grid-column-start:8;}
.plui-sm\:col-end-8{grid-column-end:8;}
.plui-sm\:row-start-8{grid-row-start:8;}
.plui-sm\:row-end-8{grid-row-end:8;}
.plui-sm\:col-start-9{grid-column-start:9;}
.plui-sm\:col-end-9{grid-column-end:9;}
.plui-sm\:row-start-9{grid-row-start:9;}
.plui-sm\:row-end-9{grid-row-end:9;}
.plui-sm\:col-start-10{grid-column-start:10;}
.plui-sm\:col-end-10{grid-column-end:10;}
.plui-sm\:row-start-10{grid-row-start:10;}
.plui-sm\:row-end-10{grid-row-end:10;}
.plui-sm\:col-start-11{grid-column-start:11;}
.plui-sm\:col-end-11{grid-column-end:11;}
.plui-sm\:row-start-11{grid-row-start:11;}
.plui-sm\:row-end-11{grid-row-end:11;}
.plui-sm\:col-start-12{grid-column-start:12;}
.plui-sm\:col-end-12{grid-column-end:12;}
.plui-sm\:row-start-12{grid-row-start:12;}
.plui-sm\:row-end-12{grid-row-end:12;}
.plui-sm\:col-start-13{grid-column-start:13;}
.plui-sm\:col-end-13{grid-column-end:13;}
.plui-sm\:row-start-13{grid-row-start:13;}
.plui-sm\:row-end-13{grid-row-end:13;}
.plui-sm\:col-start-auto{grid-column-start:auto;}
.plui-sm\:col-end-auto{grid-column-end:auto;}
.plui-sm\:row-start-auto{grid-row-start:auto;}
.plui-sm\:row-end-auto{grid-row-end:auto;}

/* ---- md ≥ 768px ---- */
.plui-md\:flex-1{flex:1 1 0%;}
.plui-md\:flex-auto{flex:1 1 auto;}
.plui-md\:flex-initial{flex:0 1 auto;}
.plui-md\:flex-none{flex:none;}
.plui-md\:flex-row{flex-direction:row;}
.plui-md\:flex-row-reverse{flex-direction:row-reverse;}
.plui-md\:flex-col{flex-direction:column;}
.plui-md\:flex-col-reverse{flex-direction:column-reverse;}
.plui-md\:flex-wrap{flex-wrap:wrap;}
.plui-md\:flex-nowrap{flex-wrap:nowrap;}
.plui-md\:flex-wrap-reverse{flex-wrap:wrap-reverse;}
.plui-md\:flex-grow-0{flex-grow:0;}
.plui-md\:flex-grow-1{flex-grow:1;}
.plui-md\:flex-shrink-0{flex-shrink:0;}
.plui-md\:flex-shrink-1{flex-shrink:1;}
.plui-md\:basis-auto{flex-basis:auto;}
.plui-md\:basis-full{flex-basis:100%;}
.plui-md\:basis-0{flex-basis:0;}
.plui-md\:basis-1{flex-basis:0.25rem;}
.plui-md\:basis-2{flex-basis:0.5rem;}
.plui-md\:basis-4{flex-basis:1rem;}
.plui-md\:basis-8{flex-basis:2rem;}
.plui-md\:basis-1\/12{flex-basis:8.333333%;}
.plui-md\:basis-1\/6{flex-basis:16.666667%;}
.plui-md\:basis-1\/4{flex-basis:25%;}
.plui-md\:basis-1\/3{flex-basis:33.333333%;}
.plui-md\:basis-2\/5{flex-basis:40%;}
.plui-md\:basis-1\/2{flex-basis:50%;}
.plui-md\:basis-3\/5{flex-basis:60%;}
.plui-md\:basis-2\/3{flex-basis:66.666667%;}
.plui-md\:basis-3\/4{flex-basis:75%;}
.plui-md\:basis-4\/5{flex-basis:80%;}
.plui-md\:basis-5\/6{flex-basis:83.333333%;}
.plui-md\:basis-11\/12{flex-basis:91.666667%;}
.plui-md\:order-0{order:0;}
.plui-md\:order-1{order:1;}
.plui-md\:order-2{order:2;}
.plui-md\:order-3{order:3;}
.plui-md\:order-4{order:4;}
.plui-md\:order-5{order:5;}
.plui-md\:order-6{order:6;}
.plui-md\:order-7{order:7;}
.plui-md\:order-8{order:8;}
.plui-md\:order-9{order:9;}
.plui-md\:order-10{order:10;}
.plui-md\:order-11{order:11;}
.plui-md\:order-12{order:12;}
.plui-md\:order-first{order:-9999;}
.plui-md\:order-last{order:9999;}
.plui-md\:order-none{order:0;}
.plui-md\:justify-start{justify-content:start;}
.plui-md\:justify-end{justify-content:end;}
.plui-md\:justify-center{justify-content:center;}
.plui-md\:justify-between{justify-content:between;}
.plui-md\:justify-around{justify-content:around;}
.plui-md\:justify-evenly{justify-content:evenly;}
.plui-md\:items-start{align-items:start;}
.plui-md\:items-end{align-items:end;}
.plui-md\:items-center{align-items:center;}
.plui-md\:items-baseline{align-items:baseline;}
.plui-md\:items-stretch{align-items:stretch;}
.plui-md\:content-start{align-content:start;}
.plui-md\:content-end{align-content:end;}
.plui-md\:content-center{align-content:center;}
.plui-md\:content-between{align-content:between;}
.plui-md\:content-around{align-content:around;}
.plui-md\:content-evenly{align-content:evenly;}
.plui-md\:self-auto{align-self:auto;}
.plui-md\:self-start{align-self:start;}
.plui-md\:self-end{align-self:end;}
.plui-md\:self-center{align-self:center;}
.plui-md\:self-stretch{align-self:stretch;}
.plui-md\:self-baseline{align-self:baseline;}
.plui-md\:place-items-center{place-items:center;}
.plui-md\:place-items-start{place-items:start;}
.plui-md\:place-items-end{place-items:end;}
.plui-md\:place-items-stretch{place-items:stretch;}
.plui-md\:place-items-baseline{place-items:baseline;}
.plui-md\:place-content-center{place-content:center;}
.plui-md\:place-content-start{place-content:start;}
.plui-md\:place-content-end{place-content:end;}
.plui-md\:place-content-stretch{place-content:stretch;}
.plui-md\:place-content-between{place-content:between;}
.plui-md\:place-content-around{place-content:around;}
.plui-md\:place-content-evenly{place-content:evenly;}
.plui-md\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));}
.plui-md\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr));}
.plui-md\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.plui-md\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr));}
.plui-md\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.plui-md\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr));}
.plui-md\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.plui-md\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr));}
.plui-md\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}
.plui-md\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr));}
.plui-md\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}
.plui-md\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr));}
.plui-md\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}
.plui-md\:grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr));}
.plui-md\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));}
.plui-md\:grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr));}
.plui-md\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));}
.plui-md\:grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr));}
.plui-md\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));}
.plui-md\:grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr));}
.plui-md\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));}
.plui-md\:grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr));}
.plui-md\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));}
.plui-md\:grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr));}
.plui-md\:grid-cols-none{grid-template-columns:none;}
.plui-md\:grid-rows-none{grid-template-rows:none;}
.plui-md\:col-span-1{grid-column:span 1 / span 1;}
.plui-md\:row-span-1{grid-row:span 1 / span 1;}
.plui-md\:col-span-2{grid-column:span 2 / span 2;}
.plui-md\:row-span-2{grid-row:span 2 / span 2;}
.plui-md\:col-span-3{grid-column:span 3 / span 3;}
.plui-md\:row-span-3{grid-row:span 3 / span 3;}
.plui-md\:col-span-4{grid-column:span 4 / span 4;}
.plui-md\:row-span-4{grid-row:span 4 / span 4;}
.plui-md\:col-span-5{grid-column:span 5 / span 5;}
.plui-md\:row-span-5{grid-row:span 5 / span 5;}
.plui-md\:col-span-6{grid-column:span 6 / span 6;}
.plui-md\:row-span-6{grid-row:span 6 / span 6;}
.plui-md\:col-span-7{grid-column:span 7 / span 7;}
.plui-md\:row-span-7{grid-row:span 7 / span 7;}
.plui-md\:col-span-8{grid-column:span 8 / span 8;}
.plui-md\:row-span-8{grid-row:span 8 / span 8;}
.plui-md\:col-span-9{grid-column:span 9 / span 9;}
.plui-md\:row-span-9{grid-row:span 9 / span 9;}
.plui-md\:col-span-10{grid-column:span 10 / span 10;}
.plui-md\:row-span-10{grid-row:span 10 / span 10;}
.plui-md\:col-span-11{grid-column:span 11 / span 11;}
.plui-md\:row-span-11{grid-row:span 11 / span 11;}
.plui-md\:col-span-12{grid-column:span 12 / span 12;}
.plui-md\:row-span-12{grid-row:span 12 / span 12;}
.plui-md\:col-span-full{grid-column:1 / -1;}
.plui-md\:row-span-full{grid-row:1 / -1;}
.plui-md\:col-start-1{grid-column-start:1;}
.plui-md\:col-end-1{grid-column-end:1;}
.plui-md\:row-start-1{grid-row-start:1;}
.plui-md\:row-end-1{grid-row-end:1;}
.plui-md\:col-start-2{grid-column-start:2;}
.plui-md\:col-end-2{grid-column-end:2;}
.plui-md\:row-start-2{grid-row-start:2;}
.plui-md\:row-end-2{grid-row-end:2;}
.plui-md\:col-start-3{grid-column-start:3;}
.plui-md\:col-end-3{grid-column-end:3;}
.plui-md\:row-start-3{grid-row-start:3;}
.plui-md\:row-end-3{grid-row-end:3;}
.plui-md\:col-start-4{grid-column-start:4;}
.plui-md\:col-end-4{grid-column-end:4;}
.plui-md\:row-start-4{grid-row-start:4;}
.plui-md\:row-end-4{grid-row-end:4;}
.plui-md\:col-start-5{grid-column-start:5;}
.plui-md\:col-end-5{grid-column-end:5;}
.plui-md\:row-start-5{grid-row-start:5;}
.plui-md\:row-end-5{grid-row-end:5;}
.plui-md\:col-start-6{grid-column-start:6;}
.plui-md\:col-end-6{grid-column-end:6;}
.plui-md\:row-start-6{grid-row-start:6;}
.plui-md\:row-end-6{grid-row-end:6;}
.plui-md\:col-start-7{grid-column-start:7;}
.plui-md\:col-end-7{grid-column-end:7;}
.plui-md\:row-start-7{grid-row-start:7;}
.plui-md\:row-end-7{grid-row-end:7;}
.plui-md\:col-start-8{grid-column-start:8;}
.plui-md\:col-end-8{grid-column-end:8;}
.plui-md\:row-start-8{grid-row-start:8;}
.plui-md\:row-end-8{grid-row-end:8;}
.plui-md\:col-start-9{grid-column-start:9;}
.plui-md\:col-end-9{grid-column-end:9;}
.plui-md\:row-start-9{grid-row-start:9;}
.plui-md\:row-end-9{grid-row-end:9;}
.plui-md\:col-start-10{grid-column-start:10;}
.plui-md\:col-end-10{grid-column-end:10;}
.plui-md\:row-start-10{grid-row-start:10;}
.plui-md\:row-end-10{grid-row-end:10;}
.plui-md\:col-start-11{grid-column-start:11;}
.plui-md\:col-end-11{grid-column-end:11;}
.plui-md\:row-start-11{grid-row-start:11;}
.plui-md\:row-end-11{grid-row-end:11;}
.plui-md\:col-start-12{grid-column-start:12;}
.plui-md\:col-end-12{grid-column-end:12;}
.plui-md\:row-start-12{grid-row-start:12;}
.plui-md\:row-end-12{grid-row-end:12;}
.plui-md\:col-start-13{grid-column-start:13;}
.plui-md\:col-end-13{grid-column-end:13;}
.plui-md\:row-start-13{grid-row-start:13;}
.plui-md\:row-end-13{grid-row-end:13;}
.plui-md\:col-start-auto{grid-column-start:auto;}
.plui-md\:col-end-auto{grid-column-end:auto;}
.plui-md\:row-start-auto{grid-row-start:auto;}
.plui-md\:row-end-auto{grid-row-end:auto;}

/* ---- lg ≥ 992px ---- */
.plui-lg\:flex-1{flex:1 1 0%;}
.plui-lg\:flex-auto{flex:1 1 auto;}
.plui-lg\:flex-initial{flex:0 1 auto;}
.plui-lg\:flex-none{flex:none;}
.plui-lg\:flex-row{flex-direction:row;}
.plui-lg\:flex-row-reverse{flex-direction:row-reverse;}
.plui-lg\:flex-col{flex-direction:column;}
.plui-lg\:flex-col-reverse{flex-direction:column-reverse;}
.plui-lg\:flex-wrap{flex-wrap:wrap;}
.plui-lg\:flex-nowrap{flex-wrap:nowrap;}
.plui-lg\:flex-wrap-reverse{flex-wrap:wrap-reverse;}
.plui-lg\:flex-grow-0{flex-grow:0;}
.plui-lg\:flex-grow-1{flex-grow:1;}
.plui-lg\:flex-shrink-0{flex-shrink:0;}
.plui-lg\:flex-shrink-1{flex-shrink:1;}
.plui-lg\:basis-auto{flex-basis:auto;}
.plui-lg\:basis-full{flex-basis:100%;}
.plui-lg\:basis-0{flex-basis:0;}
.plui-lg\:basis-1{flex-basis:0.25rem;}
.plui-lg\:basis-2{flex-basis:0.5rem;}
.plui-lg\:basis-4{flex-basis:1rem;}
.plui-lg\:basis-8{flex-basis:2rem;}
.plui-lg\:basis-1\/12{flex-basis:8.333333%;}
.plui-lg\:basis-1\/6{flex-basis:16.666667%;}
.plui-lg\:basis-1\/4{flex-basis:25%;}
.plui-lg\:basis-1\/3{flex-basis:33.333333%;}
.plui-lg\:basis-2\/5{flex-basis:40%;}
.plui-lg\:basis-1\/2{flex-basis:50%;}
.plui-lg\:basis-3\/5{flex-basis:60%;}
.plui-lg\:basis-2\/3{flex-basis:66.666667%;}
.plui-lg\:basis-3\/4{flex-basis:75%;}
.plui-lg\:basis-4\/5{flex-basis:80%;}
.plui-lg\:basis-5\/6{flex-basis:83.333333%;}
.plui-lg\:basis-11\/12{flex-basis:91.666667%;}
.plui-lg\:order-0{order:0;}
.plui-lg\:order-1{order:1;}
.plui-lg\:order-2{order:2;}
.plui-lg\:order-3{order:3;}
.plui-lg\:order-4{order:4;}
.plui-lg\:order-5{order:5;}
.plui-lg\:order-6{order:6;}
.plui-lg\:order-7{order:7;}
.plui-lg\:order-8{order:8;}
.plui-lg\:order-9{order:9;}
.plui-lg\:order-10{order:10;}
.plui-lg\:order-11{order:11;}
.plui-lg\:order-12{order:12;}
.plui-lg\:order-first{order:-9999;}
.plui-lg\:order-last{order:9999;}
.plui-lg\:order-none{order:0;}
.plui-lg\:justify-start{justify-content:start;}
.plui-lg\:justify-end{justify-content:end;}
.plui-lg\:justify-center{justify-content:center;}
.plui-lg\:justify-between{justify-content:between;}
.plui-lg\:justify-around{justify-content:around;}
.plui-lg\:justify-evenly{justify-content:evenly;}
.plui-lg\:items-start{align-items:start;}
.plui-lg\:items-end{align-items:end;}
.plui-lg\:items-center{align-items:center;}
.plui-lg\:items-baseline{align-items:baseline;}
.plui-lg\:items-stretch{align-items:stretch;}
.plui-lg\:content-start{align-content:start;}
.plui-lg\:content-end{align-content:end;}
.plui-lg\:content-center{align-content:center;}
.plui-lg\:content-between{align-content:between;}
.plui-lg\:content-around{align-content:around;}
.plui-lg\:content-evenly{align-content:evenly;}
.plui-lg\:self-auto{align-self:auto;}
.plui-lg\:self-start{align-self:start;}
.plui-lg\:self-end{align-self:end;}
.plui-lg\:self-center{align-self:center;}
.plui-lg\:self-stretch{align-self:stretch;}
.plui-lg\:self-baseline{align-self:baseline;}
.plui-lg\:place-items-center{place-items:center;}
.plui-lg\:place-items-start{place-items:start;}
.plui-lg\:place-items-end{place-items:end;}
.plui-lg\:place-items-stretch{place-items:stretch;}
.plui-lg\:place-items-baseline{place-items:baseline;}
.plui-lg\:place-content-center{place-content:center;}
.plui-lg\:place-content-start{place-content:start;}
.plui-lg\:place-content-end{place-content:end;}
.plui-lg\:place-content-stretch{place-content:stretch;}
.plui-lg\:place-content-between{place-content:between;}
.plui-lg\:place-content-around{place-content:around;}
.plui-lg\:place-content-evenly{place-content:evenly;}
.plui-lg\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));}
.plui-lg\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr));}
.plui-lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.plui-lg\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr));}
.plui-lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.plui-lg\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr));}
.plui-lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.plui-lg\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr));}
.plui-lg\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}
.plui-lg\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr));}
.plui-lg\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}
.plui-lg\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr));}
.plui-lg\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}
.plui-lg\:grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr));}
.plui-lg\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));}
.plui-lg\:grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr));}
.plui-lg\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));}
.plui-lg\:grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr));}
.plui-lg\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));}
.plui-lg\:grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr));}
.plui-lg\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));}
.plui-lg\:grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr));}
.plui-lg\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));}
.plui-lg\:grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr));}
.plui-lg\:grid-cols-none{grid-template-columns:none;}
.plui-lg\:grid-rows-none{grid-template-rows:none;}
.plui-lg\:col-span-1{grid-column:span 1 / span 1;}
.plui-lg\:row-span-1{grid-row:span 1 / span 1;}
.plui-lg\:col-span-2{grid-column:span 2 / span 2;}
.plui-lg\:row-span-2{grid-row:span 2 / span 2;}
.plui-lg\:col-span-3{grid-column:span 3 / span 3;}
.plui-lg\:row-span-3{grid-row:span 3 / span 3;}
.plui-lg\:col-span-4{grid-column:span 4 / span 4;}
.plui-lg\:row-span-4{grid-row:span 4 / span 4;}
.plui-lg\:col-span-5{grid-column:span 5 / span 5;}
.plui-lg\:row-span-5{grid-row:span 5 / span 5;}
.plui-lg\:col-span-6{grid-column:span 6 / span 6;}
.plui-lg\:row-span-6{grid-row:span 6 / span 6;}
.plui-lg\:col-span-7{grid-column:span 7 / span 7;}
.plui-lg\:row-span-7{grid-row:span 7 / span 7;}
.plui-lg\:col-span-8{grid-column:span 8 / span 8;}
.plui-lg\:row-span-8{grid-row:span 8 / span 8;}
.plui-lg\:col-span-9{grid-column:span 9 / span 9;}
.plui-lg\:row-span-9{grid-row:span 9 / span 9;}
.plui-lg\:col-span-10{grid-column:span 10 / span 10;}
.plui-lg\:row-span-10{grid-row:span 10 / span 10;}
.plui-lg\:col-span-11{grid-column:span 11 / span 11;}
.plui-lg\:row-span-11{grid-row:span 11 / span 11;}
.plui-lg\:col-span-12{grid-column:span 12 / span 12;}
.plui-lg\:row-span-12{grid-row:span 12 / span 12;}
.plui-lg\:col-span-full{grid-column:1 / -1;}
.plui-lg\:row-span-full{grid-row:1 / -1;}
.plui-lg\:col-start-1{grid-column-start:1;}
.plui-lg\:col-end-1{grid-column-end:1;}
.plui-lg\:row-start-1{grid-row-start:1;}
.plui-lg\:row-end-1{grid-row-end:1;}
.plui-lg\:col-start-2{grid-column-start:2;}
.plui-lg\:col-end-2{grid-column-end:2;}
.plui-lg\:row-start-2{grid-row-start:2;}
.plui-lg\:row-end-2{grid-row-end:2;}
.plui-lg\:col-start-3{grid-column-start:3;}
.plui-lg\:col-end-3{grid-column-end:3;}
.plui-lg\:row-start-3{grid-row-start:3;}
.plui-lg\:row-end-3{grid-row-end:3;}
.plui-lg\:col-start-4{grid-column-start:4;}
.plui-lg\:col-end-4{grid-column-end:4;}
.plui-lg\:row-start-4{grid-row-start:4;}
.plui-lg\:row-end-4{grid-row-end:4;}
.plui-lg\:col-start-5{grid-column-start:5;}
.plui-lg\:col-end-5{grid-column-end:5;}
.plui-lg\:row-start-5{grid-row-start:5;}
.plui-lg\:row-end-5{grid-row-end:5;}
.plui-lg\:col-start-6{grid-column-start:6;}
.plui-lg\:col-end-6{grid-column-end:6;}
.plui-lg\:row-start-6{grid-row-start:6;}
.plui-lg\:row-end-6{grid-row-end:6;}
.plui-lg\:col-start-7{grid-column-start:7;}
.plui-lg\:col-end-7{grid-column-end:7;}
.plui-lg\:row-start-7{grid-row-start:7;}
.plui-lg\:row-end-7{grid-row-end:7;}
.plui-lg\:col-start-8{grid-column-start:8;}
.plui-lg\:col-end-8{grid-column-end:8;}
.plui-lg\:row-start-8{grid-row-start:8;}
.plui-lg\:row-end-8{grid-row-end:8;}
.plui-lg\:col-start-9{grid-column-start:9;}
.plui-lg\:col-end-9{grid-column-end:9;}
.plui-lg\:row-start-9{grid-row-start:9;}
.plui-lg\:row-end-9{grid-row-end:9;}
.plui-lg\:col-start-10{grid-column-start:10;}
.plui-lg\:col-end-10{grid-column-end:10;}
.plui-lg\:row-start-10{grid-row-start:10;}
.plui-lg\:row-end-10{grid-row-end:10;}
.plui-lg\:col-start-11{grid-column-start:11;}
.plui-lg\:col-end-11{grid-column-end:11;}
.plui-lg\:row-start-11{grid-row-start:11;}
.plui-lg\:row-end-11{grid-row-end:11;}
.plui-lg\:col-start-12{grid-column-start:12;}
.plui-lg\:col-end-12{grid-column-end:12;}
.plui-lg\:row-start-12{grid-row-start:12;}
.plui-lg\:row-end-12{grid-row-end:12;}
.plui-lg\:col-start-13{grid-column-start:13;}
.plui-lg\:col-end-13{grid-column-end:13;}
.plui-lg\:row-start-13{grid-row-start:13;}
.plui-lg\:row-end-13{grid-row-end:13;}
.plui-lg\:col-start-auto{grid-column-start:auto;}
.plui-lg\:col-end-auto{grid-column-end:auto;}
.plui-lg\:row-start-auto{grid-row-start:auto;}
.plui-lg\:row-end-auto{grid-row-end:auto;}

/* ---- xl ≥ 1200px ---- */
.plui-xl\:flex-1{flex:1 1 0%;}
.plui-xl\:flex-auto{flex:1 1 auto;}
.plui-xl\:flex-initial{flex:0 1 auto;}
.plui-xl\:flex-none{flex:none;}
.plui-xl\:flex-row{flex-direction:row;}
.plui-xl\:flex-row-reverse{flex-direction:row-reverse;}
.plui-xl\:flex-col{flex-direction:column;}
.plui-xl\:flex-col-reverse{flex-direction:column-reverse;}
.plui-xl\:flex-wrap{flex-wrap:wrap;}
.plui-xl\:flex-nowrap{flex-wrap:nowrap;}
.plui-xl\:flex-wrap-reverse{flex-wrap:wrap-reverse;}
.plui-xl\:flex-grow-0{flex-grow:0;}
.plui-xl\:flex-grow-1{flex-grow:1;}
.plui-xl\:flex-shrink-0{flex-shrink:0;}
.plui-xl\:flex-shrink-1{flex-shrink:1;}
.plui-xl\:basis-auto{flex-basis:auto;}
.plui-xl\:basis-full{flex-basis:100%;}
.plui-xl\:basis-0{flex-basis:0;}
.plui-xl\:basis-1{flex-basis:0.25rem;}
.plui-xl\:basis-2{flex-basis:0.5rem;}
.plui-xl\:basis-4{flex-basis:1rem;}
.plui-xl\:basis-8{flex-basis:2rem;}
.plui-xl\:basis-1\/12{flex-basis:8.333333%;}
.plui-xl\:basis-1\/6{flex-basis:16.666667%;}
.plui-xl\:basis-1\/4{flex-basis:25%;}
.plui-xl\:basis-1\/3{flex-basis:33.333333%;}
.plui-xl\:basis-2\/5{flex-basis:40%;}
.plui-xl\:basis-1\/2{flex-basis:50%;}
.plui-xl\:basis-3\/5{flex-basis:60%;}
.plui-xl\:basis-2\/3{flex-basis:66.666667%;}
.plui-xl\:basis-3\/4{flex-basis:75%;}
.plui-xl\:basis-4\/5{flex-basis:80%;}
.plui-xl\:basis-5\/6{flex-basis:83.333333%;}
.plui-xl\:basis-11\/12{flex-basis:91.666667%;}
.plui-xl\:order-0{order:0;}
.plui-xl\:order-1{order:1;}
.plui-xl\:order-2{order:2;}
.plui-xl\:order-3{order:3;}
.plui-xl\:order-4{order:4;}
.plui-xl\:order-5{order:5;}
.plui-xl\:order-6{order:6;}
.plui-xl\:order-7{order:7;}
.plui-xl\:order-8{order:8;}
.plui-xl\:order-9{order:9;}
.plui-xl\:order-10{order:10;}
.plui-xl\:order-11{order:11;}
.plui-xl\:order-12{order:12;}
.plui-xl\:order-first{order:-9999;}
.plui-xl\:order-last{order:9999;}
.plui-xl\:order-none{order:0;}
.plui-xl\:justify-start{justify-content:start;}
.plui-xl\:justify-end{justify-content:end;}
.plui-xl\:justify-center{justify-content:center;}
.plui-xl\:justify-between{justify-content:between;}
.plui-xl\:justify-around{justify-content:around;}
.plui-xl\:justify-evenly{justify-content:evenly;}
.plui-xl\:items-start{align-items:start;}
.plui-xl\:items-end{align-items:end;}
.plui-xl\:items-center{align-items:center;}
.plui-xl\:items-baseline{align-items:baseline;}
.plui-xl\:items-stretch{align-items:stretch;}
.plui-xl\:content-start{align-content:start;}
.plui-xl\:content-end{align-content:end;}
.plui-xl\:content-center{align-content:center;}
.plui-xl\:content-between{align-content:between;}
.plui-xl\:content-around{align-content:around;}
.plui-xl\:content-evenly{align-content:evenly;}
.plui-xl\:self-auto{align-self:auto;}
.plui-xl\:self-start{align-self:start;}
.plui-xl\:self-end{align-self:end;}
.plui-xl\:self-center{align-self:center;}
.plui-xl\:self-stretch{align-self:stretch;}
.plui-xl\:self-baseline{align-self:baseline;}
.plui-xl\:place-items-center{place-items:center;}
.plui-xl\:place-items-start{place-items:start;}
.plui-xl\:place-items-end{place-items:end;}
.plui-xl\:place-items-stretch{place-items:stretch;}
.plui-xl\:place-items-baseline{place-items:baseline;}
.plui-xl\:place-content-center{place-content:center;}
.plui-xl\:place-content-start{place-content:start;}
.plui-xl\:place-content-end{place-content:end;}
.plui-xl\:place-content-stretch{place-content:stretch;}
.plui-xl\:place-content-between{place-content:between;}
.plui-xl\:place-content-around{place-content:around;}
.plui-xl\:place-content-evenly{place-content:evenly;}
.plui-xl\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));}
.plui-xl\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr));}
.plui-xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.plui-xl\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr));}
.plui-xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.plui-xl\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr));}
.plui-xl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.plui-xl\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr));}
.plui-xl\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}
.plui-xl\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr));}
.plui-xl\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}
.plui-xl\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr));}
.plui-xl\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}
.plui-xl\:grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr));}
.plui-xl\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));}
.plui-xl\:grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr));}
.plui-xl\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));}
.plui-xl\:grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr));}
.plui-xl\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));}
.plui-xl\:grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr));}
.plui-xl\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));}
.plui-xl\:grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr));}
.plui-xl\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));}
.plui-xl\:grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr));}
.plui-xl\:grid-cols-none{grid-template-columns:none;}
.plui-xl\:grid-rows-none{grid-template-rows:none;}
.plui-xl\:col-span-1{grid-column:span 1 / span 1;}
.plui-xl\:row-span-1{grid-row:span 1 / span 1;}
.plui-xl\:col-span-2{grid-column:span 2 / span 2;}
.plui-xl\:row-span-2{grid-row:span 2 / span 2;}
.plui-xl\:col-span-3{grid-column:span 3 / span 3;}
.plui-xl\:row-span-3{grid-row:span 3 / span 3;}
.plui-xl\:col-span-4{grid-column:span 4 / span 4;}
.plui-xl\:row-span-4{grid-row:span 4 / span 4;}
.plui-xl\:col-span-5{grid-column:span 5 / span 5;}
.plui-xl\:row-span-5{grid-row:span 5 / span 5;}
.plui-xl\:col-span-6{grid-column:span 6 / span 6;}
.plui-xl\:row-span-6{grid-row:span 6 / span 6;}
.plui-xl\:col-span-7{grid-column:span 7 / span 7;}
.plui-xl\:row-span-7{grid-row:span 7 / span 7;}
.plui-xl\:col-span-8{grid-column:span 8 / span 8;}
.plui-xl\:row-span-8{grid-row:span 8 / span 8;}
.plui-xl\:col-span-9{grid-column:span 9 / span 9;}
.plui-xl\:row-span-9{grid-row:span 9 / span 9;}
.plui-xl\:col-span-10{grid-column:span 10 / span 10;}
.plui-xl\:row-span-10{grid-row:span 10 / span 10;}
.plui-xl\:col-span-11{grid-column:span 11 / span 11;}
.plui-xl\:row-span-11{grid-row:span 11 / span 11;}
.plui-xl\:col-span-12{grid-column:span 12 / span 12;}
.plui-xl\:row-span-12{grid-row:span 12 / span 12;}
.plui-xl\:col-span-full{grid-column:1 / -1;}
.plui-xl\:row-span-full{grid-row:1 / -1;}
.plui-xl\:col-start-1{grid-column-start:1;}
.plui-xl\:col-end-1{grid-column-end:1;}
.plui-xl\:row-start-1{grid-row-start:1;}
.plui-xl\:row-end-1{grid-row-end:1;}
.plui-xl\:col-start-2{grid-column-start:2;}
.plui-xl\:col-end-2{grid-column-end:2;}
.plui-xl\:row-start-2{grid-row-start:2;}
.plui-xl\:row-end-2{grid-row-end:2;}
.plui-xl\:col-start-3{grid-column-start:3;}
.plui-xl\:col-end-3{grid-column-end:3;}
.plui-xl\:row-start-3{grid-row-start:3;}
.plui-xl\:row-end-3{grid-row-end:3;}
.plui-xl\:col-start-4{grid-column-start:4;}
.plui-xl\:col-end-4{grid-column-end:4;}
.plui-xl\:row-start-4{grid-row-start:4;}
.plui-xl\:row-end-4{grid-row-end:4;}
.plui-xl\:col-start-5{grid-column-start:5;}
.plui-xl\:col-end-5{grid-column-end:5;}
.plui-xl\:row-start-5{grid-row-start:5;}
.plui-xl\:row-end-5{grid-row-end:5;}
.plui-xl\:col-start-6{grid-column-start:6;}
.plui-xl\:col-end-6{grid-column-end:6;}
.plui-xl\:row-start-6{grid-row-start:6;}
.plui-xl\:row-end-6{grid-row-end:6;}
.plui-xl\:col-start-7{grid-column-start:7;}
.plui-xl\:col-end-7{grid-column-end:7;}
.plui-xl\:row-start-7{grid-row-start:7;}
.plui-xl\:row-end-7{grid-row-end:7;}
.plui-xl\:col-start-8{grid-column-start:8;}
.plui-xl\:col-end-8{grid-column-end:8;}
.plui-xl\:row-start-8{grid-row-start:8;}
.plui-xl\:row-end-8{grid-row-end:8;}
.plui-xl\:col-start-9{grid-column-start:9;}
.plui-xl\:col-end-9{grid-column-end:9;}
.plui-xl\:row-start-9{grid-row-start:9;}
.plui-xl\:row-end-9{grid-row-end:9;}
.plui-xl\:col-start-10{grid-column-start:10;}
.plui-xl\:col-end-10{grid-column-end:10;}
.plui-xl\:row-start-10{grid-row-start:10;}
.plui-xl\:row-end-10{grid-row-end:10;}
.plui-xl\:col-start-11{grid-column-start:11;}
.plui-xl\:col-end-11{grid-column-end:11;}
.plui-xl\:row-start-11{grid-row-start:11;}
.plui-xl\:row-end-11{grid-row-end:11;}
.plui-xl\:col-start-12{grid-column-start:12;}
.plui-xl\:col-end-12{grid-column-end:12;}
.plui-xl\:row-start-12{grid-row-start:12;}
.plui-xl\:row-end-12{grid-row-end:12;}
.plui-xl\:col-start-13{grid-column-start:13;}
.plui-xl\:col-end-13{grid-column-end:13;}
.plui-xl\:row-start-13{grid-row-start:13;}
.plui-xl\:row-end-13{grid-row-end:13;}
.plui-xl\:col-start-auto{grid-column-start:auto;}
.plui-xl\:col-end-auto{grid-column-end:auto;}
.plui-xl\:row-start-auto{grid-row-start:auto;}
.plui-xl\:row-end-auto{grid-row-end:auto;}

/* ---- xxl ≥ 1400px ---- */
.plui-xxl\:flex-1{flex:1 1 0%;}
.plui-xxl\:flex-auto{flex:1 1 auto;}
.plui-xxl\:flex-initial{flex:0 1 auto;}
.plui-xxl\:flex-none{flex:none;}
.plui-xxl\:flex-row{flex-direction:row;}
.plui-xxl\:flex-row-reverse{flex-direction:row-reverse;}
.plui-xxl\:flex-col{flex-direction:column;}
.plui-xxl\:flex-col-reverse{flex-direction:column-reverse;}
.plui-xxl\:flex-wrap{flex-wrap:wrap;}
.plui-xxl\:flex-nowrap{flex-wrap:nowrap;}
.plui-xxl\:flex-wrap-reverse{flex-wrap:wrap-reverse;}
.plui-xxl\:flex-grow-0{flex-grow:0;}
.plui-xxl\:flex-grow-1{flex-grow:1;}
.plui-xxl\:flex-shrink-0{flex-shrink:0;}
.plui-xxl\:flex-shrink-1{flex-shrink:1;}
.plui-xxl\:basis-auto{flex-basis:auto;}
.plui-xxl\:basis-full{flex-basis:100%;}
.plui-xxl\:basis-0{flex-basis:0;}
.plui-xxl\:basis-1{flex-basis:0.25rem;}
.plui-xxl\:basis-2{flex-basis:0.5rem;}
.plui-xxl\:basis-4{flex-basis:1rem;}
.plui-xxl\:basis-8{flex-basis:2rem;}
.plui-xxl\:basis-1\/12{flex-basis:8.333333%;}
.plui-xxl\:basis-1\/6{flex-basis:16.666667%;}
.plui-xxl\:basis-1\/4{flex-basis:25%;}
.plui-xxl\:basis-1\/3{flex-basis:33.333333%;}
.plui-xxl\:basis-2\/5{flex-basis:40%;}
.plui-xxl\:basis-1\/2{flex-basis:50%;}
.plui-xxl\:basis-3\/5{flex-basis:60%;}
.plui-xxl\:basis-2\/3{flex-basis:66.666667%;}
.plui-xxl\:basis-3\/4{flex-basis:75%;}
.plui-xxl\:basis-4\/5{flex-basis:80%;}
.plui-xxl\:basis-5\/6{flex-basis:83.333333%;}
.plui-xxl\:basis-11\/12{flex-basis:91.666667%;}
.plui-xxl\:order-0{order:0;}
.plui-xxl\:order-1{order:1;}
.plui-xxl\:order-2{order:2;}
.plui-xxl\:order-3{order:3;}
.plui-xxl\:order-4{order:4;}
.plui-xxl\:order-5{order:5;}
.plui-xxl\:order-6{order:6;}
.plui-xxl\:order-7{order:7;}
.plui-xxl\:order-8{order:8;}
.plui-xxl\:order-9{order:9;}
.plui-xxl\:order-10{order:10;}
.plui-xxl\:order-11{order:11;}
.plui-xxl\:order-12{order:12;}
.plui-xxl\:order-first{order:-9999;}
.plui-xxl\:order-last{order:9999;}
.plui-xxl\:order-none{order:0;}
.plui-xxl\:justify-start{justify-content:start;}
.plui-xxl\:justify-end{justify-content:end;}
.plui-xxl\:justify-center{justify-content:center;}
.plui-xxl\:justify-between{justify-content:between;}
.plui-xxl\:justify-around{justify-content:around;}
.plui-xxl\:justify-evenly{justify-content:evenly;}
.plui-xxl\:items-start{align-items:start;}
.plui-xxl\:items-end{align-items:end;}
.plui-xxl\:items-center{align-items:center;}
.plui-xxl\:items-baseline{align-items:baseline;}
.plui-xxl\:items-stretch{align-items:stretch;}
.plui-xxl\:content-start{align-content:start;}
.plui-xxl\:content-end{align-content:end;}
.plui-xxl\:content-center{align-content:center;}
.plui-xxl\:content-between{align-content:between;}
.plui-xxl\:content-around{align-content:around;}
.plui-xxl\:content-evenly{align-content:evenly;}
.plui-xxl\:self-auto{align-self:auto;}
.plui-xxl\:self-start{align-self:start;}
.plui-xxl\:self-end{align-self:end;}
.plui-xxl\:self-center{align-self:center;}
.plui-xxl\:self-stretch{align-self:stretch;}
.plui-xxl\:self-baseline{align-self:baseline;}
.plui-xxl\:place-items-center{place-items:center;}
.plui-xxl\:place-items-start{place-items:start;}
.plui-xxl\:place-items-end{place-items:end;}
.plui-xxl\:place-items-stretch{place-items:stretch;}
.plui-xxl\:place-items-baseline{place-items:baseline;}
.plui-xxl\:place-content-center{place-content:center;}
.plui-xxl\:place-content-start{place-content:start;}
.plui-xxl\:place-content-end{place-content:end;}
.plui-xxl\:place-content-stretch{place-content:stretch;}
.plui-xxl\:place-content-between{place-content:between;}
.plui-xxl\:place-content-around{place-content:around;}
.plui-xxl\:place-content-evenly{place-content:evenly;}
.plui-xxl\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));}
.plui-xxl\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr));}
.plui-xxl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.plui-xxl\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr));}
.plui-xxl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.plui-xxl\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr));}
.plui-xxl\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}
.plui-xxl\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr));}
.plui-xxl\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}
.plui-xxl\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr));}
.plui-xxl\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}
.plui-xxl\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr));}
.plui-xxl\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}
.plui-xxl\:grid-rows-7{grid-template-rows:repeat(7, minmax(0, 1fr));}
.plui-xxl\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));}
.plui-xxl\:grid-rows-8{grid-template-rows:repeat(8, minmax(0, 1fr));}
.plui-xxl\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));}
.plui-xxl\:grid-rows-9{grid-template-rows:repeat(9, minmax(0, 1fr));}
.plui-xxl\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));}
.plui-xxl\:grid-rows-10{grid-template-rows:repeat(10, minmax(0, 1fr));}
.plui-xxl\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));}
.plui-xxl\:grid-rows-11{grid-template-rows:repeat(11, minmax(0, 1fr));}
.plui-xxl\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));}
.plui-xxl\:grid-rows-12{grid-template-rows:repeat(12, minmax(0, 1fr));}
.plui-xxl\:grid-cols-none{grid-template-columns:none;}
.plui-xxl\:grid-rows-none{grid-template-rows:none;}
.plui-xxl\:col-span-1{grid-column:span 1 / span 1;}
.plui-xxl\:row-span-1{grid-row:span 1 / span 1;}
.plui-xxl\:col-span-2{grid-column:span 2 / span 2;}
.plui-xxl\:row-span-2{grid-row:span 2 / span 2;}
.plui-xxl\:col-span-3{grid-column:span 3 / span 3;}
.plui-xxl\:row-span-3{grid-row:span 3 / span 3;}
.plui-xxl\:col-span-4{grid-column:span 4 / span 4;}
.plui-xxl\:row-span-4{grid-row:span 4 / span 4;}
.plui-xxl\:col-span-5{grid-column:span 5 / span 5;}
.plui-xxl\:row-span-5{grid-row:span 5 / span 5;}
.plui-xxl\:col-span-6{grid-column:span 6 / span 6;}
.plui-xxl\:row-span-6{grid-row:span 6 / span 6;}
.plui-xxl\:col-span-7{grid-column:span 7 / span 7;}
.plui-xxl\:row-span-7{grid-row:span 7 / span 7;}
.plui-xxl\:col-span-8{grid-column:span 8 / span 8;}
.plui-xxl\:row-span-8{grid-row:span 8 / span 8;}
.plui-xxl\:col-span-9{grid-column:span 9 / span 9;}
.plui-xxl\:row-span-9{grid-row:span 9 / span 9;}
.plui-xxl\:col-span-10{grid-column:span 10 / span 10;}
.plui-xxl\:row-span-10{grid-row:span 10 / span 10;}
.plui-xxl\:col-span-11{grid-column:span 11 / span 11;}
.plui-xxl\:row-span-11{grid-row:span 11 / span 11;}
.plui-xxl\:col-span-12{grid-column:span 12 / span 12;}
.plui-xxl\:row-span-12{grid-row:span 12 / span 12;}
.plui-xxl\:col-span-full{grid-column:1 / -1;}
.plui-xxl\:row-span-full{grid-row:1 / -1;}
.plui-xxl\:col-start-1{grid-column-start:1;}
.plui-xxl\:col-end-1{grid-column-end:1;}
.plui-xxl\:row-start-1{grid-row-start:1;}
.plui-xxl\:row-end-1{grid-row-end:1;}
.plui-xxl\:col-start-2{grid-column-start:2;}
.plui-xxl\:col-end-2{grid-column-end:2;}
.plui-xxl\:row-start-2{grid-row-start:2;}
.plui-xxl\:row-end-2{grid-row-end:2;}
.plui-xxl\:col-start-3{grid-column-start:3;}
.plui-xxl\:col-end-3{grid-column-end:3;}
.plui-xxl\:row-start-3{grid-row-start:3;}
.plui-xxl\:row-end-3{grid-row-end:3;}
.plui-xxl\:col-start-4{grid-column-start:4;}
.plui-xxl\:col-end-4{grid-column-end:4;}
.plui-xxl\:row-start-4{grid-row-start:4;}
.plui-xxl\:row-end-4{grid-row-end:4;}
.plui-xxl\:col-start-5{grid-column-start:5;}
.plui-xxl\:col-end-5{grid-column-end:5;}
.plui-xxl\:row-start-5{grid-row-start:5;}
.plui-xxl\:row-end-5{grid-row-end:5;}
.plui-xxl\:col-start-6{grid-column-start:6;}
.plui-xxl\:col-end-6{grid-column-end:6;}
.plui-xxl\:row-start-6{grid-row-start:6;}
.plui-xxl\:row-end-6{grid-row-end:6;}
.plui-xxl\:col-start-7{grid-column-start:7;}
.plui-xxl\:col-end-7{grid-column-end:7;}
.plui-xxl\:row-start-7{grid-row-start:7;}
.plui-xxl\:row-end-7{grid-row-end:7;}
.plui-xxl\:col-start-8{grid-column-start:8;}
.plui-xxl\:col-end-8{grid-column-end:8;}
.plui-xxl\:row-start-8{grid-row-start:8;}
.plui-xxl\:row-end-8{grid-row-end:8;}
.plui-xxl\:col-start-9{grid-column-start:9;}
.plui-xxl\:col-end-9{grid-column-end:9;}
.plui-xxl\:row-start-9{grid-row-start:9;}
.plui-xxl\:row-end-9{grid-row-end:9;}
.plui-xxl\:col-start-10{grid-column-start:10;}
.plui-xxl\:col-end-10{grid-column-end:10;}
.plui-xxl\:row-start-10{grid-row-start:10;}
.plui-xxl\:row-end-10{grid-row-end:10;}
.plui-xxl\:col-start-11{grid-column-start:11;}
.plui-xxl\:col-end-11{grid-column-end:11;}
.plui-xxl\:row-start-11{grid-row-start:11;}
.plui-xxl\:row-end-11{grid-row-end:11;}
.plui-xxl\:col-start-12{grid-column-start:12;}
.plui-xxl\:col-end-12{grid-column-end:12;}
.plui-xxl\:row-start-12{grid-row-start:12;}
.plui-xxl\:row-end-12{grid-row-end:12;}
.plui-xxl\:col-start-13{grid-column-start:13;}
.plui-xxl\:col-end-13{grid-column-end:13;}
.plui-xxl\:row-start-13{grid-row-start:13;}
.plui-xxl\:row-end-13{grid-row-end:13;}
.plui-xxl\:col-start-auto{grid-column-start:auto;}
.plui-xxl\:col-end-auto{grid-column-end:auto;}
.plui-xxl\:row-start-auto{grid-row-start:auto;}
.plui-xxl\:row-end-auto{grid-row-end:auto;}

/* --- src/css/responsive/borders.css --- */
/* ============================================================
   plui 工具类断点变体 · 边框：宽度、样式、圆角、分隔线、外描边、焦点环
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   写法：.plui-{断点}:{属性}-{取值}，例如 .plui-md:p-4
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-sm\:border{border-width:1px;border-style:solid;}
.plui-sm\:border-0{border-width:0;}
.plui-sm\:border-2{border-width:2px;}
.plui-sm\:border-4{border-width:4px;}
.plui-sm\:border-8{border-width:8px;}
.plui-sm\:border-t{border-top-width:1px;}
.plui-sm\:border-t-0{border-top-width:0;}
.plui-sm\:border-t-2{border-top-width:2px;}
.plui-sm\:border-t-4{border-top-width:4px;}
.plui-sm\:border-t-8{border-top-width:8px;}
.plui-sm\:border-r{border-right-width:1px;}
.plui-sm\:border-r-0{border-right-width:0;}
.plui-sm\:border-r-2{border-right-width:2px;}
.plui-sm\:border-r-4{border-right-width:4px;}
.plui-sm\:border-r-8{border-right-width:8px;}
.plui-sm\:border-b{border-bottom-width:1px;}
.plui-sm\:border-b-0{border-bottom-width:0;}
.plui-sm\:border-b-2{border-bottom-width:2px;}
.plui-sm\:border-b-4{border-bottom-width:4px;}
.plui-sm\:border-b-8{border-bottom-width:8px;}
.plui-sm\:border-l{border-left-width:1px;}
.plui-sm\:border-l-0{border-left-width:0;}
.plui-sm\:border-l-2{border-left-width:2px;}
.plui-sm\:border-l-4{border-left-width:4px;}
.plui-sm\:border-l-8{border-left-width:8px;}
.plui-sm\:border-solid{border-style:solid;}
.plui-sm\:border-dashed{border-style:dashed;}
.plui-sm\:border-dotted{border-style:dotted;}
.plui-sm\:border-double{border-style:double;}
.plui-sm\:border-groove{border-style:groove;}
.plui-sm\:border-ridge{border-style:ridge;}
.plui-sm\:border-inset{border-style:inset;}
.plui-sm\:border-outset{border-style:outset;}
.plui-sm\:border-none{border-style:none;border-width:0;}
.plui-sm\:rounded{border-radius:2px;}
.plui-sm\:rounded-none{border-radius:0;}
.plui-sm\:rounded-sm{border-radius:1px;}
.plui-sm\:rounded-md{border-radius:2px;}
.plui-sm\:rounded-lg{border-radius:2px;}
.plui-sm\:rounded-xl{border-radius:2px;}
.plui-sm\:rounded-2xl{border-radius:2px;}
.plui-sm\:rounded-3xl{border-radius:2px;}
.plui-sm\:rounded-full{border-radius:9999px;}
.plui-sm\:rounded-t{border-top-radius:2px;}
.plui-sm\:rounded-t-none{border-top-radius:0;}
.plui-sm\:rounded-t-sm{border-top-radius:1px;}
.plui-sm\:rounded-t-md{border-top-radius:2px;}
.plui-sm\:rounded-t-lg{border-top-radius:2px;}
.plui-sm\:rounded-t-xl{border-top-radius:2px;}
.plui-sm\:rounded-t-2xl{border-top-radius:2px;}
.plui-sm\:rounded-t-3xl{border-top-radius:2px;}
.plui-sm\:rounded-t-full{border-top-radius:9999px;}
.plui-sm\:rounded-r{border-right-radius:2px;}
.plui-sm\:rounded-r-none{border-right-radius:0;}
.plui-sm\:rounded-r-sm{border-right-radius:1px;}
.plui-sm\:rounded-r-md{border-right-radius:2px;}
.plui-sm\:rounded-r-lg{border-right-radius:2px;}
.plui-sm\:rounded-r-xl{border-right-radius:2px;}
.plui-sm\:rounded-r-2xl{border-right-radius:2px;}
.plui-sm\:rounded-r-3xl{border-right-radius:2px;}
.plui-sm\:rounded-r-full{border-right-radius:9999px;}
.plui-sm\:rounded-b{border-bottom-radius:2px;}
.plui-sm\:rounded-b-none{border-bottom-radius:0;}
.plui-sm\:rounded-b-sm{border-bottom-radius:1px;}
.plui-sm\:rounded-b-md{border-bottom-radius:2px;}
.plui-sm\:rounded-b-lg{border-bottom-radius:2px;}
.plui-sm\:rounded-b-xl{border-bottom-radius:2px;}
.plui-sm\:rounded-b-2xl{border-bottom-radius:2px;}
.plui-sm\:rounded-b-3xl{border-bottom-radius:2px;}
.plui-sm\:rounded-b-full{border-bottom-radius:9999px;}
.plui-sm\:rounded-l{border-left-radius:2px;}
.plui-sm\:rounded-l-none{border-left-radius:0;}
.plui-sm\:rounded-l-sm{border-left-radius:1px;}
.plui-sm\:rounded-l-md{border-left-radius:2px;}
.plui-sm\:rounded-l-lg{border-left-radius:2px;}
.plui-sm\:rounded-l-xl{border-left-radius:2px;}
.plui-sm\:rounded-l-2xl{border-left-radius:2px;}
.plui-sm\:rounded-l-3xl{border-left-radius:2px;}
.plui-sm\:rounded-l-full{border-left-radius:9999px;}
.plui-sm\:divide-0{--plui-divide-width:0;}
.plui-sm\:divide-2{--plui-divide-width:2px;}
.plui-sm\:divide-4{--plui-divide-width:4px;}
.plui-sm\:divide-8{--plui-divide-width:8px;}
.plui-sm\:divide-x{--plui-divide-axis:x;}
.plui-sm\:divide-y{--plui-divide-axis:y;}
.plui-sm\:outline-none{outline:none solid currentColor;}
.plui-sm\:outline-0{outline:0px solid currentColor;}
.plui-sm\:outline-1{outline:1px solid currentColor;}
.plui-sm\:outline-2{outline:2px solid currentColor;}
.plui-sm\:outline-4{outline:4px solid currentColor;}
.plui-sm\:outline-8{outline:8px solid currentColor;}
.plui-sm\:outline-offset-0{outline-offset:0;}
.plui-sm\:outline-offset-1{outline-offset:1px;}
.plui-sm\:outline-offset-2{outline-offset:2px;}
.plui-sm\:ring-0{box-shadow:0 0 0 0 #000;}
.plui-sm\:ring-1{box-shadow:0 0 0 1px currentColor;}
.plui-sm\:ring-2{box-shadow:0 0 0 2px currentColor;}
.plui-sm\:ring-4{box-shadow:0 0 0 4px currentColor;}
.plui-sm\:ring-8{box-shadow:0 0 0 8px currentColor;}

/* ---- md ≥ 768px ---- */
.plui-md\:border{border-width:1px;border-style:solid;}
.plui-md\:border-0{border-width:0;}
.plui-md\:border-2{border-width:2px;}
.plui-md\:border-4{border-width:4px;}
.plui-md\:border-8{border-width:8px;}
.plui-md\:border-t{border-top-width:1px;}
.plui-md\:border-t-0{border-top-width:0;}
.plui-md\:border-t-2{border-top-width:2px;}
.plui-md\:border-t-4{border-top-width:4px;}
.plui-md\:border-t-8{border-top-width:8px;}
.plui-md\:border-r{border-right-width:1px;}
.plui-md\:border-r-0{border-right-width:0;}
.plui-md\:border-r-2{border-right-width:2px;}
.plui-md\:border-r-4{border-right-width:4px;}
.plui-md\:border-r-8{border-right-width:8px;}
.plui-md\:border-b{border-bottom-width:1px;}
.plui-md\:border-b-0{border-bottom-width:0;}
.plui-md\:border-b-2{border-bottom-width:2px;}
.plui-md\:border-b-4{border-bottom-width:4px;}
.plui-md\:border-b-8{border-bottom-width:8px;}
.plui-md\:border-l{border-left-width:1px;}
.plui-md\:border-l-0{border-left-width:0;}
.plui-md\:border-l-2{border-left-width:2px;}
.plui-md\:border-l-4{border-left-width:4px;}
.plui-md\:border-l-8{border-left-width:8px;}
.plui-md\:border-solid{border-style:solid;}
.plui-md\:border-dashed{border-style:dashed;}
.plui-md\:border-dotted{border-style:dotted;}
.plui-md\:border-double{border-style:double;}
.plui-md\:border-groove{border-style:groove;}
.plui-md\:border-ridge{border-style:ridge;}
.plui-md\:border-inset{border-style:inset;}
.plui-md\:border-outset{border-style:outset;}
.plui-md\:border-none{border-style:none;border-width:0;}
.plui-md\:rounded{border-radius:2px;}
.plui-md\:rounded-none{border-radius:0;}
.plui-md\:rounded-sm{border-radius:1px;}
.plui-md\:rounded-md{border-radius:2px;}
.plui-md\:rounded-lg{border-radius:2px;}
.plui-md\:rounded-xl{border-radius:2px;}
.plui-md\:rounded-2xl{border-radius:2px;}
.plui-md\:rounded-3xl{border-radius:2px;}
.plui-md\:rounded-full{border-radius:9999px;}
.plui-md\:rounded-t{border-top-radius:2px;}
.plui-md\:rounded-t-none{border-top-radius:0;}
.plui-md\:rounded-t-sm{border-top-radius:1px;}
.plui-md\:rounded-t-md{border-top-radius:2px;}
.plui-md\:rounded-t-lg{border-top-radius:2px;}
.plui-md\:rounded-t-xl{border-top-radius:2px;}
.plui-md\:rounded-t-2xl{border-top-radius:2px;}
.plui-md\:rounded-t-3xl{border-top-radius:2px;}
.plui-md\:rounded-t-full{border-top-radius:9999px;}
.plui-md\:rounded-r{border-right-radius:2px;}
.plui-md\:rounded-r-none{border-right-radius:0;}
.plui-md\:rounded-r-sm{border-right-radius:1px;}
.plui-md\:rounded-r-md{border-right-radius:2px;}
.plui-md\:rounded-r-lg{border-right-radius:2px;}
.plui-md\:rounded-r-xl{border-right-radius:2px;}
.plui-md\:rounded-r-2xl{border-right-radius:2px;}
.plui-md\:rounded-r-3xl{border-right-radius:2px;}
.plui-md\:rounded-r-full{border-right-radius:9999px;}
.plui-md\:rounded-b{border-bottom-radius:2px;}
.plui-md\:rounded-b-none{border-bottom-radius:0;}
.plui-md\:rounded-b-sm{border-bottom-radius:1px;}
.plui-md\:rounded-b-md{border-bottom-radius:2px;}
.plui-md\:rounded-b-lg{border-bottom-radius:2px;}
.plui-md\:rounded-b-xl{border-bottom-radius:2px;}
.plui-md\:rounded-b-2xl{border-bottom-radius:2px;}
.plui-md\:rounded-b-3xl{border-bottom-radius:2px;}
.plui-md\:rounded-b-full{border-bottom-radius:9999px;}
.plui-md\:rounded-l{border-left-radius:2px;}
.plui-md\:rounded-l-none{border-left-radius:0;}
.plui-md\:rounded-l-sm{border-left-radius:1px;}
.plui-md\:rounded-l-md{border-left-radius:2px;}
.plui-md\:rounded-l-lg{border-left-radius:2px;}
.plui-md\:rounded-l-xl{border-left-radius:2px;}
.plui-md\:rounded-l-2xl{border-left-radius:2px;}
.plui-md\:rounded-l-3xl{border-left-radius:2px;}
.plui-md\:rounded-l-full{border-left-radius:9999px;}
.plui-md\:divide-0{--plui-divide-width:0;}
.plui-md\:divide-2{--plui-divide-width:2px;}
.plui-md\:divide-4{--plui-divide-width:4px;}
.plui-md\:divide-8{--plui-divide-width:8px;}
.plui-md\:divide-x{--plui-divide-axis:x;}
.plui-md\:divide-y{--plui-divide-axis:y;}
.plui-md\:outline-none{outline:none solid currentColor;}
.plui-md\:outline-0{outline:0px solid currentColor;}
.plui-md\:outline-1{outline:1px solid currentColor;}
.plui-md\:outline-2{outline:2px solid currentColor;}
.plui-md\:outline-4{outline:4px solid currentColor;}
.plui-md\:outline-8{outline:8px solid currentColor;}
.plui-md\:outline-offset-0{outline-offset:0;}
.plui-md\:outline-offset-1{outline-offset:1px;}
.plui-md\:outline-offset-2{outline-offset:2px;}
.plui-md\:ring-0{box-shadow:0 0 0 0 #000;}
.plui-md\:ring-1{box-shadow:0 0 0 1px currentColor;}
.plui-md\:ring-2{box-shadow:0 0 0 2px currentColor;}
.plui-md\:ring-4{box-shadow:0 0 0 4px currentColor;}
.plui-md\:ring-8{box-shadow:0 0 0 8px currentColor;}

/* ---- lg ≥ 992px ---- */
.plui-lg\:border{border-width:1px;border-style:solid;}
.plui-lg\:border-0{border-width:0;}
.plui-lg\:border-2{border-width:2px;}
.plui-lg\:border-4{border-width:4px;}
.plui-lg\:border-8{border-width:8px;}
.plui-lg\:border-t{border-top-width:1px;}
.plui-lg\:border-t-0{border-top-width:0;}
.plui-lg\:border-t-2{border-top-width:2px;}
.plui-lg\:border-t-4{border-top-width:4px;}
.plui-lg\:border-t-8{border-top-width:8px;}
.plui-lg\:border-r{border-right-width:1px;}
.plui-lg\:border-r-0{border-right-width:0;}
.plui-lg\:border-r-2{border-right-width:2px;}
.plui-lg\:border-r-4{border-right-width:4px;}
.plui-lg\:border-r-8{border-right-width:8px;}
.plui-lg\:border-b{border-bottom-width:1px;}
.plui-lg\:border-b-0{border-bottom-width:0;}
.plui-lg\:border-b-2{border-bottom-width:2px;}
.plui-lg\:border-b-4{border-bottom-width:4px;}
.plui-lg\:border-b-8{border-bottom-width:8px;}
.plui-lg\:border-l{border-left-width:1px;}
.plui-lg\:border-l-0{border-left-width:0;}
.plui-lg\:border-l-2{border-left-width:2px;}
.plui-lg\:border-l-4{border-left-width:4px;}
.plui-lg\:border-l-8{border-left-width:8px;}
.plui-lg\:border-solid{border-style:solid;}
.plui-lg\:border-dashed{border-style:dashed;}
.plui-lg\:border-dotted{border-style:dotted;}
.plui-lg\:border-double{border-style:double;}
.plui-lg\:border-groove{border-style:groove;}
.plui-lg\:border-ridge{border-style:ridge;}
.plui-lg\:border-inset{border-style:inset;}
.plui-lg\:border-outset{border-style:outset;}
.plui-lg\:border-none{border-style:none;border-width:0;}
.plui-lg\:rounded{border-radius:2px;}
.plui-lg\:rounded-none{border-radius:0;}
.plui-lg\:rounded-sm{border-radius:1px;}
.plui-lg\:rounded-md{border-radius:2px;}
.plui-lg\:rounded-lg{border-radius:2px;}
.plui-lg\:rounded-xl{border-radius:2px;}
.plui-lg\:rounded-2xl{border-radius:2px;}
.plui-lg\:rounded-3xl{border-radius:2px;}
.plui-lg\:rounded-full{border-radius:9999px;}
.plui-lg\:rounded-t{border-top-radius:2px;}
.plui-lg\:rounded-t-none{border-top-radius:0;}
.plui-lg\:rounded-t-sm{border-top-radius:1px;}
.plui-lg\:rounded-t-md{border-top-radius:2px;}
.plui-lg\:rounded-t-lg{border-top-radius:2px;}
.plui-lg\:rounded-t-xl{border-top-radius:2px;}
.plui-lg\:rounded-t-2xl{border-top-radius:2px;}
.plui-lg\:rounded-t-3xl{border-top-radius:2px;}
.plui-lg\:rounded-t-full{border-top-radius:9999px;}
.plui-lg\:rounded-r{border-right-radius:2px;}
.plui-lg\:rounded-r-none{border-right-radius:0;}
.plui-lg\:rounded-r-sm{border-right-radius:1px;}
.plui-lg\:rounded-r-md{border-right-radius:2px;}
.plui-lg\:rounded-r-lg{border-right-radius:2px;}
.plui-lg\:rounded-r-xl{border-right-radius:2px;}
.plui-lg\:rounded-r-2xl{border-right-radius:2px;}
.plui-lg\:rounded-r-3xl{border-right-radius:2px;}
.plui-lg\:rounded-r-full{border-right-radius:9999px;}
.plui-lg\:rounded-b{border-bottom-radius:2px;}
.plui-lg\:rounded-b-none{border-bottom-radius:0;}
.plui-lg\:rounded-b-sm{border-bottom-radius:1px;}
.plui-lg\:rounded-b-md{border-bottom-radius:2px;}
.plui-lg\:rounded-b-lg{border-bottom-radius:2px;}
.plui-lg\:rounded-b-xl{border-bottom-radius:2px;}
.plui-lg\:rounded-b-2xl{border-bottom-radius:2px;}
.plui-lg\:rounded-b-3xl{border-bottom-radius:2px;}
.plui-lg\:rounded-b-full{border-bottom-radius:9999px;}
.plui-lg\:rounded-l{border-left-radius:2px;}
.plui-lg\:rounded-l-none{border-left-radius:0;}
.plui-lg\:rounded-l-sm{border-left-radius:1px;}
.plui-lg\:rounded-l-md{border-left-radius:2px;}
.plui-lg\:rounded-l-lg{border-left-radius:2px;}
.plui-lg\:rounded-l-xl{border-left-radius:2px;}
.plui-lg\:rounded-l-2xl{border-left-radius:2px;}
.plui-lg\:rounded-l-3xl{border-left-radius:2px;}
.plui-lg\:rounded-l-full{border-left-radius:9999px;}
.plui-lg\:divide-0{--plui-divide-width:0;}
.plui-lg\:divide-2{--plui-divide-width:2px;}
.plui-lg\:divide-4{--plui-divide-width:4px;}
.plui-lg\:divide-8{--plui-divide-width:8px;}
.plui-lg\:divide-x{--plui-divide-axis:x;}
.plui-lg\:divide-y{--plui-divide-axis:y;}
.plui-lg\:outline-none{outline:none solid currentColor;}
.plui-lg\:outline-0{outline:0px solid currentColor;}
.plui-lg\:outline-1{outline:1px solid currentColor;}
.plui-lg\:outline-2{outline:2px solid currentColor;}
.plui-lg\:outline-4{outline:4px solid currentColor;}
.plui-lg\:outline-8{outline:8px solid currentColor;}
.plui-lg\:outline-offset-0{outline-offset:0;}
.plui-lg\:outline-offset-1{outline-offset:1px;}
.plui-lg\:outline-offset-2{outline-offset:2px;}
.plui-lg\:ring-0{box-shadow:0 0 0 0 #000;}
.plui-lg\:ring-1{box-shadow:0 0 0 1px currentColor;}
.plui-lg\:ring-2{box-shadow:0 0 0 2px currentColor;}
.plui-lg\:ring-4{box-shadow:0 0 0 4px currentColor;}
.plui-lg\:ring-8{box-shadow:0 0 0 8px currentColor;}

/* ---- xl ≥ 1200px ---- */
.plui-xl\:border{border-width:1px;border-style:solid;}
.plui-xl\:border-0{border-width:0;}
.plui-xl\:border-2{border-width:2px;}
.plui-xl\:border-4{border-width:4px;}
.plui-xl\:border-8{border-width:8px;}
.plui-xl\:border-t{border-top-width:1px;}
.plui-xl\:border-t-0{border-top-width:0;}
.plui-xl\:border-t-2{border-top-width:2px;}
.plui-xl\:border-t-4{border-top-width:4px;}
.plui-xl\:border-t-8{border-top-width:8px;}
.plui-xl\:border-r{border-right-width:1px;}
.plui-xl\:border-r-0{border-right-width:0;}
.plui-xl\:border-r-2{border-right-width:2px;}
.plui-xl\:border-r-4{border-right-width:4px;}
.plui-xl\:border-r-8{border-right-width:8px;}
.plui-xl\:border-b{border-bottom-width:1px;}
.plui-xl\:border-b-0{border-bottom-width:0;}
.plui-xl\:border-b-2{border-bottom-width:2px;}
.plui-xl\:border-b-4{border-bottom-width:4px;}
.plui-xl\:border-b-8{border-bottom-width:8px;}
.plui-xl\:border-l{border-left-width:1px;}
.plui-xl\:border-l-0{border-left-width:0;}
.plui-xl\:border-l-2{border-left-width:2px;}
.plui-xl\:border-l-4{border-left-width:4px;}
.plui-xl\:border-l-8{border-left-width:8px;}
.plui-xl\:border-solid{border-style:solid;}
.plui-xl\:border-dashed{border-style:dashed;}
.plui-xl\:border-dotted{border-style:dotted;}
.plui-xl\:border-double{border-style:double;}
.plui-xl\:border-groove{border-style:groove;}
.plui-xl\:border-ridge{border-style:ridge;}
.plui-xl\:border-inset{border-style:inset;}
.plui-xl\:border-outset{border-style:outset;}
.plui-xl\:border-none{border-style:none;border-width:0;}
.plui-xl\:rounded{border-radius:2px;}
.plui-xl\:rounded-none{border-radius:0;}
.plui-xl\:rounded-sm{border-radius:1px;}
.plui-xl\:rounded-md{border-radius:2px;}
.plui-xl\:rounded-lg{border-radius:2px;}
.plui-xl\:rounded-xl{border-radius:2px;}
.plui-xl\:rounded-2xl{border-radius:2px;}
.plui-xl\:rounded-3xl{border-radius:2px;}
.plui-xl\:rounded-full{border-radius:9999px;}
.plui-xl\:rounded-t{border-top-radius:2px;}
.plui-xl\:rounded-t-none{border-top-radius:0;}
.plui-xl\:rounded-t-sm{border-top-radius:1px;}
.plui-xl\:rounded-t-md{border-top-radius:2px;}
.plui-xl\:rounded-t-lg{border-top-radius:2px;}
.plui-xl\:rounded-t-xl{border-top-radius:2px;}
.plui-xl\:rounded-t-2xl{border-top-radius:2px;}
.plui-xl\:rounded-t-3xl{border-top-radius:2px;}
.plui-xl\:rounded-t-full{border-top-radius:9999px;}
.plui-xl\:rounded-r{border-right-radius:2px;}
.plui-xl\:rounded-r-none{border-right-radius:0;}
.plui-xl\:rounded-r-sm{border-right-radius:1px;}
.plui-xl\:rounded-r-md{border-right-radius:2px;}
.plui-xl\:rounded-r-lg{border-right-radius:2px;}
.plui-xl\:rounded-r-xl{border-right-radius:2px;}
.plui-xl\:rounded-r-2xl{border-right-radius:2px;}
.plui-xl\:rounded-r-3xl{border-right-radius:2px;}
.plui-xl\:rounded-r-full{border-right-radius:9999px;}
.plui-xl\:rounded-b{border-bottom-radius:2px;}
.plui-xl\:rounded-b-none{border-bottom-radius:0;}
.plui-xl\:rounded-b-sm{border-bottom-radius:1px;}
.plui-xl\:rounded-b-md{border-bottom-radius:2px;}
.plui-xl\:rounded-b-lg{border-bottom-radius:2px;}
.plui-xl\:rounded-b-xl{border-bottom-radius:2px;}
.plui-xl\:rounded-b-2xl{border-bottom-radius:2px;}
.plui-xl\:rounded-b-3xl{border-bottom-radius:2px;}
.plui-xl\:rounded-b-full{border-bottom-radius:9999px;}
.plui-xl\:rounded-l{border-left-radius:2px;}
.plui-xl\:rounded-l-none{border-left-radius:0;}
.plui-xl\:rounded-l-sm{border-left-radius:1px;}
.plui-xl\:rounded-l-md{border-left-radius:2px;}
.plui-xl\:rounded-l-lg{border-left-radius:2px;}
.plui-xl\:rounded-l-xl{border-left-radius:2px;}
.plui-xl\:rounded-l-2xl{border-left-radius:2px;}
.plui-xl\:rounded-l-3xl{border-left-radius:2px;}
.plui-xl\:rounded-l-full{border-left-radius:9999px;}
.plui-xl\:divide-0{--plui-divide-width:0;}
.plui-xl\:divide-2{--plui-divide-width:2px;}
.plui-xl\:divide-4{--plui-divide-width:4px;}
.plui-xl\:divide-8{--plui-divide-width:8px;}
.plui-xl\:divide-x{--plui-divide-axis:x;}
.plui-xl\:divide-y{--plui-divide-axis:y;}
.plui-xl\:outline-none{outline:none solid currentColor;}
.plui-xl\:outline-0{outline:0px solid currentColor;}
.plui-xl\:outline-1{outline:1px solid currentColor;}
.plui-xl\:outline-2{outline:2px solid currentColor;}
.plui-xl\:outline-4{outline:4px solid currentColor;}
.plui-xl\:outline-8{outline:8px solid currentColor;}
.plui-xl\:outline-offset-0{outline-offset:0;}
.plui-xl\:outline-offset-1{outline-offset:1px;}
.plui-xl\:outline-offset-2{outline-offset:2px;}
.plui-xl\:ring-0{box-shadow:0 0 0 0 #000;}
.plui-xl\:ring-1{box-shadow:0 0 0 1px currentColor;}
.plui-xl\:ring-2{box-shadow:0 0 0 2px currentColor;}
.plui-xl\:ring-4{box-shadow:0 0 0 4px currentColor;}
.plui-xl\:ring-8{box-shadow:0 0 0 8px currentColor;}

/* ---- xxl ≥ 1400px ---- */
.plui-xxl\:border{border-width:1px;border-style:solid;}
.plui-xxl\:border-0{border-width:0;}
.plui-xxl\:border-2{border-width:2px;}
.plui-xxl\:border-4{border-width:4px;}
.plui-xxl\:border-8{border-width:8px;}
.plui-xxl\:border-t{border-top-width:1px;}
.plui-xxl\:border-t-0{border-top-width:0;}
.plui-xxl\:border-t-2{border-top-width:2px;}
.plui-xxl\:border-t-4{border-top-width:4px;}
.plui-xxl\:border-t-8{border-top-width:8px;}
.plui-xxl\:border-r{border-right-width:1px;}
.plui-xxl\:border-r-0{border-right-width:0;}
.plui-xxl\:border-r-2{border-right-width:2px;}
.plui-xxl\:border-r-4{border-right-width:4px;}
.plui-xxl\:border-r-8{border-right-width:8px;}
.plui-xxl\:border-b{border-bottom-width:1px;}
.plui-xxl\:border-b-0{border-bottom-width:0;}
.plui-xxl\:border-b-2{border-bottom-width:2px;}
.plui-xxl\:border-b-4{border-bottom-width:4px;}
.plui-xxl\:border-b-8{border-bottom-width:8px;}
.plui-xxl\:border-l{border-left-width:1px;}
.plui-xxl\:border-l-0{border-left-width:0;}
.plui-xxl\:border-l-2{border-left-width:2px;}
.plui-xxl\:border-l-4{border-left-width:4px;}
.plui-xxl\:border-l-8{border-left-width:8px;}
.plui-xxl\:border-solid{border-style:solid;}
.plui-xxl\:border-dashed{border-style:dashed;}
.plui-xxl\:border-dotted{border-style:dotted;}
.plui-xxl\:border-double{border-style:double;}
.plui-xxl\:border-groove{border-style:groove;}
.plui-xxl\:border-ridge{border-style:ridge;}
.plui-xxl\:border-inset{border-style:inset;}
.plui-xxl\:border-outset{border-style:outset;}
.plui-xxl\:border-none{border-style:none;border-width:0;}
.plui-xxl\:rounded{border-radius:2px;}
.plui-xxl\:rounded-none{border-radius:0;}
.plui-xxl\:rounded-sm{border-radius:1px;}
.plui-xxl\:rounded-md{border-radius:2px;}
.plui-xxl\:rounded-lg{border-radius:2px;}
.plui-xxl\:rounded-xl{border-radius:2px;}
.plui-xxl\:rounded-2xl{border-radius:2px;}
.plui-xxl\:rounded-3xl{border-radius:2px;}
.plui-xxl\:rounded-full{border-radius:9999px;}
.plui-xxl\:rounded-t{border-top-radius:2px;}
.plui-xxl\:rounded-t-none{border-top-radius:0;}
.plui-xxl\:rounded-t-sm{border-top-radius:1px;}
.plui-xxl\:rounded-t-md{border-top-radius:2px;}
.plui-xxl\:rounded-t-lg{border-top-radius:2px;}
.plui-xxl\:rounded-t-xl{border-top-radius:2px;}
.plui-xxl\:rounded-t-2xl{border-top-radius:2px;}
.plui-xxl\:rounded-t-3xl{border-top-radius:2px;}
.plui-xxl\:rounded-t-full{border-top-radius:9999px;}
.plui-xxl\:rounded-r{border-right-radius:2px;}
.plui-xxl\:rounded-r-none{border-right-radius:0;}
.plui-xxl\:rounded-r-sm{border-right-radius:1px;}
.plui-xxl\:rounded-r-md{border-right-radius:2px;}
.plui-xxl\:rounded-r-lg{border-right-radius:2px;}
.plui-xxl\:rounded-r-xl{border-right-radius:2px;}
.plui-xxl\:rounded-r-2xl{border-right-radius:2px;}
.plui-xxl\:rounded-r-3xl{border-right-radius:2px;}
.plui-xxl\:rounded-r-full{border-right-radius:9999px;}
.plui-xxl\:rounded-b{border-bottom-radius:2px;}
.plui-xxl\:rounded-b-none{border-bottom-radius:0;}
.plui-xxl\:rounded-b-sm{border-bottom-radius:1px;}
.plui-xxl\:rounded-b-md{border-bottom-radius:2px;}
.plui-xxl\:rounded-b-lg{border-bottom-radius:2px;}
.plui-xxl\:rounded-b-xl{border-bottom-radius:2px;}
.plui-xxl\:rounded-b-2xl{border-bottom-radius:2px;}
.plui-xxl\:rounded-b-3xl{border-bottom-radius:2px;}
.plui-xxl\:rounded-b-full{border-bottom-radius:9999px;}
.plui-xxl\:rounded-l{border-left-radius:2px;}
.plui-xxl\:rounded-l-none{border-left-radius:0;}
.plui-xxl\:rounded-l-sm{border-left-radius:1px;}
.plui-xxl\:rounded-l-md{border-left-radius:2px;}
.plui-xxl\:rounded-l-lg{border-left-radius:2px;}
.plui-xxl\:rounded-l-xl{border-left-radius:2px;}
.plui-xxl\:rounded-l-2xl{border-left-radius:2px;}
.plui-xxl\:rounded-l-3xl{border-left-radius:2px;}
.plui-xxl\:rounded-l-full{border-left-radius:9999px;}
.plui-xxl\:divide-0{--plui-divide-width:0;}
.plui-xxl\:divide-2{--plui-divide-width:2px;}
.plui-xxl\:divide-4{--plui-divide-width:4px;}
.plui-xxl\:divide-8{--plui-divide-width:8px;}
.plui-xxl\:divide-x{--plui-divide-axis:x;}
.plui-xxl\:divide-y{--plui-divide-axis:y;}
.plui-xxl\:outline-none{outline:none solid currentColor;}
.plui-xxl\:outline-0{outline:0px solid currentColor;}
.plui-xxl\:outline-1{outline:1px solid currentColor;}
.plui-xxl\:outline-2{outline:2px solid currentColor;}
.plui-xxl\:outline-4{outline:4px solid currentColor;}
.plui-xxl\:outline-8{outline:8px solid currentColor;}
.plui-xxl\:outline-offset-0{outline-offset:0;}
.plui-xxl\:outline-offset-1{outline-offset:1px;}
.plui-xxl\:outline-offset-2{outline-offset:2px;}
.plui-xxl\:ring-0{box-shadow:0 0 0 0 #000;}
.plui-xxl\:ring-1{box-shadow:0 0 0 1px currentColor;}
.plui-xxl\:ring-2{box-shadow:0 0 0 2px currentColor;}
.plui-xxl\:ring-4{box-shadow:0 0 0 4px currentColor;}
.plui-xxl\:ring-8{box-shadow:0 0 0 8px currentColor;}

/* --- src/css/responsive/effects.css --- */
/* ============================================================
   plui 工具类断点变体 · 效果：透明度、阴影、过渡、时长、缓动、延迟、动画
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   写法：.plui-{断点}:{属性}-{取值}，例如 .plui-md:p-4
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-sm\:opacity-0{opacity:0;}
.plui-sm\:opacity-5{opacity:0.05;}
.plui-sm\:opacity-10{opacity:0.1;}
.plui-sm\:opacity-15{opacity:0.15;}
.plui-sm\:opacity-20{opacity:0.2;}
.plui-sm\:opacity-25{opacity:0.25;}
.plui-sm\:opacity-30{opacity:0.3;}
.plui-sm\:opacity-40{opacity:0.4;}
.plui-sm\:opacity-50{opacity:0.5;}
.plui-sm\:opacity-60{opacity:0.6;}
.plui-sm\:opacity-70{opacity:0.7;}
.plui-sm\:opacity-75{opacity:0.75;}
.plui-sm\:opacity-80{opacity:0.8;}
.plui-sm\:opacity-90{opacity:0.9;}
.plui-sm\:opacity-95{opacity:0.95;}
.plui-sm\:opacity-100{opacity:1;}
.plui-sm\:shadow-none{box-shadow:none;}
.plui-sm\:shadow-sm{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.12);}
.plui-sm\:shadow-md{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-sm\:shadow-lg{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.3);}
.plui-sm\:shadow-xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.4);}
.plui-sm\:shadow-2xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.55);}
.plui-sm\:shadow-inner{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-sm\:transition{transition-property:color,background-color,border-color,opacity,box-shadow,transform;}
.plui-sm\:transition-none{transition-property:none;}
.plui-sm\:transition-all{transition-property:all;}
.plui-sm\:transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}
.plui-sm\:transition-opacity{transition-property:opacity;}
.plui-sm\:transition-shadow{transition-property:box-shadow;}
.plui-sm\:transition-transform{transition-property:transform;}
.plui-sm\:duration-0{transition-duration:0s;}
.plui-sm\:duration-75{transition-duration:75ms;}
.plui-sm\:duration-100{transition-duration:100ms;}
.plui-sm\:duration-150{transition-duration:150ms;}
.plui-sm\:duration-200{transition-duration:200ms;}
.plui-sm\:duration-300{transition-duration:300ms;}
.plui-sm\:duration-500{transition-duration:500ms;}
.plui-sm\:duration-700{transition-duration:700ms;}
.plui-sm\:duration-1000{transition-duration:1000ms;}
.plui-sm\:ease-linear{transition-timing-function:linear;}
.plui-sm\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}
.plui-sm\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}
.plui-sm\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
.plui-sm\:delay-0{transition-delay:0s;}
.plui-sm\:delay-75{transition-delay:75ms;}
.plui-sm\:delay-100{transition-delay:100ms;}
.plui-sm\:delay-150{transition-delay:150ms;}
.plui-sm\:delay-200{transition-delay:200ms;}
.plui-sm\:delay-300{transition-delay:300ms;}
.plui-sm\:delay-500{transition-delay:500ms;}
.plui-sm\:delay-700{transition-delay:700ms;}
.plui-sm\:delay-1000{transition-delay:1000ms;}
.plui-sm\:animate-spin{animation:plui-spin 1s linear infinite;}
.plui-sm\:animate-ping{animation:plui-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;}
.plui-sm\:animate-pulse{animation:plui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;}
.plui-sm\:animate-bounce{animation:plui-bounce 1s infinite;}
.plui-sm\:animate-none{animation:none;}

/* ---- md ≥ 768px ---- */
.plui-md\:opacity-0{opacity:0;}
.plui-md\:opacity-5{opacity:0.05;}
.plui-md\:opacity-10{opacity:0.1;}
.plui-md\:opacity-15{opacity:0.15;}
.plui-md\:opacity-20{opacity:0.2;}
.plui-md\:opacity-25{opacity:0.25;}
.plui-md\:opacity-30{opacity:0.3;}
.plui-md\:opacity-40{opacity:0.4;}
.plui-md\:opacity-50{opacity:0.5;}
.plui-md\:opacity-60{opacity:0.6;}
.plui-md\:opacity-70{opacity:0.7;}
.plui-md\:opacity-75{opacity:0.75;}
.plui-md\:opacity-80{opacity:0.8;}
.plui-md\:opacity-90{opacity:0.9;}
.plui-md\:opacity-95{opacity:0.95;}
.plui-md\:opacity-100{opacity:1;}
.plui-md\:shadow-none{box-shadow:none;}
.plui-md\:shadow-sm{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.12);}
.plui-md\:shadow-md{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-md\:shadow-lg{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.3);}
.plui-md\:shadow-xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.4);}
.plui-md\:shadow-2xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.55);}
.plui-md\:shadow-inner{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-md\:transition{transition-property:color,background-color,border-color,opacity,box-shadow,transform;}
.plui-md\:transition-none{transition-property:none;}
.plui-md\:transition-all{transition-property:all;}
.plui-md\:transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}
.plui-md\:transition-opacity{transition-property:opacity;}
.plui-md\:transition-shadow{transition-property:box-shadow;}
.plui-md\:transition-transform{transition-property:transform;}
.plui-md\:duration-0{transition-duration:0s;}
.plui-md\:duration-75{transition-duration:75ms;}
.plui-md\:duration-100{transition-duration:100ms;}
.plui-md\:duration-150{transition-duration:150ms;}
.plui-md\:duration-200{transition-duration:200ms;}
.plui-md\:duration-300{transition-duration:300ms;}
.plui-md\:duration-500{transition-duration:500ms;}
.plui-md\:duration-700{transition-duration:700ms;}
.plui-md\:duration-1000{transition-duration:1000ms;}
.plui-md\:ease-linear{transition-timing-function:linear;}
.plui-md\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}
.plui-md\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}
.plui-md\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
.plui-md\:delay-0{transition-delay:0s;}
.plui-md\:delay-75{transition-delay:75ms;}
.plui-md\:delay-100{transition-delay:100ms;}
.plui-md\:delay-150{transition-delay:150ms;}
.plui-md\:delay-200{transition-delay:200ms;}
.plui-md\:delay-300{transition-delay:300ms;}
.plui-md\:delay-500{transition-delay:500ms;}
.plui-md\:delay-700{transition-delay:700ms;}
.plui-md\:delay-1000{transition-delay:1000ms;}
.plui-md\:animate-spin{animation:plui-spin 1s linear infinite;}
.plui-md\:animate-ping{animation:plui-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;}
.plui-md\:animate-pulse{animation:plui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;}
.plui-md\:animate-bounce{animation:plui-bounce 1s infinite;}
.plui-md\:animate-none{animation:none;}

/* ---- lg ≥ 992px ---- */
.plui-lg\:opacity-0{opacity:0;}
.plui-lg\:opacity-5{opacity:0.05;}
.plui-lg\:opacity-10{opacity:0.1;}
.plui-lg\:opacity-15{opacity:0.15;}
.plui-lg\:opacity-20{opacity:0.2;}
.plui-lg\:opacity-25{opacity:0.25;}
.plui-lg\:opacity-30{opacity:0.3;}
.plui-lg\:opacity-40{opacity:0.4;}
.plui-lg\:opacity-50{opacity:0.5;}
.plui-lg\:opacity-60{opacity:0.6;}
.plui-lg\:opacity-70{opacity:0.7;}
.plui-lg\:opacity-75{opacity:0.75;}
.plui-lg\:opacity-80{opacity:0.8;}
.plui-lg\:opacity-90{opacity:0.9;}
.plui-lg\:opacity-95{opacity:0.95;}
.plui-lg\:opacity-100{opacity:1;}
.plui-lg\:shadow-none{box-shadow:none;}
.plui-lg\:shadow-sm{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.12);}
.plui-lg\:shadow-md{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-lg\:shadow-lg{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.3);}
.plui-lg\:shadow-xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.4);}
.plui-lg\:shadow-2xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.55);}
.plui-lg\:shadow-inner{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-lg\:transition{transition-property:color,background-color,border-color,opacity,box-shadow,transform;}
.plui-lg\:transition-none{transition-property:none;}
.plui-lg\:transition-all{transition-property:all;}
.plui-lg\:transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}
.plui-lg\:transition-opacity{transition-property:opacity;}
.plui-lg\:transition-shadow{transition-property:box-shadow;}
.plui-lg\:transition-transform{transition-property:transform;}
.plui-lg\:duration-0{transition-duration:0s;}
.plui-lg\:duration-75{transition-duration:75ms;}
.plui-lg\:duration-100{transition-duration:100ms;}
.plui-lg\:duration-150{transition-duration:150ms;}
.plui-lg\:duration-200{transition-duration:200ms;}
.plui-lg\:duration-300{transition-duration:300ms;}
.plui-lg\:duration-500{transition-duration:500ms;}
.plui-lg\:duration-700{transition-duration:700ms;}
.plui-lg\:duration-1000{transition-duration:1000ms;}
.plui-lg\:ease-linear{transition-timing-function:linear;}
.plui-lg\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}
.plui-lg\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}
.plui-lg\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
.plui-lg\:delay-0{transition-delay:0s;}
.plui-lg\:delay-75{transition-delay:75ms;}
.plui-lg\:delay-100{transition-delay:100ms;}
.plui-lg\:delay-150{transition-delay:150ms;}
.plui-lg\:delay-200{transition-delay:200ms;}
.plui-lg\:delay-300{transition-delay:300ms;}
.plui-lg\:delay-500{transition-delay:500ms;}
.plui-lg\:delay-700{transition-delay:700ms;}
.plui-lg\:delay-1000{transition-delay:1000ms;}
.plui-lg\:animate-spin{animation:plui-spin 1s linear infinite;}
.plui-lg\:animate-ping{animation:plui-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;}
.plui-lg\:animate-pulse{animation:plui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;}
.plui-lg\:animate-bounce{animation:plui-bounce 1s infinite;}
.plui-lg\:animate-none{animation:none;}

/* ---- xl ≥ 1200px ---- */
.plui-xl\:opacity-0{opacity:0;}
.plui-xl\:opacity-5{opacity:0.05;}
.plui-xl\:opacity-10{opacity:0.1;}
.plui-xl\:opacity-15{opacity:0.15;}
.plui-xl\:opacity-20{opacity:0.2;}
.plui-xl\:opacity-25{opacity:0.25;}
.plui-xl\:opacity-30{opacity:0.3;}
.plui-xl\:opacity-40{opacity:0.4;}
.plui-xl\:opacity-50{opacity:0.5;}
.plui-xl\:opacity-60{opacity:0.6;}
.plui-xl\:opacity-70{opacity:0.7;}
.plui-xl\:opacity-75{opacity:0.75;}
.plui-xl\:opacity-80{opacity:0.8;}
.plui-xl\:opacity-90{opacity:0.9;}
.plui-xl\:opacity-95{opacity:0.95;}
.plui-xl\:opacity-100{opacity:1;}
.plui-xl\:shadow-none{box-shadow:none;}
.plui-xl\:shadow-sm{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.12);}
.plui-xl\:shadow-md{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-xl\:shadow-lg{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.3);}
.plui-xl\:shadow-xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.4);}
.plui-xl\:shadow-2xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.55);}
.plui-xl\:shadow-inner{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-xl\:transition{transition-property:color,background-color,border-color,opacity,box-shadow,transform;}
.plui-xl\:transition-none{transition-property:none;}
.plui-xl\:transition-all{transition-property:all;}
.plui-xl\:transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}
.plui-xl\:transition-opacity{transition-property:opacity;}
.plui-xl\:transition-shadow{transition-property:box-shadow;}
.plui-xl\:transition-transform{transition-property:transform;}
.plui-xl\:duration-0{transition-duration:0s;}
.plui-xl\:duration-75{transition-duration:75ms;}
.plui-xl\:duration-100{transition-duration:100ms;}
.plui-xl\:duration-150{transition-duration:150ms;}
.plui-xl\:duration-200{transition-duration:200ms;}
.plui-xl\:duration-300{transition-duration:300ms;}
.plui-xl\:duration-500{transition-duration:500ms;}
.plui-xl\:duration-700{transition-duration:700ms;}
.plui-xl\:duration-1000{transition-duration:1000ms;}
.plui-xl\:ease-linear{transition-timing-function:linear;}
.plui-xl\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}
.plui-xl\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}
.plui-xl\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
.plui-xl\:delay-0{transition-delay:0s;}
.plui-xl\:delay-75{transition-delay:75ms;}
.plui-xl\:delay-100{transition-delay:100ms;}
.plui-xl\:delay-150{transition-delay:150ms;}
.plui-xl\:delay-200{transition-delay:200ms;}
.plui-xl\:delay-300{transition-delay:300ms;}
.plui-xl\:delay-500{transition-delay:500ms;}
.plui-xl\:delay-700{transition-delay:700ms;}
.plui-xl\:delay-1000{transition-delay:1000ms;}
.plui-xl\:animate-spin{animation:plui-spin 1s linear infinite;}
.plui-xl\:animate-ping{animation:plui-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;}
.plui-xl\:animate-pulse{animation:plui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;}
.plui-xl\:animate-bounce{animation:plui-bounce 1s infinite;}
.plui-xl\:animate-none{animation:none;}

/* ---- xxl ≥ 1400px ---- */
.plui-xxl\:opacity-0{opacity:0;}
.plui-xxl\:opacity-5{opacity:0.05;}
.plui-xxl\:opacity-10{opacity:0.1;}
.plui-xxl\:opacity-15{opacity:0.15;}
.plui-xxl\:opacity-20{opacity:0.2;}
.plui-xxl\:opacity-25{opacity:0.25;}
.plui-xxl\:opacity-30{opacity:0.3;}
.plui-xxl\:opacity-40{opacity:0.4;}
.plui-xxl\:opacity-50{opacity:0.5;}
.plui-xxl\:opacity-60{opacity:0.6;}
.plui-xxl\:opacity-70{opacity:0.7;}
.plui-xxl\:opacity-75{opacity:0.75;}
.plui-xxl\:opacity-80{opacity:0.8;}
.plui-xxl\:opacity-90{opacity:0.9;}
.plui-xxl\:opacity-95{opacity:0.95;}
.plui-xxl\:opacity-100{opacity:1;}
.plui-xxl\:shadow-none{box-shadow:none;}
.plui-xxl\:shadow-sm{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.12);}
.plui-xxl\:shadow-md{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-xxl\:shadow-lg{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.3);}
.plui-xxl\:shadow-xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.4);}
.plui-xxl\:shadow-2xl{box-shadow:0 0 0 1px rgba(0, 0, 0, 0.55);}
.plui-xxl\:shadow-inner{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.2);}
.plui-xxl\:transition{transition-property:color,background-color,border-color,opacity,box-shadow,transform;}
.plui-xxl\:transition-none{transition-property:none;}
.plui-xxl\:transition-all{transition-property:all;}
.plui-xxl\:transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}
.plui-xxl\:transition-opacity{transition-property:opacity;}
.plui-xxl\:transition-shadow{transition-property:box-shadow;}
.plui-xxl\:transition-transform{transition-property:transform;}
.plui-xxl\:duration-0{transition-duration:0s;}
.plui-xxl\:duration-75{transition-duration:75ms;}
.plui-xxl\:duration-100{transition-duration:100ms;}
.plui-xxl\:duration-150{transition-duration:150ms;}
.plui-xxl\:duration-200{transition-duration:200ms;}
.plui-xxl\:duration-300{transition-duration:300ms;}
.plui-xxl\:duration-500{transition-duration:500ms;}
.plui-xxl\:duration-700{transition-duration:700ms;}
.plui-xxl\:duration-1000{transition-duration:1000ms;}
.plui-xxl\:ease-linear{transition-timing-function:linear;}
.plui-xxl\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}
.plui-xxl\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}
.plui-xxl\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
.plui-xxl\:delay-0{transition-delay:0s;}
.plui-xxl\:delay-75{transition-delay:75ms;}
.plui-xxl\:delay-100{transition-delay:100ms;}
.plui-xxl\:delay-150{transition-delay:150ms;}
.plui-xxl\:delay-200{transition-delay:200ms;}
.plui-xxl\:delay-300{transition-delay:300ms;}
.plui-xxl\:delay-500{transition-delay:500ms;}
.plui-xxl\:delay-700{transition-delay:700ms;}
.plui-xxl\:delay-1000{transition-delay:1000ms;}
.plui-xxl\:animate-spin{animation:plui-spin 1s linear infinite;}
.plui-xxl\:animate-ping{animation:plui-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;}
.plui-xxl\:animate-pulse{animation:plui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;}
.plui-xxl\:animate-bounce{animation:plui-bounce 1s infinite;}
.plui-xxl\:animate-none{animation:none;}

/* --- src/css/responsive/interactivity.css --- */
/* ============================================================
   plui 工具类断点变体 · 交互：光标、指针事件、选中、缩放、表单外观、读屏器隐藏
   本文件由 build/gen-utilities.mjs 生成，请勿手工修改
   写法：.plui-{断点}:{属性}-{取值}，例如 .plui-md:p-4
   ============================================================ */

/* ---- sm ≥ 576px ---- */
.plui-sm\:cursor-auto{cursor:auto;}
.plui-sm\:cursor-default{cursor:default;}
.plui-sm\:cursor-pointer{cursor:pointer;}
.plui-sm\:cursor-wait{cursor:wait;}
.plui-sm\:cursor-text{cursor:text;}
.plui-sm\:cursor-move{cursor:move;}
.plui-sm\:cursor-help{cursor:help;}
.plui-sm\:cursor-not-allowed{cursor:not-allowed;}
.plui-sm\:pointer-events-none{pointer-events:none;}
.plui-sm\:pointer-events-auto{pointer-events:auto;}
.plui-sm\:select-none{user-select:none;-webkit-user-select:none;}
.plui-sm\:select-text{user-select:text;-webkit-user-select:text;}
.plui-sm\:select-all{user-select:all;-webkit-user-select:all;}
.plui-sm\:select-auto{user-select:auto;-webkit-user-select:auto;}
.plui-sm\:resize-none{resize:none;}
.plui-sm\:resize-y{resize:y;}
.plui-sm\:resize-x{resize:x;}
.plui-sm\:resize-both{resize:both;}
.plui-sm\:appearance-none{-webkit-appearance:none;appearance:none;}
.plui-sm\:appearance-auto{-webkit-appearance:auto;appearance:auto;}
.plui-sm\:touch-auto{touch-action:auto;}
.plui-sm\:touch-none{touch-action:none;}
.plui-sm\:touch-manipulation{touch-action:manipulation;}
.plui-sr-only:sm{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-visually-hidden\:sm{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-sm\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;}

/* ---- md ≥ 768px ---- */
.plui-md\:cursor-auto{cursor:auto;}
.plui-md\:cursor-default{cursor:default;}
.plui-md\:cursor-pointer{cursor:pointer;}
.plui-md\:cursor-wait{cursor:wait;}
.plui-md\:cursor-text{cursor:text;}
.plui-md\:cursor-move{cursor:move;}
.plui-md\:cursor-help{cursor:help;}
.plui-md\:cursor-not-allowed{cursor:not-allowed;}
.plui-md\:pointer-events-none{pointer-events:none;}
.plui-md\:pointer-events-auto{pointer-events:auto;}
.plui-md\:select-none{user-select:none;-webkit-user-select:none;}
.plui-md\:select-text{user-select:text;-webkit-user-select:text;}
.plui-md\:select-all{user-select:all;-webkit-user-select:all;}
.plui-md\:select-auto{user-select:auto;-webkit-user-select:auto;}
.plui-md\:resize-none{resize:none;}
.plui-md\:resize-y{resize:y;}
.plui-md\:resize-x{resize:x;}
.plui-md\:resize-both{resize:both;}
.plui-md\:appearance-none{-webkit-appearance:none;appearance:none;}
.plui-md\:appearance-auto{-webkit-appearance:auto;appearance:auto;}
.plui-md\:touch-auto{touch-action:auto;}
.plui-md\:touch-none{touch-action:none;}
.plui-md\:touch-manipulation{touch-action:manipulation;}
.plui-sr-only:md{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-visually-hidden\:md{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-md\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;}

/* ---- lg ≥ 992px ---- */
.plui-lg\:cursor-auto{cursor:auto;}
.plui-lg\:cursor-default{cursor:default;}
.plui-lg\:cursor-pointer{cursor:pointer;}
.plui-lg\:cursor-wait{cursor:wait;}
.plui-lg\:cursor-text{cursor:text;}
.plui-lg\:cursor-move{cursor:move;}
.plui-lg\:cursor-help{cursor:help;}
.plui-lg\:cursor-not-allowed{cursor:not-allowed;}
.plui-lg\:pointer-events-none{pointer-events:none;}
.plui-lg\:pointer-events-auto{pointer-events:auto;}
.plui-lg\:select-none{user-select:none;-webkit-user-select:none;}
.plui-lg\:select-text{user-select:text;-webkit-user-select:text;}
.plui-lg\:select-all{user-select:all;-webkit-user-select:all;}
.plui-lg\:select-auto{user-select:auto;-webkit-user-select:auto;}
.plui-lg\:resize-none{resize:none;}
.plui-lg\:resize-y{resize:y;}
.plui-lg\:resize-x{resize:x;}
.plui-lg\:resize-both{resize:both;}
.plui-lg\:appearance-none{-webkit-appearance:none;appearance:none;}
.plui-lg\:appearance-auto{-webkit-appearance:auto;appearance:auto;}
.plui-lg\:touch-auto{touch-action:auto;}
.plui-lg\:touch-none{touch-action:none;}
.plui-lg\:touch-manipulation{touch-action:manipulation;}
.plui-sr-only:lg{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-visually-hidden\:lg{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-lg\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;}

/* ---- xl ≥ 1200px ---- */
.plui-xl\:cursor-auto{cursor:auto;}
.plui-xl\:cursor-default{cursor:default;}
.plui-xl\:cursor-pointer{cursor:pointer;}
.plui-xl\:cursor-wait{cursor:wait;}
.plui-xl\:cursor-text{cursor:text;}
.plui-xl\:cursor-move{cursor:move;}
.plui-xl\:cursor-help{cursor:help;}
.plui-xl\:cursor-not-allowed{cursor:not-allowed;}
.plui-xl\:pointer-events-none{pointer-events:none;}
.plui-xl\:pointer-events-auto{pointer-events:auto;}
.plui-xl\:select-none{user-select:none;-webkit-user-select:none;}
.plui-xl\:select-text{user-select:text;-webkit-user-select:text;}
.plui-xl\:select-all{user-select:all;-webkit-user-select:all;}
.plui-xl\:select-auto{user-select:auto;-webkit-user-select:auto;}
.plui-xl\:resize-none{resize:none;}
.plui-xl\:resize-y{resize:y;}
.plui-xl\:resize-x{resize:x;}
.plui-xl\:resize-both{resize:both;}
.plui-xl\:appearance-none{-webkit-appearance:none;appearance:none;}
.plui-xl\:appearance-auto{-webkit-appearance:auto;appearance:auto;}
.plui-xl\:touch-auto{touch-action:auto;}
.plui-xl\:touch-none{touch-action:none;}
.plui-xl\:touch-manipulation{touch-action:manipulation;}
.plui-sr-only:xl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-visually-hidden\:xl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-xl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;}

/* ---- xxl ≥ 1400px ---- */
.plui-xxl\:cursor-auto{cursor:auto;}
.plui-xxl\:cursor-default{cursor:default;}
.plui-xxl\:cursor-pointer{cursor:pointer;}
.plui-xxl\:cursor-wait{cursor:wait;}
.plui-xxl\:cursor-text{cursor:text;}
.plui-xxl\:cursor-move{cursor:move;}
.plui-xxl\:cursor-help{cursor:help;}
.plui-xxl\:cursor-not-allowed{cursor:not-allowed;}
.plui-xxl\:pointer-events-none{pointer-events:none;}
.plui-xxl\:pointer-events-auto{pointer-events:auto;}
.plui-xxl\:select-none{user-select:none;-webkit-user-select:none;}
.plui-xxl\:select-text{user-select:text;-webkit-user-select:text;}
.plui-xxl\:select-all{user-select:all;-webkit-user-select:all;}
.plui-xxl\:select-auto{user-select:auto;-webkit-user-select:auto;}
.plui-xxl\:resize-none{resize:none;}
.plui-xxl\:resize-y{resize:y;}
.plui-xxl\:resize-x{resize:x;}
.plui-xxl\:resize-both{resize:both;}
.plui-xxl\:appearance-none{-webkit-appearance:none;appearance:none;}
.plui-xxl\:appearance-auto{-webkit-appearance:auto;appearance:auto;}
.plui-xxl\:touch-auto{touch-action:auto;}
.plui-xxl\:touch-none{touch-action:none;}
.plui-xxl\:touch-manipulation{touch-action:manipulation;}
.plui-sr-only:xxl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-visually-hidden\:xxl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.plui-xxl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;}

