@font-face{font-family:"BB Kenney";src:url("ui-redesign/fonts/kenney-bold.ttf") format("truetype");font-display:swap}
@font-face{font-family:"BB Future";src:url("ui-redesign/fonts/kenney-future.ttf") format("truetype");font-display:swap}
@font-face{font-family:"BB Mini";src:url("ui-redesign/fonts/kenney-mini-square.ttf") format("truetype");font-display:swap}

:root{
  --bb-ink:#172331;--bb-paper:#fff8e9;--bb-paper-2:#f4e8ca;--bb-navy:#132a3a;
  --bb-teal:#1e766d;--bb-mint:#78d8a5;--bb-coral:#f06a4f;--bb-gold:#f3bf4b;
  --bb-line:rgba(23,35,49,.18);--bb-shadow:0 8px 0 rgba(23,35,49,.16),0 18px 36px rgba(23,35,49,.18);
  --bb-radius:18px;--bb-display:"BB Kenney","Trebuchet MS",sans-serif;
}

html {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}
body{accent-color:var(--bb-teal)}
body .bg-orbit{display:none!important}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button,.nav-pill,.top-link,[class*="button"]{line-height:1.3}
.brand-title,body:not(.home-page) h1,body:not(.home-page) h2{line-height:1.38!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--bb-gold)!important;outline-offset:3px!important
}

/* Shared game controls keep each game's colors while gaining physical depth. */
body:not(.home-page) button:not(.game-card),
body:not(.home-page) .nav-pill,
body:not(.home-page) .top-link,
body:not(.home-page) [class*="topbar-button"]{
  border-width:1px;border-style:solid;border-radius:14px;
  box-shadow:0 4px 0 rgba(5,14,24,.22),0 9px 18px rgba(5,14,24,.12);
  transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;
}
body:not(.home-page) button:not(:disabled):hover,
body:not(.home-page) a[class]:hover{filter:brightness(1.07)}
body:not(.home-page) button:not(:disabled):active,
body:not(.home-page) a[class]:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(5,14,24,.25)}
body:not(.home-page) button:disabled{filter:saturate(.45);opacity:.58;box-shadow:none}

.bb-icon{width:18px;height:18px;object-fit:contain;image-rendering:auto;flex:0 0 auto;pointer-events:none}
.bb-has-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.bb-icon-only{font-size:0!important;gap:0!important;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;flex:0 0 44px!important;padding:9px!important;border-radius:14px!important}
.bb-icon-only .bb-icon{width:20px;height:20px}

/* Icon-only navigation must still read as a physical control on every theme. */
a.bb-icon-only[href="index.html"],button.bb-icon-only{
  border:1px solid currentColor!important;
  background:rgba(255,248,233,.16)!important;
  box-shadow:0 4px 0 rgba(5,14,24,.24),0 9px 18px rgba(5,14,24,.14)!important;
}
/* The transparent bunny starts light for dark game chrome; light-screen families override it below. */
body:not(.home-page) a.bb-icon-only[href="index.html"] .bb-icon{filter:brightness(0) invert(1)!important}
:is(.bounce-page,.factorial-page,.maze-page,.guesser-page,.gebinden-page,.color-logic-page,.puzzles-page,.tiffany-page,.reset-password-page) a.bb-icon-only[href="index.html"],
:is(.bounce-page,.factorial-page,.maze-page,.guesser-page,.gebinden-page,.color-logic-page,.puzzles-page,.tiffany-page,.reset-password-page) button.bb-icon-only{
  color:#1b2933!important;background:rgba(255,250,239,.86)!important;border-color:rgba(27,41,51,.32)!important;
}
body:is(.bounce-page,.factorial-page,.maze-page,.guesser-page,.gebinden-page,.color-logic-page,.puzzles-page,.tiffany-page,.reset-password-page) a.bb-icon-only[href="index.html"] .bb-icon{
  filter:brightness(0) saturate(100%) invert(12%) sepia(17%) saturate(1300%) hue-rotate(169deg) brightness(89%) contrast(93%)!important;
}

/* Shared cabinet chrome. Existing game palettes still supply the accent colors. */
:where(body:not(.home-page)){
  min-height:100svh;
  background-color:#132331;
  background-image:
    radial-gradient(circle at 14% 8%,rgba(255,255,255,.1),transparent 24rem),
    radial-gradient(circle at 88% 94%,rgba(240,106,79,.13),transparent 28rem),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:auto,auto,32px 32px,32px 32px;
}
body:not(.home-page) h1,
body:not(.home-page) h2,
body:not(.home-page) h3,
body:not(.home-page) .machine-title,
body:not(.home-page) .hero-title{letter-spacing:.025em}
body:not(.home-page) :is(input,select,textarea){
  border-radius:12px;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
body:not(.home-page) :is(input,select,textarea):focus{
  border-color:var(--bb-gold)!important;
  box-shadow:0 0 0 3px rgba(243,191,75,.22)!important;
}
body:not(.home-page) :is(.hero-card,.campaign,.logic-game,.light-game,.trail-game,.feedback-composer,.feedback-queue,.farm-frame){
  position:relative;
  isolation:isolate;
}
body:not(.home-page) :is(.hero-card,.campaign,.logic-game,.light-game,.trail-game,.feedback-composer,.feedback-queue,.farm-frame)::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 28%,transparent 72%,rgba(0,0,0,.08));
}

/* Keep universal game navigation recognizable and safely separated on phones. */
body:not(.home-page) :is(.site-nav,.bounce-topbar,.golf-topbar,.logic-nav,.light-nav,.trail-nav,.top-nav){
  position:relative;z-index:20;
}
body:not(.home-page) :is(.site-nav,.bounce-topbar,.golf-topbar) :is(a,button),
body:not(.home-page) :is(.logic-nav,.light-nav,.trail-nav,.top-nav) :is(a,button){
  min-height:44px;
}
body:not(.home-page) :is(.site-nav,.bounce-topbar,.golf-topbar) .bb-icon,
body:not(.home-page) :is(.logic-nav,.light-nav,.trail-nav,.top-nav) .bb-icon{
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.28));
}
:is(.bounce-page,.factorial-page,.maze-page,.guesser-page,.gebinden-page,.color-logic-page,.puzzles-page,.tiffany-page,.reset-password-page) .bb-icon{
  filter:brightness(0) saturate(100%) invert(12%) sepia(17%) saturate(1300%) hue-rotate(169deg) brightness(89%) contrast(93%)!important;
}

