mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-11 14:50:02 +00:00
Rename the `graphic-overlays` workflow skill to `talking-head-recut`: - move skills/graphic-overlays/ -> skills/talking-head-recut/ - update SKILL.md frontmatter name, H1, and self-references - update all /graphic-overlays route references (hyperframes router, general-video, root + cli-template AGENTS.md/CLAUDE.md, docs, quickstart) - update telemetry --skill flag, example composition id, timeline key - update .prettierignore path and scripts/test-skills-fresh.sh Identifier-only rename: the graphic-overlay card mechanism, design references, and trigger wording are unchanged. Co-authored-by: kiritowoo <295860553+kiritowoo@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
182 lines
5.6 KiB
HTML
182 lines
5.6 KiB
HTML
<!--
|
|
Style: geom — chartreuse + hot pink + black collision · bold Helvetica
|
|
─────────────────────────────────────────────────────────────────────
|
|
Tokens
|
|
bg #0a0a0a (deep black for contrast)
|
|
ink #ffffff
|
|
muted #aaaaaa
|
|
accent #d4ff00 (chartreuse — primary slab)
|
|
accent2#ff2e88 (hot pink — secondary slab + dot)
|
|
accent3#ffffff (white — line work)
|
|
Fonts
|
|
headline — Inter Black / ui-sans-serif with very wide weight
|
|
body — Inter
|
|
Best with
|
|
layouts: pip, overlay, stack
|
|
frames: clean, hairline
|
|
content: 产品发布 / 大胆宣言 / 撞色封面 / 短视频高光
|
|
-->
|
|
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>style · geom</title>
|
|
<style>
|
|
html,
|
|
body {
|
|
margin: 0;
|
|
padding: 0;
|
|
background: #0a0c12;
|
|
font-family: ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
.stage {
|
|
position: relative;
|
|
width: 1920px;
|
|
height: 1080px;
|
|
transform-origin: top left;
|
|
transform: scale(0.5);
|
|
overflow: hidden;
|
|
}
|
|
.card-host {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 1920px;
|
|
height: 1080px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="stage">
|
|
<div class="card-host">
|
|
<div class="card" data-card-id="ref-geom">
|
|
<style>
|
|
.card[data-card-id="ref-geom"] .root {
|
|
--bg: #0a0a0a;
|
|
--ink: #ffffff;
|
|
--muted: #aaaaaa;
|
|
--accent: #d4ff00;
|
|
--accent2: #ff2e88;
|
|
--accent3: #ffffff;
|
|
--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
|
|
--font-mono: ui-monospace, "SF Mono", Menlo, monospace;
|
|
|
|
width: 100%;
|
|
height: 100%;
|
|
position: relative;
|
|
overflow: hidden;
|
|
background: var(--bg);
|
|
color: var(--ink);
|
|
font-family: var(--font-sans);
|
|
}
|
|
.card[data-card-id="ref-geom"] .slab-1 {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
width: 540px;
|
|
height: 200px;
|
|
background: var(--accent);
|
|
}
|
|
.card[data-card-id="ref-geom"] .slab-2 {
|
|
position: absolute;
|
|
right: 0;
|
|
bottom: 0;
|
|
width: 360px;
|
|
height: 360px;
|
|
background: var(--accent2);
|
|
}
|
|
.card[data-card-id="ref-geom"] .stripe {
|
|
position: absolute;
|
|
left: -40px;
|
|
top: 760px;
|
|
height: 4px;
|
|
width: 600px;
|
|
background: var(--accent3);
|
|
transform: rotate(-6deg);
|
|
}
|
|
.card[data-card-id="ref-geom"] .content {
|
|
position: absolute;
|
|
left: 64px;
|
|
top: 240px;
|
|
right: 480px;
|
|
bottom: 80px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
gap: 28px;
|
|
}
|
|
.card[data-card-id="ref-geom"] .kicker {
|
|
align-self: flex-start;
|
|
padding: 8px 14px;
|
|
background: var(--ink);
|
|
color: var(--bg);
|
|
font: 800 18px/1 var(--font-mono);
|
|
letter-spacing: 0.24em;
|
|
}
|
|
.card[data-card-id="ref-geom"] .title {
|
|
margin: 0;
|
|
font: 900 156px/0.92 var(--font-sans);
|
|
color: var(--ink);
|
|
letter-spacing: -0.04em;
|
|
text-transform: uppercase;
|
|
}
|
|
.card[data-card-id="ref-geom"] .stroke {
|
|
-webkit-text-stroke: 3px var(--accent);
|
|
color: transparent;
|
|
}
|
|
.card[data-card-id="ref-geom"] .detail {
|
|
margin: 0;
|
|
font: 600 26px/1.4 var(--font-sans);
|
|
color: var(--muted);
|
|
max-width: 88%;
|
|
}
|
|
.card[data-card-id="ref-geom"] .detail .pink {
|
|
color: var(--accent2);
|
|
}
|
|
</style>
|
|
|
|
<div class="root">
|
|
<span
|
|
class="slab-1"
|
|
data-anim="slide-in"
|
|
data-anim-at="0.1"
|
|
data-anim-duration="0.45"
|
|
data-anim-from="left"
|
|
data-anim-distance="540"
|
|
></span>
|
|
<span
|
|
class="slab-2"
|
|
data-anim="slide-in"
|
|
data-anim-at="0.25"
|
|
data-anim-duration="0.45"
|
|
data-anim-from="right"
|
|
data-anim-distance="360"
|
|
></span>
|
|
<span
|
|
class="stripe"
|
|
data-anim="grow-x"
|
|
data-anim-at="0.5"
|
|
data-anim-duration="0.5"
|
|
data-anim-target-w="600"
|
|
></span>
|
|
|
|
<div class="content">
|
|
<span class="kicker" data-anim="fade-in" data-anim-at="0.05" data-anim-duration="0.4"
|
|
>TAKEAWAY</span
|
|
>
|
|
|
|
<h1 class="title" data-anim="fade-in" data-anim-at="0.55" data-anim-duration="0.5">
|
|
<span class="stroke">BIG</span><br />IDEA.
|
|
</h1>
|
|
|
|
<p class="detail" data-anim="fade-in" data-anim-at="0.95" data-anim-duration="0.4">
|
|
别再做温和的中间方案。要么<span class="pink">最大胆</span>,要么不做。
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|