<!-- RUBY-BACKUP · part 50 -->
order:1px solid #d8a920;color:#ffd700;z-index:6;cursor:pointer;
    display:none;padding:0;-webkit-tap-highlight-color:transparent;}
  #chatbtn svg{width:18px;height:18px;display:block;margin:0 auto;}
  #floatwords{position:fixed;inset:0;pointer-events:none;z-index:8;overflow:hidden;}
  .floatword{position:absolute;transform:translate(-50%,-100%);max-width:230px;
    background:#0d0a05;border:1px solid #d8a920;border-radius:10px;
    padding:5px 10px;font:12px/1.5 Georgia,serif;color:#e8dcc0;}
  .floatword b{color:#ffd700;margin-right:5px;}
  #dock{position:fixed;left:0;right:0;bottom:0;display:none;z-index:9;}
  #dock.open{display:block;}
  #chatrow{display:none;background:transparent;border:1px solid #8a6a1c;border-radius:12px;
    overflow:hidden;margin:0 auto 8px;max-width:340px;}
  #chatrow.open{display:flex;}
  #pastewrap{display:none;position:fixed;left:50%;top:16%;transform:translateX(-50%);width:86%;max-width:520px;z-index:9999;}
  #pastewrap.open{display:block;}
  #pastebox{width:100%;min-height:110px;background:rgba(10,8,2,.96);border:1px solid #ffd700;color:#ffe9a8;font:16px monospace;padding:12px;border-radius:12px;box-sizing:border-box;}
  #pastedone{display:block;margin:8px auto 0;background:rgba(10,8,2,.9);border:1px solid #ffd700;color:#ffd700;font:15px Georgia,serif;padding:8px 30px;border-radius:20px;}
  #chatinput{flex:1;background:transparent;border:0;color:#ffe9a8;font:16px Georgia,serif;
    padding:10px 12px;outline:none;min-width:0;}
  #chatsend{width:52px;background:transparent;border:0;color:#ffd700;font-size:16px;cursor:pointer;}
  /* our keyboard — compact, gold */
  #kb{padding:6px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(10,8,4,0.94);
    border-top:1px solid #8a6a1c;}
  .kbrow{display:flex;gap:5px;margin-bottom:6px;}
  .kbrow:last-child{margin-bottom:0;}
  .kbkey{flex:1;height:44px;border-radius:8px;border:1px solid #8a6a1c;background:transparent;
    color:#ffd700;font:19px Georgia,serif;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:0;}
  .kbkey:active{background:#d8a920;color:#111;}
  .kbkey.wide{flex:3;}
  .kbkey.go{flex:1.6;font-size:16px;color:#ffd700;font-weight:bold;}
  .kbkey.fn{flex:1.4;font-size:14px;color:#caa64b;}
  /* while the keyboard is up, the buttons and toggles collapse — the view stays wide */
  body.chatting .modebtn, body.chatting #jumpbtn, body.chatting #flybtn,
  body.chatting #codebtn, body.chatting #refresh, body.chatting #gobtn{display:none !important;}
  /* #joy NEVER hides — button permanence law */
  body.codemode #codebtn{display:block !important;bottom:240px;}
  #codebtn{transition:bottom .25s, opacity .25s;}
  body.kbopen #codebtn{opacity:1 !important;pointer-events:auto !important;bottom:250px !important;} /* on top of keyboard, tappable to close */
  /* the chat toggle stays — it is the way back out */
  /* my words, across his view */
  #solidbanner{position:fixed;top:76px;left:14px;max-width:72%;z-index:8;
    color:#ffe9a8;font:15px Georgia,serif;text-align:left;opacity:0;transition:opacity .6s;
    text-shadow:0 2px 10px #000;pointer-events:none;}
  #solidbanner.show{opacity:1;}
  #solidbanner b{color:#ffd700;}
  /* go: the collapsed link bar */
  #gobtn{position:fixed;right:58px;top:18px;width:28px;height:28px;border-radius:50%;
    background:rgba(20,14,6,0.5);border:1px solid #8a6a1c;color:#8a6a1c;z-index:6;cursor:pointer;
    padding:0;-webkit-tap-highlight-color:transparent;}
  #gobtn svg{width:14px;height:14px;display:block;margin:0 auto;}
  #gorow{position:fixed;top:14px;left:70px;right:100px;display:none;z-index:9;
    background:rgba(10,8,4,0.9);border:1px solid #8a6a1c;border-radius:12px;overflow:hidden;}
  #gorow.open{display:flex;}
  #goinput{flex:1;background:transparent;border:0;color:#ffe9a8;font:16px Georgia,serif;
    padding:9px 12px;outline:none;min-width:0;}
  #gosend{width:48px;background:transparent;border:0;color:#ffd700;font-size:15px;cursor:pointer;}
  #renderpanel{position:fixed;right:76px;bottom:246px;display:none;flex-direction:row;gap:10px;z-index:6;
    max-width:calc(100vw - 100px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 2px;}
  #renderpanel::-webkit-scrollbar{display:none;}
  #renderpanel.open{display:flex;}
  #renderpanel button{width:46px;height:46px;flex:0 0 auto;border-radius:50%;
    background:rgba(20,14,6,0.85);border:1px solid #8a6a1c;cursor:pointer;
    display:flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent;}
  #renderpanel button.sel{background:#d8a920;border-color:#d8a920;}
  #renderpanel button svg{width:24px;height:24px;display:block;}
  #render-btn svg{width:24px;height:24px;display:block;}
  /* MARK: COMMAND BAR — the line to punch in. EDIT: look, placement, voice. */

  #dpad button{pointer-events:auto;}
  #dpad-up{position:absolute;left:46px;top:0;width:46px;height:46px;border-radius:50%;}
  #dpad-down{position:absolute;left:46px;