/* Each family keeps its personality but now shares stronger framing and typography. */
:is(.bounce-page,.factorial-page,.maze-page){--bb-game-accent:#ef8354;--bb-game-deep:#304f42}
:is(.orbit-page,.trail-page,.gridshift-page){--bb-game-accent:#67dbc0;--bb-game-deep:#102d38}
:is(.defender-page,.squarefall-page){--bb-game-accent:#68b8dc;--bb-game-deep:#13263a}
:is(.slots-page,.spook-page){--bb-game-accent:#ffbd45;--bb-game-deep:#321716}
:is(.fishing-page,.scripture-golf-page){--bb-game-accent:#68d5b3;--bb-game-deep:#103c3a}
:is(.philosophy-page,.guesser-page,.word-page){--bb-game-accent:#f0b061;--bb-game-deep:#422f3f}

/* Full-page atmosphere: a shared level of finish, with a different world per game. */
.bounce-page{background:linear-gradient(145deg,#87cbea 0%,#ffe7a4 58%,#ef9a62 100%)!important}
.orbit-page{background:linear-gradient(145deg,#112d36,#342a42 58%,#172332)!important}
.defender-page{background:linear-gradient(150deg,#101f35,#243b58 55%,#3c2935)!important}
.factorial-page{background:linear-gradient(145deg,#f7e9b8,#e7bf7b 60%,#c98258)!important}
.fishing-page{background:linear-gradient(150deg,#164a45,#0d3844 58%,#082735)!important}
.maze-page{background:linear-gradient(145deg,#d8ed9b,#9bcba0 58%,#4d8a78)!important}
.scripture-golf-page{background:linear-gradient(145deg,#0c403b,#164e43 56%,#112f35)!important}
.slots-page{background:linear-gradient(145deg,#2d160e,#180c0b 58%,#341513)!important}
.squarefall-page{background:linear-gradient(145deg,#182b46,#101b2c 58%,#16253a)!important}
.trail-page{background:linear-gradient(145deg,#f7be78,#ed865f 54%,#734d56)!important}
.word-page{background:linear-gradient(145deg,#6f4337,#362a40 62%,#172a3a)!important}
.philosophy-page{background:linear-gradient(145deg,#f4dfb6,#d6ac9b 55%,#8d6878)!important}
.guesser-page{background:linear-gradient(145deg,#f4cd75,#e89569 55%,#8e5d70)!important}
.spook-page{background:linear-gradient(145deg,#32162a,#631e2c 56%,#342538)!important}
.gridshift-page{background:linear-gradient(145deg,#082533,#0d1726 58%,#2b2027)!important}
.cell-lab-page{background:linear-gradient(145deg,#d8ddd8,#b8c9b0 55%,#7d9687)!important}
.make-game-page{background:linear-gradient(145deg,#ffe3a1,#eaa26f 58%,#985d62)!important}
.roguelite-page{background:linear-gradient(145deg,#17273b,#312849 58%,#572d3e)!important}
.shadowbound-page{background:linear-gradient(145deg,#111825,#283349 58%,#493346)!important}
.shape-shift-page{background:linear-gradient(145deg,#0d4650,#1e6970 58%,#e59a66)!important}

/* High-contrast title treatments for pages whose original palettes assumed a different background. */
:is(.defender-page,.roguelite-page,.shadowbound-page,.shape-shift-page,.word-page) .hero-copy>h1,
.gridshift-page .gridshift-menu-hero h1,
.shadowbound-page .shadowbound-heading h1{
  color:#fff8e9!important;text-shadow:0 3px 0 rgba(5,14,24,.34)!important;
}
:is(.defender-page,.roguelite-page,.shadowbound-page,.shape-shift-page,.word-page) .hero-copy>:is(.eyebrow,.hero-lede),
.gridshift-page .gridshift-menu-hero>:is(.eyebrow,p),
.shadowbound-page .shadowbound-heading>:is(.eyebrow,p){color:#eaf6ef!important}
.cell-lab-page .cell-lab-hero h1{color:#172f35!important;text-shadow:0 2px rgba(255,255,255,.42)}
.cell-lab-page .cell-lab-hero>:is(.eyebrow,p){color:#294b48!important}
.make-game-page .make-game-heading>:is(.eyebrow,h1,p){color:#3a2330!important}
.guesser-page .hero>:is(.eyebrow,h1,.subtitle){color:#fff8e9!important}
.guesser-page .hero .eyebrow{color:#f6d277!important}
.philosophy-page .philosophy-heading>:is(.eyebrow,h1,p){color:#3d2a3b!important}
.color-logic-page .logic-hero>:is(.eyebrow,h1,span){color:#4b2838!important}

:is(.bounce-page,.orbit-page,.defender-page,.factorial-page,.fishing-page,.maze-page,.scripture-golf-page,.slots-page,.squarefall-page,.trail-page) :is(.hero-card,.bounce-play-panel,.golf-play-panel){
  border-width:2px!important;
  box-shadow:0 8px 0 rgba(8,19,28,.22),0 22px 50px rgba(8,19,28,.22)!important;
}

/* Fishing's launcher is now a compact tool dock rather than six generic tabs. */
.fishing-page .fishing-menu-bar{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  padding:7px!important;
  border:1px solid rgba(142,229,213,.2);
  border-radius:18px;
  background:rgba(4,31,37,.3);
}
.fishing-page .fishing-menu-button{
  width:100%!important;height:54px!important;min-width:0!important;max-width:none!important;
  padding:0!important;
  border:1px solid rgba(183,244,225,.28)!important;border-radius:13px!important;
  background:linear-gradient(160deg,rgba(103,214,180,.42),rgba(11,58,61,.78))!important;
  box-shadow:0 4px 0 rgba(3,29,34,.55),inset 0 1px rgba(255,255,255,.16)!important;
}
.fishing-page .fishing-menu-button .bb-icon{width:24px;height:24px}
.fishing-page .fishing-menu-button:hover{filter:brightness(1.14)}

/* Defender reads as a layered city instead of an empty gradient box. */
.defender-page .defender-view{
  background:
    linear-gradient(180deg,transparent 0 57%,rgba(255,176,94,.18) 77%,transparent 78%),
    linear-gradient(180deg,#162d52 0%,#396586 48%,#e39b6d 78%,#28394a 100%)!important;
}
.defender-page .defender-view::before{
  opacity:.7!important;
  background:
    url("ui-redesign/scenery/sun.png") 80% 14%/80px auto no-repeat,
    linear-gradient(165deg,transparent 0 49%,rgba(255,255,255,.05) 50%,transparent 51%)!important;
  background-size:80px auto,44px 44px!important;
}
:is(.gridshift-page,.roguelite-page,.cell-lab-page,.shape-shift-page) h1{font-family:"BB Future",sans-serif!important;line-height:1.22!important}

/* A brand mark may link home, but it must not masquerade as a second Home control. */
.puzzles-page .puzzle-brand{
  width:42px;height:42px;padding:0;border:0;border-radius:13px;font-size:0;
  background:#132a3a;box-shadow:0 4px 0 rgba(4,14,22,.34),0 10px 22px rgba(4,14,22,.2);
}
.puzzles-page .puzzle-brand span{
  width:42px;height:42px;border-radius:13px;font-size:0;
  background:#132a3a url("Bunnybear_Icon.png") center/82% no-repeat;
}
.tiffany-page .farm-brand-home{
  width:44px!important;height:44px!important;min-width:44px!important;padding:5px!important;
  display:grid!important;place-items:center;border-radius:13px!important;
}
.tiffany-page .farm-brand-home img{display:block;width:34px;height:34px;object-fit:contain}

/* Gebinden's controls float over the parchment instead of sitting on a white bar. */
.gebinden-page .top-nav{width:100%;background:transparent!important;box-shadow:none!important}
.gebinden-page .top-nav :is(.nav-left,.nav-center,.nav-right){min-width:0}
.gebinden-page .top-nav .nav-left{justify-content:flex-start}
.gebinden-page .top-nav .nav-right{justify-content:flex-end}
.gebinden-page .top-nav .top-link{
  background:transparent!important;
  border-color:rgba(31,27,23,.58)!important;
  backdrop-filter:none;
  box-shadow:0 4px 0 rgba(31,27,23,.18)!important;
}

/* Color Logic grid marks stay inside their cells; navigation gets a clear plate. */
.color-logic-page .logic-nav a.bb-icon-only[href="index.html"]{
  background:#fff8e9!important;border:1px solid #74445a!important;color:#4b2838!important;
}
.color-logic-page .logic-nav>a:first-child{color:#4b2838!important;text-shadow:0 1px rgba(255,248,235,.75)}
.color-logic-page .match-cell,
.color-logic-page .match-cell:hover,
.color-logic-page .match-cell:active{
  transform:none!important;box-shadow:none!important;filter:none!important;
}
.color-logic-page :is(.combined-grid,.bottom-grid){gap:3px!important}
.color-logic-page :is(.combined-grid,.bottom-grid) .match-cell{max-width:100%;overflow:hidden}
.defender-page .defender-ground{
  height:28%!important;
  background:linear-gradient(180deg,#213246 0 13%,#14263a 13% 100%)!important;
  box-shadow:inset 0 8px 0 #5d7d62!important;
}
.defender-page .defender-ground::before{
  top:-68px!important;height:72px!important;
  background:linear-gradient(90deg,#1c2d42 0 9%,transparent 9% 12%,#263b50 12% 22%,transparent 22% 25%,#182a40 25% 39%,transparent 39% 43%,#2d4357 43% 55%,transparent 55% 58%,#1a2c42 58% 74%,transparent 74% 78%,#263c52 78% 92%,transparent 92%)!important;
  clip-path:polygon(0 42%,9% 42%,9% 13%,18% 13%,18% 50%,30% 50%,30% 0,39% 0,39% 31%,49% 31%,49% 9%,58% 9%,58% 48%,70% 48%,70% 19%,80% 19%,80% 55%,92% 55%,92% 28%,100% 28%,100% 100%,0 100%);
  filter:drop-shadow(0 5px 0 rgba(6,15,25,.45))!important;
}
.defender-page .defender-ground::after{
  inset:18px 9px 8px!important;opacity:.75!important;
  background:radial-gradient(ellipse,#efc66e 0 2px,transparent 3px),linear-gradient(0deg,rgba(255,255,255,.025),rgba(255,255,255,0))!important;
  background-size:36px 25px,100% 100%!important;
}
:is(.bounce-page,.orbit-page,.defender-page,.factorial-page,.fishing-page,.maze-page,.scripture-golf-page,.slots-page,.squarefall-page,.trail-page) :is(.machine-top,.fishing-stats,.trail-hud,.squarefall-stats,.bounce-score-strip,.golf-score-strip){
  font-family:"BB Mini",sans-serif!important;
  letter-spacing:.04em;
}
:is(.bounce-page,.orbit-page,.defender-page,.factorial-page,.fishing-page,.maze-page,.scripture-golf-page,.slots-page,.squarefall-page,.trail-page) :is(.machine-title,.squarefall-brand h1,.golf-verse-card h1){
  font-family:var(--bb-display)!important;
}

/* Puzzle shelf: paper boards, crisp black rules, and chunky tactile controls. */
:is(.puzzles-page,.gebinden-page,.color-logic-page,.lights-out-page,.zero-trail-page){
  --bb-puzzle-ink:#241f1a;--bb-puzzle-paper:#fffaf0;--bb-puzzle-green:#2dcc78;
}
:is(.puzzles-page,.gebinden-page,.color-logic-page,.lights-out-page,.zero-trail-page) h1,
:is(.puzzles-page,.gebinden-page,.color-logic-page,.lights-out-page,.zero-trail-page) h2{
  text-wrap:balance;
}
:is(.puzzles-page,.gebinden-page,.color-logic-page,.lights-out-page,.zero-trail-page) :is(.campaign,.logic-game,.light-game,.trail-game,.puzzle-card){
  border-width:2px!important;
  box-shadow:0 7px 0 rgba(36,31,26,.16),0 20px 36px rgba(36,31,26,.12)!important;
}
:is(.gebinden-page,.color-logic-page,.lights-out-page,.zero-trail-page) :is(.top-nav,.logic-nav,.light-nav,.trail-nav){
  backdrop-filter:blur(12px);
}
.puzzles-page .puzzle-card{transition:transform .16s ease,box-shadow .16s ease}
.puzzles-page .puzzle-card:hover{transform:translateY(-4px);box-shadow:0 11px 0 rgba(36,31,26,.14),0 25px 42px rgba(36,31,26,.16)!important}

/* Learning, community, and creation tools use warm notebook surfaces. */
:is(.philosophy-page,.guesser-page,.make-game-page,.feedback-page,.word-page) :is(.panel,.philosophy-card,.make-game-view,.feedback-composer,.feedback-queue,.word-card){
  box-shadow:0 7px 0 rgba(54,39,47,.14),0 20px 44px rgba(54,39,47,.16)!important;
}

@media(max-width:620px){
  body:not(.home-page) .bb-has-icon{gap:5px!important}
  body:not(.home-page) .bb-icon{width:15px;height:15px}
  body:not(.home-page) .bb-icon-only .bb-icon{width:20px;height:20px}
  body:not(.home-page) :is(.site-nav,.bounce-topbar,.golf-topbar,.logic-nav,.light-nav,.trail-nav,.top-nav){
    gap:7px!important;
  }
  body:not(.home-page) :is(.site-nav,.bounce-topbar,.golf-topbar) :is(a,button),
  body:not(.home-page) :is(.logic-nav,.light-nav,.trail-nav,.top-nav) :is(a,button){
    white-space:nowrap;
  }
}

@media(max-width:360px){
  .spook-page :is(.site-main,.hero,.hero-copy,.spook-panel,.rules,.rules-card){width:100%!important;min-width:0!important;max-width:100%!important}
  .spook-page .hero{grid-template-columns:minmax(0,1fr)!important}
  .spook-page :is(input,select,button){min-width:0}
}

dialog,[role="dialog"],.modal-content,.panel-modal{
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 12px 0 rgba(5,14,24,.3),0 32px 90px rgba(5,14,24,.48)!important;
}
dialog::backdrop{background:rgba(8,18,28,.72)!important;backdrop-filter:blur(5px)}

/* Shared overlays feel like game menus, without changing their show/hide logic. */
:is(.bounce-modal-layer,.golf-modal-layer,.factorial-help-layer,.arcade-overlay,.stage-overlay){
  backdrop-filter:blur(7px) saturate(.8);
}
:is(.bounce-modal,.golf-modal,.factorial-help-modal,.arcade-modal,.panel-modal){
  border-radius:22px!important;
  overflow:hidden;
}
:is(.bounce-modal-heading,.golf-modal-heading,.factorial-help-heading,.dialog-header){
  padding-bottom:11px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
:is(.bounce-modal-heading,.golf-modal-heading,.factorial-help-heading,.dialog-header) h2{
  font-family:var(--bb-display)!important;
  letter-spacing:.035em!important;
}
[aria-pressed="true"],.selected,.active{
  --bb-selected-ring:0 0 0 3px rgba(243,191,75,.34);
}
button[aria-pressed="true"]{box-shadow:0 4px 0 rgba(5,14,24,.22),var(--bb-selected-ring)!important}

/* Dense utility screens read as inventories instead of browser forms. */
:is(.philosophy-tabs,.make-game-tabs,.fishing-menu-bar,.mode-controls){
  padding:5px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:17px;
  background:rgba(7,20,28,.12);
}
:is(.philosophy-tag-chips,.make-game-tag-picker) button{
  border-radius:999px!important;
}
:is(.philosophy-card,.feedback-thread,.make-game-rule-card){
  border-width:2px!important;
}

/* Small status readouts use the square HUD face for fast scanning. */
:is(.bounce-score-strip,.golf-score-strip,.fishing-stats,.squarefall-stats,.trail-hud,.defender-stats,.maze-stats,.roguelite-counts){
  font-variant-numeric:tabular-nums;
}
:is(.bounce-score-strip,.golf-score-strip,.fishing-stats,.squarefall-stats,.trail-hud,.defender-stats,.maze-stats,.roguelite-counts) :is(b,strong,span){
  text-rendering:geometricPrecision;
}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:rgba(18,42,58,.12);border-radius:99px}
::-webkit-scrollbar-thumb{background:rgba(30,118,109,.68);border:2px solid transparent;background-clip:padding-box;border-radius:99px}

/* The hub is a playful cabinet rather than a plain link grid. */
.home-page{
  --ink:var(--bb-ink);--ink-soft:#53616c;
  color:var(--bb-ink)!important;
  background:
    linear-gradient(rgba(255,248,233,.72),rgba(255,248,233,.72)),
    radial-gradient(circle at 15% 12%,#ffd76a 0 8%,transparent 24%),
    radial-gradient(circle at 90% 5%,#76d6ba 0 9%,transparent 26%),
    #e9d8b4!important;
}
.home-page::before,.home-page::after{content:"";position:fixed;z-index:-1;pointer-events:none;background-repeat:no-repeat;background-size:contain;opacity:.32}
.home-page::before{width:180px;height:100px;left:2vw;top:18vh;background-image:url("ui-redesign/scenery/cloud2.png")}
.home-page::after{width:220px;height:120px;right:-25px;top:38vh;background-image:url("ui-redesign/scenery/cloud4.png")}
.home-page .site-header{
  border-bottom:1px solid rgba(23,35,49,.14)!important;
  background:rgba(255,248,233,.9)!important;
  box-shadow:0 7px 0 rgba(23,35,49,.08),0 16px 35px rgba(23,35,49,.1)!important
}
.home-page .brand-mark{
  width:58px;height:58px;font-size:0!important;border:3px solid #fff8e9;
  background:#16394a url("Bunnybear_Icon.png") center/86% no-repeat!important;
  box-shadow:0 4px 0 #0c202c,0 10px 22px rgba(12,32,44,.22)!important
}
.home-page .brand-title{font-family:var(--bb-display)!important;font-size:clamp(1.05rem,3vw,1.55rem)!important;letter-spacing:.04em}
.home-page .brand-subtitle{font-family:"BB Mini",sans-serif!important;letter-spacing:.02em}
.home-page .home-hero{position:relative;max-width:1000px;margin-bottom:28px!important;padding:28px 14px 12px}
.home-page .home-hero::before{content:"GAME CABINET";display:block;width:max-content;margin:0 auto 12px;padding:6px 12px;border-radius:99px;background:var(--bb-coral);color:white;font:700 .72rem/1 var(--bb-display);letter-spacing:.12em;box-shadow:0 4px 0 #b84532}
.home-page .home-hero h1{font-family:var(--bb-display)!important;font-size:clamp(2.25rem,6.5vw,5rem)!important;line-height:1.3!important;letter-spacing:.015em;text-shadow:0 4px 0 #fff,0 8px 0 rgba(23,35,49,.1)}
.home-page .game-selector{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:18px!important}
.home-page .game-card{
  min-height:190px!important;justify-content:flex-end!important;padding:18px!important;
  border:3px solid rgba(255,255,255,.72)!important;border-radius:24px!important;
  box-shadow:0 7px 0 rgba(23,35,49,.28),0 18px 32px rgba(23,35,49,.2)!important;
  transform:translateZ(0);transition:transform .16s ease,box-shadow .16s ease!important
}
.home-page .game-card::before{display:none!important}
.home-page .game-card::after{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 38%,rgba(4,13,20,.72))!important}
.home-page .game-card--feedback{background:linear-gradient(135deg,#254d75,#3d8875 55%,#e6b34f)!important}
.home-page .game-card--puzzles{background:linear-gradient(135deg,#17233f,#3c4c93 54%,#dd9754)!important}
.home-page .game-card--scripture-golf{background:linear-gradient(135deg,#173f3b,#3c7966 58%,#c99837)!important}
.home-page .game-card--philosophy{background:linear-gradient(145deg,#4d3150,#271e38)!important}
.home-page .game-card--library{background:linear-gradient(145deg,#17332e,#315b49 58%,#9a6939)!important}
.home-page .game-card--slots{background:linear-gradient(135deg,#251018,#6d1e28 55%,#d8942c)!important}
.home-page .game-card:hover{transform:translateY(-5px) rotate(-.35deg)!important;box-shadow:0 12px 0 rgba(23,35,49,.24),0 25px 44px rgba(23,35,49,.25)!important}
.home-page .game-card:nth-child(even):hover{transform:translateY(-5px) rotate(.35deg)!important}
.home-page .game-card-kicker{display:none!important}
.home-page .game-card strong{font-family:var(--bb-display)!important;font-size:clamp(.94rem,.55vw + .78rem,1.24rem)!important;line-height:1.55!important;letter-spacing:.015em;text-shadow:0 2px 0 rgba(0,0,0,.28);white-space:normal!important;overflow-wrap:anywhere}
.home-page .game-card span:last-child{font-family:"BB Mini",sans-serif!important;font-size:.78rem!important;color:rgba(255,255,255,.9)!important;white-space:normal!important;overflow-wrap:anywhere}
.home-page .auth-toggle,.home-page .home-beta-link,.home-page .nav-pill{
  border:2px solid rgba(23,35,49,.18)!important;border-radius:14px!important;
  font-family:var(--bb-display)!important;box-shadow:0 4px 0 rgba(23,35,49,.18)!important
}
.home-page .home-beta-shelf{margin-top:34px!important}
.home-page .home-beta-link{padding:14px 26px!important;background:var(--bb-navy)!important;color:white!important}

.orbit-page .orbit-controls button.bb-has-icon{font-size:0!important;gap:0!important}
.orbit-page .orbit-controls button.bb-has-icon .bb-icon{width:20px;height:20px}

@media(max-width:620px){
  .home-page .site-header{gap:8px!important;padding:8px 10px!important}
  .home-page .brand-mark{width:44px;height:44px;border-radius:13px}
  .home-page .brand-subtitle{display:none}
  .home-page .brand{min-width:0!important}
  .home-page .brand-mark{flex:0 0 44px!important}
  .home-page .brand-title{font-size:.78rem!important;white-space:nowrap}
  .home-page .auth-toggle{width:auto!important;min-width:84px!important;padding:10px 10px!important}
  .home-page .home-hero{padding-top:18px;margin-bottom:14px!important}
  .home-page .home-hero h1{font-size:1.95rem!important;line-height:1.38!important;max-width:350px;margin-inline:auto!important}
  .home-page .home-hero::before{font-size:.58rem;margin-bottom:9px}
  .home-page .game-selector{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .home-page .game-card{min-height:122px!important;padding:12px!important;border-radius:18px!important;border-width:2px!important}
  .home-page .game-card span:last-child{display:none!important}
  .home-page .game-card strong{font-size:.76rem!important;line-height:1.58!important;overflow-wrap:anywhere}
}

@media(max-width:360px){
  .home-page .game-selector{grid-template-columns:1fr!important}
  .home-page .game-card{min-height:150px!important}
  .home-page .home-hero h1{font-size:1.68rem!important;max-width:280px!important}
}

/* Legacy puzzle interfaces share the main Bunnybear Games cabinet styling. */
body.puzzles-page{
  color:var(--bb-ink)!important;
  background:
    linear-gradient(rgba(255,248,233,.78),rgba(255,248,233,.78)),
    radial-gradient(circle at 12% 12%,#ffd76a 0 7%,transparent 23%),
    radial-gradient(circle at 91% 8%,#76d6ba 0 8%,transparent 25%),
    #e9d8b4!important;
}
.puzzles-page::before{
  opacity:.18!important;
  background-image:linear-gradient(rgba(23,35,49,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(23,35,49,.14) 1px,transparent 1px)!important;
  background-size:32px 32px!important;
}
.puzzles-page .puzzle-nav{
  position:sticky;top:0;z-index:20;width:min(1180px,100%);height:76px;padding:9px 22px;
  background:rgba(255,248,233,.92)!important;border-bottom:1px solid rgba(23,35,49,.14);
  box-shadow:0 7px 0 rgba(23,35,49,.08),0 16px 35px rgba(23,35,49,.1);
  backdrop-filter:blur(12px);
}
.puzzles-page .puzzle-brand{
  width:56px;height:56px;border:3px solid #fff8e9;border-radius:16px;
  background:#16394a;box-shadow:0 4px 0 #0c202c,0 10px 22px rgba(12,32,44,.22);
}
.puzzles-page .puzzle-brand span{
  width:50px;height:50px;border-radius:13px;background:#16394a url("Bunnybear_Icon.png") center/86% no-repeat;
}
.puzzles-page .home-link{width:46px!important;height:46px!important;color:#172331!important;background:#fff8e9!important;border-color:rgba(23,35,49,.24)!important}
.puzzles-page .puzzle-home{width:min(1120px,100%);padding:44px 22px 90px}
.puzzles-page .puzzle-hero{max-width:760px;margin:0 auto 34px;text-align:center}
.puzzles-page .puzzle-hero .eyebrow{display:none}
.puzzles-page .puzzle-hero h1{
  margin:0;font-family:var(--bb-display)!important;font-size:clamp(2.1rem,6vw,4.5rem)!important;
  line-height:1.34!important;letter-spacing:.025em!important;color:#172331!important;text-shadow:0 4px 0 #fff,0 8px 0 rgba(23,35,49,.1);
}
.puzzles-page .puzzle-hero>p:last-child{margin:14px auto 0;color:#53616c;font-family:"BB Mini",sans-serif;font-size:.92rem}
.puzzles-page .puzzle-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.puzzles-page .puzzle-card{
  min-height:220px;padding:18px;border:3px solid rgba(255,255,255,.72)!important;border-radius:24px;
  justify-content:flex-end;box-shadow:0 7px 0 rgba(23,35,49,.28),0 18px 32px rgba(23,35,49,.2)!important;
}
.puzzles-page .puzzle-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 40%,rgba(4,13,20,.52));border-radius:inherit}
.puzzles-page .puzzle-card>div{z-index:2;max-width:100%}
.puzzles-page .puzzle-card p,.puzzles-page .puzzle-card>b{display:none}
.puzzles-page .puzzle-card h2{
  margin:0 0 7px;font-family:var(--bb-display)!important;font-size:1.28rem!important;line-height:1.5!important;
  letter-spacing:.02em!important;color:#fff8e9!important;text-shadow:0 2px 0 rgba(0,0,0,.28);
}
.puzzles-page .puzzle-card div>span{font-family:"BB Mini",sans-serif;font-size:.76rem;line-height:1.45;color:rgba(255,248,233,.9)}
.puzzles-page .soon-card{background:linear-gradient(145deg,#36545a,#708b72 58%,#b48e5c)}

@media(max-width:620px){
  .puzzles-page .puzzle-nav{height:64px;padding:7px 12px}
  .puzzles-page .puzzle-brand{width:46px;height:46px;border-radius:14px}
  .puzzles-page .puzzle-brand span{width:40px;height:40px}
  .puzzles-page .puzzle-home{padding:30px 14px 60px}
  .puzzles-page .puzzle-hero{margin-bottom:24px}
  .puzzles-page .puzzle-hero h1{font-size:1.82rem!important;line-height:1.48!important}
  .puzzles-page .puzzle-hero>p:last-child{font-size:.76rem}
  .puzzles-page .puzzle-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .puzzles-page .puzzle-card{min-height:154px;padding:12px;border-width:2px!important;border-radius:18px}
  .puzzles-page .puzzle-card h2{font-size:.82rem!important;line-height:1.58!important;margin:0}
  .puzzles-page .puzzle-card div>span{display:none}
  .puzzles-page .piece{width:44px;height:44px;border-radius:14px}
  .puzzles-page .logic-orb{width:24px;height:24px}
  .puzzles-page .logic-shape{width:27px;height:27px}
}

@media(max-width:340px){
  .puzzles-page .puzzle-list{grid-template-columns:1fr}
}

/* Home shelf: titles are the whole button now, so every card stays compact and scan-friendly. */
.home-page .site-header{
  display:grid!important;grid-template-columns:minmax(56px,1fr) auto minmax(110px,1fr);align-items:center!important;
  min-height:76px;padding:7px clamp(12px,3vw,30px)!important;
}
.home-page .brand{display:contents!important}
.home-page .brand-mark{grid-column:1;justify-self:start;width:clamp(54px,7vw,68px);height:clamp(54px,7vw,68px);border-radius:18px}
.home-page .brand-text{grid-column:2;text-align:center}
.home-page .brand-title{font-size:clamp(.86rem,2.4vw,1.18rem)!important;white-space:nowrap}
.home-page .brand-subtitle{display:none!important}
.home-page .auth-toggle{grid-column:3;justify-self:end;min-width:104px;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-page .auth-panel{grid-column:1/-1;justify-self:end}
.home-page .home-hero{padding:15px 12px 10px;margin-bottom:11px!important}
.home-page .home-hero::before{display:none!important}
.home-page .home-hero h1{font-size:clamp(1.3rem,4.3vw,2.2rem)!important;line-height:1.22!important;text-shadow:0 3px 0 #fff,0 6px 0 rgba(23,35,49,.1)}
.home-page .game-selector{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;gap:12px!important}
.home-page .game-card{
  display:grid!important;place-items:center!important;min-height:98px!important;padding:12px!important;
  border-radius:18px!important;
}
.home-page .game-card span:last-child{display:none!important}
.home-page .game-card strong{
  max-height:3.1em;overflow:visible;text-align:center;word-break:normal!important;overflow-wrap:normal!important;
  text-wrap:balance;font-size:clamp(.73rem,1.35vw,.98rem)!important;line-height:1.5!important;
}
.home-page .home-beta-shelf{margin-top:22px!important}
.home-page .home-beta-link{display:inline-grid;gap:0;text-align:center;text-transform:uppercase;line-height:1.03;padding:11px 24px!important}
.home-page .home-beta-link span{display:block}

/* The logic-puzzle headers need their own row; treating them as tiles hid the number labels. */
.color-logic-page .combined-grid{grid-template-rows:78px repeat(4,var(--logic-cell))}
.color-logic-page .bottom-grid{grid-template-rows:36px repeat(4,var(--logic-cell))}
.color-logic-page .combined-grid .number-head>span{writing-mode:horizontal-tb;transform:none}
@media(max-width:680px){.color-logic-page .combined-grid{grid-template-rows:62px repeat(4,var(--logic-cell))}}

/* The rounded control language is shared by every top navigation surface. */
body:not(.home-page) .site-header{border-radius:0 0 20px 20px;overflow:clip}
.fishing-popup-close,.trail-shop-panel .bb-icon-only,.compact-game-modal-heading .bb-icon-only{
  color:#111!important;background:#fff8e9!important;border-color:rgba(17,17,17,.35)!important;
}

/* Keep Gebinden's board visually proportional as cells shrink. */
@media(max-width:560px){
  .gebinden-page .board-wrap{border-width:clamp(1px,.55vw,2px);border-radius:clamp(10px,4vw,18px);padding:clamp(8px,2.8vw,14px)}
  .gebinden-page .grid{--grid-gap:clamp(3px,1.35vw,7px);padding:clamp(5px,1.8vw,9px);border-width:clamp(1px,.7vw,3px);border-radius:clamp(8px,3vw,15px)}
  .gebinden-page .cell{border-width:clamp(1px,.48vw,2px);border-radius:clamp(3px,1.45vw,8px)}
  .gebinden-page .cell.goal-green,.gebinden-page .cell.goal-red,.gebinden-page .cell.shadow-gate{border-width:clamp(2px,1.3vw,5px)}
  .gebinden-page .active-cell{outline-width:clamp(1px,.8vw,3px);outline-offset:clamp(1px,.8vw,3px)}
  .gebinden-page .character{border-radius:clamp(2px,1.15vw,6px);box-shadow:0 clamp(2px,.9vw,6px) clamp(4px,1.8vw,12px) rgba(0,0,0,.18)}
}

/* The Color Logic table is made of true square cells, including its upper matrix. */
.color-logic-page .logic-composite{--logic-cell:clamp(28px,calc(12.5vw - 18px),52px)}
.color-logic-page :is(.combined-grid,.bottom-grid){grid-auto-rows:var(--logic-cell)}
.color-logic-page :is(.combined-grid,.bottom-grid) .match-cell{width:100%;height:var(--logic-cell)!important;aspect-ratio:1/1;align-self:stretch}
.color-logic-page .combined-grid .composite-row-label{min-height:var(--logic-cell)}

/* Color Orbit is swipe/keyboard first; leave its footer clear of the home indicator. */
.orbit-page .orbit-controls{display:none!important}
@media(max-width:720px){
  .orbit-page .site-main{padding-bottom:10dvh!important}
}

/* Compact pop-up control styling shared by fishing, Word Chain, and Squarefall. */
.fishing-popup-close,.compact-game-modal-heading>button{
  width:42px;min-width:42px;height:42px;min-height:42px;padding:0!important;border-radius:13px!important;
  color:#111!important;background:#fff8e9!important;border:1px solid rgba(17,17,17,.34)!important;font:900 1rem/1 var(--bb-display)!important;
}
.squarefall-page .squarefall-upgrade{
  display:grid!important;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;
  padding:10px!important;border-radius:14px!important;color:#13263a!important;
}
.squarefall-page .squarefall-upgrade-icon{
  display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff8e9;
  background:linear-gradient(145deg,#ff6d54,#c94242);font:900 1rem/1 var(--bb-display);
}
.squarefall-page .squarefall-upgrade:nth-child(3n+2) .squarefall-upgrade-icon{background:linear-gradient(145deg,#4f9cff,#315db8)}
.squarefall-page .squarefall-upgrade:nth-child(3n) .squarefall-upgrade-icon{background:linear-gradient(145deg,#57cfa3,#197d6d)}
.squarefall-page .squarefall-upgrade strong{color:#13263a!important}
.squarefall-page .squarefall-upgrade small{color:#46535f!important}

/* Guesser becomes a compact, single-purpose party tool on phones. */
@media(max-width:720px){
  .guesser-page .site-header{border-radius:0 0 18px 18px}
  .guesser-page{height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}
  .guesser-page .site-main{min-height:0;overflow:hidden;padding:9px 12px 10dvh}
  .guesser-page .app{height:100%;gap:10px;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
  .guesser-page .hero{display:block;padding:12px 16px;border-radius:20px}
  .guesser-page .hero .eyebrow,.guesser-page .hero .subtitle:last-child{display:none}
  .guesser-page .hero h1{margin:0;font-family:var(--bb-display)!important;font-size:1.45rem!important;letter-spacing:.025em}
  .guesser-page .layout{min-height:0;display:block!important;gap:10px}
  .guesser-page .panel{padding:14px;border-radius:18px}
  .guesser-page .panel.play{height:100%;display:grid;grid-template-rows:auto minmax(130px,1fr) auto auto auto auto;gap:10px;overflow:hidden}
  .guesser-page .compact-game-modal .panel.setup{display:grid!important;max-height:calc(100dvh - 130px);overflow:auto}
  .guesser-page .section-title h2{font-family:var(--bb-display)!important;font-size:1.1rem!important}
  .guesser-page .app textarea{min-height:115px}
  .guesser-page .panel.play .word-card{min-height:150px}
  .guesser-page .timer,.guesser-page .round-score{min-height:66px}
  .guesser-page .footer,.guesser-page .site-footer{display:none}
}

/* Word Chain keeps play on the main screen; supporting information lives in the top popups. */
@media(max-width:720px){
  .word-page{height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}
  .word-page .site-header{border-radius:0 0 18px 18px}
  .word-page .site-main{min-height:0;overflow:hidden;padding:8px 10px 10dvh}
  .word-page .hero{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}
  .word-page .hero-copy{padding:0}.word-page .hero-copy .eyebrow,.word-page .hero-copy .hero-lede{display:none}
  .word-page .hero-copy h1{margin:0;font-family:var(--bb-display)!important;font-size:1.35rem!important;line-height:1.2!important}
  .word-page .word-card{min-height:0;height:100%;padding:14px;border-radius:20px}
  .word-page .word-current{font-size:clamp(2.2rem,13vw,4.1rem)}
  .word-page .word-history,.word-page .word-rules,.word-page #word-leaderboard{display:none}
  .word-page .site-footer{display:none}
}
.word-page .compact-game-modal :is(.word-history,.word-rules,#word-leaderboard){display:block!important}
.word-page .word-menu-popup{display:grid;gap:16px}
.word-page .word-menu-popup :is(.word-history,.word-rules,#word-leaderboard){margin:0!important}
.trail-shop-panel .trail-shop-close-icon{justify-self:end!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;color:#111!important;background:#fff8e9!important}

@media(max-width:620px){
  .home-page .site-header{grid-template-columns:54px minmax(0,1fr) 92px;padding-inline:10px!important}
  .home-page .brand-mark{width:52px;height:52px;border-radius:16px}
  .home-page .brand-title{font-size:.74rem!important}
  .home-page .auth-toggle{min-width:80px;max-width:92px;padding-inline:7px!important;font-size:.68rem!important}
  .home-page .home-hero{padding-top:10px}.home-page .home-hero h1{font-size:1.2rem!important}
  .home-page .game-selector{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .home-page .game-card{min-height:88px!important;padding:10px 8px!important}
  .home-page .game-card strong{font-size:clamp(.62rem,3.35vw,.78rem)!important;line-height:1.5!important}
}

/* Keep the orbit target crisp even while unsafe tiles are visually dimmed. */
.orbit-page .tile.illegal-hint{filter:none!important}
.orbit-page .tile.illegal-hint::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(7,12,22,.42);pointer-events:none}
.orbit-page .orbit-board .star{-webkit-text-stroke:2px #101116;paint-order:stroke fill;z-index:3}

/* Defender's city sits lower, with a forcefield that deliberately runs past the viewport edges. */
.defender-page .defender-ground{height:20%!important}
.defender-page .defender-line{left:-9%!important;right:-9%!important;width:118%!important}

/* The fisherman stands on the pier: only the character rises, not the dock. */
.fishing-page .fishing-character-head{transform:translateY(-25px)}
.fishing-page .fishing-character-body{transform:translateY(-25px)}
.fishing-page .fishing-rod{transform:translateY(-25px) rotate(-24deg)}

/* Head-up words begin sideways and retain their orientation during the pop animation. */
.guesser-page.head-up-active .word.pop{animation:bb-head-up-pop .25s ease}
.guesser-page.head-up-active .actions{display:block!important;position:fixed;z-index:110;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:auto!important}
.guesser-page.head-up-active .actions :is(#skipBtn,#correctBtn){display:none!important}
.guesser-page.head-up-active .actions #quitBtn{display:block!important;min-height:42px;padding:9px 12px;color:#fff8e9!important;background:rgba(7,22,27,.86)!important;border:1px solid rgba(255,255,255,.32)!important}
@keyframes bb-head-up-pop{0%{transform:rotate(90deg) scale(.95);opacity:.6}100%{transform:rotate(90deg) scale(1);opacity:1}}

/* Slots needs a little more breathing room around each money control. */
@media(max-width:720px){
  .slots-page .coin-inline,.slots-page .bet-controls{height:50px!important}
  .slots-page .bet-controls{padding:5px!important}
  .slots-page .bet-controls .cta.ghost,.slots-page #bet-down,.slots-page #bet-up{height:40px!important;min-height:40px!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Home shelf alignment and a compact, recognizable account control. */
.home-page .auth-toggle{position:relative;width:54px!important;min-width:54px!important;max-width:54px!important;height:54px;min-height:54px;padding:0!important;font-size:0!important;overflow:visible!important}
.home-page .auth-toggle::before{content:"";position:absolute;top:12px;left:50%;width:13px;height:13px;border:2px solid currentColor;border-radius:50%;transform:translateX(-50%)}
.home-page .auth-toggle::after{content:"";position:absolute;bottom:11px;left:50%;width:25px;height:13px;border:2px solid currentColor;border-bottom:0;border-radius:15px 15px 0 0;transform:translateX(-50%)}
.home-page .game-card{justify-content:center!important;align-items:center!important;text-align:center!important}
.home-page .game-card strong{display:block!important;width:100%!important;justify-self:stretch!important;align-self:center!important;text-align:center!important}
.home-page .home-beta-link{min-height:66px!important;padding-block:13px!important;line-height:1.35!important}

/* MazerRun keeps level selection compact while preserving completion detail. */
.maze-message{display:none!important}
.maze-level-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.maze-level-list li{min-width:0}
.maze-level-btn{min-height:94px!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto 1fr auto!important;align-items:center!important;gap:5px 8px!important;padding:10px!important;text-align:left!important}
.maze-level-btn>span:first-child{grid-column:1/-1;font-weight:900;color:#20130b}
.maze-level-btn .level-stars{display:flex;grid-column:1/-1;gap:4px;align-items:center;min-height:20px}
.maze-level-btn .level-star{display:block;width:17px;height:17px;background:center/contain no-repeat url("ui-redesign/icons/star.png");filter:grayscale(1) brightness(.7);opacity:.38}
.maze-level-btn .level-star.earned{filter:brightness(0) saturate(100%) invert(77%) sepia(80%) saturate(540%) hue-rotate(351deg) brightness(102%) contrast(96%);opacity:1}
.maze-level-btn .level-time{grid-column:1/-1;align-self:end;font-size:.7rem!important;color:#584533!important}

/* A shared podium: score leads, player follows, and the highest three are instantly scannable. */
.leaderboard-list{list-style:none!important;padding-left:0!important;gap:8px!important}
.leaderboard-list .leaderboard-place{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:7px 10px;border:1px solid rgba(35,24,12,.16);border-radius:12px;background:rgba(255,255,255,.66);color:#21160e}
.leaderboard-rank{font-weight:900;text-align:center;color:#584533}
.leaderboard-score{min-width:0;font-size:1rem;line-height:1.1;color:#21160e;overflow-wrap:anywhere}
.leaderboard-player{max-width:10ch;font-size:.72rem;line-height:1.15;text-align:right;color:#584533;overflow-wrap:anywhere}
.leaderboard-list .leaderboard-place-1{min-height:76px;grid-template-columns:36px minmax(0,1fr) minmax(54px,auto);padding:12px;border-color:#b88014;background:linear-gradient(110deg,#fff0a4,#d89f24 52%,#ffec9a);box-shadow:0 5px 0 rgba(104,66,8,.2)}
.leaderboard-place-1 .leaderboard-rank{font-size:1.55rem;color:#6e4305}
.leaderboard-place-1 .leaderboard-score{font-size:clamp(1.45rem,5vw,2.25rem);color:#543403}
.leaderboard-place-1 .leaderboard-player{font-size:.8rem;color:#624712}
.leaderboard-list .leaderboard-place-2{min-height:57px;border-color:#aeb7bd;background:linear-gradient(110deg,#f5f7f6,#b8c1c8);box-shadow:0 3px 0 rgba(65,75,83,.18)}
.leaderboard-place-2 .leaderboard-rank,.leaderboard-place-2 .leaderboard-score{color:#3f4d57}.leaderboard-place-2 .leaderboard-score{font-size:1.25rem}
.leaderboard-list .leaderboard-place-3{min-height:52px;border-color:#b3713a;background:linear-gradient(110deg,#f5d1a9,#bf7438);box-shadow:0 3px 0 rgba(100,49,21,.18)}
.leaderboard-place-3 .leaderboard-rank,.leaderboard-place-3 .leaderboard-score{color:#5f2f16}.leaderboard-place-3 .leaderboard-score{font-size:1.14rem}

/* Fishing panels may grow and wrap rather than losing labels and longer bait names. */
.fishing-page :is(.fishing-menu-button,.fishing-bait-status>strong,.fishing-bait-status>small,.fish-book-header h2,.fish-book-header>span,.fish-card strong,.fish-card span,.fish-storage-name,.fish-storage-box small,.fish-rating-box span,.fishing-upgrade-card p,.fishing-upgrade-card span){white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
.fishing-page .fishing-menu-button{min-height:52px!important;line-height:1.25!important}
.fishing-page .fishing-bait-status{height:58px!important;min-height:58px!important;max-height:58px!important;overflow:hidden!important}
.fishing-page .fishing-bait-status>strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.fishing-page .fishing-bait-status>small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:10ch}
.fishing-page .fish-book-header>div,.fishing-page .fish-card,.fishing-page .fish-storage-box,.fishing-page .fish-rating-box{min-width:0}

/* The Spook room is dark; its lobby and table labels need the same light ink as the cards. */
.spook-page .spook-panel :is(.card-title,.spook-label,.spook-room-code,.spook-status,.spook-trump-display,.spook-score,.spook-kitty,.spook-bid-info,.spook-round-summary,.spook-round-title,.card-note,.spook-player,.spook-player strong){color:#fff8e8!important}
.spook-page .spook-panel :is(.spook-label input,.spook-join input){color:#24180f!important;background:#fffaf0!important;border-color:#f4d67b!important}
.spook-page .spook-panel .spook-player,.spook-page .spook-panel .spook-score,.spook-page .spook-panel .spook-status{background:rgba(8,5,11,.58)!important;border-color:rgba(255,248,232,.38)!important}

/* Leaderboards retain equal breathing room at both edges, even on dark game themes. */
.leaderboard{padding-inline:clamp(14px,4vw,24px)!important}
.leaderboard-list{width:100%!important;padding-inline:0!important;margin-inline:0!important}
.leaderboard-list .leaderboard-place-1{border-color:#b88014!important;background:linear-gradient(110deg,#fff0a4,#d89f24 52%,#ffec9a)!important}
.leaderboard-list .leaderboard-place-2{border-color:#aeb7bd!important;background:linear-gradient(110deg,#f5f7f6,#b8c1c8)!important}
.leaderboard-list .leaderboard-place-3{border-color:#b3713a!important;background:linear-gradient(110deg,#f5d1a9,#bf7438)!important}
.defender-page .compact-game-modal :is(.compact-game-modal-heading,.compact-game-modal-heading h2,.compact-game-modal-heading .bb-icon-only){color:#111!important}
.defender-page .compact-game-modal-heading .bb-icon{filter:brightness(0)!important}

/* Defender projectiles are now crisp energy bolts and small guided rockets. */
.defender-entity{box-shadow:0 8px 16px rgba(0,0,0,.3)!important}
.defender-entity.bullet{border:2px solid #172334!important;border-radius:50% 50% 44% 44%!important;background:linear-gradient(90deg,#342248 0 22%,#f5edb3 23% 51%,#4ddcf1 52% 100%)!important;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 5px 13px rgba(78,222,255,.42)!important}
.defender-entity.bullet::before{left:50%!important;right:auto!important;top:-8px!important;width:0!important;height:0!important;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid #e7f9ff;background:none!important}
.defender-entity.bullet::after{left:50%!important;right:auto!important;bottom:-15px!important;width:8px!important;height:16px!important;transform:translateX(-50%);border-radius:0 0 10px 10px;background:linear-gradient(#72efff,rgba(114,239,255,0))!important;filter:none!important}
.defender-entity.missile{border:2px solid #421f25!important;border-radius:7px 7px 4px 4px!important;background:linear-gradient(90deg,#6d2630 0 23%,#f5cf95 24% 48%,#df523b 49% 100%)!important;box-shadow:0 0 0 1px rgba(255,239,187,.32),0 7px 16px rgba(237,82,55,.4)!important}
.defender-entity.missile::before{left:50%!important;top:-12px!important;bottom:auto!important;width:0!important;height:0!important;transform:translateX(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid #f3d9aa;border-top:0!important;background:none!important}
.defender-entity.missile::after{left:50%!important;top:auto!important;bottom:-17px!important;width:12px!important;height:18px!important;transform:translateX(-50%);border-radius:0 0 50% 50%;background:linear-gradient(#fff2a6,#ff8a36 55%,rgba(255,75,35,0))!important;filter:none!important}
.defender-entity.deflected{background:linear-gradient(90deg,#173e74 0 23%,#d9f9ff 24% 49%,#3aa9ef 50% 100%)!important}


/* The home header keeps its title on the real screen center, not between unequal grid tracks. */
.home-page .site-header{grid-template-columns:54px minmax(0,1fr) 54px!important}
.home-page .brand-title{justify-self:center!important;text-align:center!important}
.home-page .home-beta-link{min-height:74px!important;gap:4px!important;line-height:1.5!important}

/* The three directory links are intentionally one-per-row and span two catalog cards. */
.home-page .home-directory-shelf{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:min(100%,581px)!important;
  margin:28px auto 0!important;
}
.home-page .game-card--feedback{
  grid-column:span 2!important;
  color:#17120d!important;
  background:linear-gradient(135deg,#ffe78a,#d99c26 58%,#b86b12)!important;
}
.home-page .game-card--feedback :is(strong,span){
  color:#17120d!important;
}
.home-page .game-card--feedback .game-card-kicker,
.home-page .game-card--feedback span:last-child{
  background:rgba(255,250,217,.3)!important;
}
.home-page .home-directory-link{
  display:grid!important;
  place-items:center!important;
  min-height:98px!important;
  padding:14px 24px!important;
  border:2px solid rgba(255,255,255,.92)!important;
  border-radius:18px!important;
  color:#fff!important;
  font-family:var(--bb-display)!important;
  font-size:clamp(.85rem,1.8vw,1.1rem)!important;
  line-height:1.3!important;
  letter-spacing:.025em!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 4px 0 rgba(23,35,49,.22)!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}
.home-page .home-directory-link:hover{transform:translateY(-3px)!important;box-shadow:0 7px 0 rgba(23,35,49,.2)!important}
.home-page .home-upcoming-link{background:linear-gradient(135deg,#1c9b46,#73d22b)!important}
.home-page .home-multiplayer-link{background:linear-gradient(135deg,#1655b8,#43a6f0)!important}
.home-page .home-non-games-link{background:linear-gradient(135deg,#06080a,#293039)!important}
.home-page .home-discontinued-link{background:linear-gradient(135deg,#6b371c,#a96836)!important}
.home-page .game-card--ridge-run{
  color:#fff8df!important;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,195,93,.82) 0 4%,transparent 5%),
    linear-gradient(145deg,#0b1722 0%,#12394b 53%,#b64d35 100%)!important;
}
.home-page .game-card--ridge-run .game-card-kicker,
.home-page .game-card--ridge-run span:last-child{
  color:rgba(255,248,223,.86)!important;
  background:rgba(4,17,24,.25)!important;
}
.home-page .game-card--gebinden{background:linear-gradient(135deg,#1a263f,#3f4f99 56%,#e3914d)!important}
.home-page .game-card--color-logic{background:linear-gradient(135deg,#48233a,#98506a 58%,#e8a947)!important}
.home-page .game-card--light-pattern{background:linear-gradient(135deg,#1e3455,#4c7dbc 57%,#f0d264)!important}
.home-page .game-card--zero-trail{background:linear-gradient(135deg,#21433c,#518f78 56%,#d4b35f)!important}
.home-page .game-card--pocket-cycle{background:radial-gradient(circle at 73% 28%,#f7d57a 0 8%,transparent 8.5%),linear-gradient(135deg,#103238,#2d7471 58%,#c29151)!important}
@media(max-width:620px){
  .home-page .home-directory-shelf{width:100%!important;gap:9px!important;margin-top:20px!important}
  .home-page .home-directory-link{min-height:88px!important;padding:10px 14px!important;font-size:.78rem!important}
}

/* The current falling direction is downward: the point leads below and the exhaust trails above. */
.defender-entity.bullet::before{top:auto!important;bottom:-10px!important;border-top:10px solid #e7f9ff!important;border-bottom:0!important}
.defender-entity.bullet::after{top:-15px!important;bottom:auto!important;background:linear-gradient(rgba(114,239,255,0),#72efff)!important}
.defender-entity.missile::before{top:auto!important;bottom:-12px!important;border-top:12px solid #f3d9aa!important;border-bottom:0!important}
.defender-entity.missile::after{top:-17px!important;bottom:auto!important;background:linear-gradient(rgba(255,75,35,0),#ff8a36 45%,#fff2a6)!important}

.color-logic-page :is(.number-head,.number-row){font-size:1.22rem!important}

/* Philosophy's pale header controls need dark marks, including the injected help button. */
.philosophy-page .site-header :is(a.bb-icon-only[href="index.html"],button.bb-icon-only) .bb-icon{filter:brightness(0)!important}

/* Word Chain's menu is light, so its close control uses an ink-black X. */
.word-page .compact-game-modal-heading button.bb-icon-only .bb-icon{filter:brightness(0)!important}

/* Keep every ranking row clear of both popup edges, not only the left edge. */
:is(.leaderboard,.compact-game-modal,.golf-modal,.bounce-modal,.slots-modal) .leaderboard-list{width:calc(100% - 16px)!important;margin-inline:8px!important;box-sizing:border-box!important}

/* The chapter list owns the remaining modal height and scrolls independently on phones. */
.golf-stats-modal{width:min(calc(100vw - 24px),680px)!important;height:min(720px,calc(100dvh - 28px))!important;max-height:calc(100dvh - 28px)!important;grid-template-rows:auto auto minmax(0,1fr)!important;overflow:hidden!important}
.golf-stats-modal .golf-chapter-grid{min-height:0!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;padding:0 5px 10px 0!important}

/* Keep this overlay viewport-bound even on pages that do not load style.css. */
body>.page-loading-screen{position:fixed!important;inset:0!important;z-index:2147483647!important;display:grid!important;grid-template-rows:auto auto!important;place-content:center!important;justify-items:center!important;gap:20px!important;width:100vw!important;min-width:100vw!important;height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important;margin:0!important;padding:24px!important;box-sizing:border-box!important;overflow:hidden!important;background:#000!important;color:#fff!important;opacity:0;pointer-events:none!important;transition:opacity .5s ease!important}
body>.page-loading-screen:not([hidden]){opacity:0}
body>.page-loading-screen.is-visible{opacity:1;pointer-events:auto!important}
body>.page-loading-screen .page-loading-card{display:contents!important}
body>.page-loading-screen .page-loading-mark{display:grid!important;place-items:center!important;width:50vw!important;height:50vw!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;animation:page-loading-pulse 800ms ease-in-out infinite alternate}
body>.page-loading-screen .page-loading-mark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;filter:brightness(0) invert(1)!important}
body>.page-loading-screen>strong{font-family:var(--bb-display)!important;font-size:clamp(1rem,4vw,1.5rem)!important;line-height:1.4!important;letter-spacing:.08em!important;text-align:center!important;color:#fff!important}

/* Temporary mobile-safe inspection panel for loading-transition diagnostics. */
body>.transition-debug-panel{position:fixed!important;z-index:2147483646!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:min(390px,calc(100vw - 16px))!important;height:min(560px,calc(100dvh - 130px))!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:8px!important;padding:12px!important;box-sizing:border-box!important;border:2px solid #fff!important;border-radius:16px!important;background:rgba(7,13,19,.96)!important;box-shadow:0 12px 36px rgba(0,0,0,.42)!important;color:#fff!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}
.transition-debug-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}.transition-debug-head>div{display:grid!important;gap:2px!important}.transition-debug-head strong{font-size:1rem!important;line-height:1.25!important}.transition-debug-head span{font-size:.7rem!important;color:#b9d8e2!important}.transition-debug-head button,.transition-debug-actions button{min-height:38px!important;padding:6px 8px!important;border:1px solid #fff!important;border-radius:8px!important;background:#173b4d!important;color:#fff!important;font:700 .72rem/1 var(--bb-display)!important;white-space:nowrap!important}.transition-debug-body{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;gap:8px!important;min-height:0!important}.transition-debug-panel pre{min-height:0!important;margin:0!important;padding:9px!important;overflow:auto!important;overscroll-behavior:contain!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:9px!important;background:#000!important;color:#dff8ff!important;font:11px/1.42 ui-monospace,SFMono-Regular,Consolas,monospace!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important}.transition-debug-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}.transition-debug-head button:active,.transition-debug-actions button:active{transform:translateY(1px)!important;background:#276176!important}.transition-debug-panel.is-collapsed{width:auto!important;height:auto!important;display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.transition-debug-panel.is-collapsed .transition-debug-head>div,.transition-debug-panel.is-collapsed .transition-debug-body{display:none!important}.transition-debug-panel.is-collapsed .transition-debug-head button{min-height:46px!important;padding:0 15px!important;border-radius:14px!important;background:#07131d!important;box-shadow:0 6px 18px rgba(0,0,0,.36)!important;font-size:.84rem!important}

/* Dark game navigation uses a white bunny; light controls keep the dark mark for contrast. */
:is(.defender-page,.orbit-page,.spook-page,.shadowbound-page,.gridshift-page,.trail-page,.slots-page,.fishing-page,.word-page) a.bb-icon-only[href="index.html"]{background:rgba(8,18,29,.72)!important;border-color:rgba(255,248,233,.48)!important}
:is(.defender-page,.orbit-page,.spook-page,.shadowbound-page,.gridshift-page,.trail-page,.slots-page,.fishing-page,.word-page) a.bb-icon-only[href="index.html"] .bb-icon{filter:brightness(0) invert(1)!important}
