Twisted-Cyclone-31B / README.md
Vortex5's picture
Update README.md
728979d verified
|
Raw
History Blame Contribute Delete
25 kB
---
base_model:
- Gryphe/Pantheon-Reasoning-31B-1.1
- Vortex5/Glimmering-Citrus-31B
- google/gemma-4-31B-it
- Nimbz/Versipellis-31B
- Ateron/Gemma-4-Novelist-Eclipse-31B
library_name: transformers
tags:
- mergekit
- merge
- roleplay
- storytelling
license: apache-2.0
---
<section class="card">
<div class="side-ornament side-ornament-left" aria-hidden="true">
<span></span><span></span><span></span><span></span><span></span>
</div>
<div class="side-ornament side-ornament-right" aria-hidden="true">
<span></span><span></span><span></span><span></span><span></span>
</div>
<div class="ambient-haze ambient-haze-a" aria-hidden="true"></div>
<div class="ambient-haze ambient-haze-b" aria-hidden="true"></div>
<header class="header">
<div class="top-mark" aria-hidden="true">
<i></i>
<i></i>
<i></i>
<i></i>
<i></i>
<b></b>
</div>
<h1>Twisted-Cyclone-31B</h1>
<div class="title-rule" aria-hidden="true">
<span></span>
<b></b>
<span></span>
</div>
</header>
<figure class="media">
<div class="media-frame">
<div class="media-inner">
<img
src="https://cdn-uploads.huggingface.co/production/uploads/6669a3a617b838fda45637b8/XB6ZtaZCvtGpQoobYldkl.png"
alt="Twisted-Cyclone-31B artwork"
>
</div>
</div>
</figure>
<section class="panel overview">
<div class="heading">
<span></span>
<h2>Overview</h2>
<span></span>
</div>
<p class="lead">
<strong>Twisted-Cyclone-31B</strong> was created by merging
<a href="https://huggingface.co/Ateron/Gemma-4-Novelist-Eclipse-31B">Gemma-4-Novelist-Eclipse-31B</a>,
<a href="https://huggingface.co/Vortex5/Glimmering-Citrus-31B">Glimmering-Citrus-31B</a>,
<a href="https://huggingface.co/Gryphe/Pantheon-Reasoning-31B-1.1">Pantheon-Reasoning-31B-1.1</a>,
and
<a href="https://huggingface.co/Nimbz/Versipellis-31B">Versipellis-31B</a>
with
<a href="https://huggingface.co/google/gemma-4-31B-it">Gemma-4-31B-it</a>
as the base using a custom method.
</p>
<details class="fold">
<summary>
<span class="fold-name">Merge Configuration</span>
<span class="fold-icon" aria-hidden="true"></span>
</summary>
<pre><code>base_model: google/gemma-4-31B-it
models:
- model: Ateron/Gemma-4-Novelist-Eclipse-31B
- model: Vortex5/Glimmering-Citrus-31B
- model: Gryphe/Pantheon-Reasoning-31B-1.1
- model: Nimbz/Versipellis-31B
merge_method: arcs
chat_template: auto
parameters:
strength: 0.98
sharp: 0.52
voice: 0.68
envelope: 1.15
tol: 1e-7
dtype: float32
out_dtype: bfloat16
tokenizer:
source: union</code></pre>
</details>
</section>
<section class="panel uses">
<div class="heading">
<span></span>
<h2>Intended Use</h2>
<span></span>
</div>
<div class="grid">
<article class="item">
<div class="item-copy">
<h3>Roleplay</h3>
<p>Character interaction, dialogue, personas, and multi-turn scenes.</p>
</div>
</article>
<article class="item">
<div class="item-copy">
<h3>Creative Writing</h3>
<p>Drafting fiction, descriptions, dialogue, and scene variations.</p>
</div>
</article>
<article class="item">
<div class="item-copy">
<h3>Storytelling</h3>
<p>Short stories, longer narratives, plot development, and worldbuilding.</p>
</div>
</article>
<article class="item">
<div class="item-copy">
<h3>Brainstorming</h3>
<p>Generating concepts, outlines, alternatives, and writing ideas.</p>
</div>
</article>
</div>
</section>
<footer class="footer" aria-hidden="true">
<span></span>
<div class="footer-mark">
<i></i>
<i></i>
<i></i>
<i></i>
</div>
<span></span>
</footer>
</section>
<style>
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap");
.card,
.card * {
box-sizing: border-box;
}
.card {
--bg-1: #040506;
--bg-2: #0b0d10;
--bg-3: #12161b;
--bg-4: #1a2027;
--panel-1: rgba(10, 12, 15, 0.95);
--panel-2: rgba(18, 22, 28, 0.96);
--panel-3: rgba(29, 35, 43, 0.72);
--line: rgba(197, 207, 220, 0.18);
--line-strong: rgba(224, 232, 241, 0.42);
--glow: rgba(230, 236, 245, 0.20);
--text: #c3ccd6;
--text-soft: #8f9aa6;
--text-dim: #727d89;
--text-strong: #eef2f6;
position: relative;
isolation: isolate;
container-type: inline-size;
width: 100%;
max-width: 1260px;
margin: 44px auto;
padding: clamp(34px, 5vw, 68px);
overflow: hidden;
color: var(--text);
font-family: "Manrope", Arial, sans-serif;
border: 1px solid rgba(238, 242, 246, 0.12);
border-radius: 28px 8px 28px 8px;
background:
radial-gradient(circle at 50% 0%, rgba(255,255,255,0.05), transparent 28%),
radial-gradient(circle at 14% 30%, rgba(255,255,255,0.03), transparent 18%),
radial-gradient(circle at 84% 64%, rgba(255,255,255,0.025), transparent 22%),
repeating-linear-gradient(0deg, rgba(255,255,255,0.009) 0 1px, transparent 1px 7px),
linear-gradient(145deg, var(--bg-1) 0%, var(--bg-2) 28%, var(--bg-3) 64%, var(--bg-1) 100%);
box-shadow:
inset 0 0 0 1px rgba(255,255,255,0.02),
inset 0 0 100px rgba(0,0,0,0.56),
0 22px 58px rgba(0,0,0,0.42);
transition: box-shadow 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}
.card::before {
content: "";
position: absolute;
inset: 14px;
z-index: -1;
pointer-events: none;
border: 1px solid rgba(240, 244, 248, 0.08);
border-radius: 20px 5px 20px 5px;
clip-path: polygon(0 0, 42% 0, 46% 10px, 54% 10px, 58% 0, 100% 0, 100% 42%, calc(100% - 10px) 46%, calc(100% - 10px) 54%, 100% 58%, 100% 100%, 58% 100%, 54% calc(100% - 10px), 46% calc(100% - 10px), 42% 100%, 0 100%, 0 58%, 10px 54%, 10px 46%, 0 42%);
}
.card::after {
content: "";
position: absolute;
inset: 0;
z-index: 16;
pointer-events: none;
opacity: 0.22;
background:
linear-gradient(115deg, transparent 0 18%, rgba(255,255,255,0.018) 22%, transparent 28%),
linear-gradient(65deg, transparent 0 72%, rgba(255,255,255,0.012) 78%, transparent 84%);
mix-blend-mode: screen;
}
.card:hover {
border-color: rgba(238, 242, 246, 0.20);
box-shadow:
inset 0 0 0 1px rgba(255,255,255,0.03),
inset 0 0 120px rgba(0,0,0,0.60),
0 26px 68px rgba(0,0,0,0.48),
0 0 24px rgba(255,255,255,0.05);
}
.side-ornament {
position: absolute;
top: 66px;
bottom: 66px;
z-index: 0;
width: 44px;
pointer-events: none;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
}
.side-ornament::before {
content: "";
position: absolute;
inset: 0;
opacity: 0.55;
background:
linear-gradient(180deg, transparent, rgba(255,255,255,0.02), transparent),
repeating-linear-gradient(180deg, transparent 0 15px, rgba(255,255,255,0.035) 16px 17px, transparent 18px 34px);
}
.side-ornament span {
display: block;
width: 100%;
height: 18%;
border: 1px solid rgba(226, 233, 242, 0.14);
background:
radial-gradient(circle at 50% 35%, rgba(255,255,255,0.08), transparent 46%),
linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.008));
clip-path: polygon(50% 0, 84% 17%, 100% 48%, 86% 78%, 58% 100%, 42% 100%, 14% 78%, 0 48%, 16% 17%);
filter: drop-shadow(0 0 8px rgba(255,255,255,0.03));
transition: transform 0.35s ease, border-color 0.35s ease, filter 0.35s ease;
}
.side-ornament-left {
left: 4px;
}
.side-ornament-right {
right: 4px;
transform: scaleX(-1);
}
.card:hover .side-ornament span {
border-color: rgba(238, 242, 246, 0.22);
transform: scale(1.03);
filter: drop-shadow(0 0 11px rgba(255,255,255,0.06));
}
.ambient-haze {
position: absolute;
z-index: 0;
width: 360px;
height: 360px;
border-radius: 50%;
pointer-events: none;
opacity: 0.09;
filter: blur(34px);
background: conic-gradient(from 0deg, transparent 0 12%, rgba(255,255,255,0.12) 16% 20%, transparent 24% 38%, rgba(255,255,255,0.07) 43% 48%, transparent 52% 72%, rgba(255,255,255,0.09) 78% 82%, transparent 86% 100%);
animation: drift-spin 20s linear infinite;
}
.ambient-haze-a {
top: -170px;
left: -120px;
}
.ambient-haze-b {
right: -150px;
bottom: 2%;
animation-direction: reverse;
animation-duration: 24s;
}
.header {
position: relative;
z-index: 2;
padding: 10px 12px 40px;
text-align: center;
}
.top-mark {
position: relative;
width: 96px;
height: 82px;
margin: 0 auto 8px;
}
.top-mark i,
.top-mark b {
position: absolute;
left: 50%;
transform: translateX(-50%);
}
.top-mark i {
height: 8px;
border: 1px solid rgba(239, 244, 248, 0.22);
border-radius: 999px;
background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.01));
box-shadow: 0 0 12px rgba(255,255,255,0.03);
}
.top-mark i:nth-child(1) {
top: 6px;
width: 66px;
transform: translateX(-50%) rotate(-6deg);
}
.top-mark i:nth-child(2) {
top: 18px;
width: 54px;
transform: translateX(-50%) rotate(5deg);
}
.top-mark i:nth-child(3) {
top: 30px;
width: 42px;
transform: translateX(-50%) rotate(-4deg);
}
.top-mark i:nth-child(4) {
top: 42px;
width: 28px;
transform: translateX(-50%) rotate(4deg);
}
.top-mark i:nth-child(5) {
top: 54px;
width: 16px;
transform: translateX(-50%) rotate(-3deg);
}
.top-mark b {
top: 65px;
width: 6px;
height: 11px;
border-radius: 999px;
background: linear-gradient(180deg, rgba(255,255,255,0.80), rgba(255,255,255,0.12));
box-shadow: 0 0 14px rgba(255,255,255,0.14);
}
.header h1 {
margin: 0;
color: var(--text-strong);
font-family: "Barlow Condensed", Arial, sans-serif;
font-size: clamp(2.25rem, 7cqi, 5.85rem);
font-weight: 800;
line-height: 0.92;
letter-spacing: -0.03em;
text-transform: uppercase;
text-shadow:
0 1px 0 rgba(255,255,255,0.20),
0 0 18px rgba(255,255,255,0.05),
0 10px 32px rgba(0,0,0,0.40);
transition: text-shadow 0.35s ease, transform 0.35s ease;
}
.card:hover .header h1 {
transform: translateY(-1px);
text-shadow:
0 1px 0 rgba(255,255,255,0.22),
0 0 26px rgba(255,255,255,0.08),
0 10px 36px rgba(0,0,0,0.46);
}
.title-rule {
display: flex;
align-items: center;
justify-content: center;
width: min(830px, 88%);
margin: 28px auto 0;
}
.title-rule span {
flex: 1;
height: 2px;
background: linear-gradient(90deg, transparent, rgba(240, 244, 248, 0.42), rgba(255,255,255,0.08));
clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
}
.title-rule span:last-child {
transform: scaleX(-1);
}
.title-rule b {
flex: 0 0 26px;
width: 26px;
height: 26px;
margin: 0 16px;
border: 1px solid rgba(240, 244, 248, 0.28);
transform: rotate(45deg);
background:
radial-gradient(circle, rgba(255,255,255,0.25) 0 12%, transparent 13%),
linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01));
box-shadow: 0 0 18px rgba(255,255,255,0.04);
}
.media {
position: relative;
z-index: 2;
width: 100%;
margin: 0 auto 38px;
padding: 12px;
overflow: hidden;
border: 1px solid rgba(238, 242, 246, 0.10);
border-radius: 24px 6px 24px 6px;
background:
radial-gradient(circle at 50% 0%, rgba(255,255,255,0.04), transparent 34%),
linear-gradient(135deg, rgba(16,20,25,0.98), rgba(5,7,9,0.98));
box-shadow:
inset 0 0 0 3px rgba(0,0,0,0.56),
0 16px 38px rgba(0,0,0,0.34);
}
.media::before {
content: "";
position: absolute;
inset: 6px;
z-index: 4;
pointer-events: none;
border: 1px solid rgba(255,255,255,0.07);
border-radius: 18px 4px 18px 4px;
}
.media::after {
content: "";
position: absolute;
inset: 0;
z-index: 5;
pointer-events: none;
opacity: 0;
background: linear-gradient(112deg, transparent 26%, rgba(255,255,255,0.08) 46%, rgba(255,255,255,0.02) 54%, transparent 71%);
transform: translateX(-40%);
transition: opacity 0.35s ease, transform 0.6s ease;
}
.media:hover::after {
opacity: 1;
transform: translateX(24%);
}
.media-frame {
position: relative;
padding: clamp(8px, 1.2vw, 13px);
overflow: hidden;
background:
linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.03) 36%, rgba(255,255,255,0.10) 72%, rgba(255,255,255,0.02));
clip-path: polygon(0 16px, 16px 0, 78% 0, 81% 8px, 88% 8px, 91% 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 22% 100%, 19% calc(100% - 8px), 12% calc(100% - 8px), 9% 100%, 0 100%);
}
.media-inner {
position: relative;
overflow: hidden;
background:
radial-gradient(circle at center, rgba(27,33,40,0.86), rgba(4,5,7,1) 72%);
clip-path: inherit;
}
.media-inner::after {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
box-shadow:
inset 0 0 92px rgba(0,0,0,0.44),
inset 0 0 0 1px rgba(255,255,255,0.06);
}
.media img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 0;
border: 0;
object-fit: contain;
transition: transform 0.55s ease, filter 0.55s ease;
}
.media:hover img {
transform: scale(1.01);
filter: contrast(1.04) saturate(1.02);
}
.panel {
position: relative;
z-index: 2;
margin-bottom: 32px;
padding: clamp(28px, 4vw, 48px);
overflow: hidden;
border: 1px solid rgba(238, 242, 246, 0.10);
border-radius: 22px 5px 22px 5px;
background:
radial-gradient(circle at 100% 0%, rgba(255,255,255,0.04), transparent 24%),
radial-gradient(circle at 0% 100%, rgba(255,255,255,0.025), transparent 26%),
linear-gradient(145deg, var(--panel-2), var(--panel-1));
box-shadow:
inset 0 0 0 1px rgba(255,255,255,0.02),
0 14px 30px rgba(0,0,0,0.25);
transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.panel::before,
.panel::after {
content: "";
position: absolute;
pointer-events: none;
}
.panel::before {
top: 0;
left: 0;
width: 170px;
height: 16px;
opacity: 0.40;
background: linear-gradient(90deg, rgba(255,255,255,0.24), rgba(255,255,255,0.05), transparent);
clip-path: polygon(0 0, 100% 0, 84% 100%, 10% 100%);
}
.panel::after {
right: 0;
bottom: 0;
width: 190px;
height: 16px;
opacity: 0.25;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.05), rgba(255,255,255,0.20));
clip-path: polygon(16% 0, 90% 0, 100% 100%, 0 100%);
}
.panel:hover {
transform: translateY(-3px);
border-color: rgba(238, 242, 246, 0.16);
box-shadow:
inset 0 0 0 1px rgba(255,255,255,0.025),
0 18px 38px rgba(0,0,0,0.30),
0 0 20px rgba(255,255,255,0.035);
}
.heading {
position: relative;
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
gap: 18px;
margin-bottom: 28px;
}
.heading span {
flex: 1 1 auto;
max-width: 200px;
height: 8px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.11), rgba(255,255,255,0.44));
clip-path: polygon(0 43%, 82% 43%, 87% 0, 100% 50%, 87% 100%, 82% 57%, 0 57%);
}
.heading span:last-child {
transform: scaleX(-1);
}
.heading h2 {
flex: 0 0 auto;
margin: 0;
color: var(--text-strong);
font-family: "Barlow Condensed", Arial, sans-serif;
font-size: clamp(1.62rem, 3vw, 2.4rem);
font-weight: 700;
line-height: 1;
letter-spacing: 0.015em;
text-transform: uppercase;
}
.lead {
position: relative;
z-index: 2;
max-width: 1010px;
margin: 0 auto 30px;
color: var(--text-soft);
font-size: clamp(0.95rem, 1.22vw, 1.05rem);
line-height: 1.84;
text-align: center;
}
.lead strong {
color: var(--text-strong);
font-weight: 700;
}
.lead a {
color: #d8dee6;
font-weight: 700;
text-decoration: none;
border-bottom: 1px solid rgba(238, 242, 246, 0.20);
transition: color 0.2s ease, border-color 0.2s ease, text-shadow 0.2s ease;
}
.lead a:hover {
color: #ffffff;
border-bottom-color: rgba(255,255,255,0.55);
text-shadow: 0 0 10px rgba(255,255,255,0.10);
}
.fold {
position: relative;
z-index: 2;
width: 100%;
overflow: hidden;
border: 1px solid rgba(238, 242, 246, 0.10);
border-radius: 14px 4px 14px 4px;
background: linear-gradient(180deg, rgba(8,10,12,0.98), rgba(13,17,21,0.98));
box-shadow: inset 0 0 0 2px rgba(0,0,0,0.28);
transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.fold:hover {
border-color: rgba(238, 242, 246, 0.16);
box-shadow: inset 0 0 0 2px rgba(0,0,0,0.30), 0 0 16px rgba(255,255,255,0.03);
}
.fold summary {
position: relative;
display: flex;
align-items: center;
min-height: 68px;
padding: 16px 68px 16px 22px;
cursor: pointer;
list-style: none;
color: var(--text-strong);
background:
linear-gradient(90deg, rgba(255,255,255,0.035), transparent 42%, rgba(255,255,255,0.025)),
#0b0f13;
transition: background 0.25s ease;
}
.fold summary:hover {
background:
linear-gradient(90deg, rgba(255,255,255,0.055), transparent 42%, rgba(255,255,255,0.04)),
#0c1115;
}
.fold summary::-webkit-details-marker {
display: none;
}
.fold-name {
font-family: "Barlow Condensed", Arial, sans-serif;
font-size: 1.06rem;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.fold-icon {
position: absolute;
top: 50%;
right: 22px;
width: 28px;
height: 28px;
border: 1px solid rgba(240, 244, 248, 0.24);
transform: translateY(-50%) rotate(45deg);
background: rgba(255,255,255,0.03);
transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.fold-icon::before,
.fold-icon::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 10px;
height: 1px;
background: #eef2f6;
transform: translate(-50%, -50%) rotate(-45deg);
}
.fold-icon::after {
transform: translate(-50%, -50%) rotate(45deg);
}
.fold[open] .fold-icon {
transform: translateY(-50%) rotate(135deg);
background: rgba(255,255,255,0.07);
box-shadow: 0 0 12px rgba(255,255,255,0.04);
}
.fold pre {
margin: 0;
padding: clamp(22px, 3.2vw, 36px);
overflow-x: auto;
color: #adb6c0;
font-family: "IBM Plex Mono", Consolas, monospace;
font-size: clamp(0.74rem, 1.03vw, 0.88rem);
line-height: 1.72;
white-space: pre;
border-top: 1px solid rgba(255,255,255,0.08);
background:
repeating-linear-gradient(0deg, rgba(255,255,255,0.008) 0 1px, transparent 1px 6px),
linear-gradient(145deg, #06080a, #0d1116);
}
.fold code {
color: inherit;
font-family: inherit;
}
.grid {
position: relative;
z-index: 2;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-rows: repeat(2, minmax(170px, 1fr));
gap: 12px;
padding: 10px;
border: 1px solid rgba(238, 242, 246, 0.08);
border-radius: 16px 4px 16px 4px;
background:
radial-gradient(circle at center, rgba(255,255,255,0.02), transparent 44%),
linear-gradient(145deg, rgba(10,12,15,0.94), rgba(19,23,28,0.86), rgba(7,9,12,0.94));
box-shadow: inset 0 0 0 2px rgba(0,0,0,0.34);
}
.item {
position: relative;
min-width: 0;
min-height: 170px;
overflow: hidden;
border: 1px solid rgba(238, 242, 246, 0.10);
border-radius: 14px 4px 14px 4px;
background:
radial-gradient(circle at 100% 0%, rgba(255,255,255,0.035), transparent 34%),
linear-gradient(145deg, rgba(17,20,25,0.95), rgba(8,10,12,0.98));
box-shadow: inset 0 0 0 2px rgba(0,0,0,0.32);
transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.item::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 10px;
opacity: 0.35;
background: linear-gradient(90deg, rgba(255,255,255,0.34), rgba(255,255,255,0.05), transparent);
clip-path: polygon(0 0, 100% 0, 82% 100%, 10% 100%);
}
.item::after {
content: "";
position: absolute;
right: -34px;
bottom: -34px;
width: 104px;
height: 104px;
border: 1px solid rgba(255,255,255,0.08);
border-radius: 50%;
box-shadow:
0 0 0 12px rgba(255,255,255,0.018),
0 0 0 24px rgba(255,255,255,0.010);
transition: transform 0.35s ease, border-color 0.35s ease;
}
.item:hover {
transform: translateY(-4px);
border-color: rgba(238, 242, 246, 0.18);
background:
radial-gradient(circle at 100% 0%, rgba(255,255,255,0.055), transparent 34%),
linear-gradient(145deg, rgba(21,26,32,0.97), rgba(9,11,14,1));
box-shadow:
inset 0 0 0 2px rgba(0,0,0,0.32),
0 14px 28px rgba(0,0,0,0.25),
0 0 16px rgba(255,255,255,0.03);
}
.item:hover::after {
transform: rotate(18deg) scale(1.08);
border-color: rgba(255,255,255,0.12);
}
.item-copy {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
min-width: 0;
height: 100%;
padding: 22px 18px;
text-align: center;
}
.item h3 {
margin: 0 0 10px;
max-width: 100%;
color: var(--text-strong);
font-family: "Barlow Condensed", Arial, sans-serif;
font-size: clamp(0.90rem, 1.08vw, 1.02rem);
font-weight: 700;
line-height: 1.1;
letter-spacing: 0.02em;
text-transform: uppercase;
white-space: nowrap;
}
.item h3::after {
content: "";
display: block;
width: 42px;
height: 1px;
margin: 9px auto 0;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
}
.item p {
margin: 0 auto;
min-width: 0;
max-width: 98%;
color: var(--text-dim);
font-size: clamp(0.76rem, 0.92vw, 0.84rem);
line-height: 1.48;
letter-spacing: 0.001em;
white-space: normal;
overflow-wrap: break-word;
text-align: center;
}
.footer {
position: relative;
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
width: min(700px, 74%);
margin: 38px auto 4px;
}
.footer > span {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), rgba(255,255,255,0.08));
}
.footer > span:last-child {
transform: scaleX(-1);
}
.footer-mark {
position: relative;
width: 48px;
height: 42px;
margin: 0 16px;
}
.footer-mark i {
position: absolute;
left: 50%;
height: 6px;
border: 1px solid rgba(238, 242, 246, 0.26);
border-radius: 50%;
transform: translateX(-50%) rotate(-6deg);
}
.footer-mark i:nth-child(1) { top: 0; width: 46px; }
.footer-mark i:nth-child(2) { top: 10px; width: 34px; transform: translateX(-50%) rotate(7deg); }
.footer-mark i:nth-child(3) { top: 20px; width: 22px; }
.footer-mark i:nth-child(4) { top: 30px; width: 10px; transform: translateX(-50%) rotate(8deg); }
@keyframes drift-spin {
from { transform: rotate(0deg) scale(1); }
50% { transform: rotate(180deg) scale(1.08); }
to { transform: rotate(360deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
.ambient-haze {
animation: none;
}
.card,
.side-ornament span,
.header h1,
.media img,
.media::after,
.panel,
.fold,
.fold-icon,
.item,
.item::after {
transition: none;
}
}
@media (max-width: 760px) {
.card {
margin: 24px auto;
padding: 34px 25px 42px;
}
.header {
padding-bottom: 34px;
}
.header h1 {
font-size: clamp(1.62rem, 6.6cqi, 3.15rem);
}
.panel {
padding: 29px 24px;
}
.grid {
gap: 10px;
}
.item {
min-height: 160px;
}
}
@media (max-width: 620px) {
.card {
padding: 29px 16px 37px;
}
.side-ornament {
display: none;
}
.ambient-haze {
width: 260px;
height: 260px;
}
.header h1 {
font-size: clamp(1.26rem, 7.2cqi, 2.18rem);
letter-spacing: -0.022em;
}
.title-rule {
width: 92%;
margin-top: 22px;
}
.media {
padding: 8px;
margin-bottom: 27px;
}
.panel {
padding: 26px 17px;
margin-bottom: 27px;
}
.heading {
gap: 10px;
margin-bottom: 24px;
}
.heading h2 {
font-size: 1.46rem;
}
.heading span {
max-width: 90px;
}
.lead {
font-size: 0.90rem;
line-height: 1.74;
}
.grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-rows: repeat(2, minmax(148px, 1fr));
gap: 8px;
padding: 6px;
}
.item {
min-height: 148px;
}
.item-copy {
padding: 18px 10px;
}
.item h3 {
font-size: clamp(0.72rem, 2.4vw, 0.86rem);
letter-spacing: -0.002em;
}
.item p {
max-width: 100%;
font-size: clamp(0.68rem, 1.95vw, 0.78rem);
line-height: 1.42;
}
.fold summary {
min-height: 60px;
padding-left: 16px;
}
.fold-name {
font-size: 0.96rem;
}
.fold pre {
padding: 20px 16px;
font-size: 0.71rem;
}
}
@media (max-width: 470px) {
.grid {
grid-template-columns: 1fr;
grid-template-rows: none;
gap: 9px;
}
.item {
min-height: 128px;
}
.item h3 {
font-size: 0.92rem;
}
.item p {
font-size: 0.80rem;
line-height: 1.46;
}
.header h1 {
font-size: clamp(1.08rem, 7cqi, 1.72rem);
}
.heading h2 {
font-size: 1.28rem;
}
}
</style>