<style>
/* ══════════════════════════════════════════════════════════════
Duskflare 27B — model card styles (Athletic Bold palette)
palette: #c30f3e #111827 #f9fafb #f59e0b #374151
══════════════════════════════════════════════════════════════ */
/* ---------- page shell ---------- */
.df-page{
background:#111827;
color:#d1d5db;
max-width:900px;
margin:0 auto;
padding:26px 26px 34px;
border-radius:16px;
border:1px solid #1f2937;
font-family:ui-sans-serif, system-ui, -apple-system, sans-serif;
line-height:1.6;
}
.df-page *{ box-sizing:border-box; }
/* ---------- typography ---------- */
.df-page h1,.df-page h2,.df-page h3{ margin:0; color:#f9fafb; }
.df-page h2{
font-size:20px;
font-weight:800;
letter-spacing:.01em;
margin:36px 0 14px;
padding-bottom:10px;
border-bottom:1px solid #374151;
display:flex;
align-items:center;
gap:12px;
}
.df-page h2::before{
content:"";
display:inline-block;
width:11px; height:11px;
background:#c30f3e;
transform:rotate(45deg) translateY(-1px);
flex:none;
}
.df-page h3{
font-size:12.5px;
font-weight:700;
letter-spacing:.16em;
text-transform:uppercase;
color:#f59e0b;
margin:22px 0 8px;
}
.df-page p{ margin:0 0 12px; color:#d1d5db; }
.df-page strong{ color:#f9fafb; }
.df-page em{ color:#f59e0b; font-style:normal; }
.df-page a{
color:#f59e0b;
text-decoration:none;
border-bottom:1px solid rgba(245,158,11,.4);
}
.df-page a:hover{ color:#fbbf24; border-bottom-color:#fbbf24; }
/* ---------- lists ---------- */
.df-page ul,.df-page ol{ padding-left:22px; margin:0 0 14px; }
.df-page li{ margin:5px 0; color:#d1d5db; }
.df-page li::marker{ color:#c30f3e; }
/* ---------- code ---------- */
.df-page code{
font-family:ui-monospace, "SF Mono", Menlo, Consolas, monospace;
font-size:.88em;
background:#0a0f1a;
color:#f9fafb;
padding:2px 6px;
border-radius:4px;
border:1px solid #1f2937;
}
.df-page pre{
background:#0a0f1a;
border:1px solid #1f2937;
border-left:3px solid #c30f3e;
border-radius:10px;
padding:16px 18px;
overflow-x:auto;
font-size:12.5px;
line-height:1.6;
margin:0 0 16px;
}
.df-page pre code{
background:transparent;
border:0;
padding:0;
color:#e5e7eb;
font-size:inherit;
}
/* ---------- divider ---------- */
.df-page hr{
border:0;
height:1px;
background:linear-gradient(90deg, transparent, #374151 20%, #374151 80%, transparent);
margin:28px 0;
}
/* ---------- pills ---------- */
.df-pills{ display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 6px; }
.df-pill{
display:inline-block;
padding:5px 12px;
border-radius:999px;
font-size:10.5px;
font-weight:800;
letter-spacing:.14em;
text-transform:uppercase;
background:#0a0f1a;
color:#9ca3af;
border:1px solid #374151;
}
.df-pill.hot{ background:rgba(195,15,62,.14); border-color:#c30f3e; color:#f9fafb; }
.df-pill.amber{ background:rgba(245,158,11,.08); border-color:#f59e0b; color:#f59e0b; }
/* ---------- stat grid ---------- */
.df-stats{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
gap:10px;
margin:18px 0 6px;
}
.df-stat{
background:#0d131f;
border:1px solid #1f2937;
border-radius:10px;
padding:14px 16px;
transition:border-color .3s ease, transform .3s ease;
}
.df-stat:hover{ border-color:#c30f3e; transform:translateY(-2px); }
.df-stat .k{
font-size:10px; font-weight:800; letter-spacing:.16em;
text-transform:uppercase; color:#6b7280; margin-bottom:4px;
}
.df-stat .v{
font-size:20px; font-weight:800; color:#f9fafb;
letter-spacing:-.01em; line-height:1.1;
}
.df-stat .v small{ font-size:12px; font-weight:600; color:#f59e0b; }
/* ---------- spoiler ---------- */
.df-spoiler{
margin:22px 0 8px;
border:1px solid #374151;
border-radius:12px;
background:#0d131f;
overflow:hidden;
transition:border-color .3s ease;
}
.df-spoiler[open]{ border-color:#c30f3e; }
.df-spoiler > summary{
list-style:none;
cursor:pointer;
padding:14px 18px;
font-size:12px;
font-weight:800;
letter-spacing:.14em;
text-transform:uppercase;
color:#f9fafb;
display:flex;
align-items:center;
gap:12px;
user-select:none;
transition:background .3s ease, color .3s ease;
}
.df-spoiler > summary::-webkit-details-marker{ display:none; }
.df-spoiler > summary::before{
content:"+";
flex:none;
display:inline-grid;
place-items:center;
width:24px; height:24px;
border-radius:6px;
background:#c30f3e;
color:#f9fafb;
font-size:16px;
font-weight:800;
line-height:1;
transition:background .3s ease, transform .4s cubic-bezier(.2,.7,.3,1);
}
.df-spoiler[open] > summary::before{
content:"–";
background:#f59e0b;
transform:rotate(180deg);
}
.df-spoiler > summary:hover{ background:#111c30; color:#f59e0b; }
.df-spoiler-body{
padding:4px 20px 22px;
border-top:1px solid #1f2937;
}
/* ---------- chart ---------- */
.df-chart{ margin:10px 0 4px; font-size:13px; }
.df-chart .tier{
font-size:10.5px; font-weight:800; letter-spacing:.16em;
text-transform:uppercase; color:#f59e0b;
margin:18px 0 6px;
}
.df-chart .row{
display:grid;
grid-template-columns:200px 1fr 60px;
align-items:center;
gap:12px;
padding:3px 0;
}
.df-chart .lbl{ color:#d1d5db; opacity:.9; font-size:13px; }
.df-chart .bar{
height:9px;
border-radius:5px;
background:#1f2937;
overflow:hidden;
}
.df-chart .fill{
display:block;
height:100%;
width:var(--w);
border-radius:5px;
background:var(--c);
transition:width .5s cubic-bezier(.2,.7,.3,1);
}
.df-chart .row:hover .fill{ width:calc(var(--w) * 1.08); }
.df-chart .pct{
text-align:right;
color:#f9fafb;
font-variant-numeric:tabular-nums;
font-size:12.5px;
opacity:.85;
}
/* ══════════════════════════════════════════════════════════════
HERO — halftone banner (hover / focus to sweep)
══════════════════════════════════════════════════════════════ */
.df-hero{
position:relative;
width:100%;
margin:0 0 26px;
}
.df-stage{
position:relative;
width:100%;
aspect-ratio:16 / 9;
border-radius:14px;
overflow:hidden;
background:#000;
box-shadow:0 30px 70px -30px #000, 0 0 0 1px rgba(195,15,62,.28) inset;
cursor:pointer;
}
.df-mask{
position:absolute; inset:0;
mask-image:url("https://cdn-uploads.huggingface.co/production/uploads/6671dd5203d6e8087aaf7ce5/zkyvl5hKEyiLVjpv2ki0i.png");
mask-mode:luminance;
mask-size:cover;
mask-position:center;
mask-repeat:no-repeat;
-webkit-mask-image:url("https://cdn-uploads.huggingface.co/production/uploads/6671dd5203d6e8087aaf7ce5/zkyvl5hKEyiLVjpv2ki0i.png");
-webkit-mask-source-type:luminance;
-webkit-mask-size:cover;
-webkit-mask-position:center;
-webkit-mask-repeat:no-repeat;
}
.df-dots{
position:absolute; inset:0;
background-image:radial-gradient(
circle at 50% 50%,
var(--c) 0 1px,
transparent calc(1px + 0.5px)
);
background-size:3px 3px;
background-position:0 0;
mask-image:linear-gradient(90deg,
rgba(255,255,255,0) 0%,
rgba(255,255,255,0) 40%,
rgba(255,255,255,1) 50%,
rgba(255,255,255,0) 60%,
rgba(255,255,255,0) 100%);
mask-mode:luminance;
mask-size:300% 100%;
mask-position:100% 0;
mask-repeat:no-repeat;
-webkit-mask-image:linear-gradient(90deg,
rgba(255,255,255,0) 0%,
rgba(255,255,255,0) 40%,
rgba(255,255,255,1) 50%,
rgba(255,255,255,0) 60%,
rgba(255,255,255,0) 100%);
-webkit-mask-source-type:luminance;
-webkit-mask-size:300% 100%;
-webkit-mask-position:100% 0;
-webkit-mask-repeat:no-repeat;
transition:mask-position 1.8s linear, -webkit-mask-position 1.8s linear;
}
.df-stage:hover .df-dots,
.df-stage:focus-within .df-dots{
mask-position:0% 0;
-webkit-mask-position:0% 0;
}
.df-dots:nth-child(1){ transition-delay:0s; }
.df-dots:nth-child(2){ transition-delay:0.25s; }
.df-dots:nth-child(3){ transition-delay:0.5s; }
.df-dots:nth-child(4){ transition-delay:0.75s; }
.df-dots:nth-child(5){ transition-delay:1s; }
.df-title{
position:absolute;
inset:auto 0 0 0;
padding:30px 34px 26px;
background:linear-gradient(180deg,
rgba(0,0,0,0) 0%,
rgba(17,24,39,.55) 45%,
rgba(0,0,0,.92) 100%);
pointer-events:none;
}
.df-title h1{
font-size:clamp(22px, 3.8vw, 42px);
font-weight:800;
letter-spacing:-.02em;
line-height:1.04;
margin:0 0 6px;
background:linear-gradient(90deg, #f9fafb 0%, #f59e0b 50%, #c30f3e 100%);
-webkit-background-clip:text;
background-clip:text;
color:transparent;
}
.df-title p{
font-size:clamp(10px, 1.2vw, 12.5px);
font-weight:700;
letter-spacing:.18em;
text-transform:uppercase;
color:#f9fafb;
opacity:.82;
margin:0;
}
@media (prefers-reduced-motion: reduce){
.df-dots{ transition:none; }
}
</style>
<div class="df-page">
<!-- ══════════════════════════════════════════════════════
HERO
══════════════════════════════════════════════════════ -->
<div class="df-hero">
<div class="df-stage" tabindex="0">
<div class="df-mask">
<div class="df-dots" style="--c:#374151;"></div>
<div class="df-dots" style="--c:#c30f3e;"></div>
<div class="df-dots" style="--c:#f59e0b;"></div>
<div class="df-dots" style="--c:#f9fafb;"></div>
<div class="df-dots" style="--c:#7f0a28;"></div>
</div>
<div class="df-title">
<h1>Duskflare 27B</h1>
<p>Roleplay · Diverse Scenarios · Partly Uncensored</p>
</div>
</div>
</div>
<div class="df-pills">
<span class="df-pill hot">Alpha</span>
<span class="df-pill">27B</span>
<span class="df-pill amber">Partly Uncensored</span>
<span class="df-pill">Limited Dataset</span>
<span class="df-pill">Text Generation</span>
</div>
<br/>
<audio controls src="https://cdn-uploads.huggingface.co/production/uploads/6671dd5203d6e8087aaf7ce5/uY0cP6MHWySYtDL_FkcIZ.mpga"></audio>
<!-- ══════════════════════════════════════════════════════
OVERVIEW
══════════════════════════════════════════════════════ -->
<h2>Overview</h2>
<p>
<strong>Duskflare 27B</strong> is a roleplay-focused language model
trained on a deliberately <em>genre-balanced</em> instruction
mix. Rather than collapsing toward the usual urban-fantasy or
isekai default, the dataset is weighted so a wide spread of
settings, tones, and narrative registers stay alive at inference
time - from grimdark political intrigue to lighthearted slice-of-life
to pulp noir.
</p>
<p>
This is an <strong>alpha release</strong> on a
<strong>limited dataset</strong>. It is a direction, not a final
product.
</p>
<div class="df-stats">
<div class="df-stat">
<div class="k">Parameters</div>
<div class="v">27<small>B</small></div>
</div>
<div class="df-stat">
<div class="k">Stage</div>
<div class="v">Alpha</div>
</div>
<div class="df-stat">
<div class="k">Genres</div>
<div class="v">29</div>
</div>
<div class="df-stat">
<div class="k">Censorship</div>
<div class="v">Partial</div>
</div>
</div>
<h3>Built for</h3>
<ul>
<li>Multi-turn roleplay with consistent character voice</li>
<li>Scenario diversity - the model should reach for a Norse saga as readily as a cyberpunk sprawl</li>
<li>Prompt-sensitive tone - comedy stays comedic, horror stays grim</li>
<li>Open-ended NSFW within the boundary described below</li>
</ul>
<h3>Not built for</h3>
<ul>
<li>General-purpose assistance</li>
<li>Factual recall or research</li>
<li>Production deployment (it is alpha)</li>
</ul>
<!-- ══════════════════════════════════════════════════════
CONTENT POLICY
══════════════════════════════════════════════════════ -->
<h2>Content Policy</h2>
<p>
Duskflare is <strong>partly uncensored</strong> - it is capable of
producing NSFW output when prompted, but the training dataset
retains enough refusal-weighted signal that the model will still
decline certain categories (notably anything involving minors,
or prompts that imply real-world harm).
</p>
<p>
<strong>You are responsible for what you generate and how you
deploy this model.</strong> Do not use it in contexts where the
output could harm a real person.
</p>
<!-- ══════════════════════════════════════════════════════
USAGE
══════════════════════════════════════════════════════ -->
<h2>Usage</h2>
Should be usable both with thinking enabled and disabled.
Suggested thinking mode is <strong>medium</strong>, but <strong>xhigh</strong> and <strong>low</strong> should work too.
<h3>Prompting notes</h3>
<ul>
<li>A <strong>system prompt matters</strong> - give the model a role, a tone, and any hard boundaries.</li>
<li>Recommended <strong>sampling parameters</strong>: <tt>temperature=1.0</tt>, <tt>top_p=0.95</tt>, <tt>top_k=20</tt>, <tt>min_p=0.0</tt>, <tt>presence_penalty=0.0</tt>, <tt>repetition_penalty=1.0</tt></li>
<li>The model is trained for <strong>multi-turn</strong>, so seed a few exchanges before judging output quality.</li>
</ul>
<!-- ══════════════════════════════════════════════════════
LIMITATIONS
══════════════════════════════════════════════════════ -->
<h2>Limitations</h2>
<ul>
<li><strong>Alpha dataset.</strong> Coverage is uneven - some specialised genres are thin and may feel under-trained.</li>
<li><strong>No factual grounding.</strong> Do not rely on it for real-world facts.</li>
<li><strong>Refusals are inconsistent.</strong> "Partly uncensored" means exactly that - you may see refusals on benign prompts, or the opposite.</li>
<li><strong>Genre bleed.</strong> Occasionally a prompt framed as one genre is answered with the vocabulary of another.</li>
<li><strong>27B-class compute.</strong> Not designed for edge deployment.</li>
</ul>
<!-- ══════════════════════════════════════════════════════
STATUS
══════════════════════════════════════════════════════ -->
<h2>Status</h2>
<p>
<strong>Alpha.</strong> Limited dataset. Expect a checkpoint
refresh with the expanded dataset. Feedback, failure cases, and
genre-drift reports are all welcome in the Community tab.
</p>
<!-- ══════════════════════════════════════════════════════
SPOILER - dataset composition
══════════════════════════════════════════════════════ -->
<details class="df-spoiler">
<summary>Dataset Composition</summary>
<div class="df-spoiler-body">
<p style="margin-top:14px; font-size:12.5px; color:#9ca3af;">
Shares are percent of total training dataset, grouped by
popularity tier. Twenty-nine genre buckets plus uncensoring.
</p>
<div class="df-chart">
<div class="tier">Tier 1 - high popularity</div>
<div class="row"><span class="lbl">High Fantasy</span><span class="bar"><span class="fill" style="--w:70%;--c:#c30f3e;"></span></span><span class="pct">7.00</span></div>
<div class="row"><span class="lbl">Urban Fantasy</span><span class="bar"><span class="fill" style="--w:65%;--c:#c30f3e;"></span></span><span class="pct">6.50</span></div>
<div class="row"><span class="lbl">Sci-Fi (general)</span><span class="bar"><span class="fill" style="--w:60%;--c:#c30f3e;"></span></span><span class="pct">6.00</span></div>
<div class="row"><span class="lbl">Cyberpunk</span><span class="bar"><span class="fill" style="--w:60%;--c:#c30f3e;"></span></span><span class="pct">6.00</span></div>
<div class="row"><span class="lbl">Mystery / Thriller</span><span class="bar"><span class="fill" style="--w:60%;--c:#c30f3e;"></span></span><span class="pct">6.00</span></div>
<div class="row"><span class="lbl">Space Opera</span><span class="bar"><span class="fill" style="--w:55%;--c:#c30f3e;"></span></span><span class="pct">5.50</span></div>
<div class="row"><span class="lbl">Post-apocalyptic</span><span class="bar"><span class="fill" style="--w:55%;--c:#c30f3e;"></span></span><span class="pct">5.50</span></div>
<div class="row"><span class="lbl">Academy</span><span class="bar"><span class="fill" style="--w:55%;--c:#c30f3e;"></span></span><span class="pct">5.50</span></div>
<div class="row"><span class="lbl">Isekai</span><span class="bar"><span class="fill" style="--w:50%;--c:#c30f3e;"></span></span><span class="pct">5.00</span></div>
<div class="tier">Tier 2 - medium</div>
<div class="row"><span class="lbl">Dark Fantasy / Grimdark</span><span class="bar"><span class="fill" style="--w:40%;--c:#f59e0b;"></span></span><span class="pct">4.00</span></div>
<div class="row"><span class="lbl">Romantasy</span><span class="bar"><span class="fill" style="--w:40%;--c:#f59e0b;"></span></span><span class="pct">4.00</span></div>
<div class="row"><span class="lbl">Historical</span><span class="bar"><span class="fill" style="--w:35%;--c:#f59e0b;"></span></span><span class="pct">3.50</span></div>
<div class="row"><span class="lbl">Dystopian</span><span class="bar"><span class="fill" style="--w:35%;--c:#f59e0b;"></span></span><span class="pct">3.50</span></div>
<div class="row"><span class="lbl">Espionage</span><span class="bar"><span class="fill" style="--w:35%;--c:#f59e0b;"></span></span><span class="pct">3.50</span></div>
<div class="row"><span class="lbl">Slice of Life</span><span class="bar"><span class="fill" style="--w:35%;--c:#f59e0b;"></span></span><span class="pct">3.50</span></div>
<div class="tier">Tier 3 - niche</div>
<div class="row"><span class="lbl">Steampunk</span><span class="bar"><span class="fill" style="--w:20%;--c:#f9fafb;"></span></span><span class="pct">2.00</span></div>
<div class="row"><span class="lbl">Time-Travel</span><span class="bar"><span class="fill" style="--w:20%;--c:#f9fafb;"></span></span><span class="pct">2.00</span></div>
<div class="row"><span class="lbl">Crime / Noir</span><span class="bar"><span class="fill" style="--w:20%;--c:#f9fafb;"></span></span><span class="pct">2.00</span></div>
<div class="row"><span class="lbl">Gothic Fantasy</span><span class="bar"><span class="fill" style="--w:20%;--c:#f9fafb;"></span></span><span class="pct">2.00</span></div>
<div class="row"><span class="lbl">Norse Mythology</span><span class="bar"><span class="fill" style="--w:15%;--c:#f9fafb;"></span></span><span class="pct">1.50</span></div>
<div class="row"><span class="lbl">Military Fantasy</span><span class="bar"><span class="fill" style="--w:15%;--c:#f9fafb;"></span></span><span class="pct">1.50</span></div>
<div class="row"><span class="lbl">Mecha</span><span class="bar"><span class="fill" style="--w:15%;--c:#f9fafb;"></span></span><span class="pct">1.50</span></div>
<div class="tier">Specialised</div>
<div class="row"><span class="lbl">Political Fantasy</span><span class="bar"><span class="fill" style="--w:10%;--c:#374151;"></span></span><span class="pct">1.00</span></div>
<div class="row"><span class="lbl">Space Western</span><span class="bar"><span class="fill" style="--w:10%;--c:#374151;"></span></span><span class="pct">1.00</span></div>
<div class="row"><span class="lbl">Lighthearted / Humorous</span><span class="bar"><span class="fill" style="--w:10%;--c:#374151;"></span></span><span class="pct">1.00</span></div>
<div class="row"><span class="lbl">Martial Arts</span><span class="bar"><span class="fill" style="--w:10%;--c:#374151;"></span></span><span class="pct">1.00</span></div>
<div class="row"><span class="lbl">OSR Fantasy</span><span class="bar"><span class="fill" style="--w:7.5%;--c:#374151;"></span></span><span class="pct">0.75</span></div>
<div class="row"><span class="lbl">Pulp Fiction</span><span class="bar"><span class="fill" style="--w:7.5%;--c:#374151;"></span></span><span class="pct">0.75</span></div>
<div class="tier">Uncensoring</div>
<div class="row"><span class="lbl">NSFW</span><span class="bar"><span class="fill" style="--w:70%;--c:#c30f3e;"></span></span><span class="pct">7.00</span></div>
</div>
</div>
</details>
<!-- ══════════════════════════════════════════════════════
CREDITS
══════════════════════════════════════════════════════ -->
<h2>Special thanks</h2>
<ul>
<li><a href="https://huggingface.co/mradermacher" />Team mradermacher</a> for awesome quants in GGUF format</li>
</ul>
<!-- ══════════════════════════════════════════════════════
CITATION
══════════════════════════════════════════════════════ -->
<h2>Citation</h2>
<pre><code>@misc{duskflare27b,
title = {Duskflare 27B},
author = {Retreatcost},
year = {2026},
note = {Alpha release, limited dataset},
url = {https://huggingface.co/Retreatcost/Duskflare-27B}
}
</code></pre>
</div>