/*! /css/base.css */
@font-face {
  font-family: "Lexend Regular";
  src: url("/assets/fonts/Lexend-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend Black";
  src: url("/assets/fonts/Lexend-Black.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend Light";
  src: url("/assets/fonts/Lexend-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Lexend";
  src: url("/assets/fonts/Lexend-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Lexend";
  src: url("/assets/fonts/Lexend-Light.woff2") format("woff2");
  font-weight: 600 900;
  font-style: normal;
}

:root{
  --z-dropdown:1000;
  --z-skeleton:1050;
  --z-toolbar-backdrop:1090;
  --z-toolbar:1100;
  --z-toolbar-popover:1101;
  --z-panel:1400;
  --z-notifications:1500;
  --z-viewer:1900;
  --z-modal:2000;
  --z-modal-2:2050;
  --z-modal-menu:2100;
  --z-modal-toolbar:2200;
  --z-modal-dropdown:2600;
  --z-welcome:2600;
  --z-float:3000;
  --z-hint:3100;
  --z-review:3400;
  --z-review-toolbar:3500;
  --z-loading:4000;
  --z-tooltip:4000;
  --z-tour:5000;
  --ui-surface:#FFFFFF;
  --ui-surface-2:var(--md-neutral-background-2-rest);
  --ui-canvas:#EEF1F5;
  --ui-text:var(--md-neutral-foreground-1-rest);
  --ui-text-2:var(--md-neutral-foreground-3-rest);
  --ui-muted:#666F80;
  --ui-muted-light:#A6AEBC;
  --ui-border:#E1E5EB;
  --ui-border-strong:var(--md-neutral-stroke-1-rest);
  --ui-accent:#0040DE;
  --ui-pill-active:#2F353E;
  --ui-pill-active-fg:#FFFFFF;
  --ui-accent-hover:#0033B3;
  --ui-accent-soft:var(--md-color-blue-100);
  --ui-danger:#D64545;
  --ui-danger-hover:#B93A3A;
  --ui-danger-soft:#FDEDEC;
  --ui-success:#1B9E6B;
  --ui-warning:#E08A2E;
  --ui-inverse:#151A22;
  --ui-inverse-2:#1E2430;
  --ui-ai-gradient:linear-gradient(111deg, #0042F0 4%, #FC89FF 51.34%, #FF076E 94.14%);
  --ui-table-cell-size:var(--text-md);
  --ui-table-cell-color:var(--ui-text-2);

  --shadow-xs:0 1px 3px rgba(20,30,50,0.3);
  --shadow-sm:0 4px 16px rgba(20,30,50,0.16);
  --shadow-soft:0 8px 24px rgba(20,30,50,0.16);
  --shadow-popover:0 8px 24px rgba(20,30,50,0.24);
  --shadow-raised:0 12px 28px rgba(20,30,50,0.28);
  --shadow-modal:0 24px 64px rgba(20,30,50,0.32);
  --shadow-panel:-4px -4px 16px rgba(20,30,50,0.10);
  --shadow-rgb:20,30,50;

  --font-sans:"Lexend", Arial, sans-serif;
  --font-display:"Lexend Black", "Lexend", sans-serif;
  --font-regular:"Lexend Regular", Arial, sans-serif;
  --font-light:"Lexend Light", "Lexend", sans-serif;
  --font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --font-weight-extralight:200;
  --font-weight-light:300;
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --font-weight-black:900;
  --text-2xs:9px;
  --text-xs:10px;
  --text-sm:11px;
  --text-md:12px;
  --text-base:13px;
  --text-lg:14px;
  --text-xl:15px;
  --text-2xl:16px;
  --text-3xl:18px;
  --text-4xl:20px;
  --text-5xl:24px;
  --text-6xl:32px;
  --text-7xl:40px;

  --card-bg:var(--ui-surface-2);
  --label-color:var(--ui-text);
  --radius:24px;
  --frame-bg:var(--ui-surface);
  --canvas-bg:var(--ui-canvas);
}

html[data-ui-theme="dark"]{
  color-scheme:dark;
  --ui-surface:#1A1F27;
  --ui-surface-2:#242A34;
  --ui-canvas:#0F1217;
  --ui-text:#E6EAF1;
  --ui-text-2:#B5BECC;
  --ui-muted:#8A93A2;
  --ui-muted-light:#626B7D;
  --ui-border:#2E3540;
  --ui-border-strong:#3D4553;
  --ui-accent:#6B8AF7;
  --ui-accent-hover:#89A2FA;
  --ui-pill-active:#E6EAF1;
  --ui-pill-active-fg:#151A22;
  --ui-accent-soft:rgba(107,138,247,0.18);
  --ui-danger:#E06565;
  --ui-danger-hover:#EB7F7F;
  --ui-danger-soft:rgba(224,101,101,0.18);
  --ui-inverse:#E6EAF1;
  --shadow-xs:0 1px 3px rgba(0,0,0,0.6);
  --shadow-sm:0 0 0 1px rgba(255,255,255,0.06), 0 4px 16px rgba(0,0,0,0.5);
  --shadow-soft:0 0 0 1px rgba(255,255,255,0.06), 0 8px 24px rgba(0,0,0,0.55);
  --shadow-popover:0 0 0 1px rgba(255,255,255,0.08), 0 12px 32px rgba(0,0,0,0.65);
  --shadow-raised:0 0 0 1px rgba(255,255,255,0.08), 0 16px 40px rgba(0,0,0,0.7);
  --shadow-modal:0 0 0 1px rgba(255,255,255,0.10), 0 32px 80px rgba(0,0,0,0.8);
  --shadow-panel:0 0 0 1px rgba(255,255,255,0.05), -4px -4px 20px rgba(0,0,0,0.45);
  --shadow-rgb:0,0,0;
  --md-color-grey-white:#1A1F27;
  --md-color-grey-black:#F2F5F9;
  --md-neutral-background-1-rest:#1A1F27;
  --md-neutral-background-2-rest:#242A34;
  --md-neutral-background-3-rest:#3D4553;
  --md-neutral-foreground-1-rest:#E6EAF1;
  --md-neutral-foreground-2-rest:#C9D0DB;
  --md-neutral-foreground-3-rest:#9AA3B3;
  --md-neutral-stroke-1-rest:#2E3540;
  --md-neutral-stroke-2-rest:#3D4553;
  --md-brand-foreground-1-rest:#6B8AF7;
  --md-brand-background-1-rest:rgba(107,138,247,0.16);
}

.frame{
  color-scheme:light;
  color:var(--slide-text-1);
  --slide-bg:#FFFFFF;
  --slide-surface:#FFFFFF;
  --slide-surface-2:#F2F5F9;
  --slide-surface-3:#D3D9E2;
  --slide-text-1:#2F353E;
  --slide-text-2:#484F5D;
  --slide-text-3:#626B7D;
  --slide-border:#E1E5EB;
  --slide-stroke:#D3D9E2;
  --slide-stroke-2:#B5BECC;
  --slide-accent:#0040DE;
  --slide-accent-soft:#EEF3FE;
  --md-color-grey-white:#FFFFFF;
  --md-color-grey-black:#000000;
  --md-neutral-stroke-on-color-rest:var(--md-color-grey-white);
  --md-neutral-foreground-on-color-rest:var(--md-color-grey-white);
  --md-neutral-background-1-rest:var(--slide-surface);
  --md-neutral-background-2-rest:var(--slide-surface-2);
  --md-neutral-background-3-rest:var(--slide-surface-3);
  --md-neutral-foreground-1-rest:var(--slide-text-1);
  --md-neutral-foreground-2-rest:var(--slide-text-2);
  --md-neutral-foreground-3-rest:var(--slide-text-3);
  --md-neutral-stroke-1-rest:var(--slide-stroke);
  --md-neutral-stroke-2-rest:var(--slide-stroke-2);
  --md-brand-foreground-1-rest:var(--slide-accent);
  --md-brand-background-1-rest:var(--slide-accent-soft);
  --ui-surface:var(--slide-surface);
  --ui-surface-2:var(--slide-surface-2);
  --ui-text:var(--slide-text-1);
  --ui-text-2:var(--slide-text-3);
  --ui-muted:var(--slide-text-3);
  --ui-muted-light:var(--slide-stroke-2);
  --ui-border:var(--slide-border);
  --ui-border-strong:var(--slide-stroke);
  --ui-accent:var(--slide-accent);
  --ui-accent-hover:#0033B3;
  --ui-accent-soft:var(--slide-accent-soft);
  --frame-bg:var(--slide-bg);
  --card-bg:var(--slide-surface-2);
  --label-color:var(--slide-text-1);
}
.frame[data-theme="dark"]{
  color-scheme:dark;
  --slide-bg:#151A22;
  --slide-surface:#1F252F;
  --slide-surface-2:#2A313D;
  --slide-surface-3:#3A4250;
  --slide-text-1:#F2F5F9;
  --slide-text-2:#D3D9E2;
  --slide-text-3:#A6AEBC;
  --slide-border:#333B47;
  --slide-stroke:#3A4250;
  --slide-stroke-2:#4A5366;
  --slide-accent:#6B8AF7;
  --slide-accent-soft:rgba(107,138,247,0.18);
  --ui-accent-hover:#89A2FA;
}
.frame.export-pass, .frame.export-pass *, .frame.export-pass *::before, .frame.export-pass *::after{ transition:none !important; }

* { box-sizing: border-box; }

html body :where(input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"]), select, textarea):not(.frame *, .home-generate-textarea, .home-code-input){
  background-color:transparent;
}
html body textarea:not(.home-generate-textarea, .home-code-input, .slide-gen-textarea){ overflow-y:hidden; }

[role="dialog"][tabindex="-1"]:focus{ outline:none; }

.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
.skip-link{
  position:fixed; top:8px; left:8px; z-index:var(--z-tooltip); padding:10px 16px; border-radius:8px;
  background:var(--ui-surface); color:var(--ui-accent); box-shadow:0 2px 8px rgba(var(--shadow-rgb),0.2);
  font-family:var(--font-sans); font-size:var(--text-base); font-weight:var(--font-weight-semibold); text-decoration:none;
  transform:translateY(calc(-100% - 16px));
}
.skip-link:focus{ transform:none; outline:2px solid var(--ui-accent); outline-offset:2px; }
#main:focus{ outline:none; }
#stage:focus{ outline:none; }
#stage:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:-2px; }
button:focus-visible, [role="button"]:focus-visible, [role="checkbox"]:focus-visible{ opacity:1 !important; }

.app-tooltip{
  display:none; position:fixed; z-index:var(--z-tooltip); max-width:320px;
  padding:6px 10px; border-radius:8px;
  background:var(--ui-text); color:var(--md-color-grey-white); font-family:var(--font-sans); font-size:var(--text-md); line-height:1.4;
  box-shadow:0 2px 8px rgba(var(--shadow-rgb),0.2);
  pointer-events:none; white-space:normal; word-break:break-word;
}
.app-tooltip.visible{ display:block; pointer-events:auto; }

.spell-error{ text-decoration-line:underline; text-decoration-style:wavy; text-decoration-color:var(--ui-danger); text-underline-offset:2px; }
.spell-popover{
  position:fixed; z-index:var(--z-modal); background:var(--md-color-grey-white); border:1px solid var(--ui-border);
  border-radius:8px; box-shadow:var(--shadow-soft); padding:4px;
  display:flex; align-items:center; gap:2px; font-family:var(--font-sans); font-size:var(--text-base);
}
.spell-suggestion{ border:none; background:none; padding:6px 10px; border-radius:5px; cursor:pointer; color:var(--ui-text); white-space:nowrap; }
.spell-suggestion:hover{ background:var(--md-neutral-background-2-rest); }
.spell-no-suggestion{ padding:6px 10px; color:var(--ui-muted); white-space:nowrap; }
.spell-ignore{ border:none; background:none; padding:4px 6px; border-radius:5px; cursor:pointer; color:var(--ui-muted); display:flex; }
.spell-ignore:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }

body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ui-text);
  height:100vh;
  display:flex;
  flex-direction:column;
}
body > boundtest{ flex-shrink:0; }
body.editor-body{ background:var(--md-color-grey-white); }
.mobile-only{ display:none !important; }

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:20;
  padding:14px 16px 10px;
  flex-shrink:0;
  min-height:73px;
}
.topbar-brand{ display:flex; align-items:center; gap:6px; }
.topbar-brand > .topbar-brand-logo{ margin-left:6px; }
.topbar-brand-favicon{ height:26px; width:auto; display:block; }
.topbar-brand-logo-link:has(> .topbar-brand-favicon){ width:64px; margin-left:-16px; justify-content:center; align-items:center; }
.topbar-brand-logo-link:has(> .topbar-brand-favicon) + .sidebar-collapse-btn{ margin-left:-6px; }
.sidebar-collapse-btn i{ font-size:var(--text-xl); }
.sidebar-collapse-btn i.fa-solid, .sidebar-collapse-btn.is-open i.fa-regular{ display:none; }
.sidebar-collapse-btn.is-open i.fa-solid{ display:inline-block; }
.topbar-brand-logo{ height:20px; width:auto; display:block; flex-shrink:0; }
html[data-ui-theme="dark"] .topbar-brand-logo{ content:url("/assets/logo/logo-oneslide-dark.svg"); }
.topbar h1{ font-size:var(--text-xl); font-weight:var(--font-weight-semibold); color:var(--ui-text); margin:0; }
.topbar-actions{ display:flex; gap:8px; align-items:center; }
.topbar-sep{ width:1px; height:22px; background:var(--ui-border); flex-shrink:0; }
.hidden{ display:none !important; }
.split-menu-divider{ height:1px; background:var(--ui-border); margin:4px 0; }

.deck-access-denied-screen{
  position:fixed; inset:0; z-index:var(--z-float); background:var(--ui-surface); color:var(--ui-text);
  display:flex; align-items:center; justify-content:center; padding:24px; font-family:var(--font-sans);
}
.deck-access-denied-logo{ position:absolute; top:14px; left:16px; display:flex; }
body.deck-access-denied #confirmDialogOverlay{ z-index:calc(var(--z-float) + 1); }
.deck-access-denied-logo img{ height:26px; width:auto; }
.deck-access-denied-card{ display:flex; flex-direction:column; align-items:center; gap:12px; max-width:460px; text-align:center; }
.deck-access-denied-card img{ width:120px; height:120px; }
.deck-access-denied-card h1{ margin:8px 0 0; font-size:var(--text-xl); font-weight:var(--font-weight-semibold); }
.deck-access-denied-card p{ margin:0; color:var(--ui-text-2); font-size:var(--text-base); line-height:1.5; }
.deck-access-denied-actions{ display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; justify-content:center; }
.deck-access-denied-actions .btn{ text-decoration:none; display:inline-flex; align-items:center; }
/*! /css/buttons.css */

.btn{
  font-family:var(--font-sans);
  font-size:var(--text-base);
  border:1px solid var(--ui-border);
  background:var(--ui-surface);
  color:var(--ui-text);
  border-radius:12px;
  padding:7px 12px;
  cursor:pointer;
}
.btn:hover{ background:var(--ui-surface-2); }
.btn:disabled{ opacity:.5; cursor:not-allowed; pointer-events:none; }
.btn.is-loading{ position:relative; color:transparent; }
.btn.is-loading > *{ visibility:hidden; }
.btn.is-loading::after{
  content:''; position:absolute; top:50%; left:50%; width:16px; height:16px; margin:-8px 0 0 -8px;
  border:2px solid currentColor; border-top-color:transparent; border-radius:50%;
  color:var(--md-color-grey-white); animation:btn-spin .7s linear infinite;
}
@keyframes btn-spin{ to{ transform:rotate(360deg); } }
.btn-sm{ padding:5px 10px; font-size:var(--text-md); }
.btn-lg{ height:42px; padding:0 18px; font-size:var(--text-base); }
.btn-block{ width:100%; }

.btn.primary{ background:var(--ui-accent); color:var(--md-color-grey-white); border-color:var(--ui-accent); font-family:var(--font-display); }
.btn.primary:hover{ background:var(--ui-accent-hover); }
.btn.primary:disabled, .btn.primary:disabled:hover{
  background:var(--ui-border); border-color:var(--ui-border); color:var(--ui-muted); opacity:1;
}
.btn.danger{ background:var(--ui-danger); color:var(--md-color-grey-white); border-color:var(--ui-danger); }
.btn.danger:hover{ background:var(--ui-danger-hover); }

.btn-ghost{
  display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 10px;
  border:none; background:transparent; border-radius:8px; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-base); font-weight:var(--font-weight-semibold);
  color:var(--ui-text); white-space:nowrap;
}
.btn-ghost:hover{ background:var(--ui-surface-2); }
.btn-ghost:disabled{ color:var(--ui-muted); cursor:default; }
.btn-ghost:disabled:hover{ background:none; }
.btn-ghost.btn-sm{
  height:auto; padding:5px 10px; border-radius:6px;
  font-size:var(--text-md); font-weight:var(--font-weight-regular); color:var(--ui-muted);
}
.btn-ghost.btn-sm:hover{ color:var(--ui-text); }

.icon-btn[hidden]{ display:none; }
.icon-btn{
  width:22px; height:22px;
  border-radius:9px;
  border:1px solid var(--ui-border);
  background:var(--ui-surface);
  color:var(--ui-muted);
  font-size:var(--text-base);
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  padding:0;
}
.icon-btn:hover{ border-color:var(--ui-accent); color:var(--ui-accent); }
.icon-btn:disabled{ opacity:0.4; cursor:default; pointer-events:none; }
.icon-btn-ghost{ width:32px; height:32px; border:none; background:transparent; font-size:var(--text-3xl); }
.icon-btn-ghost svg{ width:18px; height:18px; }
.icon-btn-ghost:hover{ background:var(--ui-surface-2); border-color:transparent; }
.icon-btn.accent{ border:none; background:var(--ui-accent); color:var(--md-color-grey-white); }
.icon-btn.accent:hover{ background:var(--ui-accent-hover); color:var(--md-color-grey-white); }
.icon-btn.accent:disabled, .icon-btn.accent:disabled:hover{ background:var(--ui-border); color:var(--ui-muted); opacity:1; cursor:default; }

.btn-split{ position:relative; display:flex; }
.btn-split .split-main{ border-radius:12px 0 0 12px; }
.btn-split .split-caret{ border-radius:0 12px 12px 0; border-left:1px solid var(--ui-border); padding:7px 8px; font-size:var(--text-xs); }
.btn-split .split-caret.primary{ border-left-color:rgba(255,255,255,0.35); }
.btn-split.caret-left{ flex-direction:row-reverse; }
.btn-split.caret-left .split-main{ border-radius:0 12px 12px 0; }
.btn-split.caret-left .split-caret{ border-radius:12px 0 0 12px; border-left:none; border-right:1px solid var(--ui-border); }
/*! /css/topbar.css */
.topbar-brand-logo-link{ display:flex; cursor:pointer; }

.presence-stack{ display:flex; }
.presence-stack:not(:empty){ margin-right:4px; }
.presence-avatar{
  width:26px; height:26px; border-radius:50%; border:2px solid var(--md-color-grey-white); margin-left:-8px;
  color:var(--md-color-grey-white); font-family:var(--font-sans); font-size:var(--text-sm); font-weight:var(--font-weight-semibold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  position:relative; cursor:default;
}
.presence-stack .presence-avatar:first-child{ margin-left:0; }
.presence-avatar-img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
.presence-avatar > img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
.presence-stack .presence-avatar{ cursor:pointer; }
.topbar > .presence-stack{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.presence-hover-card{
  display:none; position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%);
  align-items:center; gap:10px; white-space:nowrap;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; padding:10px;
  box-shadow:var(--shadow-soft); z-index:var(--z-float);
}
.presence-avatar:hover .presence-hover-card, .presence-avatar:focus-visible .presence-hover-card{ display:flex; }
.presence-hover-avatar, .presence-hover-avatar-initial{
  width:48px; height:48px; border-radius:50%; flex-shrink:0; object-fit:cover;
}
.presence-hover-avatar-initial{
  color:var(--md-color-grey-white); font-family:var(--font-sans); font-size:var(--text-3xl); font-weight:var(--font-weight-semibold);
  display:flex; align-items:center; justify-content:center;
}
.presence-hover-text{ display:flex; flex-direction:column; gap:2px; }
.presence-hover-name{ font-size:var(--text-base); font-weight:var(--font-weight-semibold); color:var(--ui-text); }
.presence-hover-email{ font-size:var(--text-sm); color:var(--ui-muted); }

.autosave-pill{ display:flex; align-items:center; gap:6px; font-size:var(--text-md); color:var(--ui-muted); padding:0 4px; }
.autosave-dot{ width:7px; height:7px; border-radius:50%; background:var(--ui-success); flex-shrink:0; }
.autosave-pill.dirty .autosave-dot{ background:var(--ui-warning); }
.autosave-pill.save-error{ color:var(--md-status-danger-foreground-1-rest); }
.autosave-pill.save-error .autosave-dot{ background:var(--ui-danger); }

.split-menu{
  position:absolute; top:calc(100% + 6px); right:0; min-width:170px; max-width:260px; background:var(--md-color-grey-white);
  border:1px solid var(--ui-border); border-radius:8px; box-shadow:var(--shadow-soft);
  display:none; padding:6px; z-index:var(--z-dropdown); overflow-y:auto;
}
.split-menu.open{ display:block; }
.split-menu.flip-up{ top:auto; bottom:calc(100% + 6px); }
.split-menu button{
  display:flex; align-items:center; gap:8px; width:100%; text-align:left; padding:8px 10px;
  border:none; background:none; border-radius:6px; white-space:nowrap;
  font-family:var(--font-sans); font-size:var(--text-sm); color:var(--ui-text); cursor:pointer;
}
.split-menu button:hover{ background:var(--ui-surface-2); }
.split-menu button.hidden{ display:none; }
.split-menu button.active .split-menu-icon{ color:var(--ui-accent); }
.dropdown-keynav-active{ background:var(--ui-surface-2); border-radius:6px; }
.split-menu button.dropdown-keynav-active{ background:var(--ui-surface-2); }
.split-menu-icon{ position:relative; display:inline-flex; width:14px; height:14px; flex-shrink:0; }
.split-menu-icon i{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:var(--text-base); }
.split-menu-icon i.fa-solid{ opacity:0; }
.split-menu button:hover .split-menu-icon i.fa-regular{ opacity:0; }
.split-menu button:hover .split-menu-icon i.fa-solid{ opacity:1; }
.rail-panel-menu-toggle{ position:relative; }
.update-available-dot{ position:absolute; top:-2px; right:-2px; width:8px; height:8px; border-radius:50%; background:var(--ui-accent); border:1.5px solid var(--md-color-grey-white); }
.update-available-dot.hidden{ display:none; }
.split-menu button.danger{ color:var(--md-neutral-foreground-1-rest); }
.split-menu button.danger:hover{ background:var(--md-status-danger-background-1-rest); color:var(--md-status-danger-foreground-1-rest); }
.view-menu-wrap{ position:relative; display:flex; }
.view-menu{ min-width:220px; }
.view-menu-option{ justify-content:space-between; }
.view-menu-check{ opacity:0; font-size:var(--text-md); color:var(--ui-accent); }
.view-menu-option.active .view-menu-check{ opacity:1; }

.deck-lang-wrap{ position:relative; display:flex; }
.deck-lang-menu{ min-width:140px; }
.deck-lang-option{ justify-content:space-between; }
.deck-lang-check{ opacity:0; font-size:var(--text-md); color:var(--ui-accent); }
.deck-lang-option.active .deck-lang-check{ opacity:1; }

.deck-version-menu{ min-width:260px; max-width:340px; }
.deck-version-menu .deck-lang-option{ gap:8px; }
.deck-version-menu .deck-lang-option > span{ min-width:0; overflow:hidden; text-overflow:ellipsis; }
.deck-version-loading{ padding:8px 10px; font-family:var(--font-sans); font-size:var(--text-sm); color:var(--ui-muted); }
.deck-lang-wrap.hidden{ display:none; }

.rail-panel-header-actions{ display:flex; align-items:center; gap:2px; }
.rail-panel-menu-wrap{ position:relative; display:flex; }
.rail-panel-menu-wrap.hidden{ display:none; }
.rail-panel-menu{ min-width:220px; max-width:none; }
.rail-panel-menu button{ white-space:nowrap; }
.rail-panel-menu button:disabled{ opacity:.4; cursor:default; }

#createSlideSplit{ width:100%; }
#createSlideSplit .split-main{ flex:1; text-align:left; }
#createSlideSplit .btn{ border:none; background:var(--ui-surface-2); color:var(--ui-text-2); }
#createSlideSplit .btn:hover{ background:var(--ui-border); }
#createSlideSplit .split-caret{ border-left:1px solid var(--md-color-grey-white); }

.main{ flex:1; min-width:0; display:flex; min-height:0; position:relative; background:var(--md-color-grey-white); }

.readonly-pill{
  display:flex; align-items:center; gap:8px; padding:4px 6px 4px 10px; border-radius:999px;
  background:var(--ui-accent-soft); color:var(--ui-accent); font-size:var(--text-sm); white-space:nowrap;
}
.readonly-pill.hidden{ display:none; }
.readonly-request-btn{
  border:none; border-radius:999px; padding:4px 10px; cursor:pointer; font-family:var(--font-sans);
  font-size:var(--text-sm); font-weight:var(--font-weight-medium); background:var(--ui-accent); color:var(--md-color-grey-white);
}
.readonly-request-btn:hover{ background:var(--ui-accent-hover); }
.readonly-request-btn:disabled{ opacity:0.6; cursor:default; }

.topbar-deck-title{
  position:absolute; top:50%; transform:translateY(-50%);
  left:var(--topbar-title-left, 244px);
  display:flex; align-items:center; gap:2px;
  max-width:38%; min-width:0;
}
.topbar .topbar-deck-title-heading{ display:flex; min-width:0; margin:0; font-size:inherit; font-weight:inherit; }
.topbar-deck-title-text{
  font-size:var(--text-lg); font-weight:var(--font-weight-semibold); color:var(--ui-text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0;
}
.topbar-deck-title-text{ padding:2px 6px; margin-left:-6px; border-radius:6px; cursor:text; }
body.deck-readonly .topbar-deck-title-text, body.deck-template-edit-mode .topbar-deck-title-text{ cursor:default; }
.topbar-deck-title-text:hover{ background:var(--ui-surface-2); }
body.deck-readonly .topbar-deck-title-text:hover{ background:none; }
.topbar-deck-title-text.editing{
  background:var(--ui-surface); outline:2px solid var(--ui-accent); outline-offset:-1px;
  text-overflow:clip; overflow:visible; min-width:120px;
}
.topbar-deck-title-edit{
  flex-shrink:0; width:28px; height:28px; border:0; border-radius:6px; background:none;
  color:var(--ui-muted); cursor:pointer; display:flex; align-items:center; justify-content:center;
  visibility:hidden; padding:0;
}
.topbar-deck-title:hover .topbar-deck-title-edit{ visibility:visible; }
.topbar-deck-title-edit:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
.topbar-deck-title:focus-within .topbar-deck-title-edit, .topbar-deck-title-edit:focus-visible{ visibility:visible; }
/*! /css/sidebar.css */
.sidebar-left{
  width:180px;
  flex-shrink:0;
  background:var(--md-color-grey-white);
  display:flex;
  flex-direction:column;
  overflow:visible;
  position:relative;
  transition:width .15s ease;
  box-shadow: var(--shadow-panel);
  margin-right: 12px;
  margin-bottom: 12px;
  border-radius: 12px;
}
.sidebar-left.resizing{ transition:none; }
.sidebar-left.collapsed{ display:none; }

.sidebar-header{ display:flex; align-items:center; gap:6px; padding:12px 10px 8px; flex-shrink:0; }
#createSlideMenu{ left:160px; right:auto; top:0}
.sidebar-collapse-btn{ width:42px; height:42px; }
.sidebar-collapse-btn svg{ width:22px; height:22px; }

.slide-list{ list-style:none; margin:0; padding:4px 10px 24px; display:flex; flex-direction:column; gap:6px; overflow-y:auto; }
.slide-item{ display:flex; align-items:center; gap:8px; padding:6px; border-radius:8px; border:1px solid transparent; cursor:pointer; position:relative; }
.slide-item.dragging{ opacity:0.4; }
body.dom-drag-reordering, body.dom-drag-reordering *{ user-select:none !important; -webkit-user-select:none !important; }
.slide-item-skeleton{ display:flex; align-items:center; gap:8px; padding:6px; border-radius:8px; border:1px solid transparent; }
.slide-item-skeleton .slide-number{ color:var(--ui-muted-light); }
.slide-item-skeleton .slide-thumb{ flex:1; min-width:0; aspect-ratio:16/9; border-radius:12px; border:1px solid var(--ui-border); }
.deck-load-skeleton .slide-thumb{
  background:linear-gradient(100deg, var(--ui-surface-2) 30%, var(--ui-surface) 50%, var(--ui-surface-2) 70%);
  background-size:200% 100%; animation:deck-load-shimmer 1.2s linear infinite;
}
@keyframes deck-load-shimmer{ from{ background-position:120% 0; } to{ background-position:-80% 0; } }
body.deck-building #framesContainer{ pointer-events:none; }
body.deck-building .stage-wrapper{ cursor:progress; }
.slide-item:hover{ background:var(--ui-surface-2); }
.slide-item.multi-selected{ background:rgba(0,64,222,0.08); border-color:var(--ui-accent); }
.slide-item.multi-selected:hover{ background:rgba(0,64,222,0.12); }
.slide-item .slide-number{ font-size:var(--text-md); color:var(--ui-muted); width:14px; flex-shrink:0; text-align:right; }
.slide-item.active .slide-number{ color:var(--ui-accent); font-weight:var(--font-weight-semibold); }
.slide-item.slide-item-hidden .slide-thumb{ opacity:0.4; }
.slide-item.slide-item-hidden .slide-number{ color:var(--ui-muted); font-size:var(--text-sm); }
.slide-item .slide-thumb{ flex:1; min-width:0; aspect-ratio:16/9; background:var(--frame-bg); border:1px solid var(--ui-border); border-radius:12px; position:relative; overflow:hidden; }
.slide-presence-badge{ position:absolute; bottom:3px; right:3px; display:flex; z-index:5; }
.slide-presence-badge .presence-avatar{ width:15px; height:15px; font-size:var(--text-2xs); border-width:1px; margin-left:-5px; }
.slide-presence-badge .presence-avatar:first-child{ margin-left:0; }
.slide-item.active .slide-thumb{ border:2px solid var(--ui-accent); }
.slide-item .slide-thumb:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:3px; }
.slide-gap-hit{ position:absolute; left:0; right:0; bottom:-14px; height:22px; z-index:4; margin-left:20px; }
#slideList.reordering .slide-gap-hit{ pointer-events:none; }
.slide-insert-between-wrap{
  position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; gap:6px; padding:0 10px;
  opacity:0; visibility:hidden; transition:opacity .15s ease;
}
.slide-gap-hit:hover .slide-insert-between-wrap{ opacity:1; visibility:visible; }
.slide-insert-between-line{ flex:1; height:1px; background:var(--ui-accent); }
.slide-insert-between{
  flex-shrink:0; width:20px; height:20px; border-radius:50%; box-sizing:border-box;
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); color:var(--ui-accent);
  font-size:var(--text-lg); line-height:1; padding:0;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:0 2px 6px rgba(var(--shadow-rgb),0.15);
}
.slide-insert-between:hover{ background:var(--ui-accent); color:var(--md-color-grey-white); border-color:var(--ui-accent); }
.slide-more-btn{
  position:absolute; top:12px; right:12px; width:20px; height:20px; border-radius:6px;
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); color:var(--ui-muted);
  box-shadow:0 1px 4px rgba(var(--shadow-rgb),0.18);
  font-size:var(--text-md); line-height:1; display:flex; align-items:center; justify-content:center;
  cursor:pointer; opacity:0; pointer-events:none; transition:opacity .1s;
}
.slide-item:hover .slide-more-btn, .slide-more-btn.open{ opacity:1; pointer-events:auto; }
.slide-item[data-frame-type="cover"] .slide-more-btn{ display:none; }
.slide-more-btn:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
#slideItemMenu{ position:fixed; top:0; left:0; right:auto; min-width:120px; }
.slide-drop-indicator{ height:3px; margin:0 6px; border-radius:2px; background:var(--ui-accent); flex-shrink:0; }
.drag-reorder-indicator{ height:3px; margin:2px 0; border-radius:2px; background:var(--ui-accent); }
#agendaItemMenu{ position:fixed; top:0; left:0; right:auto; min-width:140px; }
.frame.thumb-render{
  position:absolute; top:0; left:0; width:1920px; height:1080px;
  transform-origin:top left;
  display:flex !important; flex-direction:column;
  border:none !important; box-shadow:none !important; border-radius:0 !important;
  pointer-events:none;
}


.slide-list{ position:relative; scrollbar-width:none; --scroll-fade-inset:24px; --scroll-fade-gap:6px; }
.slide-list::-webkit-scrollbar{ display:none; }
.slide-list.has-scroll:not(.at-scroll-end)::after{
  content:''; position:sticky; display:block; flex-shrink:0; left:0; right:0;
  bottom:calc(-1 * var(--scroll-fade-inset));
  height:48px; margin-top:calc(-48px - var(--scroll-fade-gap)); pointer-events:none;
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(255,255,255,0.92) 45%, rgba(255,255,255,0) 100%);
}
html[data-ui-theme="dark"] .slide-list.has-scroll:not(.at-scroll-end)::after{
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(26,31,39,0.92) 45%, rgba(26,31,39,0) 100%);
}
/*! /css/rail.css */
.rail-dock{ flex-shrink:0; display:flex; flex-direction:row; align-items:center; height:100%; }
.icon-rail-dock{
  flex-shrink:0; height:100%;
  display:flex; z-index:16;
}
.icon-rail-dock.collapsed{ display:none; }
.icon-rail{
  width:72px;
  flex-shrink:0;
  background:var(--md-color-grey-white);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
  padding:0px 8px 14px 8px;
  position:relative;
  z-index:16;
}
.icon-rail-btn{
  display:flex; flex-direction:column; align-items:center; gap:5px;
  border:none; background:none; border-radius:16px; padding:10px 2px;
  font-family:var(--font-sans); font-size:var(--text-2xs); font-weight:var(--font-weight-light); color:var(--ui-muted); cursor:pointer;
}
.icon-rail-btn svg{ width:20px; height:20px; }
.icon-rail-divider{ height:1px; background:var(--ui-border); margin:4px 12px 6px; flex-shrink:0; }
.icon-rail-icon-wrap{ position:relative; display:inline-flex; }
.icon-rail-dot{ position:absolute; top:-3px; right:-6px; width:8px; height:8px; border-radius:50%; background:var(--ui-accent); border:1.5px solid var(--md-color-grey-white); }
.icon-rail-dot.hidden{ display:none; }
.rail-section[data-section="comments"]{ flex:1; min-height:0; }
.icon-rail-btn i{ font-size:var(--text-3xl); font-weight:var(--font-weight-regular); }
.icon-rail-btn:hover{ background:none; }
.icon-rail-btn:hover i{ font-weight:var(--font-weight-black); }
.icon-rail-btn:focus, .icon-rail-btn:focus-visible, .icon-rail-btn.active{ background:none; color:var(--ui-accent); outline:none; }
.icon-rail-btn:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:-2px; border-radius:8px; }
.icon-rail-btn:focus i, .icon-rail-btn:focus-visible i, .icon-rail-btn.active i{ font-weight:var(--font-weight-black); }
.omega-icon-wrap{ position:relative; width:20px; height:20px; }
.omega-icon{
  position:absolute; inset:0; background:currentColor;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
  transition:opacity .1s ease;
}
.omega-icon-regular{ -webkit-mask-image:url('/assets/logo/logo-ai-regular.svg'); mask-image:url('/assets/logo/logo-ai-regular.svg'); }
.omega-icon-solid{ opacity:0; -webkit-mask-image:url('/assets/logo/logo-ai-solid.svg'); mask-image:url('/assets/logo/logo-ai-solid.svg'); }
.icon-rail-btn-omega:hover .omega-icon-regular,
.icon-rail-btn-omega:focus .omega-icon-regular,
.icon-rail-btn-omega:focus-visible .omega-icon-regular,
.icon-rail-btn-omega.active .omega-icon-regular{ opacity:0; }
.icon-rail-btn-omega:hover .omega-icon-solid,
.icon-rail-btn-omega:focus .omega-icon-solid,
.icon-rail-btn-omega:focus-visible .omega-icon-solid,
.icon-rail-btn-omega.active .omega-icon-solid{ opacity:1; }

.rail-panel{
  display:none; overflow:hidden;
  background:var(--md-color-grey-white);
  flex-direction:column;
  position:relative;
  container-name:rail-panel;
  container-type:inline-size;
}
.rail-panel.open{ display:flex; width:300px; height:calc(100% - 12px); box-shadow: var(--shadow-panel); margin-left: 12px; margin-bottom: 12px; border-radius: 12px; z-index: 17; }
.rail-panel-resize-handle{ position:absolute; top:0; left:-3px; bottom:0; width:6px; cursor:col-resize; z-index:5; }
.rail-panel-resize-handle:hover, .rail-panel-resize-handle.resizing{ background:rgba(0,64,222,0.18); }
.rail-panel-header{ cursor:default; }
.rail-panel-body{ flex:1; overflow-y:auto; overflow-x:hidden; padding:12px 14px 0; display:flex; flex-direction:column; gap:10px; scrollbar-width:none; }
.rail-panel-body::-webkit-scrollbar{ display:none; }
#componentCatFilterSeg{ flex-shrink:0; }
.rail-block{ display:flex; flex-direction:column; gap:8px; }
#layoutComposeBlock, #layoutFooterBlock{ margin-top:14px; }
.rail-block.hidden{ display:none; }
.rail-block-label{ font-size:var(--text-sm); font-weight:var(--font-weight-semibold); color:var(--ui-muted); text-transform:uppercase; letter-spacing:0.03em; }
.layout-compose-actions{ display:flex; gap:6px; }
.layout-compose-actions .btn{ flex:1 1 0; min-width:0; justify-content:center; white-space:nowrap; }
.layout-compose-actions .btn i{ margin-right:4px; }
.layout-compose-hint{ font-size:var(--text-sm); color:var(--ui-muted); line-height:1.4; }
.layout-compose-hint:empty{ display:none; }
.layout-compose-hint.is-error{ color:var(--md-color-pink-500); }
.layout-preview-grid{
  display:grid; gap:4px; width:100%; aspect-ratio:16/9; padding:10px;
  border:1px solid var(--ui-border); border-radius:10px; background:var(--md-neutral-background-2-rest);
}
.layout-preview-cell{ background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:4px; }
.layout-preview-cell.row-hover{ background:color-mix(in srgb, var(--ui-accent) 14%, var(--md-color-grey-white)); }
html[data-ui-theme="dark"] .layout-preview-cell.row-hover{ background:color-mix(in srgb, var(--ui-accent) 30%, var(--md-color-grey-white)); }
.rail-section{ display:flex; flex-direction:column; gap:10px; }
.rail-section.hidden{ display:none; }
.rail-panel-bottom-spacer{ flex-shrink:0; height:28px; }
.rail-section[data-section="properties"]{ gap:0; }
#layoutGridControls{ display:flex; flex-direction:column; gap:10px; }
#layoutGridControls.hidden{ display:none; }
.section-color-swatch{
  width:26px; height:26px; border-radius:50%; border:none; padding:0;
  cursor:pointer; box-shadow:inset 0 0 0 1px rgba(var(--shadow-rgb),0.12);
  outline:2px solid transparent; outline-offset:3px; transition:outline-color .15s ease;
}
.section-color-swatch.active{ outline-color:var(--ui-accent); }
.tag-color-swatches{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.tag-color-swatch{
  box-sizing:border-box; flex:0 0 auto; display:block; line-height:0;
  width:16px; height:16px; border-radius:50%; border:none; padding:0;
  cursor:pointer; background:var(--swatch-color);
  outline:2px solid transparent; outline-offset:3px; transition:outline-color .15s ease;
}
.tag-color-swatch.active{ outline-color:var(--ui-accent); }
.search-box{ position:relative; }
.search-box input{
  width:100%;
  font-family:var(--font-sans);
  font-size:var(--text-base);
  padding:7px 28px 7px 32px;
  border:1px solid var(--ui-border);
  border-radius:8px;
  outline:none;
}
.search-box input:focus{ border-color:var(--ui-accent); }
.row-edit .search-box input{ padding:7px 28px 7px 32px; }
.search-box::before{
  font-family:"Font Awesome 6 Pro"; font-weight:var(--font-weight-black); content:"\f002";
  position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--ui-muted); font-size:var(--text-base); pointer-events:none;
}
.search-box:focus-within::before{ color:var(--ui-accent); }
.search-clear-btn{
  display:none; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%;
  background:none; border:none; padding:0; color:var(--ui-muted); font-size:var(--text-sm); cursor:pointer;
}
.search-clear-btn:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }
.search-box.has-value .search-clear-btn{ display:flex; }
.search-box.has-suggestion input{ padding-right:56px; position:relative; z-index:1; background:transparent; }
.search-ghost{
  position:absolute; inset:0; padding:7px 56px 7px 32px; font-family:var(--font-sans);
  font-size:var(--text-base); display:flex; align-items:center; white-space:pre; overflow:hidden;
  pointer-events:none; z-index:0;
}
.search-ghost-typed{ color:transparent; }
.search-ghost-rest{ color:var(--ui-muted); }
.search-tab-hint{
  display:none; position:absolute; right:28px; top:50%; transform:translateY(-50%);
  font-size:var(--text-xs); font-weight:var(--font-weight-semibold); color:var(--ui-muted); border:1px solid var(--ui-border);
  border-radius:4px; padding:1px 5px; background:var(--md-color-grey-white); z-index:1;
}
.search-box.has-suggestion .search-tab-hint{ display:block; }
.search-recent-menu{
  display:none; position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:60;
  flex-direction:column; gap:1px; padding:6px; box-sizing:border-box;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; box-shadow:var(--shadow-popover);
}
.search-box.recent-open .search-recent-menu{ display:flex; }
.search-recent-head{ font-size:var(--text-xs); font-weight:var(--font-weight-semibold); color:var(--ui-muted); padding:4px 8px 5px; }
.search-recent-item{
  display:flex; align-items:center; gap:8px; width:100%; min-height:32px; padding:6px 8px; box-sizing:border-box;
  border:none; border-radius:6px; background:none; text-align:left; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text);
}
.search-recent-item:hover{ background:var(--md-neutral-background-2-rest); }
.search-recent-item > i{ color:var(--ui-muted); font-size:var(--text-sm); flex-shrink:0; }
.search-recent-item > span:first-of-type{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-recent-remove{ display:flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; color:var(--ui-muted); font-size:var(--text-sm); opacity:0; flex-shrink:0; }
.search-recent-item:hover .search-recent-remove{ opacity:1; }
.search-recent-remove:hover{ background:var(--ui-border); color:var(--ui-text); }
.panel-hint{ font-size:var(--text-sm); color:var(--ui-muted); margin:0; line-height:1.4; }
#propertiesPanelTitle{ display:block; margin-bottom:8px; }
.prop-field-hint{ font-size:var(--text-xs); color:var(--ui-muted); margin-top:-6px; padding-left:3px; }
#pricingFooterWrap{ display:flex; flex-direction:column; gap:12px; }
.prop-field-hint a{ color:var(--md-neutral-foreground-2-rest); text-decoration:underline; }
.library-import-btn{ display:block; width:100%; margin-bottom:8px; }
.empty-hint{ font-size:var(--text-md); color:var(--ui-muted); text-align:center; padding:16px 4px; grid-column:1 / -1; }

.component-category-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px 10px;
}
@container rail-panel (min-width:420px){
  .component-category-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@container rail-panel (min-width:600px){
  .component-category-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
}
#componentListAll, #libraryList{ display:flex; flex-direction:column; gap:18px; }
.rail-section[data-section="cards"].list-empty, .rail-section[data-section="library"].list-empty{ flex:1; min-height:0; }
#componentListAll.list-empty, #libraryList.list-empty{ flex:1; min-height:0; }
.search-no-results{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:24px 16px; color:var(--md-neutral-foreground-3-rest); font-size:var(--text-base); }
.search-no-results img{ width:56px; height:56px; }
.search-no-results-reset{
  background:var(--ui-accent); border:none; color:var(--md-color-grey-white); font-family:var(--font-sans);
  font-size:var(--text-base); font-weight:var(--font-weight-semibold); cursor:pointer; padding:8px 16px; border-radius:8px;
}
.search-no-results-reset:hover{ background:var(--ui-accent-hover); }
.component-category-label{ font-size:var(--text-sm); font-weight:var(--font-weight-semibold); color:var(--ui-muted); text-transform:uppercase; letter-spacing:0.04em; }
.component-category-label-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.component-category-header-actions{ display:flex; align-items:center; gap:10px; }
.component-category:not(:first-child){ border-top:1px solid var(--ui-border); padding-top:18px; }
.component-thumb{ cursor:grab; }
.component-thumb:active{ cursor:grabbing; }
.component-thumb.dragging{ opacity:0.4; }
.thumb-preview{
  background:var(--card-bg); border-radius:10px; padding:12px 8px;
  border:1px solid var(--ui-border);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  text-align:center; height:76px; overflow:hidden;
  transition:border-color .15s, box-shadow .15s;
}
.component-thumb:hover .thumb-preview{ border-color:var(--ui-accent); box-shadow:var(--shadow-sm); }
.thumb-preview img{ width:100%; height:100%; object-fit:contain; }
.thumb-preview .stat-value{ font-family:var(--font-display); font-size:var(--text-xl); line-height:1.2; color:var(--stat-color); }
.thumb-preview .stat-label{ font-family:var(--font-sans); font-size:var(--text-2xs); line-height:1.2; color:var(--label-color); }
.thumb-name{ display:block; font-size:var(--text-md); color:var(--ui-text); text-align:center; margin-top:6px; letter-spacing:0.02em; }

.prop-span-row, .prop-grid-row{ display:flex; gap:8px; margin-bottom:10px; }
.prop-repair-row{ display:flex; flex-direction:column; gap:6px; margin-bottom:10px; }
.prop-repair-row .btn{ width:100%; box-sizing:border-box; display:flex; justify-content:center; }
.prop-repair-row .prop-field-hint{ margin-top:0; }
.prop-span-field, .prop-grid-field{
  position:relative; flex:1 1 0; min-width:0; height:34px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:space-between; gap:2px; padding:0 4px;
  border:1px solid var(--ui-border); border-radius:8px; background:var(--md-color-grey-white);
}
.prop-span-field:focus-within, .prop-grid-field:focus-within{ border-color:var(--ui-accent); }
.prop-span-field[data-title-span]{ flex:0 0 auto; width:112px; }
.prop-span-label{
  position:absolute; left:9px; top:0; transform:translateY(-50%);
  font-size:var(--text-xs); line-height:1; color:var(--ui-muted);
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px; pointer-events:none;
}
.prop-span-field button, .prop-grid-field button{
  flex:0 0 auto; width:24px; height:24px; border-radius:6px; cursor:pointer;
  border:none; background:transparent; color:var(--ui-text);
  font-size:var(--text-xl); line-height:1; display:flex; align-items:center; justify-content:center;
}
.prop-span-field button:hover:not(:disabled), .prop-grid-field button:hover:not(:disabled){ background:var(--ui-surface-2); }
.prop-span-field button:disabled, .prop-grid-field button:disabled{ opacity:0.3; cursor:not-allowed; }
.prop-span-value{
  flex:1 1 auto; text-align:center; font-size:var(--text-base); color:var(--ui-text);
  font-family:var(--font-sans);
}

.prop-field.is-mixed input::placeholder,
.prop-field.is-mixed textarea::placeholder{ color:var(--md-neutral-foreground-3-rest); opacity:1; }
.prop-multi-empty{
  margin:12px 2px; font-size:var(--text-md); line-height:1.45; color:var(--ui-muted);
}

.mini-segment.is-mixed{ position:relative; }
.mini-segment.is-mixed .cols-group-thumb{ opacity:0; }
.mini-segment.is-mixed button{ color:var(--md-neutral-foreground-3-rest); }
.mini-segment-mixed-host{ position:relative; display:inline-flex; border-radius:8px; }
.mini-segment-mixed-host.is-mixed .cols-group-thumb{ opacity:0; }
.mini-segment-mixed-host.is-mixed button{ color:var(--md-neutral-foreground-3-rest); }
.mini-segment-mixed-overlay{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  display:flex; align-items:center; justify-content:center;
  border-radius:inherit; background:rgba(255,255,255,0.82);
  font-size:var(--text-sm); color:var(--md-neutral-foreground-3-rest);
  transition:opacity .14s ease;
}
.mini-segment.is-mixed:hover .mini-segment-mixed-overlay,
.mini-segment-mixed-host.is-mixed:hover .mini-segment-mixed-overlay{ opacity:0; }

.is-mixed-value::placeholder{ color:var(--md-neutral-foreground-3-rest); opacity:1; }
#propsBody .prop-field:has(> input.is-mixed-value) > span:first-child,
#propsBody .prop-field:has(> textarea.is-mixed-value) > span:first-child,
#propsBody .prop-field.is-mixed > span:first-child{ top:0; font-size:var(--text-xs); transform:translateY(-50%); }
#propsBody .prop-field input.is-mixed-value::placeholder, #propsBody .prop-field textarea.is-mixed-value::placeholder,
#propsBody .prop-field.is-mixed input::placeholder, #propsBody .prop-field.is-mixed textarea::placeholder{ color:var(--md-neutral-foreground-3-rest); opacity:1; }

html[data-ui-theme="dark"] .mini-segment-mixed-overlay{ background:rgba(26,31,39,0.82); }

.rail-filter-row, .rail-sticky-head{
  position:sticky; top:-12px; z-index:3; flex-shrink:0;
  background:var(--md-color-grey-white);
  padding:12px 0 10px; margin:-12px 0 0;
}
.rail-filter-row{ display:flex; align-items:stretch; gap:8px; }
.rail-sticky-head{ display:flex; flex-direction:column; gap:10px; }
.rail-filter-row.rail-cat-scrolled, .rail-sticky-head.rail-cat-scrolled{
  box-shadow:0 4px 12px rgba(var(--shadow-rgb),0.15);
}
.rail-filter-row > .search-box{ flex:1; min-width:0; }
.rail-dd{ position:relative; flex-shrink:0; }
.rail-dd-btn{
  position:relative; height:100%; padding:0 8px; display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--ui-border); border-radius:8px; background:none; color:var(--ui-text);
  font-size:var(--text-base); cursor:pointer;
}
.rail-dd-btn:hover{ background:var(--md-neutral-background-2-rest); }
.rail-dd-btn .rail-dd-caret{ font-size:var(--text-2xs); color:var(--ui-muted); }
.rail-dd-btn.has-value::after{
  content:''; position:absolute; top:4px; right:4px; width:6px; height:6px; border-radius:50%;
  background:var(--ui-accent);
}
.rail-dd-menu{ min-width:190px; max-width:240px; }
.rail-check-option{
  display:flex; align-items:center; gap:8px; width:100%; text-align:left; padding:7px 8px;
  border:none; background:none; border-radius:6px; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-sm); color:var(--ui-text);
}
.rail-check-option:hover{ background:var(--ui-surface-2); }
.rail-check-box{
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:16px; height:16px; border-radius:4px; border:1.5px solid var(--ui-border);
  background:var(--md-color-grey-white); color:transparent; font-size:var(--text-2xs);
}
.rail-check-box.checked{ background:var(--ui-accent); border-color:var(--ui-accent); color:var(--md-color-grey-white); }

.rail-panel-body{ position:relative; --scroll-fade-inset:0px; --scroll-fade-gap:10px; }
.rail-panel-body.has-scroll:not(.at-scroll-end)::after{
  content:''; position:sticky; display:block; flex-shrink:0; left:0; right:0; bottom:0;
  height:48px; margin-top:calc(-48px - var(--scroll-fade-gap)); pointer-events:none;
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(255,255,255,0.92) 45%, rgba(255,255,255,0) 100%);
}
html[data-ui-theme="dark"] .rail-panel-body.has-scroll:not(.at-scroll-end)::after{
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(26,31,39,0.92) 45%, rgba(26,31,39,0) 100%);
}
/*! /css/stage.css */
.image-asset-crop{ width:100%; height:100%; overflow:hidden; }
.image-asset-img{ width:100%; height:100%; object-fit:contain; display:block; transform:translate(var(--img-pan-x,0px), var(--img-pan-y,0px)) scale(var(--img-scale,1)); transform-origin:center center; }
.image-asset[data-logo-color="white"] .image-asset-img{ filter:brightness(0) invert(1); }
.image-asset[data-logo-color="black"] .image-asset-img{ filter:brightness(0); }
.logo-color-dot{ display:block; width:14px; height:14px; border-radius:50%; margin:0 auto; }
.logo-color-dot[data-v="multicolor"]{ background:conic-gradient(from 180deg, var(--ui-accent), #00B8D9, #F6C000, #FF5C5C, #7C4DFF, var(--ui-accent)); }
.logo-color-dot[data-v="white"]{ background:var(--md-color-grey-white); border:1px solid var(--ui-border); }
.logo-color-dot[data-v="black"]{ background:var(--md-color-grey-black); }
.image-asset.img-pan-armed .image-asset-img{ cursor:move; }
.image-asset.img-pan-armed .image-asset-img:active{ cursor:grabbing; }
.image-asset.img-pan-armed{ outline:2px solid var(--ui-accent); outline-offset:2px; }

.text-lead-content{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--text-6xl); line-height:40px; color:var(--md-neutral-foreground-1-rest); outline:none; white-space:pre-wrap; }
.key-message-content{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:68px; line-height:76px; color:var(--md-neutral-foreground-1-rest); outline:none; white-space:pre-wrap; }
.text-lead[data-align="center"] .text-lead-content,
.key-message[data-align="center"] .key-message-content{ text-align:center; }
.key-message[data-valign="middle"]{ display:flex; flex-direction:column; justify-content:center; }
.paragraph-content{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--text-4xl); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; white-space:pre-wrap; }
.paragraph[data-size="S"] .paragraph-content{ font-size:var(--text-2xl); line-height:24px; }
.paragraph[data-size="L"] .paragraph-content{ font-size:var(--text-5xl); line-height:32px; }
.paragraph[data-align="center"] .paragraph-content{ text-align:center; }

.library-thumb{ position:relative; }
#sourceFileInput{ position:fixed; left:0; bottom:0; width:1px; height:1px; opacity:0; pointer-events:none; }
.layout-thumb{ position:relative; cursor:pointer; }
.layout-thumb:active .layout-thumb-frame{ transform:scale(0.98); }
.layout-thumb-frame{
  position:relative; width:100%; aspect-ratio:16/9; overflow:hidden;
  border:1px solid var(--ui-border); border-radius:8px; background:var(--frame-bg);
  transition:box-shadow .15s, border-color .15s, transform .1s;
}
.layout-thumb:hover .layout-thumb-frame{ border-color:var(--ui-accent); box-shadow:var(--shadow-sm); }
.deck-thumbnail-img{ width:100%; height:100%; object-fit:cover; display:block; }
.layout-thumb-label{ display:block; margin-top:6px; font-size:var(--text-md); color:var(--ui-text); text-align:center; letter-spacing:0.02em; }
.layout-thumb-count{ display:block; margin-top:2px; font-size:var(--text-sm); color:var(--ui-muted); text-align:center; }
.layout-thumb .tag{ display:flex; margin:4px 0 0; width:fit-content; }
.layout-thumb-menu-btn{
  position:absolute; top:8px; right:8px; width:22px; height:22px; border-radius:6px; z-index:2;
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); color:var(--ui-muted);
  display:flex; align-items:center; justify-content:center; font-size:var(--text-sm); cursor:pointer;
  opacity:0; transition:opacity .12s;
}
.layout-thumb:hover .layout-thumb-menu-btn, .layout-thumb-menu-btn.open{ opacity:1; }
.layout-thumb-menu-btn:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
.custom-template-thumb .split-menu{ top:30px; right:4px; }
#templateEditSaveBtn, #templateEditShareBtn{ display:none; }
body.template-edit-mode .sidebar-left{ display:none; }
body.template-edit-mode #commentsToggleBtn{ display:none; }
body.template-edit-mode #deckOptionsSplit{ display:none; }
body.template-edit-mode #shareDeckBtn, body.template-edit-mode #topbarDeckTitleEditBtn{ display:none; }
#shareDeckBtn{ display:inline-flex; align-items:center; gap:6px; }
body.template-edit-mode #templateEditSaveBtn{ display:inline-block; }
body.template-edit-mode #templateEditShareBtn{ display:inline-flex; align-items:center; gap:6px; }
body.template-edit-mode #presentSplit{ display:none; }
body.template-edit-mode #leftSidebarCollapseBtn{ display:none; }
#templateEditOptionsSplit{ display:none; }
body.template-edit-mode #templateEditOptionsSplit{ display:flex; }
body.template-edit-readonly #templateEditOptionsSplit{ display:none; }
body.template-edit-readonly #topbarDeckTitleEditBtn{ display:none; }
.template-edit-back{ display:none; align-items:center; gap:6px; }
body.template-edit-mode .template-edit-back{ display:inline-flex; }
body.template-edit-readonly #templateEditSaveBtn, body.template-edit-readonly #templateEditShareBtn{ display:none; }

#deckTemplateRecapBtn, #deckTemplateDeleteBtn{ display:none; }
body.deck-template-edit-mode #deckTemplateRecapBtn,
body.deck-template-edit-mode #deckTemplateDeleteBtn{ display:flex; }
body.deck-template-edit-mode.deck-readonly #deckTemplateDeleteBtn{ display:none; }
body.deck-template-edit-mode #saveDeckTemplateBtn,
body.deck-template-edit-mode #shareDeckBtn,
body.deck-template-edit-mode #deckHistoryBtn,
body.deck-template-edit-mode #liveResultsBtn,
body.deck-template-edit-mode #deckRecapBtn,
body.deck-template-edit-mode #deleteDeckBtn,
body.deck-template-edit-mode #importDeckBtn{ display:none; }
body.deck-template-edit-mode #presentSplit{ display:none; }
body.deck-template-edit-mode #templateEditShareBtn{ display:inline-flex; align-items:center; gap:6px; order:1; }
body.deck-template-edit-mode #templateEditSaveBtn{ display:inline-block; order:2; }
body.deck-template-edit-mode #deckOptionsSplit{ order:3; }
body.deck-template-edit-mode .template-edit-back{ display:inline-flex; }

.stage-wrapper{
  flex:1; display:flex; flex-direction:row; min-width:0; position:relative;
  border-top-left-radius:12px; border-top-right-radius:12px; overflow:hidden;
  border:1px solid var(--ui-border);
  box-shadow:var(--shadow-panel);
}
.presenter-notes-box{
  position:absolute; left:16px; right:16px; bottom:16px; z-index:5;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px;
  box-shadow:var(--shadow-soft); padding:8px 14px;
  transition:border-color .12s ease;
}
.presenter-notes-box.notes-hidden{ display:none; }
.stage-mode-bar{
  position:absolute; left:50%; bottom:14px; transform:translateX(-50%); z-index:6;
  display:flex; gap:4px; padding:4px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:14px;
  box-shadow:var(--shadow-soft);
}
.stage-mode-btn{ width:40px; height:40px; border-radius:10px; font-size:var(--text-3xl); color:var(--ui-muted); }
.stage-mode-btn:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
.stage-mode-btn.active, .stage-mode-btn.active:hover{ background:var(--ui-accent-soft); color:var(--ui-accent); }
.stage-mode-btn[data-mode="cursor"]{ display:none; }
body.deck-readonly .stage-mode-btn[data-mode="hand"], body.deck-readonly .stage-mode-btn[data-mode="text"]{ display:none; }
body.deck-readonly.no-perm-comment .stage-mode-bar{ display:none; }
.stage-wrapper:has(.stage-mode-bar) .presenter-notes-box{ bottom:74px; }
.presenter-notes-box:focus-within{ border-color:var(--ui-accent); }
.presenter-notes-field{ position:relative; }
.presenter-notes-field textarea{
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text); outline:none; border:none;
  resize:none; min-height:20px; max-height:240px; overflow-y:auto;
  width:100%; box-sizing:border-box; padding:16px 0 2px; background:none;
  display:block;
}
.presenter-notes-field label{
  position:absolute; left:0; right:0; top:0; padding-bottom:2px; background:var(--md-color-grey-white);
  font-size:var(--text-xs); color:var(--ui-muted); pointer-events:none;
  letter-spacing:0.02em; transition:all .12s ease;
}
.presenter-notes-field textarea:placeholder-shown:not(:focus){ padding:9px 0; }
.presenter-notes-field textarea:placeholder-shown:not(:focus) + label{
  top:8px; font-size:var(--text-base); letter-spacing:normal; color:var(--ui-muted);
}
.cols-group{ position:relative; display:flex; gap:4px; border-radius:8px; padding:3px; background:var(--md-neutral-background-2-rest) }
.cols-group-thumb{ position:absolute; top:3px; bottom:3px; border-radius:5px; background:var(--md-neutral-background-1-rest); box-shadow: 0 2px 2px rgba(var(--shadow-rgb), 0.16); transition:left .18s ease, width .18s ease; z-index:0;}
.cols-group button{ position:relative; z-index:1; flex:1; font-family:var(--font-sans); font-size:var(--text-md); border:none; background:transparent; color:var(--ui-muted); padding:5px 9px; border-radius:5px; cursor:pointer; transition:color .18s ease; }
.cols-group button.active{ color:var(--md-neutral-foreground-1-rest); font-family:var(--font-regular);}
.cols-group button:disabled{ opacity:0.35; cursor:not-allowed; }
#componentCatFilterSeg .cols-group-thumb, #libraryCatFilterSeg .cols-group-thumb{ background:var(--product-foreground, var(--md-brand-foreground-1-rest)); }
#componentCatFilterSeg button.active, #libraryCatFilterSeg button.active{ color:var(--md-color-grey-white); }
.cols-group.mini-segment-compact{ display:inline-flex; }
.cols-group.mini-segment-compact button{ flex:0 0 auto; width:28px; padding:5px; }
.cols-group.mini-segment-compact button i{ font-size:var(--text-base); }
.stage{
  flex:1; overflow:auto; background:var(--canvas-bg); display:flex; padding:40px; position:relative;
  scrollbar-width:none; scroll-behavior:smooth;
}
.stage::-webkit-scrollbar{ display:none; }
.marquee-box{
  position:absolute; z-index:8; pointer-events:none;
  border:1px solid var(--ui-accent);
  background:color-mix(in srgb, var(--ui-accent) 12%, transparent);
  border-radius:2px;
}
body.marquee-selecting, body.marquee-selecting *{ user-select:none !important; }
body.marquee-selecting #framesContainer *{ pointer-events:none !important; }
body.marquee-selecting, body.marquee-selecting *{ cursor:crosshair !important; }
#framesContainer{ margin:auto; position:relative; }
#framesContainer::after{ content:''; position:absolute; right:-40px; bottom:-40px; width:1px; height:1px; }
.frame{
  --zoom:1;
  display:none;
  width:1920px;
  height:1080px;
  min-width:1920px;
  min-height:1080px;
  background:var(--frame-bg);
  border:1px solid var(--ui-border-strong);
  border-radius:24px;
  overflow: hidden;
  box-shadow:0 4px 16px rgba(var(--shadow-rgb),0.14);
  position:relative;
  flex-shrink:0;
}
.frame[data-claude-draft="1"] .slide-empty-bar{ display:none !important; }
.claude-draft-skeleton{
  position:absolute; inset:0; grid-row:2 / -1; grid-column:1 / -1;
  display:flex; gap:var(--grid-system-slide-grid-gutter);
  pointer-events:none; overflow:hidden; border-radius:24px;
}
.claude-draft-skeleton-card{
  flex:1 1 0; min-width:0; box-sizing:border-box; border-radius:24px;
  background:var(--slide-surface-2);
  padding:48px 44px; display:flex; flex-direction:column; align-items:flex-start;
}
.claude-draft-skeleton-card > span{ display:block; background:color-mix(in srgb, var(--slide-surface-3) 85%, var(--slide-surface-2)); }
.claude-draft-skeleton-icon{ width:72px; height:72px; border-radius:20px; margin-bottom:40px; }
.claude-draft-skeleton-title{ width:64%; height:36px; border-radius:18px; margin-bottom:28px; }
.claude-draft-skeleton-line{ width:100%; height:20px; border-radius:10px; margin-bottom:16px; }
.claude-draft-skeleton-line.is-mid{ width:86%; }
.claude-draft-skeleton-line.is-short{ width:52%; }
.claude-draft-skeleton-foot{ width:34%; height:32px; border-radius:16px; margin-top:auto; }
.claude-draft-skeleton::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--slide-surface) 70%, transparent) 50%, transparent 65%);
  background-size:250% 100%; background-repeat:no-repeat;
  animation:claude-draft-sweep 1.8s ease-in-out infinite;
}
@keyframes claude-draft-sweep{ 0%{ background-position:130% 0; } 100%{ background-position:-30% 0; } }
@media (prefers-reduced-motion: reduce){ .claude-draft-skeleton::after{ animation:none; display:none; } }
.frame-comment-btn{
  position:absolute; top:6px; right:6px; width:32px; height:32px; box-sizing:border-box;
  background:var(--md-color-grey-white); border:none; border-radius:8px; color:var(--ui-accent);
  display:none; align-items:center; justify-content:center; cursor:pointer;
  z-index:20; font-size:var(--text-2xl); padding:0;
  zoom:calc(1 / var(--zoom));
}
.frame.has-comment .frame-comment-btn{ display:flex; }
.frame[data-theme="dark"] .frame-comment-btn{ background:transparent; }
.frame-comment-count{
  position:absolute; top:-5px; right:-5px; min-width:16px; height:16px; padding:0 4px;
  display:flex; align-items:center; justify-content:center; border-radius:8px;
  background:var(--ui-accent); color:var(--md-color-grey-white); font-size:var(--text-xs); font-weight:var(--font-weight-semibold); line-height:1;
  font-family:var(--font-sans);
}
.frame.active{ display:flex; flex-direction:column; }
.presence-cursor{
  position:absolute; pointer-events:none; z-index:500;
  transform:translate(-2px, -2px) scale(calc(1 / var(--zoom, 1)));
  transform-origin:0 0;
}
.presence-cursor-label{
  position:absolute; left:14px; top:10px; white-space:nowrap; font-size:var(--text-xs); color:var(--md-color-grey-white);
  font-family:var(--font-sans); padding:2px 6px; border-radius:4px;
}
.presence-selected-badge{
  position:absolute; top:-9px; left:-2px; white-space:nowrap; font-size:var(--text-2xs); color:var(--md-color-grey-white);
  font-family:var(--font-sans); padding:1px 5px; border-radius:4px; z-index:30;
  pointer-events:none; transform:scale(calc(1 / var(--zoom, 1))); transform-origin:0 0;
}
.frame.elevated{ z-index:960; }
.frame.drag-over{ outline:2px dashed var(--ui-accent); outline-offset:-8px; }

.slide-header{ position:relative; flex-shrink:0; height:var(--slide-zones-slide-header-height); box-sizing:border-box; }
.slide-header-bar{ position:absolute; left:var(--grid-system-slide-grid-margin-horizontal); top:0; bottom:0; width:2px; background:var(--md-brand-stroke-1-rest); }
.slide-header-text{
  position:absolute; left:96px; top:80px; right:48px;
  display:flex; align-items:center; gap:6px;
  font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--text-2xl); line-height:24px;
  color:var(--md-brand-foreground-1-rest);
}
.slide-header-text.hidden{ display:none; }
.slide-header-count{ font-family:var(--font-display); font-weight:var(--font-weight-light); flex-shrink:0; }
.slide-header-section-name{ font-family:var(--font-sans); font-weight:var(--font-weight-light); }
.slide-header-logo{
  position:absolute; right:var(--grid-system-slide-grid-margin-horizontal); top:92px; transform:translateY(-50%);
  height:52px; width:auto; max-width:400px; object-fit:contain; display:block; pointer-events:none;
}
.slide-header.has-logo .slide-header-text{ right:calc(var(--grid-system-slide-grid-margin-horizontal) + 424px); }
.slide-title-cell{ display:flex; flex-direction:column; align-items:flex-start; padding:12px 0; gap:4px; box-sizing:border-box; overflow:hidden; }
.slide-title-cell.align-center{ align-items:center; text-align:center; }
.slide-title-eyebrow{
  width:100%;
  font-family:var(--font-regular); font-weight:var(--font-weight-regular);
  font-size:var(--md-typography-font-size-300); line-height:var(--md-typography-line-height-300);
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--md-brand-foreground-1-rest); outline:none;
  margin-bottom:8px;
}
.slide-title-eyebrow.hidden{ display:none; }
.slide-title{
  width:100%;
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--text-7xl); line-height:48px;
  color:var(--md-neutral-foreground-1-rest); outline:none;
}
.slide-title-sub{
  width:100%;
  font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--text-4xl); line-height:28px;
  color:var(--md-neutral-foreground-3-rest); outline:none;
}
.slide-title-sub.hidden{ display:none; }
[data-placeholder]:empty:before{
  content:attr(data-placeholder);
  color:var(--md-neutral-foreground-3-rest);
  pointer-events:none;
  font-family:var(--font-sans);
  font-weight:var(--font-weight-light);
}
[data-field] ol, [data-field] ul,
[contenteditable="true"] ol, [contenteditable="true"] ul{ margin:0; padding-inline-start:32px; }
.text-lead[data-align="center"] :is(ol, ul),
.key-message[data-align="center"] :is(ol, ul),
.paragraph[data-align="center"] :is(ol, ul),
.quote-card[data-align="center"] :is(ol, ul),
.callout[data-orientation="vertical"] :is(ol, ul),
.slide-title-cell.align-center :is(ol, ul){ padding-inline-start:0; list-style-position:inside; }
.slide-body{ position:relative; flex:1; min-height:0; padding:0 var(--grid-system-slide-grid-margin-horizontal); box-sizing:border-box; }
.slide-footer{ position:relative; flex-shrink:0; height:var(--slide-zones-slide-footer-height); box-sizing:border-box; }
.slide-footer-page{
  position:absolute; left:var(--grid-system-slide-grid-margin-horizontal); top:48px; transform:translateX(-50%);
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--text-lg); line-height:16px;
  color:var(--md-neutral-foreground-1-rest); white-space:nowrap;
}
.slide-footer-line{ position:absolute; left:var(--grid-system-slide-grid-margin-horizontal); top:80px; bottom:0; width:2px; background:var(--md-brand-stroke-1-rest); }
.slide-footer-caption-wrap{ position:absolute; left:96px; top:56px; right:225px; }
.slide-footer-caption-wrap.hidden{ display:none; }
.slide-footer-caption{ font-family:var(--font-sans); font-size:var(--text-lg); line-height:16px; color:var(--md-neutral-foreground-3-rest); outline:none; cursor:text; }
.slide-footer-logo{
  position:absolute; right:var(--grid-system-slide-grid-margin-horizontal); top:50%; transform:translateY(-50%);
  height:40px; width:auto; display:block;
}
.frame[data-theme="dark"] .slide-footer-logo{ filter:brightness(0) invert(1); }

.section-slide-bg{
  position:relative; flex:1; min-height:0; overflow:hidden;
  background:var(--cover-background);
  display:flex; flex-direction:column; align-items:flex-start;
  padding:296px 202px 0;
}
.section-slide-number{
  position:absolute; left:775px; top:calc(50% + 325px); transform:translateY(-50%);
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:1000px; line-height:1;
  color:var(--md-color-grey-white); white-space:nowrap; pointer-events:none; user-select:none;
}
.section-slide-title{
  position:relative;
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:96px; line-height:104px;
  color:var(--cover-foreground); outline:none; white-space:pre-wrap;
}
.section-color--blue{ --cover-background:var(--md-brand-background-1-rest); --cover-foreground:var(--md-brand-foreground-1-rest); }
.section-color--teal{ --cover-background:var(--md-teal-background-1-rest); --cover-foreground:var(--md-teal-foreground-1-rest); }
.section-color--pink{ --cover-background:var(--md-pink-background-1-rest); --cover-foreground:var(--md-pink-foreground-1-rest); }
.section-color--orange{ --cover-background:var(--md-orange-background-1-rest); --cover-foreground:var(--md-orange-foreground-1-rest); }
.section-color--grey{ --cover-background:var(--md-neutral-background-2-rest); --cover-foreground:var(--md-neutral-foreground-2-rest); }
.frame[data-theme="dark"] .section-color--teal{ --cover-background:rgba(60,203,170,0.16); --cover-foreground:#5FD6BB; }
.frame[data-theme="dark"] .section-color--pink{ --cover-background:rgba(240,122,160,0.16); --cover-foreground:#F28BB0; }
.frame[data-theme="dark"] .section-color--orange{ --cover-background:rgba(255,140,90,0.16); --cover-foreground:#FFA071; }
.frame[data-theme="dark"] .section-slide-number{ color:rgba(255,255,255,0.07); }

.frame[data-frame-type="content"][data-content-color="teal"],
.frame[data-frame-type="conclusion"][data-content-color="teal"],
.frame[data-frame-type="contact"][data-content-color="teal"]{
  --md-brand-background-1-rest:var(--md-teal-background-1-rest);
  --md-brand-background-inverted-rest:var(--md-teal-background-inverted-rest);
  --md-brand-background-inverted-2-rest:var(--md-teal-background-inverted-2-rest);
  --md-brand-background-transparent-rest:var(--md-teal-background-transparent-rest,rgba(7,126,99,0.2));
  --md-brand-foreground-1-rest:var(--md-teal-foreground-1-rest);
  --md-brand-stroke-1-rest:var(--md-teal-stroke-1-rest);
  --md-brand-stroke-2-rest:var(--md-teal-stroke-2-rest);
}
.frame[data-frame-type="content"][data-content-color="pink"],
.frame[data-frame-type="conclusion"][data-content-color="pink"],
.frame[data-frame-type="contact"][data-content-color="pink"]{
  --md-brand-background-1-rest:var(--md-pink-background-1-rest);
  --md-brand-background-inverted-rest:var(--md-pink-background-inverted-rest);
  --md-brand-background-inverted-2-rest:var(--md-pink-background-inverted-2-rest);
  --md-brand-background-transparent-rest:var(--md-pink-background-transparent-rest,rgba(199,59,97,0.2));
  --md-brand-foreground-1-rest:var(--md-pink-foreground-1-rest);
  --md-brand-stroke-1-rest:var(--md-pink-stroke-1-rest);
  --md-brand-stroke-2-rest:var(--md-pink-stroke-2-rest);
}

.frame[data-frame-type="content"] .slide-header-bar,
.frame[data-frame-type="content"] > .slide-footer .slide-footer-line{ background:var(--md-color-blue-500); }
.frame[data-theme="dark"]{ --md-brand-stroke-1-rest:var(--slide-accent); }
.frame[data-theme="dark"][data-content-color="teal"]{ --md-brand-stroke-1-rest:#5FD6BB; }
.frame[data-theme="dark"][data-content-color="pink"]{ --md-brand-stroke-1-rest:#F28BB0; }
.frame[data-theme="dark"][data-frame-type="content"] .slide-header-bar,
.frame[data-theme="dark"][data-frame-type="content"] > .slide-footer .slide-footer-line{ background:var(--slide-accent); }
.frame[data-theme="dark"]:not([data-content-color="teal"]):not([data-content-color="pink"]){ --md-brand-background-inverted-rest:var(--slide-accent); }

.cover-slide-bg{
  position:relative; flex:1; min-height:0; overflow:hidden;
  margin-bottom:calc(-1 * var(--slide-zones-slide-footer-height));
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding:232px 120px 244px;
}
.cover-title-group{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.cover-slide-title{
  position:relative;
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:96px; line-height:104px;
  color:var(--hero-fg); outline:none;
}
.cover-eyebrow{
  position:absolute; left:120px; top:110px;
  display:flex; flex-direction:column; align-items:flex-start; gap:28px;
}
.cover-eyebrow:not(:has(> .cover-slide-eyebrow:not(:empty))):not(.is-editing){ display:none; }
.cover-eyebrow-rule{ width:96px; height:6px; border-radius:3px; background:var(--hero-fg); }
.cover-slide-eyebrow{
  min-width:24px; max-width:1100px;
  font-family:var(--font-regular); font-weight:var(--font-weight-regular); font-size:var(--text-5xl); line-height:32px;
  letter-spacing:.12em; text-transform:uppercase; color:var(--hero-fg); outline:none; white-space:pre-wrap;
}
.cover-subtitle-slot{
  position:absolute; left:120px; right:520px; bottom:100px;
  display:flex; flex-direction:column; align-items:flex-start;
}
.cover-slide-subtitle{
  max-width:1100px;
  font-family:var(--font-regular); font-weight:var(--font-weight-regular); font-size:var(--text-6xl); line-height:40px;
  color:var(--slide-text-1); outline:none;
}
.cover-slide-info{
  max-width:1100px; margin-top:6px;
  font-family:var(--font-light); font-weight:var(--font-weight-light); font-size:var(--text-5xl); line-height:32px;
  color:var(--slide-text-2); outline:none;
}
.cover-slide-info:empty:not(.is-editing){ display:none; }
.cover-slide-info:not(:empty) ~ .cover-add-info-btn,
.cover-slide-info.is-editing ~ .cover-add-info-btn{ display:none; }
.cover-add-info-btn{ margin-top:8px; }
.cover-slide-bg.has-photo{ background:none; }
.cover-slide-photo,
.cover-slide-veil{
  position:absolute; top:0; left:0; width:100%; height:100%;
  pointer-events:none;
}
.cover-slide-photo{ object-fit:cover; display:block; }
.cover-slide-veil{
  width:calc(200% / 3); background-color:rgba(var(--hero-veil-rgb), 0.8);
  -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px);
}
.cover-slide-bg.has-photo .cover-slide-title,
.cover-slide-bg.has-photo .cover-slide-eyebrow,
.cover-slide-bg.has-photo .cover-slide-subtitle,
.cover-slide-bg.has-photo .cover-slide-info{ max-width:1100px; }
.frame .cover-slide-bg.photo-dark ~ .slide-footer .slide-footer-logo{ filter:brightness(0) invert(1); }
.frame .cover-slide-bg.photo-light ~ .slide-footer .slide-footer-logo{ filter:none; }
.deck-component[data-style="accent"] [data-placeholder]:empty:before{ color:rgba(255,255,255,0.6); }
.deck-component[data-style="accent"][data-ai="true"] [data-placeholder]:empty:before{ color:var(--md-neutral-foreground-3-rest); }
.deck-component[data-style="accent"]:not([data-ai="true"]) ::selection,
.deck-component[data-style="accent"]:not([data-ai="true"])::selection{
  background:rgba(255,255,255,0.35); color:var(--md-color-grey-white);
}
.cover-add-eyebrow-btn{ position:absolute; left:120px; top:110px; }
.cover-eyebrow:not(:has(> .cover-slide-eyebrow:empty)) ~ .cover-add-eyebrow-btn,
.cover-eyebrow.is-editing ~ .cover-add-eyebrow-btn{ display:none; }
.cover-ghost-btn,
.cover-add-subtitle-btn{
  display:flex; align-items:center; gap:10px; white-space:nowrap;
  font-family:var(--font-sans); font-size:var(--text-3xl); color:var(--hero-fg);
  background:var(--hero-chip); border:none; border-radius:10px;
  padding:14px 22px; cursor:pointer;
  opacity:0; pointer-events:none; transition:opacity .12s;
}
.cover-ghost-btn svg,
.cover-add-subtitle-btn svg{ width:20px; height:20px; }
.cover-slide-bg:hover .cover-ghost-btn,
.cover-slide-bg:hover .cover-add-subtitle-btn{ opacity:1; pointer-events:auto; }
.cover-ghost-btn:hover,
.cover-add-subtitle-btn:hover{ background:var(--hero-chip-hover); }

.agenda-slide-body{ flex:1; min-height:0; display:flex; flex-direction:row; }
.agenda-content{ flex:1; min-width:0; display:flex; flex-direction:column; padding:48px 23px 0 356px; overflow:auto; }
.agenda-illustration{ position:absolute; top:0; right:0; bottom:0; width:641px; object-fit:cover; border-radius:0 12px 12px 0; }
.agenda-title{
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:96px; line-height:104px;
  color:var(--product-foreground, var(--md-brand-foreground-1-rest)); margin:0 0 28px; max-width:900px;
}
.agenda-list{ display:flex; flex-direction:column; gap:26px; max-width:900px; }
.agenda-item{ position:relative; display:flex; align-items:center; gap:16px; }
.agenda-item.dragging{ opacity:0.4; }
.agenda-item-actions{
  position:absolute; right:calc(100% + 12px); top:8px;
  display:flex; align-items:center; gap:4px;
  opacity:0; transition:opacity .1s;
}
.agenda-item:hover .agenda-item-actions{ opacity:1; }
.agenda-item-grip{ position:relative; cursor:grab; }
.agenda-item-grip:active{ cursor:grabbing; }
.agenda-item-grip::before{ content:''; position:absolute; top:-6px; right:-6px; bottom:-6px; left:-8px; }
.agenda-item-badge-rail{ flex-shrink:0; align-self:stretch; display:flex; align-items:flex-start; }
.agenda-item-badge{
  flex-shrink:0; width:48px; height:48px; border-radius:10px;
  background:var(--md-neutral-background-2-rest); color:var(--product-foreground, var(--md-brand-foreground-1-rest));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--text-5xl);
}
.agenda-item-text{
  flex:1; min-width:0;
  font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--text-6xl); line-height:40px;
  color:var(--md-neutral-foreground-1-rest); outline:none; white-space:pre-wrap;
}
.agenda-empty-hint{ font-family:var(--font-sans); font-size:var(--text-2xl); color:var(--ui-muted); }

.conclusion-slide-bg{
  position:relative; flex:1; min-height:0; overflow:hidden; box-sizing:border-box;
  display:flex; padding-top:48px;
}
.conclusion-slide-container{ display:flex; flex:1; min-width:0; width:100%; box-sizing:border-box; gap:88px; padding:254px 154px 126px 308px; }
.conclusion-slide-col{ flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-between; height:100%; color:var(--slide-text-2); }
.conclusion-slide-title{
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:96px; line-height:104px;
  color:var(--hero-fg); outline:none; white-space:pre-wrap;
}
.conclusion-slide-desc{
  font-family:var(--font-light); font-weight:var(--font-weight-light); font-size:var(--text-5xl); line-height:60px;
  color:var(--slide-text-2); outline:none; white-space:pre-wrap;
}
.conclusion-slide-links{ justify-content:flex-end; gap:16px; }
.conclusion-slide-link-row{ display:flex; align-items:center; gap:32px; width:100%; }
.conclusion-slide-link-icon{
  flex-shrink:0; width:64px; height:64px; border-radius:14px; background:var(--hero-chip);
  display:flex; align-items:center; justify-content:center; color:var(--hero-fg); font-size:var(--text-6xl);
}
.conclusion-slide-link-text{
  flex:1; min-width:0; font-family:var(--font-light); font-weight:var(--font-weight-light); font-size:var(--text-5xl);
  line-height:32px; letter-spacing:0.5px; color:var(--slide-text-2); outline:none;
}
.frame[data-frame-type="conclusion"] a[data-field-link]{ text-decoration:none; }

.conclusion-slide-bg:not([data-custom="on"]) .conclusion-custom{ display:none; }
.conclusion-slide-bg[data-custom="on"] .conclusion-slide-desc,
.conclusion-slide-bg[data-custom="on"] .conclusion-slide-links{ display:none; }
.conclusion-slide-bg[data-custom="on"] .conclusion-slide-container{ flex-direction:column; gap:48px; padding:112px 154px 96px; }
.conclusion-slide-bg[data-custom="on"] .conclusion-slide-col{ flex:none; height:auto; }
.conclusion-custom{ flex:1; min-height:0; display:flex; gap:32px; align-items:stretch; }
.conclusion-block{
  flex:1 1 0; min-width:0; max-width:520px; box-sizing:border-box;
  display:flex; flex-direction:column; gap:24px; padding:32px;
  border-radius:24px; background:var(--hero-chip);
}
.conclusion-block-label{
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--text-6xl); line-height:40px;
  color:var(--hero-fg); outline:none;
}
.conclusion-block [contenteditable]{ outline:none; overflow-wrap:anywhere; }
.conclusion-block-qr{
  width:200px; max-width:100%; aspect-ratio:1; box-sizing:border-box; border-radius:16px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.conclusion-block-qr-svg, .conclusion-block-qr-img{ display:block; width:100%; height:100%; object-fit:contain; }
.conclusion-block-qr-img{ border-radius:16px; }
.frame[data-theme="dark"] .conclusion-block-qr.is-code{ background:#fff; }
.conclusion-block-qr.is-empty{ background:var(--md-neutral-background-2-rest); }
.conclusion-block-qr-empty{ font-size:80px; color:var(--md-neutral-foreground-3-rest); }
.conclusion-block-event-info, .conclusion-block-job, .conclusion-block-email{
  font-family:var(--font-light); font-weight:var(--font-weight-light); font-size:var(--text-4xl); line-height:28px;
  color:var(--slide-text-2); white-space:pre-wrap;
}
.conclusion-block-event{ display:flex; flex-direction:column; gap:24px; }
.conclusion-block-date{
  flex-shrink:0; width:200px; max-width:100%; aspect-ratio:1; box-sizing:border-box; padding:16px; border-radius:16px;
  background:var(--md-neutral-background-1-rest); text-align:center;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
}
.conclusion-block-day{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:96px; line-height:96px; color:var(--hero-fg); min-width:1ch; }
.conclusion-block-month{ font-family:var(--font-sans); font-size:28px; line-height:32px; letter-spacing:2px; text-transform:uppercase; color:var(--slide-text-2); min-width:1ch; }
.conclusion-block-date.has-time{ gap:4px; }
.conclusion-block-date.has-time .conclusion-block-day{ font-size:72px; line-height:76px; }
.conclusion-block-date.has-time .conclusion-block-month{ font-size:24px; line-height:28px; }
.conclusion-block-time{ font-family:var(--font-sans); font-size:24px; line-height:28px; color:var(--hero-fg); font-variant-numeric:tabular-nums; }
.conclusion-block-event-text{ flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; }
.conclusion-block-event-title, .conclusion-block-name{
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:24px; line-height:32px;
  color:var(--md-neutral-foreground-1-rest);
}
.conclusion-block[data-block-type="text"]{ background:none; padding-left:0; padding-right:0; }
.conclusion-block-free-text{
  font-family:var(--font-light); font-weight:var(--font-weight-light); font-size:var(--text-5xl); line-height:36px;
  color:var(--slide-text-2); white-space:pre-wrap;
}
.conclusion-block-rows{ display:flex; flex-direction:column; gap:16px; }
.conclusion-block-row{ display:flex; align-items:center; gap:20px; min-width:0; }
.conclusion-block-row .conclusion-slide-link-icon{ width:48px; height:48px; border-radius:12px; font-size:var(--text-5xl); background:var(--md-neutral-background-1-rest); }
.conclusion-block-row-text{
  flex:1; min-width:0; font-family:var(--font-light); font-weight:var(--font-weight-light); font-size:22px; line-height:28px;
  color:var(--slide-text-2); text-decoration:none;
}
.conclusion-block-rows.is-single .conclusion-block-row{ flex-direction:column; align-items:flex-start; gap:24px; }
.conclusion-block-rows.is-single .conclusion-block-row-text{ flex:none; width:100%; }
.conclusion-block-single-icon{
  width:200px; max-width:100%; aspect-ratio:1; box-sizing:border-box; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  background:var(--md-neutral-background-1-rest); color:var(--hero-fg); font-size:96px;
}
.conclusion-block-contact{ display:flex; flex-direction:column; gap:20px; }
.conclusion-block-contact .contact-avatar{ width:200px; max-width:100%; height:auto; aspect-ratio:1; border-radius:16px; }
.conclusion-block-contact .contact-avatar-placeholder{ font-size:64px; }
.conclusion-block-contact-text{ display:flex; flex-direction:column; gap:4px; }
.frame[data-theme="dark"] .conclusion-block-row .conclusion-slide-link-icon{ background:var(--hero-to); }
.frame[data-theme="dark"] .conclusion-block-date,
.frame[data-theme="dark"] .conclusion-block-single-icon{ background:var(--hero-from); }
.conclusion-panel-blocks{ display:flex; flex-direction:column; gap:12px; }
.conclusion-panel-block{
  display:flex; flex-direction:column; gap:16px; padding:12px 12px 16px;
  border:1px solid var(--ui-border); border-radius:12px; background:var(--ui-surface, transparent);
}
.conclusion-panel-block.dragging{ opacity:.4; }
.conclusion-panel-block-head{ display:flex; align-items:center; gap:8px; font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text); }
.conclusion-panel-block-icon{ width:16px; text-align:center; color:var(--ui-muted); }
.conclusion-panel-block-name{ flex:1; min-width:0; }
.conclusion-panel-datetime{ display:grid; grid-template-columns:minmax(0, 2fr) minmax(0, 1fr); gap:8px; }
.conclusion-add-block{ display:block; margin-top:4px; }
.conclusion-add-block > .bar-row-add{
  display:flex; align-items:center; justify-content:flex-start; width:auto; height:auto; gap:0;
  border:none; background:none; color:var(--md-neutral-foreground-3-rest); white-space:nowrap;
}
.conclusion-add-block > .bar-row-add:hover{ background:var(--md-neutral-background-2-rest); }
.conclusion-add-block > .bar-row-add:disabled{ opacity:.5; cursor:default; }
.conclusion-row-edit{ flex-direction:column; align-items:stretch; gap:6px; }
.conclusion-row-line{ display:flex; align-items:center; gap:6px; }
.conclusion-row-edit .conclusion-row-href{ width:100%; margin-left:0; }
.image-card-panel-thumb-wrap.conclusion-qr-thumb{ align-self:flex-start; width:96px; height:auto; aspect-ratio:1; }

.frame[data-frame-type="cover"],
.frame[data-frame-type="conclusion"]{
  --hero-from:#F2F5F9; --hero-to:#CFE0FB; --hero-fg:#0040DE;
  --hero-chip:rgba(255,255,255,0.7); --hero-chip-hover:rgba(255,255,255,0.95); --hero-footer-line:var(--slide-border);
  --hero-veil-rgb:226,235,250;
}
.cover-color--pink,
.frame[data-frame-type="conclusion"][data-content-color="pink"]{ --hero-to:#FFCAD7; --hero-fg:#C73B61; --hero-veil-rgb:248,223,232; }
.cover-color--teal,
.frame[data-frame-type="conclusion"][data-content-color="teal"]{ --hero-to:#C2F4E6; --hero-fg:#077E63; --hero-veil-rgb:218,244,239; }
.frame[data-theme="dark"][data-frame-type="cover"],
.frame[data-theme="dark"][data-frame-type="conclusion"]{
  --hero-from:#1E2430; --hero-to:rgba(107,138,247,0.28); --hero-fg:#6B8AF7;
  --hero-chip:rgba(255,255,255,0.08); --hero-chip-hover:rgba(255,255,255,0.14); --hero-footer-line:rgba(255,255,255,0.06);
  --hero-veil-rgb:30,36,48;
}
.frame[data-theme="dark"] .cover-color--pink,
.frame[data-theme="dark"][data-frame-type="conclusion"][data-content-color="pink"]{ --hero-to:rgba(240,122,160,0.24); --hero-fg:#F28BB0; --hero-veil-rgb:30,36,48; }
.frame[data-theme="dark"] .cover-color--teal,
.frame[data-theme="dark"][data-frame-type="conclusion"][data-content-color="teal"]{ --hero-to:rgba(0,215,175,0.20); --hero-fg:#5FD6BB; --hero-veil-rgb:30,36,48; }
.cover-slide-bg,
.conclusion-slide-bg{ background-color:var(--slide-bg); background-image:linear-gradient(160deg, var(--hero-from) 0%, var(--hero-to) 100%); }
.frame[data-frame-type="cover"] > .slide-footer{ background:transparent; box-shadow:none; }
.frame[data-frame-type="cover"] > .slide-footer{ pointer-events:none; }
.frame[data-frame-type="cover"] > .slide-footer .slide-footer-caption-wrap{ pointer-events:auto; }
.frame[data-frame-type="cover"] > .slide-footer .slide-footer-page,
.frame[data-frame-type="cover"] > .slide-footer .slide-footer-line{ display:none; }
.frame[data-frame-type="conclusion"] > .slide-footer{ background:var(--slide-bg); box-shadow:inset 0 1px 0 var(--hero-footer-line); }
.frame[data-theme="dark"] .conclusion-slide-link-icon{ background:var(--hero-to); }
.frame[data-theme="dark"] .cover-ghost-btn,
.frame[data-theme="dark"] .cover-add-subtitle-btn{ color:var(--slide-text-1); }

.frame[data-theme="dark"] .agenda-illustration{ content:url("/assets/illustration/illustration-agenda-dark.svg"); }

.contact-slide-header{ position:relative; height:174px; flex-shrink:0; box-sizing:border-box; padding:80px 48px 0 96px; display:flex; align-items:flex-start; }
.contact-slide-header::before{ content:''; position:absolute; left:48px; top:0; bottom:0; width:2px; background:var(--md-brand-stroke-1-rest); }
.contact-slide-breadcrumb{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--text-2xl); line-height:24px; color:var(--md-brand-foreground-1-rest); }
.contact-slide-body{ flex:1; min-height:0; display:flex; flex-direction:column; padding:0 48px; box-sizing:border-box; }
.contact-slide-title{
  text-align:center; padding:12px 0; outline:none;
  font-family:var(--font-light); font-weight:var(--font-weight-light); font-size:var(--text-7xl); line-height:48px;
  color:var(--md-neutral-foreground-1-rest);
}
.contact-slide-grid{ flex:1; min-height:0; display:flex; flex-wrap:nowrap; justify-content:center; align-items:flex-start; gap:32px; padding-top:112px; box-sizing:border-box; }
.contact-slide-item{ flex:0 1 300px; min-width:0; display:flex; flex-direction:column; align-items:center; gap:32px; text-align:center; }
.contact-avatar{
  position:relative; width:250px; height:250px; flex-shrink:0; border-radius:24px; overflow:hidden;
  background:var(--md-neutral-background-2-rest);
  box-shadow:0 8px 16px rgba(112,144,176,0.25), 0 0 2px rgba(112,144,176,0.2);
  display:flex; align-items:center; justify-content:center;
}
.contact-avatar-glow{ position:absolute; width:126px; height:126px; right:-45px; bottom:-80px; border-radius:9999px; background:var(--md-brand-background-inverted-rest); filter:blur(40px); }
.contact-avatar-img{ position:relative; width:100%; height:100%; object-fit:cover; }
.contact-avatar-placeholder{ position:relative; font-size:64px; color:var(--md-neutral-foreground-3-rest); }
.contact-slide-text{ display:flex; flex-direction:column; align-items:center; gap:12px; width:100%; }
.contact-slide-id{ display:flex; flex-direction:column; gap:4px; width:100%; }
.contact-slide-name{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--text-5xl); line-height:32px; color:var(--md-brand-foreground-1-rest); outline:none; }
.contact-slide-job{ font-family:var(--font-sans); font-size:var(--text-4xl); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; }
.contact-slide-contact{ display:flex; flex-direction:column; gap:9px; width:100%; font-family:var(--font-sans); font-size:var(--text-4xl); line-height:28px; color:var(--md-neutral-foreground-3-rest); }
.contact-slide-email, .contact-slide-phone{ outline:none; }
.contact-slide-phone:empty{ display:none; }

.cards-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(1,1fr);
  grid-auto-flow:row dense;
  gap:var(--grid-system-slide-grid-gutter); width:100%; height:100%;
  align-items:stretch; justify-items:stretch;
  position:relative; overflow:clip; overflow-clip-margin:72px;
}
.cards-grid > .deck-component:not(.slide-title-cell):not([data-free-pos="true"]){ grid-row:2 / auto; }
.frame.cols-1 .cards-grid{ grid-template-columns:repeat(1,minmax(0,1fr)); }
.frame.cols-2 .cards-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.frame.cols-3 .cards-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.frame.cols-4 .cards-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.frame.cols-6 .cards-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); }
.frame.cols-12 .cards-grid{ grid-template-columns:repeat(12,minmax(0,1fr)); }
.frame.cols-6 .deck-component, .frame.cols-12 .deck-component{ min-width:0; }
.frame.thumb-render.cols-1 .cards-grid{ grid-template-columns:repeat(1,minmax(0,1fr)); }
.frame.thumb-render.cols-2 .cards-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.frame.thumb-render.cols-3 .cards-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.frame.thumb-render.cols-4 .cards-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.frame.thumb-render.cols-6 .cards-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); }
.frame.thumb-render.cols-12 .cards-grid{ grid-template-columns:repeat(12,minmax(0,1fr)); }

.grid-overlay.cards-grid{ position:absolute; inset:0 48px 0 48px; width:auto; height:auto; display:none; pointer-events:none; z-index:1; }
#framesContainer.show-grid .grid-overlay.cards-grid{ display:grid; }
.grid-overlay .grid-cell{ border:1px dashed rgba(0,64,222,0.35); border-radius:6px; background:rgba(0,64,222,0.03); }

.drop-placeholder{
  position:absolute;
  pointer-events:none;
  border-radius:var(--radius);
  border:2px dashed var(--ui-accent);
  background:rgba(0,64,222,0.06);
  box-sizing:border-box;
  animation:placeholder-pulse 1s ease-in-out infinite;
  z-index:60;
}
.drop-placeholder.invalid{ border-color:var(--ui-danger-hover); background:rgba(192,54,44,0.08); animation:none; }
.drop-placeholder-size{
  position:absolute; left:50%; bottom:8px; transform:translateX(-50%); zoom:calc(1 / var(--zoom));
  padding:3px 8px; border-radius:6px; white-space:nowrap;
  background:var(--ui-accent); color:var(--md-color-grey-white);
  font-family:var(--font-sans); font-size:var(--text-xs); line-height:1.4;
}
.drop-placeholder-size:empty{ display:none; }
.drop-placeholder.invalid .drop-placeholder-size{ background:var(--ui-danger-hover); }
.deck-component.grid-preview-shift{ transition:transform 180ms cubic-bezier(.2,.8,.2,1); }
.drop-placeholder.shrunk{ border-style:dotted; }
@keyframes placeholder-pulse{ 0%,100%{ background:rgba(0,64,222,0.06); } 50%{ background:rgba(0,64,222,0.13); } }
@keyframes invalid-shake{ 0%,100%{ transform:translateX(0); } 25%{ transform:translateX(-5px); } 75%{ transform:translateX(5px); } }
.deck-component.invalid-drop{ animation:invalid-shake 0.25s ease-in-out; }
@keyframes invalid-shake-frame{ 0%,100%{ left:0; } 25%{ left:-5px; } 75%{ left:5px; } }
.frame.invalid-drop{ animation:invalid-shake-frame 0.25s ease-in-out; }
.deck-component.resizing-live{ z-index:20; box-shadow:0 0 0 2px var(--ui-accent); outline:none; }
.deck-component.dragging-move{ opacity:0.9; z-index:50; box-shadow:var(--shadow-raised); pointer-events:none; }
.deck-component.duplicate-ghost{ box-shadow:var(--shadow-raised); outline:2px dashed var(--ui-accent); outline-offset:2px; }
/*! /css/component-chrome.css */
.deck-component{
  position:relative;
  width:100%;
  height:100%;
  box-sizing:border-box;
  border-radius:var(--radius);
  word-break:break-word;
  overflow:clip;
  overflow-clip-margin:13px;
}
.deck-component:not(.slide-title-cell):hover{ cursor:grab; }
body.deck-readonly .deck-component:not(.slide-title-cell):hover{ cursor:default; }
body.stage-text-mode .deck-component:not(.slide-title-cell):hover{ cursor:default; }
body.stage-text-mode .deck-component [contenteditable="true"]{ cursor:text; }
body.stage-text-mode .deck-component [contenteditable="true"]:hover{
  outline:1px dashed var(--ui-accent); outline-offset:2px; border-radius:4px;
}
body.stage-text-mode .deck-component [contenteditable="true"]:focus{
  outline:2px solid var(--ui-accent); outline-offset:2px; border-radius:4px;
}
body.stage-comment-mode #framesContainer .frame{ user-select:none; -webkit-user-select:none; }
body.stage-comment-mode #framesContainer .frame, body.stage-comment-mode #framesContainer .frame *{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='-40 -40 592 592'%3E%3Cpath d='M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l.3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z' fill='%23fff' stroke='%23fff' stroke-width='72' stroke-linejoin='round'/%3E%3Cpath d='M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l.3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z' fill='%230040de'/%3E%3C/svg%3E") 2 24, pointer;
}
body.stage-comment-mode #framesContainer .deck-component:hover:not(:has([data-field]:hover)){
  outline:2px solid var(--ui-accent); outline-offset:3px; border-radius:6px;
}
body.stage-comment-mode #framesContainer .frame [data-field]:hover{
  outline:2px solid var(--ui-accent); outline-offset:2px; border-radius:4px;
}
.deck-component [contenteditable]:focus{ cursor:text; }
.deck-component.dragging-move{ cursor:grabbing; }
body.alt-key-down .deck-component:not(.slide-title-cell):hover{ cursor:copy; }
body.alt-key-down .slide-item:not([data-frame-type="cover"]){ cursor:copy; }
.deck-component.no-stretch{ height:auto; align-self:start; }
.deck-component[data-free-pos="true"]{ position:absolute; z-index:15; }
.deck-component.selected{ outline:2px solid var(--ui-accent); outline-offset:2px; overflow:visible; border-radius:0; }
.deck-component.selected.child-focused{ outline:none; }
.deck-component:hover{ overflow:visible; }
.deck-component b, .deck-component strong{ font-family:var(--font-display); }
.deck-component .card-resize-handle{ position:absolute; display:none; z-index:6; background:var(--md-color-grey-white); border:1px solid var(--ui-accent); box-sizing:border-box; box-shadow:0 1px 3px rgba(var(--shadow-rgb),0.2); zoom:calc(1 / var(--zoom)); }
.deck-component .card-resize-handle::before{ content:''; position:absolute; top:-6px; bottom:-6px; left:-6px; right:-6px; }
.deck-component.selected .card-resize-handle{ display:block; }
.deck-component .card-resize-handle.rh-nw{ left:-4px; top:-4px; width:8px; height:8px; border-radius:2px; cursor:nwse-resize; }
.deck-component .card-resize-handle.rh-ne{ right:-4px; top:-4px; width:8px; height:8px; border-radius:2px; cursor:nesw-resize; }
.deck-component .card-resize-handle.rh-sw{ left:-4px; bottom:-4px; width:8px; height:8px; border-radius:2px; cursor:nesw-resize; }
.deck-component .card-resize-handle.rh-se{ right:-4px; bottom:-4px; width:8px; height:8px; border-radius:2px; cursor:nwse-resize; }
.deck-component .card-resize-handle.rh-n{ left:10px; right:10px; top:-5px; height:10px; width:auto; margin:0; cursor:ns-resize; }
.deck-component .card-resize-handle.rh-s{ left:10px; right:10px; bottom:-5px; height:10px; width:auto; margin:0; cursor:ns-resize; }
.deck-component .card-resize-handle.rh-e{ top:10px; bottom:10px; right:-5px; width:10px; height:auto; margin:0; cursor:ew-resize; }
.deck-component .card-resize-handle.rh-w{ top:10px; bottom:10px; left:-5px; width:10px; height:auto; margin:0; cursor:ew-resize; }
.deck-component .card-resize-handle.rh-n, .deck-component .card-resize-handle.rh-s,
.deck-component .card-resize-handle.rh-e, .deck-component .card-resize-handle.rh-w{ background:transparent; border:none; box-shadow:none; border-radius:0; }
.deck-component .card-resize-handle.rh-n::after, .deck-component .card-resize-handle.rh-s::after,
.deck-component .card-resize-handle.rh-e::after, .deck-component .card-resize-handle.rh-w::after{ content:none; }
.deck-component .card-resize-handle.rh-nw, .deck-component .card-resize-handle.rh-ne,
.deck-component .card-resize-handle.rh-sw, .deck-component .card-resize-handle.rh-se{ z-index:7; }
.deck-component .card-grip-handle{
  position:absolute; left:50%; top:-8px; transform:translateX(-50%); zoom:calc(1 / var(--zoom));
  width:32px; height:16px; border-radius:5px; box-sizing:border-box;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); color:var(--ui-muted);
  display:none; align-items:center; justify-content:center;
  cursor:pointer; z-index:8; font-size:var(--text-xs);
  box-shadow:0 2px 6px rgba(var(--shadow-rgb),0.12);
}
.deck-component:hover .card-grip-handle, .deck-component.selected .card-grip-handle{ display:flex; }
body.stage-text-mode .deck-component:hover .card-grip-handle{ display:none; }
.deck-component.child-focused .card-resize-handle, .deck-component.child-focused .card-grip-handle{ display:none; }
.card-gear-btn, .card-lock-btn{
  position:absolute; top:10px; right:10px; width:32px; height:32px; box-sizing:border-box;
  background:none; border:none; color:var(--ui-muted);
  display:none; align-items:center; justify-content:center; cursor:pointer;
  z-index:7; font-size:var(--text-2xl); padding:0;
  zoom:calc(1 / var(--zoom));
}
body.right-panel-collapsed .deck-component:hover .card-gear-btn{ display:flex; }
.card-gear-btn:hover, .card-lock-btn:hover{ color:var(--ui-text); }
.deck-component[data-free-pos="true"]:hover .card-lock-btn,
.deck-component[data-free-pos="true"].selected .card-lock-btn{ display:flex; }
body.right-panel-collapsed .card-lock-btn{ right:50px; }
.deck-component[data-free-pos="true"][data-pos-locked="true"]{ pointer-events:none; }
.deck-component[data-free-pos="true"][data-pos-locked="true"] .card-lock-btn{ pointer-events:auto; }
.cards-grid:hover .deck-component[data-free-pos="true"][data-pos-locked="true"] .card-lock-btn{ display:flex; }
.deck-component .field-wrap{ position:relative; width:100%; }
.deck-component .field-wrap.hidden{ display:none; }
/*! /css/components/metric-card.css */
.metric-card{
  --stat-color:var(--md-brand-foreground-1-rest);
  background:var(--card-bg);
  padding:28px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-align:center;
}
.metric-card .stat-value{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-800); line-height:40px; color:var(--stat-color); display:inline-block; width:fit-content; max-width:100%; outline:none; }
.metric-card .stat-label{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--label-color); display:inline-block; width:fit-content; max-width:100%; outline:none; }
.metric-card .stat-description{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-300); line-height:16px; color:var(--md-neutral-foreground-1-rest); display:inline-block; width:fit-content; max-width:100%; outline:none; margin-top:2px; white-space:pre-wrap; }
.metric-card .stat-description:empty{ display:none; }
.metric-card[data-row="1"] .stat-description{ display:none; }
.metric-card[data-size="L"] .stat-value{ font-size:var(--md-typography-font-size-1000); line-height:76px; }
.metric-card[data-size="L"] .stat-label{ font-size:var(--md-typography-font-size-800); line-height:40px; font-family:var(--font-display) }
.metric-card[data-size="L"] .stat-description{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.metric-card[data-size="L"]{ padding:36px 20px; }
.metric-card[data-style="accent"]{ --card-bg:var(--md-brand-background-inverted-rest); --stat-color:var(--md-color-grey-white); --label-color:var(--md-color-grey-white); }
.metric-card[data-style="accent"] .stat-description{ color:rgba(255,255,255,0.72); }
/*! /css/components/feature-card.css */
.feature-card{
  background:transparent;
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:0px;
  text-align:left;
}
.feature-icon{
  flex-shrink:0;
  width:72px; height:72px;
  border-radius:var(--md-radius-160);
  background:var(--md-neutral-background-2-rest);
  color:var(--md-brand-foreground-1-rest);
  display:flex; align-items:center; justify-content:center;
}
.feature-icon i{ font-size:var(--md-typography-font-size-800); }
.feature-body{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto; padding:6px 0 16px; }
.feature-title-wrap{ order:1; }
.feature-divider{ order:2; display:none; width:100%; height:1px; background:var(--md-neutral-stroke-1-rest); flex-shrink:0; }
.feature-desc-wrap{ order:3; }
.feature-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-brand-foreground-1-rest); outline:none; width:fit-content; max-width:100%; padding-top:16px; padding-bottom:4px; }
.feature-description{
  font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-600); line-height:32px;
  color:var(--md-neutral-foreground-1-rest); outline:none; width:fit-content; max-width:100%;
  white-space:pre-wrap;
}

.feature-card[data-orientation="vertical"]{ flex-direction:column; align-items:flex-start; text-align:left; gap:0px; }
.feature-card[data-orientation="vertical"] .feature-body{ gap:20px; padding:0; width:100%; }
.feature-card[data-orientation="vertical"] .feature-title-wrap{ order:3; padding-bottom:8px; }
.feature-card[data-orientation="vertical"] .feature-title{ padding-top:0; padding-bottom:0; }
.feature-card[data-orientation="vertical"] .feature-divider{ order:2; display:block; }
.feature-card[data-orientation="vertical"] .feature-desc-wrap{ order:1; flex:1 1 auto; min-height:0; display:flex; flex-direction:column; justify-content:flex-start; }
.feature-card[data-orientation="vertical"][data-desc-align="bottom"] .feature-desc-wrap{ justify-content:flex-end; }
.feature-card[data-orientation="vertical"] .feature-description{ max-height:none; }
.feature-card[data-orientation="vertical"] .feature-icon{ width:48px; height:48px; }
.feature-card[data-orientation="vertical"] .feature-icon i{ font-size:48px; }

.feature-card[data-style="solid"]{ background:var(--md-neutral-background-2-rest); border-radius:var(--radius); padding:20px 28px 20px 20px; }
.feature-card[data-style="accent"]{ background:var(--md-brand-background-inverted-rest); border-radius:var(--radius); padding:20px 28px 20px 20px; }
.feature-card[data-orientation="vertical"][data-style="solid"], .feature-card[data-orientation="vertical"][data-style="accent"]{ padding:24px; }
.feature-card[data-orientation="vertical"][data-style="solid"]:not([data-desc-align="bottom"]),
.feature-card[data-orientation="vertical"][data-style="accent"]:not([data-desc-align="bottom"]){ gap:20px; }
.feature-card[data-style="accent"] .feature-title, .feature-card[data-style="accent"] .feature-description{ color:var(--md-color-grey-white); }
.feature-card[data-style="accent"] .feature-icon{ background:transparent; color:var(--md-color-grey-white); }
.feature-card[data-style="accent"] .feature-divider{ background:rgba(255,255,255,0.24); }
.feature-card[data-size="S"] .feature-icon{ width:32px; height:32px; }
.feature-card[data-size="S"] .feature-icon i{ font-size:var(--md-typography-font-size-700); }
.feature-card[data-size="S"] .feature-title{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.feature-card[data-size="S"] .feature-description{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.feature-card[data-size="S"][data-style="solid"]:not([data-orientation="vertical"]) .feature-body,
.feature-card[data-size="S"][data-style="accent"]:not([data-orientation="vertical"]) .feature-body{ padding-top:0; }
.feature-card[data-size="S"][data-style="solid"]:not([data-orientation="vertical"]) .feature-title,
.feature-card[data-size="S"][data-style="accent"]:not([data-orientation="vertical"]) .feature-title{ padding-top:2px; }
.feature-card[data-size="S"][data-style="solid"]:not([data-orientation="vertical"]),
.feature-card[data-size="S"][data-style="accent"]:not([data-orientation="vertical"]){ gap:16px; }
.feature-card[data-size="L"] .feature-icon{ width:68px; height:68px; }
.feature-card[data-size="L"] .feature-icon i{ font-size:var(--md-typography-font-size-900); }
.feature-card[data-size="L"] .feature-title{ font-size:var(--md-typography-font-size-800); line-height:40px; }
.feature-card[data-size="L"] .feature-description{ font-size:var(--md-typography-font-size-800); line-height:40px; }
.feature-card[data-size="L"][data-style="solid"]:not([data-orientation="vertical"]) .feature-body,
.feature-card[data-size="L"][data-style="accent"]:not([data-orientation="vertical"]) .feature-body{ padding-top:0; }
.feature-card[data-size="L"][data-style="solid"]:not([data-orientation="vertical"]) .feature-title,
.feature-card[data-size="L"][data-style="accent"]:not([data-orientation="vertical"]) .feature-title{ padding-top:14px; }
.feature-card[data-size="L"][data-style="solid"]:not([data-orientation="vertical"]),
.feature-card[data-size="L"][data-style="accent"]:not([data-orientation="vertical"]){ gap:8px; }
.feature-card[data-icon-name=""] .feature-icon{ display:none; }

.feature-card[data-ai="true"] .feature-title{
  background-image:linear-gradient(160deg, var(--md-color-blue-500) 4%, var(--md-color-ai-lavender) 51%, var(--md-color-ai-berry) 94%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.feature-card[data-style="accent"][data-ai="true"]{
  background:linear-gradient(135deg, rgba(131,195,229,0.1) 8%, rgba(224,147,244,0.1) 29%, rgba(235,77,114,0.1) 58%, rgba(242,180,77,0.1) 81%);
}
.feature-card[data-style="accent"][data-ai="true"] .feature-icon{ background:transparent; color:var(--md-brand-foreground-1-rest); }
.feature-card[data-style="accent"][data-ai="true"] .feature-description{ color:var(--md-neutral-foreground-1-rest); }
.feature-card[data-style="accent"][data-ai="true"] .feature-divider{ background:var(--md-neutral-stroke-1-rest); }

.feature-card:not([data-style="solid"]):not([data-style="accent"]) .feature-icon{
  background:transparent;
  width:36px; height:36px;
}
.feature-card:not([data-style="solid"]):not([data-style="accent"])[data-orientation="vertical"] .feature-icon{ width:52px; height:52px; }
.feature-card:not([data-style="solid"]):not([data-style="accent"])[data-size="S"] .feature-icon{ width:32px; height:32px; }
.feature-card:not([data-style="solid"]):not([data-style="accent"])[data-size="L"] .feature-icon{ width:44px; height:44px; }
.feature-card:not([data-style="solid"]):not([data-style="accent"]) .feature-body{ padding-top:0; }
.feature-card:not([data-style="solid"]):not([data-style="accent"]) .feature-title{ padding-top:2px; }
.feature-card:not([data-style="solid"]):not([data-style="accent"]){ gap:16px; }
.feature-card:not([data-style="solid"]):not([data-style="accent"])[data-orientation="vertical"]{ gap:16px; }
.feature-card:not([data-style="solid"]):not([data-style="accent"])[data-orientation="vertical"] .feature-title{ padding-top:0; }
/*! /css/components/hero-card.css */
.hero-card{ width:100%; display:flex; flex-direction:column; align-items:center; text-align:center; gap:32px; }
.hero-icon-square{ flex-shrink:0; width:64px; height:64px; border-radius:var(--md-radius-160,16px); background:var(--md-neutral-background-2-rest); color:var(--md-brand-foreground-1-rest); display:flex; align-items:center; justify-content:center; }
.hero-icon-square i{ font-size:var(--md-typography-font-size-800); }
.hero-text{ display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; min-width:0; }
.hero-title, .hero-count{ font-family:var(--font-display); font-weight:var(--font-weight-light); color:var(--md-brand-foreground-1-rest); outline:none; width:fit-content; max-width:100%; margin:0 auto; }
.hero-title{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.hero-count{ font-size:var(--md-typography-font-size-800); line-height:40px; }
.hero-description{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; width:fit-content; max-width:100%; margin:0 auto; white-space:pre-wrap; }
.hero-description-wrap{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; justify-content:center; width:100%; }
.hero-card[data-content-align="center"] .hero-description-wrap{ flex:0 0 auto; }
.hero-description-wrap:not(:has(.hero-description:not(:empty))){ display:none; }
.hero-card[data-content-align="center"]{ justify-content:center; }

.hero-card[data-size="M"]{ gap:48px; }
.hero-card[data-size="M"] .hero-icon-square{ width:100px; height:100px; }
.hero-card[data-size="M"] .hero-icon-square i{ font-size:48px; }
.hero-card[data-size="M"] .hero-title{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.hero-card[data-size="M"] .hero-count{ font-size:var(--md-typography-font-size-1000); line-height:76px; }
.hero-card[data-size="M"] .hero-description{ font-size:var(--md-typography-font-size-600); line-height:32px; }

.hero-card[data-size="L"]{ gap:42px; }
.hero-card[data-size="L"] .hero-icon-square{ width:200px; height:200px; border-radius:var(--md-radius-320,32px); }
.hero-card[data-size="L"] .hero-icon-square i{ font-size:96px; }
.hero-card[data-size="L"] .hero-text{ gap:9px; }
.hero-card[data-size="L"] .hero-title{ font-size:var(--md-typography-font-size-800); line-height:40px; }
.hero-card[data-size="L"] .hero-count{ font-size:100px; line-height:normal; }
.hero-card[data-size="L"] .hero-description{ font-size:var(--md-typography-font-size-600); line-height:32px; }

.hero-card[data-style="stroke"]{ border:1px solid var(--md-neutral-stroke-1-rest); border-radius:var(--radius); padding:24px; }
.hero-card[data-style="accent"]{ background:var(--md-brand-background-inverted-rest); border-radius:var(--radius); padding:24px; }
.hero-card[data-style="stroke"][data-size="L"], .hero-card[data-style="accent"][data-size="L"]{ padding:48px; }
.hero-card[data-style="accent"] .hero-icon-square{ background:rgba(255,255,255,0.2); color:var(--md-color-grey-white); box-shadow:0 0 2px rgba(112,144,176,0.2), 0 4px 8px rgba(112,144,176,0.15); }
.hero-card[data-style="accent"] .hero-title, .hero-card[data-style="accent"] .hero-count{ color:var(--md-color-grey-white); }
.hero-card[data-style="accent"] .hero-description{ color:rgba(255,255,255,0.72); }

.hero-card[data-ai="true"] .hero-title, .hero-card[data-ai="true"] .hero-count{
  background-image:linear-gradient(160deg, var(--md-color-blue-500) 4%, var(--md-color-ai-lavender) 51%, var(--md-color-ai-berry) 94%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.hero-card[data-ai="true"] .hero-icon-square{ color:var(--md-brand-foreground-1-rest); }
.hero-card[data-style="accent"][data-ai="true"]{
  background:linear-gradient(135deg, rgba(131,195,229,0.1) 8%, rgba(224,147,244,0.1) 29%, rgba(235,77,114,0.1) 58%, rgba(242,180,77,0.1) 81%);
}
.hero-card[data-style="accent"][data-ai="true"] .hero-description{ color:var(--md-neutral-foreground-1-rest); }
/*! /css/components/focus-card.css */
.focus-card{
  width:100%; height:100%; box-sizing:border-box; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; gap:24px; padding:24px;
  border-radius:var(--radius); background:var(--md-neutral-background-2-rest); position:relative;
  overflow:visible;
}
.focus-card[data-kind="logo"][data-logo="genius"]{
  background-image:linear-gradient(110deg, rgba(131,195,229,0.1) 8%, rgba(224,147,244,0.1) 29%, rgba(235,77,114,0.1) 58%, rgba(242,180,77,0.1) 81%);
}
.focus-card-logo{ flex-shrink:0; width:80px; height:80px; border-radius:var(--md-radius-160,16px); display:flex; align-items:center; justify-content:center; }
.focus-card-logo img{ width:100%; height:100%; object-fit:contain; }
.focus-card[data-kind="custom"] .focus-card-logo{ background:var(--md-brand-foreground-1-rest); color:var(--md-color-grey-white); }
.focus-card[data-kind="custom"] .focus-card-logo i{ font-size:36px; }
.focus-card-titles{ display:flex; flex-direction:column; width:100%; }
.focus-card-title{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-1-rest); outline:none; }
.focus-card-subtitle{ font-family:var(--font-display); font-weight:var(--font-weight-black); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; }
.focus-card[data-kind="logo"][data-logo="genius"] .focus-card-subtitle{
  background-image:linear-gradient(160deg, var(--md-color-blue-500) 4%, var(--md-color-ai-lavender) 51%, var(--md-color-ai-berry) 94%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.focus-card-divider{ width:64px; height:1px; flex-shrink:0; background:var(--md-neutral-stroke-3-rest); }
.focus-card-description{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-2-rest); outline:none; width:100%; white-space:pre-wrap; }
.focus-card.selected{ overflow:visible; }
.focus-card-side-icon{
  position:absolute; top:50%; right:-48px; transform:translateY(-50%);
  width:72px; height:72px; border-radius:9999px; box-sizing:border-box;
  background:var(--md-neutral-background-2-rest); border:8px solid var(--slide-bg);
  display:flex; align-items:center; justify-content:center; color:var(--md-neutral-foreground-3-rest);
  z-index:6;
}
.focus-card-side-icon i{ font-size:var(--md-typography-font-size-800); }
.focus-card[data-side-icon=""] .focus-card-side-icon{ display:none; }

.focus-card[data-size="M"]{ gap:32px; padding:32px; }
.focus-card[data-size="M"] .focus-card-logo{ width:100px; height:100px; }
.focus-card[data-size="M"] .focus-card-logo i{ font-size:44px; }
.focus-card[data-size="M"] .focus-card-titles{ gap:2px; }
.focus-card[data-size="M"] .focus-card-title{ font-size:var(--md-typography-font-size-800); line-height:40px; }
.focus-card[data-size="M"] .focus-card-subtitle{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.focus-card[data-size="M"] .focus-card-description{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.focus-card[data-size="M"] .focus-card-side-icon{ width:100px; height:100px; right:-60px; border-width:16px; }
.focus-card[data-size="M"] .focus-card-side-icon i{ font-size:48px; }

.focus-card[data-size="L"]{ gap:32px; padding:42px; }
.focus-card[data-size="L"] .focus-card-logo{ width:140px; height:140px; border-radius:var(--md-radius-240,24px); }
.focus-card[data-size="L"] .focus-card-logo i{ font-size:64px; }
.focus-card[data-size="L"] .focus-card-titles{ gap:2px; }
.focus-card[data-size="L"] .focus-card-title{ font-size:var(--md-typography-font-size-800); line-height:40px; }
.focus-card[data-size="L"] .focus-card-subtitle{ font-size:var(--md-typography-font-size-600); line-height:28px; }
.focus-card[data-size="L"] .focus-card-divider{ width:100px; }
.focus-card[data-size="L"] .focus-card-description{ font-size:var(--md-typography-font-size-700); line-height:36px; }
.focus-card[data-size="L"] .focus-card-side-icon{ width:124px; height:124px; right:-72px; border-width:16px; }
.focus-card[data-size="L"] .focus-card-side-icon i{ font-size:60px; }
/*! /css/components/content-card.css */
.content-card{
  background:var(--md-neutral-background-1-rest);
  border:1px solid var(--md-neutral-stroke-1-rest);
  padding:var(--md-spacing-32) var(--md-spacing-24);
  display:flex;
  min-height:0;
  text-align:left;
}
.content-card-body{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--md-spacing-16);
  width:100%;
  height:100%;
  min-height:0;
}
.content-list-render{ flex:1 1 auto; min-height:0; overflow:auto; width:100%; }
.content-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); color:var(--md-brand-foreground-1-rest); width:fit-content; max-width:100%; outline:none; }
.content-description{ font-family:var(--font-sans); font-weight:var(--font-weight-light); color:var(--md-neutral-foreground-3-rest); width:fit-content; max-width:100%; outline:none; white-space:pre-wrap; }
.content-divider{ width:100%; height:1px; background:var(--md-neutral-stroke-1-rest); flex-shrink:0; }
.content-footer{ display:flex; align-items:flex-start; gap:8px; font-family:var(--font-sans); font-weight:var(--font-weight-light); color:var(--md-neutral-foreground-3-rest); width:fit-content; max-width:100%; }
.content-footer-icon{ display:none; flex-shrink:0; align-items:center; justify-content:center; line-height:inherit; height:1lh; }
.content-footer[data-has-icon="true"] .content-footer-icon{ display:inline-flex; }
.content-footer-text{ outline:none; }
.content-card[data-style="solid"]{ background:var(--md-neutral-background-2-rest); border-color:transparent; }
.content-card[data-style="accent"]{ background:var(--md-brand-background-inverted-rest); border-color:transparent; }
.content-card[data-style="accent"] .content-title{ color:var(--md-color-grey-white); }
.content-card[data-style="accent"] .content-description, .content-card[data-style="accent"] .content-footer{ color:rgba(255,255,255,0.8); }
.content-card[data-style="accent"] .content-divider{ background:rgba(255,255,255,0.24); }
.content-card[data-size="L"]{ padding:32px 36px; }
.content-card[data-size="L"] .content-card-body{ gap:16px; }
.content-card[data-size="L"] .content-title{ font-size:var(--md-typography-font-size-800); line-height:40px; }
.content-card[data-size="L"] .content-description{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.content-card[data-size="L"] .content-description{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.content-card[data-size="M"]{ padding:24px 28px; }
.content-card[data-size="M"] .content-card-body{ gap:16px; }
.content-card[data-size="M"] .content-title{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.content-card[data-size="M"] .content-description{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.content-card[data-size="S"]{ padding:16px 20px; }
.content-card[data-size="S"] .content-card-body{ gap:12px; }
.content-card[data-size="S"] .content-title{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.content-card[data-size="S"] .content-description{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.content-card[data-size="L"] .content-list-rows{ gap:12px; }
.content-card[data-size="M"] .content-list-rows,
.content-card[data-size="S"] .content-list-rows{ gap:4px; }
.content-card[data-size="L"] .content-footer{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.content-card[data-size="M"] .content-footer{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.content-card[data-size="S"] .content-footer{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.content-footer-block{ display:flex; flex-direction:column; gap:var(--md-spacing-16); width:100%; flex-shrink:0; }
.content-footer-block.hidden{ display:none; }
.content-footer-content{ display:flex; align-items:center; gap:12px; width:100%; }
.content-footer-avatars{ display:flex; flex-shrink:0; margin-left:auto; }
.rows-editor.avatar-photo-rows{ margin-top:8px; gap:4px; }
.avatar-photo-rows > .row-edit > .icon-select.photo-select{ flex:1; min-width:0; width:auto; }
.kanban-col-header.hidden{ display:none; }


.content-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.tag-row-edit{ display:flex; align-items:center; gap:6px; }
.tag-row-edit .tag-field-label-icon-row{ flex:1; min-width:0; }
/*! /css/components/tag.css */
.tag{ display:inline-flex; align-items:center; background:var(--tag-bg); color:var(--tag-fg); white-space:nowrap; }
.tag-icon{ display:flex; color:var(--tag-fg); }
.tag[data-has-icon="false"] .tag-icon{ display:none; }
.tag-label{ font-family:var(--font-sans); color:var(--tag-fg); outline:none; overflow:hidden; text-overflow:ellipsis; }
.tag-L{ height:48px; gap:12px; padding:0 20px 0 16px; border-radius:16px; }
.tag-L .tag-icon i{ font-size:var(--md-typography-font-size-600); }
.tag-L .tag-label{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.tag-M{ height:36px; gap:8px; padding:0 16px 0 12px; border-radius:12px; }
.tag-M .tag-icon i{ font-size:18px; }
.tag-M .tag-label{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.tag-S{ height:24px; gap:4px; padding:0 10px 0 8px; border-radius:6px; width: fit-content;}
html[data-ui-theme="dark"] .tag:not(.frame *){
  --tag-bg:color-mix(in srgb, var(--tag-fg) 16%, transparent) !important;
}
html[data-ui-theme="dark"] .tag[data-tag-color="grey"]:not(.frame *){ --tag-fg:#C9D0DB !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="blue"]:not(.frame *){ --tag-fg:#89A2FA !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="purple"]:not(.frame *){ --tag-fg:#D3B3F0 !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="teal"]:not(.frame *){ --tag-fg:#5FD6BB !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="pink"]:not(.frame *){ --tag-fg:#F28BB0 !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="orange"]:not(.frame *){ --tag-fg:#FFA071 !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="berry"]:not(.frame *){ --tag-fg:#F47C97 !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="amber"]:not(.frame *){ --tag-fg:#F5C46E !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="lavender"]:not(.frame *){ --tag-fg:#E6A8F6 !important; }
html[data-ui-theme="dark"] .tag[data-tag-color="azure"]:not(.frame *){ --tag-fg:#8FCBEB !important; }
.tag-S .tag-icon i{ font-size:var(--md-typography-font-size-300); }
.tag-S .tag-label{ font-size:var(--md-typography-font-size-300); line-height:16px; }

.list-item{ display:flex; align-items:flex-start; gap:12px; width:100%; padding:2px 0; }
.list-item-icon{
  flex-shrink:0; width:24px; padding-top:2px;
  display:flex; align-items:center; justify-content:center;
  color:var(--md-neutral-foreground-3-rest);
}
.list-item-label{ font-family:var(--font-sans); color:var(--md-neutral-foreground-3-rest); flex:0 1 auto; max-width:100%; min-width:0; outline:none; white-space:pre-wrap; }
.list-item-label[data-placeholder]:empty:before{ color:var(--ui-muted); }
.list-item[data-list-type="done"] .list-item-icon,
.list-item[data-list-type="in-progress"] .list-item-icon{ color:var(--md-brand-foreground-1-rest); }
.list-item[data-list-type="declined"] .list-item-icon{ color:var(--md-color-pink-600); }
.list-item[data-list-type="warning"] .list-item-icon{ color:var(--md-color-orange-700); }
.list-item-L{ gap:12px; }
.list-item-L .list-item-icon{ font-size:var(--md-typography-font-size-600); width:24px; padding-top: 4px }
.list-item-L .list-item-label{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.list-item-M{ gap:8px; }
.list-item-M .list-item-icon{ font-size:var(--md-typography-font-size-500); width:20px; padding-top: 4px }
.list-item-M .list-item-label{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.list-item-S{ gap:8px; }
.list-item-S .list-item-icon{ font-size:var(--md-typography-font-size-400); width:16px; padding-top: 4px}
.list-item-S .list-item-label{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.content-card[data-style="accent"] .list-item-icon,
.content-card[data-style="accent"] .list-item-label{ color:var(--md-color-grey-white); }
.content-list-rows{ display:flex; flex-direction:column; gap:10px; width:100%; }
/*! /css/components/avatar.css */
.avatar{
  position:relative; flex-shrink:0; box-sizing:border-box; border-radius:9999px; overflow:hidden;
  background:var(--md-neutral-background-2-rest);
  border-style:solid; border-color:var(--md-neutral-stroke-on-color-rest);
  box-shadow:0 0 2px rgba(112,144,176,0.2), 0 4px 8px rgba(112,144,176,0.15);
  display:flex; align-items:center; justify-content:center;
}
.avatar-color{ position:absolute; border-radius:9999px; background:var(--md-brand-background-inverted-rest); }
.avatar-photo{ position:relative; width:100%; height:100%; object-fit:cover; }
.avatar-placeholder{ position:relative; color:var(--md-neutral-foreground-3-rest); }

.avatar-medium{ width:64px; height:64px; border-width:4px; }
.avatar-medium .avatar-color{ width:32.35px; height:32.35px; filter:blur(10.3px); bottom:-6.5px; right:4.4px; }
.avatar-medium .avatar-placeholder{ font-size:var(--md-typography-font-size-700); }

.avatar-small{ width:48px; height:48px; border-width:3px; }
.avatar-small .avatar-color{ width:24.26px; height:24.26px; filter:blur(7.7px); bottom:-4.9px; right:3.3px; }
.avatar-small .avatar-placeholder{ font-size:var(--md-typography-font-size-500); }

.avatar-xsmall{ width:32px; height:32px; border-width:2px; }
.avatar-xsmall .avatar-color{ width:16.18px; height:16.18px; filter:blur(5.1px); bottom:-3.2px; right:2.2px; }
.avatar-xsmall .avatar-placeholder{ font-size:var(--md-typography-font-size-300); }

.avatar-group{ display:flex; align-items:center; }
.avatar-group .avatar-medium{ margin-right:-14px; }
.avatar-group .avatar-small,
.avatar-group .avatar-xsmall{ margin-right:-8px; }
.avatar-group .avatar:last-child{ margin-right:0; }
/*! /css/components/pricing-card.css */
.pricing-card{
  width:100%; height:100%; box-sizing:border-box; position:relative;
  background:var(--md-neutral-background-1-rest);
  border:1px solid var(--md-neutral-stroke-1-rest);
  border-radius:var(--md-radius-240,24px);
  padding:28px 32px; display:flex; flex-direction:column; gap:16px;
}
.pricing-card[data-style="solid"]{ background:var(--md-neutral-background-2-rest); border-color:transparent; }
.pricing-card[data-style="accent"]{ background:var(--md-brand-background-inverted-rest); border-color:transparent; }
.pricing-card[data-style="accent"] .pricing-title,
.pricing-card[data-style="accent"] .pricing-price{ color:var(--md-color-grey-white); }
.pricing-card[data-style="accent"] .pricing-description,
.pricing-card[data-style="accent"] .pricing-frequency,
.pricing-card[data-style="accent"] .pricing-frequency-slash,
.pricing-card[data-style="accent"] .pricing-compare-label,
.pricing-card[data-style="accent"] .pricing-compare-count,
.pricing-card[data-style="accent"] .list-item-label{ color:rgba(255,255,255,0.8); }
.pricing-card[data-style="accent"] .pricing-divider,
.pricing-card[data-style="accent"] .pricing-compare-dots{ border-color:rgba(255,255,255,0.24); }
.pricing-card[data-style="accent"] .list-item-icon{ color:var(--md-color-grey-white); }

.pricing-tag-wrap{ order:-1; }
.pricing-card[data-kind="pricing-plan"] .pricing-tag-wrap{ position:absolute; top:20px; right:24px; order:0; }
.pricing-tag-wrap.hidden{ display:none; }

.pricing-price-row{ display:flex; align-items:flex-end; gap:4px; }
.pricing-price{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:56px; line-height:1; color:var(--md-brand-foreground-1-rest); outline:none; }
.pricing-frequency{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-3-rest); outline:none; padding-bottom:4px; }
.pricing-frequency-slash{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-3-rest); padding-bottom:4px; }
.pricing-price-row:not(:has(.pricing-frequency:not(:empty))) .pricing-frequency-slash{ display:none; }

.pricing-body{ display:flex; flex-direction:column; gap:8px; width:100%; }
.pricing-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-700); line-height:40px; color:var(--md-neutral-foreground-1-rest); outline:none; }
.pricing-title:empty{ display:none; }
.pricing-description{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-3-rest); outline:none; padding-bottom:2px; white-space:pre-wrap; }
.pricing-description:empty{ display:none; }

.pricing-items{ display:flex; flex-direction:column; gap:4px; width:100%; }
.pricing-items .list-item-icon{ color:var(--md-brand-foreground-1-rest); }
.pricing-footer{ display:flex; flex-direction:column; gap:10px; width:100%; margin-top:auto; }
.pricing-footer.hidden{ display:none; }
.pricing-footer[data-icon-empty="true"] .list-item-icon{ display:none; }
.pricing-footer-fields-row{ display:flex; gap:8px; align-items:flex-end; }
.pricing-footer-fields-row .pricing-footer-icon-field{ flex:1; min-width:0; }
.pricing-footer-fields-row .pricing-footer-text-field{ flex:2; min-width:0; }
.pricing-divider{ width:100%; height:1px; background:var(--md-neutral-stroke-1-rest); flex-shrink:0; margin-top:auto; }

.pricing-compare-items, .pricing-total-items{ display:flex; flex-direction:column; gap:4px; width:100%; }
.pricing-compare-row{ display:flex; align-items:center; padding:4px 0; width:100%; }
.pricing-compare-label, .pricing-compare-count{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-3-rest); outline:none; white-space:nowrap; }
.pricing-compare-dots{ flex:1 1 auto; min-width:12px; height:0; align-self:flex-end; margin-bottom:5px; border-bottom:2px dotted var(--md-neutral-stroke-1-rest); }
.pricing-total-row .pricing-compare-label, .pricing-total-row .pricing-compare-count{ font-family:var(--font-display); color:var(--md-brand-foreground-1-rest); }

.pricing-card[data-size="M"]{ gap:10px; }
.pricing-card[data-size="M"] .pricing-price{ font-size:44px; }
.pricing-card[data-size="M"] .pricing-title{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.pricing-card[data-size="M"] .pricing-description,
.pricing-card[data-size="M"] .list-item-label{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.pricing-card[data-size="M"] .pricing-compare-label, .pricing-card[data-size="M"] .pricing-compare-count{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.pricing-card[data-size="S"]{ gap:8px; }
.pricing-card[data-size="S"] .pricing-price{ font-size:var(--md-typography-font-size-800); }
.pricing-card[data-size="S"] .pricing-title{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.pricing-card[data-size="S"] .pricing-description,
.pricing-card[data-size="S"] .list-item-label{ font-size:13px; line-height:18px; }
.pricing-card[data-size="S"] .pricing-compare-label, .pricing-card[data-size="S"] .pricing-compare-count{ font-size:var(--md-typography-font-size-400); line-height:24px; }


.pricing-card[data-size="S"] .tag{ height:24px; gap:4px; padding:0 10px 0 8px; border-radius:6px; width:fit-content; }
.pricing-card[data-size="S"] .tag-icon i{ font-size:var(--md-typography-font-size-300); }
.pricing-card[data-size="S"] .tag-label{ font-size:var(--md-typography-font-size-300); line-height:16px; }

.pricing-divider:has(~ .pricing-total-items:empty){ display:none; }
/*! /css/components/quote.css */
.quote-card{
  --quote-gap:16px; --quote-top:1fr;
  width:100%; height:100%; box-sizing:border-box;
  display:grid; grid-template-columns:minmax(0, 1fr);
  grid-template-rows:var(--quote-top) auto auto 1fr;
  grid-template-areas:"." "body" "author" ".";
  padding:8px 0; text-align:left;
}
.quote-body{
  grid-area:body; min-width:0;
  font-family:var(--font-display); font-weight:var(--font-weight-light);
  color:var(--md-neutral-foreground-1-rest);
  line-height:1.35;
  white-space:pre-line;
}
.quote-text{ outline:none; }
.quote-mark{ color:var(--md-brand-foreground-1-rest); }
.quote-mark-open{ margin-right:.18em; }
.quote-mark-close{ margin-left:.18em; }

.quote-author{
  grid-area:author; min-width:0; margin-top:var(--quote-gap);
  display:flex; flex-direction:column; gap:2px;
  font-family:var(--font-sans); font-weight:var(--font-weight-light);
}
.quote-author-name{ color:var(--md-neutral-foreground-1-rest); outline:none; }
.quote-author-role, .quote-author-company{ color:var(--md-neutral-foreground-3-rest); outline:none; }
.quote-card:not([data-style="card"]) .quote-author{
  flex-direction:row; flex-wrap:wrap; align-items:baseline; column-gap:6px;
}
.quote-card:not([data-style="card"]) .quote-author-name{ flex-basis:100%; }
.quote-card:not([data-style="card"]) .quote-author:has(.quote-author-company:not(:empty)) .quote-author-role:not(:empty)::after{ content:","; }

.quote-card[data-size="L"]{ --quote-gap:24px; }
.quote-card[data-size="L"] .quote-body{ font-size:56px; }
.quote-card[data-size="L"] .quote-author-name{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.quote-card[data-size="L"] .quote-author-role, .quote-card[data-size="L"] .quote-author-company{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.quote-card[data-size="M"] .quote-body{ font-size:var(--md-typography-font-size-700); }
.quote-card[data-size="M"] .quote-author-name{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.quote-card[data-size="M"] .quote-author-role, .quote-card[data-size="M"] .quote-author-company{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.quote-card[data-size="S"]{ --quote-gap:12px; }
.quote-card[data-size="S"] .quote-body{ font-size:var(--md-typography-font-size-500); }
.quote-card[data-size="S"] .quote-author-name{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.quote-card[data-size="S"] .quote-author-role, .quote-card[data-size="S"] .quote-author-company{ font-size:var(--md-typography-font-size-300); line-height:20px; }

.quote-photo{
  display:none; grid-area:photo; position:relative; overflow:hidden; min-height:0;
  background:var(--md-neutral-background-2-rest);
  flex-direction:column; align-items:center; justify-content:center; gap:8px;
}
.quote-photo-glow{
  position:absolute; width:126px; height:126px; right:-45px; bottom:-80px; border-radius:9999px;
  background:var(--md-brand-background-inverted-rest); filter:blur(40px);
}
.quote-photo-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.quote-photo:has(> .quote-photo-img[data-cover-out]){ container-type:size; }
.quote-photo-img[data-cover-out]{
  --cf-w:calc(max(100cqw, 100cqh * var(--cf-r)) * var(--cf-z));
  --cf-h:calc(max(100cqh, 100cqw / var(--cf-r)) * var(--cf-z));
  inset:auto; left:calc((100cqw - var(--cf-w)) * var(--cf-x)); top:calc((100cqh - var(--cf-h)) * var(--cf-y));
  width:var(--cf-w); height:var(--cf-h); max-width:none; object-fit:fill; transform:none;
}
.quote-photo-placeholder{ position:relative; font-size:64px; color:var(--md-neutral-foreground-3-rest); }
.quote-photo .quote-photo-hint{ position:relative; padding:0 24px; font-size:var(--md-typography-font-size-300); }

.quote-card[data-style="card"]{
  grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);
  grid-template-rows:minmax(32px, var(--quote-top)) auto auto minmax(32px, 1fr);
  grid-template-areas:"photo ." "photo body" "photo author" "photo .";
  column-gap:40px; padding:0 40px 0 0;
  background:var(--md-neutral-background-1-rest);
  border-radius:var(--md-radius-240, 24px);
  box-shadow:0 12px 28px rgba(112,144,176,0.32), 0 2px 6px rgba(112,144,176,0.22);
  overflow-clip-margin:48px;
}
.quote-card[data-style="card"][data-size="S"]{ column-gap:32px; padding-right:32px; }
.quote-card[data-style="card"]:not(.no-stretch){
  container-type:size;
  grid-template-columns:auto minmax(0, 1fr);
}
.quote-card[data-style="card"]:not(.no-stretch) > .quote-photo{ width:min(80cqh, 50cqw); }
.quote-card[data-style="card"] .quote-photo{
  display:flex;
  border-radius:var(--md-radius-240, 24px) 0 0 var(--md-radius-240, 24px);
}
.quote-card[data-style="card"] .quote-photo-glow{ display:none; }

.quote-card:not([data-style="card"]):has(> .quote-photo.has-image){
  grid-template-columns:auto minmax(0, 1fr);
  grid-template-areas:". ." "body body" "photo author" ". .";
  column-gap:16px;
}
.quote-card:not([data-style="card"]) > .quote-photo.has-image{
  display:flex; align-self:center; margin-top:var(--quote-gap);
  width:72px; height:72px; border-radius:var(--md-radius-160, 16px);
  box-shadow:0 4px 8px rgba(112,144,176,0.25), 0 0 2px rgba(112,144,176,0.2);
}
.quote-card:not([data-style="card"]):has(> .quote-photo.has-image) .quote-author{ align-self:center; }
.quote-card:not([data-style="card"]) .quote-photo-glow{ width:36px; height:36px; right:-13px; bottom:-23px; filter:blur(12px); }
.quote-card:not([data-style="card"])[data-size="S"] > .quote-photo.has-image{ width:56px; height:56px; border-radius:var(--md-radius-120, 12px); }
.quote-card:not([data-style="card"])[data-size="L"]:has(> .quote-photo.has-image){ column-gap:24px; }
.quote-card:not([data-style="card"])[data-size="L"] > .quote-photo.has-image{ width:96px; height:96px; border-radius:20px; }

.quote-card[data-align="center"]{ text-align:center; }
.quote-card[data-style="card"][data-align="center"] .quote-author{ align-items:center; }
.quote-card:not([data-style="card"])[data-align="center"] .quote-author{ justify-content:center; }
.quote-card:not([data-style="card"])[data-align="center"]:has(> .quote-photo.has-image){
  grid-template-columns:minmax(0, 1fr);
  grid-template-rows:var(--quote-top) auto auto auto 1fr;
  grid-template-areas:"." "body" "photo" "author" ".";
}
.quote-card:not([data-style="card"])[data-align="center"] > .quote-photo.has-image{ justify-self:center; }
.quote-card:not([data-style="card"])[data-align="center"]:has(> .quote-photo.has-image) .quote-author{ margin-top:8px; }

.quote-card[data-valign="top"]{ --quote-top:0px; }

.quote-panel-photo .photo-select{ width:100%; }
.quote-panel-photo + .image-card-panel-dropzone{ margin-top:8px; }
.quote-panel-cutout{ margin-top:8px; }
.quote-card.quote-cutting .quote-photo-img{ animation:quote-cutting 1s ease-in-out infinite alternate; }
@keyframes quote-cutting{ to{ opacity:.45; } }
/*! /css/components/reveal-card.css */
.deck-component.reveal-card{
  display:flex; flex-direction:column; justify-content:space-between; gap:24px;
  padding:24px;
  background:var(--md-neutral-background-1-rest);
  border:1px solid var(--md-neutral-stroke-1-rest);
  border-radius:var(--radius);
  text-align:left;
}
.reveal-card-text{ display:flex; flex-direction:column; gap:8px; min-height:0; min-width:0; }
.reveal-card-title, .reveal-card-description{ min-width:0; outline:none; }
.reveal-card-title{
  font-family:var(--font-display); font-weight:var(--font-weight-light);
  font-size:var(--md-typography-font-size-600); line-height:32px;
  color:var(--md-brand-foreground-1-rest);
}
.reveal-card-description{
  font-family:var(--font-sans); font-weight:var(--font-weight-light);
  font-size:var(--md-typography-font-size-600); line-height:32px;
  color:var(--md-neutral-foreground-1-rest);
  white-space:pre-wrap;
}
.reveal-card-icon{ flex-shrink:0; display:flex; color:var(--md-brand-foreground-1-rest); }
.reveal-card-icon i{ font-size:64px; }
.reveal-card[data-icon-name=""] .reveal-card-icon{ display:none; }

.reveal-card[data-icon-position="top"] .reveal-card-icon{ order:-1; }

.reveal-card[data-size="S"]{ padding:20px; gap:16px; }
.reveal-card[data-size="S"] .reveal-card-title, .reveal-card[data-size="S"] .reveal-card-description{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.reveal-card[data-size="S"] .reveal-card-icon i{ font-size:48px; }
.reveal-card[data-size="L"]{ padding:32px; gap:32px; }
.reveal-card[data-size="L"] .reveal-card-title, .reveal-card[data-size="L"] .reveal-card-description{ font-size:var(--md-typography-font-size-800); line-height:40px; }
.reveal-card[data-size="L"] .reveal-card-icon i{ font-size:96px; }

.present-frame .reveal-card{ transition:background-color .3s ease, border-color .3s ease; }
.present-frame .reveal-card-text{ display:grid; flex:1 1 auto; }
.present-frame .reveal-card-title, .present-frame .reveal-card-description{ grid-area:1 / 1; align-self:start; }
.present-frame .reveal-card[data-icon-position="top"] .reveal-card-title{ align-self:end; }
.present-frame .reveal-card-title{ transition:opacity .25s ease, transform .3s ease, color .3s ease; }
.present-frame .reveal-card-description{
  opacity:0; transform:translateY(12px);
  transition:opacity .2s ease, transform .2s ease, color .3s ease;
}
.present-frame .reveal-card-icon{ transition:color .3s ease; }
.present-frame .reveal-card:is(:hover, .is-revealed){
  background-color:var(--md-brand-background-inverted-rest);
  border-color:var(--md-brand-background-inverted-rest);
}
.present-frame .reveal-card:has(.reveal-card-description):is(:hover, .is-revealed) .reveal-card-title{ opacity:0; transform:translateY(-8px); }
.present-frame .reveal-card:is(:hover, .is-revealed) .reveal-card-description{
  opacity:1; transform:none;
  transition:opacity .4s ease .1s, transform .5s cubic-bezier(0.2,0.7,0.3,1) .1s, color .3s ease;
}
.present-frame .reveal-card:is(:hover, .is-revealed) .reveal-card-title,
.present-frame .reveal-card:is(:hover, .is-revealed) .reveal-card-description,
.present-frame .reveal-card:is(:hover, .is-revealed) .reveal-card-icon{ color:var(--md-neutral-foreground-on-color-rest); }
/*! /css/components/live-card.css */
.frame[data-frame-type="live"]{ --live-join-w:440px; }
.frame[data-frame-type="live"] > .live-slide-body{ margin-left:var(--live-join-w); }
.frame[data-frame-type="live"] > .slide-header,
.frame[data-frame-type="live"] > .slide-footer{ z-index:3; }
.frame[data-frame-type="live"]:has(.live-card.show-board) > .live-slide-body{ margin-left:0; }
.live-slide-body{
  flex:1; min-height:0; display:flex;
  padding:0 var(--grid-system-slide-grid-margin-horizontal); box-sizing:border-box;
}
.live-card{
  flex:1 1 auto; min-width:0; min-height:0; text-align:left;
  display:grid; grid-template-columns:minmax(0, 1fr) 280px; grid-template-rows:minmax(102px, auto) minmax(0, 1fr);
  grid-template-areas:"question timer" "main main";
  column-gap:32px; row-gap:var(--grid-system-slide-grid-gutter);
}
.live-question{
  grid-area:question; align-self:start; min-width:0; padding:12px 0; outline:none;
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--text-7xl); line-height:48px;
  color:var(--md-neutral-foreground-1-rest);
}
.live-board-title{ grid-area:question; display:none; padding:12px 0; font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--text-7xl); line-height:48px; color:var(--md-neutral-foreground-1-rest); }
.live-head{ grid-area:timer; display:flex; }
.present-frame .live-card.is-revealed .live-head{ visibility:hidden; }
.live-main{ grid-area:main; position:relative; min-width:0; min-height:0; display:flex; flex-direction:column; gap:24px; }
.live-body{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; }
.live-footer{ display:flex; justify-content:space-between; gap:16px; font-family:var(--font-sans); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-2-rest); }
.live-footer:has(.live-voters:empty):has(.live-status:empty){ display:none; }
.live-status{ font-weight:600; }

.live-join{
  position:absolute; top:0; bottom:0; left:0; width:var(--live-join-w, 440px); z-index:2;
  box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px;
  padding:40px;
  background:var(--md-neutral-background-2-rest);
  text-align:center;
}
.live-join-qr{
  width:320px; height:320px; display:flex; align-items:center; justify-content:center;
  border-radius:16px; background:#fff;
  color:var(--md-neutral-foreground-3-rest);
}
.live-join-qr i{ font-size:160px; }
.live-join-qr svg{ width:300px; height:300px; display:block; }
.live-join-text{ display:flex; flex-direction:column; align-items:center; gap:2px; font-family:var(--font-sans); color:var(--md-neutral-foreground-2-rest); }
.live-join-hint, .live-join-code-label{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.live-join-url{ font-size:var(--md-typography-font-size-700); line-height:36px; color:var(--md-neutral-foreground-1-rest); margin-bottom:8px; }
.live-join-code{ font-family:var(--font-display); font-size:var(--md-typography-font-size-1000); line-height:76px; letter-spacing:.04em; color:var(--md-brand-foreground-1-rest); font-variant-numeric:tabular-nums; white-space:nowrap; }
.live-join-count{ font-family:var(--font-sans); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-2-rest); }
.live-join-count:empty{ display:none; }

.live-poll-rows{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; justify-content:center; gap:24px; }
.live-poll-row{ display:flex; align-items:center; gap:20px; min-width:0; }
.live-poll-row-main{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:10px; }
.live-choice-thumb{ flex-shrink:0; width:72px; height:72px; border-radius:10px; object-fit:cover; display:block; }
.live-poll-row-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; min-width:0; }
.live-poll-label{ min-width:0; outline:none; font-family:var(--font-sans); font-size:var(--md-typography-font-size-700); line-height:36px; color:var(--md-neutral-foreground-1-rest); }
.live-poll-value{ flex-shrink:0; font-family:var(--font-display); font-size:var(--md-typography-font-size-700); line-height:36px; color:var(--md-brand-foreground-1-rest); font-variant-numeric:tabular-nums; }
.live-poll-track{ height:24px; border-radius:12px; background:var(--md-neutral-background-3-rest); overflow:hidden; }
.live-poll-fill{ height:100%; width:0; border-radius:12px; background:var(--md-brand-foreground-1-rest); transition:width .6s cubic-bezier(.2, .8, .2, 1); }

.live-quiz-timer{
  flex:1 1 auto; display:flex; align-items:center; justify-content:center; gap:10px;
  padding:0 24px; border-radius:var(--radius);
  background:var(--md-neutral-background-2-rest);
  font-family:var(--font-display); font-size:var(--md-typography-font-size-800); line-height:40px;
  color:var(--md-neutral-foreground-1-rest); font-variant-numeric:tabular-nums;
  transition:background-color .3s ease, color .3s ease;
}
.live-quiz-timer i{ font-size:28px; color:var(--md-neutral-foreground-2-rest); transition:color .3s ease; }
.live-quiz-timer.is-urgent{ background:var(--md-status-danger-background-1-rest); color:var(--md-status-danger-foreground-1-rest); }
.live-quiz-timer.is-urgent i{ color:var(--md-status-danger-foreground-1-rest); }
.live-card .live-quiz-timer.is-done{ display:none; }
.live-quiz-choices{ flex:1 1 auto; min-height:0; display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:1fr; gap:16px; align-content:center; }
.live-quiz-choice{
  position:relative; overflow:hidden; min-width:0; min-height:0;
  display:flex; align-items:center; gap:16px;
  padding:18px 20px; border-radius:12px;
  border:2px solid var(--md-neutral-stroke-1-rest);
  background:var(--md-neutral-background-1-rest);
  transition:opacity .4s ease, border-color .4s ease, background-color .4s ease;
}
.live-quiz-fill{ position:absolute; left:0; top:0; bottom:0; width:0; background:var(--md-neutral-background-3-rest); transition:width .6s cubic-bezier(.2, .8, .2, 1); }
.live-quiz-line{ position:relative; flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:16px; }
.live-quiz-choices.has-images .live-quiz-choice{ flex-direction:column; align-items:stretch; padding:12px; gap:12px; }
.live-quiz-choices.has-images .live-quiz-line{ flex:0 0 auto; padding:0 8px 4px; }
.live-quiz-img{ position:relative; flex:1 1 auto; min-height:0; width:100%; object-fit:cover; border-radius:8px; display:block; }
.live-quiz-img.is-empty{ background:var(--md-neutral-background-2-rest); }
.live-quiz-choices.has-images[data-count="5"], .live-quiz-choices.has-images[data-count="6"]{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.live-quiz-with-image{ flex:1 1 auto; min-height:0; display:flex; align-items:center; gap:32px; }
.live-quiz-question-img{ flex:0 0 auto; width:auto; height:auto; max-width:44%; max-height:100%; border-radius:12px; display:block; }
.live-quiz-with-image > .live-quiz-choices{ flex:1 1 0; min-width:0; align-self:stretch; grid-template-columns:minmax(0, 1fr); }
.live-quiz-with-image > .live-quiz-choices:not(.has-images) .live-quiz-choice{ padding-top:12px; padding-bottom:12px; }
.live-quiz-with-image > .live-quiz-choices:is([data-count="5"], [data-count="6"]),
.live-quiz-with-image > .live-quiz-choices.has-images{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.live-quiz-with-image > .live-quiz-choices.has-images:is([data-count="5"], [data-count="6"]){ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.live-quiz-with-image:has(> .live-quiz-choices:is([data-count="5"], [data-count="6"])) > .live-quiz-question-img{ max-width:36%; }
.live-quiz-letter{
  position:relative; flex-shrink:0; width:48px; height:48px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:var(--md-brand-foreground-1-rest); color:#fff;
  font-family:var(--font-display); font-size:var(--md-typography-font-size-700);
}
.live-quiz-label{ position:relative; flex:1 1 auto; min-width:0; outline:none; font-family:var(--font-sans); font-size:var(--md-typography-font-size-700); line-height:36px; color:var(--md-neutral-foreground-1-rest); }
.live-quiz-count{ position:relative; flex-shrink:0; font-family:var(--font-display); font-size:var(--md-typography-font-size-700); color:var(--md-neutral-foreground-1-rest); font-variant-numeric:tabular-nums; }
.live-quiz-count:empty{ display:none; }
.live-quiz-mark{
  position:relative; flex-shrink:0; width:40px; height:40px; border-radius:50%;
  display:none; align-items:center; justify-content:center;
  background:var(--md-status-success-foreground-1-rest); color:#fff; font-size:22px;
}
.live-quiz-choice[data-correct="true"] .live-quiz-mark{ display:flex; }
.live-quiz-choice[data-correct="true"]{ border-color:var(--md-status-success-stroke-color); }
.present-frame .live-card:not(.is-revealed) .live-quiz-mark{ display:none; }
.present-frame .live-card:not(.is-revealed) .live-quiz-choice{ border-color:var(--md-neutral-stroke-1-rest); }
.present-frame .live-card.is-revealed .live-quiz-choice[data-correct="false"]{ opacity:.45; }
.present-frame .live-card.is-revealed .live-quiz-choice[data-correct="true"]{ background:var(--md-status-success-background-1-rest); }
.present-frame .live-card.is-revealed .live-quiz-choice[data-correct="true"] .live-quiz-fill{ background:rgba(0, 0, 0, .06); }
.live-card:not(.is-revealed) .live-quiz-count{ display:none; }

.live-lobby{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  background:var(--md-neutral-background-1-rest);
  opacity:0; visibility:hidden; transition:opacity .4s ease, visibility 0s linear .4s;
}
.present-frame .live-card.is-lobby .live-lobby{ opacity:1; visibility:visible; transition:none; }
.present-frame .live-card.is-lobby .live-question,
.present-frame .live-card.is-lobby .live-head,
.present-frame .live-card.is-lobby .live-body,
.present-frame .live-card.is-lobby .live-footer{ visibility:hidden; }
.live-lobby-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-1000); line-height:76px; color:var(--md-brand-foreground-1-rest); }
.live-lobby-hint{ font-family:var(--font-sans); font-size:var(--md-typography-font-size-700); line-height:36px; color:var(--md-neutral-foreground-2-rest); }
.live-lobby-start{
  margin-top:32px; display:inline-flex; align-items:center; gap:16px;
  padding:20px 56px; border:none; border-radius:999px;
  background:var(--md-brand-foreground-1-rest); color:#fff;
  font-family:var(--font-sans); font-size:var(--md-typography-font-size-700); line-height:36px;
  cursor:pointer; transition:transform .15s ease;
}
.live-lobby-start:hover{ transform:scale(1.04); }
.live-lobby-start i{ font-size:26px; }
.live-lobby-count{
  display:none; margin-top:24px; width:132px; height:132px; border-radius:50%;
  align-items:center; justify-content:center;
  background:var(--md-brand-foreground-1-rest); color:#fff;
  font-family:var(--font-display); font-size:72px; line-height:1; font-variant-numeric:tabular-nums;
}
.live-lobby.is-countdown .live-lobby-start{ display:none; }
.live-lobby.is-countdown .live-lobby-count{ display:flex; }

.live-board{ display:none; flex:1 1 auto; min-height:0; flex-direction:column; gap:20px; }
.present-frame .live-card.show-board .live-question,
.present-frame .live-card.show-board .live-head,
.present-frame .live-card.show-board .live-body,
.present-frame .live-card.show-board .live-footer,
.present-frame .live-card.show-board .live-join{ display:none; }
.present-frame .live-card.show-board .live-board-title{ display:block; }
.present-frame .live-card.show-board .live-main{ grid-column:1 / -1; }
.present-frame .live-card.show-board .live-board{ display:flex; }
.live-board-rows{
  list-style:none; margin:0; padding:0; flex:1 1 auto; min-height:0;
  display:grid; grid-auto-flow:column; grid-template-rows:repeat(var(--board-rows, 5), auto);
  grid-template-columns:repeat(var(--board-cols, 1), minmax(0, 820px));
  justify-content:center; align-content:start; gap:20px 64px;
}
.live-board-row{ display:grid; grid-template-columns:56px minmax(0, 1fr) auto; grid-template-rows:auto auto; column-gap:16px; row-gap:6px; align-items:center; }
.live-board-rank{
  grid-row:1 / span 2; width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--md-neutral-background-2-rest); color:var(--md-neutral-foreground-1-rest);
  font-family:var(--font-display); font-size:var(--md-typography-font-size-600);
}
.live-board-row[data-rank="1"] .live-board-rank{ background:#F2B705; color:#fff; }
.live-board-row[data-rank="2"] .live-board-rank{ background:#A7B0BE; color:#fff; }
.live-board-row[data-rank="3"] .live-board-rank{ background:#C77B44; color:#fff; }
.live-board-name{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--font-sans); font-size:var(--md-typography-font-size-700); line-height:36px; color:var(--md-neutral-foreground-1-rest); }
.live-board-score{ font-family:var(--font-display); font-size:var(--md-typography-font-size-700); line-height:36px; color:var(--md-brand-foreground-1-rest); font-variant-numeric:tabular-nums; }
.live-board-bar{ grid-column:2 / span 2; height:12px; border-radius:6px; background:var(--md-neutral-background-3-rest); overflow:hidden; }
.live-board-fill{ display:block; height:100%; border-radius:6px; background:var(--md-brand-foreground-1-rest); transition:width .8s cubic-bezier(.2, .8, .2, 1); }
.live-board-footer{ font-family:var(--font-sans); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-2-rest); }
.live-board-footer:empty{ display:none; }

.live-cloud-area{ position:relative; flex:1 1 auto; min-height:160px; overflow:hidden; }
.live-cloud-sample{
  position:absolute; inset:0; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; align-content:center; gap:8px 24px;
  font-family:var(--font-display); color:var(--md-neutral-foreground-3-rest); opacity:.55;
}
.live-cloud-sample-word[data-size="1"]{ font-size:28px; }
.live-cloud-sample-word[data-size="2"]{ font-size:40px; }
.live-cloud-sample-word[data-size="3"]{ font-size:56px; }
.live-cloud-sample-word[data-size="4"]{ font-size:76px; color:var(--md-neutral-foreground-2-rest); }
.live-cloud-words{ position:absolute; inset:0; font-family:var(--font-display); }
.live-cloud-word{
  position:absolute; left:0; top:0; white-space:nowrap; line-height:1.2;
  font-family:var(--font-display);
  transition:transform .6s cubic-bezier(.2, .8, .2, 1), font-size .6s cubic-bezier(.2, .8, .2, 1), opacity .4s ease;
}
.live-cloud-word.is-new{ opacity:0; }
.live-cloud-word[data-tone="0"]{ color:var(--md-brand-foreground-1-rest); }
.live-cloud-word[data-tone="1"]{ color:#2F6BFF; }
.live-cloud-word[data-tone="2"]{ color:#0A2A8C; }
.live-cloud-word[data-tone="3"]{ color:#5C7CFA; }
.live-cloud-empty{
  position:absolute; inset:0; display:none; align-items:center; justify-content:center;
  font-family:var(--font-sans); font-size:var(--md-typography-font-size-700); color:var(--md-neutral-foreground-3-rest);
}
.present-frame .live-cloud-sample{ display:none; }
.present-frame .live-cloud-empty:not(:empty){ display:flex; }

.live-rank-rows{ list-style:none; margin:0; padding:0; flex:1 1 auto; min-height:0; display:flex; flex-direction:column; justify-content:center; gap:14px; }
.live-rank-row{ display:grid; grid-template-columns:52px minmax(0, 1fr) auto; grid-template-rows:auto auto; column-gap:16px; row-gap:6px; align-items:center; will-change:transform; }
.live-rank-row.has-image{ grid-template-columns:52px 72px minmax(0, 1fr) auto; }
.live-rank-row .live-choice-thumb{ grid-row:1 / span 2; }
.live-rank-row.has-image .live-rank-bar{ grid-column:3 / span 2; }
.live-rank-pos{
  grid-row:1 / span 2; width:48px; height:48px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:var(--md-brand-foreground-1-rest); color:#fff;
  font-family:var(--font-display); font-size:var(--md-typography-font-size-600);
}
.live-rank-label{ min-width:0; outline:none; font-family:var(--font-sans); font-size:var(--md-typography-font-size-700); line-height:36px; color:var(--md-neutral-foreground-1-rest); }
.live-rank-avg{ font-family:var(--font-sans); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-2-rest); white-space:nowrap; }
.live-rank-avg:empty{ display:none; }
.live-rank-bar{ grid-column:2 / span 2; height:14px; border-radius:7px; background:var(--md-neutral-background-3-rest); overflow:hidden; }
.live-rank-fill{ display:block; height:100%; width:0; border-radius:7px; background:var(--md-brand-foreground-1-rest); transition:width .6s cubic-bezier(.2, .8, .2, 1); }

.live-quiz-correct-toggle{ display:flex; align-items:center; flex-shrink:0; }
.live-choice-image-btn{
  position:relative; flex-shrink:0; align-self:stretch; aspect-ratio:1 / 1; padding:0; border-radius:8px; overflow:hidden; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center;
  border:1px dashed var(--ui-border); background:none; color:var(--ui-muted); cursor:pointer;
}
.live-choice-image-btn:hover{ border-color:var(--ui-accent); color:var(--ui-accent); }
.live-choice-image-btn.has-image{ border-style:solid; }
.live-question-row{ display:flex; gap:6px; }
.live-question-row > .prop-field{ flex:1; min-width:0; }
.live-choice-image-btn img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
/*! /css/components/image-card.css */
.image-card{
  width:100%; height:100%; box-sizing:border-box; position:relative;
  background:var(--md-neutral-background-1-rest);
  border-radius:var(--md-radius-240,24px);
  box-shadow:0 4px 4px rgba(112,144,176,0.15), 0 0 1px rgba(112,144,176,0.2);
  padding:16px 24px 24px; display:flex; flex-direction:column; gap:16px;
}
.image-card-drop-zone{
  position:relative; width:100%; height:300px; flex-shrink:0;
  border-radius:var(--md-radius-160,16px); background:transparent;
  overflow:hidden; display:flex; align-items:center; justify-content:center;
  border:2px dashed var(--md-neutral-stroke-1-rest);
}
.image-card-drop-zone.has-image{ border-style:solid; border-width:1px; border-color:var(--md-neutral-stroke-1-rest); }
.image-card-drop-zone.has-image{ container-type:size; }
.image-card-drop-zone.has-image > .image-card-img{
  position:absolute; left:50%; top:50%; display:block; object-fit:cover;
  width:max(100cqw, 100cqh * var(--img-ratio, 0)); height:max(100cqh, 100cqw / var(--img-ratio, 1e9));
  transform:translate(-50%,-50%) translate(var(--img-pan-x,0px), var(--img-pan-y,0px)) scale(var(--img-scale,1));
  transform-origin:center center;
}
.image-card-drop-zone.is-svg > .image-card-img{ object-fit:contain; width:100cqw; height:100cqh; }
.image-card.img-pan-armed .image-card-img{ cursor:move; }
.image-card.img-pan-armed .image-card-img:active{ cursor:grabbing; }
.image-card.img-pan-armed{ z-index:40; }
.image-card.img-pan-armed .image-card-drop-zone{ outline:2px solid var(--ui-accent); outline-offset:2px; cursor:move; }
.image-card-crop-ghost{
  position:absolute; left:50%; top:50%; max-width:none; max-height:none; display:block; cursor:move;
  transform:translate(-50%,-50%) translate(var(--img-pan-x,0px), var(--img-pan-y,0px)) scale(var(--img-scale,1));
  transform-origin:center center;
}
.image-card-crop-ghost:active{ cursor:grabbing; }
.image-card-crop-mask{
  position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1;
  box-shadow:0 0 0 200vmax rgba(15,18,23,0.55);
}
.image-card-panel-thumb-wrap{
  position:relative; width:100%; height:100px; border-radius:var(--md-radius-160,16px);
  overflow:hidden; background:var(--md-neutral-background-2-rest);
  border:1px solid var(--ui-border); margin-bottom:8px; container-type:size;
}
.image-card-panel-thumb{
  position:absolute; left:50%; top:50%; display:block; object-fit:cover;
  width:max(100cqw, 100cqh * var(--img-ratio, 0)); height:max(100cqh, 100cqw / var(--img-ratio, 1e9));
  transform:translate(-50%,-50%) translate(var(--img-pan-x,0px), var(--img-pan-y,0px)) scale(var(--img-scale,1));
  transform-origin:center center;
}
.image-card-panel-thumb-wrap{ cursor:pointer; }
.image-card-panel-thumb-wrap.is-svg .image-card-panel-thumb{ object-fit:contain; width:100cqw; height:100cqh; }
.image-card-panel-thumb-edit{
  position:absolute; bottom:6px; right:6px; width:26px; height:26px; border-radius:50%;
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); color:var(--md-neutral-foreground-1-rest); font-size:11px;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  opacity:0; transition:opacity .15s;
}
.image-card-panel-thumb-wrap:hover .image-card-panel-thumb-edit{ opacity:1; }
#imageCardMenu{ max-width:200px; }
.image-card.img-focused .image-card-drop-zone{ outline:2px solid var(--ui-accent); outline-offset:2px; }
.image-card .image-card-img{ cursor:pointer; }
.image-card-drop-hint{
  display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
  padding:16px; color:var(--md-neutral-foreground-3-rest); font-family:var(--font-sans); font-size:var(--md-typography-font-size-400);
}
.image-card-drop-icon{ width:80px; height:80px; }
.image-card-lib-link, .image-card-file-link{ color:var(--md-brand-foreground-1-rest); text-decoration:none; cursor:pointer; }
.image-card-source-seg{ display:flex; width:100%; margin:0 0 10px; }
.image-card-source-seg button{ flex:1; }
.image-card-source-panes{ position:relative; overflow:hidden; transition:height .28s cubic-bezier(.2,.8,.2,1); }
.image-card-source-pane{ transition:opacity .22s ease, transform .3s cubic-bezier(.2,.8,.2,1); }
.image-card-source-panes:not([data-source="file"]) .image-card-source-pane[data-pane="file"],
.image-card-source-panes:not([data-source="link"]) .image-card-source-pane[data-pane="link"]{
  position:absolute; left:0; top:0; width:100%; opacity:0; pointer-events:none;
}
.image-card-source-panes:not([data-source="file"]) .image-card-source-pane[data-pane="file"]{ transform:translateX(-18px); }
.image-card-source-panes:not([data-source="link"]) .image-card-source-pane[data-pane="link"]{ transform:translateX(18px); }
.image-card-source-pane[data-pane="link"]{ padding-top:8px; box-sizing:border-box; }
.image-card-edit-link-field{ display:flex; flex-direction:column; gap:6px; }
.image-card-edit-link-hint{ margin:6px 0 0; font-size:var(--text-sm); color:var(--ui-muted); }
.image-card-edit-link-hint.is-bad{ color:var(--ui-danger); }
.image-card-edit-footer-left{ display:flex; gap:8px; width:100%; }
.image-card-edit-footer-left.hidden{ display:none; }
.image-card-edit-footer-left .btn{ flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; gap:7px; white-space:nowrap; min-width:0; }
.image-card-edit-footer .btn{ white-space:nowrap; }
.image-card-edit-help{ margin:0; font-size:var(--text-sm); color:var(--ui-muted); text-align:center; }
.image-card-edit-body .image-card-panel-dropzone{ height:200px; }
.image-card-edit-body .image-card-panel-dropzone .image-card-drop-icon{ width:64px; height:64px; }
.image-card-edit-body .image-card-panel-dropzone .image-card-drop-hint{ font-size:var(--text-md); }
.image-card-panel-dropzone{ height:120px; }
.image-card-panel-dropzone.drag-over{ border-color:var(--ui-accent); background:var(--md-neutral-background-2-rest); }
.image-card-panel-dropzone .image-card-drop-hint{ font-size:11px; }
.image-card-panel-dropzone .image-card-drop-icon{ width:44px; height:44px; }
.image-card-panel-lib-link{ color:var(--md-brand-foreground-1-rest); text-decoration:none; cursor:pointer; }
.image-card-more-btn{
  position:absolute; top:8px; right:8px; width:30px; height:30px; border-radius:8px;
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); color:var(--ui-muted);
  box-shadow:0 1px 4px rgba(20,30,50,0.18);
  font-size:17px; line-height:1; display:flex; align-items:center; justify-content:center;
  cursor:pointer; opacity:0; pointer-events:none; transition:opacity .1s;
}
.image-card-drop-zone:hover .image-card-more-btn, .image-card-more-btn.open{ opacity:1; pointer-events:auto; }
.image-card-more-btn:hover{ background:var(--md-neutral-background-2-rest); color:var(--md-neutral-foreground-1-rest); }
.image-card-text{ display:flex; flex-direction:column; gap:8px; flex-shrink:0; }
.image-card-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-600); line-height:32px; color:var(--md-neutral-foreground-1-rest); outline:none; }
.image-card-description{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; white-space:pre-wrap; }
.image-card-footer{ display:flex; flex-direction:column; gap:10px; width:100%; margin-top:auto; flex-shrink:0; }
.image-card-divider{ width:100%; height:1px; background:var(--md-neutral-stroke-1-rest); flex-shrink:0; }
.image-card-footer-icon[data-icon-empty="true"] .list-item-icon{ display:none; }
.image-card-footer .list-item-label:empty{ display:none; }
.image-card-footer:has(.list-item-label:empty) .image-card-divider,
.image-card-footer:not(:has(.list-item-label)) .image-card-divider{ display:none; }
/*! /css/components/animation-card.css */
.anim-box{ position:relative; width:100%; height:100%; overflow:hidden; border-radius:inherit; }
.anim-poster{ width:100%; height:100%; display:block; object-fit:contain; }
.animation-card[data-anim-fit="cover"] .anim-poster{ object-fit:cover; }
.anim-badge{ display:none; }
#framesContainer > .frame .anim-badge{
  position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; gap:10px;
  padding:10px 18px; border-radius:999px; font-family:var(--font-regular); font-size:24px; line-height:1;
  color:#FFFFFF; background:rgba(20,26,34,.72); pointer-events:none;
}
#framesContainer > .frame .anim-badge i{ font-size:18px; }
.anim-empty, .anim-missing{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  border:2px dashed var(--slide-border, var(--md-neutral-stroke-2-rest)); border-radius:inherit;
  color:var(--slide-text-3, var(--md-neutral-foreground-3-rest)); font-family:var(--font-regular); font-size:24px; text-align:center; padding:24px;
}
.anim-empty i, .anim-missing i{ font-size:44px; }
.anim-missing{ display:none; background:var(--slide-surface, var(--md-neutral-background-2-rest)); }
.animation-card.anim-is-missing .anim-missing{ display:flex; }
.animation-card.anim-is-missing .anim-poster, .animation-card.anim-is-missing .anim-badge{ visibility:hidden; }

.anim-player-frame{ position:absolute; inset:0; width:100%; height:100%; border:0; background:transparent; opacity:0; transition:opacity .25s ease; color-scheme:normal; }
.anim-player-frame.is-shown{ opacity:1; }
.anim-box.anim-playing .anim-poster, .anim-panel-preview.anim-playing .anim-panel-poster{ visibility:hidden; }
.anim-box.anim-starting .anim-poster{ visibility:hidden; }

.anim-panel-preview{ position:relative; width:100%; aspect-ratio:16 / 10; border-radius:8px; overflow:hidden; background:var(--ui-surface-2, var(--md-neutral-background-2-rest)); margin-bottom:10px; }
.anim-panel-poster{ width:100%; height:100%; object-fit:contain; display:block; }
.anim-fit-seg{ width:100%; margin-bottom:14px; }
#animPanelPlay{ margin-bottom:14px; }
#animPanelPlay i{ margin-right:8px; }

.image-viewer-stage [hidden]{ display:none !important; }
.image-viewer-anim{ position:relative; width:100%; max-width:calc((100vh - 150px) * var(--anim-ratio, 1.6)); aspect-ratio:var(--anim-ratio, 1.6); border-radius:8px; overflow:hidden; }
.image-viewer-anim .image-viewer-anim-poster{ width:100%; height:100%; max-width:none; max-height:none; }
.image-viewer-anim.anim-playing .image-viewer-anim-poster{ visibility:hidden; }

.library-kind-seg{ width:100%; margin-bottom:12px; }
.library-kind-seg[hidden]{ display:none; }
#animationList{ display:flex; flex-direction:column; gap:18px; }
#animationList[hidden]{ display:none; }
.animation-thumb .thumb-preview{ padding:0; height:auto; aspect-ratio:16 / 10; }
.animation-thumb .thumb-preview img{ object-fit:cover; }
#libraryList[hidden]{ display:none; }

.anim-style-frame .deck-thumbnail-img{ object-fit:contain; }
.anim-style-frames-label{ margin-top:4px; font-size:var(--text-base); color:var(--ui-text); font-family:"lexend Regular"; }
.anim-style-frames{ display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; }
.anim-style-frame-btn{ padding:3px; border:1px solid var(--ui-border); border-radius:8px; background:var(--md-neutral-background-2-rest); cursor:pointer; line-height:0; transition:border-color .15s, box-shadow .15s; }
.anim-style-frame-btn:hover{ border-color:var(--ui-muted); }
.anim-style-frame-btn.active{ border-color:var(--ui-accent); box-shadow:0 0 0 2px var(--ui-accent-soft, rgba(0,64,222,0.18)); }
.anim-style-frame-btn img{ width:100%; aspect-ratio:16 / 10; object-fit:contain; border-radius:5px; display:block; }
.anim-panel-play{
  position:absolute; left:50%; top:50%; z-index:2; width:44px; height:44px; margin:-22px 0 0 -22px; padding:0;
  border:0; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer;
  font-size:15px; color:#FFFFFF; background:rgba(20,26,34,.72); box-shadow:0 2px 8px rgba(0,0,0,.25);
  transition:opacity .2s ease, transform .15s ease, background .15s ease;
}
.anim-panel-play:hover{ background:rgba(20,26,34,.88); transform:scale(1.06); }
.anim-panel-play:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:2px; }
.anim-panel-play i{ margin-left:2px; }
.anim-panel-preview.is-playing .anim-panel-play{ opacity:0; }
.anim-panel-preview.is-playing:hover .anim-panel-play, .anim-panel-preview.is-playing .anim-panel-play:focus-visible{ opacity:1; }
.anim-panel-preview.is-playing .anim-panel-play i{ margin-left:0; }
.anim-panel-preview + .panel-replace-btn{ margin-bottom:6px; }
/*! /css/components/stepper-card.css */
.stepper-card{ display:flex; align-items:center; justify-content:center; box-sizing:border-box; padding:16px; }
.stepper-card[data-valign="top"]{ align-items:flex-start; }
.stepper-steps{ position:relative; width:100%; margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:4px; }
.stepper-steps::before{
  content:''; position:absolute; left:40px; top:36px; bottom:36px; width:1px; background:var(--slide-stroke);
}
.stepper-step{
  position:relative; display:flex; align-items:center; gap:18px; min-width:0; overflow:hidden;
  padding:14px 20px; border-radius:16px; color:var(--slide-text-2);
  transition:background .3s ease, color .3s ease;
}
.stepper-idx{
  position:relative; z-index:1; width:40px; height:40px; border-radius:50%; flex-shrink:0;
  display:grid; place-items:center; box-sizing:border-box;
  font-family:var(--font-regular); font-size:18px;
  background:var(--slide-surface); border:1px solid var(--slide-stroke);
  transition:background .25s ease, border-color .25s ease, color .25s ease;
}
.stepper-idx > *{ grid-area:1 / 1; transition:opacity .2s ease, transform .25s ease; }
.stepper-check{ font-size:16px; opacity:0; transform:scale(.6); }
.stepper-name{ flex:1; min-width:0; font-family:var(--font-regular); font-size:22px; line-height:1.3; outline:none; overflow-wrap:anywhere; }

.stepper-step.is-current{ background:var(--slide-surface-2); color:var(--slide-text-1); }
.stepper-step.is-current .stepper-idx{ background:var(--slide-accent); border-color:var(--slide-accent); color:#FFFFFF; }
.stepper-step.is-done .stepper-idx{ background:var(--slide-accent-soft); border-color:transparent; color:var(--slide-accent); }
.frame[data-theme="dark"] .stepper-step.is-done .stepper-idx{ background:color-mix(in srgb, var(--slide-accent) 18%, var(--slide-surface)); }
.stepper-step.is-done .stepper-n{ opacity:0; transform:scale(.6); }
.stepper-step.is-done .stepper-check{ opacity:1; transform:none; }

.stepper-card[data-orient="row"] .stepper-steps{ flex-direction:row; align-items:stretch; }
.stepper-card[data-orient="row"] .stepper-steps::before{
  left:calc(100% / var(--n, 3) / 2); right:calc(100% / var(--n, 3) / 2); top:34px; bottom:auto; width:auto; height:1px;
}
.stepper-card[data-orient="row"] .stepper-step{ flex:1 1 0; flex-direction:column; justify-content:flex-start; gap:12px; padding:14px 12px; text-align:center; }
.stepper-card[data-orient="row"] .stepper-name{ flex:none; width:100%; }
.stepper-steps:has(.stepper-step:only-child)::before{ display:none; }

.stepper-link-row{ display:flex; align-items:center; gap:10px; min-width:0; margin-bottom:8px; }
.stepper-link-thumb{ width:56px; height:35px; border-radius:6px; object-fit:cover; flex-shrink:0; background:var(--ui-surface-2, var(--md-neutral-background-2-rest)); }
.stepper-link-row > i{ width:56px; text-align:center; color:var(--ui-muted); }
.stepper-link-name{ flex:1; min-width:0; font-size:13px; color:var(--md-neutral-foreground-1-rest); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.row-edit.stepper-row-edit{ display:grid; grid-template-columns:auto minmax(0, 1fr) auto; gap:6px; align-items:center; padding:6px 4px; }
.row-edit.stepper-row-edit:hover{ background:var(--md-neutral-background-2-rest); }
.stepper-row-pickers{ grid-column:2 / 3; display:flex; flex-direction:column; gap:6px; min-width:0; }
.stepper-row-pickers .panel-hint{ font-size:12px; }
.stepper-row-pickers .photo-select-trigger i.photo-select-glyph{
  width:36px; height:22px; border-radius:5px; flex-shrink:0; font-size:11px;
  background:var(--md-neutral-background-2-rest); color:var(--ui-muted);
  display:flex; align-items:center; justify-content:center;
}
.stepper-row-pickers .photo-select-trigger-thumb{ width:36px; height:22px; border-radius:5px; }
.stepper-row-pickers .photo-select-trigger{ padding-top:9.25px; padding-bottom:9.25px; }
.stepper-row-pickers .photo-select-option-thumb{ width:36px; height:22px; border-radius:4px; }
.stepper-row-pickers .icon-select-option i.photo-select-glyph{ width:36px; text-align:center; flex-shrink:0; }
.stepper-part-btn{
  display:flex; align-items:center; gap:8px; width:100%; box-sizing:border-box; padding:12px;
  border:1px solid var(--ui-border); border-radius:8px; background:var(--md-color-grey-white);
  font:inherit; font-size:13px; line-height:normal; color:var(--md-neutral-foreground-1-rest); cursor:pointer; text-align:left;
}
.stepper-part-btn:hover{ border-color:var(--ui-accent); }
.stepper-dur{
  display:flex; align-items:center; gap:8px; width:100%; box-sizing:border-box; height:42.5px; padding:0 12px;
  border:1px solid var(--ui-border); border-radius:8px; background:var(--md-color-grey-white);
  font-size:13px; color:var(--md-neutral-foreground-1-rest); cursor:text;
}
.stepper-dur:focus-within{ border-color:var(--ui-accent); }
.stepper-dur-label{ flex:1; min-width:0; color:var(--ui-muted); }
.stepper-dur .stepper-dur-input{
  width:56px; height:auto; flex-shrink:0; padding:0; border:0; border-radius:0; outline:none; background:none; box-shadow:none; text-align:right;
  font:inherit; font-size:13px; color:inherit;
}
.stepper-dur-unit{ color:var(--ui-muted); }
.stepper-part-label{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stepper-part-edit{ color:var(--ui-muted); font-size:12px; }

#stepperPartOverlay{
  display:flex; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center; opacity:0; transition:opacity .2s ease;
}
#stepperPartOverlay.open{ opacity:1; }
#stepperPartModal{
  width:880px; max-width:94vw; max-height:92vh; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.skf-body{ display:flex; flex-direction:column; gap:14px; padding:4px 20px 12px; overflow:auto; min-height:0; }
.skf-preview{
  position:relative; width:100%; max-height:46vh; margin:0 auto; border-radius:12px; overflow:hidden;
  background:var(--md-neutral-background-2-rest);
}
.skf-preview-img{ width:100%; height:100%; object-fit:contain; display:block; }
.skf-preview.anim-playing .skf-preview-img{ visibility:hidden; }
.skf-preview-time{
  position:absolute; left:12px; bottom:12px; z-index:2; padding:4px 10px; border-radius:999px;
  font-size:12px; color:#FFFFFF; background:rgba(20,26,34,.72); pointer-events:none;
}
.skf-controls{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.skf-readout{ flex:1; min-width:0; font-size:14px; color:var(--md-neutral-foreground-1-rest); }
.skf-play{ display:inline-flex; align-items:center; gap:8px; }
.skf-timeline{ display:flex; flex-direction:column; gap:6px; padding:0 8px; }
.skf-track{
  position:relative; height:44px; border-radius:10px; background:var(--md-neutral-background-2-rest);
  touch-action:none; user-select:none; cursor:crosshair;
}
.skf-seg{
  position:absolute; top:4px; bottom:4px; box-sizing:border-box; border-radius:8px;
  background:color-mix(in srgb, var(--md-neutral-stroke-1-rest) 70%, transparent); color:var(--md-neutral-foreground-3-rest);
  display:flex; align-items:center; justify-content:center; font-size:12px; pointer-events:none;
}
.skf-seg.is-current{ background:var(--ui-accent); color:#FFFFFF; pointer-events:auto; cursor:grab; box-shadow:0 1px 4px rgba(0,64,222,.35); z-index:1; }
.skf-track.is-dragging, .skf-track.is-dragging .skf-seg.is-current{ cursor:grabbing; }
.skf-seg-n{ pointer-events:none; }
.skf-handle{
  position:absolute; top:-4px; bottom:-4px; width:14px; padding:0; border:0; background:none; cursor:ew-resize; z-index:2;
}
.skf-handle::before{
  content:''; position:absolute; top:6px; bottom:6px; left:5px; width:4px; border-radius:2px; background:#FFFFFF;
  box-shadow:0 0 0 1px var(--ui-accent);
}
.skf-handle-start{ left:-7px; }
.skf-handle-end{ right:-7px; }
.skf-handle:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:1px; border-radius:4px; }
.skf-handle.is-dragging::before{ background:var(--ui-accent-soft, #EEF3FE); }
.skf-playhead{ position:absolute; top:0; bottom:0; width:2px; margin-left:-1px; background:var(--md-neutral-foreground-1-rest); opacity:.5; pointer-events:none; z-index:3; }
.skf-track.is-dragging .skf-playhead{ display:none; }
.skf-scale{ display:flex; justify-content:space-between; font-size:11px; color:var(--ui-muted); }
.skf-hint{ margin:0; font-size:12px; color:var(--ui-muted); }
.skf-track.is-playing .skf-playhead{ opacity:1; width:3px; margin-left:-1.5px; background:#FFFFFF; box-shadow:0 0 0 1px rgba(20,26,34,.55); }

.stepper-step.is-running::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:3px;
  background:var(--slide-accent); opacity:.35; transform:scaleX(0); transform-origin:left; pointer-events:none;
  animation:stepper-progress var(--step-dur, 4s) linear forwards;
}
@keyframes stepper-progress{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
.present-frame .stepper-step{ cursor:pointer; }
.present-frame .image-asset-crop{ position:relative; }
.stepper-img-next{ position:absolute; left:0; top:0; opacity:0; transition:opacity .45s ease; }
.stepper-img-next.is-in{ opacity:1; }
.present-frame .stepper-step:not(.is-current):hover{ background:color-mix(in srgb, var(--slide-surface-2) 60%, transparent); color:var(--slide-text-1); }
/*! /css/components/callout.css */
.callout{
  width:100%; height:100%; box-sizing:border-box; position:relative;
  background:var(--md-neutral-background-2-rest);
  border-radius:var(--md-radius-240,24px);
  padding:16px 20px; display:flex; align-items:flex-start; gap:16px;
}
.callout-icon-square{
  flex-shrink:0; width:28px; height:28px;
  display:flex; align-items:center; justify-content:center; font-size:var(--md-typography-font-size-600);
  color:var(--md-brand-foreground-1-rest);
}
.callout[data-kind="tip"]{ background:var(--md-color-blue-100); }
.callout[data-kind="success"]{ background:var(--md-color-teal-100); }
.callout[data-kind="warning"]{ background:var(--md-color-orange-100); }
.callout[data-kind="danger"]{ background:var(--md-color-pink-100); }
.callout[data-kind="success"] .callout-icon-square, .callout[data-kind="success"] .callout-title{ color:var(--md-color-teal-700); }
.callout[data-kind="warning"] .callout-icon-square, .callout[data-kind="warning"] .callout-title{ color:var(--md-color-orange-700); }
.callout[data-kind="danger"] .callout-icon-square, .callout[data-kind="danger"] .callout-title{ color:var(--md-color-pink-600); }
.callout[data-kind="informative"]:not([data-style="accent"]) .callout-icon-square{ color:var(--md-color-grey-800); }
.frame[data-theme="dark"] .callout[data-kind="informative"]:not([data-style="accent"]) .callout-icon-square{ color:var(--md-color-grey-300); }
.frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="tip"]{ background:rgba(107,138,247,0.16); }
.frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="success"]{ background:rgba(60,203,170,0.16); }
.frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="warning"]{ background:rgba(255,140,90,0.16); }
.frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="danger"]{ background:rgba(240,122,160,0.16); }
.frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="success"] .callout-icon-square, .frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="success"] .callout-title{ color:#5FD6BB; }
.frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="warning"] .callout-icon-square, .frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="warning"] .callout-title{ color:#FFA071; }
.frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="danger"] .callout-icon-square, .frame[data-theme="dark"] .callout:not([data-style="accent"])[data-kind="danger"] .callout-title{ color:#F28BB0; }
.callout-text{ display:flex; flex-flow:row wrap; align-items:baseline; gap:4px 10px; flex:1; min-width:0; padding-top:2px; }
.callout-title-wrap{ width:auto; flex-shrink:0; }
.callout-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-brand-foreground-1-rest); outline:none; }
.callout:not([data-style="accent"])[data-kind="informative"] .callout-title{ color:var(--md-neutral-foreground-1-rest); }
.callout-description{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; flex:1 1 auto; min-width:160px; white-space:pre-wrap; }
.callout-description:empty{ flex:0 0 auto; min-width:0; }
.callout-title-wrap:not(:has(.callout-title:not(:empty))){ display:none; }
.callout[data-style="accent"][data-kind="tip"]{ background:var(--md-color-blue-500); }
.callout[data-style="accent"][data-kind="informative"]{ background:var(--md-color-grey-800); }
.frame[data-theme="dark"] .callout[data-style="accent"][data-kind="informative"]{ background:var(--md-color-grey-700); }
.frame[data-theme="dark"] .callout[data-style="accent"][data-kind="tip"]{ background:var(--slide-accent); }
.callout[data-style="accent"][data-kind="success"]{ background:var(--md-color-teal-700); }
.callout[data-style="accent"][data-kind="warning"]{ background:var(--md-color-orange-700); }
.callout[data-style="accent"][data-kind="danger"]{ background:var(--md-color-pink-600); }
.callout[data-style="accent"] .callout-icon-square,
.callout[data-style="accent"] .callout-title,
.callout[data-style="accent"] .callout-description{ color:var(--md-color-grey-white); }

.callout[data-orientation="vertical"]{ flex-direction:column; align-items:center; justify-content:center; gap:44px; text-align:center; }
.callout[data-orientation="vertical"] .callout-icon-square{ width:64px; height:64px; font-size:64px; }
.callout[data-orientation="vertical"] .callout-text{ flex:0 0 auto; flex-flow:column nowrap; align-items:center; gap:20px; width:100%; padding-top:0; }
.callout[data-orientation="vertical"] .callout-title-wrap{ width:100%; }
.callout[data-orientation="vertical"] .callout-title{ font-size:var(--md-typography-font-size-700); line-height:var(--md-typography-line-height-600); text-align:center; }
.callout[data-orientation="vertical"] .callout-description{ flex:0 0 auto; width:100%; min-width:0; font-size:var(--md-typography-font-size-600); line-height:var(--md-typography-line-height-600); text-align:center; }
/*! /css/components/charts.css */
.bar-chart{
  background:transparent;
  padding:0 var(--md-spacing-24);
  display:flex;
  flex-direction:column;
  gap:var(--md-spacing-16);
  text-align:left;
  min-height:0;
}
.chart-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); width:100%; outline:none; margin-bottom:16px; }
.bar-chart-body{ flex:1; min-height:0; display:flex; flex-direction:column; gap:4px; }
.bar-chart-plot-row{ flex:1; min-height:0; display:flex; align-items:stretch; gap:var(--md-spacing-16); }
.bar-chart-plot{
  position:relative;
  flex:1; min-width:0;
  display:flex; align-items:flex-end; justify-content:space-around;
  gap:8px;
  padding:var(--plot-pad-top, 0px) 12px 0;
  box-sizing:border-box;
}
.bar-chart-grid{ position:absolute; inset:var(--plot-pad-top, 0px) 0 0 0; pointer-events:none; }
.bar-chart-grid-line{ position:absolute; left:0; right:0; height:1px; background:var(--md-neutral-stroke-1-rest); transform:translateY(-50%); }
.bar-chart-average-line{ position:absolute; left:0; right:0; height:0; border-top:2px dashed var(--ui-accent); z-index:2; pointer-events:none; }
.bar-chart-bar-col{ position:relative; z-index:1; flex:1; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; }
.bar-fill{ width:100%; max-width:var(--bar-max-width, 96px); border-radius:var(--md-radius-40) var(--md-radius-40) 0 0; min-height:2px; }
.stacked-bar-col{ min-height:2px; }
.bar-data-label{ font-family:var(--font-sans); font-weight:var(--font-weight-semibold); font-size:var(--md-typography-font-size-300); color:var(--md-neutral-foreground-2-rest); margin-bottom:4px; }
.bar-chart-y-labels{ position:relative; flex-shrink:0; width:44px; margin-top:var(--plot-pad-top, 0px); }
.bar-y-label{ position:absolute; left:0; right:0; transform:translateY(-50%); font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-400); line-height:24px; color:var(--md-neutral-foreground-3-rest); text-align:right; }
.bar-chart-x-row{ display:flex; align-items:flex-start; gap:var(--md-spacing-16); }
.bar-chart-x-labels{ flex:1; min-width:0; display:flex; justify-content:space-around; gap:8px; padding:4px 12px 0; box-sizing:border-box; }
.bar-x-label{ flex:1; width:100%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-400); line-height:24px; color:var(--md-neutral-foreground-3-rest); text-align:center; }
.bar-chart-x-axis-spacer{ flex-shrink:0; width:44px; }
.bar-chart-h-plot{ position:relative; flex:1; min-height:0; display:flex; }
.bar-chart-h-grid{ position:absolute; top:0; bottom:0; pointer-events:none; }
.bar-chart-h-grid-line{ position:absolute; top:0; bottom:0; width:1px; background:var(--md-neutral-stroke-1-rest); transform:translateX(-50%); }
.bar-chart-average-line-v{ position:absolute; top:0; bottom:0; width:0; border-left:2px dashed var(--ui-accent); z-index:2; pointer-events:none; }
.bar-chart-h-rows{ flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; position:relative; z-index:1; }
.bar-chart-h-row{ display:flex; align-items:center; gap:10px; flex:1; min-height:0; }
.bar-chart-h-row-reverse{ flex-direction:row-reverse; }
.bar-h-label{ flex-shrink:0; width:88px; font-family:var(--font-sans); font-size:var(--md-typography-font-size-400); color:var(--md-neutral-foreground-3-rest); text-align:right; }
.bar-chart-h-row-reverse .bar-h-label{ text-align:left; }
.bar-chart-h-track{ flex:1; min-width:0; height:100%; max-height:84px; min-height:14px; border-radius:var(--md-radius-40); overflow:hidden; }
.bar-h-fill{ height:100%; min-width:2px; border-radius:0 var(--md-radius-40) var(--md-radius-40) 0; }
.bar-h-value{ flex-shrink:0; width:44px; font-family:var(--font-sans); font-weight:var(--font-weight-semibold); font-size:var(--md-typography-font-size-300); color:var(--md-neutral-foreground-2-rest); }
.bar-chart-h-scale{ display:flex; justify-content:space-between; font-family:var(--font-sans); font-size:var(--md-typography-font-size-400); color:var(--md-neutral-foreground-3-rest); margin-top:4px; }
.grouped-bar-group{ position:relative; z-index:1; flex:1; min-width:0; height:100%; display:flex; align-items:flex-end; gap:8px; padding:0 12px; box-sizing:border-box; }
.grouped-bar-group .bar-chart-bar-col{ flex:1; }
.grouped-bar-h-tracks{ flex:1; min-width:0; min-height:0; align-self:stretch; display:flex; flex-direction:column; gap:4px; }
.grouped-bar-h-item{ flex:1; min-height:0; display:flex; align-items:center; gap:6px; }
.grouped-bar-h-track{ flex:1; min-width:0; height:100%; min-height:8px; background:var(--md-neutral-background-2-rest); border-radius:var(--md-radius-40); overflow:hidden; }
.stacked-bar-col{ position:relative; z-index:1; width:100%; max-width:96px; display:flex; flex-direction:column; gap:2px; background:var(--md-neutral-background-1-rest); border-radius:var(--md-radius-40) var(--md-radius-40) 0 0; overflow:hidden; }
.stacked-bar-seg{ width:100%; }
.stacked-bar-h-track{ flex:none; height:100%; min-width:2px; display:flex; gap:2px; background:var(--md-neutral-background-1-rest); border-radius:0 var(--md-radius-40) var(--md-radius-40) 0; overflow:hidden; }
.stacked-bar-h-seg{ height:100%; }
.line-chart-svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.line-chart-points{ position:absolute; inset:0; pointer-events:none; }
.line-chart-point{ position:absolute; width:8px; height:8px; border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 2px var(--md-color-grey-white); }
.line-chart-value{ position:absolute; transform:translate(-50%,-130%); font-family:var(--font-sans); font-weight:var(--font-weight-semibold); font-size:var(--md-typography-font-size-200); color:var(--md-neutral-foreground-2-rest); white-space:nowrap; }
.line-chart-hits{ position:absolute; inset:0; }
.line-chart-hit{ position:absolute; width:20px; height:20px; border-radius:50%; transform:translate(-50%,-50%); cursor:default; }
.line-chart-hit::after{
  content:""; position:absolute; inset:0; margin:auto; width:8px; height:8px; border-radius:50%;
  background:var(--dot-color, currentColor); border:2px solid var(--md-color-grey-white); box-shadow:var(--shadow-xs);
  opacity:0; transform:scale(.4); transition:opacity .12s ease, transform .12s ease;
}
.line-chart-hit:hover::after{ opacity:1; transform:scale(1); }
.chart-legend{ display:flex; align-items:center; flex-shrink:0; }
.legend-row{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.legend-item{ display:flex; align-items:center; gap:4px; flex-shrink:0; }
.legend-swatch{ flex-shrink:0; width:18px; height:18px; border-radius:4px; }
.legend-label{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-400); line-height:24px; color:var(--md-neutral-foreground-3-rest); }
.legend-icon{ flex-shrink:0; width:18px; height:18px; display:flex; align-items:center; justify-content:center; font-size:15px; }
.legend-icon-today{ font-size:var(--md-typography-font-size-500); }
.legend-icon-range{
  width:18px; height:8px; border-radius:2px; border-top:3px solid; opacity:.85;
  background-image:repeating-linear-gradient(45deg, currentColor 0, currentColor 1.5px, transparent 1.5px, transparent 4px);
}
.legend-icon-shape{ width:10px; height:10px; background:currentColor; }
.legend-icon-shape-circle{ border-radius:50%; }
.legend-icon-shape-diamond{ transform:rotate(45deg); }
.legend-icon-shape-hexagon{ clip-path:polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%); }
.legend-icon-shape-triangle{ clip-path:polygon(50% 0%, 0% 100%, 100% 100%); }
.legend-icon-shape-octagon{ clip-path:polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%); }
.legend-icon-line{ width:18px; height:0; border-top:2px dashed; }
.data-matrix{ background:transparent; padding:0 var(--md-spacing-24); display:flex; flex-direction:column; gap:var(--md-spacing-16); text-align:left; min-height:0; }
.matrix-body{ flex:1; min-height:0; display:flex; flex-direction:column; gap:8px; }
.matrix-grid{ display:grid; gap:8px; flex:1; min-height:0; }
.matrix-axis-y-title{
  writing-mode:vertical-rl; transform:rotate(180deg); font-family:var(--font-display);
  font-weight:var(--font-weight-black); font-size:var(--md-typography-font-size-400); color:var(--md-neutral-foreground-1-rest); display:flex; align-items:center; justify-content:center;
}
.matrix-axis-x-title{ font-family:var(--font-display); font-weight:var(--font-weight-black); font-size:var(--md-typography-font-size-400); color:var(--md-neutral-foreground-1-rest); text-align:center; padding-left:80px; }
.matrix-row-label{ display:flex; align-items:center; justify-content:flex-end; padding-right:12px; font-family:var(--font-sans); font-weight:var(--font-weight-extralight); font-size:var(--md-typography-font-size-400); color:var(--md-neutral-foreground-3-rest); text-align:right; }
.matrix-axis-x-label{ display:flex; align-items:center; justify-content:center; padding-top:4px; font-family:var(--font-sans); font-weight:var(--font-weight-extralight); font-size:var(--md-typography-font-size-400); color:var(--md-neutral-foreground-3-rest); text-align:center; }
.matrix-cell{
  position:relative; border-radius:12px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; min-width:0; min-height:0;
}
.matrix-cell-value{ font-family:var(--font-display); font-weight:var(--font-weight-black); font-size:var(--md-typography-font-size-500); color:var(--md-neutral-foreground-1-rest); }
.matrix-cell-on-color .matrix-cell-value{ color:var(--md-neutral-foreground-on-color-rest); }
.matrix-cell-legend{
  position:absolute; top:0; right:0; background:var(--md-neutral-background-1-rest); padding:8px;
  border-radius:0 12px 0 6px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 4px rgba(112,144,176,.15), 0 0 1px rgba(112,144,176,.2);
}
.matrix-cell-legend i{ font-size:var(--md-typography-font-size-500); }
.matrix-legend-rows{ display:flex; flex-direction:column; gap:8px; }
.matrix-legend-row{ display:flex; align-items:center; gap:8px; }
.matrix-legend-label-input{ flex:1; min-width:0; }
.matrix-legend-map-grid{ display:grid; gap:4px; }
.matrix-legend-map-cell{
  aspect-ratio:1; border:1px solid var(--ui-border); border-radius:6px; background:var(--md-color-grey-white);
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ui-muted); font-size:var(--md-typography-font-size-200);
}
.matrix-legend-map-cell:hover{ border-color:var(--ui-accent); }
.donut-chart{ background:transparent; padding:0 var(--md-spacing-24); display:flex; flex-direction:column; gap:var(--md-spacing-16); text-align:left; min-height:0; }
.donut-body{ flex:1; min-height:0; display:flex; flex-direction:column; align-items:center; gap:16px; }
.donut-simple-chart{ position:relative; display:flex; align-items:center; justify-content:center; flex:1; min-height:0; width:100%; container-type:size; }
.donut-ring{ position:relative; width:min(85cqw, 85cqh); height:min(85cqw, 85cqh); border-radius:50%; flex-shrink:0; }
.donut-ring-bare-wrap{ position:relative; flex:1; min-width:0; height:100%; display:flex; align-items:center; justify-content:center; container-type:size; }
.donut-ring-bare{ width:min(85cqw, 85cqh); height:min(85cqw, 85cqh); }
@property --donut-p{ syntax:'<percentage>'; inherits:true; initial-value:100%; }
.donut-ring, .donut-ring-bare{
  -webkit-mask-image:conic-gradient(from -90deg, var(--md-color-grey-black) 0% var(--donut-p), transparent var(--donut-p) 100%);
  mask-image:conic-gradient(from -90deg, var(--md-color-grey-black) 0% var(--donut-p), transparent var(--donut-p) 100%);
}
.donut-ring.donut-fill-in, .donut-ring-bare.donut-fill-in{ animation:donut-fill-sweep .9s cubic-bezier(0.2,0.7,0.3,1) forwards; }
@keyframes donut-fill-sweep{ from{ --donut-p:0%; } to{ --donut-p:100%; } }
.donut-hole{ position:absolute; inset:15%; border-radius:50%; background:var(--md-neutral-background-1-rest); }
.donut-center{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center; }
.donut-metric{ font-family:var(--font-display); font-weight:var(--font-weight-black); font-size:48px; line-height:1; color:var(--md-neutral-foreground-3-rest); outline:none; }
.donut-caption{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); color:var(--md-neutral-foreground-3-rest); outline:none; }
.donut-extended-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; flex:1; min-height:0; }
.donut-extended-left{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; }
.donut-metric-row{ display:flex; align-items:flex-end; gap:12px; }
.donut-metric-big{ font-family:var(--font-display); font-weight:var(--font-weight-black); font-size:48px; line-height:1; color:var(--md-neutral-foreground-1-rest); outline:none; }
.donut-metric-suffix{ font-family:var(--font-sans); font-weight:var(--font-weight-extralight); font-size:var(--md-typography-font-size-600); color:var(--md-neutral-foreground-3-rest); outline:none; }
.donut-progress-list{ display:flex; flex-direction:column; gap:12px; width:100%; }
.donut-progress-labels{ display:flex; justify-content:space-between; font-family:var(--font-sans); font-weight:var(--font-weight-extralight); font-size:var(--md-typography-font-size-400); color:var(--md-neutral-foreground-3-rest); }
.donut-progress-track{ height:8px; border-radius:100px; background:var(--md-neutral-stroke-1-rest); overflow:hidden; }
.donut-progress-fill{ height:100%; border-radius:100px; }
.donut-thumb-ring{ position:relative; width:28px; height:28px; border-radius:50%; }
.donut-thumb-hole{ position:absolute; inset:28%; border-radius:50%; background:var(--slide-surface); }
.prop-tabs-wrap{ margin-bottom:16px; }
.prop-panel-warning{
  background:var(--md-status-warning-background-1-rest); color:var(--md-status-warning-foreground-1-rest);
  border:1px solid var(--md-status-warning-stroke-color); border-radius:8px; padding:8px 12px;
  font-size:var(--md-typography-font-size-200); line-height:1.4; margin:-4px 0 4px;
}
.mini-segment-accent .cols-group-thumb{ background:var(--ui-accent); }
.mini-segment-accent button.active{ color:var(--md-color-grey-white); }
.prop-toggle-row-muted-label{ color:var(--ui-muted); }
.prop-data-actions{ display:flex; flex-direction:column; gap:8px; }
.prop-data-actions .btn{ width:100%; box-sizing:border-box; justify-content:center; display:flex; }
.chart-palette-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; }
.chart-palette-swatch{
  display:flex; gap:2px; padding:8px; border:1px solid var(--ui-border); border-radius:8px;
  background:var(--md-color-grey-white); cursor:pointer;
}
.chart-palette-swatch span{ flex:1; border-radius:3px; }
.chart-palette-swatch-flat span{ height:16px; }
.chart-palette-swatch-ramp span{ height:16px; }
.chart-palette-swatch.active{ border-color:var(--ui-accent); box-shadow:0 0 0 1px var(--ui-accent); }
.chart-palette-swatch:disabled{ opacity:.4; cursor:not-allowed; }
.chart-palette-swatch-blocks{ display:flex; height:16px; flex:1; overflow:hidden; border-radius:3px; }
.chart-palette-swatch-blocks i{ flex:1; display:block; }
/*! /css/components/table.css */
.table{
  background:none; border-radius:0; display:flex; flex-direction:column; overflow:auto;
}
.table-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; margin-bottom:16px; }
.table-title:empty{ display:none; }
.table-render{ position:relative; overflow:visible; }
.table-body-wrap{ display:flex; align-items:stretch; min-height:0; }
.table-body-wrap .table-render{ min-width:0; }
.table-body-wrap:has(.data-table[data-rows-hug="false"]){ flex:1; }
.table-body-wrap:has(.data-table[data-rows-hug="false"]) .table-render{ flex:1; height:100%; }
.table-col-insert-zone{ flex:0 0 28px; width:28px; padding-left:4px; display:flex; }
.table-insert-col-btn, .table-insert-row-btn{
  flex:1; display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  border:1px dashed var(--ui-border); border-radius:6px; background:none; color:var(--ui-muted);
  cursor:pointer; opacity:0; pointer-events:none; transition:opacity .12s ease;
}
.table-col-insert-zone.armed .table-insert-col-btn, .table-row-insert-zone.armed .table-insert-row-btn{ opacity:1; pointer-events:auto; }
.table-insert-col-btn:hover, .table-insert-row-btn:hover{ border-color:var(--ui-accent); color:var(--ui-accent); background:rgba(0,64,222,0.06); }
.table-row-insert-zone{ height:28px; margin-top:4px; }
.data-table{ border-collapse:collapse; width:100%; table-layout:fixed; }
.data-table[data-cols-fill="false"]{ width:auto; }
.data-table th, .data-table td{ border:1px solid transparent; border-bottom:1px solid var(--md-neutral-stroke-1-rest); padding:10px 12px; text-align:left; vertical-align:top; }
.data-table th{ background:none; }
.data-table tbody tr:last-child td{ border-bottom:none; }
.table-cell{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:1.4; color:var(--md-neutral-foreground-1-rest); outline:none; min-width:24px; word-wrap:break-word; overflow-wrap:break-word; }
.data-table th .table-cell{ font-weight:var(--font-weight-bold); color:var(--md-color-grey-black); font-family:var(--font-display) }
.frame[data-theme="dark"] .data-table th .table-cell{ color:var(--slide-text-1); }
.data-table .cell-sel-top{ border-top:2px solid var(--ui-accent) !important; }
.data-table .cell-sel-bottom{ border-bottom:2px solid var(--ui-accent) !important; }
.data-table .cell-sel-left{ border-left:2px solid var(--ui-accent) !important; }
.data-table .cell-sel-right{ border-right:2px solid var(--ui-accent) !important; }
.table-format-row th{ padding:2px 12px 4px; border-bottom:none; }
.table-col-format-trigger{
  display:flex; align-items:center; justify-content:center; width:100%; height:20px; border:none;
  border-radius:4px; background:none; padding:0; font-family:var(--font-sans); font-size:11px;
  font-weight:var(--font-weight-bold); letter-spacing:0.02em; color:var(--ui-muted); cursor:pointer;
}
.table-col-format-trigger:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-accent); }
.table-col-format-trigger.selected{ color:var(--ui-accent); }
.table-row-index-cell{ border:none !important; background:none !important; width:36px; padding:10px 4px !important; text-align:center; }
.table-row-select-trigger{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border:none;
  border-radius:5px; background:none; padding:0; font-family:var(--font-sans); font-size:var(--md-typography-font-size-200);
  color:var(--ui-muted); cursor:pointer;
}
.table-row-select-trigger:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-accent); }
.table-row-select-trigger.selected{ color:var(--ui-accent); font-weight:var(--font-weight-bold); }
.table-axis-toolbar{
  position:fixed; z-index:1000; display:none; align-items:center; gap:2px; background:var(--md-color-grey-white); border-radius:10px;
  padding:4px; box-shadow:var(--shadow-popover);
}
.table-axis-toolbar.open{ display:flex; }
.table-axis-group{ position:relative; display:flex; align-items:center; gap:2px; }
.table-axis-toolbar:not(.axis-col) .table-axis-format-group,
.table-axis-toolbar:not(.axis-col) .table-axis-fill-group{ display:none; }
.table-axis-toolbar:not(.axis-row) .table-axis-rowheight-group{ display:none; }
.table-axis-toolbar:not(.axis-col) .table-axis-insert-col-left,
.table-axis-toolbar:not(.axis-col) .table-axis-insert-col-right{ display:none; }
.table-axis-toolbar:not(.axis-row) .table-axis-insert-row-above,
.table-axis-toolbar:not(.axis-row) .table-axis-insert-row-below{ display:none; }
.table-axis-toolbar > button, .table-axis-group > button{
  width:26px; height:26px; border:none; border-radius:6px; background:transparent; color:var(--ui-muted);
  font-size:var(--md-typography-font-size-200); cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.table-axis-toolbar > button:hover, .table-axis-group > button:hover{ background:var(--md-neutral-background-2-rest); color:var(--md-neutral-foreground-1-rest); }
.table-axis-toolbar > button:disabled, .table-axis-group > button:disabled{ opacity:0.35; cursor:not-allowed; }
.table-axis-toolbar > button:disabled:hover, .table-axis-group > button:disabled:hover{ background:transparent; }
.table-axis-format-btn{ font-size:11px; font-weight:var(--font-weight-bold); }
.table-axis-fill-btn.is-active, .table-axis-rowheight-btn.is-active{ background:var(--md-neutral-background-2-rest); color:var(--ui-accent); }
.table-axis-format-menu{ left:0; right:auto; }
.table-axis-format-menu button, .table-axis-insert-menu button{ white-space:nowrap; }
.table-axis-format-menu button i.fa-check{ margin-left:auto; visibility:hidden; }
.table-axis-format-menu button.is-active i.fa-check{ visibility:visible; color:var(--ui-accent); }
.table-axis-format-opt-icon{ display:inline-flex; width:16px; justify-content:center; font-weight:var(--font-weight-bold); font-size:11px; color:var(--ui-muted); }
.data-table[data-rows-hug="false"]{ height:100%; }
.table[data-size="S"] .table-cell{ font-size:var(--md-typography-font-size-400); }
.table[data-size="S"] .data-table th, .table[data-size="S"] .data-table td{ padding:6px 8px; }
.icon-select-trigger.table-status-trigger{ width:auto; height:auto; border:none; background:none; padding:0; justify-content:flex-start; }
.table-status-trigger .tag{ cursor:pointer; }
.icon-select-trigger.table-step-trigger{ width:auto; height:auto; border:none; background:none; padding:0; }
.table-step-cell{ padding:0; }
.table-step-cell .icon-select{ display:flex; padding-top: 4px; }
.table-step-stack{ display:flex; flex-direction:column; align-items:stretch; gap:2px; }
.table-step-legend{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; flex-shrink:0; padding-top:8px; }
.table-step-legend:empty{ display:none; }
.table-step-legend-item{ flex:0 0 auto; width:auto; }
.table-step-cell .list-item-label.table-cell{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.table[data-size="S"] .table-step-cell .list-item-label.table-cell{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.data-table .icon-select:has(.table-status-trigger) .icon-select-menu,
.data-table .icon-select:has(.table-step-trigger) .icon-select-menu,
.data-table .date-field-menu{ zoom:calc(1 / var(--zoom, 1)); }
.icon-select-option-dot{ display:inline-flex; width:16px; align-items:center; justify-content:center; flex-shrink:0; }
.icon-select-option-dot::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--dot-color); border:1px solid rgba(20,30,50,0.12); box-sizing:border-box; display:block; }
.data-table .date-field{ display:block; width:100%; }
.data-table .date-field .table-cell{
  display:block; width:100%; box-sizing:border-box; border:none; background:none; padding:0;
  margin:0; cursor:pointer; border-radius:6px;
}
.data-table .date-field .table-cell::placeholder{ color:var(--md-color-pink-600); opacity:1; }
.data-table .date-field .table-cell:placeholder-shown{
  display:inline-block; width:13ch;
  background:var(--md-color-pink-100); color:var(--md-color-pink-600); padding:4px 8px; border-radius:8px; font-size:var(--md-typography-font-size-400);
}

.ct-header-title{ display:flex; align-items:center; gap:6px; }
.ct-label-cell{ font-weight:var(--font-weight-bold); }
.ct-bool-cell{ display:flex; align-items:center; justify-content:center; width:100%; border:none; background:none; padding:2px 0; cursor:pointer; }
.ct-bool-cell i{ font-size:var(--md-typography-font-size-500); }
.ct-bool-cell[data-val="check"] i{ color:var(--md-brand-foreground-1-rest); }
.ct-bool-cell[data-val="xmark"] i{ color:var(--md-neutral-foreground-3-rest); }
.ct-semantic-cell{ display:flex; align-items:flex-start; justify-content:space-between; gap:6px; }
.ct-semantic-cell .table-cell{ color:inherit; }
.icon-select-trigger.ct-level-trigger{ position:relative; width:8px; height:8px; flex-shrink:0; margin-top:5px; border:none; border-radius:50%; background:var(--md-color-orange-700); padding:0; cursor:pointer; zoom:calc(1 / var(--zoom)); }
.icon-select-trigger.ct-level-trigger::after{ content:''; position:absolute; inset:-9px; border-radius:50%; }
.icon-select-trigger.ct-level-trigger:hover{ opacity:0.8; }
.icon-select:has(.ct-level-trigger) .icon-select-menu{
  zoom:calc(1 / var(--zoom));
  min-width:140px; padding:4px; gap:2px;
}
.icon-select:has(.ct-level-trigger) .icon-select-option{ padding:4px 6px; gap:0px; font-size:12px; }
.ct-legend-wrap{ flex-shrink:0; }
.ct-legend-wrap:empty{ display:none; }
.ct-legend-wrap:not(:empty){ padding:8px 12px 4px; }
.comparison-table.table{ overflow:visible; }
.ct-scroll-wrap{ display:flex; flex-direction:column; flex:1; min-height:0; overflow-y:auto; }
.ct-scroll-wrap > *{ flex-shrink:0; }
.comparison-table .table-body-wrap:has(.ct-data-table[data-rows-hug="false"]){ flex:1 0 auto; }
.ct-table-render thead{ position:sticky; top:0; z-index:1; background:var(--frame-bg); }
/*! /css/components/timeline.css */
.timeline{
  width:100%; height:100%; box-sizing:border-box; display:flex; flex-direction:column;
  justify-content:center; padding:32px 40px;
}
.timeline[data-color="blue"]{ --timeline-accent:var(--md-color-blue-500); --timeline-accent-soft:var(--md-color-blue-100); }
.timeline[data-color="teal"]{ --timeline-accent:var(--md-color-teal-700); --timeline-accent-soft:var(--md-color-teal-100); }
.timeline[data-color="pink"]{ --timeline-accent:var(--md-color-pink-600); --timeline-accent-soft:var(--md-color-pink-100); }
.timeline-steps{ display:flex; align-items:flex-start; width:100%; }
.timeline-step{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:10px; }
.timeline-step-text{ order:3; font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:26px; color:var(--md-neutral-foreground-3-rest); text-align:center; outline:none; width:100%; }
.timeline-node-row{ order:2; display:flex; align-items:center; width:100%; }
.timeline-step-label{ order:1; font-family:var(--font-display); font-weight:var(--font-weight-bold); font-size:var(--md-typography-font-size-600); line-height:30px; color:var(--md-neutral-foreground-1-rest); text-align:center; outline:none; max-width:100%; }
.timeline-step-label.hidden{ visibility:hidden; }
.timeline-line{ flex:1; height:0; border-top:2px dashed var(--md-neutral-stroke-1-rest); }
.timeline-line.filled{ border-top-style:solid; border-top-color:var(--timeline-accent); }
.timeline-line-none{ visibility:hidden; }
.timeline-dot{
  flex-shrink:0; position:relative; width:20px; height:20px; border-radius:50%; margin:0 2px;
  display:flex; align-items:center; justify-content:center; box-sizing:border-box;
  background:var(--md-neutral-stroke-1-rest); color:var(--md-color-grey-white); font-size:var(--md-typography-font-size-100);
}
.timeline-step[data-status="in-progress"] .timeline-dot{ background:var(--slide-surface); border:2px solid var(--timeline-accent); }
.timeline-step[data-status="done"] .timeline-dot{ background:var(--timeline-accent); }
.timeline-dot-halo{ position:absolute; inset:-8px; border-radius:50%; background:var(--timeline-accent-soft); z-index:-1; opacity:0; }
.timeline-step[data-status="in-progress"] .timeline-dot-halo{ opacity:1; }
.timeline-step.pw-revealed{ animation:timeline-step-reveal .4s ease both; }
@keyframes timeline-step-reveal{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
.timeline-step.pw-revealed .timeline-line.filled{ animation:timeline-line-fill .5s ease both; }
@keyframes timeline-line-fill{ from{ border-top-style:dashed; border-top-color:var(--md-neutral-stroke-1-rest); } to{ border-top-style:solid; border-top-color:var(--timeline-accent); } }
.timeline-step.pw-revealed[data-status="in-progress"] .timeline-dot-halo{ animation:timeline-halo-pulse 2.4s ease-in-out infinite; }
@keyframes timeline-halo-pulse{ 0%,100%{ transform:scale(1); opacity:0.55; } 50%{ transform:scale(1.35); opacity:1; } }
.timeline-row-status{
  font-family:var(--font-sans); font-size:13px; color:var(--md-neutral-foreground-1-rest); flex-shrink:0;
  border:1px solid var(--ui-border); border-radius:8px; padding:7px 9px; outline:none;
  background:var(--md-color-grey-white); cursor:pointer; width:126px;
}
.timeline-row-status:focus{ border-color:var(--ui-accent); }
/*! /css/components/gantt.css */
.gantt{
  width:100%; height:100%; box-sizing:border-box; background:var(--md-neutral-background-1-rest);
  display:flex; flex-direction:column;
}
.gantt-chart{ flex:1; min-height:0; display:flex; flex-direction:column; }
.gantt-header{ flex-shrink:0; display:flex; align-items:center; padding:12px 0 8px; }
.gantt-task-col-header{
  flex:0 0 220px; width:220px; box-sizing:border-box; padding-left:8px; border-right:1px solid var(--md-neutral-stroke-1-rest);
  font-family:var(--font-sans); font-size:var(--md-typography-font-size-300); color:var(--md-neutral-foreground-3-rest);
}
.gantt-axis-ticks{ flex:1; min-width:0; position:relative; height:16px; margin:0 16px; }
.gantt-axis-tick{ position:absolute; top:0; font-family:var(--font-sans); font-size:var(--md-typography-font-size-200); color:var(--md-neutral-foreground-3-rest); white-space:nowrap; }
.gantt-body{ flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:10px 0; scrollbar-width:none; }
.gantt-body::-webkit-scrollbar{ display:none; }
.gantt-phase{ padding:5px 0; }
.gantt-row{ display:flex; align-items:center; }
.gantt-row-phase{ cursor:pointer; border-radius:var(--md-radius-80,8px); }
.deck-component.selected .gantt-phase:hover{ background:var(--md-neutral-background-2-rest); border-radius:var(--md-radius-80,8px); }
.gantt-phase.row-focused{ background:var(--md-neutral-background-2-rest); border-radius:var(--md-radius-80,8px); }
.gantt-task-col{
  flex:0 0 220px; width:220px; min-width:0; box-sizing:border-box; display:flex; flex-direction:column;
  justify-content:center; gap:2px; padding-left:8px;
}
.gantt-task-col-subtask{ padding-left:24px; padding-right: 12px }
.gantt-task-col-spacer{ flex:0 0 220px; width:220px; }
.gantt-phase-legend-row{ min-height:16px; }
.gantt-phase-legend-track{ flex:1; min-width:0; position:relative; height:14px; margin:0 16px; }
.gantt-legend-marker{
  position:absolute; top:0; width:8px; height:8px; transform:translateX(-50%);
  background:currentColor; color:var(--gantt-phase-fg); cursor:default;
}
.gantt-legend-marker-circle{ border-radius:50%; }
.gantt-legend-marker-diamond{ transform:translateX(-50%) rotate(45deg); }
.gantt-legend-marker-hexagon{ clip-path:polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%); }
.gantt-legend-marker-triangle{ clip-path:polygon(50% 0%, 0% 100%, 100% 100%); }
.gantt-legend-marker-octagon{ clip-path:polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%); }
.gantt-task-name-row{ display:flex; align-items:center; gap:6px; min-width:0; }
.gantt-task-name{ flex:1; min-width:0; font-family:var(--font-display); font-weight:var(--font-weight-bold); font-size:13px; color:var(--md-neutral-foreground-1-rest); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gantt-task-date{ font-family:var(--font-sans); font-size:11px; color:var(--md-neutral-foreground-3-rest); white-space:nowrap; }
.gantt-task-tag{
  display:block; width:fit-content; max-width: 100%; box-sizing:border-box; padding:4px 10px; border-radius:var(--md-radius-60,6px);
  background:var(--gantt-phase-bg); color:var(--gantt-phase-fg); font-family:var(--font-sans); font-size:var(--md-typography-font-size-200);
  text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; outline:none; cursor:text;
}
.gantt-phase-track{ flex:1; min-width:0; position:relative; height:40px; margin:0 16px; }
.gantt-phase-bar{
  position:absolute; top:0; height:40px; min-width:96px; box-sizing:border-box; overflow:hidden;
  display:flex; align-items:center; gap:8px; padding:8px; border-radius:var(--md-radius-80,8px);
  background:var(--gantt-phase-bg); cursor:pointer;
}
.gantt-phase-bar-icon{
  flex-shrink:0; width:24px; height:24px; border-radius:4px; display:flex; align-items:center;
  justify-content:center; font-size:var(--md-typography-font-size-400); color:var(--gantt-phase-fg);
}
.gantt-phase-bar-label{
  flex:1; min-width:0; font-family:var(--font-sans); font-size:var(--md-typography-font-size-300); color:var(--gantt-phase-fg);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.gantt-phase-bar-percent{ font-family:var(--font-sans); font-size:var(--md-typography-font-size-300); color:var(--md-neutral-foreground-3-rest); flex-shrink:0; }
.gantt-phase-caret{ flex-shrink:0; font-size:11px; color:var(--gantt-phase-fg); display:flex; cursor:pointer; }
.gantt-phase-caret i{ transition:transform .15s ease; }
.gantt-phase.collapsed .gantt-phase-caret i{ transform:rotate(-90deg); }
.gantt-phase-progress{ position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--md-neutral-background-3-rest); }
.gantt-phase-progress-fill{ position:absolute; left:0; top:0; bottom:0; background:var(--gantt-phase-fg); }
.gantt-subtasks{ display:flex; flex-direction:column; }
.gantt-phase.collapsed .gantt-subtasks{ display:none; }
.gantt-subtask-track{ flex:1; min-width:0; position:relative; height:34px; margin:4px 16px; }
.gantt-subtask-bar{
  position:absolute; top:0; height:34px; box-sizing:border-box; display:flex; align-items:center;
  gap:2px; padding:0 8px 0 0; border-radius:var(--md-radius-60,6px); white-space:nowrap;
  overflow:hidden; background:var(--md-neutral-background-2-rest);
}
.gantt-subtask-bar-stripe{ flex-shrink:0; width:4px; height:34px; border-radius:0; background:var(--gantt-phase-fg); margin-right:2px; }
.gantt-subtask-bar.is-flipped{ flex-direction:row-reverse; padding:0 0 0 8px; }
.gantt-subtask-bar.is-flipped .gantt-subtask-bar-stripe{ margin-right:0; margin-left:2px; }
.gantt-subtask-bar-icon{
  flex-shrink:0; width:24px; height:24px; display:flex; align-items:center; justify-content:center;
  font-size:var(--md-typography-font-size-300); color:var(--gantt-phase-fg);
}
.gantt-subtask-bar-label{
  font-family:var(--font-sans); font-size:var(--md-typography-font-size-300); color:var(--md-neutral-foreground-2-rest);
  outline:none; white-space:nowrap;
}
.gantt-subtask-track:has(> .gantt-subtask-bar.is-wrapped){ height:auto; min-height:34px; }
.gantt-subtask-bar.is-wrapped{ position:relative; width:fit-content; height:auto; min-height:34px; white-space:normal; }
.gantt-subtask-bar.is-wrapped .gantt-subtask-bar-stripe{ align-self:stretch; height:auto; }
.gantt-subtask-bar.is-wrapped .gantt-subtask-bar-label{ white-space:normal; overflow-wrap:anywhere; padding:7px 0; }
.gantt-subtask-focus-top{ display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.gantt-subtask-focus-top input{ flex:1; min-width:0; }
.icon-select-trigger.gantt-type-trigger{ width:100%; justify-content:flex-start; padding:0 10px; gap:8px; font-family:var(--font-sans); font-size:13px; }
.icon-select-trigger.gantt-item-type-trigger{ width:100%; justify-content:space-between; padding:0 10px; gap:8px; font-family:var(--font-sans); font-size:13px; }
.gantt-type-select{ position:relative; display:flex; }
.prop-field:has(> .gantt-type-select){ position:relative; display:block; }
.prop-field:has(> .gantt-type-select) > span:first-child{
  position:absolute; left:9px; top:0; transform:translateY(-50%);
  font-size:var(--text-xs); line-height:1; z-index:1; pointer-events:none;
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px;
}
.prop-field:has(> .gantt-type-select) > .gantt-type-select{ width:100%; }
.gantt-type-menu{ min-width:160px; }
.gantt-type-trigger .icon-select-caret{ margin-left:auto; }
.row-edit.gantt-phase-edit{ align-items:flex-start; }
.row-edit.gantt-phase-edit > .content-row-grip{ margin-top:14px; }
.row-edit.gantt-phase-edit > .content-row-remove{ margin-top:12px; }
.gantt-phase-fields{ flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.gantt-phase-edit:hover{ background:var(--md-neutral-background-2-rest); }
.gantt-subtask-focus-top + .prop-field{ margin-top:-12px; }
.gantt-phase-summary-line{
  display:flex; align-items:center; justify-content:flex-start; gap:8px; cursor:pointer;
  padding:6px 9px; border-radius:8px; font-family:var(--font-sans); font-size:12.5px;
  color:var(--ui-muted);
}
.gantt-phase-summary-line:hover{ background:var(--md-neutral-background-2-rest); color:var(--md-neutral-foreground-1-rest); }
.gantt-phase-summary-line i{ font-size:11px; }
.gantt-phase-focus-subtask-remove:disabled{ opacity:.35; cursor:default; }
/*! /css/components/schedule-board.css */
.schedule-board{
  width:100%; height:100%; box-sizing:border-box; background:var(--md-neutral-background-1-rest);
}
.schedule-scroll{ position:absolute; inset:0; overflow:auto; }
.schedule-render{ min-height:100%; box-sizing:border-box; display:flex; flex-direction:column; }
.schedule-header{ position:sticky; top:0; z-index:2; display:flex; align-items:center; flex-shrink:0; min-height:var(--schedule-header-h,40px); box-sizing:border-box; padding:8px 0; background:var(--md-neutral-background-1-rest); }
.schedule-task-col-header{
  flex:0 0 220px; width:220px; box-sizing:border-box; padding-left:8px;
  font-family:var(--font-sans); font-size:var(--md-typography-font-size-300); color:var(--md-neutral-foreground-3-rest);
}
.schedule-months{ flex:1; min-width:0; display:flex; }
.schedule-month{
  flex:1; min-width:0; padding-left:16px; outline:none; font-family:var(--font-sans); font-size:var(--md-typography-font-size-300);
  color:var(--md-neutral-foreground-3-rest); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.schedule-month:last-child{ overflow:visible; text-overflow:clip; }
.schedule-body{ flex:1; min-height:0; display:flex; flex-direction:column; }
.schedule-row{ flex:0 0 auto; display:flex; align-items:stretch; min-height:64px; }
.deck-component.selected .schedule-row:hover{ background:var(--md-neutral-background-2-rest); }
.schedule-task-col{
  flex:0 0 220px; width:220px; min-width:0; box-sizing:border-box; display:flex; align-items:flex-start;
  padding:8px 12px 8px 8px;
}
.schedule-body::before{
  content:''; position:absolute; top:0; bottom:0; left:220px; width:0;
  border-left:1px solid var(--md-neutral-stroke-1-rest); pointer-events:none;
}
.schedule-task-title-col{ flex:1; min-width:0; display:flex; align-items:center; gap:6px; }
.schedule-task-name{
  outline:none; font-family:var(--font-display); font-weight:var(--font-weight-bold); font-size:var(--md-typography-font-size-300);
  color:var(--md-neutral-foreground-1-rest); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis;
}
.schedule-track{ position:relative; flex:1; min-width:0; }
.schedule-item{
  position:absolute; top:8px; box-sizing:border-box; min-width:64px; min-height:52px;
  border-radius:var(--md-radius-120,12px); overflow:hidden; display:flex; align-items:stretch;
}
.schedule-item.item-focused{ outline:2px solid var(--ui-accent); outline-offset:1px; }
.schedule-row.row-focused{ background:var(--md-neutral-background-2-rest); }
.schedule-item-bg{ position:absolute; inset:0; display:flex; }
.schedule-item-bg-fill{ height:100%; background:var(--schedule-item-bg); }
.schedule-item-bg-rest{ height:100%; background:var(--md-neutral-background-disabled-rest); }
.schedule-item-text{
  position:relative; flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center;
  gap:2px; padding:8px 14px; color:var(--schedule-item-fg);
}
.schedule-item-text.is-empty{ color:var(--md-neutral-foreground-disabled-rest); }
.schedule-item-title{
  outline:none; font-family:var(--font-display); font-weight:var(--font-weight-bold); font-size:var(--md-typography-font-size-300);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.schedule-item-desc{
  outline:none; font-family:var(--font-sans); font-size:var(--md-typography-font-size-200);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.schedule-row-fields{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.schedule-row-task{ width:100%; box-sizing:border-box; }
.row-edit.schedule-row-edit{ align-items:flex-start; }
.row-edit.schedule-row-edit > .content-row-grip{ margin-top:8px; }
.row-edit.schedule-row-edit > .content-row-remove{ margin-top:6px; font-size:18px; }
.schedule-row-edit:hover{ background:var(--md-neutral-background-2-rest); }
.schedule-row-count{
  display:block; width:20px; text-align:center; font-family:var(--font-sans); font-size:var(--md-typography-font-size-200);
  color:var(--ui-muted);
}
.schedule-item-date-label{ font-family:var(--font-sans); font-size:var(--md-typography-font-size-200); color:var(--ui-muted); }
.schedule-task-focus-dates{ display:flex; flex-wrap:wrap; gap:8px; }
.schedule-task-focus-dates > .prop-field{ flex:1 1 120px; min-width:120px; }

.schedule-row-summary-line{
  display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer;
  padding:6px 9px; border-radius:8px; font-family:var(--font-sans); font-size:12.5px;
  color:var(--ui-muted);
}
.schedule-row-summary-line:hover{ background:var(--md-neutral-background-2-rest); color:var(--md-neutral-foreground-1-rest); }
.schedule-row-summary-line i{ font-size:11px; }

.schedule-body{ position:relative; }
.schedule-legend-overlay{ position:absolute; top:0; left:220px; right:0; bottom:0; z-index:3; pointer-events:none; }
.schedule-legend-marker{ position:absolute; top:0; bottom:0; }
.schedule-legend-caret{
  position:sticky; top:var(--schedule-header-h,40px); left:0; transform:translate(-50%,-60%);
  font-size:var(--md-typography-font-size-800); line-height:1; color:var(--legend-color,var(--md-color-blue-500));
}
.schedule-legend-diamond{
  position:sticky; top:var(--schedule-header-h,40px); left:0; transform:translate(-50%,-85%);
  font-size:var(--md-typography-font-size-300); line-height:1; color:var(--legend-color,var(--md-color-blue-500));
}
.schedule-legend-dashline{
  position:absolute; top:0; bottom:0; left:0; width:0; transform:translateX(-50%);
  border-left:2px dashed var(--legend-color,var(--md-color-blue-500));
}
.schedule-legend-marker-today .schedule-legend-dashline{ border-left-color:var(--legend-color,var(--md-color-blue-500)); opacity:.55; }
.schedule-legend-marker-range{ overflow:hidden; }
.schedule-legend-range-top{ position:absolute; top:0; left:0; right:0; height:4px; background:var(--legend-color); }
.schedule-legend-range-fill{
  position:absolute; top:4px; left:0; right:0; bottom:0; opacity:.16;
  background-image:repeating-linear-gradient(45deg, var(--legend-color) 0px, var(--legend-color) 2px, transparent 2px, transparent 10px);
}
.schedule-legend-bottom{ position:sticky; bottom:0; z-index:4; flex-shrink:0; display:flex; align-items:center; padding:10px 12px; background:var(--md-neutral-background-1-rest); }
.schedule-legend-today-field{ margin:0; }
.row-edit.schedule-legend-edit{ align-items:flex-start; }
.row-edit.schedule-legend-edit > .color-dot-select{ margin-top:9px; }
.row-edit.schedule-legend-edit > .content-row-remove{ margin-top:4px; }
.schedule-legend-edit-fields{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.schedule-legend-edit-bottom{ display:flex; align-items:center; gap:6px; }
.schedule-legend-name{ width:100%; box-sizing:border-box; }
.schedule-legend-date{ width:104px; flex-shrink:0; }
/*! /css/components/organigram.css */
.organigram{
  display:flex; overflow:visible;
  --org-elbow-r:var(--md-radius-80,8px);
  --org-sibling-gap:var(--md-spacing-32,32px);
  --org-sibling-gap-max:96px;
  --org-gap-v:32px;
  --org-gap-v-max:64px;
  --org-gap-h:24px;
  --org-gap-h-max:96px;
  --org-node-min-w:240px;
  --org-node-max-w:320px;
}
.org-chart-scroll{ width:100%; height:100%; min-height:0; overflow:auto; display:flex; align-items:center; align-items:safe center; justify-content:center; justify-content:safe center; padding:32px 24px; box-sizing:border-box; }
.org-node-wrap{ display:flex; flex-direction:column; align-items:center; }
.org-chart-scroll > .org-node-wrap{ flex:none; }
.org-node{
  position:relative; display:inline-grid; grid-template-columns:auto minmax(0,1fr);
  align-content:center; align-items:start; column-gap:16px;
  padding:12px 16px 12px 16px; border-radius:var(--md-radius-240,24px);
  background:var(--md-neutral-background-1-rest); border:1px solid var(--md-neutral-stroke-1-rest);
  cursor:pointer; min-width:var(--org-node-min-w); width:fit-content; max-width:var(--org-node-max-w);
}
.org-node.node-focused{ outline:2px solid var(--ui-accent); outline-offset:2px; }
.org-node-icon{
  flex-shrink:0; width:32px; height:28px; border-radius:12px;
  color:var(--md-brand-foreground-1-rest);
  display:flex; align-items:center; justify-content:center;
}
.org-node-icon i{ font-size:var(--md-typography-font-size-500); }
.org-node-text{ display:flex; flex-direction:column; gap:2px; text-align:left; min-width:0; }
.org-node-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; width:fit-content; max-width:100%; overflow-wrap:anywhere; }
.org-node-desc{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-400); line-height:22px; color:var(--md-neutral-foreground-3-rest); outline:none; width:fit-content; max-width:100%; overflow-wrap:anywhere; }
.org-node-desc:empty{ display:none; }
.org-node[data-style="accent"]{ background:var(--md-brand-background-inverted-rest); border-color:transparent; }
.org-node[data-style="accent"] .org-node-icon{ color:var(--md-color-grey-white); }
.org-node[data-style="accent"] .org-node-title{ color:var(--md-color-grey-white); }
.org-node[data-style="accent"] .org-node-desc{ color:rgba(255,255,255,0.8); }
.org-node[data-style="accent"] [data-placeholder]:empty:before{ color:rgba(255,255,255,0.6); }
.org-btn{ border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
.org-btn-delete{
  position:absolute; top:-8px; right:-8px; width:20px; height:20px; border-radius:50%;
  background:var(--slide-surface); color:var(--md-neutral-foreground-3-rest); font-size:11px;
  box-shadow:0 1px 3px rgba(20,30,50,0.25); opacity:0; transition:opacity .1s; z-index:3;
}
.org-node:hover .org-btn-delete{ opacity:1; }
.org-node-actions{
  position:absolute; left:50%; bottom:0; transform:translate(-50%,50%);
  display:flex; align-items:center; gap:6px; opacity:0; pointer-events:none; transition:opacity .1s; z-index:2;
}
.org-node:hover .org-node-actions, .org-node.node-focused .org-node-actions{ opacity:1; pointer-events:auto; }
.org-btn-add{
  width:22px; height:22px; border-radius:50%; background:var(--md-brand-background-inverted-rest); color:var(--md-color-grey-white);
  font-size:11px; box-shadow:0 1px 3px rgba(20,30,50,0.25);
}
.deck-component.organigram[data-color="teal"]{
  --md-brand-foreground-1-rest:var(--md-teal-foreground-1-rest);
  --md-brand-background-inverted-rest:var(--md-teal-background-inverted-rest);
}
.deck-component.organigram[data-color="pink"]{
  --md-brand-foreground-1-rest:var(--md-pink-foreground-1-rest);
  --md-brand-background-inverted-rest:var(--md-pink-background-inverted-rest);
}
.deck-component.organigram[data-color="grey"]{
  --md-brand-foreground-1-rest:var(--md-neutral-foreground-1-rest);
  --md-brand-background-inverted-rest:var(--md-neutral-foreground-1-rest);
}
.org-children-wrap{ position:relative; display:flex; flex-direction:column; align-items:center; padding-top:var(--org-gap-v); }
.org-connectors{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:0; }
.org-connectors path{ fill:none; stroke:var(--md-neutral-stroke-1-rest); stroke-width:2px; }
.org-children-row{ position:relative; z-index:1; display:flex; gap:var(--org-sibling-gap); align-items:center; }
.deck-component.organigram:not([data-orientation="horizontal"]) .org-children-row{ align-items:flex-start; }

.deck-component.organigram[data-orientation="horizontal"]{ --org-sibling-gap:var(--md-spacing-24,24px); --org-sibling-gap-max:48px; }
.deck-component.organigram[data-orientation="horizontal"] .org-node-wrap{ flex-direction:row; }
.deck-component.organigram[data-orientation="horizontal"] .org-children-wrap{ flex-direction:row; padding-top:0; padding-left:var(--org-gap-h); }
.deck-component.organigram[data-orientation="horizontal"] .org-children-row{ flex-direction:column; align-items:flex-start; }
.deck-component.organigram[data-orientation="horizontal"] .org-node-actions{ left:100%; top:50%; bottom:auto; transform:translate(-50%,-50%); flex-direction:column; }
.deck-component.organigram[data-orientation="horizontal"] .org-btn-delete{ top:50%; left:-8px; right:auto; transform:translateY(-50%); }

.org-gap-spacer{ display:none; }

.org-color-row{ display:flex; align-items:center; gap:8px; }
/*! /css/components/data-map.css */
.map{
  display:flex; flex-direction:column; width:100%; height:100%; box-sizing:border-box;
  padding:16px 20px; gap:8px; background:transparent;
}
.map-header{ flex-shrink:0; }
.map-title{
  font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px;
  color:var(--md-neutral-foreground-1-rest); outline:none;
}
.map-chart{
  flex:1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden;
  border-radius:8px; background:transparent;
}
.map-svg{ width:100%; height:100%; }
.map-countries path{ stroke:var(--md-color-grey-white); stroke-width:0.6; transition:fill .15s ease; }
.map-marker-dot{ stroke-width:1.5; }
.map-marker-icon-fo{ overflow:visible; pointer-events:none; }
.map-marker-icon-wrap{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-size:15px; filter:drop-shadow(0 1px 1px rgba(20,30,50,0.35));
}
.map-legend{
  flex-shrink:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; padding-top:8px;
}
.map-legend-item{
  display:flex; align-items:center; gap:4px; font-family:var(--font-sans); font-weight:var(--font-weight-light);
  font-size:var(--md-typography-font-size-300); color:var(--md-neutral-foreground-3-rest); white-space:nowrap;
}
.map-legend-swatch{ width:14px; height:14px; border-radius:4px; flex-shrink:0; }
.map-legend-marker{ width:10px; height:10px; border-radius:50%; background:var(--ui-accent); flex-shrink:0; }
.map-legend-symbol{ width:10px; height:10px; border-radius:50%; background:var(--ui-accent); flex-shrink:0; }

.map-row-edit{ display:flex; align-items:center; gap:8px; }
.map-country-field{ position:relative; flex:1; min-width:0; }
.map-country-menu{
  display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:30;
  max-height:220px; overflow-y:auto; background:var(--md-color-grey-white); border:1px solid var(--ui-border);
  border-radius:8px; box-shadow:var(--shadow-soft); padding:4px;
}
.map-country-menu.open{ display:block; }
.map-country-option{
  display:block; width:100%; text-align:left; border:none; background:none; cursor:pointer;
  padding:6px 8px; border-radius:6px; font-family:var(--font-sans); font-size:13px; color:var(--md-neutral-foreground-1-rest);
}
.map-country-option:hover, .map-country-option.active{ background:var(--md-neutral-background-2-rest); }
.map-country-color-picker .ml-legend-swatch{ width:14px; height:14px; }
.map-row-value{
  width:76px; flex-shrink:0; box-sizing:border-box; padding:6px 10px; border:1px solid var(--ui-border);
  border-radius:6px; font-family:var(--font-sans); font-size:13px; color:var(--md-neutral-foreground-1-rest);
}
/*! /css/components/user-card-list.css */
.user-card-list-rows{ display:flex; flex-direction:column; width:100%; }
.user-card-row{ display:flex; align-items:center; gap:16px; width:100%; padding:16px 0; }
.user-card-row:not(:last-child){ border-bottom:1px solid var(--md-neutral-stroke-1-rest); }
.user-card-row:first-child{ padding-top:0; }
.user-card-row:last-child{ padding-bottom:0; }
.user-card-avatar{
  position:relative; flex-shrink:0; width:64px; height:64px; border-radius:50%; overflow:hidden;
  background:var(--md-neutral-background-2-rest);
}
.user-card-avatar-blur{ position:absolute; width:32px; height:32px; bottom:-6.5px; right:4.4px; border-radius:50%; background:var(--md-brand-background-inverted-rest); filter:blur(10px); }
.user-card-avatar-photo{ position:relative; width:100%; height:100%; object-fit:cover; }
.user-card-avatar-placeholder{ display:none; }
.user-card-text{ flex:1; min-width:0; display:flex; flex-direction:column; }
.user-card-name{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-brand-foreground-1-rest); outline:none; }
.user-card-job{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-300); line-height:16px; color:var(--md-neutral-foreground-3-rest); outline:none; }
.user-card-company{ font-family:var(--font-sans); font-weight:var(--font-weight-bold); font-size:var(--md-typography-font-size-300); line-height:16px; color:var(--md-neutral-foreground-1-rest); outline:none; }
.user-card-company:empty{ display:none; }

.user-card-list[data-orientation="horizontal"] .user-card-list-rows{
  flex-direction:row; justify-content:center; align-items:center; gap:24px; height:100%;
}
.user-card-list[data-orientation="horizontal"] .user-card-row{
  flex:1 1 0; min-width:0; flex-direction:column; align-items:center; text-align:center;
  gap:24px; width:auto; padding:0; border-bottom:none;
}
.user-card-list[data-orientation="horizontal"] .user-card-avatar{
  width:100%; max-width:320px; height:auto; aspect-ratio:1; border-radius:24px;
  flex:0 1 auto; min-height:0;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 16px rgba(112,144,176,0.25), 0 0 2px rgba(112,144,176,0.2);
}
.user-card-list[data-orientation="horizontal"] .user-card-avatar-blur{
  width:126px; height:126px; right:-45px; bottom:-80px; filter:blur(40px);
}
.user-card-list[data-orientation="horizontal"] .user-card-avatar-placeholder{
  display:block; position:relative; font-size:96px; color:var(--md-neutral-foreground-3-rest);
}
.user-card-list[data-orientation="horizontal"] .user-card-text{ flex:none; width:100%; align-items:center; gap:6px; }
.user-card-list[data-orientation="horizontal"] .user-card-name{
  font-size:var(--md-typography-font-size-800); line-height:40px;
}
.user-card-list[data-orientation="horizontal"] .user-card-job{
  font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest);
}
.user-card-list[data-orientation="horizontal"] .user-card-company{
  font-size:var(--md-typography-font-size-500); line-height:28px;
}
.user-card-row-fields{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.user-card-row-edit{ align-items:flex-start; }
.user-card-row-photo-tools{ display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:28px; }
.user-card-row-crop{
  flex-shrink:0; width:28px; height:28px; border:none; border-radius:6px; background:none;
  color:var(--ui-muted); cursor:pointer; font-size:var(--text-base);
}
.user-card-row-crop:hover{ color:var(--ui-text); }
.user-card-row-edit:hover{ background:var(--md-neutral-background-2-rest); }
/*! /css/components/logo-grid.css */
.logo-grid{ display:flex; }
.logo-grid{ flex-direction:column; gap:12px; }
.logo-grid > .field-wrap{ flex:0 0 auto; width:100%; }
.logo-grid > .field-wrap.hidden{ display:none; }
.logo-grid-cells{ flex:1 1 auto; min-height:0; }
.logo-grid-title{
  font-family:var(--font-regular); font-weight:var(--font-weight-regular);
  font-size:var(--md-typography-font-size-500); line-height:28px;
  color:var(--md-brand-foreground-1-rest); outline:none; width:fit-content; max-width:100%;
}
.logo-grid-title[data-placeholder]:empty:before{ content:attr(data-placeholder); color:var(--ui-muted); }
.logo-grid[data-style="accent"] .logo-grid-title{ color:var(--md-color-grey-white); }

.logo-grid[data-style="solid"]{ background:var(--md-neutral-background-2-rest); border-radius:var(--radius); padding:24px; }
.logo-grid[data-style="accent"]{ background:var(--md-brand-background-inverted-rest); border-radius:var(--radius); padding:24px; }
#framesContainer .logo-grid[data-style="accent"] .logo-grid-cell.is-empty{ border-color:rgba(255,255,255,0.4); color:rgba(255,255,255,0.7); }
.logo-grid-cells{
  display:grid; gap:16px; width:100%;
  grid-template-columns:repeat(3, 1fr); grid-auto-rows:1fr;
}
.deck-component[data-cols="1"] .logo-grid-cells{ grid-template-columns:repeat(1, 1fr); }
.deck-component[data-cols="2"] .logo-grid-cells{ grid-template-columns:repeat(2, 1fr); }
.deck-component[data-cols="3"] .logo-grid-cells{ grid-template-columns:repeat(3, 1fr); }
.deck-component[data-cols="4"] .logo-grid-cells{ grid-template-columns:repeat(4, 1fr); }
.deck-component[data-cols="5"] .logo-grid-cells{ grid-template-columns:repeat(5, 1fr); }
.deck-component[data-cols="6"] .logo-grid-cells{ grid-template-columns:repeat(6, 1fr); }
.deck-component[data-cols="7"] .logo-grid-cells{ grid-template-columns:repeat(7, 1fr); }
.deck-component[data-cols="8"] .logo-grid-cells{ grid-template-columns:repeat(8, 1fr); }
.deck-component[data-cols="9"] .logo-grid-cells{ grid-template-columns:repeat(9, 1fr); }
.deck-component[data-cols="10"] .logo-grid-cells{ grid-template-columns:repeat(10, 1fr); }

.logo-grid-cell{
  position:relative; display:flex; align-items:center; justify-content:center;
  min-width:0; min-height:0; border-radius:8px; cursor:pointer;
}
.logo-grid-img{ height:70%; width:auto; max-width:100%; object-fit:contain; }
.logo-grid-plus{ display:none; }
#framesContainer .logo-grid-cell.is-empty{ border:1px dashed var(--ui-border); color:var(--ui-muted); }
#framesContainer .logo-grid-cell.is-empty .logo-grid-plus{ display:block; font-size:var(--text-lg); opacity:.6; }
#framesContainer .logo-grid-cell.is-empty:hover{ border-color:var(--ui-accent); color:var(--ui-accent); }
body.deck-readonly .logo-grid-cell.is-empty{ border-color:transparent; }
body.deck-readonly .logo-grid-cell.is-empty .logo-grid-plus{ display:none; }

.logo-grid-thumb{ display:grid; gap:3px; width:100%; grid-template-columns:repeat(3, 1fr); }
.logo-grid-thumb[data-cols="2"]{ grid-template-columns:repeat(2, 1fr); }
.logo-grid-thumb[data-cols="4"]{ grid-template-columns:repeat(4, 1fr); }
.logo-grid-thumb span{ height:10px; border-radius:2px; background:var(--ui-border); }

.logo-grid-picker{ display:grid; gap:6px; grid-template-columns:repeat(3, 1fr); }
.logo-grid-picker[data-cols="1"]{ grid-template-columns:repeat(1, 1fr); }
.logo-grid-picker[data-cols="2"]{ grid-template-columns:repeat(2, 1fr); }
.logo-grid-picker[data-cols="4"]{ grid-template-columns:repeat(4, 1fr); }
.logo-grid-picker[data-cols="5"]{ grid-template-columns:repeat(5, 1fr); }
.logo-grid-picker[data-cols="6"]{ grid-template-columns:repeat(6, 1fr); }
.logo-grid-picker[data-cols="7"]{ grid-template-columns:repeat(7, 1fr); }
.logo-grid-picker[data-cols="8"]{ grid-template-columns:repeat(8, 1fr); }
.logo-grid-picker[data-cols="9"]{ grid-template-columns:repeat(9, 1fr); }
.logo-grid-picker[data-cols="10"]{ grid-template-columns:repeat(10, 1fr); }
.logo-grid-pick-cell{
  position:relative; display:flex; align-items:center; justify-content:center;
  aspect-ratio:1; padding:4px; border:1px solid var(--ui-border); border-radius:8px;
  background:var(--ui-surface); cursor:pointer; color:var(--ui-muted);
}
.logo-grid-pick-cell:hover{ border-color:var(--ui-accent); color:var(--ui-accent); }
.logo-grid-pick-cell img{ max-width:100%; max-height:100%; object-fit:contain; }
.logo-grid-pick-cell.is-empty{ border-style:dashed; }
.logo-grid-pick-clear{
  position:absolute; top:-6px; right:-6px; width:18px; height:18px; padding:0;
  display:none; align-items:center; justify-content:center;
  border:1px solid var(--ui-border); border-radius:50%;
  background:var(--ui-surface); color:var(--ui-muted); font-size:12px; line-height:1; cursor:pointer;
}
.logo-grid-pick-cell:hover .logo-grid-pick-clear{ display:flex; }
.logo-grid-pick-clear:hover{ color:var(--ui-text); border-color:var(--ui-muted); }
/*! /css/components/column-stack.css */
.column-stack{ display:flex; }
.column-stack{ flex-direction:column; gap:12px; }
.column-stack > .field-wrap{ flex:0 0 auto; width:100%; }
.column-stack > .field-wrap.hidden{ display:none; }
.column-stack-cards{ flex:1 1 auto; min-height:0; }
.column-stack-title{
  font-family:var(--font-display); font-weight:var(--font-weight-light);
  font-size:var(--md-typography-font-size-600); line-height:32px;
  color:var(--md-brand-foreground-1-rest); outline:none; width:fit-content; max-width:100%;
}
.column-stack-title[data-placeholder]:empty:before{ content:attr(data-placeholder); color:var(--ui-muted); }
.column-stack[data-style="accent"] .column-stack-title{ color:var(--md-color-grey-white); }

.column-stack-cards{
  display:flex; flex-direction:column; gap:24px;
  width:100%; min-height:0;
}
.column-stack-card{ flex:1 1 0; min-height:0; overflow:hidden; }
.column-stack-card.content-card{ min-height:0; }

.column-stack-thumb{ display:flex; flex-direction:column; gap:3px; width:100%; }
.column-stack-thumb span{ height:9px; border-radius:2px; background:var(--ui-border); }

.column-kind-picker{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.column-kind-card{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:10px 8px; border:1px solid var(--ui-border); border-radius:10px;
  background:var(--ui-surface); cursor:pointer; text-align:center;
}
.column-kind-card:hover{ border-color:var(--ui-accent); }
.column-kind-card input{ position:absolute; opacity:0; width:0; height:0; margin:0; pointer-events:none; }
.column-kind-card:has(input:checked){ border-color:var(--ui-accent); box-shadow:0 0 0 1px var(--ui-accent) inset; }
.column-kind-card:has(input:focus-visible){ outline:2px solid var(--ui-accent); outline-offset:2px; }
.column-kind-label{ font-size:var(--text-sm); color:var(--ui-text); }
.column-kind-thumb{
  display:flex; width:100%; height:46px; padding:8px; gap:6px;
  border-radius:6px; background:var(--md-neutral-background-2-rest);
}
.column-kind-thumb-feature{ align-items:center; }
.column-kind-thumb-list{ flex-direction:column; justify-content:center; gap:4px; }
.column-kind-square{ flex:0 0 auto; width:20px; height:20px; border-radius:4px; background:var(--ui-border); }
.column-kind-lines{ display:flex; flex-direction:column; gap:4px; flex:1 1 auto; min-width:0; }
.column-kind-line{ height:4px; border-radius:2px; background:var(--ui-border); }
.column-kind-line-title{ width:60%; background:var(--ui-muted); }
.column-kind-row{ height:4px; border-radius:2px; background:var(--ui-border); }

.column-stack-row-fields{ display:flex; flex-direction:column; gap:6px; flex:1 1 auto; min-width:0; }
.column-card-items{ display:flex; flex-direction:column; gap:6px; padding-left:8px; border-left:1px solid var(--ui-border); }
.column-card-item{ display:flex; align-items:center; gap:6px; }
.column-card-item .column-item-label{ flex:1 1 auto; min-width:0; }
/*! /css/panels-modals.css */
#exportToast:not(.shown){ display:none; }
.export-toast-spinner{
  width:16px; height:16px; flex-shrink:0; border-radius:50%;
  border:2px solid var(--ui-border); border-top-color:var(--ui-accent);
  animation:export-toast-spin .7s linear infinite;
}
@keyframes export-toast-spin{ to{ transform:rotate(360deg); } }

.app-toast-stack{
  position:fixed; right:20px; top:20px; z-index:var(--z-float);
  display:flex; flex-direction:column; gap:8px;
}
.app-toast{
  display:flex; align-items:center; gap:10px;
  background:var(--md-color-grey-white); border-radius:12px;
  padding:10px 14px; box-shadow:var(--shadow-soft);
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text);
  transform:translateX(calc(100% + 24px)); transition:transform .3s ease, opacity .3s ease; opacity:0;
}
.app-toast.open{ transform:translateX(0); opacity:1; }
.app-toast-icon{ color:var(--md-teal-foreground-1-rest); font-size:var(--text-2xl); flex-shrink:0; }
.app-toast-label{ white-space:nowrap; }
.app-toast-close{ margin-left:auto; margin-right:-6px; width:24px; height:24px; flex-shrink:0; border:none; background:none; color:var(--ui-muted); cursor:pointer; border-radius:6px; }
.app-toast-close:hover{ background:var(--ui-surface-2); }
.app-toast-action{
  margin-left:auto; flex-shrink:0; border:none; background:none; color:var(--ui-accent); font-weight:var(--font-weight-semibold);
  font-family:var(--font-sans); font-size:var(--text-base); cursor:pointer; padding:2px 6px; border-radius:6px;
}
.app-toast-action:hover{ background:var(--ui-surface-2); }
.app-toast-action + .app-toast-close{ margin-left:0; }
.app-toast-rich{ align-items:flex-start; max-width:min(380px, calc(100vw - 40px)); box-sizing:border-box; }
.app-toast-body{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.app-toast-title{ font-family:var(--font-display); }
.app-toast-rich .app-toast-label{ white-space:normal; font-size:var(--text-md); line-height:1.4; color:var(--ui-text-2); }
.app-toast-icon-accent{ color:var(--ui-accent); }
.app-toast-icon-error{ color:var(--ui-danger); }
.app-toast-rich .app-toast-action{ align-self:flex-start; margin:6px 0 0 -6px; }

#commentPopover{ position:fixed; z-index:var(--z-dropdown); width:300px; background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; box-shadow:var(--shadow-soft); padding:10px; display:none; }
#commentPopover.open{ display:block; }
#commentPopover textarea, #commentPopover .comment-compose-input{ width:100%; min-height:60px; font-family:var(--font-sans); font-size:var(--text-md); border:1px solid var(--ui-border); border-radius:6px; padding:6px; resize:vertical; outline:none; box-sizing:border-box; }
#commentPopover .comment-compose-input{ max-height:160px; overflow-y:auto; white-space:pre-wrap; word-break:break-word; cursor:text; }
#commentPopover .comment-compose-input:empty:before{ content:attr(data-placeholder); color:var(--ui-muted); }
#commentPopover .popover-actions{ display:flex; justify-content:flex-end; gap:6px; margin-top:8px; }
#commentPopover .popover-avatar-row{ margin-bottom:8px; }
#commentPopover .popover-cancel-btn{ border:none; background:transparent; }
#commentPopover .popover-cancel-btn:hover{ background:var(--ui-surface-2); }

#templateLibraryOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center;
}
#templateLibraryOverlay.open{ display:flex; }
@keyframes modal-rise-in{ from{ opacity:0; transform:translateY(100vh); } to{ opacity:1; transform:translateY(0); } }
@keyframes modal-fall-out{ from{ opacity:1; transform:translateY(0); } to{ opacity:0; transform:translateY(100vh); } }
#templateLibraryOverlay.closing #templateLibraryModal,
#imageLibraryOverlay.closing #imageLibraryModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#templateLibraryModal{
  width:920px; max-width:90vw; height:600px; max-height:85vh;
  background:var(--md-color-grey-white); border-radius:16px; box-shadow:var(--shadow-modal);
  display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.tpl-lib-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px; 
  font-size:var(--text-2xl); font-weight:var(--font-weight-semibold); color:var(--ui-text);
}
.tpl-lib-body{ flex:1; display:flex; min-height:0; }
.tpl-lib-sidebar{
  width:240px; flex-shrink:0; border-right:1px solid var(--ui-border);
  overflow-y:auto; padding:10px;
}
.tpl-lib-item{
  display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border-radius:8px;
  cursor:pointer; font-size:var(--text-base); color:var(--ui-text);
}
.tpl-lib-item:hover{ background:var(--ui-surface-2); }
.tpl-lib-group-label{
  padding:14px 12px 6px; font-size:var(--text-sm); font-weight:var(--font-weight-semibold);
  color:var(--md-color-grey-black); text-transform:uppercase; letter-spacing:.04em;
}
.tpl-lib-item.active{ background:#0040DE0F; color:var(--ui-accent); font-weight:var(--font-weight-semibold); }
.tpl-lib-item-add{
  flex-shrink:0; width:24px; height:24px; border-radius:6px; border:none; background:none;
  color:var(--ui-muted); display:flex; align-items:center; justify-content:center; font-size:var(--text-md);
  cursor:pointer;
}
.tpl-lib-item-add:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
.tpl-lib-item .tpl-lib-item-add{ margin:-4px 0; }
.tpl-lib-footer{ padding:14px 20px; display:flex; justify-content:flex-end; gap:8px; flex-shrink:0; }
.tpl-lib-footer.hidden{ display:none; }
#imageLibraryModal .tpl-lib-header{ border-bottom:1px solid var(--ui-border); }
#imgLibFooter{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  background:var(--md-color-grey-white); border-radius:0 0 16px 0;
  transform:translateY(100%); opacity:0; pointer-events:none;
  transition:transform .25s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
}
#imgLibFooter.visible{ transform:translateY(0); opacity:1; pointer-events:auto; }
#imageLibraryModal{ position:relative; }
.img-lib-main{ position:relative; }
#imageLibraryModal.has-selection #imgLibGridWrap{ padding-bottom:78px; }
.img-lib-search-bar{
  position:sticky; top:-20px; z-index:1; margin:-20px -20px 12px; padding:0 20px 12px;
  background:var(--md-color-grey-white);
}
.img-lib-search-bar .search-box input{ width:100%; }
.tpl-lib-lang-pills{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:10px; }
.tpl-lib-lang-pills.hidden{ display:none; }
.tpl-lib-lang-pills button{
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); color:var(--ui-text); cursor:pointer;
  font-family:var(--font-regular); font-size:var(--text-sm); padding:5px 12px; border-radius:999px;
  transition:background .12s, border-color .12s;
}
.tpl-lib-lang-pills button:hover{ border-color:var(--ui-border-strong); background:var(--ui-surface-2); }
.tpl-lib-lang-pills button.active{ background:var(--ui-pill-active); border-color:var(--ui-pill-active); color:var(--ui-pill-active-fg); }
.library-thumb{ position:relative; }
.library-thumb-rank{
  position:absolute; top:6px; right:6px; min-width:20px; height:20px; padding:0 5px;
  display:flex; align-items:center; justify-content:center; box-sizing:border-box;
  border-radius:10px; background:var(--ui-accent); color:var(--md-color-grey-white);
  font-size:var(--text-xs); font-weight:var(--font-weight-semibold);
}
.library-thumb.selected .thumb-preview{ outline:2px solid var(--ui-accent); outline-offset:2px; }
#imgLibGrid .component-thumb:hover .thumb-preview{ border-color:var(--ui-border); box-shadow:none; }
#imgLibGrid .thumb-preview{ height:140px; }
.recap-title-input{
  flex:1; min-width:0; border:1px solid transparent; border-radius:8px; padding:4px 8px; margin:-4px -8px;
  background:transparent; font-family:inherit; font-size:inherit; font-weight:inherit; color:var(--ui-text);
}
.recap-title-input:hover{ border-color:var(--ui-border); }
.recap-title-input:focus{ outline:none; border-color:var(--ui-accent); background:var(--md-color-grey-white); }
.recap-field-host{ display:inline-flex; min-width:180px; max-width:100%; }
.recap-field-host .icon-select{ width:100%; }
.deck-history-row-block .recap-field-host{ display:block; width:100%; }
.recap-kw-box{ flex-wrap:wrap; }

.tpl-lib-main{ flex:1; min-width:0; display:flex; flex-direction:column; min-height:0; }
.tpl-lib-main .tpl-lib-header{ flex-shrink:0; }
.tpl-lib-cards{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:16px; align-content:start; }
.tpl-lib-cards.hidden{ display:none; }
.tpl-lib-card{
  display:flex; flex-direction:column; gap:8px; padding:10px; border-radius:12px;
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); cursor:pointer;
  transition:box-shadow .15s, border-color .15s;
}
.tpl-lib-card:hover{ border-color:var(--ui-accent); box-shadow:var(--shadow-sm); }
.tpl-lib-card-frame{
  width:100%; aspect-ratio:16/9; border-radius:8px; overflow:hidden; position:relative;
  background:var(--frame-bg); border:1px solid var(--ui-border);
}
.tpl-lib-card-foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tpl-lib-card-name{ font-size:var(--text-base); color:var(--ui-text); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tpl-lib-card-use{
  flex-shrink:0; border:none; background:none; border-radius:6px; padding:4px 8px;
  font-family:var(--font-sans); font-size:var(--text-sm); color:var(--ui-muted); cursor:pointer;
}
.tpl-lib-card-use:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
.tpl-lib-card-count{ flex-shrink:0; font-size:var(--text-sm); color:var(--ui-muted); }
.tpl-lib-card{ position:relative; }
.tpl-lib-card:hover .layout-thumb-menu-btn, .tpl-lib-card .layout-thumb-menu-btn.open{ opacity:1; }
.tpl-lib-empty{
  grid-column:1 / -1; display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:32px 16px; text-align:center; color:var(--ui-muted); font-size:var(--text-md);
}
.tpl-lib-empty img{ width:140px; height:auto; display:block; }
.tpl-lib-detail{ display:flex; flex-direction:column; align-items:flex-start; gap:0; margin-top:-20px; }
.tpl-lib-preview-title-row{ padding-top:6px; }
.tpl-lib-preview-title-row h3{ margin:0; font-size:var(--text-2xl); font-weight:var(--font-weight-semibold); color:var(--md-color-grey-black); min-width:0; }
.tpl-lib-detail .tpl-lib-preview-info{ margin-top:4px; }
.tpl-lib-detail-actions{ display:flex; align-items:center; gap:8px; margin-top:24px; }
.tpl-lib-detail-actions .btn.hidden{ display:none; }
.tpl-lib-color-picker .section-color-swatch{ width:20px; height:20px; outline-offset:2px; }
.tpl-lib-deck-detail, #deckTemplatePreviewBody{ display:flex; flex-direction:column; align-items:stretch; gap:0; }
.tpl-lib-deck-detail{ margin-top:-20px; }
.tpl-lib-deck-detail.hidden{ display:none; }
.tpl-lib-deck-detail .tpl-lib-preview-title-row, #deckTemplatePreviewBody .tpl-lib-preview-title-row{ max-width:none; gap:16px; }
.tpl-lib-deck-detail .tpl-lib-preview-info, #deckTemplatePreviewBody .tpl-lib-preview-info{ margin-top:4px; max-width:none; }
.tpl-lib-deck-detail .dtpl-carousel, #deckTemplatePreviewBody .dtpl-carousel{ margin-top:24px; }
.dtpl-preview-tags{ display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.tpl-lib-version-pick.hidden{ display:none; }
.tpl-lib-version-pick .slide-picker-card.selected .layout-thumb-frame{ outline:2px solid var(--ui-accent); outline-offset:1px; border-radius:6px; }
.tpl-lib-version-pick .slide-picker-label{ font-size:var(--text-md); color:var(--ui-text); text-align:center; }
.tpl-lib-detail .tpl-lib-preview-frame{ margin-top:24px; }
.tpl-lib-detail.hidden{ display:none; }
.tpl-lib-detail-back{
  display:flex; align-items:center; gap:6px; border:none; background:none; padding:0;
  font-family:var(--font-sans); font-size:var(--text-base); font-weight:var(--font-weight-regular);
  color:var(--ui-muted); cursor:pointer;
}
.tpl-lib-detail-back:hover{ color:var(--ui-text); }
.tpl-lib-detail-back.hidden{ display:none; }
.tpl-lib-sidebar-title{
  padding:8px 10px 10px; font-size:var(--text-2xl); font-weight:var(--font-weight-semibold);
  color:var(--md-color-grey-black);
}
#tplLibHeaderTitle{ color:var(--md-color-grey-black); }
.tpl-lib-preview{
  flex:1; min-width:0; display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; gap:12px; padding:32px; overflow-y:auto;
}
.tpl-lib-preview-frame{
  width:100%; max-width:560px; aspect-ratio:16/9; border:1px solid var(--ui-border);
  border-radius:10px; overflow:hidden; position:relative; background:var(--frame-bg);
  box-shadow:var(--shadow-soft);
}
.tpl-lib-preview-info{ text-align:left; max-width:560px; width:100%; }
.tpl-lib-preview-info h3{ margin:0; font-size:var(--text-2xl); color:var(--ui-text); }
.tpl-lib-preview-info p{ margin:0; font-size:var(--text-base); line-height:1.5; color:var(--md-neutral-foreground-3-rest); }
.tpl-lib-color-picker{ display:flex; gap:14px; }
.tpl-lib-color-picker.hidden{ display:none; }
.tpl-lib-preview-title-row{ display:flex; align-items:center; justify-content:space-between; width:100%; max-width:560px; }

#imageLibraryOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center;
}
#imageLibraryOverlay.open{ display:flex; }
#imageLibraryOverlay.above-modal{ z-index:var(--z-modal-2); }
#imageLibraryModal{
  width:760px; max-width:90vw; height:560px; max-height:85vh;
  background:var(--md-color-grey-white); border-radius:16px; box-shadow:var(--shadow-modal);
  display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.tpl-lib-grid-wrap{ flex:1; min-width:0; padding:20px; margin-top: -10px; overflow-y:auto; }
#imgLibGridWrap{ scrollbar-width:none; }
#imgLibGridWrap::-webkit-scrollbar{ display:none; }

#nameModalModal, #importDeckModal, #thumbnailModalModal, #templateShareModal,
#imageCardEditModal, #avatarModalModal, #personalInfoModalModal, #shareModalModal,
#deckTemplatePreviewModal, .admin-modal{ max-height:86vh; }
.tpl-lib-grid-wrap, .image-card-edit-body, .data-table-modal-body, .modal-scroll-body{
  flex:1 1 auto; min-height:0; position:relative;
  --scroll-fade-inset:20px;
}
.tpl-lib-grid-wrap.has-scroll, .image-card-edit-body.has-scroll,
.data-table-modal-body.has-scroll, .modal-scroll-body.has-scroll{ overflow-y:auto; }
#nameModalModal .tpl-lib-grid-wrap.has-scroll,
#importDeckModal .tpl-lib-grid-wrap.has-scroll,
#thumbnailModalModal .tpl-lib-grid-wrap.has-scroll,
#templateShareModal .tpl-lib-grid-wrap.has-scroll,
#shareModalModal .tpl-lib-grid-wrap.has-scroll,
#avatarModalModal .tpl-lib-grid-wrap.has-scroll,
#personalInfoModalModal .tpl-lib-grid-wrap.has-scroll{ overflow-y:auto; overflow-x:hidden; }
.tpl-lib-grid-wrap.has-scroll:not(.at-scroll-end)::after,
.image-card-edit-body.has-scroll:not(.at-scroll-end)::after,
.data-table-modal-body.has-scroll:not(.at-scroll-end)::after,
.modal-scroll-body.has-scroll:not(.at-scroll-end)::after{
  content:''; position:sticky; display:block; left:0; right:0;
  bottom:calc(-1 * var(--scroll-fade-inset, 0px));
  height:48px; flex:0 0 48px; margin-top:calc(-48px - var(--scroll-fade-gap, 0px)); pointer-events:none;
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(255,255,255,0.92) 45%, rgba(255,255,255,0) 100%);
}
html[data-ui-theme="dark"] .tpl-lib-grid-wrap.has-scroll:not(.at-scroll-end)::after,
html[data-ui-theme="dark"] .image-card-edit-body.has-scroll:not(.at-scroll-end)::after,
html[data-ui-theme="dark"] .data-table-modal-body.has-scroll:not(.at-scroll-end)::after,
html[data-ui-theme="dark"] .modal-scroll-body.has-scroll:not(.at-scroll-end)::after{
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(26,31,39,0.92) 45%, rgba(26,31,39,0) 100%);
}

.tpl-lib-grid-wrap, .image-card-edit-body, .data-table-modal-body,
.modal-scroll-body, .admin-modal-body{ scrollbar-width:none; }
.tpl-lib-grid-wrap::-webkit-scrollbar, .image-card-edit-body::-webkit-scrollbar,
.data-table-modal-body::-webkit-scrollbar, .modal-scroll-body::-webkit-scrollbar,
.admin-modal-body::-webkit-scrollbar{ display:none; }

.admin-modal-body{ position:relative; --scroll-fade-inset:20px; }
.admin-modal-body.has-scroll:not(.at-scroll-end)::after{
  content:''; position:sticky; display:block; left:0; right:0;
  bottom:calc(-1 * var(--scroll-fade-inset, 0px));
  height:48px; flex:0 0 48px; margin-top:calc(-48px - var(--scroll-fade-gap, 0px)); pointer-events:none;
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(255,255,255,0.92) 45%, rgba(255,255,255,0) 100%);
}
html[data-ui-theme="dark"] .admin-modal-body.has-scroll:not(.at-scroll-end)::after{
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(26,31,39,0.92) 45%, rgba(26,31,39,0) 100%);
}

#fileImportOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center;
}
#fileImportOverlay.open{ display:flex; }
#fileImportOverlay.closing #fileImportModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#fileImportModal{
  width:440px; max-width:90vw; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column;
  overflow:visible;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
#dataTableModalOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center;
}
#dataTableModalOverlay.open{ display:flex; }
#dataTableModalOverlay.closing #dataTableModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#dataTableModal{
  width:920px; max-width:92vw; max-height:86vh; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.data-table-modal-toolbar{ display:flex; flex-direction:column; gap:8px; padding:16px 20px 0; flex-shrink:0; }
.data-table-modal-error{ background:var(--ui-danger-soft); color:var(--ui-danger-hover); border:1px solid #F3C6C2; border-radius:8px; padding:8px 12px; font-size:var(--text-md); line-height:1.4; }
#imageCardEditModalOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center;
}
#imageCardEditModalOverlay.open{ display:flex; }
#imageCardEditModalOverlay.closing #imageCardEditModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#imageCardEditModal{
  width:540px; max-width:92vw; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.image-card-edit-body{ padding:20px; display:flex; flex-direction:column; gap:16px; }
.image-card-edit-body .image-card-drop-zone{ height:220px; }
.image-card-edit-body .image-card-drop-zone.drag-over{ border-color:var(--ui-accent); background:var(--ui-surface-2); }
.image-card-crop-stage{
  position:relative; width:100%; padding:28px; box-sizing:border-box; display:flex; justify-content:center;
  overflow:hidden; border-radius:var(--md-radius-160,16px); background:var(--md-neutral-background-2-rest);
  cursor:move; user-select:none;
}
.image-card-crop-stage:active{ cursor:grabbing; }
.image-card-edit-preview{ position:relative; flex-shrink:0; border-radius:12px; overflow:visible; }
.image-card-edit-preview .image-card-edit-preview-img{
  width:100%; height:100%; object-fit:cover; display:block; pointer-events:none;
  transform:translate(var(--edit-pan-x,0px), var(--edit-pan-y,0px)) scale(var(--edit-scale,1));
  transform-origin:center center;
}
.image-card-edit-preview.is-svg .image-card-edit-preview-img,
.image-card-edit-preview.is-contain .image-card-edit-preview-img{ object-fit:contain; }
.image-card-edit-preview .image-card-crop-ghost{
  pointer-events:none; cursor:inherit;
  transform:translate(-50%,-50%) translate(var(--edit-pan-x,0px), var(--edit-pan-y,0px)) scale(var(--edit-scale,1));
}
.image-card-edit-preview .image-card-crop-mask{ box-shadow:0 0 0 200vmax rgba(15,18,23,0.5); border:1px solid rgba(255,255,255,0.7); box-sizing:border-box; }
.image-card-edit-slider{ display:flex; flex-direction:column; gap:6px; align-self:center; max-width:100%; box-sizing:border-box; }
.image-card-edit-actions{ align-self:center; max-width:100%; box-sizing:border-box; display:flex; gap:10px; }
.image-card-edit-actions:empty{ display:none; }
.image-card-edit-actions > .image-card-edit-footer-left{ display:flex; gap:10px; width:100%; }
.image-card-edit-actions .btn{ flex:1; min-width:0; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.image-card-edit-slider span{ font-size:var(--text-md); font-weight:var(--font-weight-semibold); color:var(--md-neutral-foreground-3-rest); }
.data-table-modal-error.hidden{ display:none; }
.data-table-modal-body{ flex:1; min-height:0; overflow-y:auto; padding:16px 20px 20px; }
.data-table-modal-wrap{ display:flex; align-items:stretch; overflow-x:auto; }
.data-table-modal-table{ flex:1 0 auto; min-width:100%; border-collapse:collapse; border:1px solid var(--ui-border); }
.data-table-modal-table th, .data-table-modal-table td{ border:1px solid var(--ui-border); }
.data-table-modal-table thead th{ background:var(--md-neutral-background-2-rest); }
.data-table-modal-table th{ text-align:left; font-size:var(--text-sm); font-weight:var(--font-weight-semibold); text-transform:uppercase; letter-spacing:.03em; color:var(--md-neutral-foreground-3-rest); padding:6px 10px; white-space:nowrap; }
.data-table-modal-table td{ padding:6px; }
.data-table-modal-table tbody td:not(.data-table-modal-row-head){ padding:0; }
.data-table-modal-table input{ width:100%; box-sizing:border-box; padding:6px 8px; border:none; background:none; outline:none; font-size:var(--text-base); font-family:var(--font-sans); }
.data-table-modal-table input:focus{ outline:2px solid var(--ui-accent); outline-offset:-1px; border-radius:0; }
.data-table-modal-table th input.data-table-modal-col-label{ font-weight:var(--font-weight-bold); color:var(--md-neutral-foreground-1-rest); text-transform:none; letter-spacing:0; font-size:var(--text-base); }
.data-table-modal-format-row th{ padding:4px 10px; }
.data-table-modal-format-cell{ cursor:pointer; user-select:none; }
.data-table-modal-format-cell:hover{ background:var(--md-neutral-background-3-rest); }
.data-table-modal-format-icon{
  width:32px; height:32px; margin:0 auto; display:flex; align-items:center; justify-content:center;
  font-size:var(--text-lg); color:var(--ui-muted);
}
.data-table-modal-row-head{
  width:32px; text-align:center; font-size:var(--text-md); color:var(--md-neutral-foreground-3-rest);
  background:var(--md-neutral-background-2-rest); cursor:pointer; user-select:none;
}
.data-table-modal-row-head:hover{ background:var(--md-neutral-background-3-rest); }
.data-table-modal-col-head-cell{ width:32px; }
.data-table-modal-axis-menu{
  display:none; position:fixed; z-index:var(--z-modal-menu); flex-direction:column; min-width:170px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; box-shadow:var(--shadow-soft); padding:6px; gap:2px;
}
.data-table-modal-axis-menu.open{ display:flex; }
.data-table-modal-axis-menu button{
  display:flex; align-items:center; gap:8px; border:none; background:none; text-align:left;
  padding:7px 9px; border-radius:6px; font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text); cursor:pointer;
}
.data-table-modal-axis-menu button:hover{ background:var(--md-neutral-background-2-rest); }
.data-table-modal-axis-menu button:disabled{ opacity:.4; cursor:default; }
.data-table-modal-axis-menu button:disabled:hover{ background:none; }
.data-table-modal-add-row-wrap{ display:flex; margin-top:8px; }
.data-table-modal-add-row{
  display:flex; align-items:center; justify-content:center; gap:6px; width:100%;
  height:36px; border:1px dashed var(--ui-border); border-radius:6px; background:none; color:var(--ui-muted);
  cursor:pointer; font-size:var(--text-base);
}
.data-table-modal-add-row:hover{ border-color:var(--ui-accent); color:var(--ui-accent); background:rgba(0,64,222,0.06); }
.data-table-modal-add-col-zone{ flex:0 0 36px; width:36px; padding-left:6px; display:flex; position:sticky; right:0; background:var(--md-color-grey-white); }
.data-table-modal-wrap:has(.data-table-modal-add-col-zone) .data-table-modal-table{ min-width:calc(100% - 42px); }
.data-table-modal-add-col-zone button{
  flex:1; width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  border:1px dashed var(--ui-border); border-radius:6px; background:none; color:var(--ui-muted); cursor:pointer; font-size:var(--text-base);
}
.data-table-modal-add-col-zone button:hover{ border-color:var(--ui-accent); color:var(--ui-accent); background:rgba(0,64,222,0.06); }
.data-table-modal-table td.data-table-modal-cell-col-selected, .data-table-modal-table th.data-table-modal-cell-col-selected{ background:rgba(0,64,222,0.08); }
.data-table-modal-table tr.data-table-modal-row-selected td{ background:rgba(0,64,222,0.08); }
.data-table-modal-row-head.data-table-modal-row-head-selected{ background:rgba(0,64,222,0.16); color:var(--ui-accent); }
.data-table-modal-format-row th.data-table-modal-cell-col-selected{ background:none; }
.data-table-modal-format-row th.data-table-modal-cell-col-selected .data-table-modal-format-icon i{ color:var(--ui-accent); }
.data-table-modal-table .data-table-modal-cell-col-selected{ border-left:2px solid var(--ui-accent); border-right:2px solid var(--ui-accent); }
.data-table-modal-format-row th.data-table-modal-cell-col-selected{ border-top:2px solid var(--ui-accent); }
.data-table-modal-table tbody tr:last-child td.data-table-modal-cell-col-selected{ border-bottom:2px solid var(--ui-accent); }
.data-table-modal-table tr.data-table-modal-row-selected td{ border-top:2px solid var(--ui-accent); border-bottom:2px solid var(--ui-accent); }
.data-table-modal-table tr.data-table-modal-row-selected td.data-table-modal-row-head{ border-left:2px solid var(--ui-accent); }
.data-table-modal-table tr.data-table-modal-row-selected td:last-child{ border-right:2px solid var(--ui-accent); }
.data-table-modal-floating-toolbar{
  display:none; position:fixed; z-index:var(--z-modal-toolbar); align-items:center; gap:2px; padding:4px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:8px; box-shadow:var(--shadow-soft);
}
.data-table-modal-floating-toolbar.open{ display:flex; }
.data-table-modal-floating-toolbar .icon-btn{ width:28px; height:28px; }
#nameModalOverlay, #importDeckModalOverlay, #thumbnailModalOverlay, #templateShareOverlay,
#deckTemplatePreviewOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center;
}
#nameModalOverlay.open, #importDeckModalOverlay.open, #thumbnailModalOverlay.open, #templateShareOverlay.open,
#deckTemplatePreviewOverlay.open{ display:flex; }
#nameModalOverlay.closing #nameModalModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#importDeckModalOverlay.closing #importDeckModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#thumbnailModalOverlay.closing #thumbnailModalModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#nameModalModal, #importDeckModal, #thumbnailModalModal, #templateShareModal, #deckTemplatePreviewModal{
  width:440px; max-width:90vw; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
#nameModalModal .tpl-lib-grid-wrap, #importDeckModal .tpl-lib-grid-wrap, #thumbnailModalModal .tpl-lib-grid-wrap, #templateShareModal .tpl-lib-grid-wrap{ padding:0px 20px 20px 20px; overflow:visible; }
#nameModalModal .tpl-lib-grid-wrap{ display:flex; flex-direction:column; gap:16px; }
.deck-style-body{ display:flex; flex-direction:column; gap:16px; }
.deck-style-theme-row{ display:flex; flex-direction:column; gap:8px; font-size:var(--text-base); color:var(--ui-text); font-family:"lexend Regular"; }
.deck-style-preview{ display:flex; flex-direction:column; gap:8px; border-radius:10px; }
.deck-style-preview.drag-over .deck-style-frame{ border-color:var(--ui-accent); box-shadow:0 0 0 3px var(--ui-accent-soft, rgba(0,64,222,0.18)); }
.deck-style-frame{ width:100%; }
.deck-style-empty{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--ui-muted); font-size:var(--text-sm); }
.deck-style-actions{ display:flex; justify-content:space-between; gap:12px; font-size:var(--text-sm); }
.deck-style-reset{ border:none; background:none; padding:0; color:var(--ui-muted); font-family:var(--font-sans); font-size:var(--text-sm); cursor:pointer; text-decoration:underline; }
.deck-style-reset:hover{ color:var(--ui-text); }
.deck-style-overlay{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(15,18,23,0.45); opacity:0; transition:opacity .15s ease; border-radius:inherit;
}
.deck-style-frame:hover .deck-style-overlay, .deck-style-overlay:focus-within{ opacity:1; }
.deck-style-overlay .btn i{ margin-right:6px; }
.deck-thumb-actions{ display:flex; gap:10px; }

.crop-modal-overlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center; padding:16px;
}
.crop-modal-overlay.open{ display:flex; }
.crop-modal-overlay.closing .crop-modal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
.crop-modal{
  width:420px; max-width:100%; max-height:86vh; background:var(--md-color-grey-white);
  border-radius:16px; box-shadow:var(--shadow-modal); display:flex; flex-direction:column;
  overflow:hidden; animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.crop-modal .image-card-edit-body{ overflow:auto; align-items:center; }
.crop-modal .image-card-drop-zone{
  position:relative; width:100%; flex-shrink:0; box-sizing:border-box;
  border:2px dashed var(--md-neutral-stroke-1-rest); border-radius:var(--md-radius-160,16px);
  background:transparent; overflow:hidden; display:flex; align-items:center; justify-content:center;
}
.crop-modal .image-card-drop-zone.drag-over{ border-color:var(--ui-accent); background:var(--ui-surface-2); }
.crop-modal .image-card-drop-hint{
  display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; padding:16px;
  color:var(--md-neutral-foreground-3-rest); font-family:var(--font-sans);
}
.crop-modal .image-card-file-link, .crop-modal .image-card-lib-link{ color:var(--md-brand-foreground-1-rest); text-decoration:none; cursor:pointer; }
.crop-modal .image-card-edit-body .image-card-panel-dropzone{ height:150px; }
.crop-modal .image-card-edit-body .image-card-panel-dropzone .image-card-drop-icon{ width:38px; height:38px; }
.crop-modal .image-card-edit-body .image-card-panel-dropzone .image-card-drop-hint{ font-size:var(--text-md); }
.crop-modal .image-card-source-panes, .crop-modal .image-card-source-seg{ width:100%; }

.image-card-source-seg{
  position:relative; display:flex; gap:4px; border-radius:8px; padding:3px;
  background:var(--md-neutral-background-2-rest); box-sizing:border-box;
}
.image-card-source-seg button{
  position:relative; z-index:1; flex:1; border:none; border-radius:5px; background:transparent;
  color:var(--ui-muted); font-family:var(--font-sans); font-size:var(--text-md); padding:5px 9px; cursor:pointer;
}
.image-card-source-seg.no-thumb .cols-group-thumb{ display:none; }
.image-card-source-seg.no-thumb button.active{
  background:var(--md-neutral-background-1-rest); color:var(--ui-text);
  box-shadow:0 2px 2px rgba(var(--shadow-rgb), 0.16);
}
.crop-modal input[type="range"]{ accent-color:var(--ui-accent); width:100%; }
.crop-modal .image-card-crop-box{
  overflow:hidden; cursor:move; user-select:none;
  border:1px solid var(--ui-border); background:var(--md-neutral-background-2-rest);
}
.crop-modal .image-card-crop-box:active{ cursor:grabbing; }
.crop-modal .image-card-crop-box.is-fitted .image-card-edit-preview-img{
  position:absolute; left:50%; top:50%; max-width:none; object-fit:fill;
  transform:translate(-50%,-50%) translate(var(--edit-pan-x,0px), var(--edit-pan-y,0px)) scale(var(--edit-scale,1));
}
.image-card-edit-preview.is-round{ border-radius:50%; overflow:hidden; }
.image-card-edit-preview.is-round .image-card-crop-mask{ border-radius:50%; }
.crop-modal .image-card-edit-actions .btn{ white-space:nowrap; font-size:var(--text-md); padding:7px 8px; }
.deck-style-body input[type="range"]{ accent-color:var(--ui-accent); width:100%; }
#importDeckModal.slide-picker-active{ width:640px; }
.slide-picker-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; margin-top: -10px; }
.slide-picker-toolbar-info{ display:flex; flex-direction:column; gap:2px; }
.slide-picker-name{ font-size:var(--text-lg); font-weight:var(--font-weight-semibold); color:var(--ui-text); }
.slide-picker-name:empty{ display:none; }
.slide-picker-count{ font-size:var(--text-md); color:var(--ui-muted); }
.slide-picker-toolbar-actions{ display:flex; align-items:center; gap:8px; }
.decks-selection-clear{
  display:flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--ui-border);
  background:var(--md-color-grey-white); border-radius:9px; font-family:var(--font-sans); font-size:var(--text-base);
  color:var(--ui-text); cursor:pointer; white-space:nowrap;
}
.decks-selection-clear:hover{ background:var(--ui-surface-2); }
.slide-picker-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px 10px;
  max-height:360px; overflow-y:auto; padding:2px;
}
.slide-picker-card{ display:flex; flex-direction:column; align-items:center; gap:6px; cursor:pointer; }
.slide-picker-thumb-wrap{ position:relative; width:100%; }
.slide-picker-thumb-wrap .slide-picker-checkbox{ position:absolute; top:6px; left:6px; z-index:2; }
.slide-picker-num{ font-size:var(--text-md); color:var(--ui-muted); }
.import-deck-filecard{
  display:flex; align-items:center; gap:10px; padding:12px; border:1px solid var(--ui-border);
  border-radius:8px; background:fff;
}
.import-deck-filecard i{ color:var(--ui-muted); font-size:var(--text-4xl);text-align: center; width: 32px; flex-shrink:0; }
.import-deck-filecard-info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.import-deck-filecard-name{ font-size:var(--text-base); font-weight:var(--font-weight-semibold); color:var(--ui-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.import-deck-filecard-count{ font-size:var(--text-md); color:var(--ui-muted); }
#shareModalOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal-2);
  align-items:center; justify-content:center;
}
#shareModalOverlay.open{ display:flex; }
#shareModalOverlay.closing #shareModalModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#shareModalModal{
  width:440px; max-width:90vw; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
#shareModalModal .tpl-lib-grid-wrap{ padding:4px 20px 20px; overflow:visible; }
.share-modal-header-titles{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.share-modal-deck-name{ font-size:var(--text-md); font-weight:var(--font-weight-regular); color:var(--md-neutral-foreground-3-rest); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prop-field:has(> .icon-select){ position:relative; display:block; }
.prop-field:has(> .icon-select) > span:first-child{
  position:absolute; left:9px; top:0; font-size:var(--text-xs); line-height:1; transform:translateY(-50%);
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px; z-index:1; pointer-events:none;
}
.prop-field:has(> .icon-select) > .icon-select{ width:100%; }
.team-select-trigger{ width:100%; justify-content:flex-start; gap:8px; padding:9px; box-sizing:border-box; }
.team-select-trigger-label{ flex:1; min-width:0; text-align:left; font-size:var(--text-base); color:var(--ui-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-select .icon-select-menu{ width:100%; min-width:0; box-sizing:border-box; }
.team-select-dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0; background:var(--dot-color); }
.team-select-dot-empty{ background:var(--md-neutral-stroke-1-rest); }
.team-select .icon-select-option{ gap:8px; }
.share-modal-invite-row{ display:flex; gap:8px; align-items:flex-start; }
.share-modal-email-field{ flex:1; min-width:0; position:relative; }
.share-modal-role-field{ width:120px; flex-shrink:0; }
.share-invite-box{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-height:42px; padding:4px 8px; box-sizing:border-box;
  border:1px solid var(--ui-border); border-radius:8px; background:var(--md-color-grey-white); cursor:text;
}
.share-invite-box:focus-within{ border-color:var(--ui-accent); }
.prop-field .share-invite-box input{ border:0; border-radius:0; height:auto; padding:4px 2px; background:none; }
.prop-field .share-invite-box input:focus{ border:0; outline:none; }
.prop-field:has(> .share-invite-box) > .share-invite-box{ padding:11px 8px 5px; }
.prop-field:has(> .share-invite-box){ position:relative; display:block; }
.prop-field:has(> .share-invite-box) > span:first-child{
  position:absolute; left:9px; top:0; font-size:var(--text-xs); line-height:1; transform:translateY(-50%);
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px; z-index:1; pointer-events:none;
}
.admin-kw-chip .share-chip-label{ margin-left:0; }
.template-settings-row{ display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:12px; align-items:start; }
.template-settings-row > .prop-field{ min-width:0; }
.template-settings-row:not(:has(> .prop-field:not([hidden]))){ display:none; }
.prop-field:has(> .template-select-host > .icon-select){ position:relative; display:block; }
.prop-field:has(> .template-select-host > .icon-select) > span:first-child{
  position:absolute; left:9px; top:0; font-size:var(--text-xs); line-height:1; transform:translateY(-50%);
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px; z-index:1; pointer-events:none;
}
.prop-field:has(> .template-select-host > .icon-select) > .template-select-host{ width:100%; }
.prop-field[hidden]{ display:none !important; }
.share-invite-box input{ flex:1 1 140px; min-width:0; height:32px; border:none; outline:none; background:none; padding:0 2px; font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text); }
.share-chips{ display:contents; }
.share-chip{
  display:inline-flex; align-items:center; gap:6px; padding:2px 4px 2px 2px; border-radius:999px;
  background:var(--md-neutral-background-2-rest); font-size:var(--text-sm); color:var(--ui-text); max-width:100%;
}
.share-chip .share-modal-member-avatar{ width:22px; height:22px; font-size:var(--text-xs); }
.share-chip-label{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding-left:4px; }
.share-chip-remove{ border:none; background:none; width:20px; height:20px; border-radius:50%; cursor:pointer; color:var(--ui-muted); display:inline-flex; align-items:center; justify-content:center; font-size:var(--text-xs); }
.share-chip-remove:hover{ background:var(--ui-border); color:var(--ui-text); }
.share-email-dropdown button{ display:flex; align-items:center; gap:10px; }
.share-email-dropdown .share-modal-member-avatar{ width:26px; height:26px; font-size:var(--text-sm); }
.share-dd-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.share-dd-team-avatar{ color:#fff; }
.share-dd-team-avatar i{ font-size:var(--text-sm); }
.share-dd-count{ flex-shrink:0; margin-left:auto; color:var(--ui-muted); font-size:var(--text-sm); font-variant-numeric:tabular-nums; }
.share-modal-member-avatar img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
.team-select-trigger .icon-select-caret{ margin-right:4px; }
.share-select-hug .team-select-trigger{ padding:4px 8px; }
.share-select-hug .team-select-trigger .icon-select-caret{ margin-right:0; }
.share-member-role-select .team-select-trigger{ padding:6px 9px; height:34px; }
.share-member-role-select .team-select-trigger-label{ font-size:var(--text-md); }
.share-modal-role-field.hidden{ display:none; }
.share-email-dropdown{
  position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:var(--z-modal-dropdown); max-width:none; overflow-y:auto;
  scrollbar-width:none;
}
.share-email-dropdown::-webkit-scrollbar{ display:none; }
.share-email-dropdown button{ width:100%; text-align:left; font-size:var(--text-base); }
.share-email-dropdown.has-more::after{
  content:''; position:sticky; display:block; left:0; right:0; bottom:0;
  height:28px; margin-top:-28px; pointer-events:none;
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(255,255,255,0.92) 55%, rgba(255,255,255,0) 100%);
}
html[data-ui-theme="dark"] .share-email-dropdown.has-more::after{
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(26,31,39,0.92) 55%, rgba(26,31,39,0) 100%);
}
.share-email-dropdown button.share-dd-already{ opacity:.55; cursor:default; }
.share-email-dropdown button.share-dd-already:hover{ background:none; }
.share-modal-member-role-label{ font-size:var(--text-md); color:var(--ui-muted); }
.share-modal-error{ font-size:var(--text-md); color:var(--md-status-danger-foreground-1-rest); margin-top:8px; }
.share-modal-members{ display:flex; flex-direction:column; }
.share-modal-member-row{ display:flex; align-items:center; gap:10px; padding:8px; border-radius:8px; }
.share-access-list .share-modal-members{ margin-top:0; }
.share-modal-member-avatar{
  width:28px; height:28px; border-radius:50%; background:var(--ui-accent); color:var(--md-color-grey-white);
  font-family:var(--font-sans); font-size:var(--text-md); font-weight:var(--font-weight-semibold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.share-modal-member-email{ flex:1; min-width:0; font-size:var(--text-base); color:var(--ui-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.share-modal-member-role{ flex-shrink:0; display:flex; align-items:center; justify-content:flex-end; margin-left:auto; }
.share-member-remove{
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  width:28px; height:28px; padding:0; margin-right:6px;
  border:none; background:none; border-radius:6px; cursor:pointer;
  color:var(--ui-muted); font-size:var(--text-md); opacity:0; pointer-events:none;
  transition:opacity .14s ease;
}
.share-modal-member-row:hover .share-member-remove,
.share-member-remove:focus-visible{ opacity:1; pointer-events:auto; }
.share-member-remove:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }

.share-invite-box{ align-items:flex-start; position:relative; }
.share-invite-box:has(> .share-modal-role-field:not(.hidden)){ padding-right:136px; }
.share-invite-box > .share-modal-role-field{
  position:absolute; top:5px; right:6px; width:auto; flex-shrink:0;
  display:flex; justify-content:flex-end;
}
.share-modal-invite-row{ align-items:flex-start; }
.share-inline-select .team-select-trigger{
  width:auto; height:30px; padding:4px 6px; gap:4px;
  border:none; border-radius:6px; background:none; color:var(--ui-muted);
}
.share-inline-select .team-select-trigger:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }
.share-inline-select .team-select-trigger-label{ flex:0 0 auto; font-size:var(--text-md); color:inherit; }
.icon-select.share-inline-select .icon-select-menu{ width:100%; min-width:0; max-width:none; left:0; right:auto; }
.icon-select.share-inline-select.share-select-hug .icon-select-menu{ width:max-content; min-width:0; max-width:min(320px, 80vw); left:auto; right:0; }
.icon-select.share-inline-select .icon-select-options{ overflow-x:hidden; }
.share-inline-select .icon-select-option{ white-space:nowrap; }
.share-inline-select .icon-select-option > span{ white-space:nowrap; }
.share-access-list{ margin-top:16px; }
.share-access-row{
  display:flex; align-items:center; gap:10px; width:100%; box-sizing:border-box;
  padding:8px; border:none; border-radius:8px; background:none; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text); text-align:left;
}
.share-access-row:hover{ background:var(--md-neutral-background-2-rest); }
.share-access-row[disabled]{ cursor:default; }
.share-access-row[disabled]:hover{ background:none; }
.share-access-icon{
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--md-neutral-background-2-rest); color:var(--ui-muted); font-size:var(--text-md);
}
.share-access-row:hover .share-access-icon{ background:var(--md-color-grey-white); }
.share-access-label{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.share-access-role{ flex-shrink:0; font-size:var(--text-md); color:var(--ui-muted); }
.share-access-caret{ flex-shrink:0; font-size:var(--text-sm); color:var(--ui-muted); }
.share-settings-header{ justify-content:flex-start; gap:8px; }
.share-settings-header > [data-action="closeShareModal"]{ margin-left:auto; }
.share-settings-hint{ display:block; margin-top:6px; font-size:var(--text-md); color:var(--ui-muted); }
.share-settings-select .team-select-trigger{
  width:100%; height:42px; padding:0 12px; gap:8px;
  border:1px solid var(--ui-border); border-radius:8px; background:var(--md-color-grey-white);
  color:var(--ui-text);
}
.share-settings-select .team-select-trigger:hover{ background:var(--md-color-grey-white); border-color:var(--ui-accent); }
.share-settings-select .team-select-trigger-label{ flex:1 1 auto; text-align:left; color:var(--ui-text); }
.share-settings-select .icon-select-caret{ margin-left:auto; margin-right:0; }
.share-settings-select .icon-select-menu{ width:100%; min-width:0; left:0; right:auto; }
.share-public-link-body{ display:flex; flex-direction:column; gap:16px; }
.share-public-link-field{ position:relative; display:block; }
.share-public-link-field > span:first-child{
  position:absolute; left:9px; top:0; font-size:var(--text-xs); line-height:1; transform:translateY(-50%);
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px; z-index:1; pointer-events:none; color:var(--ui-muted);
}
.share-public-link-row{ display:flex; gap:8px; align-items:center; }
.share-public-link-input{
  flex:1; min-width:0; height:42px; padding:0 12px; box-sizing:border-box;
  border:1px solid var(--ui-border); border-radius:8px; background:var(--md-color-grey-white);
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text); outline:none; text-overflow:ellipsis;
}
.share-public-link-input:focus{ border-color:var(--ui-accent); }
.share-public-link-row .btn{ flex-shrink:0; height:42px; display:inline-flex; align-items:center; gap:8px; }
.share-public-link-meta{ font-size:var(--text-md); color:var(--ui-muted); }
#shareModalModal .tpl-lib-grid-wrap:has(> .prop-field){ display:flex; flex-direction:column; gap:20px; }

.share-modal-footer{ justify-content:flex-start; }
.share-modal-footer .btn{ display:inline-flex; align-items:center; gap:10px; }
.share-modal-footer .btn > i{ width:16px; text-align:center; flex-shrink:0; }
.share-avatar-stack{ display:flex; align-items:center; flex-shrink:0; }
.share-avatar-stack .share-modal-member-avatar{ box-shadow:0 0 0 2px var(--md-color-grey-white); }
.share-avatar-stack .share-modal-member-avatar + .share-modal-member-avatar{ margin-left:-10px; }
.share-member-warning{ flex-shrink:0; color:var(--md-status-warning-foreground-1-rest); font-size:var(--text-md); cursor:help; }
.share-team-toolbar{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.share-team-toolbar .search-box{ flex:1; min-width:0; }
.share-team-toolbar .share-inline-select{ flex-shrink:0; }
.share-team-bulk .team-select-trigger{ height:34px; }
.share-select-icon{ flex-shrink:0; font-size:var(--text-md); width:14px; text-align:center; }
.share-team-public-note{
  display:flex; align-items:flex-start; gap:8px; margin-bottom:8px; padding:8px 10px;
  border-radius:8px; background:var(--ui-surface-2); color:var(--ui-muted);
  font-size:var(--text-md); line-height:1.45;
}
.share-team-public-note i{ flex-shrink:0; line-height:1.45; }
.share-team-members{ max-height:320px; overflow-y:auto; overscroll-behavior:contain; }
.share-team-member-seg{ flex-shrink:0; }
#shareModalModal .share-permission-field{ display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; width:100%; box-sizing:border-box; }
#shareModalModal .share-permission-field > span:first-child{ font-size:var(--text-md); color:var(--ui-muted); flex:1; min-width:0; }
#shareModalModal .share-permission-field > .mini-segment{ flex:0 0 auto; }

#confirmDialogOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal-menu);
  align-items:center; justify-content:center;
}
#confirmDialogOverlay.open{ display:flex; }
#confirmDialogOverlay.closing #confirmDialogModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#confirmDialogModal{
  width:320px; padding:48px 24px 24px; box-sizing:border-box; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; align-items:center; text-align:center;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
#confirmDialogIcon{ width:156px; height:156px; }
#confirmDialogTextWrap{ padding-top:10px; padding-bottom:24px; width:100%; }
#confirmDialogTitle{ font-size:var(--text-xl); font-weight:var(--font-weight-bold); color:var(--ui-text); }
#confirmDialogDesc{ margin-top:4px; font-size:var(--text-base); font-weight:var(--font-weight-light); color:var(--md-neutral-foreground-3-rest); line-height:1.5; white-space:pre-line; }
#confirmDialogActions{ display:flex; flex-direction:column; gap:8px; width:100%; }
#confirmDialogActions .btn{ width:100%; justify-content:center; box-sizing:border-box; }
.confirm-dialog-cancel{ border:none; background:none; }
.confirm-dialog-cancel:hover{ background:var(--ui-surface-2); }
#avatarModalOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center;
}
#avatarModalOverlay.open{ display:flex; }
#avatarModalOverlay.closing #avatarModalModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#avatarModalModal{
  width:420px; max-width:90vw; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.avatar-modal-desc{ padding:0 20px; margin-top:-10px; font-size:var(--text-md); color:var(--ui-muted); }
#avatarModalModal .tpl-lib-grid-wrap{ overflow:visible; display:flex; flex-direction:column; align-items:center; gap:16px; }
.avatar-modal-dropzone{ width:100%; height:220px; box-sizing:border-box; }
.avatar-modal-preview{
  position:relative; width:200px; height:200px; border-radius:50%; overflow:hidden; flex-shrink:0;
  border:1px solid var(--ui-border); background:var(--md-neutral-background-2-rest);
  cursor:move; user-select:none;
}
.avatar-modal-preview img{
  width:100%; height:100%; object-fit:contain; display:block; pointer-events:none;
  transform:translate(var(--avatar-pan-x,0px), var(--avatar-pan-y,0px)) scale(var(--avatar-scale,1));
  transform-origin:center center;
}
.avatar-modal-static{
  width:200px; height:200px; border-radius:50%; object-fit:cover; flex-shrink:0;
  border:1px solid var(--ui-border);
}
.avatar-modal-slider{ width:100%; box-sizing:border-box; display:flex; flex-direction:column; gap:6px; }
.avatar-modal-slider span{ font-size:var(--text-md); font-weight:var(--font-weight-semibold); color:var(--md-neutral-foreground-3-rest); }
.avatar-modal-slider input[type="range"]{ accent-color:var(--ui-accent); width:100%; }
.avatar-modal-footer{ gap:8px; }
.avatar-modal-footer.hidden{ display:none; }
.avatar-modal-seg{ margin-bottom:4px; }
#avatarModalModal{ transition:height .3s cubic-bezier(.2,.8,.2,1); }
#avatarModalBody{ overflow:hidden; }
.avatar-modal-pane{ display:flex; flex-direction:column; align-items:center; gap:16px; width:100%; animation:avatar-pane-in .26s ease; }
@keyframes avatar-pane-in{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; transform:none; } }
.avatar-modal-actions{ display:flex; gap:8px; width:100%; }
.avatar-modal-actions .btn{ flex:1; justify-content:center; }
#personalInfoModalOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center;
}
#personalInfoModalOverlay.open{ display:flex; }
#personalInfoModalOverlay.closing #personalInfoModalModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#personalInfoModalModal{
  width:460px; max-width:90vw; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
#personalInfoModalModal .tpl-lib-grid-wrap{ overflow:visible; display:flex; flex-direction:column; gap:14px; }
.personal-info-section-title{ font-family:var(--font-regular); font-size:var(--text-md); color:var(--ui-text); margin-bottom:6px; }
.personal-info-section-title:not(:first-child){ border-top:1px solid var(--ui-border); padding-top:20px; margin-top:6px; }
.personal-info-row{ display:flex; gap:20px; align-items:flex-start; }
.profile-seg{ display:flex; gap:2px; padding:3px; border-radius:8px; background:var(--md-neutral-background-2-rest); width:100%; box-sizing:border-box; }
.profile-seg button{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:6px 10px; border:none; border-radius:5px;
  background:transparent; color:var(--ui-muted); font-family:var(--font-sans); font-size:var(--text-md); cursor:pointer; transition:color .15s, background .15s;
}
.profile-seg button:hover{ color:var(--md-neutral-foreground-1-rest); }
.profile-seg button.active{ background:var(--md-neutral-background-1-rest); color:var(--md-neutral-foreground-1-rest); font-family:var(--font-regular); box-shadow:0 2px 2px rgba(var(--shadow-rgb), 0.16); }
.personal-info-fields .prop-field > .profile-seg{ margin-top:2px; }
.personal-info-avatar-wrap{ position:relative; width:72px; height:72px; flex-shrink:0; border-radius:50%; }
.personal-info-avatar-wrap img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
.personal-info-avatar-wrap img.hidden{ display:none; }
.personal-info-avatar-wrap span{
  width:100%; height:100%; border-radius:50%; background:var(--ui-accent); color:var(--md-color-grey-white);
  font-family:var(--font-sans); font-size:var(--text-5xl); font-weight:var(--font-weight-semibold);
  display:flex; align-items:center; justify-content:center;
}
.personal-info-avatar-wrap span.hidden{ display:none; }
.personal-info-edit-btn{
  position:absolute; top:-4px; right:-4px; width:24px; height:24px; border-radius:50%;
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); color:var(--ui-text); font-size:var(--text-xs);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  opacity:0; transition:opacity .15s;
}
.personal-info-avatar-wrap:hover .personal-info-edit-btn{ opacity:1; }
.personal-info-fields{ flex:1; min-width:0; display:flex; flex-direction:column; gap:14px; }
#addComponentBlockedOverlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal-menu);
  align-items:center; justify-content:center;
}
#addComponentBlockedOverlay.open{ display:flex; }
#addComponentBlockedOverlay.closing #addComponentBlockedModal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
#addComponentBlockedModal{
  width:320px; padding:48px 24px 24px; box-sizing:border-box; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; align-items:center; text-align:center;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
#addComponentBlockedModal img{ width:156px; height:156px; }
#addComponentBlockedTextWrap{ padding-top:10px; padding-bottom:20px; width:100%; }
#addComponentBlockedTitle{ font-size:var(--text-xl); font-weight:var(--font-weight-bold); color:var(--ui-text); }
#addComponentBlockedDesc{ margin-top:4px; font-size:var(--text-base); font-weight:var(--font-weight-light); color:var(--md-neutral-foreground-3-rest); line-height:1.5; }
#addComponentBlockedCheckboxRow{ justify-content:center; padding-bottom:20px; }
#addComponentBlockedConfirmBtn{ width:100%; justify-content:center; box-sizing:border-box; }
.tpl-lib-grid-wrap .empty-hint{ font-size:var(--text-base); color:var(--md-neutral-foreground-3-rest); }
.image-lib-empty{
  grid-column:1 / -1; display:flex; flex-direction:column; align-items:center; gap:12px;
  padding:40px 16px; color:var(--md-neutral-foreground-3-rest); font-size:var(--text-base); text-align:center;
}
.image-lib-empty img{ width:96px; height:96px; }
#imgLibGridWrap.image-lib-empty-state #imgLibGrid{ display:flex; align-items:center; justify-content:center; height:100%; }

.slide-empty-bar{
  position:absolute; left:var(--grid-system-slide-grid-margin-horizontal);
  right:var(--grid-system-slide-grid-margin-horizontal); bottom:8px;
  z-index:2; pointer-events:none;
  display:flex; flex-direction:column; align-items:flex-start; gap:18px;
}
.slide-empty-bar .slide-quickpick-row{ width:100%; }
.slide-empty-bar .slide-quickpick-card{ flex:1 1 0; min-width:0; max-width:150px; }
.slide-empty-bar .slide-quickpick-caption{ max-width:100%; }
.slide-empty-bar button, .slide-empty-bar .slide-quickpick-card{ pointer-events:auto; }
body.palette-dragging .slide-empty-bar,
body.palette-dragging .slide-empty-toppick,
body.palette-dragging .slide-empty-bar button,
body.palette-dragging .slide-empty-bar .slide-quickpick-card,
body.palette-dragging .slide-empty-toppick .slide-quickpick-card{ pointer-events:none; }
.slide-empty-toppick{
  position:absolute; left:var(--grid-system-slide-grid-margin-horizontal);
  right:var(--grid-system-slide-grid-margin-horizontal); z-index:2;
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;
}
.slide-empty-toppick-heading{ font-size:var(--text-2xl); color:var(--ui-muted); margin:0; font-family:var(--font-sans); }
.slide-quickpick-row{ display:flex; gap:12px; }
.slide-quickpick-card{
  position:relative;
  width:150px; display:flex; flex-direction:column; align-items:center; gap:6px;
  cursor:pointer; font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text);
}
.slide-quickpick-caption{
  width:100%; font-size:var(--text-sm); line-height:1.2; text-align:center;
  color:var(--ui-muted);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  pointer-events:none;
}
.slide-quickpick-thumb{
  width:100%; aspect-ratio:16/9; border:1px solid var(--ui-border); border-radius:12px;
  overflow:hidden; background:var(--frame-bg); position:relative;
  transition:border-color .15s, box-shadow .15s;
}
.slide-quickpick-card:hover .slide-quickpick-thumb{ border-color:var(--ui-accent); box-shadow:0 4px 12px rgba(var(--shadow-rgb),0.14); }
.slide-quickpick-icon-box{
  position:relative; width:100%; aspect-ratio:1/1; border-radius:10px; background:none;
  border:1.5px dashed var(--md-neutral-stroke-1-rest);
  display:flex; align-items:center; justify-content:center; font-size:var(--text-6xl); color:var(--ui-muted);
  transition:background .15s, border-color .15s, border-style .15s;
}
.slide-quickpick-icon-box .icon-hover{ display:none; }
.slide-quickpick-card:hover .slide-quickpick-icon-box{ background:var(--md-neutral-background-2-rest); border-style:solid; }
.slide-quickpick-card:hover .slide-quickpick-icon-box .icon-rest{ display:none; }
.slide-quickpick-card:hover .slide-quickpick-icon-box .icon-hover{ display:block; }
.slide-quickpick-icon-box i{ transition:transform .18s cubic-bezier(.4,0,.2,1); }
.slide-quickpick-card:hover .slide-quickpick-icon-box i{ transform:translateY(-12%); }
.slide-quickpick-name{
  position:absolute; left:8px; right:8px; bottom:16%;
  font-size:var(--text-sm); line-height:1.2; text-align:center; color:var(--ui-muted);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  opacity:0; transform:translateY(6px); pointer-events:none;
  transition:opacity .18s ease, transform .18s cubic-bezier(.4,0,.2,1);
}
.slide-quickpick-card:hover .slide-quickpick-name{ opacity:1; transform:none; }
.slide-quickpick-card.active .slide-quickpick-thumb{ background:var(--ui-surface-2); box-shadow:0 0 0 2px var(--ui-accent); }
.slide-empty-bar-btn{
  display:flex; align-items:center; gap:8px;
  font-family:var(--font-sans); font-size:var(--text-lg); color:var(--ui-accent);
  background:transparent; border:none; border-radius:10px;
  padding:12px 20px; cursor:pointer;
}
.slide-empty-bar-btn:hover{ background:var(--ui-surface-2); }

#rowModesList{ display:flex; flex-direction:column; gap:10px; }
.row-mode-row{ display:flex; align-items:center; justify-content:space-between; font-size:var(--text-base); font-family:"lexend Regular"; color:var(--ui-text); }

.deck-history{ text-align:left; display:flex; flex-direction:column; gap:8px; margin-top:6px; }
.deck-history-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:var(--text-md); }
.deck-history-row-block{ flex-direction:column; align-items:stretch; gap:6px; }
.deck-history-label{ color:var(--ui-muted); flex-shrink:0; }
.deck-history-value{ color:var(--ui-text); display:flex; align-items:center; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.deck-history-person{ display:inline-flex; align-items:center; gap:6px; color:var(--ui-text); }
.deck-history-avatar{ width:22px; height:22px; font-size:var(--text-xs); margin:0; }
.deck-history-editors{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; max-height:200px; overflow-y:auto; }
.deck-history-editors li{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.deck-history-muted{ color:var(--ui-muted); font-size:var(--text-sm); }

.recap-overlay{
  display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal);
  align-items:center; justify-content:center; padding:24px;
}
.recap-overlay.open{ display:flex; }
.recap-modal{
  width:520px; max-width:100%; max-height:86vh; background:var(--md-color-grey-white);
  border-radius:16px; box-shadow:var(--shadow-modal); display:flex; flex-direction:column;
  overflow:hidden; animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.recap-body{ padding:0 20px 20px; display:flex; flex-direction:column; gap:16px; }
.recap-thumb{
  width:100%; aspect-ratio:16/9; border:1px solid var(--ui-border); border-radius:10px;
  overflow:hidden; background:var(--frame-bg); position:relative; flex-shrink:0;
}
.recap-thumb[hidden]{ display:none; }
.recap-thumb-img{ width:100%; height:100%; object-fit:cover; display:block; }
.recap-thumb-contain{ object-fit:contain; background:var(--ui-surface-2); }
.recap-description{ flex-shrink:0; }
.recap-thumb-actions{ display:flex; justify-content:flex-end; margin-top:-8px; }
.recap-thumb-actions[hidden]{ display:none; }
.recap-section{ display:flex; flex-direction:column; gap:6px; }
.recap-section + .recap-section{ margin-top:24px; padding-top:24px; border-top:1px solid var(--ui-border); }
.recap-section-title{
  font-family:var(--font-display); font-size:var(--text-md); color:var(--ui-muted);
  text-transform:uppercase; letter-spacing:.04em;
}
.recap-row-input, .recap-row-textarea{
  width:100%; box-sizing:border-box; border:1px solid var(--ui-border); border-radius:8px;
  background:var(--md-color-grey-white);
  font-family:inherit; font-size:var(--text-base); color:var(--ui-text);
}
.recap-row-input{ height:42px; padding:0 12px; }
.recap-row-textarea{ resize:vertical; min-height:72px; line-height:1.4; padding:10px 12px; }
.recap-row-input:focus, .recap-row-textarea:focus{ outline:none; border-color:var(--ui-accent); }
.recap-overlay .deck-history-row[hidden]{ display:none; }

.recap-meta-grid{ display:flex; flex-direction:row; flex-wrap:wrap; gap:14px 12px; }
.recap-meta-grid > *{ flex:1 1 100%; min-width:0; }
.recap-meta-grid > .recap-prop-half{ flex:1 1 calc(50% - 6px); }
.recap-prop-field > .recap-field-host > .icon-select{ width:100%; }
.recap-prop-field .team-select-trigger{ height:42px; padding:0 12px; box-sizing:border-box; }
.recap-prop-field .icon-select-caret{ margin-left:auto; }
.recap-kw-box{ padding:11px 8px 5px; }
.recap-share-row > .recap-field-host{ display:flex; align-items:center; gap:12px; width:100%; }
.recap-share-avatars{ display:flex; align-items:center; flex:1; min-width:0; }
.recap-share-avatars .share-modal-member-avatar{ box-shadow:0 0 0 2px var(--md-color-grey-white); }
.recap-share-avatars .share-modal-member-avatar + .share-modal-member-avatar{ margin-left:-8px; }
.recap-share-more{ background:var(--md-neutral-background-2-rest); color:var(--ui-muted); font-size:var(--text-sm); }
.recap-share-row .deck-history-muted{ flex:1; }
.recap-share-row .btn{ flex-shrink:0; margin-left:auto; }

.avatar-modal-link-field{ margin-top:14px; }
.avatar-modal-color{ width:100%; display:flex; flex-direction:column; gap:10px; }
.avatar-modal-color-title{ font-size:var(--text-md); color:var(--ui-text); }
.avatar-modal-color-row{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:10px; }
.avatar-color-option{
  width:100%; aspect-ratio:1; height:auto; border-radius:50%; border:2px solid transparent; cursor:pointer;
  color:#fff; font-family:var(--font-display); font-size:var(--text-xl);
  display:flex; align-items:center; justify-content:center;
}
.avatar-color-option:hover, .avatar-emoji-option:hover{ transform:scale(1.06); }
.avatar-color-option.active{ border-color:var(--ui-text); box-shadow:0 0 0 2px var(--md-color-grey-white) inset; }
.avatar-modal-emoji-grid{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:10px; margin-bottom:6px; }
.avatar-emoji-option{
  width:100%; aspect-ratio:1; height:auto; padding:0; border-radius:50%; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; background:var(--md-neutral-background-2-rest);
}
.avatar-emoji-option.is-none{ color:var(--ui-muted); font-size:var(--text-xl); }
.avatar-emoji-option.is-none.active{ color:#fff; }
.avatar-emoji-option img{ width:100%; height:100%; object-fit:contain; pointer-events:none; transform:scale(1.28); }
.image-card-edit-link-hint.is-bad{ color:var(--md-color-pink-500); }

.recap-prop-field{ position:relative; display:block; }
.recap-prop-field > span:first-child{
  position:absolute; left:9px; top:0; font-size:var(--text-xs); line-height:1; transform:translateY(-50%);
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px; z-index:1; pointer-events:none;
}
.recap-prop-field > .recap-field-host{ display:block; }
.recap-prop-field .recap-row-input{ width:100%; box-sizing:border-box; }

#deckTemplatePreviewModal{ width:720px; }
#deckTemplatePreviewBody{ padding:0 20px 20px; }
.dtpl-preview-empty{ padding:24px 0; text-align:center; color:var(--ui-muted); font-size:var(--text-base); }

.dtpl-carousel{
  position:relative; --dtpl-slide:74%; --dtpl-peek:13%; --dtpl-bleed:20px;
  margin-left:calc(-1 * var(--dtpl-bleed)); margin-right:calc(-1 * var(--dtpl-bleed));
}
.dtpl-carousel-track{
  display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; padding:2px var(--dtpl-bleed);
}
.dtpl-carousel-track::-webkit-scrollbar{ display:none; }
.dtpl-carousel-slide{ flex:0 0 var(--dtpl-slide); scroll-snap-align:center; display:flex; flex-direction:column; gap:6px; }
.dtpl-carousel-slide:first-child{ scroll-snap-align:start; scroll-margin-left:var(--dtpl-bleed); }
.dtpl-carousel-slide:last-child{ scroll-snap-align:end; scroll-margin-right:var(--dtpl-bleed); }
.dtpl-carousel-slide .layout-thumb-frame{
  width:100%; aspect-ratio:16 / 9; border:1px solid var(--ui-border); border-radius:10px;
  overflow:hidden; background:var(--md-neutral-background-2-rest); position:relative;
}
.dtpl-carousel-num{ font-family:var(--font-sans); font-size:var(--text-sm); color:var(--ui-muted); }
.dtpl-carousel-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:36px; height:36px; border-radius:50%; border:1px solid var(--ui-border);
  background:var(--md-color-grey-white); color:var(--ui-text); cursor:pointer;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-menu);
}
.dtpl-carousel-nav:hover:not(:disabled){ background:var(--ui-surface-2); }
.dtpl-carousel-nav:disabled{ opacity:0; pointer-events:none; }
.dtpl-carousel-prev{ left:6px; }
.dtpl-carousel-next{ right:6px; }
.dtpl-carousel::before, .dtpl-carousel::after{
  content:''; position:absolute; top:0; bottom:0;
  width:calc(var(--dtpl-peek) + var(--dtpl-bleed) + 24px);
  pointer-events:none; z-index:1; opacity:1; transition:opacity .28s ease;
}
.dtpl-carousel::before{ left:0; background:linear-gradient(to right, var(--md-color-grey-white) 35%, rgba(255,255,255,0.72) 70%, rgba(255,255,255,0) 100%); }
.dtpl-carousel::after{ right:0; background:linear-gradient(to left, var(--md-color-grey-white) 35%, rgba(255,255,255,0.72) 70%, rgba(255,255,255,0) 100%); }
.dtpl-carousel.at-start::before, .dtpl-carousel.at-end::after{ opacity:0; }
html[data-ui-theme="dark"] .dtpl-carousel::before{ background:linear-gradient(to right, var(--md-color-grey-white) 35%, rgba(26,31,39,0.72) 70%, rgba(26,31,39,0) 100%); }
html[data-ui-theme="dark"] .dtpl-carousel::after{ background:linear-gradient(to left, var(--md-color-grey-white) 35%, rgba(26,31,39,0.72) 70%, rgba(26,31,39,0) 100%); }
/*! /css/toolbar-comments.css */
#selectionToolbar{
  position:fixed; z-index:var(--z-toolbar); display:none; align-items:center;
  background:var(--md-color-grey-white); border-radius:10px; padding:4px;
  box-shadow:var(--shadow-popover);
  gap:2px;
}
#selectionToolbar.open{ display:flex; }
#selectionToolbar button, .plan-edit-sel-toolbar button{
  height:32px; min-width:32px; padding:0 8px; border:none; border-radius:6px; background:transparent;
  color:var(--ui-muted); font-size:var(--text-lg); cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:6px;
}
#selectionToolbar button:not(.sel-btn-labeled){ width:32px; padding:0; }
#selectionToolbar button.sel-btn-labeled{ font-family:var(--font-sans); font-size:var(--text-md); font-weight:var(--font-weight-medium); }
#selectionToolbar button:hover, .plan-edit-sel-toolbar button:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
#selectionToolbar button.active{ background:var(--ui-surface-2); color:var(--ui-accent); }
#selectionToolbar .sel-sep{ width:1px; align-self:stretch; margin:4px 2px; background:var(--ui-border); }
#selectionToolbar.title-field #selBoldBtn, #selectionToolbar.title-field .sel-color-wrap, #selectionToolbar.title-field #selSepAi,
#selectionToolbar.title-field #selBulletListBtn, #selectionToolbar.title-field #selNumberListBtn, #selectionToolbar.title-field #selSepList,
#selectionToolbar.centered-field #selBulletListBtn, #selectionToolbar.centered-field #selNumberListBtn, #selectionToolbar.centered-field #selSepList{ display:none; }
#selectionToolbar.selection-toolbar-minimal > *:not(#selAiRewriteBtn){ display:none; }
#selectionToolbar.selection-toolbar-readonly > *:not(#selCommentBtn){ display:none; }
#selectionToolbar.selection-toolbar-cell #selCommentBtn,
#selectionToolbar.selection-toolbar-cell #selCommentBtn + .sel-sep,
#selectionToolbar.selection-toolbar-cell #selLinkBtn + .sel-sep{ display:none; }

.sel-color-wrap{ position:relative; display:flex; }
#selectionToolbar #selAiColorBtn{ width:auto; padding:0 6px; gap:3px; }
.sel-color-caret{ font-size:var(--text-xs); }
#selAiColorBtn.menu-open{ background:var(--ui-surface-2); color:var(--ui-text); }
.sel-color-menu{
  display:none; position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%);
  z-index:1; gap:4px; padding:6px; border-radius:10px;
  background:var(--md-color-grey-white); box-shadow:var(--shadow-popover);
}
.sel-color-menu.open{ display:flex; }
#selectionToolbar .sel-color-menu button{
  width:28px; min-width:0; height:28px; padding:0; border-radius:50%;
}
#selectionToolbar .sel-color-menu button.is-active{ box-shadow:inset 0 0 0 2px var(--ui-accent); }
.sel-color-dot{ width:16px; height:16px; border-radius:50%; flex-shrink:0; }
.sel-color-dot-gradient{ background:var(--ui-ai-gradient); }
.sel-color-dot-accent{ background:var(--sel-slide-accent, var(--md-brand-foreground-1-rest)); }

.accent-text{ color:var(--md-brand-foreground-1-rest); }
[data-style="accent"] .accent-text{ color:var(--md-color-grey-white); }
.cover-slide-bg .accent-text{ color:var(--hero-fg); }

.presenter-notes-sel-btn{
  position:fixed; z-index:var(--z-toolbar); background:var(--ui-surface); box-shadow:var(--shadow-popover);
  color:var(--ui-accent); font-size:var(--text-md); font-weight:var(--font-weight-medium);
}

#aiRewritePopover{
  position:fixed; z-index:var(--z-toolbar-popover); display:none; flex-direction:column; gap:8px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; padding:10px; width:280px;
  box-shadow:var(--shadow-popover);
}
#aiRewritePopover.open{ display:flex; }
.ai-rewrite-options{ display:flex; flex-direction:column; gap:2px; }
.ai-rewrite-option{
  text-align:left; border:none; background:transparent; padding:7px 8px; border-radius:6px;
  font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text); cursor:pointer;
}
.ai-rewrite-option:hover{ background:var(--ui-surface-2); }

#aiRewriteReviewToolbar, #omegaCommentReviewToolbar{
  position:fixed; z-index:var(--z-toolbar); display:none; align-items:center; gap:2px;
  background:var(--md-color-grey-white); border-radius:10px; padding:4px; box-shadow:var(--shadow-popover);
}
#aiRewriteReviewToolbar.open, #omegaCommentReviewToolbar.open{ display:flex; }
#omegaReviewBackdrop{ display:none; position:fixed; inset:0; z-index:var(--z-review); background:transparent; overflow:hidden; }
#omegaReviewBackdrop.open{ display:block; }
.omega-review-spot{
  position:absolute; border-radius:8px; pointer-events:none;
  box-shadow:0 0 0 9999px rgba(20,24,32,0.35);
  transition:left .15s ease, top .15s ease, width .15s ease, height .15s ease;
}
body.omega-review-open #omegaCommentReviewToolbar.open{ z-index:var(--z-review-toolbar); }
#omegaCommentReviewToolbar.ai-review-toolbar-enter{ animation:aiReviewToolbarEnter .22s ease; }
@keyframes aiReviewToolbarEnter{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:translateY(0); } }
#aiRewriteReviewToolbar.ai-review-toolbar-enter{ animation:aiReviewToolbarEnter .22s ease; }
#aiRewriteReviewToolbar button, #componentAiReviewToolbar button, #planAiReviewToolbar button,
#omegaCommentReviewToolbar button, .discovery-merge-review-bar button{
  height:28px; padding:0 10px; border:none; border-radius:6px; background:transparent; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-md);
}
#aiRewriteIgnoreBtn, #omegaReviewIgnoreBtn{ color:var(--ui-muted); }
#aiRewriteIgnoreBtn:hover, #omegaReviewIgnoreBtn:hover{ background:var(--ui-surface-2); }
#aiRewriteAcceptBtn, #omegaReviewAcceptBtn{ color:var(--ui-accent); font-weight:var(--font-weight-semibold); }
#aiRewriteAcceptBtn:hover, #omegaReviewAcceptBtn:hover{ background:var(--ui-surface-2); }

.ai-rewrite-preview-old{ color:var(--md-neutral-foreground-3-rest); }
.ai-rewrite-skeleton-overlay{ position:fixed; inset:0; pointer-events:none; z-index:var(--z-skeleton); }
.ai-rewrite-skeleton-bar{
  position:absolute; border-radius:4px;
  background:var(--ui-muted); animation:ai-rewrite-pulse 1.1s ease-in-out infinite;
}
@keyframes ai-rewrite-pulse{ 0%,100%{ opacity:0.3; } 50%{ opacity:0.75; } }
.ai-text-greying{ color:var(--ui-muted); animation:ai-rewrite-pulse 1.1s ease-in-out infinite; }
[data-style="accent"] .ai-rewrite-preview-old{ color:rgba(255,255,255,0.7); }
.ai-rewrite-final-blue{ color:var(--ui-accent); background:rgba(0,64,222,0.10); border-radius:4px; transition:color .3s ease, background .3s ease; }
[data-style="accent"] .ai-rewrite-final-blue{ color:var(--md-color-grey-white); background:rgba(255,255,255,0.35); }
[data-style="accent"] .ai-gradient-text{
  background:none; -webkit-text-fill-color:var(--md-color-grey-white); color:var(--md-color-grey-white);
}

.ai-card-greying{ background:var(--md-color-grey-white) !important; animation:ai-rewrite-pulse 1.1s ease-in-out infinite; }
.ai-card-greying *:not(.card-grip-handle):not(.card-grip-handle *):not(.card-resize-handle):not(.card-resize-handle *):not(.card-gear-btn):not(.card-lock-btn){
  color:var(--ui-muted) !important; fill:var(--ui-muted) !important; border-color:var(--ui-muted) !important;
  background-color:transparent !important; background-image:none !important;
}
@keyframes ai-card-skeleton-shimmer{ 0%{ background-position:0% 0; } 100%{ background-position:100% 0; } }
.slide-thumb.ai-thumb-skeleton{
  background:linear-gradient(90deg, #F2F5F9 0%, #D3D9E2 50%, #F2F5F9 100%);
  background-size:300% 100%; animation:ai-card-skeleton-shimmer 1.6s ease-in-out infinite alternate;
  cursor:default;
}
html[data-ui-theme="dark"] .slide-thumb.ai-thumb-skeleton{
  background:linear-gradient(90deg, #2A313D 0%, #3A4250 50%, #2A313D 100%);
  background-size:300% 100%;
}
.slide-thumb.ai-thumb-skeleton > *{ visibility:hidden; }
#componentAiReviewToolbar, #recomposeReviewBar{
  position:fixed; z-index:var(--z-toolbar); display:none; align-items:center; gap:2px;
  background:var(--md-color-grey-white); border-radius:10px; padding:4px; box-shadow:var(--shadow-popover);
}
#componentAiReviewToolbar.open, #recomposeReviewBar.open{ display:flex; }
#recomposeReviewBar button{ border:none; background:transparent; border-radius:8px; padding:6px 10px; font-family:var(--font-sans); font-size:var(--text-md); cursor:pointer; }
#recomposeReviewLabel{ padding:0 10px 0 8px; font-size:var(--text-sm); color:var(--ui-muted); white-space:nowrap; }
#recomposeIgnoreBtn{ color:var(--ui-muted); }
#recomposeIgnoreBtn:hover{ background:var(--ui-surface-2); }
#recomposeAcceptBtn{ color:var(--ui-accent); font-weight:var(--font-weight-semibold); }
#recomposeAcceptBtn:hover{ background:var(--ui-surface-2); }
body.recompose-review .topbar,
body.recompose-review .icon-rail,
body.recompose-review .rail-panel,
body.recompose-review #sidebarLeft,
body.recompose-review .app-nav,
body.recompose-review #selectionToolbar{
  pointer-events:none; opacity:.5; transition:opacity .15s;
}
body.recompose-review #framesContainer > .frame{ pointer-events:none; }
body.recompose-review #recomposeReviewBar{ pointer-events:auto; opacity:1; }
body.recompose-review #framesContainer > .frame:not(.active){ opacity:.45; }
#componentAiIgnoreBtn{ color:var(--ui-muted); }
#componentAiIgnoreBtn:hover{ background:var(--ui-surface-2); }
#componentAiAcceptBtn{ color:var(--ui-accent); font-weight:var(--font-weight-semibold); }
#componentAiAcceptBtn:hover{ background:var(--ui-surface-2); }

.plan-edit-sel-toolbar{
  position:fixed; z-index:var(--z-toolbar); display:none; align-items:center;
  background:var(--md-color-grey-white); border-radius:10px; padding:4px; gap:2px;
  box-shadow:var(--shadow-popover);
}
.plan-edit-sel-toolbar.open{ display:flex; }
#planEditAskSelBtn{ font-family:var(--font-sans); font-size:var(--text-md); font-weight:var(--font-weight-medium); width:auto; white-space:nowrap; }

#planAiReviewToolbar{
  position:fixed; z-index:var(--z-toolbar); display:none; align-items:center; gap:2px;
  background:var(--md-color-grey-white); border-radius:10px; padding:4px; box-shadow:var(--shadow-popover);
}
#planAiReviewToolbar.open{ display:flex; }
#planAiIgnoreBtn{ color:var(--ui-muted); }
#planAiIgnoreBtn:hover{ background:var(--ui-surface-2); }
#planAiAcceptBtn{ color:var(--ui-accent); font-weight:var(--font-weight-semibold); }
#planAiAcceptBtn:hover{ background:var(--ui-surface-2); }

#commentsResolveBar{
  position:fixed; z-index:var(--z-toolbar); display:flex; align-items:center; gap:2px;
  background:var(--md-color-grey-white); border-radius:10px; padding:4px 6px; border:2px solid transparent;
  box-shadow:var(--shadow-popover);
  opacity:0; visibility:hidden; transform:translateY(14px);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
#commentsResolveBar.open{ opacity:1; visibility:visible; transform:translateY(0); transition:opacity .22s ease, transform .22s ease; }
@keyframes cr-bar-pulse-border{
  0%, 100%{ border-color:transparent; box-shadow:var(--shadow-popover); }
  50%{ border-color:rgba(0,64,222,0.35); box-shadow:var(--shadow-popover), 0 0 0 3px rgba(0,64,222,0.12); }
}
#commentsResolveBar.cr-bar-attention{ animation:cr-bar-pulse-border .9s ease-in-out 1; }
.cr-bar-group{ display:flex; align-items:center; gap:2px; }
#commentsResolveBar button{
  height:28px; min-width:28px; padding:0 8px; border:none; border-radius:6px; background:transparent;
  color:var(--ui-muted); font-size:var(--text-base); cursor:pointer; display:flex; align-items:center; justify-content:center;
}
#commentsResolveBar button:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
#crBarCount{ font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-muted); padding:0 4px; white-space:nowrap; }
#crBarAcceptBtn{ color:var(--ui-accent); }
#commentsResolveBar button:disabled{ opacity:.35; cursor:not-allowed; }
#commentsResolveBar button:disabled:hover{ background:transparent; color:var(--ui-muted); }
.cr-bar-sep{ width:1px; align-self:stretch; margin:4px 2px; background:var(--ui-border); }
.cr-field-highlight{ outline:2px solid var(--ui-accent); outline-offset:2px; border-radius:2px; }
.link-popover{
  position:fixed; z-index:var(--z-toolbar-popover); display:none; flex-direction:column; gap:10px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; padding:12px; width:300px;
  box-shadow:var(--shadow-popover);
}
.link-popover.open{ display:flex; }
.link-popover-actions{ display:flex; justify-content:flex-end; }
.link-popover-actions-split{ justify-content:space-between; }
.link-popover input.invalid{ border-color:var(--ui-danger); }
.link-input-error{ display:none; margin-top:-6px; font-size:var(--text-sm); color:var(--ui-danger); }
.link-input-error.show{ display:block; }
.link-hover-preview{ flex-direction:row; align-items:center; gap:8px; width:auto; max-width:320px; padding:8px 10px; }
.link-hover-preview i.fa-globe{ color:var(--ui-muted); flex-shrink:0; font-size:var(--text-base); }
.link-hover-name{ font-size:var(--text-md); color:var(--ui-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:160px; }
.link-ghost-btn{ padding:5px 8px; gap:4px; flex-shrink:0; }
[data-field] a[data-field-link]{ text-decoration:underline; color:inherit; cursor:text; }
#framesContainer [contenteditable] b, #framesContainer [contenteditable] strong{ font-weight:700; }
.ai-gradient-text{
  background:var(--ui-ai-gradient);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  caret-color:var(--ui-text);
}
.ai-gradient-text-animated{
  background-size:250% 100%; animation:ai-gradient-shift 1.6s linear infinite;
}
@keyframes ai-gradient-shift{
  0%{ background-position:0% 50%; }
  100%{ background-position:100% 50%; }
}
.ai-gradient-text .ai-word{
  background:var(--ui-ai-gradient);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  background-size:calc(var(--ai-span, 100%) * 2.5) 100%;
  background-position:calc(-1 * var(--ai-x, 0px)) 50%;
}
.ai-gradient-text-animated .ai-word{
  animation:aiWordIn .35s ease forwards, ai-word-gradient-shift 1.6s linear infinite;
  animation-delay:0s, var(--ai-phase, 0s);
}
@keyframes ai-word-gradient-shift{
  0%{ background-position:calc(-1 * var(--ai-x, 0px)) 50%; }
  100%{ background-position:calc(-1 * var(--ai-x, 0px) - var(--ai-span, 100%) * 1.5) 50%; }
}

#commentsPanel{ display:flex; flex-direction:column; flex:1; min-height:0; gap:10px; }
#commentsPanel.hidden{ display:none; }
.comments-list{ flex:1; min-height:0; overflow-y:auto; padding:2px 0 8px; display:flex; flex-direction:column; gap:14px; }
.comment-entry{ border:1px solid var(--ui-border); border-radius:8px; padding:10px; font-size:var(--text-md); }
.comment-entry .ctx{ color:var(--ui-muted); font-size:var(--text-sm); margin-bottom:2px; }
.comment-entry .ctx-quote{ color:var(--ui-muted); font-size:var(--text-sm); margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.comment-entry .ctx-deleted-tag{
  display:inline-flex; align-items:center; gap:5px; margin-bottom:4px; padding:2px 8px;
  border-radius:20px; background:var(--md-neutral-background-2-rest); color:var(--ui-muted);
  font-size:var(--text-sm);
}
.comment-entry .ctx-deleted-tag i{ font-size:var(--text-xs); }
.comment-entry .note{ color:var(--ui-text); }
.comment-entry .note.note-clamp{ display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.comment-entry:not(.comment-entry-focused){ cursor:pointer; }
.comment-replies-summary{ display:flex; align-items:center; gap:8px; margin-top:8px; }
.comment-avatar-stack{ display:flex; align-items:center; }
.comment-avatar-stack .comment-avatar{
  width:20px; height:20px; font-size:var(--text-xs); margin-left:-7px;
  box-shadow:0 0 0 2px var(--ui-surface);
}
.comment-avatar-stack .comment-avatar:first-child{ margin-left:0; }
.comment-avatar-more{
  background:var(--md-neutral-background-2-rest); color:var(--ui-muted); font-family:var(--font-sans);
  font-size:var(--text-xs); font-weight:var(--font-weight-semibold);
}
.comment-replies-count{ font-size:var(--text-xs); color:var(--ui-muted); }
.comment-entry .entry-actions{ display:flex; justify-content:flex-end; margin-top:6px; }
.comment-avatar{
  width:32px; height:32px; border-radius:50%; flex-shrink:0; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.comment-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.comment-avatar-initial{
  background:var(--ui-accent); color:var(--md-color-grey-white); font-family:var(--font-sans);
  font-size:var(--text-base); font-weight:var(--font-weight-semibold);
}
.comment-avatar-omega{ object-fit:contain; }
.comment-reply-pending .comment-avatar-omega{ animation:omega-avatar-pulse 1.3s ease-in-out infinite; }
@keyframes omega-avatar-pulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(0.85); opacity:0.5; } }
.omega-reply-progress{ color:var(--ui-muted); animation:ai-rewrite-pulse 1.1s ease-in-out infinite; }
.comment-entry-header{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.comment-entry-header-text{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.comment-date{ font-size:var(--text-xs); color:var(--ui-muted); }
.comments-footer{ padding:12px 0 4px; border-top:1px solid var(--ui-border); flex-shrink:0; }
.comments-footer .panel-hint{ margin-bottom:8px; }
.comments-footer .btn-block + .btn-block{ margin-top:8px; }
#commentsExportFallback{ width:100%; min-height:90px; margin-top:8px; font-size:var(--text-sm); font-family:var(--font-mono); }
.comments-tab-seg{ margin:0 0 2px; flex-shrink:0; }
.comments-filter-row{ display:flex; align-items:center; gap:8px; margin:0 0 2px; }
.comments-new-btn{ display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px; border-radius:8px; font-size:var(--text-sm); color:var(--ui-text); }
.comments-new-btn i{ font-size:var(--text-sm); }
.comments-filter-wrap{ position:relative; display:flex; flex-shrink:0; margin-left:auto; }
.comments-filter-btn{
  position:relative; display:flex; align-items:center; gap:6px; height:28px; padding:0 8px; border:1px solid var(--ui-border);
  background:var(--md-color-grey-white); border-radius:8px; cursor:pointer; font-size:var(--text-sm); color:var(--ui-muted);
}
.comments-filter-dot{
  position:absolute; top:-4px; right:-4px; width:9px; height:9px; border-radius:50%;
  background:var(--ui-accent); box-shadow:0 0 0 2px var(--ui-surface);
}
.comments-filter-dot.hidden{ display:none; }
.comment-entry-compose{ cursor:default; }
.comment-entry-compose .comment-compose-input{
  width:100%; min-height:60px; max-height:160px; overflow-y:auto; box-sizing:border-box; margin-top:2px;
  font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text); border:1px solid var(--ui-border);
  border-radius:6px; padding:6px; outline:none; white-space:pre-wrap; word-break:break-word; cursor:text;
}
.comment-entry-compose .comment-compose-input:focus{ border-color:var(--ui-accent); }
.comment-entry-compose .comment-compose-input:empty:before{ content:attr(data-placeholder); color:var(--ui-muted); }
.comment-entry-compose .entry-actions{ gap:6px; margin-top:8px; }
.comments-filter-btn:hover{ background:var(--ui-surface-2); }
.comments-filter-menu{ min-width:180px; }
.comments-filter-option{ justify-content:space-between; }
.comments-filter-check{ opacity:0; font-size:var(--text-md); color:var(--ui-accent); }
.comments-filter-option.active .comments-filter-check{ opacity:1; }
.comments-slide-filter-option{ justify-content:flex-start; gap:8px; }
.comments-slide-filter-checkbox{
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:16px; height:16px; border-radius:4px; border:1.5px solid var(--ui-border); background:var(--md-color-grey-white);
  color:transparent; font-size:var(--text-2xs);
}
.comments-slide-filter-checkbox.checked{ background:var(--ui-accent); border-color:var(--ui-accent); color:var(--md-color-grey-white); }

.generic-ai-popover{
  position:fixed; z-index:var(--z-toolbar-popover); display:flex; flex-direction:column; gap:8px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; padding:10px; width:280px;
  box-shadow:var(--shadow-popover);
}
.generic-ai-quick-options{ display:flex; flex-direction:column; gap:4px; }
.generic-ai-quick-btn{
  border:none; background:none;
  border-radius:8px; padding:6px 10px; font-family:var(--font-sans); font-size:var(--text-sm);
  color:var(--ui-text); cursor:pointer; text-align:left; width:100%;
}
.generic-ai-quick-btn:hover{ background:var(--md-neutral-background-2-rest); }
.slash-command-menu{ min-width:180px; }
.slash-command-menu button{ gap:8px; }
.card-grip-menu{ min-width:120px; max-width: 140px;}
.comment-entry{ position:relative; }
.comment-ellipsis-btn, .comment-reply-ellipsis-btn, .comment-resolve-btn{
  position:absolute; top:6px; right:6px; width:22px; height:22px; font-size:var(--text-sm);
  opacity:0; transition:opacity .12s ease; background:var(--ui-surface); border-radius:6px;
}
.comment-entry:hover .comment-ellipsis-btn,
.comment-entry:has(.comment-entry-menu.open) .comment-ellipsis-btn{ opacity:1; }
.comment-entry-menu{ top:26px; right:6px; }
.comment-resolve-btn{ right:32px; font-size:var(--text-md); }
.comment-entry:hover .comment-resolve-btn,
.comment-entry:has(.comment-entry-menu.open) .comment-resolve-btn{ opacity:1; }
.comment-resolve-btn.is-resolved{ color:var(--ui-accent); }
.comment-author{ font-size:var(--text-md); font-weight:var(--font-weight-semibold); color:var(--ui-text); }
.comment-author-unverified{ margin-left:6px; font-size:var(--text-xs); font-weight:var(--font-weight-regular); color:var(--ui-text-muted); }
.comment-edit-textarea{
  width:100%; box-sizing:border-box; min-height:60px; font-family:var(--font-sans);
  font-size:var(--text-md); color:var(--ui-text); border:1px solid var(--ui-border); border-radius:6px;
  padding:6px 8px; resize:vertical; outline:none;
}
.comment-edit-textarea:focus{ border-color:var(--ui-accent); }
.comment-replies{ margin-top:8px; padding-top:8px; border-top:1px solid var(--ui-border); display:flex; flex-direction:column; gap:8px; }
.comment-reply{ position:relative; font-size:var(--text-md); color:var(--ui-text); }
.comment-reply-body{ margin-top:6px; }
.comment-reply:hover .comment-reply-ellipsis-btn,
.comment-reply:has(.comment-entry-menu.open) .comment-reply-ellipsis-btn{ opacity:1; }
.comment-reply .comment-entry-menu{ top:26px; right:6px; }
.comment-entry-focused{ border-color:var(--ui-accent); box-shadow:0 0 0 1px var(--ui-accent); }
.comment-mention-tag{ color:var(--ui-accent); background:rgba(0,64,222,0.10); border-radius:4px; padding:0 3px; }
.comment-pending-highlight{ background:rgba(0,64,222,0.16); border-radius:2px; }
.comment-reply-composer{ margin-top:8px; }
.comment-reply-input-wrap{ position:relative; display:flex; }
.comment-reply-input{
  flex:1; min-width:0; font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text);
  border:1px solid var(--ui-border); border-radius:16px; padding:7px 34px 7px 10px; outline:none;
  background:var(--ui-surface); box-sizing:border-box;
}
div.comment-reply-input{
  min-height:32px; max-height:120px; overflow-y:auto; white-space:pre-wrap; word-break:break-word; cursor:text; line-height:1.35;
}
div.comment-reply-input:empty:before{ content:attr(data-placeholder); color:var(--ui-muted); pointer-events:none; }
.comment-reply-input:focus{ border-color:var(--ui-accent); }
.comment-reply-send-btn{
  position:absolute; top:50%; right:4px; transform:translateY(-50%);
  width:24px; height:24px; border-radius:50%; font-size:var(--text-sm);
}
.comment-mention-menu{
  position:fixed; z-index:var(--z-float); background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:8px;
  box-shadow:var(--shadow-soft); padding:4px; display:flex; flex-direction:column; gap:2px;
  max-height:160px; overflow-y:auto;
}
.comment-mention-menu button{
  display:flex; align-items:center; gap:8px; text-align:left; border:none; background:none;
  padding:6px 8px; border-radius:5px; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text);
}
.comment-mention-menu button:hover, .comment-mention-menu button.active{ background:var(--ui-surface-2); }
.comment-mention-text{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.comment-mention-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.comment-mention-email{ font-size:var(--text-xs); color:var(--ui-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.props-header{ display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--ui-border); }
.props-header:active{ cursor:grabbing; }
.props-header span{ font-size:var(--text-base); font-weight:var(--font-weight-semibold); color:var(--ui-text); font-family:var(--font-display)}
.props-header .rail-panel-title{ margin:0; font-size:var(--text-base); font-weight:var(--font-weight-semibold); color:var(--ui-text); font-family:var(--font-display); }
.rail-panel-header-title{ display:flex; align-items:center; gap:4px; }
.props-body{ padding:6px 4px 14px; display:flex; flex-direction:column; gap:12px; }
.prop-section-label{ font-size:var(--text-xs); font-weight:var(--font-weight-extralight); color:var(--ui-muted); text-transform:uppercase; letter-spacing:0.03em; margin:0 0 4px -4px; }
.prop-section-divider{ height:1px; background:var(--ui-border); border:none; margin:8px -4px; }
.prop-section-header-row{ display:flex; align-items:center; justify-content:space-between; margin:0 0 -6px; }
.prop-section-header-row .prop-section-label{ margin:0; }
.prop-section-header-row .icon-btn-ghost{ width:24px; height:24px; font-size:var(--text-md); }
.props-body input[type="range"]{ -webkit-appearance:none; appearance:none; width:100%; height:4px; border:none; border-radius:999px; background:var(--md-neutral-background-2-rest); outline:none; }
.props-body input[type="range"]:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:6px; }
.props-body input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:14px; height:14px; border-radius:50%; background:var(--ui-accent); border:2px solid var(--md-color-grey-white); box-shadow:var(--shadow-xs); cursor:pointer; }
.props-body input[type="range"]::-moz-range-thumb{ width:14px; height:14px; border-radius:50%; background:var(--ui-accent); border:2px solid var(--md-color-grey-white); box-shadow:var(--shadow-xs); cursor:pointer; }
.props-body input[type="range"]::-moz-range-track{ height:4px; border:none; border-radius:999px; background:var(--md-neutral-background-2-rest); }
.tag-field-inner{ display:flex; flex-direction:column; gap:12px; }
.tag-field-label-icon-row{ display:flex; gap:8px; align-items:flex-start; }
.tag-field-label-icon-row .tag-field-label{ flex:2; min-width:0; }
.tag-field-label-icon-row .tag-field-icon{ flex:1; min-width:0; }
.prop-field{ display:flex; flex-direction:column; gap:5px; font-size:var(--text-sm); color:var(--ui-muted); font-family:var(--font-regular)}
.file-dropzone{
  border:1px dashed var(--ui-border); border-radius:8px; padding:32px 16px; text-align:center;
  font-size:var(--text-base); color:var(--ui-muted); line-height:1.6;
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
.file-dropzone-icon{ width:48px; height:48px; }
.file-dropzone.drag-over{ border-color:var(--ui-accent); background:var(--ui-surface-2); }
.file-dropzone-link{ color:var(--md-brand-foreground-1-rest); text-decoration:underline; cursor:pointer; }
.file-dropzone-link{ position:relative; }
.file-dropzone-link input[type="file"]{
  display:block !important; position:absolute; left:0; top:0; width:1px; height:1px; opacity:0;
  overflow:hidden; clip-path:inset(50%); pointer-events:none;
}
.file-dropzone-link:has(input:focus-visible){ outline:2px solid var(--ui-accent); outline-offset:2px; border-radius:4px; }
#fileImportBody:has(.file-import-review){ overflow:visible; }
.file-import-review{ display:flex; flex-direction:column; gap:12px; }
.file-import-filecard{
  display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--ui-border);
  border-radius:8px; background:var(--md-neutral-background-2-rest); font-size:var(--text-base); color:var(--ui-text);
}
.file-import-filecard i{ color:var(--ui-muted); }
.file-import-filecard-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-import-select{ position:relative; width:100%; }
.file-import-reading{
  display:flex; align-items:center; justify-content:center; gap:10px; height:180px;
  color:var(--ui-muted); font-size:var(--text-base);
}
.file-import-spinner{
  width:16px; height:16px; border-radius:50%; flex-shrink:0;
  border:2px solid var(--ui-border); border-top-color:var(--ui-accent);
  animation:file-import-spin .7s linear infinite;
}
@keyframes file-import-spin{ to{ transform:rotate(360deg); } }
.file-import-error{ margin:10px 0 0; font-size:var(--text-md); color:var(--ui-danger); }

.file-import-select-trigger{
  width:100%; box-sizing:border-box; display:flex; justify-content:space-between; align-items:center; gap:8px;
  padding:12px 9px; border:1px solid var(--ui-border); border-radius:8px; background:var(--md-color-grey-white); cursor:pointer;
  font-size:var(--text-base); font-family:var(--font-sans); color:var(--ui-text);
}
.file-import-select-trigger span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-import-select-trigger:hover{ border-color:var(--ui-accent); }
.file-import-select-menu{
  display:none; flex-direction:column; position:absolute; top:calc(100% + 4px); left:0; right:0; max-height:260px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:8px; box-shadow:var(--shadow-soft); padding:6px; gap:2px; z-index:10;
}
.file-import-select.open .file-import-select-menu{ display:flex; }
.file-import-select-search-box{ margin-bottom:4px; }
.file-import-select-search{ font-family:var(--font-sans); }
.file-import-select-search-box .file-import-select-search{ padding-left:32px; padding-right:28px; }
.file-import-select-options{ overflow-y:auto; display:flex; flex-direction:column; gap:2px; }
.file-import-select-option{ display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:6px; font-size:var(--text-base); cursor:pointer; }
.file-import-select-option:hover{ background:var(--md-neutral-background-2-rest); }
.file-import-select-all{ font-weight:var(--font-weight-semibold); border-bottom:1px solid var(--ui-border); border-radius:0; margin-bottom:2px; padding-bottom:8px; }
.prop-field:has(> .file-import-select){ position:relative; display:block; }
.prop-field:has(> .file-import-select) > span:first-child{
  position:absolute; left:9px; top:0; font-size:var(--text-xs); line-height:1; transform:translateY(-50%);
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px; z-index:1; pointer-events:none;
}
.file-import-review-actions{ display:flex; justify-content:flex-end; gap:8px; }
.prop-field input, .prop-field textarea, .prop-field select{
  font-family:var(--font-sans);
  font-size:var(--text-base);
  color:var(--ui-text);
  border:1px solid var(--ui-border);
  border-radius:8px;
  padding:7px 9px;
  outline:none;
  resize:vertical;
}
.prop-field input:focus, .prop-field textarea:focus, .prop-field select:focus{ border-color:var(--ui-accent); }
.prop-field:has(> input:not([type="range"])), .prop-field:has(> textarea), .prop-field:has(> select){
  position:relative; display:block;
}
.prop-field:has(> input:not([type="range"])) > span:first-child,
.prop-field:has(> textarea) > span:first-child,
.prop-field:has(> select) > span:first-child{
  position:absolute; left:9px; top:50%; transform:translateY(-50%); font-size:var(--text-base); line-height:1;
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px;
  transition:top .15s ease, font-size .15s ease, color .15s ease;
  pointer-events:none; z-index:1;
}
.prop-field:has(> textarea) > span:first-child{ top:12px; transform:none; }
.prop-field:has(> input:not([type="range"])) input,
.prop-field:has(> textarea) textarea,
.prop-field:has(> select) select{
  width:100%; box-sizing:border-box; padding:12px 9px;
}
.prop-field input::placeholder, .prop-field textarea::placeholder{ color:transparent; }
.prop-field:has(> input:not([type="range"]):focus) > span:first-child,
.prop-field:has(> input:not([type="range"]):not(:placeholder-shown)) > span:first-child,
.prop-field:has(> textarea:focus) > span:first-child,
.prop-field:has(> textarea:not(:placeholder-shown)) > span:first-child,
.prop-field:has(> select) > span:first-child{
  top:0; font-size:var(--text-xs); transform:translateY(-50%);
}
.prop-field:has(> input:not([type="range"]):focus) > span:first-child,
.prop-field:has(> textarea:focus) > span:first-child,
.prop-field:has(> select:focus) > span:first-child{
  color:var(--ui-accent);
}
.prop-field:has(> :is(.date-field, .time-field) > input){ position:relative; display:block; }
.prop-field:has(> :is(.date-field, .time-field) > input) > span:first-child{
  position:absolute; left:9px; top:50%; transform:translateY(-50%); font-size:var(--text-base); line-height:1;
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px;
  transition:top .15s ease, font-size .15s ease, color .15s ease;
  pointer-events:none; z-index:1;
}
.prop-field:has(> :is(.date-field, .time-field) > input) > :is(.date-field, .time-field){ width:100%; }
.prop-field:has(> :is(.date-field, .time-field) > input) > :is(.date-field, .time-field) > input{ flex:1; min-width:0; box-sizing:border-box; padding:12px 9px; }
.prop-field:has(> :is(.date-field, .time-field) > input:focus) > span:first-child,
.prop-field:has(> :is(.date-field, .time-field) > input:not(:placeholder-shown)) > span:first-child{
  top:0; font-size:var(--text-xs); transform:translateY(-50%);
}
.prop-field:has(> :is(.date-field, .time-field) > input:focus) > span:first-child{ color:var(--ui-accent); }
.prop-field select{ appearance:none; -webkit-appearance:none; padding-right:28px; cursor:pointer; }
.prop-toggle-row{ display:flex; align-items:center; justify-content:space-between; font-size:var(--text-base); color:var(--ui-text); font-family: "lexend Regular" }
.prop-sync-check{ display:flex; align-items:center; gap:8px; font-size:var(--text-md); color:var(--ui-text-2); cursor:pointer; }
.prop-checkbox-row{ display:flex; align-items:center; gap:8px; font-size:var(--text-base); color:var(--ui-text); cursor:pointer; }
.prop-sync-check input[type="checkbox"],
.prop-checkbox-row input[type="checkbox"],
.file-import-select-option input[type="checkbox"],
.slide-picker-checkbox{
  appearance:none; -webkit-appearance:none; margin:0; padding:0; flex-shrink:0; cursor:pointer;
  width:16px; height:16px; border-radius:5px; border:1.5px solid var(--ui-border);
  background:var(--md-color-grey-white); position:relative; transition:border-color .15s ease, background-color .15s ease;
}
.prop-sync-check input[type="checkbox"]:hover,
.prop-checkbox-row input[type="checkbox"]:hover,
.file-import-select-option input[type="checkbox"]:hover,
.slide-picker-checkbox:hover,
.prop-sync-check input[type="checkbox"]:focus-visible,
.prop-checkbox-row input[type="checkbox"]:focus-visible,
.file-import-select-option input[type="checkbox"]:focus-visible,
.slide-picker-checkbox:focus-visible{
  border-color:var(--ui-accent);
}
.prop-sync-check input[type="checkbox"]:checked,
.prop-checkbox-row input[type="checkbox"]:checked,
.file-import-select-option input[type="checkbox"]:checked,
.slide-picker-checkbox:checked{
  background:var(--ui-accent); border-color:var(--ui-accent);
}
.prop-sync-check input[type="checkbox"]:checked::after,
.prop-checkbox-row input[type="checkbox"]:checked::after,
.file-import-select-option input[type="checkbox"]:checked::after,
.slide-picker-checkbox:checked::after{
  font-family:"Font Awesome 6 Pro"; font-weight:var(--font-weight-black); content:"\f00c";
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:var(--text-xs); color:var(--md-color-grey-white);
}
.prop-checkbox-row input[type="checkbox"]:indeterminate{ background:var(--ui-accent); border-color:var(--ui-accent); }
.prop-checkbox-row input[type="checkbox"]:indeterminate::after{
  content:""; position:absolute; top:50%; left:50%; width:8px; height:2px; border-radius:1px;
  transform:translate(-50%,-50%); background:var(--md-color-grey-white);
}
.prop-radio-group{ display:flex; flex-direction:column; gap:10px; }
.prop-checkbox-row input[type="radio"]{
  appearance:none; -webkit-appearance:none; margin:0; flex-shrink:0; cursor:pointer;
  width:16px; height:16px; border-radius:50%; border:1.5px solid var(--ui-border);
  background:var(--md-color-grey-white); position:relative; transition:border-color .15s ease;
}
.prop-checkbox-row input[type="radio"]:hover,
.prop-checkbox-row input[type="radio"]:focus-visible,
.prop-checkbox-row input[type="radio"]:checked{ border-color:var(--ui-accent); }
.prop-checkbox-row input[type="radio"]:checked::after{
  content:""; position:absolute; top:50%; left:50%; width:8px; height:8px; border-radius:50%;
  transform:translate(-50%,-50%); background:var(--ui-accent);
}

.switch{
  --switch-w: 38px; --switch-h: 20px; --switch-pad: 2px; --switch-knob-scale: 1.3;
  --switch-knob-w: calc((var(--switch-h) - var(--switch-pad) * 2) * var(--switch-knob-scale));
  --switch-track-off: var(--ui-border-strong); --switch-track-off-border: var(--ui-border-strong);
  --switch-track-on: var(--ui-accent); --switch-knob: var(--md-color-grey-white);
  position:relative; display:inline-block; width:var(--switch-w); height:var(--switch-h); flex-shrink:0;
}
.switch input{ opacity:0; width:0; height:0; }
.switch-slider{
  position:absolute; cursor:pointer; inset:0;
  background:var(--switch-track-off); box-shadow:inset 0 0 0 1px var(--switch-track-off-border);
  transition:background .25s ease, box-shadow .25s ease; border-radius:calc(var(--switch-h) / 2);
}
.switch-slider:before{
  position:absolute; content:""; box-sizing:border-box;
  height:calc(var(--switch-h) - var(--switch-pad) * 2); width:var(--switch-knob-w);
  left:var(--switch-pad); top:var(--switch-pad); background:var(--switch-knob);
  transition:transform .16s ease-out; border-radius:calc((var(--switch-h) - var(--switch-pad) * 2) / 2);
}
.switch input:checked + .switch-slider{ background:var(--switch-track-on); box-shadow:inset 0 0 0 1px var(--switch-track-on); }
.switch input:checked + .switch-slider:before{ transform:translateX(calc(var(--switch-w) - var(--switch-knob-w) - var(--switch-pad) * 2)); }

.switch.is-mixed .switch-slider{
  background:var(--switch-track-on); box-shadow:inset 0 0 0 1px var(--switch-track-on);
}
.switch.is-mixed .switch-slider:before{
  width:calc(var(--switch-knob-w) * 0.55);
  height:3px; top:calc((var(--switch-h) - 3px) / 2); border-radius:2px;
  transform:translateX(calc((var(--switch-w) - var(--switch-knob-w) * 0.55 - var(--switch-pad) * 2) / 2));
}

.comment-mention-menu button.comment-mention-noaccess{ opacity:0.75; }
.comment-mention-noaccess-tag{
  margin-left:auto; flex-shrink:0; padding:1px 6px; border-radius:5px; white-space:nowrap;
  font-size:var(--text-2xs); font-weight:var(--font-weight-semibold); color:var(--ui-danger); background:rgba(214,69,69,0.12);
}
/*! /css/component-panels.css */
.rows-editor{ display:flex; flex-direction:column; gap:8px; }
.contact-count-row{ margin-bottom:12px; }
#contactAvatarRows{ gap:12px; }
.prop-field-label{ font-size:var(--text-sm); color:var(--ui-muted); display:block; margin-bottom:4px; }
.contact-avatar-row > .contact-avatar-field{ flex:1; min-width:0; }
.row-edit{ display:flex; align-items:center; gap:6px; }
.row-edit input{
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text);
  border:1px solid var(--ui-border); border-radius:8px; padding:12px 9px; outline:none; box-sizing:border-box;
}
.row-edit input:focus{ border-color:var(--ui-accent); }
.row-edit select{
  font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text);
  border:1px solid var(--ui-border); border-radius:8px; padding:12px 8px; outline:none; background:var(--md-color-grey-white); box-sizing:border-box;
}
.row-edit select:focus{ border-color:var(--ui-accent); }
.bar-row-label{ flex:1; min-width:0; }
.agenda-row-edit > .prop-field{ flex:1; min-width:0; }
.ml-legend-swatch{ display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px; }
button.ml-legend-swatch{ position:relative; padding:0; border:1px solid rgba(20,30,50,0.15); cursor:pointer; }
button.ml-legend-swatch::before{ content:""; position:absolute; inset:-6px; }
.ml-color-picker{ position:relative; display:inline-flex; }
.ml-color-picker-menu{
  display:none; position:absolute; top:calc(100% + 4px); left:0; z-index:60; gap:4px; padding:12px;
  flex-wrap:wrap; width:200px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:8px; box-shadow:var(--shadow-soft);
}
.ml-color-picker.open .ml-color-picker-menu{ display:flex; }
.prop-field:has(> span > .ml-color-picker.open) > span:first-child,
.prop-field:has(> span > .color-dot-select.open) > span:first-child{ z-index:500; }
.ml-color-picker-option{
  position:relative; width:20px; height:20px; border-radius:50%; border:1px solid rgba(20,30,50,0.15); padding:0; cursor:pointer;
}
.ml-color-picker-option.active{ box-shadow:0 0 0 2px var(--ui-accent); }
.ml-color-picker-option-taken{ opacity:0.55; cursor:not-allowed; }
.ml-color-picker-option-taken i{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:var(--text-sm);
}
.ml-color-picker-option-remove{
  position:absolute; top:-5px; right:-5px; width:14px; height:14px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:var(--text-2xs); line-height:1;
  background:var(--ui-text); color:var(--md-color-grey-white); border:1px solid var(--md-color-grey-white); cursor:pointer;
}
.ml-color-picker-option-remove:hover{ background:var(--ui-accent); }
.ml-color-picker-add{
  display:flex; align-items:center; justify-content:center; background:var(--md-color-grey-white); border-style:dashed;
  color:var(--ui-muted); font-size:var(--text-xs);
}
.ml-color-picker-add:hover{ border-color:var(--ui-accent); color:var(--ui-accent); }
.ml-color-picker-add-view{ display:flex; flex-direction:column; gap:16px; width:100%; }
.cp-sv{ position:relative; width:100%; height:88px; border-radius:6px; overflow:hidden; cursor:crosshair; }
.cp-sv-white{ position:absolute; inset:0; background:linear-gradient(to right, var(--md-color-grey-white), rgba(255,255,255,0)); }
.cp-sv-black{ position:absolute; inset:0; background:linear-gradient(to top, var(--md-color-grey-black), rgba(0,0,0,0)); }
.cp-sv-thumb{
  position:absolute; width:12px; height:12px; border-radius:50%; border:2px solid var(--md-color-grey-white); box-shadow:0 0 0 1px rgba(var(--shadow-rgb),0.4);
  transform:translate(-50%,-50%); pointer-events:none;
}
.cp-hue{
  position:relative; width:100%; height:10px; border-radius:5px; cursor:pointer;
  background:linear-gradient(to right, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);
}
.cp-hue-thumb{
  position:absolute; top:50%; width:14px; height:14px; border-radius:50%; border:2px solid var(--md-color-grey-white); box-shadow:0 0 0 1px rgba(var(--shadow-rgb),0.4);
  transform:translate(-50%,-50%); pointer-events:none;
}
.cp-hex-row{
  display:flex; align-items:center; gap:6px; padding:0 8px;
}
.cp-hex-row span{ font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-muted); }
.ml-color-picker-custom-hex{
  flex:1; min-width:0; width:100%; font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text); text-transform:uppercase;
  border:none; padding:7px 0; outline:none; background:none;
}
.cp-hex-row:focus-within{ border-color:var(--ui-accent); }
.ml-color-picker-add-view .ml-color-picker-custom-confirm{ align-self:stretch; }
.bar-row-add{
  align-self:flex-start; font-family:var(--font-sans); font-size:var(--text-md); color:var(--md-neutral-foreground-3-rest);
  background:none; border:none; border-radius:8px; padding:6px 10px; cursor:pointer;
}
.bar-row-add:hover{ background:var(--md-neutral-background-2-rest); }
.bar-row-add i{ margin-right:6px; }
.bar-row-add.panel-replace-btn{
  align-self:stretch; width:100%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--ui-border); padding:8px 10px; color:var(--ui-text);
}
.image-card-panel-thumb-wrap.cover-photo-panel-thumb{ height:auto; aspect-ratio:16 / 9; }
.image-card-panel-thumb-wrap.header-logo-panel-thumb{ height:72px; background:#fff; }
.header-logo-panel-thumb .image-card-panel-thumb{ padding:12px 16px; box-sizing:border-box; }
.header-logo-modal-preview{
  width:100%; height:140px; box-sizing:border-box; padding:20px 24px; border-radius:var(--md-radius-160,16px);
  border:1px solid var(--ui-border); background:#fff;
  display:flex; align-items:center; justify-content:center;
}
.header-logo-modal-preview img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
.legend-header-field{ position:relative; display:flex; align-items:center; width:100%; }
.legend-header-field > input{ flex:1; min-width:0; }
.legend-header-trigger{
  position:absolute; right:6px; top:50%; transform:translateY(-50%); width:20px; height:20px;
  border:none; background:none; color:var(--ui-muted); cursor:pointer; border-radius:5px;
  display:flex; align-items:center; justify-content:center; font-size:var(--text-xs);
}
.legend-header-trigger:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-accent); }
.legend-header-menu{
  display:none; flex-direction:column; position:absolute; z-index:30; top:calc(100% + 4px); left:0; right:0;
  max-height:220px; overflow-y:auto; background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px;
  box-shadow:var(--shadow-soft); padding:6px; gap:2px;
}
.legend-header-field.open .legend-header-menu{ display:flex; }
.legend-header-option{
  display:flex; align-items:center; justify-content:space-between; width:100%; padding:7px 8px; border:none;
  background:none; border-radius:6px; cursor:pointer; font-family:var(--font-sans); font-size:var(--text-base);
  color:var(--ui-text); text-align:left;
}
.legend-header-option:hover{ background:var(--md-neutral-background-2-rest); }
.legend-header-option.is-disabled{ color:var(--ui-muted); cursor:not-allowed; opacity:0.6; }
.legend-header-option.is-disabled:hover{ background:none; }
.legend-header-option .icon-select-option-check{ width:auto; margin-left:8px; color:var(--ui-accent); }
.legend-header-empty{ padding:7px 8px; font-size:var(--text-md); color:var(--ui-muted); }
.legend-field-row{ display:flex; align-items:center; gap:6px; }
.legend-field-row > .prop-field{ flex:1; min-width:0; }
.legend-add-row{ position:relative; display:inline-flex; margin-top:2px; }
.legend-add-row.open .legend-add-menu{ display:flex; }
.prop-field:has(> .legend-header-field > input){ position:relative; display:block; }
.prop-field:has(> .legend-header-field > input) > span:first-child{
  position:absolute; left:9px; top:50%; transform:translateY(-50%); font-size:var(--text-base); line-height:1;
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px;
  transition:top .15s ease, font-size .15s ease, color .15s ease;
  pointer-events:none; z-index:1;
}
.prop-field:has(> .legend-header-field > input) > .legend-header-field{ width:100%; }
.prop-field:has(> .legend-header-field > input) > .legend-header-field > input{ box-sizing:border-box; padding:12px 26px 12px 9px; }
.prop-field:has(> .legend-header-field > input:focus) > span:first-child,
.prop-field:has(> .legend-header-field > input:not(:placeholder-shown)) > span:first-child{
  top:0; font-size:var(--text-xs); transform:translateY(-50%);
}
.prop-field:has(> .legend-header-field > input:focus) > span:first-child{ color:var(--ui-accent); }
.prop-field:has(> .icon-select){ position:relative; display:block; }
.prop-field:has(> .icon-select) > span:first-child{
  position:absolute; left:9px; top:0; font-size:var(--text-xs); line-height:1; transform:translateY(-50%);
  background:var(--md-color-grey-white); padding:0 3px; margin-left:-3px; z-index:1; pointer-events:none;
}
.prop-field:has(> .icon-select) > .icon-select{ width:100%; }

.content-row-remove{ flex-shrink:0; width:24px; height:24px; border:none; border-radius:6px; background:none; color:var(--ui-muted); cursor:pointer; font-size:var(--text-lg); line-height:1; }
.content-row-remove:hover{ background:var(--md-neutral-background-2-rest); }
.content-row-grip{ position:relative; flex-shrink:0; width:18px; text-align:center; color:var(--ui-muted); cursor:grab; font-size:var(--text-lg); }
.content-row-grip:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:2px; border-radius:4px; }
.content-row-grip i{ position:relative; }
.content-row-grip::before{
  content:''; position:absolute; top:-8px; bottom:-8px; left:-10px; right:-10px;
}
.content-row-grip:hover{ color:var(--md-neutral-foreground-1-rest); }
.row-edit{ padding:3px 0; border-radius:8px; transition:background .1s ease; position:relative; }
.row-edit:has(.content-row-grip:hover){ background:var(--md-neutral-background-2-rest); }
.row-edit.dragging{ opacity:0.5; }
.content-row-drop-indicator{ height:3px; margin:2px 0; border-radius:2px; background:var(--ui-accent); }
.drag-ghost-preview{ pointer-events:none; z-index:var(--z-float); opacity:0.9; box-shadow:var(--shadow-raised); }
.drag-ghost-count{
  position:absolute; top:-8px; right:-8px; min-width:20px; height:20px; padding:0 5px;
  border-radius:10px; background:var(--ui-accent); color:var(--md-color-grey-white); font-family:var(--font-sans);
  font-size:var(--text-sm); font-weight:var(--font-weight-semibold); display:flex; align-items:center; justify-content:center;
}
.content-row-remove[disabled]{ visibility:hidden; }
.kanban-row-item-fields{ display:flex; flex-direction:column; gap:11px; flex:1; min-width:0; }
.kanban-row-item-fields input{ width:100%; }
.kanban-row-title-line{ display:flex; gap:8px; align-items:flex-start; }
.kanban-row-title-line > .prop-field:first-child{ flex:0 0 64px; width:64px; }
.kanban-row-title-line > .prop-field:last-child{ flex:1; min-width:0; }
.kanban-row-labels{ display:flex; flex-direction:column; gap:8px; }
.kanban-row-label-edit{ display:flex; align-items:flex-start; gap:6px; }
.kanban-row-label-edit > .tag-field-label-icon-row{ flex:1; min-width:0; }
.kanban-row-label-remove{ flex-shrink:0; width:24px; height:24px; margin-top:4px; border:none; border-radius:6px; background:none; color:var(--ui-muted); cursor:pointer; font-size:var(--text-lg); line-height:1; }
.kanban-row-label-remove:hover{ background:var(--md-neutral-background-2-rest); }
.kanban-row-label-add{
  align-self:flex-start; font-family:var(--font-sans); font-size:var(--text-md); color:var(--md-neutral-foreground-3-rest);
  background:none; border:none; border-radius:8px; padding:6px 10px; cursor:pointer;
}
.kanban-row-label-add:hover{ background:var(--md-neutral-background-2-rest); }
.kanban-row-label-add i{ margin-right:6px; }
.kanban-row-edit-item{ align-items:flex-start; border-radius:8px; padding-top:12px; padding-bottom:12px; transition:background .1s ease; }
.kanban-row-edit-item:hover{ background:var(--md-neutral-background-2-rest); }
.kanban-row-edit-item > .content-row-grip{ margin-top:10px; }
.kanban-row-edit-item > .content-row-remove{ margin-top:4px; }
.user-card-row-edit{ align-items:flex-start; }
.user-card-row-edit > .content-row-grip{ margin-top:10px; }
.user-card-row-edit > .content-row-remove{ margin-top:4px; }
.kanban-row-edit.dragging{ background:var(--md-neutral-background-2-rest); border-radius:8px; padding-top:8px; padding-bottom:8px; }


.prop-field{ position:relative; }
.icon-suggest-menu{
  display:none; position:absolute; top:100%; left:0; right:0; min-width:240px; z-index:30; margin-top:4px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:8px;
  box-shadow:var(--shadow-popover); padding:4px; flex-direction:column; max-height:260px; overflow-y:auto;
}
.icon-suggest-menu.open{ display:flex; }
.icon-suggest-item{
  display:flex; align-items:center; gap:10px; width:100%; padding:7px 10px; border:none; border-radius:6px;
  background:transparent; color:var(--ui-text); font-family:var(--font-sans); font-size:var(--text-base); text-align:left; cursor:pointer;
}
.icon-suggest-item i{ width:18px; text-align:center; color:var(--ui-muted); font-size:var(--text-lg); }
.icon-suggest-item span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.icon-suggest-item:hover, .icon-suggest-item.active{ background:var(--ui-surface-2); }
/*! /css/components/kanban.css */
.kanban-col{ width:100%; background:var(--md-neutral-background-2-rest); border-radius:var(--md-radius-240,24px); padding:28px 32px; display:flex; flex-direction:column; gap:12px; }
.kanban-col[data-style="stroke"]{ background:transparent; border:1px solid var(--md-neutral-stroke-1-rest); }
.kanban-col[data-style="transparent"]{ background:transparent; padding:0; }
.kanban-col[data-size="S"]:not([data-style="transparent"]){ padding:12px 16px; }
.kanban-col-items{ display:flex; flex-direction:column; gap:8px; width:100%; }
.kanban-item{ width:100%; background:var(--slide-surface); border-radius:var(--md-radius-160,16px); box-sizing:border-box; }
.kanban-item-status{ display:flex; gap:8px; align-items:flex-start; justify-content:center; padding:12px 18px; }
.kanban-item-icon-square{ flex-shrink:0; width:20px; padding-top:6px; display:flex; justify-content:center; font-size:var(--md-typography-font-size-500); }
.kanban-item-text{ flex:1; min-width:0; padding:4px 0 6px; font-family:var(--font-sans); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-3-rest); outline:none; }
.kanban-item-text-only{ display:flex; align-items:center; padding:12px 18px; }
.kanban-item-card{ border:1px solid var(--md-neutral-stroke-1-rest); padding:16px; display:flex; flex-direction:column; gap:2px; --kanban-row-indent:42px; }
.kanban-item-labels{ display:flex; flex-wrap:wrap; gap:6px; }
.kanban-item-title-row{ display:flex; align-items:center; gap:10px; }
.kanban-item-title-row:not(:has(.kanban-item-title:not(:empty))){ display:none; }
.kanban-item-row-icon{ flex-shrink:0; width:32px; display:flex; align-items:center; justify-content:center; font-size:var(--md-typography-font-size-600); color:var(--md-brand-foreground-1-rest); }
.kanban-item-row-icon[data-icon-empty="true"]{ display:none; }
.kanban-item-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; }
.kanban-item-subtitle{ font-family:var(--font-sans); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-3-rest); outline:none; }
.kanban-item-subtitle:empty{ display:none; }
.deck-component[data-type="c19"][data-size="L"] .kanban-item-row-icon{ width:40px; font-size:var(--md-typography-font-size-700); }
.deck-component[data-type="c19"][data-size="L"] .kanban-item-card{ --kanban-row-indent:50px; }
.deck-component[data-type="c19"][data-size="L"] .kanban-item-text{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.deck-component[data-type="c19"][data-size="L"] .kanban-item-icon-square{ font-size:var(--md-typography-font-size-600); width:24px; }
.deck-component[data-type="c19"][data-size="L"] .kanban-item-title{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.deck-component[data-type="c19"][data-size="L"] .kanban-item-subtitle{ font-size:var(--md-typography-font-size-600); line-height:32px; }
.deck-component[data-type="c19"][data-size="L"] .kanban-item-status,
.deck-component[data-type="c19"][data-size="L"] .kanban-item-text-only{ padding:16px 22px; }
.deck-component[data-type="c19"][data-size="L"] .kanban-item-card{ padding:20px; }
.deck-component[data-type="c19"][data-size="S"] .kanban-item-row-icon{ width:24px; font-size:var(--md-typography-font-size-500); }
.deck-component[data-type="c19"][data-size="S"] .kanban-item-card{ --kanban-row-indent:34px; padding:12px; }
.deck-component[data-type="c19"][data-size="S"] .kanban-item-text{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.deck-component[data-type="c19"][data-size="S"] .kanban-item-icon-square{ font-size:var(--md-typography-font-size-400); width:16px; }
.deck-component[data-type="c19"][data-size="S"] .kanban-item-title{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.deck-component[data-type="c19"][data-size="S"] .kanban-item-subtitle{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.deck-component[data-type="c19"][data-size="S"] .kanban-item-status,
.deck-component[data-type="c19"][data-size="S"] .kanban-item-text-only{ padding:8px 12px; }
.kanban-item-card:has(.kanban-item-row-icon[data-icon-empty="false"]) .kanban-item-subtitle,
.kanban-item-card:has(.kanban-item-row-icon[data-icon-empty="false"]) > [data-list-type="description"]{
  margin-left:var(--kanban-row-indent);
}
.kanban-item-card:has(.kanban-item-row-icon[data-icon-empty="false"]) > [data-list-type="description"]{
  width:auto; box-sizing:border-box;
}
.kanban-item-title, .kanban-item-subtitle, .kanban-item-text{ min-width:0; overflow-wrap:anywhere; }
.kanban-item-title-row{ min-width:0; }
.kanban-item-divider{ height:1px; background:var(--md-neutral-stroke-1-rest); width:100%; }
.kanban-item-footer{ display:flex; align-items:center; gap:16px; }
.kanban-item-footer-icon{ display:flex; flex:1; min-width:0; }
.kanban-item-footer-icon .list-item{ flex:1; min-width:0; }
.kanban-item-footer-icon[data-icon-empty="true"] .list-item-icon{ display:none; }
.kanban-item-avatar{ flex-shrink:0; width:32px; height:32px; border-radius:50%; background:var(--md-neutral-background-2-rest); color:var(--md-brand-foreground-1-rest); display:flex; align-items:center; justify-content:center; font-size:var(--md-typography-font-size-300); }
.kanban-item-divider, .kanban-item-footer{ display:none; }
.kanban-col[data-show-footer="true"] .kanban-item-divider{ display:block; }
.kanban-col[data-show-footer="true"] .kanban-item-footer{ display:flex; }
.kanban-col[data-show-avatar="false"] .kanban-item-avatar{ display:none; }
.kanban-col[data-item-height="fill"] .kanban-col-items{ height:100%; }
.kanban-col[data-item-height="fill"] .kanban-item{ flex:1; }
.kanban-col[data-item-cols="2"]:not([data-item-height="fill"]) .kanban-col-items{
  display:block; columns:2; column-gap:12px;
  height:100%; min-height:0; column-fill:auto;
}
.kanban-col[data-item-cols="2"]:not([data-item-height="fill"]) .kanban-item{
  break-inside:avoid; margin-bottom:12px;
}
.icon-select{ position:relative; flex-shrink:0; }
.icon-select-trigger{
  display:flex; align-items:center; gap:4px; width:40px; height:42px; justify-content:center; box-sizing:border-box;
  border:1px solid var(--ui-border); border-radius:8px; background:var(--md-color-grey-white); cursor:pointer; color:var(--md-neutral-foreground-1-rest); font-size:var(--md-typography-font-size-300);
}
.icon-select-trigger:hover{ border-color:var(--ui-accent); }
.icon-select-caret{ font-size:9px; color:var(--ui-muted); }
.icon-select-menu{
  display:none; flex-direction:column; position:absolute; z-index:30; top:calc(100% + 4px); left:0; min-width:220px; max-height:300px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; box-shadow:var(--shadow-soft); padding:6px; gap:6px;
}
.icon-select.open .icon-select-menu{ display:flex; }
.icon-select.flip-up .icon-select-menu{ top:auto; bottom:calc(100% + 4px); }
.icon-select-search{
  font-family:var(--font-sans); font-size:var(--md-typography-font-size-200); color:var(--md-neutral-foreground-1-rest); flex-shrink:0;
  border:1px solid var(--ui-border); border-radius:6px; padding:6px 8px; outline:none;
}
.icon-select-search:focus{ border-color:var(--ui-accent); }
.icon-select-options{ overflow-y:auto; }
.icon-select-group-label{ font-size:var(--md-typography-font-size-100); text-transform:uppercase; letter-spacing:0.04em; color:var(--ui-muted); padding:6px 8px 2px; }
.icon-select-option{
  display:flex; align-items:center; gap:10px; width:100%; padding:7px 8px; border:none; background:none;
  border-radius:6px; cursor:pointer; font-family:var(--font-sans); font-size:13px; color:var(--md-neutral-foreground-1-rest); text-align:left;
}
.icon-select-option i{ width:16px; text-align:center; color:var(--ui-muted); }
.icon-select-option:hover:not(:disabled){ background:var(--md-neutral-background-2-rest); }
.icon-select-option .icon-select-option-check{ width:auto; margin-left:auto; color:var(--ui-accent); }
.focus-visual-select{ width:100%; }
.focus-visual-select-trigger{ width:100%; height:auto; padding:9px; justify-content:flex-start; gap:8px; }
.focus-visual-select-trigger img{ width:18px; height:18px; object-fit:contain; flex-shrink:0; }
.focus-visual-select-label{ flex:1; text-align:left; font-size:13px; color:var(--md-neutral-foreground-1-rest); }
.focus-visual-select-thumb{ width:18px; height:18px; object-fit:contain; }
.focus-visual-select .icon-select-menu{ width:100%; min-width:0; box-sizing:border-box; }
.photo-select{ width:100%; }
.photo-select-trigger{
  width:100%; height:auto; justify-content:flex-start; gap:8px; box-sizing:border-box;
  padding:8px 14px 8px 10px;
}
.photo-select-trigger-thumb{ width:24px; height:24px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.photo-select-trigger i.fa-user{
  width:24px; height:24px; border-radius:50%; flex-shrink:0; font-size:11px;
  background:var(--md-neutral-background-2-rest); color:var(--ui-muted);
  display:flex; align-items:center; justify-content:center;
}
.photo-select-trigger-label{ flex:1; min-width:0; text-align:left; font-size:13px; color:var(--md-neutral-foreground-1-rest); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.photo-select .icon-select-menu{ width:100%; min-width:0; box-sizing:border-box; }
.photo-select-option-thumb{ width:20px; height:20px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.photo-select-action-group{ margin-bottom:6px; padding-bottom:6px; border-bottom:1px solid var(--ui-border); }
.photo-select-action i{ color:var(--ui-accent); }
.icon-select-option-disabled{ opacity:0.4; cursor:not-allowed; }

.icon-select-divider{ height:1px; margin:6px 4px; background:var(--ui-border); }

.kanban-item.item-focused{ outline:2px solid var(--ui-accent); outline-offset:1px; }
.deck-component.kanban-col.selected.child-focused{ border-radius:var(--md-radius-240,24px); }
.deck-component[data-type="c19"].child-focused .kanban-item,
.deck-component[data-type="c19"].child-focused .kanban-item *{ cursor:grab; }
.deck-component[data-type="c19"].child-focused .kanban-item [contenteditable="true"]:focus{ cursor:text; }
.kanban-drag-source-veil{ position:fixed; z-index:var(--z-float); background:var(--slide-surface); opacity:0.6; pointer-events:none; }
.kanban-drop-indicator{ position:fixed; z-index:var(--z-float); height:3px; border-radius:2px; background:var(--ui-accent); pointer-events:none; }
.kanban-col.kanban-drag-ghost-context{ display:contents !important; }
body.kanban-item-dragging, body.kanban-item-dragging *{ cursor:grabbing !important; }
.kanban-drag-count{
  position:absolute; top:calc(-10px / var(--ghost-scale, 1)); right:calc(-10px / var(--ghost-scale, 1));
  min-width:calc(24px / var(--ghost-scale, 1)); height:calc(24px / var(--ghost-scale, 1)); padding:0 calc(7px / var(--ghost-scale, 1));
  box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  border-radius:calc(12px / var(--ghost-scale, 1)); background:var(--ui-accent); color:#fff;
  font-family:var(--font-sans); font-weight:var(--font-weight-semibold); font-size:calc(13px / var(--ghost-scale, 1)); line-height:1;
}

.icon-select-trigger.prop-pick-trigger{ width:100%; justify-content:flex-start; padding:0 10px; gap:8px; font-family:var(--font-sans); font-size:13px; }
.prop-pick-trigger .icon-select-caret{ margin-left:auto; }
.prop-pick-trigger-label{ color:var(--ui-text); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prop-pick-trigger-label.is-mixed{ color:var(--md-neutral-foreground-3-rest); }
/*! /css/misc-ui.css */
.color-dot-select{ position:relative; flex-shrink:0; display:inline-flex; }
.color-dot-trigger{
  width:12px; height:12px; border-radius:50%; border:none; padding:0; cursor:pointer;
  background:var(--dot-color); box-shadow:0 0 0 2px transparent; outline:none;
}
.color-dot-trigger:hover{ box-shadow:0 0 0 2px var(--md-neutral-background-2-rest); }
.color-dot-select.open .color-dot-trigger, .color-dot-trigger:focus-visible{
  outline:2px solid var(--ui-accent); outline-offset:3px;
}
.color-dot-menu{
  display:none; position:absolute; z-index:30; top:calc(100% + 6px); left:0; gap:6px; padding:8px;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; box-shadow:var(--shadow-soft);
}
.color-dot-select.open .color-dot-menu{ display:flex; }
.color-dot-option{
  width:18px; height:18px; border-radius:50%; border:2px solid transparent; padding:0; cursor:pointer; background:var(--dot-color); outline:none;
}
.color-dot-option:hover, .color-dot-option.active, .color-dot-option:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:2px; }
.color-dot-select.is-mixed .color-dot-trigger{
  background:conic-gradient(var(--md-color-blue-500) 0 25%, var(--md-color-pink-500) 0 50%, var(--md-color-orange-500) 0 75%, var(--md-color-teal-500) 0);
}
.focus-visual-seg-thumb{ width:14px; height:14px; object-fit:contain; display:block; }
.prop-field > span .color-dot-select, .prop-field > span .ml-color-picker{ pointer-events:auto; }
.prop-field > span > .color-dot-select{ margin-right:6px; vertical-align:middle; }
.team-select-dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0; background:var(--dot-color); }
.team-select-dot-empty{ background:var(--md-neutral-stroke-1-rest); }
.team-select-trigger{ width:100%; justify-content:flex-start; gap:8px; padding:9px; box-sizing:border-box; }
.team-select-trigger-label{ flex:1; min-width:0; text-align:left; font-size:var(--text-base); color:var(--ui-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-select .icon-select-menu{ width:100%; min-width:0; box-sizing:border-box; }
.team-select .icon-select-option{ gap:8px; }

.date-field{ position:relative; display:inline-flex; align-items:center; gap:4px; flex-shrink:0; }
.date-field input{ cursor:pointer; }
.date-field-menu{
  display:none; flex-direction:column; position:absolute; z-index:30; top:calc(100% + 4px); left:0; width:220px; box-sizing:border-box; overflow-y:auto;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; box-shadow:var(--shadow-soft); padding:10px; gap:8px;
}
.date-field.open .date-field-menu{ display:flex; }
.date-field.flip-up .date-field-menu{ top:auto; bottom:calc(100% + 4px); }
.date-field.flip-left .date-field-menu{ left:auto; right:0; }
.date-field-menu-header{ display:flex; align-items:center; justify-content:space-between; }
.date-field-menu-title{ font-family:var(--font-sans); font-size:var(--text-md); font-weight:var(--font-weight-semibold); color:var(--ui-text); }
.date-field-nav{ width:20px; height:20px; border:none; background:none; color:var(--ui-muted); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:var(--text-xs); border-radius:6px; }
.date-field-nav:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }
.date-field-weekdays{ display:grid; grid-template-columns:repeat(7,1fr); font-family:var(--font-sans); font-size:var(--text-xs); color:var(--ui-muted); text-align:center; }
.date-field-days{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.date-field-day{
  width:100%; aspect-ratio:1; border:none; background:none; border-radius:6px; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text);
}
.date-field-day:hover{ background:var(--md-neutral-background-2-rest); }
.date-field-day.is-today{ color:var(--ui-accent); font-weight:var(--font-weight-semibold); }
.date-field-day.selected{ background:var(--ui-accent); color:var(--md-color-grey-white); }
.date-field-day-empty{ cursor:default; pointer-events:none; }
.date-field-day:disabled{ opacity:.3; cursor:default; }
.date-field-day-range-start, .date-field-day-in-range{ background:rgba(0,64,222,0.1); }
.date-field-day-range-start{ font-weight:var(--font-weight-semibold); color:var(--ui-accent); }

.time-field{ position:relative; display:inline-flex; align-items:center; flex-shrink:0; }
.time-field input{ cursor:pointer; }
.time-field-menu{
  display:none; position:absolute; z-index:30; top:calc(100% + 4px); left:0; width:132px; box-sizing:border-box;
  background:var(--md-color-grey-white); border:1px solid var(--ui-border); border-radius:10px; box-shadow:var(--shadow-soft); padding:4px; gap:4px;
}
.time-field.open .time-field-menu{ display:flex; }
.time-field.flip-up .time-field-menu{ top:auto; bottom:calc(100% + 4px); }
.time-field.flip-left .time-field-menu{ left:auto; right:0; }
.time-field-col{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; max-height:224px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; }
.time-field-col::-webkit-scrollbar{ display:none; }
.time-field-col + .time-field-col{ border-left:1px solid var(--ui-border); padding-left:4px; }
.time-field-option{
  flex-shrink:0; border:none; background:none; border-radius:6px; padding:6px 0; text-align:center; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text); font-variant-numeric:tabular-nums;
}
.time-field-option:hover{ background:var(--md-neutral-background-2-rest); }
.time-field-option.selected{ background:var(--ui-accent); color:var(--md-color-grey-white); }
/*! /css/print-present.css */
@page{ size:20in 11.25in; margin:0; }
@media print{
  *{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
  body{ background:var(--md-color-grey-white); height:auto; }
  .topbar, .sidebar-left, .icon-rail-dock, .rail-panel, #commentsPanel, #commentPopover{ display:none !important; }
  .drop-placeholder, .card-resize-handle, .card-grip-handle, .grid-overlay{ display:none !important; }
  .slide-empty-bar, .slide-empty-toppick, .image-card-drop-hint{ display:none !important; }
  [data-placeholder]:empty:before{ content:none !important; }
  .deck-component.selected{ outline:none; }
  .main{ display:block; }
  .stage{ padding:0; display:block; background:var(--md-color-grey-white); border-radius:0; }
  .frame{
    display:flex !important; flex-direction:column; width:100%; height:100vh; box-shadow:none; border:none; border-radius:0;
    page-break-after:always; transform:none !important;
  }
  .frame:last-child{ page-break-after:auto; }
}

.present-frame, .present-frame *{ cursor:default !important; }
.present-frame a[href], .present-frame a[href] *,
.present-frame .gantt-phase-bar, .present-frame .gantt-phase-bar *{ cursor:pointer !important; }
@keyframes present-card-in{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.present-frame .deck-component{ animation:present-card-in .45s cubic-bezier(0.2,0.7,0.3,1) backwards; }
.present-frame .slide-title-sub{ animation:present-card-in .4s cubic-bezier(0.2,0.7,0.3,1) both; animation-delay:.35s; }
.present-frame .list-item{ animation:present-card-in .35s cubic-bezier(0.2,0.7,0.3,1) both; }
.present-frame .contact-slide-item{ animation:present-card-in .45s cubic-bezier(0.2,0.7,0.3,1) both; }
.present-frame .agenda-item{ animation:present-card-in .4s cubic-bezier(0.2,0.7,0.3,1) both; }
.present-frame .section-slide-title{ animation:present-card-in .5s cubic-bezier(0.2,0.7,0.3,1) both; }
@keyframes present-number-in{ from{ opacity:0; transform:translateY(-50%) scale(0.92); } to{ opacity:1; transform:translateY(-50%) scale(1); } }
.present-frame .section-slide-number{ animation:present-number-in .6s cubic-bezier(0.2,0.7,0.3,1) both; }
.present-frame .gantt-phase:hover, .present-frame .schedule-row:hover{ background:transparent; }
.present-frame{
  width:1920px; height:1080px; min-width:1920px; min-height:1080px;
  background:var(--frame-bg); border:1px solid var(--ui-border-strong); border-radius:12px;
  box-shadow:0 4px 28px rgba(20,30,50,0.16);
  position:relative;
  display:flex;
  flex-direction:column;
  transform-origin:center center;
  flex-shrink:0;
  box-sizing:border-box;
}
.present-frame.cols-1 .cards-grid{ grid-template-columns:repeat(1,minmax(0,1fr)); }
.present-frame.cols-2 .cards-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.present-frame.cols-3 .cards-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.present-frame.cols-4 .cards-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.present-frame.cols-6 .cards-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); }
.present-frame.cols-12 .cards-grid{ grid-template-columns:repeat(12,minmax(0,1fr)); }
.present-nav{
  flex-shrink:0;
  display:flex; align-items:center; gap:16px;
  padding:16px 0 28px;
}
.present-nav-btn{
  width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.25);
  background:rgba(255,255,255,0.08);
  color:var(--md-color-grey-white); font-size:var(--text-2xl); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.present-nav-btn:hover{ background:rgba(255,255,255,0.18); }
.present-nav-btn:disabled{ opacity:0.3; cursor:default; }
.present-nav-btn:disabled:hover{ background:rgba(255,255,255,0.08); }
.present-counter{ color:rgba(255,255,255,0.75); font-size:var(--text-base); min-width:56px; text-align:center; }
.present-tooltip{
  position:fixed; z-index:var(--z-modal-menu); display:none; pointer-events:none;
  background:var(--ui-inverse); color:var(--md-color-grey-white); font-family:var(--font-sans); font-size:var(--text-base);
  padding:6px 10px; border-radius:6px; box-shadow:0 6px 20px rgba(20,30,50,0.32);
  transform:translate(-50%, -100%);
}
.present-tooltip.open{ display:block; }
/*! /css/slide-generate-panel.css */
.slide-gen-section{ flex:1; min-height:0; }

.slide-gen-chat{ flex:1; min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:18px; scrollbar-width:none; }
.slide-gen-chat::-webkit-scrollbar{ display:none; }

.slide-gen-idle{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; text-align:center; color:var(--ui-muted);
}
.slide-gen-idle img{ width:32px; height:32px; }
.slide-gen-idle span{ font-size:var(--text-base); font-family:var(--font-sans); }

.slide-gen-msg{ display:flex; flex-direction:column; }
.slide-gen-msg-user{ align-items:flex-end; }
.slide-gen-msg-ai{ flex-direction:column; align-items:stretch; gap:6px; }
.slide-gen-ai-icon{ width:18px; height:18px; flex-shrink:0; }
.slide-gen-ai-icon img{ width:100%; height:100%; display:block; }
.slide-gen-msg-ai > .slide-gen-ai-icon{ order:2; }
.slide-gen-ai-foot{ order:2; display:flex; align-items:center; gap:8px; min-height:18px; }

.slide-gen-bubble{ flex:1; min-width:0; font-size:var(--text-base); line-height:1.5; color:var(--ui-text); max-width:100%; }
.slide-gen-msg-user .slide-gen-bubble{
  position:relative; background:var(--md-neutral-background-2-rest); border-radius:10px;
  padding:8px 10px; white-space:pre-wrap; word-break:break-word; box-sizing:border-box;
}
.slide-gen-msg-user .slide-gen-bubble-code{ font-family:var(--font-mono); font-size:var(--text-md); }
.slide-gen-msg-user .slide-gen-bubble{ max-height:2000px; overflow:hidden; transition:max-height .3s ease, padding-bottom .3s ease; }
.slide-gen-msg-user .slide-gen-bubble.collapsed{ max-height:120px; padding-bottom:36px; }
.slide-gen-bubble-fade{ display:flex; justify-content:flex-end; }
.slide-gen-bubble.collapsed .slide-gen-bubble-fade{
  position:absolute; left:0; right:0; bottom:0; height:36px; align-items:flex-end;
  background:linear-gradient(to bottom, transparent, var(--md-neutral-background-2-rest) 65%);
  border-radius:0 0 10px 10px;
}
.slide-gen-toggle-btn{ padding:4px 10px; }

.slide-gen-loading{ color:var(--ui-muted); animation:slide-gen-pulse 1.4s ease-in-out infinite; }
@keyframes slide-gen-pulse{ 0%, 100%{ opacity:1; } 50%{ opacity:0.45; } }

.slide-gen-question{
  border:1px solid var(--ui-accent); border-radius:10px; padding:10px;
  display:flex; flex-direction:column; gap:2px;
  max-height:min(320px, 50vh); overflow-y:auto; scrollbar-width:none;
}
.slide-gen-question::-webkit-scrollbar{ display:none; }
.slide-gen-question.hidden{ display:none; }
.slide-gen-question-head{ display:flex; align-items:center; justify-content:flex-start; gap:8px; }
.slide-gen-question-head p{ flex:1; min-width:0; }
.slide-gen-question p{ margin:0 0 6px; font-size:var(--text-base); line-height:1.5; color:var(--md-color-grey-black); font-family:var(--font-display)}
.slide-gen-option{
  display:flex; align-items:center; gap:8px; border:none; background:none; text-align:left;
  padding:6px; border-radius:7px; cursor:pointer; font-family:var(--font-sans);
  font-size:var(--text-base); color:var(--ui-text);
}
.slide-gen-option:hover{ background:var(--md-neutral-background-2-rest); }
.slide-gen-question-other{ display:flex; gap:6px; margin-top:4px; }
.slide-gen-question-other-input{
  flex:1; min-width:0; height:28px; box-sizing:border-box; border:1px solid var(--ui-border); border-radius:8px; padding:0 10px;
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text);
}
.slide-gen-question-other-input:focus{ outline:none; border-color:var(--ui-accent); }
.slide-gen-question-other-send{ width:28px; height:28px; border-radius:8px; font-size:var(--text-md); }
.slide-gen-option-num{
  width:20px; height:20px; flex-shrink:0; border-radius:6px;
  background:var(--md-neutral-background-2-rest); color:var(--ui-muted);
  display:flex; align-items:center; justify-content:center; font-size:var(--text-sm); font-weight:var(--font-weight-semibold);
}
.slide-gen-option-body{ display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.slide-gen-option-label{ width:100%; }
.slide-gen-option-badge{
  margin-left:auto; padding:1px 7px; border-radius:5px; font-size:var(--text-xs); font-weight:var(--font-weight-semibold);
  background:var(--ui-accent-soft); color:var(--ui-accent); flex-shrink:0; white-space:nowrap;
}

.slide-gen-question-step{
  flex-shrink:0; padding:2px 7px; border-radius:5px;
  font-size:var(--text-xs); font-weight:var(--font-weight-semibold); line-height:1.4;
  background:var(--ui-accent-soft); color:var(--ui-accent); white-space:nowrap;
}
.slide-gen-question-actions{ display:flex; justify-content:flex-end; align-items:center; gap:8px; margin-top:8px; }
.slide-gen-question-prev{
  margin-right:auto; display:inline-flex; align-items:center; gap:6px;
  border:none; background:none; color:var(--ui-muted); font-size:var(--text-md); cursor:pointer;
  padding:6px 10px 6px 6px; border-radius:6px; font-family:var(--font-sans);
}
.slide-gen-question-prev:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }
.slide-gen-question-prev:disabled{ opacity:0.35; cursor:default; }
.slide-gen-question-prev:disabled:hover{ background:none; color:var(--ui-muted); }
.slide-gen-question-skip{
  display:inline-block; width:auto; text-align:center;
  border:none; background:none; color:var(--ui-muted); font-size:var(--text-md); cursor:pointer;
  padding:6px 10px; border-radius:6px; font-family:var(--font-sans);
}
.slide-gen-question-skip:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }

.slide-gen-option.selected{ background:var(--ui-accent-soft); }
.slide-gen-option.selected .slide-gen-option-num{ background:var(--ui-accent); color:var(--md-color-grey-white); }
.slide-gen-option:disabled{ opacity:0.4; cursor:default; }
.slide-gen-option:disabled:hover{ background:none; }
.slide-gen-question-submit{
  display:inline-block; width:auto; text-align:center; border:none; border-radius:8px;
  padding:8px 14px; background:var(--ui-accent); color:var(--md-color-grey-white); font-size:var(--text-base); font-weight:var(--font-weight-semibold); cursor:pointer;
  font-family:var(--font-sans); white-space:nowrap;
}
.slide-gen-question-submit:disabled{ opacity:0.4; cursor:default; }
.slide-gen-question-submit:not(:disabled):hover{ opacity:0.9; }

.slide-gen-question-recap-title{ font-weight:var(--font-weight-semibold); }
.slide-gen-question-recap-list{ display:flex; flex-direction:column; gap:2px; margin-bottom:8px; }
.slide-gen-question-recap-row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:8px; padding:6px;
  border-radius:7px; cursor:pointer; flex-direction: column;
}
.slide-gen-question-recap-row:hover{ background:var(--md-neutral-background-2-rest); }
.slide-gen-question-recap-text{ display:flex; flex-direction:column; gap:2px; flex:1; min-width:0; }
.slide-gen-question-recap-q{ font-size:var(--text-md); color:var(--ui-muted); }
.slide-gen-question-recap-a-row{ display:flex; align-items:center; gap:6px; }
.slide-gen-question-recap-a{ font-size:var(--text-base); font-weight:var(--font-weight-medium); }
.slide-gen-question-recap-a-row i{ font-size:var(--text-sm); color:var(--ui-muted); flex-shrink:0; }
.slide-gen-question-recap-send{ align-self:flex-end; width:auto; }

.slide-gen-progress{ flex:1; min-width:0; display:flex; flex-direction:column; gap:7px; padding:2px 0; }
.slide-gen-progress-item{ display:flex; align-items:flex-start; gap:8px; font-size:var(--text-base); line-height:1.45; color:var(--ui-muted); transition:color .15s; }
.slide-gen-progress-item i{ font-size:var(--text-base); line-height:1.45; width:13px; text-align:center; color:var(--ui-muted); flex-shrink:0; transition:color .15s; }
.slide-gen-progress-item > span{ flex:1 1 0; min-width:0; }
.slide-gen-progress-item > i.fa-circle{ line-height:2.2; }
.slide-gen-progress-item i.fa-circle{ font-size:9px; color:var(--ui-muted-light); animation:claude-progress-dot 1.4s ease-in-out infinite; }
@keyframes claude-progress-dot{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(.55); opacity:.35; } }
.slide-gen-progress-item:not(.done) > span{
  background-image:linear-gradient(90deg, var(--ui-muted-light), var(--ui-border) 50%, var(--ui-muted-light));
  background-size:200% 100%; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  animation:claude-thinking-shimmer 1.6s linear infinite;
}
.slide-gen-progress-item.done{ color:var(--ui-text); }
.slide-gen-progress-item.done i{ color:var(--ui-muted); }
.slide-gen-progress-item.done.errored i{ color:var(--md-color-pink-500); }
.slide-gen-progress-item.no-icon{ padding-left:21px; }
.slide-gen-progress-item{ position:relative; }
.slide-gen-progress-item:not(:last-child)::before{
  content:''; position:absolute; left:6px; top:22px; bottom:-2px; width:1px; background:var(--ui-border);
}
.claude-reasoning-toggle{
  display:flex; align-items:center; gap:5px; border:none; background:none; padding:4px 0 6px 0;
  color:var(--ui-muted); font-size:var(--text-md); font-family:var(--font-sans); cursor:pointer;
}
.claude-reasoning-toggle i{ font-size:var(--text-xs); transition:transform .15s; }
.claude-reasoning-wrap.collapsed .claude-reasoning-toggle i{ transform:rotate(-90deg); }
.claude-reasoning-wrap.collapsed .slide-gen-progress{ display:none; }
.slide-gen-msg:has(.slide-gen-progress i.fa-circle) .slide-gen-ai-icon{ animation:claude-ai-icon-pulse 1.3s ease-in-out infinite; }
@keyframes claude-ai-icon-pulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(0.85); opacity:0.5; } }

.slide-gen-progress-item.slide-gen-progress-thinking.done span{
  animation:none; background-image:none; -webkit-text-fill-color:var(--md-color-grey-500); color:var(--md-color-grey-500);
}
.slide-gen-progress-item.slide-gen-progress-thinking.done i{ color:var(--md-color-grey-500); }
@keyframes claude-thinking-shimmer{ 0%{ background-position:200% 0; } 100%{ background-position:-200% 0; } }
.slide-gen-progress-item.slide-gen-progress-thinking.errored span{
  animation:none; background-image:none; -webkit-text-fill-color:var(--ui-text); color:var(--ui-text);
}
.slide-gen-progress-item.slide-gen-progress-thinking.errored i{ color:var(--md-color-pink-500); }

.slide-gen-qa{
  display:flex; flex-direction:column; gap:8px; margin:2px 0 2px 21px; padding:8px 10px;
  background:var(--md-neutral-background-2-rest); border:1px solid var(--ui-border); border-radius:8px;
}
.slide-gen-qa-row{ display:flex; flex-direction:column; gap:2px; font-size:var(--text-base); line-height:1.4; }
.slide-gen-qa-q{ color:var(--md-neutral-foreground-3-rest); }
.slide-gen-qa-a{ color:var(--md-neutral-foreground-1-rest); }
.slide-gen-search-item{ gap:8px; }
.slide-gen-search-label{ flex:1; min-width:0; }
.slide-gen-search-item.slide-gen-search-error{ color:var(--ui-danger); }
.slide-gen-search-item.slide-gen-search-error i{ color:var(--ui-danger); }
.slide-gen-progress-item:has(.slide-gen-search-sources){ flex-wrap:wrap; }
.slide-gen-search-sources{
  flex-basis:100%; display:flex; flex-direction:column; gap:4px; padding:2px 0 0 21px; font-size:var(--text-md);
}
.slide-gen-search-sources a i{ margin-right:6px; }
.slide-gen-search-sources a{
  color:var(--ui-muted); text-decoration:none; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap;
}
.slide-gen-search-sources a:hover{ color:var(--ui-accent); text-decoration:underline; }

.claude-timeline-chevron{
  border:none; background:none; color:var(--ui-muted); cursor:pointer; padding:2px 4px;
  display:flex; align-items:center; flex-shrink:0; margin-left:auto;
}
.claude-timeline-detail{
  padding:4px 0 2px 21px; font-size:var(--text-base); line-height:1.5; color:var(--ui-muted);
}
.claude-timeline-detail.hidden{ display:none; }
.claude-timeline-final{ margin-top:8px; padding-top:10px; border-top:1px solid var(--ui-border); }
.claude-timeline-body{ flex:1; min-width:0; display:flex; flex-direction:column; }
.claude-timeline-elapsed{ font-size:var(--text-sm); color:var(--ui-muted); line-height:18px; }
.claude-timeline-elapsed:empty{ display:none; }

.slide-gen-composer{ position:relative; flex-shrink:0; margin-top:26px; max-width:100%; }
.claude-scroll-affordance{
  position:absolute; left:0; right:0; bottom:calc(100% + 12px); display:flex; flex-direction:column; align-items:center;
  pointer-events:none; opacity:1; transition:opacity .18s ease;
}
.claude-scroll-affordance.hidden{ display:flex; opacity:0; pointer-events:none; }
.claude-scroll-down-btn{
  position:relative; z-index:1; margin-bottom:-14px; width:32px; height:32px; border-radius:50%;
  border:1px solid var(--ui-border); background:var(--md-color-grey-white); color:var(--ui-text); font-size:var(--text-base); cursor:pointer;
  display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(var(--shadow-rgb),0.16);
  pointer-events:auto;
}
.claude-scroll-down-btn:hover{ background:var(--md-neutral-background-2-rest); }
.claude-scroll-gradient{
  width:100%; height:36px; background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}
.slide-gen-textarea{
  width:100%; max-width:100%; min-height:40px; max-height:220px; resize:none; box-sizing:border-box;
  border:1px solid var(--ui-border); border-radius:10px; padding:10px 40px 10px 12px;
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text); overflow-y:auto; scrollbar-width:none;
}
.slide-gen-textarea::-webkit-scrollbar{ display:none; }
.slide-gen-textarea:focus{ outline:none; border-color:var(--ui-accent); }
.slide-gen-textarea::placeholder{ color:var(--ui-muted); }
.slide-gen-send-btn{ position:absolute; right:8px; bottom:8px; width:28px; height:28px; border-radius:10px; font-size:var(--text-md); }
.slide-gen-send-btn.hidden{ display:none; }
.claude-composer{
  border:1px solid var(--ui-border); border-radius:12px; padding:8px 8px 6px; background:var(--md-color-grey-white);
  transition:border-color .15s;
  margin:14px 4px 10px;
}
.claude-composer:focus-within{ border-color:var(--ui-accent); }
.claude-composer #claudeInput{
  border:none; padding:4px 4px 0; min-height:36px;
}
.claude-composer #claudeInput:focus{ border:none; outline:none; }
.claude-composer-actions{ display:flex; align-items:center; justify-content:space-between; margin-top:2px; }
.claude-attach-btn{
  position:static; width:28px; height:28px; border-radius:10px;
  border:none; background:transparent; color:var(--ui-muted); font-size:var(--text-lg); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.claude-attach-btn:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }
.claude-composer .slide-gen-send-btn{ position:static; }

.claude-file-chips{ display:flex; flex-direction:column; gap:6px; margin-bottom:8px; }
.claude-file-chips.hidden{ display:none; }
.claude-file-chip{
  display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:8px;
  border:1px solid var(--ui-border); background:var(--md-neutral-background-2-rest);
  font-family:var(--font-sans); font-size:var(--text-md); color:var(--ui-text);
}
.claude-file-chip i.fa-file-lines, .claude-file-chip i.fa-spinner{ color:var(--ui-muted); flex-shrink:0; }
.claude-file-chip.pending{ opacity:.75; }
.claude-file-chip-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.claude-file-chip-size{ color:var(--ui-muted); flex-shrink:0; }
.claude-file-chip button{
  border:none; background:none; padding:2px; cursor:pointer; color:var(--ui-muted);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.claude-file-chip button:hover{ color:var(--ui-text); }

.slide-gen-skeleton{
  position:absolute; inset:0; z-index:50; background:var(--frame-bg);
  display:flex; flex-direction:column; gap:32px; padding:64px; box-sizing:border-box;
}
.slide-gen-skeleton-title{ height:56px; width:40%; }
.slide-gen-skeleton-row{ flex:1; display:flex; gap:24px; }
.slide-gen-skeleton-block{
  flex:1; border-radius:16px;
  background:linear-gradient(90deg, var(--slide-surface-2) 25%, var(--slide-surface-3) 37%, var(--slide-surface-2) 63%);
  background-size:400% 100%; animation:slide-gen-skeleton-shimmer 1.4s ease infinite; width: 100%;
}
@keyframes slide-gen-skeleton-shimmer{ 0%{ background-position:100% 0; } 100%{ background-position:0 0; } }

.claude-plan-card{
  flex:1; min-width:0; background:var(--md-neutral-background-2-rest);
  border-radius:10px; padding:10px 12px;
}
.claude-plan-card-header{
  display:flex; align-items:center; justify-content:space-between;
  font-size:var(--text-md); color:var(--md-neutral-foreground-3-rest); margin-bottom:8px;
}
.claude-plan-card-actions{ display:flex; gap:2px; }
.claude-plan-card-actions .icon-btn{ width:24px; height:24px; font-size:var(--text-md); }
.claude-plan-card-list{
  margin:0; padding:0 0 0 16px; display:flex; flex-direction:column; gap:6px;
  font-size:var(--text-base); color:var(--ui-text); line-height:1.4;
}

.rail-section[data-section="claude"]{ position:relative; }
.claude-plan-edit-panel{
  display:none; position:absolute; inset:0; z-index:20; background:var(--md-color-grey-white);
  flex-direction:column;
}
.claude-plan-edit-panel.open{ display:flex; }
.claude-plan-edit-header{
  display:flex; align-items:center; justify-content:space-between; gap:4px; flex-shrink:0;
  padding:10px 12px; border-bottom:1px solid var(--ui-border);
}
.claude-plan-edit-header-actions{ display:flex; align-items:center; gap:4px; }
.claude-plan-edit-body{
  flex:1; width:100%; box-sizing:border-box; outline:none; overflow-y:auto;
  padding:16px; font-family:var(--font-sans); font-size:var(--text-base); line-height:1.6; color:var(--ui-text);
  white-space:pre-wrap;
}
.claude-plan-edit-footer{ flex-shrink:0; padding:10px 12px; }

.plan-ai-edit-old{ text-decoration:line-through; }
.plan-ai-edit-new{ margin-top:2px; }

.ai-code-block{
  margin:8px 0; border-radius:8px; overflow:hidden; background:var(--ui-inverse-2); max-width:100%;
}
.ai-code-block-header{
  display:flex; align-items:center; justify-content:space-between; padding:4px 8px;
  background:var(--ui-inverse); font-family:var(--font-sans); font-size:var(--text-sm); color:var(--ui-muted);
}
.ai-code-lang{ text-transform:lowercase; }
.ai-code-copy-btn{
  border:none; background:none; color:var(--ui-muted); cursor:pointer; padding:3px 6px; border-radius:5px;
  font-size:var(--text-md); line-height:1;
}
.ai-code-copy-btn:hover{ background:rgba(255,255,255,0.08); color:var(--md-color-grey-white); }
.ai-code-pre{
  margin:0; padding:10px; overflow-x:auto; overflow-y:hidden; max-height:2000px;
  font-family:var(--font-mono); font-size:var(--text-md); line-height:1.5;
  color:var(--ui-border); white-space:pre; transition:max-height .3s ease;
}
.ai-code-pre.collapsed{ max-height:220px; overflow-y:hidden; }
.ai-code-toggle-btn{
  display:block; width:100%; border:none; border-top:1px solid rgba(255,255,255,0.08);
  background:var(--ui-inverse); color:var(--ui-muted); font-family:var(--font-sans); font-size:var(--text-sm);
  cursor:pointer; padding:5px 0;
}
.ai-code-toggle-btn:hover{ color:var(--md-color-grey-white); }

.ai-word{ display:inline-block; opacity:0; transform:translateY(6px); animation:aiWordIn .35s ease forwards; }
@keyframes aiWordIn{ to{ opacity:1; transform:translateY(0); } }
.ai-word.ai-word-done{ animation:none; opacity:1; transform:none; }
.slide-gen-progress-conclusion{
  margin-top:10px; padding-left:0px; font-size:var(--text-base); line-height:1.45; color:var(--ui-text);
}
.claude-recap-sources-toggle{
  flex:1; min-width:0; display:flex; align-items:center; gap:8px;
  background:none; border:none; padding:0; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text); text-align:left;
}
.claude-recap-sources-count{
  font-size:var(--text-sm); color:var(--ui-muted); background:var(--ui-surface-2);
  border-radius:20px; padding:0 7px; line-height:18px;
}
.claude-recap-sources-caret{ margin-left:auto; font-size:var(--text-sm); color:var(--ui-muted); }
.claude-recap-sources-toggle:hover .claude-recap-sources-caret{ color:var(--ui-text); }
.claude-recap-sources-item{ flex-wrap:wrap; }
.claude-recap-sources-list{ flex-basis:100%; padding-left:22px; }
.claude-recap-sources-list.hidden{ display:none; }
.slide-gen-progress-item:has(.slide-gen-progress-note){ flex-wrap:wrap; }
.slide-gen-progress-item .slide-gen-progress-note{
  flex-basis:100%; display:block; padding-left:22px; margin-top:-2px;
  font-size:var(--text-sm); line-height:1.35; color:var(--ui-muted);
}
.slide-gen-progress-item.no-icon .slide-gen-progress-note{ padding-left:0; }

.slide-gen-question{ position:relative; }
.slide-gen-question.has-scroll:not(.at-scroll-end)::after{
  content:''; position:sticky; display:block; bottom:0; left:0; right:0;
  height:56px; margin-top:-56px; pointer-events:none;
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(255,255,255,0.92) 45%, rgba(255,255,255,0) 100%);
  transition:opacity .16s ease;
}
.slide-gen-question-actions,
.slide-gen-question-recap-send{
  position:sticky; bottom:0; z-index:2;
  background:var(--md-color-grey-white); padding:10px 6px 6px;
}
.slide-gen-question-recap-send{ align-self:flex-end; margin-right:6px; }
.slide-gen-question-actions{ padding-right:6px; }

html[data-ui-theme="dark"] .claude-scroll-gradient{ background:linear-gradient(to bottom, rgba(26,31,39,0), rgba(26,31,39,1)); }
html[data-ui-theme="dark"] .slide-gen-question.has-scroll:not(.at-scroll-end)::after{
  background:linear-gradient(to top, var(--md-color-grey-white) 0%, rgba(26,31,39,0.92) 45%, rgba(26,31,39,0) 100%);
}

.claude-composer:not(:focus-within):has(#claudeInput:placeholder-shown) .claude-composer-actions{ display:none; }
.claude-composer:focus-within #claudeInput,
.claude-composer:has(#claudeInput:not(:placeholder-shown)) #claudeInput{ min-height:72px; }
#claudeComposerQuestion:not(.hidden){ margin-top:26px; }
#claudeComposerQuestion:not(.hidden) + .claude-composer{ margin-top:8px; }

.slide-gen-progress-item.slide-gen-qa-item{ align-items:flex-start; }
.slide-gen-progress-item.slide-gen-qa-item > i{ margin-top:0px; }
.slide-gen-progress-item.slide-gen-qa-item .slide-gen-qa{ margin:0; flex:1; min-width:0; }
.slide-gen-progress-item.slide-gen-qa-item .slide-gen-qa .slide-gen-qa-q{ color:var(--md-neutral-foreground-3-rest); -webkit-text-fill-color:currentColor; }
.slide-gen-progress-item.slide-gen-qa-item .slide-gen-qa .slide-gen-qa-a{ color:var(--md-neutral-foreground-1-rest); -webkit-text-fill-color:currentColor; }
