:root{color-scheme:dark;background:#10131e}html,body{height:100%;overflow:hidden;background:#10131e}#application-canvas{position:fixed!important;inset:0;width:100%!important;height:100%!important;margin:0!important;z-index:0}.world-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#0c102be0,transparent 58%),linear-gradient(0deg,#0b102aaa,transparent 32%);z-index:1}.world-top{position:fixed;inset:20px 24px auto;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:30}.world-brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:850;letter-spacing:3px}.world-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid #a2a6ff80;border-radius:14px;color:#a8f1ed;background:#121931d9;font-size:28px}.world-brand small{display:block;font-weight:500;font-size:9px;letter-spacing:3px;margin-top:5px;color:#b1bfcd}.world-nav{display:flex;gap:8px;align-items:center}.world-nav button,.world-nav select{border:1px solid #b1c2eb2e;border-radius:10px;padding:11px 14px;background:#121a2ee8;color:#e3edff;font-size:12px}.world-nav button:hover{background:#2b3d62}.world-nav #worldPanelToggle{background:#b2ebdc;color:#142536;border-color:#b2ebdc;font-weight:750}.world-copy{position:fixed;left:5vw;top:29%;max-width:min(38vw,510px);z-index:2;pointer-events:none}.world-eyebrow{font-size:10px;color:#9be4d8;letter-spacing:4px;font-weight:800}.world-copy h1{font-size:clamp(28px,4.3vw,68px);font-weight:750;line-height:1.17;letter-spacing:-2px;margin:20px 0}.world-copy p{font-size:14px;line-height:1.9;color:#c2ccdf}.world-copy #worldPortrait{width:92px;height:110px;object-fit:cover;border-radius:18px;box-shadow:0 14px 45px #0006;margin-top:15px}.world-copy #worldLastReply{font-size:13px;background:#141c32ce;border-left:2px solid #a8eadd;padding:12px 16px;border-radius:0 10px 10px 0;max-height:150px;overflow:hidden}.world-copy #worldLastReply:empty{display:none}.world-bottom{position:fixed;left:24px;bottom:22px;z-index:2;color:#b7c4d7;font-size:11px;line-height:1.9;max-width:42vw}.world-status{color:#e1c298}.world-status.ready{color:#97e0c4}.load-warning{color:#eccb9b}#roleplayPanel{position:fixed;right:24px;top:87px;bottom:24px;width:min(540px,47vw);z-index:20;border:1px solid #a0afd12c;border-radius:22px;background:#10182af2;box-shadow:0 22px 90px #0005;overflow:hidden;display:flex;flex-direction:column}#roleplayPanel .shell{min-height:0;height:100%;width:100%;padding:0;display:flex;flex-direction:column;max-width:none}#roleplayPanel .header-fold{margin:0;flex-shrink:0;padding:8px 18px}#roleplayPanel .header-fold>summary{display:none}#roleplayPanel .topbar{height:44px;border-bottom:1px solid #b8c5dc17}#roleplayPanel .brand-logo,#roleplayPanel .brand small{display:none}#roleplayPanel .brand b{font-size:11px;letter-spacing:2px;color:#aab9cf}#roleplayPanel .header-actions{gap:5px}#roleplayPanel .classic-link{font-size:10px;padding:7px 9px}#roleplayPanel .selection{overflow:auto;padding:22px;flex:1;min-height:0}#roleplayPanel .eyebrow{font-size:9px;letter-spacing:2px}#roleplayPanel .selection h1{font-size:29px;letter-spacing:-1px;margin:12px 0 8px}#roleplayPanel .subtitle{font-size:12px;line-height:1.7;margin-bottom:19px}#roleplayPanel .controls{flex-wrap:wrap;gap:8px}#roleplayPanel .searchbox{flex:1 0 100%;max-width:none}#roleplayPanel .searchbox input{height:38px;font-size:12px}#roleplayPanel .controls select{height:33px;flex:1;min-width:0;font-size:11px}#roleplayPanel .counter{font-size:10px;margin:16px 0 12px}#roleplayPanel .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#roleplayPanel .character{min-height:190px;border-radius:13px;content-visibility:auto;contain-intrinsic-size:140px 200px}#roleplayPanel .character-portrait{height:115px;min-height:115px}#roleplayPanel .character-info{padding:10px}#roleplayPanel .character h3{font-size:12px}#roleplayPanel .character p{font-size:10px}#roleplayPanel .character .tag{font-size:9px}#roleplayPanel .chat{width:100%;max-width:none;height:auto;min-height:0;margin:0;border:none;border-radius:0;flex:1;background:transparent}#roleplayPanel .chat-top{padding:12px 16px}#roleplayPanel .messages{padding:18px 16px}#roleplayPanel .bubble{font-size:13px;line-height:1.85}#roleplayPanel .bottom{padding:10px 14px 14px}#roleplayPanel .footer-fold{margin:0 0 8px}#roleplayPanel .compose-meta{flex-wrap:wrap;gap:8px}#roleplayPanel #prompt{font-size:13px}.inference-controls{display:flex;gap:12px;align-items:center;padding:7px 2px;color:#acbdd4;font-size:10px;flex-wrap:wrap}.inference-controls select{font-size:10px;border:1px solid #42506a;border-radius:6px;background:#1d2940;color:#dbe6fb;padding:3px}.inference-controls #backendState{max-width:115px}#worldStatusRefresh{cursor:pointer;color:#95d9c9;background:none;border:none;font-size:10px}body.world-explore #roleplayPanel{display:none}body.world-explore .world-copy{opacity:0}body.world-explore .world-shade{opacity:.25}.upload-dialog{z-index:10000}.footnote.reply-pending{color:#a5ddda}#application-splash-wrapper{pointer-events:none;z-index:1!important}#application-splash img{max-width:180px}
@media(max-width:900px){.world-copy{left:24px;max-width:35vw}.world-copy h1{font-size:32px}.world-nav button{padding:9px 10px}#roleplayPanel{width:56vw}.world-brand{font-size:14px}.world-brand small{font-size:8px}.world-bottom{max-width:35vw}}

#worldCharacterName>span{display:block;white-space:nowrap}#worldBgm{display:none}
:root{--world-safe-top:env(safe-area-inset-top,0px);--world-safe-bottom:env(safe-area-inset-bottom,0px)}
body.world-face-view .world-copy,body.world-reverse-view .world-copy{opacity:0}
body.world-face-view .world-shade,body.world-reverse-view .world-shade{opacity:.25}
.world-top{padding-right:84px}
.world-menu-toggle{position:fixed;right:24px;top:20px;z-index:50;min-height:38px;padding:9px 12px;border:1px solid #a9bfd145;border-radius:10px;background:#172238ed;color:#e3edff;font-size:11px}
body.world-menu-hidden .world-top{display:none}
body.world-menu-hidden .world-menu-toggle{top:auto;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}
#worldChatCompact{flex:0 0 auto;align-self:center;min-height:36px;padding:4px 7px;border:1px solid #65749a70;border-radius:8px;background:#2a3857;color:#d6e9ee;font-size:11px;white-space:nowrap}
#roleplayPanel #prompt{min-width:0}
body.chat-open.world-chat-compact #roleplayPanel{height:auto;bottom:auto}
body.chat-open.world-chat-compact #roleplayPanel .shell{height:auto;min-height:0}
body.chat-open.world-chat-compact #roleplayPanel .chat{flex:0 0 auto}
body.chat-open.world-chat-compact #roleplayPanel .header-fold,
body.chat-open.world-chat-compact #chatHeaderFold,
body.chat-open.world-chat-compact #messages,
body.chat-open.world-chat-compact #footerFold,
body.chat-open.world-chat-compact .inference-controls,
body.chat-open.world-chat-compact #imagePreview,
body.chat-open.world-chat-compact #chatForm .attach,
body.chat-open.world-chat-compact #chatForm .mic{display:none!important}
body.chat-open.world-chat-compact #roleplayPanel .bottom{padding:5px;border-top:0}
body.chat-open.world-chat-compact #chatForm{padding:4px;gap:6px}
body.chat-open.world-chat-compact #prompt{max-height:72px}
#plymeta-touchpad{position:fixed;left:18px;bottom:56px;width:112px;height:112px;border-radius:50%;background:#45627257;border:1px solid #c5e3ee40;z-index:35;touch-action:none;display:flex;align-items:center;justify-content:center}
#plymeta-touchknob{width:44px;height:44px;border-radius:50%;background:#d5edf066;border:1px solid #e6f7fa66;pointer-events:none}
#plymeta-camera-controls{position:fixed;right:18px;bottom:48px;z-index:35;display:grid;gap:7px}
#plymeta-camera-controls button{min-height:42px;min-width:105px;padding:9px 11px;border:1px solid #c6d9f040;border-radius:12px;background:#111e32ed;color:#e1e9f3;font-size:12px;font-weight:650;touch-action:manipulation}
#plymeta-camera-controls button[aria-pressed="true"]{background:#275d63;border-color:#91cfc7}
#plymeta-camera-controls #plymeta-jump{background:#99ddcf;color:#102b35;border-color:#b6eee2;font-weight:800;min-height:46px}
#plymeta-camera-controls #plymeta-jump:disabled{opacity:.55;cursor:default}
@media(max-width:900px),(max-width:1100px) and (pointer:coarse){
  .world-top{inset:calc(env(safe-area-inset-top,0px) + 8px) 85px auto 10px;display:block;padding:0;z-index:40}
  .world-brand{display:none}
  .world-copy{display:none;left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));top:var(--world-reply-top,180px);width:auto;max-width:none;z-index:12}
  body.world-has-reply .world-copy{display:block}
  body.world-explore .world-copy,body.world-face-view .world-copy,body.world-reverse-view .world-copy{visibility:hidden}
  .world-copy .world-eyebrow,.world-copy #worldCharacterSeries,.world-copy #worldPortrait{display:none}
  .world-copy #worldCharacterName{font-size:13px;line-height:1.4;letter-spacing:0;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .world-copy #worldLastReply{margin:0;padding:10px 12px;font-size:13px;line-height:1.7;max-height:var(--world-reply-max-height,224px);overflow-y:auto;overflow-wrap:anywhere;white-space:pre-wrap;pointer-events:auto;overscroll-behavior:contain}
  .world-nav{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-start;max-width:none}
  .world-nav button,.world-nav select{min-height:36px;font-size:11px;padding:7px 9px;border-radius:9px}
  .world-nav select{max-width:70px}
  .world-menu-toggle{top:calc(env(safe-area-inset-top,0px) + 8px);right:10px;min-height:36px;padding:7px 9px}
  #roleplayPanel{top:var(--world-panel-top,100px);right:8px;left:8px;bottom:auto;width:auto;height:var(--world-panel-height,45dvh);border-radius:14px}
  #roleplayPanel .shell{padding:0;min-height:0}
  #roleplayPanel .header-fold{padding:3px 10px}
  #roleplayPanel .topbar{height:38px;min-height:0;padding:3px 0}
  body.chat-open #roleplayPanel #headerFold{display:none}
  #roleplayPanel .brand b{font-size:9px}
  #roleplayPanel .classic-link{font-size:10px;padding:6px 8px}
  #roleplayPanel .selection{padding:15px;overscroll-behavior:contain}
  #roleplayPanel .selection h1{font-size:24px;margin:8px 0}
  #roleplayPanel .subtitle{font-size:11px;margin-bottom:12px}
  #roleplayPanel .counter{margin:10px 0}
  #roleplayPanel .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #roleplayPanel .character{min-height:165px}
  #roleplayPanel .character-portrait{height:95px;min-height:95px}
  #roleplayPanel .chat-top{padding:7px 10px}
  #roleplayPanel .messages{padding:10px;gap:10px;overscroll-behavior:contain}
  #roleplayPanel .bottom{padding:5px 7px;flex-shrink:0}
  #roleplayPanel .inference-controls{padding:4px 0;gap:6px;font-size:9px}
  #roleplayPanel #prompt{font-size:16px;min-height:34px}
  #roleplayPanel #chatForm{gap:5px;padding:5px;align-items:center}
  #roleplayPanel .attach{padding:2px 4px}
  #roleplayPanel .footer-fold{margin-bottom:3px}
  .world-bottom{left:12px;bottom:8px;max-width:calc(100% - 145px);font-size:9px}
  .world-bottom .world-help{display:none}
  body.world-explore .world-bottom .world-help{display:block}
  #plymeta-touchpad{left:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 45px);width:92px;height:92px}
  #plymeta-camera-controls{right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 38px)}
}
@media(max-width:900px) and (max-height:500px),(max-width:1100px) and (max-height:500px) and (pointer:coarse){
  #plymeta-touchpad{width:64px;height:64px;bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}
  #plymeta-touchknob{width:32px;height:32px}
  #plymeta-camera-controls{display:flex;bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}
  #plymeta-camera-controls button{min-height:36px;min-width:100px;font-size:11px;padding:7px}
  #plymeta-camera-controls #plymeta-jump{min-height:40px}
}
body.world-menu-hidden #plymeta-camera-controls{bottom:calc(env(safe-area-inset-bottom,0px) + 58px)}
#application-canvas,#plymeta-camera-controls{touch-action:none}
#plymeta-touchpad,#plymeta-camera-controls{-webkit-user-select:none;user-select:none}
@media(max-width:900px),(max-width:1100px) and (pointer:coarse){
  .world-menu-toggle,#plymeta-camera-controls button,#plymeta-camera-controls #plymeta-jump{box-sizing:border-box;width:72px;min-width:72px;height:36px;min-height:36px;padding:7px 9px;font-size:11px;line-height:20px;font-weight:650;letter-spacing:0;border-radius:10px;white-space:nowrap}
  #plymeta-camera-controls{gap:6px}
}
.pwa-install{position:fixed;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:80;max-width:430px;margin:auto;padding:16px;border:1px solid #91cfc76b;border-radius:16px;background:#112237f5;box-shadow:0 12px 60px #0008;color:#e1edf5}
.pwa-install[hidden]{display:none}
.pwa-install header{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:750}
.pwa-install header img{width:38px;height:38px;border-radius:10px}
.pwa-install p{font-size:12px;line-height:1.7;color:#bed0df;white-space:pre-line;margin:10px 0}
.pwa-install .pwa-actions{display:flex;justify-content:flex-end;gap:8px}
.pwa-install button{min-height:36px;padding:8px 14px;border:1px solid #9bb6c85c;border-radius:9px;background:#243c54;color:#e2edf7;font-size:12px}
.pwa-install #pwaInstallAction{background:#a1ded0;color:#102c35;font-weight:750}
.pwa-install #pwaInstallAction[hidden]{display:none}
