@font-face{font-family:'Angles Nocturne';src:url('assets/fonts/AnglesNocturne-PeriodBold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('assets/fonts/EBGaramond.ttf') format('truetype');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:'Grenze Gotisch';src:url('assets/fonts/GrenzeGotisch.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.game.angles,.game.hausmacht{position:relative;padding:clamp(1.35rem,3.4vw,3.1rem);font-family:'EB Garamond',Georgia,serif;font-variant-numeric:lining-nums tabular-nums}
.game.angles:before,.game.hausmacht:before{content:'';position:absolute;inset:10px;pointer-events:none;border:1px solid var(--game-trim)}
.game .game-topline{font-family:var(--body);padding-bottom:1rem;border-bottom:1px solid var(--game-trim);margin-bottom:1.5rem}
.game .game-content{gap:6%;grid-template-columns:1fr 1.15fr;padding-top:2.3rem}
.game .game-title-block{min-width:0}
.game .game-description>p{font-size:1.25rem;line-height:1.6}
.game .detail-body{font-size:1.1875rem;line-height:1.55}
.game .game-setting{font-size:1.25rem;line-height:1.45}
.game .game-title-block .eyebrow{font-family:var(--body);letter-spacing:.075em;font-size:.875rem}
.game .world-image figcaption{font-family:var(--body);font-size:.8125rem}
.game summary{font-family:var(--body);font-size:.9375rem}
.game .development-note{font-family:var(--body);font-size:.875rem}

/* Exact approved Angles font and palette; capitals only for display. */
.game.angles{--game-trim:#645135;--game-accent:#cfac63;background:#141211;color:#ebddab;border:1px solid #645135}
.angles .game-number,.angles .game-title-block .eyebrow{color:#cfac63}
.angles .status{color:#ebddab;border-color:#645135;background:#382020}
.angles .game-title-block h3{font-family:'Angles Nocturne','Arial Narrow',sans-serif;font-weight:700;font-size:clamp(3.1rem,5.2vw,5.1rem);line-height:1.08;letter-spacing:.015em;color:#cfac63;text-transform:uppercase;font-synthesis:none}
.angles .game-title-block h3 span{display:block;font-size:.62em;line-height:1.3;margin-top:.28rem;letter-spacing:.025em}
.angles .game-description h4{font-family:'Angles Nocturne','Arial Narrow',sans-serif;font-weight:700;font-size:1.7rem;line-height:1.3;letter-spacing:.015em;text-transform:uppercase;color:#cfac63;font-synthesis:none}
.angles .game-description>p,.angles .detail-body{color:#ded5c5}
.angles .game-setting{color:#af9973;border-top:1px solid #645135;padding-top:1rem}
.angles .game-description details{border-color:#645135}
.angles .detail-body strong,.angles summary{color:#ebddab}
.angles .detail-symbol:before,.angles .detail-symbol:after{background:#cfac63}
.angles .detail-body .development-note{color:#af9973}
.angles .world-image{border:1px solid #645135}
.angles .world-image figcaption{background:#141211ed;color:#ebddab}
.angles summary:focus-visible{outline-color:#cfac63}

/* Hausmacht's approved image is framed through CSS, leaving its bytes intact.
   Companion heading/reading fonts are website choices, not game font approvals. */
.game.hausmacht{--game-trim:#4a3b2c;--game-accent:#c3a56d;background:#161514;color:#e7dac2;border:1px solid #3d332b;color-scheme:dark}
.hausmacht .game-topline{border-color:#4b2428}
.hausmacht .game-number,.hausmacht .game-title-block .eyebrow{color:#c3a56d}
.hausmacht .status{color:#d2bb91;border-color:#58452b;background:#221b19}
.hausmacht .game-title-block h3{font-size:inherit;line-height:1;margin-top:1.1rem}
.hausmacht-wordmark{display:block;position:relative;overflow:hidden;width:100%;max-width:32rem;aspect-ratio:1060/266;mix-blend-mode:screen}
/* Lift the original ink silhouette into parchment lettering; screen blending
   removes the study's paper background without changing the source image. */
.hausmacht-wordmark img{position:absolute;width:144.906%;max-width:none;height:auto;left:-23.585%;top:-11.278%;filter:grayscale(1) invert(1) contrast(3) sepia(.6) brightness(.9)}
.hausmacht .game-description h4{font-family:'Grenze Gotisch',Georgia,serif;font-weight:600;font-size:2.15rem;letter-spacing:0;line-height:1.22;color:#e7dac2;font-synthesis:none}
.hausmacht .game-description>p,.hausmacht .detail-body{color:#d1c7b5}
.hausmacht .game-setting{color:#c3a56d;border-top:1px solid #4a3b2c;padding-top:1.1rem}
.hausmacht .game-description details{border-color:#4a3b2c}
.hausmacht .detail-body strong{color:#e7dac2;font-weight:650}
.hausmacht summary{color:#d2bb91}
.hausmacht .detail-symbol:before,.hausmacht .detail-symbol:after{background:#c3a56d}
.hausmacht .detail-body .development-note{color:#b9ac97}
.hausmacht .world-image{border:1px solid #4a3b2c}
.hausmacht .world-image figcaption{background:#161514ed;color:#d1c7b5}
.hausmacht summary:focus-visible{outline-color:#c3a56d}

@media(max-width:900px){.game .game-content{grid-template-columns:1fr;gap:1.9rem}.angles .game-title-block h3{font-size:clamp(3.1rem,8vw,4.4rem)}.hausmacht-wordmark{max-width:30rem}}
@media(max-width:700px){.game.angles,.game.hausmacht{padding:1.35rem 1.15rem}.game.angles:before,.game.hausmacht:before{inset:6px}.game .game-topline{gap:.7rem;padding-bottom:.85rem;margin-bottom:1.15rem}.game .game-number{font-size:.8125rem;letter-spacing:.045em}.game .game-content{padding-top:1.65rem;gap:1.6rem}.game .game-description>p{font-size:1.1875rem}.game .game-setting{font-size:1.1875rem;margin-top:1.15rem}.angles .game-title-block h3{font-size:clamp(2.7rem,11vw,4rem)}.angles .game-description h4{font-size:1.55rem}.hausmacht .game-description h4{font-size:1.95rem}.game .game-title-block .eyebrow{font-size:.8125rem;letter-spacing:.025em}.game .world-image figcaption{position:static;font-size:.75rem;padding:.55rem .65rem}.game .world-image img{aspect-ratio:1.5}}
