/* juapi: lingke sidebar + password modal (ported) */
/* JS 初始化前保持旧版侧边栏可见，避免 head 脚本未跑完时侧栏被折成 0 宽 */
body:not(.juapi-sidebar-ready) .home-container .sidebar{width:17.5rem!important;min-width:17.5rem!important;max-width:17.5rem!important;flex-basis:17.5rem!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;overflow:hidden!important}
body:not(.juapi-sidebar-ready) .home-container .sidebar>:not(.sidebar-logo){opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body:not(.juapi-sidebar-ready) .sidebar-floating-collapse-btn{display:none!important}
.logo-collapse-btn{position:relative;z-index:3;width:2.25rem;height:2.25rem;flex-shrink:0;margin-left:auto;border:.0625rem solid rgba(255,255,255,.12);border-radius:50%;background:linear-gradient(180deg,#ffffff14,#ffffff05),#141920c2;color:#ffffffa3;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;padding:0;backdrop-filter:blur(.625rem) saturate(1.3);-webkit-backdrop-filter:blur(.625rem) saturate(1.3);box-shadow:inset 0 .0625rem #ffffff14,0 .5rem 1.25rem #00000047;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease,transform .22s ease}
.logo-collapse-btn-glow{position:absolute;inset:-45%;background:radial-gradient(circle at 58% 50%,rgba(0,202,224,.22),transparent 55%);opacity:0;pointer-events:none;transition:opacity .22s ease}
.logo-collapse-btn svg{position:relative;z-index:1;filter:drop-shadow(0 0 .375rem rgba(0,202,224,.2))}
.logo-collapse-icon-open{display:none}
.logo-collapse-btn:hover{transform:translateY(-.0625rem);color:var(--text-primary,#fff);border-color:#00cae066;background:radial-gradient(circle at 58% 50%,rgba(0,202,224,.2),transparent 62%),linear-gradient(180deg,#ffffff1f,#ffffff08),#10131acc;box-shadow:inset 0 .0625rem #ffffff24,0 .5rem 1.25rem #0000004d,0 0 1rem #00cae024}
.logo-collapse-btn:hover .logo-collapse-btn-glow{opacity:1}
.logo-collapse-btn:active{transform:scale(.95)}
html[data-theme=light] .logo-collapse-btn{background:linear-gradient(180deg,#ffffffdb,#fff9),#ffffffb8;border-color:#00000014;color:#0f141994;box-shadow:inset 0 .0625rem #ffffffe6,0 .375rem 1rem #0f172a1a}
body.sidebar-open .home-container .sidebar-logo{display:flex;align-items:center;justify-content:flex-start;padding:0 .85rem;box-sizing:border-box}
body.sidebar-open .home-container .sidebar-logo .logo-container{flex:1;min-width:0;justify-content:flex-start;padding:0 .7rem 0 .45rem}
.home-container .main-content{position:relative!important}
.home-container .main-content:has(.juapi-ppt-agent-host){overflow:hidden!important}
.juapi-ppt-agent-host{width:100%;height:100%;min-height:100%;position:absolute;inset:0;overflow:hidden;box-sizing:border-box;z-index:1}
.juapi-ppt-agent-host iframe{width:100%;height:100%;border:0;display:block;background:var(--bg-page,rgb(15,15,18))}
.home-container .main-content:has(.juapi-dsp-agent-host){overflow:hidden!important}
.juapi-dsp-agent-host{width:100%;height:100%;min-height:100%;position:absolute;inset:0;overflow:hidden;box-sizing:border-box;z-index:1}
body.juapi-sidebar-ready:not(.sidebar-open) .logo-collapse-icon-close{display:none!important}
body.juapi-sidebar-ready:not(.sidebar-open) .logo-collapse-icon-open{display:block!important}
body.juapi-sidebar-ready.sidebar-open .logo-collapse-icon-close{display:block}
body.juapi-sidebar-ready.sidebar-open .logo-collapse-icon-open{display:none}
body.juapi-sidebar-ready:not(.sidebar-open) .home-container .sidebar{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:transparent!important;box-shadow:none!important;width:0!important;min-width:0!important;max-width:0!important;flex-basis:0!important;overflow:hidden!important;pointer-events:none!important;border-right-width:0!important}
body.juapi-sidebar-ready:not(.sidebar-open) .home-container .sidebar>:not(.sidebar-logo){opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .18s ease,visibility 0s linear .18s!important}
body.juapi-sidebar-ready.sidebar-open .home-container .sidebar>:not(.sidebar-logo){opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:opacity .3s .15s ease,visibility 0s linear 0s!important}
body.juapi-sidebar-ready:not(.sidebar-open) .home-container .sidebar-logo{background:transparent!important;padding:0!important;pointer-events:none!important;height:auto!important;min-height:0!important;width:0!important;overflow:visible!important}
body.juapi-sidebar-ready:not(.sidebar-open) .home-container .sidebar-logo .logo-container,body.juapi-sidebar-ready:not(.sidebar-open) .home-container .sidebar-logo .logo-shine{display:none!important}
body.juapi-sidebar-ready:not(.sidebar-open) .home-container .sidebar-logo .logo-collapse-btn{display:none!important}
body.juapi-sidebar-ready.sidebar-open .home-container .sidebar-logo .logo-collapse-btn{display:inline-flex!important}
.sidebar-floating-collapse-btn{position:fixed;top:1.75rem;left:.85rem;z-index:1100;width:2.25rem;height:2.25rem;border:.0625rem solid rgba(255,255,255,.12);border-radius:50%;background:linear-gradient(180deg,#ffffff14,#ffffff05),#141920c2;color:#ffffffa3;display:none;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;padding:0;backdrop-filter:blur(.625rem) saturate(1.3);-webkit-backdrop-filter:blur(.625rem) saturate(1.3);box-shadow:inset 0 .0625rem #ffffff14,0 .5rem 1.25rem #00000047;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease,transform .22s ease,opacity .18s ease}
body.juapi-sidebar-ready:not(.sidebar-open) .sidebar-floating-collapse-btn{display:inline-flex!important}
body.juapi-sidebar-ready.sidebar-open .sidebar-floating-collapse-btn{display:none!important}
body.juapi-sidebar-ready .home-container .main-content{flex:1 1 auto!important;min-width:0!important;width:auto!important;transition:margin .46s cubic-bezier(.22,1,.36,1),padding .46s cubic-bezier(.22,1,.36,1)}
.sidebar-floating-collapse-btn .logo-collapse-btn-glow{position:absolute;inset:-45%;background:radial-gradient(circle at 58% 50%,rgba(0,202,224,.22),transparent 55%);opacity:0;pointer-events:none;transition:opacity .22s ease}
.sidebar-floating-collapse-btn svg{position:relative;z-index:1;filter:drop-shadow(0 0 .375rem rgba(0,202,224,.2))}
.sidebar-floating-collapse-btn:hover{transform:translateY(-.0625rem);color:var(--text-primary, #fff);border-color:#00cae066;background:radial-gradient(circle at 58% 50%,rgba(0,202,224,.2),transparent 62%),linear-gradient(180deg,#ffffff1f,#ffffff08),#10131acc;box-shadow:inset 0 .0625rem #ffffff24,0 .5rem 1.25rem #0000004d,0 0 1rem #00cae024}
.sidebar-floating-collapse-btn:hover .logo-collapse-btn-glow{opacity:1}
.sidebar-floating-collapse-btn:active{transform:scale(.95)}
html[data-theme=light] .sidebar-floating-collapse-btn{background:linear-gradient(180deg,#ffffffdb,#fff9),#ffffffb8;border-color:#00000014;color:#0f141994;box-shadow:inset 0 .0625rem #ffffffe6,0 .375rem 1rem #0f172a1a}
html[data-theme=light] .sidebar-floating-collapse-btn:hover{color:#0f1419db;border-color:#00a0be47;background:radial-gradient(circle at 58% 50%,rgba(0,180,210,.16),transparent 62%),#fffffff5;box-shadow:inset 0 .0625rem #fff,0 .5rem 1.125rem #0f172a24,0 0 .875rem #00b4d21a}
body.juapi-sidebar-ready:not(.sidebar-open) .home-container .left-bottom-btns{display:none!important}
@media(min-width:451px){body.juapi-sidebar-ready:not(.sidebar-open) .top-left-actions{left:3.6rem!important}body.juapi-sidebar-ready:not(.sidebar-open) .history-panel{left:3.6rem!important}}
@media(min-width:451px){body.juapi-sidebar-ready .home-container .sidebar{width:17.5rem!important;min-width:0!important;flex-shrink:0!important;transition:width .46s cubic-bezier(.22,1,.36,1),background .36s ease,border-color .32s ease,backdrop-filter .3s ease,box-shadow .36s ease!important}body.juapi-sidebar-ready:not(.sidebar-open) .home-container .sidebar{width:0!important;min-width:0!important;max-width:0!important;flex-basis:0!important;overflow:hidden!important}body.juapi-sidebar-ready:not(.sidebar-open) .home-container.home-container--wuxianhuabu .sidebar{position:fixed!important;width:0!important;min-width:0!important;max-width:0!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:transparent!important;box-shadow:none!important;overflow:hidden!important}body.juapi-sidebar-ready:not(.sidebar-open) .home-container--agent .renwu-panel{left:4rem!important}}
@media(max-width:450px){.home-container,.home-container>.main-content{height:100vh!important;height:100dvh!important}.sidebar-collapse-btn{display:none!important}.mobile-sidebar-mask{display:block;position:fixed;inset:0;background:#00000080;z-index:190;opacity:0;pointer-events:none;transition:opacity .25s ease}body.juapi-sidebar-ready.sidebar-open .mobile-sidebar-mask{opacity:1;pointer-events:auto}.home-container .sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;height:100%!important;z-index:200!important;flex:0 0 auto!important;transition:width .38s cubic-bezier(.22,1,.36,1),background .3s ease,border-color .3s ease,backdrop-filter .3s ease,box-shadow .3s ease!important}body.juapi-sidebar-ready.sidebar-open .home-container .sidebar{width:20rem!important;max-width:86vw!important;box-shadow:.375rem 0 1.5rem #00000073!important}body.juapi-sidebar-ready:not(.sidebar-open) .home-container .sidebar{width:0!important;min-width:0!important;max-width:0!important;flex-basis:0!important;overflow:hidden!important}body.juapi-sidebar-ready:not(.sidebar-open) .home-container.home-container--wuxianhuabu .sidebar{width:0!important;min-width:0!important;max-width:0!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:transparent!important;box-shadow:none!important;overflow:hidden!important}.home-container .main-content{width:100%!important;min-width:0!important;flex:1 1 100%!important}.right-action-buttons-group{top:.75rem!important;right:.75rem!important}.renwu-panel{top:.75rem!important;left:4rem!important;z-index:170!important}.sora2-container,.chat-container{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}.scroll-container{overflow-x:hidden!important;padding-left:.5rem!important;padding-right:.5rem!important}.scroll-content{width:100%!important;max-width:100%!important;min-width:0!important}.dialogue-item{max-width:100%!important}.bottom-input-wrapper{position:absolute!important;left:0!important;right:0!important;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))!important;transform:none!important;width:100%!important;padding:0 .5rem!important;box-sizing:border-box!important;flex-direction:column!important;align-items:stretch!important;gap:.5rem!important}.bottom-input-wrapper>*{max-width:100%!important}.bottom-input-wrapper .bottom-container{width:100%!important;min-width:0!important;max-width:100%!important;border-radius:.875rem!important}.role-selector-absolute,.character-selector-absolute,.bottom-left-mode-actions,.left-bottom-btns{display:none!important}.history-panel{top:1.75rem!important;left:4rem!important}}

/* juapi: port lingke Chat/TongYi portrait rules (unscoped) so current Chat-DpM / TongYi-BHCx chunks also adapt */
@media(max-width:450px){
  html,body{width:100%;max-width:100vw;overflow-x:hidden;height:100%;height:100dvh}
  #app{width:100%;max-width:100vw;min-height:100%;min-height:100dvh;overflow-x:hidden}
  .home-container .main-content>.chat-container,
  .home-container .main-content>.sora2-container,
  .chat-duo-wrapper,
  .chat-container .main-content{width:100%!important;max-width:100%!important;min-width:0!important;height:100%!important}
  .chat-messages-area,.sora2-container .scroll-container{max-width:100%!important;overflow-x:hidden!important}
  .top-model-info{left:50%!important;transform:translateX(-50%)!important;width:calc(100% - 1rem)!important;max-width:100%!important;box-sizing:border-box!important}
  /* Extra bottom clearance so send/actions stay above iPhone home-indicator swipe zone */
  .bottom-input-wrapper{max-width:100%!important;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))!important}
  .bottom-input-wrapper .bottom-container,
  .bottom-container{width:100%!important;min-width:0!important;max-width:100%!important;min-height:10.5rem!important;box-sizing:border-box!important}
  .mobile-action-entry{bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))!important}
  .mobile-action-entry.has-start-input{bottom:calc(16.5rem + env(safe-area-inset-bottom,0px))!important}
  .chat-bottom-left-mode-actions,
  .bottom-inline-mode-actions,
  .bottom-external-mode-actions,
  .model-selector-absolute{display:none!important}
  .mobile-history-entry{display:inline-flex!important}
  .top-left-actions{left:4rem!important}
  .text-container{flex-wrap:wrap!important;align-items:flex-start!important}
  .text-container .prompt-action-btn{display:flex!important}
  .tts-juese-absolute{z-index:40!important}
  .tts-juese-absolute .selected-panel{display:none!important}
  .tts-juese-absolute .action-btn{width:2.25rem!important;height:2.25rem!important}
  .task-dialog-panel{left:1rem!important;width:calc(100% - 2rem)!important;max-width:none!important}
}
@media(max-width:900px){
  .mobile-history-entry{display:inline-flex!important}
  .task-dialog-panel{left:1rem!important;width:calc(100% - 2rem)!important;max-height:calc(100% - 4.75rem)!important}
  .task-dialog-toolbar{flex-direction:column!important}
}

.mima-overlay{--mm-bg-overlay: rgba(0, 0, 0, .55);--mm-bg-container: #16181d;--mm-bg-elev-1: #1d2026;--mm-bg-elev-2: #21252c;--mm-bg-input: #1a1d23;--mm-border: #2a2e36;--mm-border-strong: #3a3f48;--mm-border-focus: #06b6d4;--mm-text-primary: #f5f6f8;--mm-text-secondary: #9aa0a8;--mm-text-muted: #6b7079;--mm-accent: #06b6d4;--mm-accent-hover: #22d3ee;--mm-accent-soft: rgba(6, 182, 212, .12)}
html[data-theme=light] .mima-overlay{--mm-bg-overlay: rgba(15, 23, 42, .4);--mm-bg-container: #ffffff;--mm-bg-elev-1: #f6f7f9;--mm-bg-elev-2: #eef0f3;--mm-bg-input: #ffffff;--mm-border: #d8dce3;--mm-border-strong: #a8b0bd;--mm-border-focus: #0891b2;--mm-text-primary: #0f172a;--mm-text-secondary: #475569;--mm-text-muted: #64748b;--mm-accent: #0891b2;--mm-accent-hover: #0e7490;--mm-accent-soft: rgba(8, 145, 178, .1)}
.mima-overlay{position:fixed;inset:0;background:var(--mm-bg-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1.25rem}
.mima-container{position:relative;background:var(--mm-bg-container);border:1px solid var(--mm-border);border-radius:.75rem;box-shadow:0 24px 56px #00000073;max-width:26rem;width:100%;display:flex;flex-direction:column;overflow:hidden}
html[data-theme=light] .mima-container{box-shadow:0 1px 2px #0f172a0a,0 24px 48px -8px #0f172a38,0 0 0 1px #0f172a0a}
.mima-close{position:absolute;top:.875rem;right:.875rem;width:2rem;height:2rem;border-radius:.375rem;border:1px solid transparent;background:transparent;color:var(--mm-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease,color .15s ease;z-index:10}
.mima-close:hover{background:var(--mm-bg-elev-1);border-color:var(--mm-border);color:var(--mm-text-primary)}
.mima-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--mm-border);flex-shrink:0}
.mima-icon-wrapper{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:.5rem;background:var(--mm-accent-soft);color:var(--mm-accent);display:flex;align-items:center;justify-content:center}
.mima-header-text{min-width:0;flex:1}
.mima-title{font-size:1.0625rem;font-weight:600;color:var(--mm-text-primary);margin:0 0 .125rem;letter-spacing:-.01em;line-height:1.3}
.mima-subtitle{font-size:.75rem;color:var(--mm-text-secondary);margin:0;line-height:1.5}
.mima-body{padding:1.25rem;flex:1}
.mima-form{display:flex;flex-direction:column;gap:1rem}
.mima-field{display:flex;flex-direction:column;gap:.375rem}
.mima-label{font-size:.8125rem;font-weight:500;color:var(--mm-text-primary);letter-spacing:-.005em}
.mima-input-wrapper{position:relative;display:flex;align-items:center}
.mima-input{width:100%;height:2.5rem;padding:0 2.5rem 0 .75rem;background:var(--mm-bg-input);border:1px solid var(--mm-border);border-radius:.4375rem;color:var(--mm-text-primary);font-size:.875rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.mima-input::placeholder{color:var(--mm-text-muted)}
.mima-input:focus{border-color:var(--mm-border-focus);box-shadow:0 0 0 3px var(--mm-accent-soft)}
.mima-eye-btn{position:absolute;right:.5rem;width:1.75rem;height:1.75rem;border-radius:.25rem;border:none;background:transparent;color:var(--mm-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease}
.mima-eye-btn:hover{color:var(--mm-text-secondary)}
.mima-hint{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem;background:var(--mm-bg-elev-1);border:1px solid var(--mm-border);border-radius:.375rem;color:var(--mm-text-muted);font-size:.6875rem;line-height:1.5}
.mima-hint svg{flex-shrink:0;opacity:.7}
.mima-footer{padding:.75rem 1.25rem 1.125rem;display:flex;gap:.5rem;border-top:1px solid var(--mm-border);flex-shrink:0}
.mima-btn{flex:1;height:2.5rem;padding:0 1rem;border-radius:.4375rem;border:1px solid transparent;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease;display:flex;align-items:center;justify-content:center;gap:.375rem}
.mima-btn:disabled{opacity:.6;cursor:not-allowed}
.mima-btn.primary{background:var(--mm-accent);border-color:var(--mm-accent);color:#fff}
.mima-btn.primary:hover:not(:disabled){background:var(--mm-accent-hover);border-color:var(--mm-accent-hover)}
.mima-btn.secondary{background:transparent;border-color:var(--mm-border);color:var(--mm-text-primary)}
.mima-btn.secondary:hover{background:var(--mm-bg-elev-1);border-color:var(--mm-border-strong)}
.mima-modal-fade-enter-active,.mima-modal-fade-leave-active{transition:opacity .18s ease}
.mima-modal-fade-enter-active .mima-container,.mima-modal-fade-leave-active .mima-container{transition:transform .18s ease,opacity .18s ease}
.mima-modal-fade-enter-from,.mima-modal-fade-leave-to{opacity:0}
.mima-modal-fade-enter-from .mima-container,.mima-modal-fade-leave-to .mima-container{transform:translateY(.5rem);opacity:0}
@media(max-width:30rem){.mima-container{max-width:calc(100% - 1rem);border-radius:.625rem}.mima-header{padding:1rem 1.125rem .875rem}.mima-body{padding:1rem 1.125rem}.mima-footer{padding:.625rem 1.125rem 1rem}}
