/* Public identity derived from the active Bruno Bolas site. */
@font-face { font-family:'Chakra Petch'; src:url('/assets/fonts/ChakraPetch-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Chakra Petch'; src:url('/assets/fonts/ChakraPetch-SemiBold.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Chakra Petch'; src:url('/assets/fonts/ChakraPetch-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
.bunker {
  /* Exact active Bruno Bolas tokens, verified against public/neon.html. */
  --magenta:#ff2ec4; --magenta-deep:#e6009e; --cyan:#34e5ff; --violet:#7b2ff7;
  --ink:#0b0812; --panel:#0e0a17; --tile-black:#100c1a;
  --text:#f4eefb; --muted:#b9a8cf; --identity-line:rgba(255,46,196,.25);
  --paper:var(--text); --ash:var(--muted); --ember:var(--magenta); --line:var(--identity-line);
  --frame-pad:clamp(1rem,2.5vw,2.5rem); --section-space:clamp(2rem,6vw,6rem);
  --layout-max:107.5rem; --radius:clamp(.875rem,2vw,1.625rem);
  font-family:'Chakra Petch',system-ui,sans-serif; background:var(--ink); color:var(--text); line-height:1.65; min-block-size:100svh;
}
.bunker ::selection { background:var(--magenta); color:var(--ink); }
.bunker :focus-visible { outline:3px solid var(--magenta); outline-offset:5px; }
.bunker .site-header { position:relative; padding:1rem var(--frame-pad); border-bottom:1px solid var(--line); max-width:var(--layout-max); margin-inline:auto; }
.bunker .brand { display:inline-flex; align-items:center; gap:.65rem; font-family:'Chakra Petch',sans-serif; font-size:1.15rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.bunker .brand-symbol { display:block; inline-size:6rem; block-size:6rem; flex:none; object-fit:contain; mix-blend-mode:screen; filter:drop-shadow(0 0 .75rem rgba(255,46,196,.26)); }
.bunker .brand-name { min-inline-size:0; }
.bunker .menu-cta { display:none; }
.bunker .language-switch { border:0; padding-inline:0; text-decoration:underline; text-underline-offset:5px; }
.bunker .site-header nav { margin-inline:auto; }
.bunker .eyebrow,.feed-top,.status-bar,.feed-note,.section-label,.motion-control,.classified,.bunker footer small { font-family:'Courier New',monospace; font-size:.75rem; letter-spacing:.06em; line-height:1.5; }
.bunker-entry { padding:0 var(--frame-pad) var(--section-space); display:grid; grid-template-columns:minmax(0,.48fr) minmax(0,1fr); gap:clamp(1.5rem,3vw,3.5rem); align-items:start; }
.status-bar { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.25rem 1rem; border-bottom:1px solid var(--line); text-transform:uppercase; }
.status-bar>p { display:flex; align-items:center; gap:.7rem; }
.signal { display:inline-block; width:.5rem; height:.5rem; flex:none; background:var(--cyan); border-radius:50%; }
summary { cursor:pointer; }
.condition { max-width:32rem; }
.condition summary { padding:1rem 0; }
.condition div { padding-bottom:1rem; color:var(--ash); }
.condition div p { margin:.5rem 0; }
.bunker-intro { display:flex; flex-direction:column; gap:1.5rem; padding:0; }
.bunker-intro>.eyebrow { grid-column:1/-1; color:var(--cyan); margin:0; }
.bunker-intro h1 { font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:clamp(2.5rem,4.2vw,5rem); line-height:1.04; letter-spacing:-.055em; margin:0; max-width:14ch; overflow-wrap:anywhere; }
.intro-note { padding-bottom:.4rem; max-width:23rem; }
.intro-note p { color:var(--ash); line-height:1.7; margin:.7rem 0; font-size:.95rem; }
.bunker .text-link { font-size:.85rem; text-decoration:underline; text-underline-offset:5px; }
.observation { margin:0; padding:clamp(.5rem,1.2vw,1rem); border:1px solid var(--identity-line); border-radius:var(--radius); background:var(--panel); box-shadow:0 0 0 1px rgba(52,229,255,.08),0 30px 80px rgba(0,0,0,.6); transition:border-color 180ms ease,box-shadow 180ms ease; }
.observation:hover,.observation:focus-within { border-color:var(--cyan); box-shadow:0 0 24px rgba(52,229,255,.08),0 30px 80px rgba(0,0,0,.6); }
.feed-top { display:flex; gap:.65rem; align-items:center; padding:.2rem .4rem .8rem; text-transform:uppercase; color:var(--cyan); }
.feed-top span:last-child { margin-left:auto; }
.feed-screen { position:relative; background:var(--ink); }
.feed-screen img { display:block; width:100%; height:auto; object-fit:contain; }
.feed-screen .still-picture { display:none; }
.observation:has(.motion-toggle:checked) .motion-picture { display:none; }
.observation:has(.motion-toggle:checked) .still-picture { display:block; }
.motion-control { display:flex; align-items:center; gap:.55rem; padding:0 .4rem .7rem; color:var(--ash); }
.motion-toggle { width:1rem; height:1rem; accent-color:var(--cyan); margin:0; }
.observation figcaption { font:.75rem/1.6 'Courier New',monospace; color:var(--ash); padding:.8rem .4rem .15rem; }
.feed-note { grid-column:2; text-align:right; color:var(--ash); margin:-1.5rem 0 0; }
.project-dossier { background:var(--panel); color:var(--text); padding:3rem 6vw 5rem; }
.bunker .section-label { color:inherit; border-top:1px solid currentColor; display:flex; gap:1.4rem; align-items:center; padding-top:.7rem; margin-bottom:2.5rem; text-transform:uppercase; }
.bunker .section-label span,.bunker .section-label a { color:inherit; }
.bunker .section-label p { margin:0; }
.bunker .section-label a { margin-left:auto; }
.dossier-body { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:5vw; align-items:center; }
.dossier-body h2 { font:700 clamp(3.8rem,7.5vw,8rem)/.92 'Chakra Petch',sans-serif; letter-spacing:-.065em; margin:1.5rem 0 0; }
.dossier-body .lede { color:var(--text); font:600 1.65rem/1.3 'Chakra Petch',sans-serif; }
.dossier-body p:not(.eyebrow) { line-height:1.7; }
.bunker .stamp { display:inline-block; color:var(--cyan); border:1px solid currentColor; border-radius:999px; padding:.45rem .7rem; margin:0; }
.bunker .button { background:var(--magenta); color:var(--ink); font-size:.85rem; border:1px solid transparent; border-radius:.5em; transition:background 180ms ease,border-color 180ms ease; }
.bunker .button:hover { background:var(--cyan); }
.bunker .button.ghost { border-color:currentColor; background:transparent; color:inherit; }
.project-actions { display:flex; flex-wrap:wrap; gap:1rem; }
.bunker .content-section { padding:3rem 6vw 5rem; }
.bunker .other-worlds { background:var(--panel); color:var(--text); padding-bottom:3rem; }
.bunker .game-card { background:transparent; border-bottom:1px solid currentColor; display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:3rem; padding-bottom:2rem; }
.bunker .game-card>div { padding:0; }
.bunker .game-card p { color:inherit; line-height:1.65; }
.bunker .game-card .eyebrow { color:var(--cyan); }
.bunker .game-card img { max-height:26rem; object-fit:contain; }
.bunker .art-placeholder { background:transparent; color:inherit; font:600 2.5rem 'Chakra Petch',sans-serif; border:1px dashed var(--identity-line); padding:2rem!important; display:flex; align-items:center; }
.bunker .journal { background:var(--ink); color:var(--paper); }
.bunker .journal .post-card p { color:var(--ash); }
.journal h2,.staff-section>h2 { font:700 clamp(3rem,5.5vw,6rem)/1 'Chakra Petch',sans-serif; letter-spacing:-.045em; max-width:13ch; margin:0 0 3rem; }
.bunker .post-grid { display:block; }
.bunker .post-card { display:grid; grid-template-columns:minmax(0,.55fr) minmax(0,1fr); gap:.3rem 3rem; border-top:1px solid var(--line); padding:2rem 0; background:transparent; }
.bunker .post-card img { grid-row:1/4; width:100%; max-height:18rem; object-fit:contain; }
.bunker .post-card h3 { font:700 2rem/1.15 'Chakra Petch',sans-serif; margin:.3rem 0; }
.bunker .post-card p { margin:.5rem 0; line-height:1.6; }
.bunker .post-card h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.staff-section { background:var(--tile-black); color:var(--text); padding:3rem 6vw 5rem; }
.staff-file { border-block:1px solid var(--identity-line); padding:1rem 0; }
.staff-file summary { font:1.05rem/1.6 'Courier New',monospace; padding:.5rem 0; }
.staff-section .team-grid { grid-template-columns:1fr; margin:1rem 0; }
.staff-section .team-card { background:transparent; grid-template-columns:minmax(0,.6fr) minmax(0,1fr); max-width:60rem; }
.staff-section .team-card img { object-fit:contain; min-height:0; }
.staff-section .team-card p:not(.eyebrow),.staff-section .eyebrow { color:var(--muted); }
.classified { border:1px dashed var(--identity-line); padding:1rem; margin:2rem 0 0 auto; max-width:28rem; transform:rotate(-1deg); }
.classified p { line-height:1.7; }
.bunker .discord-cta { background:var(--panel); padding:3rem 6vw; }
.bunker .discord-cta .disabled { background:var(--tile-black); color:var(--muted); opacity:1; }
.bunker footer { padding:4rem 6vw 3rem; grid-template-columns:1fr 1.3fr; gap:2rem 4rem; }
.bunker footer>.brand { font:700 clamp(2.7rem,5vw,6rem)/.9 'Chakra Petch',sans-serif; color:var(--paper); }
.bunker footer>.brand .brand-symbol { inline-size:clamp(8rem,14vw,15rem); block-size:clamp(8rem,14vw,15rem); }
.bunker footer p { max-width:30rem; line-height:1.7; margin:0; }
.bunker .page,.bunker .article { padding-top:5rem; }
.bunker .page h1,.bunker .article h1 { font-family:'Chakra Petch',sans-serif; font-weight:700; letter-spacing:-.055em; line-height:1; }
.bunker .game-hero { display:block; padding:3rem 4vw; background:none; min-height:0; overflow:visible; }
.bunker .game-hero h1 { font:700 clamp(3.5rem,8vw,9rem)/.98 'Chakra Petch',sans-serif; letter-spacing:-.06em; margin:1rem 0; }
.bunker .game-hero .observation { margin-top:2rem; }
.bunker .game-detail { max-width:100%; width:100%; background:var(--panel); color:var(--text); padding:4rem max(6vw,calc((100vw - 850px)/2)); }
.bunker .game-detail p,.bunker .game-detail li { color:var(--muted); }
.bunker .game-detail a { color:var(--magenta); }
.bunker .game-detail .button { color:var(--ink); }
.bunker .gallery { padding-top:3rem; }
.bunker .not-found,.bunker .construction { min-height:0; background:var(--panel); color:var(--text); margin:var(--section-space) auto; border-left:3px solid var(--magenta); border-radius:var(--radius); }
.bunker .not-found .lede,.bunker .construction .lede,.bunker .requested-path { color:var(--muted); }
.bunker .not-found .eyebrow,.bunker .construction .eyebrow { color:var(--magenta); }
.bunker .about .team-section { background:var(--panel); }
.bunker main,.bunker footer { max-width:var(--layout-max); margin-inline:auto; }
.bunker :is(h1,h2,h3,p,summary,figcaption) { overflow-wrap:anywhere; }
.bunker :is(section,article,figure,details,nav,div) { min-inline-size:0; }
.bunker .site-header nav { inline-size:auto; order:initial; margin-inline:auto; }
.bunker .site-header nav a { border-bottom:1px solid transparent; }
.bunker .site-header nav a:hover { color:var(--cyan); border-color:var(--cyan); }
.bunker .language-switch { color:var(--cyan); }
.entry-project { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem 1rem; padding:1rem; margin:0 0 1.5rem; background:var(--magenta); color:var(--ink); border-radius:.5rem 1.5rem .5rem .5rem; }
.entry-project span:first-child { grid-column:1/-1; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.entry-project strong { font-size:clamp(1.2rem,1.8vw,2rem); line-height:1.15; }
.entry-project:hover { background:var(--cyan); }
.project-dossier { padding:var(--section-space) var(--frame-pad); background:var(--panel); border-top:1px solid var(--identity-line); }
.dossier-body { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(1.5rem,4vw,5rem); }
.dossier-body h2 { color:var(--magenta); font-size:clamp(2.7rem,6.8vw,7rem); line-height:1; text-transform:uppercase; }
.bunker .content-section,.staff-section { padding:var(--section-space) var(--frame-pad); }
.bunker .other-worlds { width:min(100%,75rem); margin-inline:auto; background:transparent; }
.bunker .other-worlds .game-grid { display:block; }
.bunker .game-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr)); }
.bunker .game-card { border-color:var(--identity-line); }
.bunker .game-card img,.bunker .post-card img { aspect-ratio:auto; max-height:none; height:auto; border-radius:var(--radius); }
.bunker .art-placeholder { height:auto; min-height:0; border:0; border-left:2px solid var(--magenta); color:var(--muted); font-size:clamp(1.5rem,3vw,3rem); }
.bunker .journal { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); column-gap:clamp(2rem,5vw,6rem); }
.journal>.section-label { grid-column:1/-1; }
.journal h2 { color:var(--cyan); font-size:clamp(2.5rem,4.8vw,5.5rem); }
.journal .post-card { grid-template-columns:minmax(0,1fr); gap:.5rem; padding-top:0; border-top:0; }
.journal .post-card img { grid-row:auto; }
.bunker .post-card .eyebrow { color:var(--cyan); }
.bunker .post-card:not(:has(img)),.staff-section .team-card.no-portrait { grid-template-columns:minmax(0,1fr); }
.staff-section { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:1.5rem 5vw; border-block:1px solid var(--identity-line); }
.staff-section>.section-label { grid-column:1/-1; margin:0; }
.staff-section>h2 { margin:0; color:var(--magenta); font-size:clamp(2.2rem,4vw,4.5rem); }
.staff-section>.text-link { align-self:end; }
.staff-file { padding:0; border:0; }
.staff-file summary { font:.8rem/1.6 'Chakra Petch',sans-serif; color:var(--cyan); }
.staff-section .team-card { grid-template-columns:minmax(0,.65fr) minmax(0,1fr); align-items:start; gap:1.5rem; }
.staff-section .team-card>div { padding:0; }
.staff-section .team-card img { border-radius:var(--radius); }
.classified { transform:none; margin:0; align-self:end; border-radius:.5rem; }
.bunker .discord-cta { padding:var(--section-space) var(--frame-pad); background:var(--panel); border:0; border-left:2px solid var(--cyan); margin:var(--section-space) var(--frame-pad); }
.bunker footer { padding:var(--section-space) var(--frame-pad); grid-template-columns:1fr 1fr; }
.bunker footer>.brand { grid-column:1/-1; font-size:clamp(2rem,3vw,3rem); letter-spacing:-.04em; line-height:1.1; text-transform:uppercase; overflow-wrap:anywhere; }
.bunker footer small { align-self:end; }
.bunker .page,.bunker .article { padding:var(--section-space) var(--frame-pad); }
.bunker .page h1,.bunker .article h1 { font-size:clamp(2.4rem,6.5vw,6rem); }
.bunker .page>.eyebrow,.bunker .article>.eyebrow { color:var(--cyan); }
.bunker .article p,.bunker .article li,.bunker .lede,.bunker .team-intro { color:var(--muted); }
.bunker .article a { color:var(--cyan); }
.bunker .article :is(p,li)>img { display:block; max-inline-size:100%; block-size:auto; margin:1.5rem 0; border:1px solid var(--identity-line); border-radius:var(--radius); }
.bunker .devlog-video { margin:2rem 0; }
.bunker .devlog-video-frame { aspect-ratio:16/9; overflow:hidden; border:1px solid var(--identity-line); border-radius:var(--radius); background:var(--tile-black); }
.bunker .devlog-video iframe { display:block; inline-size:100%; block-size:100%; border:0; }
.bunker .devlog-video figcaption { color:var(--muted); font-size:.85rem; margin-top:.6rem; }
.bunker input,.bunker textarea { background:var(--tile-black); color:var(--text); border-color:var(--identity-line); border-radius:.5rem; }

.bunker-cursor { display:none; }
@media (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .bunker.cursor-enhanced, .bunker.cursor-enhanced :is(a,button,input,textarea,select,summary) { cursor:none; }
  .bunker.cursor-enhanced .bunker-cursor { display:block; inset:0; pointer-events:none; position:fixed; z-index:100; }
}
.bunker .notice { background:var(--panel); color:var(--cyan); border:1px solid var(--cyan); }
.bunker .game-hero { padding:var(--section-space) var(--frame-pad); }
.bunker .game-hero>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.4fr); gap:1rem 3rem; align-items:end; }
.bunker .game-hero>div>.eyebrow { grid-column:1/-1; }
.bunker .game-hero h1 { font-size:clamp(3rem,7.5vw,8rem); text-transform:uppercase; color:var(--magenta); margin:0; }
.bunker .game-hero .observation { width:min(100%,80rem); margin:3rem auto 0; }
.bunker .game-detail { width:min(100%,65rem); margin-inline:auto; padding:var(--section-space) var(--frame-pad); border-left:1px solid var(--identity-line); }
.bunker .gallery { padding:var(--section-space) var(--frame-pad); gap:clamp(1rem,3vw,3rem); grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr)); align-items:start; }
.bunker .gallery img { border-radius:var(--radius); }
.bunker .gallery figure:nth-child(even) { margin-top:clamp(0rem,4vw,5rem); }
.bunker .about .team-card { background:var(--tile-black); }
.bunker .team-section { padding:clamp(1rem,3vw,3rem); border-radius:var(--radius); }
/* Two reading columns need at least roughly 24em each, including their gap. */
@media(max-width:56em) {
  .bunker-entry,.bunker .journal,.staff-section { grid-template-columns:minmax(0,1fr); }
  .bunker-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:1rem 2rem; }
  .bunker-intro>.eyebrow { grid-column:1/-1; }
  .bunker-intro h1 { font-size:clamp(2.5rem,5vw,4rem); }
  .feed-note { grid-column:1; margin:0; }
  .staff-section .classified { max-width:none; }
  .bunker .site-header nav { order:4; flex-basis:100%; }
  .bunker .game-hero>div { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:38em) {
  .bunker .site-header { padding:.6rem 1rem; gap:.2rem 1rem; }
  .bunker .brand { gap:.45rem; font-size:.9rem; }
  .bunker .brand-symbol { inline-size:5rem; block-size:5rem; }
  .bunker footer>.brand .brand-symbol { inline-size:7.5rem; block-size:7.5rem; }
  .bunker .site-header nav { justify-content:space-between; gap:.25rem; }
  .bunker-entry { padding:0 1rem 2.5rem; }
  .status-bar { display:block; padding:.4rem 0; }
  .status-bar>p { margin:.5rem 0; }
  .condition summary { padding:.6rem 0; }
  .bunker-intro { display:block; padding:0; }
  .bunker-intro h1 { font-size:clamp(2.2rem,9vw,3.5rem); margin:1rem 0; }
  .intro-note { max-width:100%; }
  .feed-top,.motion-control { font-size:.75rem; }
  .observation { padding:.5rem; }
  .feed-note { text-align:left; }
  .project-dossier,.bunker .content-section,.staff-section { padding:2rem 1rem 3rem; }
  .dossier-body,.bunker .game-card,.bunker .post-card,.staff-section .team-card { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .dossier-body h2 { font-size:clamp(2.3rem,10vw,4rem); }
  .dossier-body .lede { margin-top:1rem; }
  .bunker .section-label { gap:.7rem; margin-bottom:2rem; }
  .bunker .section-label a { margin-left:0; }
  .bunker .post-card img { grid-row:auto; }
  .journal h2,.staff-section>h2 { font-size:clamp(2.2rem,9vw,3.5rem); }
  .classified { transform:none; }
  .staff-section .team-card>div { padding:1rem 0; }
  .bunker footer { grid-template-columns:1fr; padding:3rem 1rem; }
  .bunker .game-hero { padding:2rem 1rem; }
  .bunker .game-hero h1 { font-size:clamp(2.5rem,11vw,4rem); }
  .bunker .not-found,.bunker .construction { margin:0; }
}
@media(prefers-reduced-motion:reduce) {
  .bunker *, .bunker *::before,.bunker *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
