slideshare/public/themes/default/style.css
Michael Mainguy 98958b2cb3 Remove iframe previews and improve theme hot reload with SVG demo content
- Remove iframe previews from theme detail and layout detail pages for cleaner UI
- Replace with informative layout cards showing descriptions and slot type badges
- Fix theme hot reload by switching from custom HMR to full page reload
- Update template renderer to use slot names as demo content
- Add SVG pattern generation for image slots with grid background and slot labels
- Improve demo content for all slot types (code, lists, tables, etc.)
- Clean up HMR listeners and simplify theme change detection

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 14:11:51 -05:00

195 lines
3.7 KiB
CSS

/*
* Theme: Default
* Name: Default Theme
* Description: Clean and simple theme suitable for any presentation
* Author: Michael Mainguy (mike.mainguy@gmail.com)
* Version: 0.1.0
*/
:root {
--theme-primary: #2563eb;
--theme-secondary: #64748b;
--theme-accent: #0ea5e9;
--theme-background: #000000;
--theme-text: #ffffff;
--theme-text-secondary: #64748b;
--theme-font-heading: 'Inter', system-ui, sans-serif;
--theme-font-body: 'Inter', system-ui, sans-serif;
--theme-font-code: 'JetBrains Mono', 'Consolas', monospace;
--slide-width: 100vw;
--slide-height: 100vh;
--slide-padding: 2rem;
}
/* Base slide container */
.slide {
width: var(--slide-width);
height: var(--slide-height);
background: var(--theme-background);
color: var(--theme-text);
font-family: var(--theme-font-body);
padding: var(--slide-padding);
box-sizing: border-box;
display: flex;
flex-direction: column;
position: relative;
overflow: hidden;
}
/* Master slide elements */
.master-slide {
position: absolute;
z-index: 1;
}
.master-slide.footer {
bottom: 0;
left: 0;
right: 0;
padding: 1rem;
text-align: center;
font-size: 0.875rem;
opacity: 0.6;
}
/* Slot styles */
.slot {
position: relative;
border: 2px dashed transparent;
min-height: 2rem;
transition: border-color 0.2s ease;
}
.slot:hover,
.slot.editing {
border-color: var(--theme-accent);
border-radius: 4px;
}
.slot.empty {
border-color: var(--theme-secondary);
opacity: 0.5;
display: flex;
align-items: center;
justify-content: center;
}
.slot.empty::before {
content: attr(data-placeholder);
color: var(--theme-text-secondary);
font-style: italic;
}
/* Text slots */
.slot[data-type="title"] {
font-family: var(--theme-font-heading);
font-weight: bold;
line-height: 1.2;
}
.slot[data-type="subtitle"] {
font-family: var(--theme-font-heading);
line-height: 1.4;
opacity: 0.8;
}
.slot[data-type="text"] {
line-height: 1.6;
}
/* Image slots */
.slot[data-type="image"] {
display: flex;
align-items: center;
justify-content: center;
background: #f8fafc;
border-radius: 8px;
}
.slot[data-type="image"] img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
border-radius: 4px;
}
/* Layout-specific styles */
/* Title slide layout */
.layout-title-slide {
justify-content: center;
align-items: center;
text-align: center;
}
.layout-title-slide .slot[data-slot="title"] {
font-size: clamp(2rem, 5vw, 4rem);
margin-bottom: 2rem;
width: 80%;
color: var(--theme-primary);
}
.layout-title-slide .slot[data-slot="subtitle"] {
font-size: clamp(1rem, 2.5vw, 2rem);
color: var(--theme-text-secondary);
}
/* Content slide layout */
.layout-content-slide .slot[data-slot="title"] {
font-size: clamp(1.5rem, 3vw, 2.5rem);
margin-bottom: 2rem;
padding-bottom: 1rem;
border-bottom: 2px solid var(--theme-primary);
}
.layout-content-slide .slot[data-slot="content"] {
font-size: clamp(1rem, 1.5vw, 1.25rem);
flex: 1;
}
/* Image slide layout */
.layout-image-slide .slot[data-slot="title"] {
font-size: clamp(1.5rem, 3vw, 2.5rem);
margin-bottom: 2rem;
text-align: center;
}
.layout-image-slide .slot[data-slot="image"] {
flex: 1;
margin-top: 1rem;
}
/* Responsive adjustments */
@media (max-width: 768px) {
:root {
--slide-padding: 1rem;
}
.layout-title-slide .slot[data-slot="title"] {
margin-bottom: 1rem;
}
.layout-content-slide .slot[data-slot="title"] {
margin-bottom: 1rem;
}
}
/* Print styles for presentations */
@media print {
.slide {
page-break-after: always;
width: 100%;
height: 100vh;
}
.slot {
border: none !important;
}
.slot.empty::before {
display: none;
}
}/* Test change Wed Aug 20 13:55:27 CDT 2025 */