
:root{
  --sabine-pink:#d84f9f;
  --sabine-orange:#ef8a3d;
  --sabine-teal:#48b7b2;
  --sabine-purple:#8b6fd6;
  --sabine-panel:#0b1016;
  --sabine-panel-2:#111923;
  --sabine-line:rgba(255,255,255,.12);
  --sabine-muted:#aab5c0;
}
body.character-file-page[data-sabine-dossier] .article-layout{grid-template-columns:minmax(0,1fr) 300px}
body.character-file-page[data-sabine-dossier] .sabine-dossier{min-width:0}
body.character-file-page[data-sabine-dossier] .sabine-dossier section{margin:0 0 54px;scroll-margin-top:88px}
body.character-file-page[data-sabine-dossier] .sabine-dossier h2{margin:0 0 18px;font-size:clamp(1.65rem,3vw,2.35rem)}
body.character-file-page[data-sabine-dossier] .sabine-dossier h3{margin:0 0 10px}
body.character-file-page[data-sabine-dossier] .sabine-dossier p{max-width:78ch}
.sabine-toc{border:1px solid var(--sabine-line);background:linear-gradient(145deg,var(--sabine-panel-2),var(--sabine-panel));padding:22px;margin:0 0 44px}
.sabine-toc strong{display:block;margin-bottom:12px}
.sabine-toc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}
.sabine-toc a{color:inherit;text-decoration:none;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.sabine-toc a:hover{color:var(--sabine-orange)}
.sabine-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 28px}
.sabine-fact{border:1px solid var(--sabine-line);background:var(--sabine-panel);padding:16px}
.sabine-fact span{display:block;color:var(--sabine-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.sabine-note{border-left:4px solid var(--sabine-pink);background:rgba(216,79,159,.08);padding:18px 20px;margin:24px 0}
.sabine-section-image{display:block;width:100%;max-width:900px;height:auto;margin:24px 0 8px;border:1px solid var(--sabine-line);background:#05070a}
.sabine-image-caption{color:var(--sabine-muted);font-size:.88rem;margin-top:8px}
.sabine-interactive{border:1px solid var(--sabine-line);background:linear-gradient(145deg,#111923,#080c11);padding:22px;margin:26px 0}
.sabine-button-row{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 18px}
.sabine-button-row button,.sabine-choice button,.sabine-random button{
  appearance:none;border:1px solid rgba(216,79,159,.5);background:#101720;color:#eef3f7;
  padding:10px 13px;border-radius:4px;cursor:pointer;font:inherit
}
.sabine-button-row button:hover,.sabine-choice button:hover,.sabine-random button:hover,
.sabine-button-row button[aria-pressed="true"],.sabine-choice button[aria-pressed="true"]{
  background:rgba(216,79,159,.18);border-color:var(--sabine-orange)
}
.sabine-panel-output{min-height:126px;border-top:1px solid var(--sabine-line);padding-top:18px}
.sabine-panel-output h3{color:var(--sabine-orange)}
.sabine-life-grid,.sabine-relationship-grid,.sabine-identity-grid,.sabine-mirror-grid,.sabine-object-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px
}
.sabine-card{border:1px solid var(--sabine-line);background:#0d131b;padding:18px}
.sabine-card small{display:block;color:var(--sabine-orange);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.sabine-identity-output{border:1px solid rgba(72,183,178,.4);background:rgba(72,183,178,.06);padding:18px;margin-top:16px}
.sabine-symbol{
  display:flex;align-items:center;justify-content:center;min-height:180px;margin:18px 0;
  border:1px solid var(--sabine-line);background:
  radial-gradient(circle at 35% 35%,rgba(216,79,159,.20),transparent 30%),
  radial-gradient(circle at 65% 65%,rgba(72,183,178,.15),transparent 35%),#090d12
}
.sabine-symbol-mark{font-size:clamp(3rem,10vw,7rem);line-height:1;filter:drop-shadow(0 0 18px rgba(216,79,159,.35))}
.sabine-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.sabine-scenario{border-top:1px solid var(--sabine-line);padding:20px 0}
.sabine-scenario:first-of-type{border-top:0}
.sabine-lab-progress{height:8px;background:#090d12;border:1px solid var(--sabine-line);margin:12px 0 22px;overflow:hidden}
.sabine-lab-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sabine-pink),var(--sabine-orange),var(--sabine-teal));transition:width .2s ease}
.sabine-result{border:1px solid rgba(216,79,159,.4);background:rgba(216,79,159,.06);padding:20px;margin-top:20px}
.sabine-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.sabine-meter{background:#090d12;border:1px solid var(--sabine-line);padding:12px}
.sabine-meter strong{display:block;margin-bottom:8px}
.sabine-meter-track{height:7px;background:#151c24;overflow:hidden}
.sabine-meter-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sabine-pink),var(--sabine-orange))}
.sabine-quote-card{border-left:4px solid var(--sabine-teal);padding:18px 20px;background:rgba(72,183,178,.06);margin:22px 0}
.sabine-collecting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sabine-collecting-item{border:1px solid var(--sabine-line);background:#0d131b;padding:18px}
.sabine-random-output{border-top:1px solid var(--sabine-line);padding-top:14px;min-height:58px}
.sabine-source-list li{margin-bottom:10px}
body.character-file-page[data-sabine-dossier] main#article>.article-hero.character-hero{
  position:relative!important;display:grid!important;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)!important;
  align-items:stretch!important;width:100%!important;max-width:var(--max)!important;margin:0 auto!important;
  padding:32px 20px 42px!important;overflow:visible!important;background:transparent!important;box-sizing:border-box!important
}
body.character-file-page[data-sabine-dossier] .article-hero-copy{
  position:relative!important;grid-column:1!important;grid-row:1!important;display:flex!important;flex-direction:column!important;
  justify-content:center!important;min-height:480px!important;padding:42px!important;border:1px solid var(--line)!important;
  border-right:0!important;background:linear-gradient(145deg,#111822,#080b10)!important;box-sizing:border-box!important
}
body.character-file-page[data-sabine-dossier] .article-hero-image{
  position:relative!important;grid-column:2!important;grid-row:1!important;min-height:480px!important;
  border:1px solid var(--line)!important;background-size:cover!important;background-repeat:no-repeat!important;background-position:center center!important
}
@media(max-width:900px){
  .sabine-toc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sabine-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body.character-file-page[data-sabine-dossier] main#article>.article-hero.character-hero{grid-template-columns:1fr!important;padding:20px 16px 28px!important}
  body.character-file-page[data-sabine-dossier] .article-hero-copy{grid-column:1!important;grid-row:1!important;min-height:0!important;padding:28px 22px!important;border-right:1px solid var(--line)!important;border-bottom:0!important}
  body.character-file-page[data-sabine-dossier] .article-hero-image{grid-column:1!important;grid-row:2!important;min-height:0!important;aspect-ratio:16/9!important;background-size:cover!important}
  body.character-file-page[data-sabine-dossier] .article-layout{display:block!important;width:100%!important;padding:30px 16px 72px!important;box-sizing:border-box!important}
  body.character-file-page[data-sabine-dossier] .article-rail{position:static!important;margin-top:38px}
  .sabine-fact-grid,.sabine-life-grid,.sabine-relationship-grid,.sabine-identity-grid,.sabine-mirror-grid,.sabine-object-grid,.sabine-collecting-grid{grid-template-columns:1fr}
  .sabine-toc-grid{grid-template-columns:1fr}
  .sabine-choice{grid-template-columns:1fr}
}
