:root{--bg:#0b0b0c;--panel:#141416;--panel2:#1c1c1f;--line:#2a2a2e;--text:#ececf1;--muted:#8e8e98;--accent:#e8e8ea;--user:#26262a;--ok:#22c55e;--warn:#f59e0b;--err:#ef4444;--link:#7cb4ff;--r:18px}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Vazirmatn,system-ui,-apple-system,Segoe UI,Tahoma,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
[hidden]{display:none!important}
.muted{color:var(--muted)}
/* login */
.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px;text-align:center}
.login-logo{font-size:34px}.login-card h1{font-size:20px;margin:6px 0 18px}
.login-card input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;margin-bottom:10px}
.login-card button{width:100%;padding:12px;border-radius:12px;background:var(--accent);color:#111;font-weight:700}
.login-msg{color:var(--err);font-size:13px;min-height:18px;margin-top:8px}
/* layout */
.app{display:flex;height:100dvh;overflow:hidden}
.sidebar{width:270px;flex-shrink:0;background:var(--panel);border-inline-start:1px solid var(--line);display:flex;flex-direction:column}
.sb-top{padding:12px}
.sb-new{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);text-align:right}
.sb-new:hover,.sb-link:hover,.conv-item:hover{background:var(--panel2)}
.sb-label{font-size:12px;color:var(--muted);padding:6px 16px}
.conv-list{flex:1;overflow-y:auto;padding:0 8px}
.conv-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;cursor:pointer;position:relative}
.conv-item.active{background:var(--panel2)}
.conv-item.sub{margin-inline-start:16px;font-size:13px}
.conv-main{flex:1;min-width:0}
.conv-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.conv-date{font-size:11px;color:var(--muted)}
.conv-more{opacity:0;padding:2px 6px;border-radius:6px}
.conv-item:hover .conv-more,.conv-item.active .conv-more{opacity:1}
.conv-menu{position:absolute;top:34px;inset-inline-end:6px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;z-index:20;min-width:120px;overflow:hidden}
.conv-menu button{display:block;width:100%;text-align:right;padding:8px 12px}
.conv-menu button:hover{background:var(--line)}
.conv-rename{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:4px 6px;font:inherit}
.sb-bottom{border-top:1px solid var(--line);padding:8px}
.sb-link{display:block;width:100%;text-align:right;padding:9px 10px;border-radius:10px;font-size:14px}
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}
.top-title{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-btn{padding:6px 9px;border-radius:10px;font-size:16px}
.icon-btn:hover{background:var(--panel2)}
.mobile-only{display:none}
.scrim{display:none}
/* messages */
.messages{flex:1;overflow-y:auto;padding:24px 16px 8px}
.messages>*{max-width:820px;margin-inline:auto}
.empty{text-align:center;margin-top:18vh;color:var(--muted)}
.empty-logo{font-size:42px;color:var(--text)}.empty-title{font-size:22px;margin-top:8px;color:var(--text)}
.msg{margin-bottom:22px}
.msg.user{display:flex;justify-content:flex-start}
.msg.user .bubble{background:var(--user);padding:10px 16px;border-radius:var(--r);max-width:80%;white-space:pre-wrap;word-break:break-word}
.msg.user .att-thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.msg.user .att-thumbs img{max-height:120px;border-radius:10px}
.msg.assistant .body{line-height:1.85;word-break:break-word}
.body p{margin:0 0 10px}.body h1,.body h2,.body h3{margin:14px 0 8px;line-height:1.4}.body h1{font-size:20px}.body h2{font-size:18px}.body h3{font-size:16px}
.body a{color:var(--link)}
.body ul,.body ol{margin:6px 0 10px;padding-inline-start:22px}
.body blockquote{margin:8px 0;padding:4px 12px;border-inline-start:3px solid var(--line);color:var(--muted)}
.body code{background:var(--panel2);padding:1px 6px;border-radius:6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;direction:ltr;unicode-bidi:embed}
.body table{border-collapse:collapse;margin:8px 0;display:block;overflow-x:auto}
.body th,.body td{border:1px solid var(--line);padding:6px 10px}
.code{background:#111113;border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow:hidden;direction:ltr}
.code-head{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--panel);font-size:12px;color:var(--muted)}
.code-head .lang{flex:1}
.code-head button{padding:2px 8px;border-radius:6px;font-size:12px;color:var(--muted)}
.code-head button:hover,.code-head button.on{background:var(--panel2);color:var(--text)}
.code pre{margin:0;padding:12px;overflow-x:auto;font-size:13px;line-height:1.6}
.code pre code{background:none;padding:0}
.code iframe{display:block;width:100%;height:360px;border:0;background:#fff}
.code.fs{position:fixed;inset:12px;z-index:100;display:flex;flex-direction:column}
.code.fs iframe,.code.fs pre{flex:1;height:auto}
.meta{font-size:12px;color:var(--muted);margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.badge{padding:1px 8px;border-radius:999px;background:rgba(245,158,11,.15);color:var(--warn);font-size:11px}
.err{color:var(--err)}
.typing{display:inline-flex;gap:4px;padding:8px 0}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
/* steps */
.steps{border:1px solid var(--line);border-radius:12px;margin:4px 0 10px;overflow:hidden;font-size:13px}
.steps-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;color:var(--muted);text-align:right}
.steps-head .arrow{transition:transform .15s}
.steps.closed .arrow{transform:rotate(90deg)}
.steps.closed .steps-body{display:none}
.steps-body{border-top:1px solid var(--line)}
.step{border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}
.step-row{display:flex;align-items:center;gap:8px;padding:7px 12px;width:100%;text-align:right}
.step-row:hover{background:var(--panel)}
.step-sum{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:left;color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:12px}
.step-name{font-weight:600}
.chip{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--panel2)}
.chip.done{color:var(--ok)}.chip.error,.chip.denied{color:var(--err)}.chip.awaiting_approval{color:var(--warn)}
.spin{display:inline-block;width:10px;height:10px;border:2px solid var(--muted);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.step-out{display:none;margin:0;padding:8px 12px;background:#0f0f11;max-height:260px;overflow:auto;direction:ltr;text-align:left;font-size:12px;white-space:pre-wrap}
.step.open .step-out{display:block}
/* cards */
.card{border:1px solid var(--warn);background:rgba(245,158,11,.06);border-radius:14px;padding:12px 14px;margin:8px 0}
.card.secret{border-color:#6366f1;background:rgba(99,102,241,.07)}
.card h4{margin:0 0 6px;font-size:14px}
.card pre{background:#0f0f11;border-radius:8px;padding:8px;direction:ltr;text-align:left;font-size:12px;overflow-x:auto;margin:6px 0;white-space:pre-wrap}
.card .row{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.card input{flex:1;min-width:160px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;direction:ltr}
.btn{padding:8px 16px;border-radius:10px;font-weight:600}
.btn.ok{background:var(--ok);color:#06210f}.btn.no{background:var(--err);color:#fff}.btn.pri{background:var(--accent);color:#111}
.btn:disabled{opacity:.5;cursor:default}
.card-res{font-size:13px;margin-top:6px}
/* composer */
.composer-wrap{padding:8px 16px calc(14px + env(safe-area-inset-bottom))}
.composer{max-width:820px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:10px 12px 8px}
.composer textarea{width:100%;resize:none;border:0;outline:0;background:transparent;color:var(--text);font:inherit;line-height:1.6;max-height:220px;padding:4px 6px}
.composer-bar{display:flex;align-items:center;gap:6px}
.spacer{flex:1}
.send-btn{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#111;font-size:15px;transform:scaleX(-1)}
.send-btn:disabled{opacity:.3;cursor:default}
.att-chips{display:flex;gap:6px;flex-wrap:wrap}
.att-chip{display:flex;align-items:center;gap:6px;background:var(--panel2);border-radius:10px;padding:4px 8px;font-size:12px;margin-bottom:6px;max-width:220px}
.att-chip img{width:32px;height:32px;object-fit:cover;border-radius:6px}
.att-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-chip button{color:var(--muted)}
.pill-wrap{position:relative}
.model-pill{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 12px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--muted)}
.model-pill:hover{color:var(--text)}
.popover{position:absolute;bottom:40px;inset-inline-start:0;width:290px;max-height:380px;overflow-y:auto;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:6px;z-index:50;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.pop-group{font-size:11px;color:var(--muted);padding:8px 10px 4px}
.pop-item{display:flex;align-items:center;gap:8px;width:100%;text-align:right;padding:7px 10px;border-radius:9px;font-size:13px}
.pop-item:hover{background:var(--line)}
.pop-item.sel{background:var(--line)}
.pop-item:disabled{opacity:.4;cursor:default}
.pop-item .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}
.dot.online{background:var(--ok)}.dot.rate_limited,.dot.unstable{background:var(--warn)}.dot.offline{background:var(--err)}
/* drawer */
.drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;width:340px;max-width:92vw;background:var(--panel);border-inline-start:1px solid var(--line);z-index:60;display:flex;flex-direction:column}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);font-weight:600}
.spend{padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px}
.spend-row{display:flex;justify-content:space-between;margin:4px 0}
.spend-bar{height:6px;background:var(--panel2);border-radius:4px;overflow:hidden;margin:6px 0}
.spend-bar div{height:100%;width:0;background:var(--ok)}
.models-list{flex:1;overflow-y:auto;padding:8px}
.model-group{margin-bottom:6px}
.model-group-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:10px;background:var(--panel2);font-weight:600;font-size:13px}
.model-group-header .count{color:var(--muted);font-weight:400;font-size:12px}
.model-group-header .arrow{margin-inline-start:auto;transition:transform .15s}
.model-group.collapsed .arrow{transform:rotate(90deg)}
.model-group.collapsed .model-group-body{display:none}
.model-card{padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px}
.model-card .top{display:flex;align-items:center;gap:6px}
.model-card .nm{flex:1;font-size:13px;direction:ltr;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-card .sub{color:var(--muted);margin-top:3px}
.free{color:var(--ok)}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:90}
@media (max-width:820px){
  .mobile-only{display:inline-block}
  .sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;z-index:70;transform:translateX(100%);transition:transform .2s}
  .sidebar.open{transform:none}
  .scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:65}
  .messages{padding:16px 10px 8px}
  .msg.user .bubble{max-width:90%}
  .composer-wrap{padding:6px 8px calc(10px + env(safe-area-inset-bottom))}
  .popover{width:min(290px,86vw)}
}

.sub-banner { position: sticky; top: 0; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 12px; z-index: 5; margin-bottom: 20px; display: flex; flex-direction: column; gap: 10px; }
.sub-info { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sub-input-row { display: flex; gap: 8px; }
.sub-input-row input { flex: 1; background: var(--bg); border: 1px solid var(--line); color: var(--text); border-radius: 8px; padding: 6px 10px; font: inherit; }
.sub-input-row button { background: var(--accent); color: #111; border-radius: 8px; padding: 6px 14px; font-weight: 600; }
.btn-stop { background: var(--err); color: #fff; border-radius: 6px; padding: 2px 10px; font-size: 13px; margin-inline-start: auto; }
.sub-link { background: var(--panel2); border: 1px solid var(--line); border-radius: 6px; padding: 2px 8px; font-size: 11px; color: var(--link); cursor: pointer; }
.sub-link:hover { background: var(--line); }

.file-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 8px;
}
.file-card .fname { font-weight: 600; }
.file-card .fpath { color: #666; font-size: 12px; direction: ltr; }
.file-card img {
  max-width: 100%;
  max-height: 320px;
  border-radius: 8px;
  display: block;
  margin-top: 8px;
}
.file-card .finfo{flex:1;min-width:0}
.file-card button{padding:6px 14px;border-radius:10px;background:var(--accent);color:#111;font-weight:600}

.file-prev-wrap{flex-basis:100%} .file-prev.fs{position:fixed;inset:4vh 4vw;width:92vw!important;height:92vh!important;z-index:50;box-shadow:0 0 0 100vmax rgba(0,0,0,.6)} .file-fs{font-size:12px;margin-bottom:6px}
.nm-pick{display:flex;gap:6px;direction:ltr}
.nm-pick select,.nm-pick input{background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:8px;padding:6px}

.avatar {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, hsl(var(--h), 70%, 80%) 0%, transparent 70%),
    radial-gradient(circle at 70% 70%, hsl(var(--h), 70%, 60%) 0%, transparent 70%),
    conic-gradient(from 0deg, hsl(var(--h), 70%, 60%), hsl(var(--h), 70%, 80%), hsl(var(--h), 70%, 60%));
  box-shadow: 0 0 8px hsl(var(--h), 70%, 60%);
  position: relative;
  animation: spin 12s linear infinite;
}
.avatar::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  animation: blob 8s ease-in-out infinite alternate;
}
.avatar.lg {
  width: 28px;
  height: 28px;
}
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes blob {
  0%   { border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%; }
  100% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .avatar,
  .avatar::before {
    animation: none;
  }
}
.chat-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border, #333);
  background: var(--panel2);
  border-radius: 8px;
  margin-bottom: 8px;
}
.conv-section {
  font-size: 12px;
  font-weight: bold;
  color: #888;
  padding: 10px 10px 5px;
}

/* side panel dark theme + mobile fixes */
body .kp-panel{background:var(--panel);color:var(--text);border-color:var(--line)}
body .kp-header,body .kp-tabs{background:var(--panel2);border-color:var(--line);color:var(--text)}
body .kp-tab{color:var(--text);font-size:14px;opacity:.75}
body .kp-tab.active{opacity:1;color:#fff;border-bottom-color:var(--link)}
body .kp-card{background:var(--panel2);border-color:var(--line);color:var(--text)}
body .kp-close{color:var(--text);font-size:20px;cursor:pointer;padding:4px 10px}
body .kp-toggle{background:var(--panel2);color:var(--text);border:1px solid var(--line)}
.sb-top{display:flex;gap:8px;align-items:center}
.sb-top .sb-new{flex:1}
.sb-close{display:none}
@media (max-width:820px){
  body .kp-panel{width:100vw;max-width:100vw;left:0;right:0;border-left:0;box-sizing:border-box}
  body .kp-toggle.kp-inline{position:static;width:36px;height:36px;font-size:18px;box-shadow:none;transform:none;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
  .sb-close{display:inline-block}
}

/* dark scrollbars */
*{scrollbar-width:thin;scrollbar-color:#3a3a40 transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#3a3a40;border-radius:8px}
*::-webkit-scrollbar-thumb:hover{background:#55555c}

.md-img{max-width:100%;max-height:320px;border-radius:10px;margin:4px 2px;display:inline-block;vertical-align:top;background:#222}

/* live desktop (noVNC) + library */
.kp-live{position:relative;margin-bottom:8px}
.kp-live-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.kp-vbtn{padding:4px 10px;border:1px solid #444;border-radius:6px;background:#1c1c1f;color:#ddd;cursor:pointer;font-size:12px}
.kp-vbtn.active{background:#2d3a52;border-color:#4a6aa8}
.kp-v-state{font-size:11px;color:#888;margin-inline-start:auto}
.kp-ctl-banner{font-size:12px;background:#3a2a10;color:#f5c26b;border:1px solid #6b4b16;border-radius:6px;padding:4px 8px;margin-bottom:6px}
.kp-vnc{display:none;width:100%;aspect-ratio:16/9;background:#0b0b0c;border:1px solid #333;border-radius:8px;overflow:hidden}
.kp-live.kp-vnc-on .kp-vnc{display:block}
.kp-live.kp-vnc-on img.kp-desk{display:none!important}
.kp-live.kp-live-fs{position:fixed;inset:0;z-index:99998;background:#000;margin:0;padding:calc(6px + env(safe-area-inset-top)) 6px 6px;display:flex;flex-direction:column}
.kp-live.kp-live-fs .kp-vnc{flex:1;aspect-ratio:auto;height:auto;border:0}
.kp-live.kp-live-fs .kp-v-x{position:absolute;top:calc(8px + env(safe-area-inset-top));left:8px;width:38px;height:38px;border-radius:19px;font-size:18px}
.kp-browser-card{margin-top:10px;border-top:1px solid #2a2a2e;padding-top:8px}
.kp-browser-card img{max-height:220px;object-fit:contain;border-radius:6px;border:1px solid #333}
.kp-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.kp-lib-item{position:relative;background:#18181b;border:1px solid #2c2c31;border-radius:8px;overflow:hidden;cursor:pointer}
.kp-lib-thumb{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:34px;background:#111}
.kp-lib-thumb img{width:100%;height:100%;object-fit:cover}
.kp-lib-name{font-size:11px;color:#ccc;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:left}
.kp-lib-dl{position:absolute;top:4px;left:4px;background:rgba(0,0,0,.65);color:#fff;border-radius:6px;padding:1px 6px;text-decoration:none;font-size:13px}

.kp-vnc{direction:ltr;position:relative;z-index:1}.kp-vnc canvas{pointer-events:auto;touch-action:none}

#kp-dx .dx-sec{margin:10px 0;padding:8px;border:1px solid #2a2a2e;border-radius:8px;background:#151518}
#kp-dx .dx-h{font-weight:600;margin-bottom:6px}
#kp-dx .dx-row{display:flex;gap:8px;align-items:center;padding:4px 0;border-top:1px solid #222;font-size:13px}
#kp-dx .dx-row:first-of-type{border-top:0}
#kp-dx .dx-main{flex:1;min-width:0;overflow-wrap:anywhere}
#kp-dx .dx-sub{color:#999;font-size:12px}
#kp-dx .dx-badge{font-size:11px;padding:1px 6px;border-radius:9px;background:#333}
#kp-dx .dx-done{background:#1d4d2b}#kp-dx .dx-running{background:#4d3d1d}#kp-dx .dx-failed,#kp-dx .dx-cancelled{background:#4d1d1d}
#kp-dx .dx-del{background:none;border:0;cursor:pointer;font-size:15px}
#kp-dx .dx-sw{position:relative;width:34px;height:18px;flex:none}#kp-dx .dx-sw input{opacity:0;width:0;height:0}
#kp-dx .dx-sw span{position:absolute;inset:0;background:#444;border-radius:9px;cursor:pointer}#kp-dx .dx-sw span:before{content:"";position:absolute;width:14px;height:14px;top:2px;left:2px;background:#ddd;border-radius:50%;transition:.2s}
#kp-dx .dx-sw input:checked+span{background:#2e7d4f}#kp-dx .dx-sw input:checked+span:before{transform:translateX(16px)}
#kp-dx .dx-bar{flex:1;height:6px;background:#333;border-radius:3px;overflow:hidden}#kp-dx .dx-bar i{display:block;height:100%;background:#4a8fe7}

/* 3-column layout (desktop): sidebar | chat | panel, LTR columns */
.desktop-only{display:none}
@media (min-width:821px){
  .desktop-only{display:inline-block}
  .app.sb-collapsed>.sidebar{display:none}
  .app>.kp-panel{position:relative!important;inset:auto!important;transform:none!important;flex:none;height:100dvh;width:var(--kp-w,440px);max-width:60vw;min-width:300px;box-shadow:none;border-left:1px solid var(--line);z-index:1;display:none}
  .app>.kp-panel.kp-open{display:flex;flex-direction:column}
  .app>.kp-panel .kp-resize{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:5}
  .app>.kp-panel .kp-resize:hover,.app>.kp-panel.kp-resizing .kp-resize{background:rgba(88,166,255,.35)}
  .app>.kp-panel .kp-tab-content{flex:1;overflow:auto}
}
.kp-resize{display:none}
@media (min-width:821px){.app>.kp-panel .kp-resize{display:block}}
