.chat-page-body{
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 18%,rgba(255,79,135,.15),transparent 30%),
    radial-gradient(circle at 84% 76%,rgba(17,16,15,.08),transparent 28%),
    var(--paper);
}
.chat-page-header{
  height:72px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 3vw;
  border-bottom:3px solid var(--ink);
  background:rgba(244,239,230,.94);
  backdrop-filter:blur(12px);
  position:relative;
  z-index:20;
}
.chat-page-brand{display:flex;align-items:center;gap:12px;font:24px/1 "Archivo Black",sans-serif;width:max-content}
.chat-page-brand img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center;border:2px solid var(--ink);transform:scale(1.03)}
.chat-page-status{display:flex;gap:10px;align-items:center;font-size:10px;font-weight:700;letter-spacing:.08em}
.chat-page-status b{background:var(--pink);border:1.5px solid var(--ink);padding:6px 8px}
.live-dot{width:9px;height:9px;border-radius:50%;background:#9bff77;border:1.5px solid var(--ink);box-shadow:0 0 0 4px rgba(155,255,119,.18)}
.chat-home-link{justify-self:end;border:2px solid var(--ink);padding:9px 12px;font-size:10px;font-weight:700;background:var(--paper);box-shadow:3px 3px 0 var(--ink)}
.chat-page-main{min-height:calc(100dvh - 72px);display:grid;place-items:center;padding:18px 24px 34px}
.dedicated-chat-shell{
  width:min(1060px,92vw);
  height:min(720px,calc(100dvh - 122px));
  min-height:520px;
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  align-items:stretch;
  border:3px solid var(--ink);
  box-shadow:12px 12px 0 var(--ink);
  background:var(--paper);
  overflow:hidden;
}
.dedicated-profile{background:var(--pink);border-right:3px solid var(--ink);padding:24px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;overflow-x:hidden;min-height:0;position:relative}
.dedicated-profile::after{content:"JEV";position:absolute;left:-12px;bottom:-20px;font:112px/1 "Archivo Black";color:rgba(17,16,15,.06);pointer-events:none}
.dedicated-avatar{width:min(190px,100%);max-width:100%;aspect-ratio:1;border-radius:50%;border:3px solid var(--ink);overflow:hidden;box-shadow:7px 7px 0 var(--ink);background:var(--paper);position:relative;z-index:1;flex:0 0 auto;margin:0 auto}
.dedicated-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.055)}
.dedicated-profile-copy{position:relative;z-index:1}.dedicated-profile-copy h1{font:56px/.8 "Archivo Black";margin:8px 0 14px}.dedicated-profile-copy p{font-size:11px;line-height:1.5;margin:0}
.compact-meter{margin-top:0;position:relative;z-index:1}
.router-card{border:2px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink);padding:12px;position:relative;z-index:1;margin-top:auto}
.router-label{font-size:9px;font-weight:700;letter-spacing:.1em;display:block;margin-bottom:9px;color:var(--muted)}
.router-row{display:flex;justify-content:space-between;gap:8px;border-top:1px solid rgba(17,16,15,.2);padding:7px 0;font-size:8px}.router-row:first-of-type{border-top:0}.router-row b{font-family:"Archivo Black"}.router-row span{text-align:right}
.dedicated-chat-window{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto auto;background:var(--paper);overflow:hidden}
.dedicated-chat-top{min-height:48px}.top-actions{display:flex;align-items:center;gap:8px}.provider-badge{border:1px solid var(--pink);color:var(--pink)!important;padding:6px 8px!important;font-size:8px!important;white-space:nowrap}
.dedicated-chat-log{min-height:0;max-height:none;height:100%;padding:20px 20px 28px;gap:14px;overflow-y:auto;overflow-x:hidden;align-content:start;overscroll-behavior:contain}
.dedicated-chat-log .msg{max-width:82%;flex:0 0 auto;margin-right:34px}.dedicated-chat-log .message-content,.dedicated-chat-log .stream-content{margin-top:5px;line-height:1.55;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.dedicated-controls{padding:10px 14px;border-top:2px solid var(--ink);background:#ece4d7;display:flex;align-items:center;gap:9px}.dedicated-controls .chat-queue{margin-left:auto;font-size:8px;font-weight:700;letter-spacing:.08em}
.dedicated-quick{padding:9px 14px;background:var(--paper);border-top:1px solid var(--ink)}
.dedicated-form{min-height:58px;margin:12px 14px 0;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:var(--paper);position:relative;z-index:3}.dedicated-form textarea{border:0;outline:0;resize:none;background:transparent;padding:17px 12px;font:700 13px/1.45 "IBM Plex Mono";min-width:0;max-height:110px;overflow-y:auto}.dedicated-form button{min-width:86px}
.dedicated-foot{padding:10px 14px 16px}
.code-block{margin:12px 0 4px;border:2px solid var(--ink);background:#11100f;color:#f4efe6;box-shadow:4px 4px 0 var(--pink);overflow:hidden}
.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 9px;border-bottom:1px solid #5d5854;background:#24211f;color:#f4efe6;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.copy-code{border:1px solid var(--pink);background:transparent;color:var(--pink);font:700 8px "IBM Plex Mono";padding:5px 7px;cursor:pointer}.copy-code:hover{background:var(--pink);color:var(--ink)}
.code-block pre{margin:0;padding:13px;overflow:auto;max-height:300px;font:12px/1.55 "IBM Plex Mono",monospace;white-space:pre}.code-block code{font:inherit;color:inherit}
.message-text-segment{white-space:pre-wrap}.inline-code{background:#e5dcd0;border:1px solid var(--ink);padding:1px 4px;font-family:"IBM Plex Mono",monospace}
.route-flash{animation:routeFlash .35s ease}@keyframes routeFlash{50%{transform:translateY(-2px)}}
@media(max-width:850px){
  .chat-page-body{overflow:auto}.chat-page-header{grid-template-columns:1fr auto}.chat-page-status{display:none}.chat-page-main{padding:14px;place-items:start center}.dedicated-chat-shell{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 100px);width:100%;box-shadow:7px 7px 0 var(--ink)}.dedicated-profile{display:none}.dedicated-chat-log{height:58vh;min-height:360px}.chat-home-link{font-size:9px}.dedicated-chat-log .msg{max-width:92%}
}
@media(max-width:520px){.chat-page-header{padding:0 14px;height:62px}.chat-page-brand img{width:36px;height:36px}.chat-page-main{min-height:calc(100vh - 62px);padding:10px}.dedicated-chat-shell{border-width:2px}.provider-badge{display:none}.dedicated-quick{overflow-x:auto;flex-wrap:nowrap}.dedicated-quick button{white-space:nowrap}.dedicated-controls{flex-wrap:wrap}.dedicated-controls .chat-queue{width:100%;margin-left:0}.dedicated-form button{min-width:70px}}


/* v1.4 header actions + dark theme */
.chat-header-actions{justify-self:end;display:flex;align-items:center;gap:10px}
html[data-theme="dark"] .chat-page-body{
  background:radial-gradient(circle at 14% 18%,rgba(255,79,135,.13),transparent 30%),radial-gradient(circle at 84% 76%,rgba(255,255,255,.035),transparent 28%),var(--paper);
}
html[data-theme="dark"] .chat-page-header{background:rgba(13,12,11,.94)}
html[data-theme="dark"] .dedicated-profile::after{color:rgba(255,255,255,.055)}
html[data-theme="dark"] .router-row{border-top-color:rgba(244,239,230,.18)}
html[data-theme="dark"] .dedicated-controls{background:#191614}
html[data-theme="dark"] .inline-code{background:#25201d;color:var(--ink)}
html[data-theme="dark"] .dedicated-chat-log{background-image:linear-gradient(rgba(244,239,230,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(244,239,230,.035) 1px,transparent 1px)}
html[data-theme="dark"] .dedicated-form textarea{color:var(--ink)}
html[data-theme="dark"] .dedicated-form textarea::placeholder{color:#8d837c}
html[data-theme="dark"] .chat-home-link{background:#171412}
html[data-theme="dark"] .router-card{background:#151311}
html[data-theme="dark"] .dedicated-chat-window{background:var(--paper)}
@media(max-width:850px){.chat-header-actions{gap:7px}}
@media(max-width:520px){.chat-header-actions .theme-toggle{padding:7px}.chat-header-actions .theme-toggle>span,.chat-header-actions .theme-toggle>b{display:none}.chat-home-link{padding:8px 9px}}


/* v1.4.2 chat usability */
.engine-card{margin-top:auto}.engine-card .engine-state{display:flex;align-items:center;gap:8px;padding:5px 0 8px;font-size:10px}.engine-card p{margin:0;color:var(--muted);font-size:8px;line-height:1.45}.engine-card .live-dot{flex:0 0 auto}
.msg-copy{position:absolute;right:-34px;top:2px;width:27px;height:27px;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;box-shadow:2px 2px 0 var(--ink);z-index:5}.msg-copy:hover{background:var(--pink)}.msg-copy svg{width:13px;height:13px;display:block}.msg-copy.is-copied{background:var(--pink)}
.code-head{position:sticky;top:0;z-index:2}.copy-code{display:flex;align-items:center;gap:5px}.copy-code svg{width:11px;height:11px;display:block}
.dedicated-chat-log{scrollbar-gutter:stable}.dedicated-form textarea{display:block;width:100%}.dedicated-form:focus-within{box-shadow:4px 4px 0 var(--pink)}
html[data-theme="dark"] .msg-copy{background:#171412;color:var(--ink)}html[data-theme="dark"] .msg-copy:hover,html[data-theme="dark"] .msg-copy.is-copied{background:var(--pink);color:#11100f}
@media(max-width:850px){.dedicated-chat-shell{height:calc(100dvh - 96px);min-height:540px}.dedicated-chat-log{height:auto;min-height:0}.dedicated-form{margin:10px 10px 0}}
@media(max-width:520px){.dedicated-chat-shell{height:calc(100dvh - 82px);min-height:500px}.dedicated-chat-log .msg{margin-right:28px}.msg-copy{right:-29px;width:24px;height:24px}.dedicated-form{margin:8px 8px 0}}
