.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; }

.library-thumb{ position:relative; }
#sourceFileInput{ position:fixed; left:0; bottom:0; width:1px; height:1px; opacity:0; pointer-events:none; }
.template-group-label{ font-size:var(--text-sm); text-transform:uppercase; letter-spacing:0.04em; color:var(--ui-muted); font-weight:var(--font-weight-semibold); margin:12px 2px 6px; grid-column:1 / -1; }
.template-group-label:first-child{ margin-top:2px; }
.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-light);
}
.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); }
.cols-group.mini-segment-labeled{ display:inline-flex; }
.cols-group.mini-segment-labeled button{ flex:0 0 auto; display:flex; align-items:center; gap:6px; padding:5px 10px; }
.cols-group.mini-segment-labeled 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; }
.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; }

.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; }

