UNPKG

slidev-theme-oqtopus

Version:

Slidev theme for OQTOPUS presentations

220 lines (191 loc) 4.99 kB
:root { /* OQTOPUS Brand Colors - based on logo */ --oqtopus-red: #E53E3E; /* Primary red from logo */ --oqtopus-blue: #2B6CB0; /* Primary blue from logo */ --oqtopus-dark: #1A202C; /* Dark navy/black from logo */ --oqtopus-light: #FFFFFF; /* White */ /* Theme color mapping */ --slidev-theme-primary: var(--oqtopus-blue); --slidev-theme-secondary: var(--oqtopus-red); --slidev-theme-accent: #4299E1; /* Lighter blue accent */ --slidev-theme-background: #FAFAFA; /* Subtle off-white */ --slidev-theme-text: var(--oqtopus-dark); --slidev-theme-muted: #718096; /* Muted text */ /* Business theme additions */ --slidev-theme-success: #38A169; --slidev-theme-warning: #D69E2E; --slidev-theme-error: var(--oqtopus-red); --slidev-theme-gradient: linear-gradient(135deg, var(--oqtopus-blue), var(--oqtopus-red)); --slidev-theme-shadow: 0 10px 25px rgba(26, 32, 44, 0.1); /* Typography */ --slidev-font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; --slidev-font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace; } .slidev-layout.cover, .slidev-layout.intro { @apply h-full grid; background: linear-gradient(135deg, var(--slidev-theme-primary), var(--slidev-theme-secondary)); color: white; padding: 0 !important; /* Override general padding for cover slides */ h1 { @apply text-5xl leading-20 font-bold; background: linear-gradient(45deg, #ffffff, var(--slidev-theme-accent)); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } h1 + p { @apply -mt-2 opacity-80 mb-4 text-lg; } p + h2, ul + h2, table + h2 { @apply mt-8; } } /* General slide styling with proper containment */ .slidev-layout { background-color: var(--slidev-theme-background); color: var(--slidev-theme-text); font-family: var(--slidev-font-family); line-height: 1.6; padding: 1.5rem 1.5rem; box-sizing: border-box; max-width: 100vw; max-height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start; } /* Compact typography for better slide containment */ .slidev-layout h1 { font-size: 2rem; font-weight: 700; line-height: 1.1; margin-bottom: 1rem; margin-top: 0; color: var(--oqtopus-dark); } .slidev-layout h2 { font-size: 1.5rem; font-weight: 600; line-height: 1.2; margin-bottom: 0.75rem; margin-top: 0; color: var(--oqtopus-blue); border-bottom: 2px solid var(--oqtopus-red); padding-bottom: 0.25rem; } .slidev-layout h3 { font-size: 1.25rem; font-weight: 500; line-height: 1.3; margin-bottom: 0.625rem; margin-top: 0; color: var(--oqtopus-blue); } .slidev-layout p { font-size: 0.95rem; margin-bottom: 0.75rem; margin-top: 0; color: var(--slidev-theme-text); } /* Code block styling */ .slidev-layout pre { @apply rounded-lg; border: 2px solid var(--oqtopus-blue); background: var(--oqtopus-dark); box-shadow: var(--slidev-theme-shadow); } .slidev-layout code { font-family: var(--slidev-font-mono); background: rgba(43, 108, 176, 0.1); padding: 0.25rem 0.5rem; border-radius: 0.375rem; font-size: 0.9em; } /* Compact business elements */ .oqtopus-highlight { background: var(--slidev-theme-gradient); padding: 0.75rem 1.5rem; border-radius: 0.75rem; color: white; font-weight: 600; box-shadow: var(--slidev-theme-shadow); margin: 1rem 0; font-size: 0.9rem; } .oqtopus-highlight strong { font-weight: 800; /* さらに太くする */ } .oqtopus-highlight h2 { color: white; /* タイトルを白に戻す */ } .oqtopus-card { background: white; border-radius: 0.75rem; padding: 1.25rem; box-shadow: var(--slidev-theme-shadow); border: 2px solid var(--oqtopus-blue); margin: 0.75rem 0; } .oqtopus-badge { background: var(--oqtopus-blue); color: white; padding: 0.5rem 1rem; border-radius: 2rem; font-weight: 600; font-size: 0.875rem; display: inline-block; } .oqtopus-badge h2 { color: white; /* タイトルを白に戻す */ } /* List styling */ .slidev-layout ul { list-style: none; padding-left: 0; } .slidev-layout li { position: relative; padding-left: 1.5rem; margin-bottom: 0.2rem; font-size: 0.9rem; } .slidev-layout li::before { content: ''; position: absolute; left: 0; top: 0.5rem; width: 0.5rem; height: 0.5rem; background: var(--oqtopus-red); border-radius: 50%; transform: translateY(-50%); } /* Table styling */ .slidev-layout table { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 1rem; overflow: hidden; box-shadow: var(--slidev-theme-shadow); margin: 1.5rem 0; } .slidev-layout th { background: var(--oqtopus-blue); color: white; padding: 1rem; font-weight: 600; text-align: left; } .slidev-layout td { padding: 1rem; border-bottom: 1px solid rgba(43, 108, 176, 0.1); background: white; } .slidev-layout tr:hover td { background: rgba(43, 108, 176, 0.05); }