.s2047-bar-wrap{font-family:Arial,Helvetica,sans-serif;max-width:1180px;margin:24px auto;padding:18px;color:#fff;background:radial-gradient(circle at top,#243b88 0,#0b1028 45%,#050611 100%);border:3px solid #06e6ff;border-radius:28px;box-shadow:0 18px 45px rgba(0,0,0,.55),inset 0 0 28px rgba(255,255,255,.08);overflow:hidden}.s2047-bar-logo{text-align:center;font-weight:900;font-size:clamp(34px,6vw,82px);letter-spacing:.08em;color:#ffe55c;text-shadow:0 4px 0 #13214f,0 9px 16px rgba(0,0,0,.75),0 0 20px #ff49e7}.s2047-bar-subtitle{text-align:center;color:#dffcff;font-size:18px;margin:0 0 16px}.s2047-scene{position:relative;min-height:520px;border-radius:22px;background:linear-gradient(180deg,#111a4a,#321154 55%,#120817);border:2px solid rgba(255,255,255,.25);overflow:hidden;box-shadow:inset 0 0 55px rgba(0,0,0,.75)}.s2047-stars,.s2047-stars:before,.s2047-stars:after{position:absolute;inset:0;content:"";background-image:radial-gradient(#fff 1.2px,transparent 1.5px);background-size:58px 58px;opacity:.45;animation:s2047-drift 18s linear infinite}.s2047-stars:before{background-size:91px 91px;opacity:.35;animation-duration:28s}.s2047-stars:after{background-size:37px 37px;opacity:.25;animation-duration:12s}.s2047-window{position:absolute;left:28px;top:36px;width:250px;height:155px;border:8px solid #1ef2ff;border-radius:30px;background:radial-gradient(circle at 65% 40%,#ffef7e 0 10%,transparent 11%),linear-gradient(135deg,#061139,#162e74);box-shadow:0 0 24px #00e5ff}.s2047-window span{position:absolute;border-radius:50%;background:#ff71e8;box-shadow:0 0 18px #ff71e8}.s2047-window span:nth-child(1){width:24px;height:24px;left:50px;top:70px}.s2047-window span:nth-child(2){width:14px;height:14px;left:160px;top:35px}.s2047-window span:nth-child(3){width:34px;height:34px;left:180px;top:98px}.s2047-neon{position:absolute;right:28px;top:48px;padding:14px 20px;border-radius:16px;border:3px solid #ff44d6;color:#fff;background:#14051d;font-weight:900;font-size:clamp(18px,3vw,34px);text-shadow:0 0 10px #ff44d6,0 0 22px #ff44d6;box-shadow:0 0 28px #ff44d6;transform:rotate(1deg);animation:s2047-flicker 3.8s infinite}.s2047-shelves{position:absolute;right:38px;top:155px;width:390px;height:120px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.25));border-bottom:12px solid #7c4b21}.s2047-shelves i{display:inline-block;width:34px;height:75px;margin:28px 17px 0;border-radius:9px 9px 5px 5px;background:linear-gradient(180deg,#ffea60,#ff6adf);box-shadow:0 0 16px rgba(255,255,255,.35)}.s2047-bar-top{position:absolute;left:0;right:0;bottom:0;height:170px;background:linear-gradient(180deg,#b86d28,#4f240d);border-top:10px solid #ffd36a;box-shadow:0 -14px 30px rgba(0,0,0,.4)}.s2047-bar-top:after{content:"";position:absolute;left:4%;right:4%;top:24px;height:34px;border-radius:50%;background:rgba(255,255,255,.16)}.s2047-stools{position:absolute;left:8%;right:8%;bottom:8px;display:flex;justify-content:space-around}.s2047-stools b{width:48px;height:82px;background:linear-gradient(#ff4bd6,#63207a);border-radius:22px 22px 8px 8px;box-shadow:0 0 14px #ff4bd6}.s2047-characters{position:absolute;left:3%;right:3%;bottom:80px;display:flex;align-items:flex-end;justify-content:space-around;gap:8px}.s2047-character{position:relative;width:142px;height:230px;border:0;background:transparent;color:#fff;cursor:pointer;filter:drop-shadow(0 14px 12px rgba(0,0,0,.55));animation:s2047-bob 2.7s ease-in-out infinite;animation-delay:var(--delay)}.s2047-character:hover,.s2047-character.is-active{transform:translateY(-12px) scale(1.06)}.s2047-head{position:absolute;left:25px;top:7px;width:92px;height:92px;display:grid;place-items:center;font-size:60px;background:linear-gradient(145deg,#fff,#aaf7ff);border:4px solid #111;border-radius:50%;box-shadow:0 0 18px #02e6ff}.s2047-body{position:absolute;left:23px;top:91px;width:96px;height:110px;border-radius:48px 48px 26px 26px;background:linear-gradient(145deg,#ffd84f,#ff4cd8 50%,#2ee7ff);border:4px solid #111}.s2047-body:before,.s2047-body:after{content:"";position:absolute;top:25px;width:26px;height:78px;border-radius:18px;background:#2ee7ff;border:3px solid #111;animation:s2047-wave 1.4s ease-in-out infinite}.s2047-body:before{left:-25px;transform-origin:top right}.s2047-body:after{right:-25px;transform-origin:top left;animation-delay:.35s}.s2047-name{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.72);border:2px solid rgba(255,255,255,.35);border-radius:14px;padding:7px 5px;font-weight:900;font-size:13px}.s2047-speech-dot{position:absolute;left:74px;top:-16px;background:#fff;color:#111;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;opacity:0;transform:translateY(8px)}.s2047-character:hover .s2047-speech-dot,.s2047-character.is-active .s2047-speech-dot{opacity:1;transform:translateY(0)}.s2047-brian .s2047-body{background:linear-gradient(145deg,#ff9a3d,#ffd75e,#3856d8)}.s2047-karen .s2047-body{background:linear-gradient(145deg,#fff,#ffdb71,#ff6adf)}.s2047-maamling .s2047-body{background:linear-gradient(145deg,#74ff72,#00c391,#6021a6)}.s2047-underbot .s2047-body{background:linear-gradient(145deg,#e8f1ff,#6ac7ff,#757575)}.s2047-blobbert .s2047-body{background:linear-gradient(145deg,#96fff1,#ce8dff,#6bf)}.s2047-panel{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-top:16px}.s2047-character-list,.s2047-chatbox{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:14px;box-shadow:inset 0 0 20px rgba(255,255,255,.05)}.s2047-pick{display:block;width:100%;text-align:left;margin:0 0 8px;padding:12px;border-radius:14px;border:2px solid transparent;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.s2047-pick strong{display:block;font-size:16px}.s2047-pick span{display:block;color:#d6f8ff;font-size:12px}.s2047-pick.is-active{border-color:#ffe55c;background:rgba(255,229,92,.18)}.s2047-chat-header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.s2047-chat-header strong{display:block;font-size:22px;color:#ffe55c}.s2047-chat-header span{display:block;color:#dffcff}.s2047-chat-header button,.s2047-form button{border:0;border-radius:999px;padding:10px 16px;font-weight:900;background:#ffe55c;color:#111;cursor:pointer;box-shadow:0 4px 0 #a15c00}.s2047-log{height:310px;overflow:auto;background:rgba(0,0,0,.35);border-radius:16px;padding:12px}.s2047-msg{max-width:86%;margin:0 0 10px;padding:10px 12px;border-radius:16px;line-height:1.35}.s2047-msg.bot{background:rgba(46,231,255,.18);border:1px solid rgba(46,231,255,.38)}.s2047-msg.user{margin-left:auto;background:rgba(255,229,92,.18);border:1px solid rgba(255,229,92,.4)}.s2047-msg small{display:block;opacity:.75;font-weight:900;margin-bottom:3px}.s2047-form{display:flex;gap:10px;margin-top:12px}.s2047-form input{flex:1;min-width:0;border:2px solid #42eaff;border-radius:999px;background:#fff;color:#111;padding:13px 16px;font-size:16px}.s2047-form input:focus{outline:3px solid rgba(255,229,92,.55)}@keyframes s2047-bob{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes s2047-wave{0%,100%{rotate:-8deg}50%{rotate:18deg}}@keyframes s2047-drift{to{background-position:120px 80px}}@keyframes s2047-flicker{0%,92%,100%{opacity:1}93%{opacity:.45}95%{opacity:.95}97%{opacity:.65}}@media(max-width:820px){.s2047-scene{min-height:760px}.s2047-window{transform:scale(.82);transform-origin:left top}.s2047-neon{left:24px;right:24px;top:190px;text-align:center}.s2047-shelves{left:24px;right:24px;top:275px;width:auto}.s2047-characters{flex-wrap:wrap;bottom:75px}.s2047-character{width:31%;min-width:105px;height:190px}.s2047-head{left:18px;width:72px;height:72px;font-size:46px}.s2047-body{left:20px;top:72px;width:70px;height:88px}.s2047-panel{grid-template-columns:1fr}.s2047-form{flex-direction:column}.s2047-form button{width:100%}}


/* Space 2047 theme integration: pull the page title up directly beneath the top black menu bar. */
body.s2047-bar-page .entry-header,
body.s2047-bar-page .page-header,
body.s2047-bar-page main .wp-block-post-title,
body.s2047-bar-page main > h1:first-child{
    margin-top:0!important;
    padding-top:6px!important;
}
body.s2047-bar-page .entry-title,
body.s2047-bar-page .page-title,
body.s2047-bar-page .wp-block-post-title{
    margin-top:0!important;
    margin-bottom:8px!important;
    padding-top:0!important;
    transform:translateY(-2px);
}
body.s2047-bar-page .site-main,
body.s2047-bar-page #primary,
body.s2047-bar-page .content-area,
body.s2047-bar-page .entry-content{
    padding-top:0!important;
    margin-top:0!important;
}
body.s2047-bar-page .s2047-bar-wrap{
    margin-top:8px;
}


/* v1.3 mobile display repair: prevent cropping/overflow and make the bar playable on phones. */
.s2047-bar-wrap,
.s2047-bar-wrap *{
    box-sizing:border-box;
}
.s2047-bar-wrap{
    width:min(100%,1180px);
}
.s2047-character{
    touch-action:manipulation;
}
@media(max-width:700px){
    body.s2047-bar-page .entry-header,
    body.s2047-bar-page .page-header,
    body.s2047-bar-page main .wp-block-post-title,
    body.s2047-bar-page main > h1:first-child{
        padding-top:2px!important;
        margin-bottom:4px!important;
    }
    body.s2047-bar-page .entry-title,
    body.s2047-bar-page .page-title,
    body.s2047-bar-page .wp-block-post-title{
        line-height:1.05!important;
        font-size:clamp(25px,8vw,38px)!important;
        transform:none!important;
        margin-bottom:4px!important;
    }
    .s2047-bar-wrap{
        margin:6px auto 18px!important;
        padding:10px!important;
        border-radius:18px!important;
        border-width:2px!important;
        max-width:100%!important;
        overflow:visible!important;
    }
    .s2047-bar-logo{
        font-size:clamp(28px,12vw,48px)!important;
        letter-spacing:.035em!important;
        line-height:1!important;
        overflow-wrap:anywhere;
    }
    .s2047-bar-subtitle{
        font-size:14px!important;
        line-height:1.25!important;
        margin:6px 0 10px!important;
        padding:0 6px!important;
    }
    .s2047-scene{
        min-height:880px!important;
        border-radius:16px!important;
        overflow:hidden!important;
    }
    .s2047-window{
        left:12px!important;
        top:18px!important;
        width:170px!important;
        height:105px!important;
        border-width:5px!important;
        border-radius:20px!important;
        transform:none!important;
    }
    .s2047-neon{
        left:12px!important;
        right:12px!important;
        top:140px!important;
        padding:10px 8px!important;
        font-size:clamp(16px,6vw,24px)!important;
        line-height:1.08!important;
        transform:none!important;
        z-index:3;
    }
    .s2047-shelves{
        left:12px!important;
        right:12px!important;
        top:225px!important;
        width:auto!important;
        height:82px!important;
        text-align:center!important;
        overflow:hidden!important;
    }
    .s2047-shelves i{
        width:20px!important;
        height:50px!important;
        margin:20px 8px 0!important;
    }
    .s2047-bar-top{
        height:132px!important;
    }
    .s2047-stools{
        display:none!important;
    }
    .s2047-characters{
        left:8px!important;
        right:8px!important;
        top:330px!important;
        bottom:auto!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        align-items:end!important;
        justify-items:center!important;
        gap:12px 6px!important;
        z-index:4;
    }
    .s2047-character{
        width:100%!important;
        max-width:145px!important;
        min-width:0!important;
        height:148px!important;
        padding:0!important;
        animation:s2047-bob 3.2s ease-in-out infinite!important;
    }
    .s2047-character:hover,
    .s2047-character.is-active{
        transform:translateY(-5px) scale(1.02)!important;
    }
    .s2047-head{
        left:50%!important;
        top:0!important;
        transform:translateX(-50%)!important;
        width:56px!important;
        height:56px!important;
        font-size:34px!important;
        border-width:3px!important;
    }
    .s2047-body{
        left:50%!important;
        top:50px!important;
        transform:translateX(-50%)!important;
        width:58px!important;
        height:64px!important;
        border-width:3px!important;
        border-radius:28px 28px 17px 17px!important;
    }
    .s2047-body:before,
    .s2047-body:after{
        top:17px!important;
        width:15px!important;
        height:45px!important;
        border-width:2px!important;
    }
    .s2047-body:before{left:-15px!important;}
    .s2047-body:after{right:-15px!important;}
    .s2047-name{
        font-size:11px!important;
        line-height:1.05!important;
        padding:5px 3px!important;
        bottom:0!important;
        left:2px!important;
        right:2px!important;
    }
    .s2047-speech-dot{
        left:50%!important;
        top:-14px!important;
        transform:translate(-50%,8px)!important;
        font-size:10px!important;
        padding:4px 7px!important;
    }
    .s2047-character:hover .s2047-speech-dot,
    .s2047-character.is-active .s2047-speech-dot{
        transform:translate(-50%,0)!important;
    }
    .s2047-panel{
        display:block!important;
        margin-top:12px!important;
    }
    .s2047-character-list,
    .s2047-chatbox{
        padding:10px!important;
        border-radius:16px!important;
        margin-bottom:12px!important;
    }
    .s2047-character-list{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
    }
    .s2047-pick{
        margin:0!important;
        padding:9px 8px!important;
        min-height:64px!important;
        text-align:center!important;
    }
    .s2047-pick strong{
        font-size:13px!important;
        line-height:1.1!important;
    }
    .s2047-pick span{
        font-size:10px!important;
        line-height:1.15!important;
    }
    .s2047-chat-header{
        display:block!important;
        text-align:center!important;
    }
    .s2047-chat-header strong{
        font-size:20px!important;
        line-height:1.1!important;
    }
    .s2047-chat-header button{
        margin-top:8px!important;
        width:100%!important;
    }
    .s2047-log{
        height:260px!important;
        -webkit-overflow-scrolling:touch;
    }
    .s2047-msg{
        max-width:96%!important;
        font-size:14px!important;
    }
    .s2047-form{
        display:block!important;
    }
    .s2047-form input{
        width:100%!important;
        border-radius:18px!important;
        font-size:16px!important;
        margin-bottom:8px!important;
    }
    .s2047-form button{
        width:100%!important;
        border-radius:18px!important;
    }
}
@media(max-width:380px){
    .s2047-scene{min-height:1010px!important;}
    .s2047-characters{grid-template-columns:1fr!important;top:320px!important;}
    .s2047-character{max-width:170px!important;}
    .s2047-character-list{grid-template-columns:1fr!important;}
}


/* Space 2047 v1.5 — desktop split layout: bar left, conversation right */
@media (min-width: 769px) {
  .space2047-bar-chat,
  .s2047-bar-chat,
  .space2047-chat-wrap,
  .space2047-bar-wrap,
  [class*="bar-chat"][class*="wrap"],
  [class*="bar-chat"][class*="container"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr) !important;
    gap: 22px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .space2047-bar-scene,
  .s2047-bar-scene,
  .bar-scene,
  [class*="bar-scene"],
  [class*="bar-area"],
  [class*="scene-area"] {
    grid-column: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .space2047-conversation,
  .s2047-conversation,
  .conversation-box,
  .chat-panel,
  [class*="conversation-box"],
  [class*="conversation-panel"],
  [class*="chat-panel"] {
    grid-column: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    position: relative !important;
    inset: auto !important;
  }
}

/* Keep the proven mobile behaviour: scene first, conversation underneath */
@media (max-width: 768px) {
  .space2047-bar-chat,
  .s2047-bar-chat,
  .space2047-chat-wrap,
  .space2047-bar-wrap,
  [class*="bar-chat"][class*="wrap"],
  [class*="bar-chat"][class*="container"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .space2047-bar-scene,
  .s2047-bar-scene,
  .bar-scene,
  [class*="bar-scene"],
  [class*="bar-area"],
  [class*="scene-area"],
  .space2047-conversation,
  .s2047-conversation,
  .conversation-box,
  .chat-panel,
  [class*="conversation-box"],
  [class*="conversation-panel"],
  [class*="chat-panel"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Space 2047 v1.6 — true two-column layout: BAR LEFT, CHAT/INPUT RIGHT */
.s2047-bar-wrap .s2047-two-col{
  display:grid !important;
  grid-template-columns:minmax(520px, 1.45fr) minmax(340px, .75fr) !important;
  gap:24px !important;
  align-items:stretch !important;
  width:100% !important;
  margin-top:18px !important;
}
.s2047-bar-wrap .s2047-two-col > .s2047-scene{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  min-height:620px !important;
}
.s2047-bar-wrap .s2047-two-col > .s2047-panel{
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  align-self:stretch !important;
}
.s2047-bar-wrap .s2047-two-col .s2047-chatbox{
  flex:1 1 auto !important;
  min-height:520px !important;
  display:flex !important;
  flex-direction:column !important;
}
.s2047-bar-wrap .s2047-two-col .s2047-log{
  flex:1 1 auto !important;
  min-height:330px !important;
}
.s2047-bar-wrap .s2047-two-col .s2047-form{
  margin-top:auto !important;
}
@media (max-width:900px){
  .s2047-bar-wrap .s2047-two-col{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
  }
  .s2047-bar-wrap .s2047-two-col > .s2047-scene,
  .s2047-bar-wrap .s2047-two-col > .s2047-panel{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .s2047-bar-wrap .s2047-two-col > .s2047-scene{
    min-height:520px !important;
  }
  .s2047-bar-wrap .s2047-two-col .s2047-chatbox{
    min-height:420px !important;
  }
}


/* v1.7 — remove right-side selectors; characters in the bar are the selectors */
.s2047-character-list,.s2047-pick{display:none !important}
.s2047-bar-wrap .s2047-panel{display:block !important;width:100% !important;margin-top:0 !important}
.s2047-click-instruction{
  margin:0 0 14px;padding:14px 18px;text-align:center;
  font-size:clamp(17px,2vw,22px);font-weight:900;letter-spacing:.02em;
  color:#111;background:linear-gradient(180deg,#fff58a,#ffe55c);
  border:2px solid #fff;border-radius:16px;
  box-shadow:0 5px 0 #a15c00,0 0 20px rgba(255,229,92,.35)
}
@media (min-width:821px){
  .s2047-bar-wrap .s2047-two-col{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr) !important;
    gap:18px !important;align-items:stretch !important
  }
  .s2047-bar-wrap .s2047-two-col>.s2047-scene{
    grid-column:1 !important;width:100% !important;min-width:0 !important;margin:0 !important
  }
  .s2047-bar-wrap .s2047-two-col>.s2047-panel{
    grid-column:2 !important;width:100% !important;min-width:0 !important;margin:0 !important
  }
  .s2047-bar-wrap .s2047-chatbox{
    height:100% !important;box-sizing:border-box !important;
    display:flex !important;flex-direction:column !important
  }
  .s2047-bar-wrap .s2047-log{flex:1 1 auto !important;min-height:280px !important}
}

/* v1.9 persistent character memory uses browser localStorage; reset clears active character memory */
