@tienne/gestalt 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -1
- package/dist/role-agents/presentation-designer/AGENT.md +211 -0
- package/dist/role-agents/presentation-designer/templates/broadside.html +292 -0
- package/dist/role-agents/presentation-designer/templates/editorial-forest.html +264 -0
- package/dist/role-agents/presentation-designer/templates/emerald-editorial.html +273 -0
- package/dist/role-agents/presentation-designer/templates/neo-grid.html +407 -0
- package/dist/role-agents/presentation-designer/templates/pin-and-paper.html +225 -0
- package/dist/role-agents/presentation-designer/templates/pink-script.html +241 -0
- package/dist/role-agents/presentation-designer/templates/sakura-chroma.html +293 -0
- package/dist/role-agents/presentation-designer/templates/signal.html +403 -0
- package/dist/role-agents/presentation-designer/templates/stencil-tablet.html +211 -0
- package/dist/role-agents/presentation-designer/templates/studio.html +379 -0
- package/dist/skills/agent/SKILL.md +2 -0
- package/dist/skills/seed/SKILL.md +92 -0
- package/dist/src/cli/commands/monitor.d.ts +2 -0
- package/dist/src/cli/commands/monitor.d.ts.map +1 -0
- package/dist/src/cli/commands/monitor.js +13 -0
- package/dist/src/cli/commands/monitor.js.map +1 -0
- package/dist/src/cli/commands/seed.d.ts +4 -0
- package/dist/src/cli/commands/seed.d.ts.map +1 -0
- package/dist/src/cli/commands/seed.js +34 -0
- package/dist/src/cli/commands/seed.js.map +1 -0
- package/dist/src/interview/ambiguity.d.ts +8 -0
- package/dist/src/interview/ambiguity.d.ts.map +1 -0
- package/dist/src/interview/ambiguity.js +69 -0
- package/dist/src/interview/ambiguity.js.map +1 -0
- package/dist/src/mcp/tools/seed-passthrough.d.ts +5 -0
- package/dist/src/mcp/tools/seed-passthrough.d.ts.map +1 -0
- package/dist/src/mcp/tools/seed-passthrough.js +29 -0
- package/dist/src/mcp/tools/seed-passthrough.js.map +1 -0
- package/dist/src/mcp/tools/seed.d.ts +5 -0
- package/dist/src/mcp/tools/seed.d.ts.map +1 -0
- package/dist/src/mcp/tools/seed.js +19 -0
- package/dist/src/mcp/tools/seed.js.map +1 -0
- package/dist/src/recording/agg-converter.d.ts +25 -0
- package/dist/src/recording/agg-converter.d.ts.map +1 -0
- package/dist/src/recording/agg-converter.js +80 -0
- package/dist/src/recording/agg-converter.js.map +1 -0
- package/dist/src/recording/agg-installer.d.ts +6 -0
- package/dist/src/recording/agg-installer.d.ts.map +1 -0
- package/dist/src/recording/agg-installer.js +50 -0
- package/dist/src/recording/agg-installer.js.map +1 -0
- package/dist/src/recording/asciinema-installer.d.ts +6 -0
- package/dist/src/recording/asciinema-installer.d.ts.map +1 -0
- package/dist/src/recording/asciinema-installer.js +50 -0
- package/dist/src/recording/asciinema-installer.js.map +1 -0
- package/dist/src/recording/asciinema-recorder.d.ts +26 -0
- package/dist/src/recording/asciinema-recorder.d.ts.map +1 -0
- package/dist/src/recording/asciinema-recorder.js +52 -0
- package/dist/src/recording/asciinema-recorder.js.map +1 -0
- package/dist/src/recording/cast-generator.d.ts +7 -0
- package/dist/src/recording/cast-generator.d.ts.map +1 -0
- package/dist/src/recording/cast-generator.js +97 -0
- package/dist/src/recording/cast-generator.js.map +1 -0
- package/dist/src/recording/filename-generator.d.ts +19 -0
- package/dist/src/recording/filename-generator.d.ts.map +1 -0
- package/dist/src/recording/filename-generator.js +67 -0
- package/dist/src/recording/filename-generator.js.map +1 -0
- package/dist/src/recording/gif-generator.d.ts +21 -0
- package/dist/src/recording/gif-generator.d.ts.map +1 -0
- package/dist/src/recording/gif-generator.js +121 -0
- package/dist/src/recording/gif-generator.js.map +1 -0
- package/dist/src/recording/recording-dir.d.ts +5 -0
- package/dist/src/recording/recording-dir.d.ts.map +1 -0
- package/dist/src/recording/recording-dir.js +13 -0
- package/dist/src/recording/recording-dir.js.map +1 -0
- package/dist/src/recording/recording-orchestrator.d.ts +50 -0
- package/dist/src/recording/recording-orchestrator.d.ts.map +1 -0
- package/dist/src/recording/recording-orchestrator.js +98 -0
- package/dist/src/recording/recording-orchestrator.js.map +1 -0
- package/dist/src/recording/resume-detector.d.ts +10 -0
- package/dist/src/recording/resume-detector.d.ts.map +1 -0
- package/dist/src/recording/resume-detector.js +14 -0
- package/dist/src/recording/resume-detector.js.map +1 -0
- package/dist/src/recording/segment-merger.d.ts +27 -0
- package/dist/src/recording/segment-merger.d.ts.map +1 -0
- package/dist/src/recording/segment-merger.js +65 -0
- package/dist/src/recording/segment-merger.js.map +1 -0
- package/dist/src/recording/terminal-recorder.d.ts +31 -0
- package/dist/src/recording/terminal-recorder.d.ts.map +1 -0
- package/dist/src/recording/terminal-recorder.js +111 -0
- package/dist/src/recording/terminal-recorder.js.map +1 -0
- package/dist/src/scripts/postinstall.d.ts +2 -0
- package/dist/src/scripts/postinstall.d.ts.map +1 -0
- package/dist/src/scripts/postinstall.js +29 -0
- package/dist/src/scripts/postinstall.js.map +1 -0
- package/dist/src/seed/extractor.d.ts +15 -0
- package/dist/src/seed/extractor.d.ts.map +1 -0
- package/dist/src/seed/extractor.js +88 -0
- package/dist/src/seed/extractor.js.map +1 -0
- package/dist/src/seed/generator.d.ts +12 -0
- package/dist/src/seed/generator.d.ts.map +1 -0
- package/dist/src/seed/generator.js +66 -0
- package/dist/src/seed/generator.js.map +1 -0
- package/dist/src/seed/passthrough-generator.d.ts +31 -0
- package/dist/src/seed/passthrough-generator.d.ts.map +1 -0
- package/dist/src/seed/passthrough-generator.js +80 -0
- package/dist/src/seed/passthrough-generator.js.map +1 -0
- package/dist/src/seed/schema.d.ts +145 -0
- package/dist/src/seed/schema.d.ts.map +1 -0
- package/dist/src/seed/schema.js +37 -0
- package/dist/src/seed/schema.js.map +1 -0
- package/dist/src/tui/components/TUIApp.d.ts +20 -0
- package/dist/src/tui/components/TUIApp.d.ts.map +1 -0
- package/dist/src/tui/components/TUIApp.js +84 -0
- package/dist/src/tui/components/TUIApp.js.map +1 -0
- package/dist/src/tui/hooks/event-store-reader.d.ts +28 -0
- package/dist/src/tui/hooks/event-store-reader.d.ts.map +1 -0
- package/dist/src/tui/hooks/event-store-reader.js +141 -0
- package/dist/src/tui/hooks/event-store-reader.js.map +1 -0
- package/dist/src/tui/hooks/useEventStorePoller.d.ts +12 -0
- package/dist/src/tui/hooks/useEventStorePoller.d.ts.map +1 -0
- package/dist/src/tui/hooks/useEventStorePoller.js +84 -0
- package/dist/src/tui/hooks/useEventStorePoller.js.map +1 -0
- package/dist/src/tui/screens/DashboardScreen.d.ts +4 -0
- package/dist/src/tui/screens/DashboardScreen.d.ts.map +1 -0
- package/dist/src/tui/screens/DashboardScreen.js +132 -0
- package/dist/src/tui/screens/DashboardScreen.js.map +1 -0
- package/dist/src/tui/screens/DebugScreen.d.ts +4 -0
- package/dist/src/tui/screens/DebugScreen.d.ts.map +1 -0
- package/dist/src/tui/screens/DebugScreen.js +40 -0
- package/dist/src/tui/screens/DebugScreen.js.map +1 -0
- package/dist/src/tui/screens/EvolutionScreen.d.ts +4 -0
- package/dist/src/tui/screens/EvolutionScreen.d.ts.map +1 -0
- package/dist/src/tui/screens/EvolutionScreen.js +136 -0
- package/dist/src/tui/screens/EvolutionScreen.js.map +1 -0
- package/dist/src/tui/screens/HUDPanel.d.ts +4 -0
- package/dist/src/tui/screens/HUDPanel.d.ts.map +1 -0
- package/dist/src/tui/screens/HUDPanel.js +13 -0
- package/dist/src/tui/screens/HUDPanel.js.map +1 -0
- package/dist/src/tui/screens/InterviewScreen.d.ts +4 -0
- package/dist/src/tui/screens/InterviewScreen.d.ts.map +1 -0
- package/dist/src/tui/screens/InterviewScreen.js +103 -0
- package/dist/src/tui/screens/InterviewScreen.js.map +1 -0
- package/dist/src/tui/screens/LogScreen.d.ts +4 -0
- package/dist/src/tui/screens/LogScreen.d.ts.map +1 -0
- package/dist/src/tui/screens/LogScreen.js +83 -0
- package/dist/src/tui/screens/LogScreen.js.map +1 -0
- package/dist/src/tui/screens/SessionListScreen.d.ts +4 -0
- package/dist/src/tui/screens/SessionListScreen.d.ts.map +1 -0
- package/dist/src/tui/screens/SessionListScreen.js +71 -0
- package/dist/src/tui/screens/SessionListScreen.js.map +1 -0
- package/dist/src/tui/screens/SpecViewerScreen.d.ts +4 -0
- package/dist/src/tui/screens/SpecViewerScreen.d.ts.map +1 -0
- package/dist/src/tui/screens/SpecViewerScreen.js +73 -0
- package/dist/src/tui/screens/SpecViewerScreen.js.map +1 -0
- package/dist/src/tui/widgets/DriftMeter.d.ts +15 -0
- package/dist/src/tui/widgets/DriftMeter.d.ts.map +1 -0
- package/dist/src/tui/widgets/DriftMeter.js +27 -0
- package/dist/src/tui/widgets/DriftMeter.js.map +1 -0
- package/dist/src/tui/widgets/GestaltPrincipleBar.d.ts +9 -0
- package/dist/src/tui/widgets/GestaltPrincipleBar.d.ts.map +1 -0
- package/dist/src/tui/widgets/GestaltPrincipleBar.js +35 -0
- package/dist/src/tui/widgets/GestaltPrincipleBar.js.map +1 -0
- package/dist/src/tui/widgets/TaskDAGTree.d.ts +15 -0
- package/dist/src/tui/widgets/TaskDAGTree.d.ts.map +1 -0
- package/dist/src/tui/widgets/TaskDAGTree.js +54 -0
- package/dist/src/tui/widgets/TaskDAGTree.js.map +1 -0
- package/package.json +1 -1
- package/role-agents/presentation-designer/AGENT.md +211 -0
- package/role-agents/presentation-designer/templates/broadside.html +292 -0
- package/role-agents/presentation-designer/templates/editorial-forest.html +264 -0
- package/role-agents/presentation-designer/templates/emerald-editorial.html +273 -0
- package/role-agents/presentation-designer/templates/neo-grid.html +407 -0
- package/role-agents/presentation-designer/templates/pin-and-paper.html +225 -0
- package/role-agents/presentation-designer/templates/pink-script.html +241 -0
- package/role-agents/presentation-designer/templates/sakura-chroma.html +293 -0
- package/role-agents/presentation-designer/templates/signal.html +403 -0
- package/role-agents/presentation-designer/templates/stencil-tablet.html +211 -0
- package/role-agents/presentation-designer/templates/studio.html +379 -0
- package/skills/agent/SKILL.md +2 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="ko">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Pink Script — After Hours — Reveal.js</title>
|
|
6
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
7
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
8
|
+
<link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
|
9
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/reveal.css" />
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--ink: #060507;
|
|
13
|
+
--ink-2: #0F0D11;
|
|
14
|
+
--paper: #F5EDF1;
|
|
15
|
+
--pink: #ED3D8C;
|
|
16
|
+
--pink-2: #FF66A8;
|
|
17
|
+
--pink-deep: #B81D67;
|
|
18
|
+
--line: rgba(237, 61, 140, 0.32);
|
|
19
|
+
--mute: rgba(245, 237, 241, 0.55);
|
|
20
|
+
--hair: rgba(245, 237, 241, 0.14);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.reveal { font-family: 'Inter', sans-serif; }
|
|
24
|
+
.reveal .slides { text-align: left; }
|
|
25
|
+
.reveal .slides section {
|
|
26
|
+
box-sizing: border-box;
|
|
27
|
+
width: 100%; height: 100%;
|
|
28
|
+
padding: 0;
|
|
29
|
+
overflow: hidden;
|
|
30
|
+
top: 0 !important; left: 0 !important;
|
|
31
|
+
background: var(--ink);
|
|
32
|
+
color: var(--paper);
|
|
33
|
+
position: absolute;
|
|
34
|
+
}
|
|
35
|
+
.reveal h1,.reveal h2,.reveal h3,.reveal p,.reveal ul,.reveal ol { margin: 0; }
|
|
36
|
+
|
|
37
|
+
/* FILM GRAIN + HAIRLINE FRAME */
|
|
38
|
+
.reveal .slides section::after {
|
|
39
|
+
content: ""; position: absolute; inset: 28px; pointer-events: none;
|
|
40
|
+
border: 1px solid var(--hair); z-index: 1;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* CHROME */
|
|
44
|
+
.runner {
|
|
45
|
+
position: absolute; left: 48px; right: 48px; top: 48px;
|
|
46
|
+
display: flex; align-items: baseline; justify-content: space-between;
|
|
47
|
+
font-family: 'JetBrains Mono', monospace;
|
|
48
|
+
font-size: clamp(12px, 1.2vw, 18px); letter-spacing: 0.14em;
|
|
49
|
+
text-transform: uppercase; color: var(--mute); z-index: 5;
|
|
50
|
+
}
|
|
51
|
+
.runner .brand { color: var(--pink); }
|
|
52
|
+
.footer {
|
|
53
|
+
position: absolute; left: 48px; right: 48px; bottom: 48px;
|
|
54
|
+
display: flex; align-items: baseline; justify-content: space-between;
|
|
55
|
+
font-family: 'JetBrains Mono', monospace;
|
|
56
|
+
font-size: clamp(12px, 1.2vw, 18px); letter-spacing: 0.14em;
|
|
57
|
+
text-transform: uppercase; color: var(--mute); z-index: 5;
|
|
58
|
+
}
|
|
59
|
+
.footer .pageno { color: var(--paper); }
|
|
60
|
+
.footer .pageno em { color: var(--pink); font-style: normal; }
|
|
61
|
+
|
|
62
|
+
/* TYPOGRAPHY */
|
|
63
|
+
.script { font-family: 'DM Serif Display', serif; font-weight: 400; color: var(--pink); letter-spacing: -0.01em; line-height: 1.05; padding-bottom: 0.12em; }
|
|
64
|
+
.script.huge { font-size: clamp(100px,20vw,380px); }
|
|
65
|
+
.script.giant { font-size: clamp(70px, 14vw,250px); }
|
|
66
|
+
.script.large { font-size: clamp(50px, 9vw, 150px); }
|
|
67
|
+
.script.med { font-size: clamp(36px, 6vw, 100px); }
|
|
68
|
+
.script.sm { font-size: clamp(22px, 3.5vw,64px); }
|
|
69
|
+
.sans-display { font-family: 'Inter', sans-serif; font-weight: 300; text-transform: uppercase; letter-spacing: 0.04em; color: var(--paper); }
|
|
70
|
+
.mono { font-family: 'JetBrains Mono', monospace; letter-spacing: 0.12em; text-transform: uppercase; }
|
|
71
|
+
.rule { height: 1px; background: var(--pink); opacity: 0.45; }
|
|
72
|
+
.rule.thin { opacity: 0.25; background: var(--paper); }
|
|
73
|
+
|
|
74
|
+
/* STAT FIGURE */
|
|
75
|
+
.stat-figure { font-family: 'DM Serif Display', serif; font-size: clamp(60px,9vw,140px); line-height: 0.9; color: var(--pink); display: flex; align-items: baseline; }
|
|
76
|
+
.stat-unit { font-size: 0.5em; color: var(--paper); margin-left: 4px; }
|
|
77
|
+
|
|
78
|
+
/* PILL (matrix) */
|
|
79
|
+
.pill { display: inline-block; padding: 5px 12px; font-family: 'JetBrains Mono', monospace; font-size: clamp(11px,1.1vw,16px); letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid var(--pink); color: var(--pink); }
|
|
80
|
+
.pill.dim { border-color: var(--hair); color: var(--mute); }
|
|
81
|
+
.pill.solid { background: var(--pink); color: var(--ink); border-color: var(--pink); font-weight: 500; }
|
|
82
|
+
|
|
83
|
+
/* STEP (process) */
|
|
84
|
+
.step { display: flex; flex-direction: column; gap: 1rem; padding-top: 1.5vh; border-top: 1px solid var(--pink); }
|
|
85
|
+
</style>
|
|
86
|
+
</head>
|
|
87
|
+
<body style="margin:0;background:#000">
|
|
88
|
+
<div class="reveal">
|
|
89
|
+
<div class="slides">
|
|
90
|
+
|
|
91
|
+
<!-- COVER -->
|
|
92
|
+
<section>
|
|
93
|
+
<div class="runner"><span class="brand">{{ORGANIZATION}}</span><span>{{DATE}}</span></div>
|
|
94
|
+
<div style="position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5vh">
|
|
95
|
+
<div class="mono" style="font-size:clamp(11px,1.2vw,17px);color:var(--mute)">{{CATEGORY}}</div>
|
|
96
|
+
<div class="script huge" style="text-align:center">{{TITLE}}</div>
|
|
97
|
+
<div class="rule" style="width:60px;margin:1vh auto"></div>
|
|
98
|
+
<div class="sans-display" style="font-size:clamp(14px,1.8vw,26px)">{{SUBTITLE}}</div>
|
|
99
|
+
</div>
|
|
100
|
+
<div class="footer"><span>{{AUTHOR}}</span><span class="pageno"><em>01</em> / 08</span></div>
|
|
101
|
+
</section>
|
|
102
|
+
|
|
103
|
+
<!-- TOC -->
|
|
104
|
+
<section>
|
|
105
|
+
<div class="runner"><span class="brand">{{ORGANIZATION}}</span><span>Index</span></div>
|
|
106
|
+
<div style="position:absolute;left:48px;right:48px;top:120px;bottom:120px;display:grid;grid-template-columns:clamp(200px,28vw,380px) 1fr;gap:5vw">
|
|
107
|
+
<div><div class="script med">목차</div></div>
|
|
108
|
+
<div style="display:flex;flex-direction:column">
|
|
109
|
+
<div style="display:grid;grid-template-columns:clamp(60px,7vw,100px) 1fr clamp(100px,12vw,160px);gap:2vw;align-items:baseline;padding:1.5vh 0;border-bottom:1px solid var(--hair)">
|
|
110
|
+
<span class="mono" style="font-size:clamp(12px,1.3vw,18px);color:var(--mute)">01</span><span class="sans-display" style="font-size:clamp(14px,1.8vw,26px)">섹션 제목</span><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">설명</span>
|
|
111
|
+
</div>
|
|
112
|
+
<div style="display:grid;grid-template-columns:clamp(60px,7vw,100px) 1fr clamp(100px,12vw,160px);gap:2vw;align-items:baseline;padding:1.5vh 0;border-bottom:1px solid var(--hair)">
|
|
113
|
+
<span class="mono" style="font-size:clamp(12px,1.3vw,18px);color:var(--mute)">02</span><span class="sans-display" style="font-size:clamp(14px,1.8vw,26px)">섹션 제목</span><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">설명</span>
|
|
114
|
+
</div>
|
|
115
|
+
<div style="display:grid;grid-template-columns:clamp(60px,7vw,100px) 1fr clamp(100px,12vw,160px);gap:2vw;align-items:baseline;padding:1.5vh 0;border-bottom:1px solid var(--hair)">
|
|
116
|
+
<span class="mono" style="font-size:clamp(12px,1.3vw,18px);color:var(--mute)">03</span><span class="sans-display" style="font-size:clamp(14px,1.8vw,26px)">섹션 제목</span><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">설명</span>
|
|
117
|
+
</div>
|
|
118
|
+
<div style="display:grid;grid-template-columns:clamp(60px,7vw,100px) 1fr clamp(100px,12vw,160px);gap:2vw;align-items:baseline;padding:1.5vh 0">
|
|
119
|
+
<span class="mono" style="font-size:clamp(12px,1.3vw,18px);color:var(--mute)">04</span><span class="sans-display" style="font-size:clamp(14px,1.8vw,26px)">섹션 제목</span><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">설명</span>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="footer"><span>{{DATE}}</span><span class="pageno"><em>02</em> / 08</span></div>
|
|
124
|
+
</section>
|
|
125
|
+
|
|
126
|
+
<!-- SECTION DIVIDER -->
|
|
127
|
+
<section>
|
|
128
|
+
<div style="position:absolute;inset:0;display:flex;align-items:center;padding-left:clamp(80px,12vw,200px)">
|
|
129
|
+
<div>
|
|
130
|
+
<span class="mono" style="font-size:clamp(11px,1.2vw,17px);color:var(--mute);display:block;margin-bottom:1.5vh">Chapter 01</span>
|
|
131
|
+
<div class="script giant">섹션<br>제목</div>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
<div style="position:absolute;right:clamp(60px,7vw,120px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;max-width:clamp(180px,24vw,320px)">
|
|
135
|
+
<p class="sans-display" style="font-size:clamp(12px,1.5vw,22px);opacity:0.7">서브 설명이 여기에 들어갑니다.</p>
|
|
136
|
+
</div>
|
|
137
|
+
<div class="footer"><span>{{ORG}}</span><span class="pageno"><em>03</em> / 08</span></div>
|
|
138
|
+
</section>
|
|
139
|
+
|
|
140
|
+
<!-- STATS -->
|
|
141
|
+
<section>
|
|
142
|
+
<div class="runner"><span class="brand">{{ORGANIZATION}}</span><span>{{SECTION_LABEL}}</span></div>
|
|
143
|
+
<div style="position:absolute;left:48px;right:48px;top:120px;bottom:120px;display:grid;grid-template-columns:1fr 1.05fr;gap:5vw">
|
|
144
|
+
<div style="display:flex;flex-direction:column;justify-content:space-between">
|
|
145
|
+
<div>
|
|
146
|
+
<div class="script med">핵심<br>지표</div>
|
|
147
|
+
<p class="sans-display" style="font-size:clamp(12px,1.5vw,22px);opacity:0.7;margin-top:1.5vh">설명 텍스트</p>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="rule"></div>
|
|
150
|
+
</div>
|
|
151
|
+
<div style="display:flex;flex-direction:column;gap:1.5vh">
|
|
152
|
+
<div style="display:grid;grid-template-columns:clamp(120px,15vw,200px) 1fr;align-items:center;gap:2vw;padding-bottom:1.5vh;border-bottom:1px solid var(--hair)">
|
|
153
|
+
<div class="stat-figure">98<span class="stat-unit">%</span></div>
|
|
154
|
+
<div><p class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">지표명</p><p class="sans-display" style="font-size:clamp(12px,1.4vw,20px)">설명</p></div>
|
|
155
|
+
</div>
|
|
156
|
+
<div style="display:grid;grid-template-columns:clamp(120px,15vw,200px) 1fr;align-items:center;gap:2vw;padding-bottom:1.5vh;border-bottom:1px solid var(--hair)">
|
|
157
|
+
<div class="stat-figure">41<span class="stat-unit">개</span></div>
|
|
158
|
+
<div><p class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">지표명</p><p class="sans-display" style="font-size:clamp(12px,1.4vw,20px)">설명</p></div>
|
|
159
|
+
</div>
|
|
160
|
+
<div style="display:grid;grid-template-columns:clamp(120px,15vw,200px) 1fr;align-items:center;gap:2vw">
|
|
161
|
+
<div class="stat-figure">2.4<span class="stat-unit">s</span></div>
|
|
162
|
+
<div><p class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">지표명</p><p class="sans-display" style="font-size:clamp(12px,1.4vw,20px)">설명</p></div>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
<div class="footer"><span>{{DATE}}</span><span class="pageno"><em>04</em> / 08</span></div>
|
|
167
|
+
</section>
|
|
168
|
+
|
|
169
|
+
<!-- PROCESS (5-step) -->
|
|
170
|
+
<section>
|
|
171
|
+
<div class="runner"><span class="brand">{{ORGANIZATION}}</span><span>{{SECTION_LABEL}}</span></div>
|
|
172
|
+
<div style="position:absolute;left:48px;right:48px;top:120px;bottom:120px">
|
|
173
|
+
<div style="display:flex;justify-content:space-between;align-items:flex-end;gap:5vw;margin-bottom:3vh">
|
|
174
|
+
<div class="script sm">프로세스</div>
|
|
175
|
+
<p class="mono" style="font-size:clamp(11px,1.2vw,17px);color:var(--mute)">{{PERIOD}}</p>
|
|
176
|
+
</div>
|
|
177
|
+
<div style="display:grid;grid-template-columns:repeat(5,1fr);gap:2vw">
|
|
178
|
+
<div class="step"><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">01</span><p class="sans-display" style="font-size:clamp(13px,1.6vw,24px)">단계명</p><p style="font-size:clamp(12px,1.3vw,18px);color:var(--mute);line-height:1.4">설명</p></div>
|
|
179
|
+
<div class="step"><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">02</span><p class="sans-display" style="font-size:clamp(13px,1.6vw,24px)">단계명</p><p style="font-size:clamp(12px,1.3vw,18px);color:var(--mute);line-height:1.4">설명</p></div>
|
|
180
|
+
<div class="step"><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">03</span><p class="sans-display" style="font-size:clamp(13px,1.6vw,24px)">단계명</p><p style="font-size:clamp(12px,1.3vw,18px);color:var(--mute);line-height:1.4">설명</p></div>
|
|
181
|
+
<div class="step"><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">04</span><p class="sans-display" style="font-size:clamp(13px,1.6vw,24px)">단계명</p><p style="font-size:clamp(12px,1.3vw,18px);color:var(--mute);line-height:1.4">설명</p></div>
|
|
182
|
+
<div class="step"><span class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">05</span><p class="sans-display" style="font-size:clamp(13px,1.6vw,24px)">단계명</p><p style="font-size:clamp(12px,1.3vw,18px);color:var(--mute);line-height:1.4">설명</p></div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
<div class="footer"><span>{{DATE}}</span><span class="pageno"><em>05</em> / 08</span></div>
|
|
186
|
+
</section>
|
|
187
|
+
|
|
188
|
+
<!-- QUOTE -->
|
|
189
|
+
<section>
|
|
190
|
+
<div style="position:absolute;left:48px;right:48px;top:120px;bottom:120px;display:grid;grid-template-columns:clamp(160px,20vw,280px) 1fr;gap:5vw;align-items:center">
|
|
191
|
+
<div style="display:flex;flex-direction:column;gap:1.5rem">
|
|
192
|
+
<div style="width:clamp(60px,7vw,100px);height:clamp(60px,7vw,100px);border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center">
|
|
193
|
+
<span class="mono" style="color:var(--mute);font-size:clamp(10px,1vw,14px)">IMG</span>
|
|
194
|
+
</div>
|
|
195
|
+
<p style="font-weight:500;font-size:clamp(13px,1.5vw,22px)">발언자 이름</p>
|
|
196
|
+
<p class="mono" style="color:var(--mute);font-size:clamp(11px,1.1vw,16px)">직함</p>
|
|
197
|
+
</div>
|
|
198
|
+
<div>
|
|
199
|
+
<div class="script large">"인용문이<br>여기에"</div>
|
|
200
|
+
<div style="display:flex;align-items:baseline;gap:2vw;margin-top:2vh;padding-top:1.5vh;border-top:1px solid var(--pink)">
|
|
201
|
+
<p class="mono" style="color:var(--mute)">— 맥락 설명</p>
|
|
202
|
+
</div>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
<div class="footer"><span>{{ORG}}</span><span class="pageno"><em>06</em> / 08</span></div>
|
|
206
|
+
</section>
|
|
207
|
+
|
|
208
|
+
<!-- CLOSING -->
|
|
209
|
+
<section>
|
|
210
|
+
<div style="position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:100px 48px 100px">
|
|
211
|
+
<div style="display:flex;flex-direction:column;gap:1vh">
|
|
212
|
+
<div class="mono" style="color:var(--mute)">감사합니다</div>
|
|
213
|
+
<div class="script giant">Q&A</div>
|
|
214
|
+
<div class="rule" style="width:60px;margin-top:2vh"></div>
|
|
215
|
+
</div>
|
|
216
|
+
<div style="display:grid;grid-template-columns:repeat(3,1fr) clamp(180px,22vw,260px);gap:4vw;align-items:end">
|
|
217
|
+
<div class="step"><p class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">발표자</p><p style="font-weight:600;font-size:clamp(13px,1.5vw,22px)">{{AUTHOR}}</p></div>
|
|
218
|
+
<div class="step"><p class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">이메일</p><p style="font-size:clamp(13px,1.5vw,22px)">{{EMAIL}}</p></div>
|
|
219
|
+
<div class="step"><p class="mono" style="font-size:clamp(11px,1.1vw,16px);color:var(--mute)">소속</p><p style="font-size:clamp(13px,1.5vw,22px)">{{ORG}}</p></div>
|
|
220
|
+
<div style="display:flex;flex-direction:column;align-items:flex-end;gap:0.75rem">
|
|
221
|
+
<div class="pill solid">{{DATE}}</div>
|
|
222
|
+
</div>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
</section>
|
|
226
|
+
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/reveal.js"></script>
|
|
230
|
+
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5/plugin/notes/notes.js"></script>
|
|
231
|
+
<script>
|
|
232
|
+
Reveal.initialize({
|
|
233
|
+
hash: true, width: 1600, height: 900, margin: 0,
|
|
234
|
+
minScale: 0.1, maxScale: 1.5,
|
|
235
|
+
controls: false, progress: false, slideNumber: false,
|
|
236
|
+
transition: 'fade', backgroundTransition: 'fade',
|
|
237
|
+
plugins: [RevealNotes],
|
|
238
|
+
});
|
|
239
|
+
</script>
|
|
240
|
+
</body>
|
|
241
|
+
</html>
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="ko">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Sakura Chroma — Reveal.js</title>
|
|
6
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
7
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
8
|
+
<link href="https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@500;700;800;900&family=Albert+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Noto+Sans+JP:wght@500;700&display=swap" rel="stylesheet" />
|
|
9
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/reveal.css" />
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--paper: #F1E6CB;
|
|
13
|
+
--paper-dk: #E5D6B0;
|
|
14
|
+
--ink: #3A2516;
|
|
15
|
+
--red: #E5392A;
|
|
16
|
+
--pink: #E54489;
|
|
17
|
+
--orange: #F09131;
|
|
18
|
+
--green: #3D9F47;
|
|
19
|
+
--blue: #3F8BC4;
|
|
20
|
+
--yellow: #F0BC2A;
|
|
21
|
+
--line: #3A2516;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.reveal { font-family: 'Albert Sans', sans-serif; }
|
|
25
|
+
.reveal .slides { text-align: left; }
|
|
26
|
+
.reveal .slides section {
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
width: 100%; height: 100%;
|
|
29
|
+
padding: 0;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
top: 0 !important; left: 0 !important;
|
|
32
|
+
background: var(--paper);
|
|
33
|
+
color: var(--ink);
|
|
34
|
+
position: absolute;
|
|
35
|
+
}
|
|
36
|
+
.reveal h1,.reveal h2,.reveal h3,.reveal p,.reveal ul,.reveal ol { margin: 0; }
|
|
37
|
+
|
|
38
|
+
/* FRAME (inner padding container) */
|
|
39
|
+
.frame {
|
|
40
|
+
position: absolute;
|
|
41
|
+
inset: clamp(28px, 3vw, 56px) clamp(28px, 3vw, 56px) clamp(56px, 6vh, 90px);
|
|
42
|
+
display: flex; flex-direction: column;
|
|
43
|
+
gap: clamp(14px, 1.8vh, 24px);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* TOPBAR */
|
|
47
|
+
.topbar {
|
|
48
|
+
display: flex; align-items: flex-end; justify-content: space-between;
|
|
49
|
+
border-bottom: 1.5px solid var(--ink);
|
|
50
|
+
padding-bottom: clamp(8px, 1.2vh, 16px);
|
|
51
|
+
gap: 2vw;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* FOOTER */
|
|
55
|
+
.col-footer {
|
|
56
|
+
position: absolute; bottom: 0; left: 0; right: 0;
|
|
57
|
+
padding: clamp(10px,1.2vh,18px) clamp(28px,3vw,56px);
|
|
58
|
+
background: var(--paper-dk);
|
|
59
|
+
display: grid; grid-template-columns: 1.1fr 1fr 1.1fr;
|
|
60
|
+
gap: 2vw;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* TYPOGRAPHY */
|
|
64
|
+
.disp { font-family: 'Big Shoulders Display', sans-serif; font-weight: 900; line-height: 0.84; letter-spacing: -0.012em; }
|
|
65
|
+
.micro { font-family: 'Albert Sans', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 0.16em; font-size: clamp(10px,1.1vw,15px); }
|
|
66
|
+
.body-tx { font-family: 'Albert Sans', sans-serif; font-weight: 400; line-height: 1.5; font-size: clamp(13px,1.4vw,21px); }
|
|
67
|
+
.mono { font-family: 'JetBrains Mono', monospace; font-weight: 400; font-size: clamp(10px,1.1vw,15px); }
|
|
68
|
+
.jp { font-family: 'Noto Sans JP', sans-serif; font-weight: 500; }
|
|
69
|
+
|
|
70
|
+
/* COLOUR STRIPS on cards */
|
|
71
|
+
.c-red { background: var(--red); color: var(--paper); }
|
|
72
|
+
.c-pink { background: var(--pink); color: var(--paper); }
|
|
73
|
+
.c-orange { background: var(--orange); color: var(--ink); }
|
|
74
|
+
.c-green { background: var(--green); color: var(--paper); }
|
|
75
|
+
.c-blue { background: var(--blue); color: var(--paper); }
|
|
76
|
+
.c-yellow { background: var(--yellow); color: var(--ink); }
|
|
77
|
+
|
|
78
|
+
/* CATALOGUE CARD */
|
|
79
|
+
.cat-card {
|
|
80
|
+
background: var(--paper);
|
|
81
|
+
border: 1.5px solid var(--ink);
|
|
82
|
+
display: flex; flex-direction: column;
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
}
|
|
85
|
+
.cat-card .topstrip { height: clamp(12px,1.5vh,22px); }
|
|
86
|
+
.cat-card .body-inner { padding: clamp(12px,1.8vh,22px) clamp(12px,1.6vw,20px); flex: 1; display: flex; flex-direction: column; }
|
|
87
|
+
|
|
88
|
+
/* STAMP */
|
|
89
|
+
.stamp {
|
|
90
|
+
position: absolute; z-index: 5;
|
|
91
|
+
background: var(--red); color: var(--paper);
|
|
92
|
+
padding: clamp(6px,0.8vh,12px) clamp(10px,1.2vw,18px);
|
|
93
|
+
font-family: 'Big Shoulders Display', sans-serif;
|
|
94
|
+
font-weight: 900; line-height: 1;
|
|
95
|
+
transform: rotate(-3deg);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* ROSETTE BADGE */
|
|
99
|
+
.rosette {
|
|
100
|
+
display: grid; place-items: center;
|
|
101
|
+
background: var(--ink); color: var(--paper);
|
|
102
|
+
clip-path: polygon(50% 0%, 60% 8%, 73% 4%, 76% 17%, 89% 18%, 87% 31%, 100% 35%, 92% 47%, 100% 60%, 87% 64%, 90% 77%, 76% 78%, 75% 91%, 62% 88%, 53% 100%, 42% 90%, 30% 96%, 25% 84%, 12% 86%, 13% 73%, 0% 70%, 7% 58%, 0% 47%, 11% 39%, 4% 27%, 17% 25%, 13% 12%, 27% 14%, 25% 1%, 38% 7%);
|
|
103
|
+
font-family: 'Big Shoulders Display', sans-serif;
|
|
104
|
+
font-weight: 900;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* SCHEDULE ROW */
|
|
108
|
+
.ledger-row {
|
|
109
|
+
display: grid;
|
|
110
|
+
grid-template-columns: clamp(60px,6vw,96px) 1.4fr 0.9fr 0.6fr clamp(40px,4vw,64px);
|
|
111
|
+
gap: 1.2vw;
|
|
112
|
+
align-items: center;
|
|
113
|
+
padding: clamp(8px,1.2vh,16px) 0;
|
|
114
|
+
border-bottom: 1px solid rgba(58,37,22,0.22);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* CHIP TAG */
|
|
118
|
+
.chip {
|
|
119
|
+
display: inline-flex; align-items: center; justify-content: center;
|
|
120
|
+
padding: 3px 8px;
|
|
121
|
+
font-family: 'JetBrains Mono', monospace; font-size: clamp(9px,0.9vw,13px);
|
|
122
|
+
font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase;
|
|
123
|
+
color: var(--paper);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* EQUALIZER BARS */
|
|
127
|
+
.eq-bars {
|
|
128
|
+
display: grid; grid-template-columns: repeat(8,1fr);
|
|
129
|
+
gap: clamp(6px,0.8vw,14px); align-items: end; height: 100%;
|
|
130
|
+
}
|
|
131
|
+
.eq-col { display: flex; flex-direction: column-reverse; justify-content: start; height: 100%; gap: clamp(3px,0.5vh,6px); }
|
|
132
|
+
.eq-cell { border-radius: 3px; }
|
|
133
|
+
</style>
|
|
134
|
+
</head>
|
|
135
|
+
<body style="margin:0;background:#c8b890">
|
|
136
|
+
<div class="reveal">
|
|
137
|
+
<div class="slides">
|
|
138
|
+
|
|
139
|
+
<!-- COVER -->
|
|
140
|
+
<section>
|
|
141
|
+
<div class="frame">
|
|
142
|
+
<div class="topbar">
|
|
143
|
+
<div class="disp" style="font-size:clamp(28px,4vw,60px)">{{ORGANIZATION}}</div>
|
|
144
|
+
<div style="display:flex;gap:2vw;align-items:center">
|
|
145
|
+
<span class="micro">{{DATE}}</span>
|
|
146
|
+
<div class="rosette" style="width:clamp(40px,5vw,80px);height:clamp(40px,5vw,80px);font-size:clamp(14px,1.6vw,24px)">★</div>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
<div style="flex:1;display:flex;flex-direction:column;justify-content:center;gap:1.5vh">
|
|
150
|
+
<span class="micro" style="opacity:0.6">{{CATEGORY}}</span>
|
|
151
|
+
<div class="disp" style="font-size:clamp(80px,12vw,200px);color:var(--ink)">{{TITLE}}</div>
|
|
152
|
+
<p class="body-tx" style="max-width:55%;opacity:0.75">{{SUBTITLE}}</p>
|
|
153
|
+
</div>
|
|
154
|
+
<div style="display:flex;justify-content:space-between;align-items:center">
|
|
155
|
+
<span class="micro" style="opacity:0.6">{{AUTHOR}}</span>
|
|
156
|
+
<span class="mono" style="opacity:0.5">Press → to advance</span>
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
</section>
|
|
160
|
+
|
|
161
|
+
<!-- CATALOGUE GRID (4-col) -->
|
|
162
|
+
<section>
|
|
163
|
+
<div class="frame">
|
|
164
|
+
<div class="topbar">
|
|
165
|
+
<div class="disp" style="font-size:clamp(28px,3.5vw,54px)">{{SECTION_LABEL}}</div>
|
|
166
|
+
<span class="micro" style="opacity:0.6">{{DATE}}</span>
|
|
167
|
+
</div>
|
|
168
|
+
<div style="flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,20px)">
|
|
169
|
+
<div class="cat-card"><div class="topstrip c-red"></div><div class="body-inner"><span class="micro" style="margin-bottom:0.5rem">01</span><p class="body-tx" style="font-weight:600;margin-bottom:0.5rem">항목 제목</p><p class="body-tx" style="font-size:0.85em;opacity:0.7">설명 내용</p></div></div>
|
|
170
|
+
<div class="cat-card"><div class="topstrip c-pink"></div><div class="body-inner"><span class="micro" style="margin-bottom:0.5rem">02</span><p class="body-tx" style="font-weight:600;margin-bottom:0.5rem">항목 제목</p><p class="body-tx" style="font-size:0.85em;opacity:0.7">설명 내용</p></div></div>
|
|
171
|
+
<div class="cat-card"><div class="topstrip c-orange"></div><div class="body-inner"><span class="micro" style="margin-bottom:0.5rem">03</span><p class="body-tx" style="font-weight:600;margin-bottom:0.5rem">항목 제목</p><p class="body-tx" style="font-size:0.85em;opacity:0.7">설명 내용</p></div></div>
|
|
172
|
+
<div class="cat-card"><div class="topstrip c-blue"></div><div class="body-inner"><span class="micro" style="margin-bottom:0.5rem">04</span><p class="body-tx" style="font-weight:600;margin-bottom:0.5rem">항목 제목</p><p class="body-tx" style="font-size:0.85em;opacity:0.7">설명 내용</p></div></div>
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
</section>
|
|
176
|
+
|
|
177
|
+
<!-- MANIFESTO -->
|
|
178
|
+
<section style="background:var(--ink)">
|
|
179
|
+
<div style="position:absolute;inset:0;display:grid;place-items:center;padding:0 clamp(60px,10vw,180px)">
|
|
180
|
+
<div>
|
|
181
|
+
<p class="micro" style="color:var(--paper);opacity:0.5;margin-bottom:2vh">Statement</p>
|
|
182
|
+
<div class="disp" style="font-size:clamp(48px,7.5vw,120px);color:var(--paper)">
|
|
183
|
+
"핵심 선언문이<br>여기에 들어갑니다"
|
|
184
|
+
</div>
|
|
185
|
+
<div style="margin-top:3vh;display:flex;gap:2vw;align-items:center">
|
|
186
|
+
<div style="width:36px;height:1.5px;background:var(--pink)"></div>
|
|
187
|
+
<span class="micro" style="color:var(--paper);opacity:0.6">— 발언자, 맥락</span>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
</section>
|
|
192
|
+
|
|
193
|
+
<!-- DATA — equalizer bars -->
|
|
194
|
+
<section>
|
|
195
|
+
<div class="frame">
|
|
196
|
+
<div class="topbar">
|
|
197
|
+
<div class="disp" style="font-size:clamp(28px,3.5vw,54px)">데이터 분석</div>
|
|
198
|
+
<span class="micro" style="opacity:0.6">{{DATE}}</span>
|
|
199
|
+
</div>
|
|
200
|
+
<div style="flex:1;display:grid;grid-template-columns:0.9fr 1.6fr;gap:clamp(20px,3vw,50px)">
|
|
201
|
+
<div style="display:flex;flex-direction:column;justify-content:center;gap:1.5vh">
|
|
202
|
+
<span class="micro" style="opacity:0.6">Key Metric</span>
|
|
203
|
+
<div class="disp" style="font-size:clamp(50px,8vw,120px)">98%</div>
|
|
204
|
+
<p class="body-tx">핵심 지표 설명이 들어갑니다.</p>
|
|
205
|
+
</div>
|
|
206
|
+
<div class="eq-bars">
|
|
207
|
+
<div class="eq-col"><div class="eq-cell c-red" style="height:75%"></div></div>
|
|
208
|
+
<div class="eq-col"><div class="eq-cell c-orange" style="height:55%"></div></div>
|
|
209
|
+
<div class="eq-col"><div class="eq-cell c-yellow" style="height:88%"></div></div>
|
|
210
|
+
<div class="eq-col"><div class="eq-cell c-green" style="height:60%"></div></div>
|
|
211
|
+
<div class="eq-col"><div class="eq-cell c-blue" style="height:70%"></div></div>
|
|
212
|
+
<div class="eq-col"><div class="eq-cell c-pink" style="height:45%"></div></div>
|
|
213
|
+
<div class="eq-col"><div class="eq-cell c-red" style="height:80%"></div></div>
|
|
214
|
+
<div class="eq-col"><div class="eq-cell c-orange" style="height:62%"></div></div>
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
218
|
+
</section>
|
|
219
|
+
|
|
220
|
+
<!-- SCHEDULE -->
|
|
221
|
+
<section>
|
|
222
|
+
<div class="frame">
|
|
223
|
+
<div class="topbar">
|
|
224
|
+
<div class="disp" style="font-size:clamp(28px,3.5vw,54px)">일정</div>
|
|
225
|
+
<span class="micro" style="opacity:0.6">{{PERIOD}}</span>
|
|
226
|
+
</div>
|
|
227
|
+
<div style="flex:1;display:flex;flex-direction:column;justify-content:center">
|
|
228
|
+
<div class="ledger-row" style="border-top:1px solid rgba(58,37,22,0.22)">
|
|
229
|
+
<span class="mono" style="opacity:0.5">07월</span>
|
|
230
|
+
<p class="body-tx" style="font-weight:600">항목 제목</p>
|
|
231
|
+
<p class="body-tx" style="opacity:0.7">담당자</p>
|
|
232
|
+
<p class="body-tx" style="opacity:0.5;font-size:0.85em">진행중</p>
|
|
233
|
+
<div class="chip c-red">진행</div>
|
|
234
|
+
</div>
|
|
235
|
+
<div class="ledger-row">
|
|
236
|
+
<span class="mono" style="opacity:0.5">08월</span>
|
|
237
|
+
<p class="body-tx" style="font-weight:600">항목 제목</p>
|
|
238
|
+
<p class="body-tx" style="opacity:0.7">담당자</p>
|
|
239
|
+
<p class="body-tx" style="opacity:0.5;font-size:0.85em">예정</p>
|
|
240
|
+
<div class="chip c-orange">예정</div>
|
|
241
|
+
</div>
|
|
242
|
+
<div class="ledger-row">
|
|
243
|
+
<span class="mono" style="opacity:0.5">08월</span>
|
|
244
|
+
<p class="body-tx" style="font-weight:600">항목 제목</p>
|
|
245
|
+
<p class="body-tx" style="opacity:0.7">담당자</p>
|
|
246
|
+
<p class="body-tx" style="opacity:0.5;font-size:0.85em">예정</p>
|
|
247
|
+
<div class="chip c-green">완료</div>
|
|
248
|
+
</div>
|
|
249
|
+
<div class="ledger-row">
|
|
250
|
+
<span class="mono" style="opacity:0.5">09월</span>
|
|
251
|
+
<p class="body-tx" style="font-weight:600">항목 제목</p>
|
|
252
|
+
<p class="body-tx" style="opacity:0.7">담당자</p>
|
|
253
|
+
<p class="body-tx" style="opacity:0.5;font-size:0.85em">예정</p>
|
|
254
|
+
<div class="chip c-blue">계획</div>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
</div>
|
|
258
|
+
</section>
|
|
259
|
+
|
|
260
|
+
<!-- CLOSING -->
|
|
261
|
+
<section>
|
|
262
|
+
<div class="frame">
|
|
263
|
+
<div class="topbar">
|
|
264
|
+
<div class="disp" style="font-size:clamp(28px,3.5vw,54px)">{{ORGANIZATION}}</div>
|
|
265
|
+
<span class="micro" style="opacity:0.6">{{DATE}}</span>
|
|
266
|
+
</div>
|
|
267
|
+
<div style="flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2vh">
|
|
268
|
+
<span class="micro" style="opacity:0.6">Thank You</span>
|
|
269
|
+
<div class="disp" style="font-size:clamp(80px,12vw,200px)">Q&A</div>
|
|
270
|
+
</div>
|
|
271
|
+
<div class="col-footer" style="position:relative;bottom:auto;left:auto;right:auto;background:var(--paper-dk);padding:1.5vh 0">
|
|
272
|
+
<div><p class="micro" style="opacity:0.6;margin-bottom:0.4rem">발표자</p><p class="body-tx" style="font-weight:700">{{AUTHOR}}</p></div>
|
|
273
|
+
<div><p class="micro" style="opacity:0.6;margin-bottom:0.4rem">이메일</p><p class="body-tx">{{EMAIL}}</p></div>
|
|
274
|
+
<div><p class="micro" style="opacity:0.6;margin-bottom:0.4rem">소속</p><p class="body-tx">{{ORG}}</p></div>
|
|
275
|
+
</div>
|
|
276
|
+
</div>
|
|
277
|
+
</section>
|
|
278
|
+
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5/dist/reveal.js"></script>
|
|
282
|
+
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5/plugin/notes/notes.js"></script>
|
|
283
|
+
<script>
|
|
284
|
+
Reveal.initialize({
|
|
285
|
+
hash: true, width: 1600, height: 900, margin: 0,
|
|
286
|
+
minScale: 0.1, maxScale: 1.5,
|
|
287
|
+
controls: false, progress: false, slideNumber: false,
|
|
288
|
+
transition: 'fade', backgroundTransition: 'fade',
|
|
289
|
+
plugins: [RevealNotes],
|
|
290
|
+
});
|
|
291
|
+
</script>
|
|
292
|
+
</body>
|
|
293
|
+
</html>
|