.explorer{--explorer-bg:var(--panel,#132230);--explorer-line:var(--line,#2b4151);--explorer-ink:var(--ink,#e9f1f6);--explorer-muted:var(--muted,#8ea8bb);--explorer-accent:var(--accent,#62ddba);display:flex;flex-direction:column;gap:12px;color:var(--explorer-ink);min-width:0}
.explorer[aria-busy=true]{cursor:progress}
.explorer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--explorer-line);border-radius:14px;background:var(--explorer-bg)}
.explorer-title-block{min-width:0}
.explorer-title{font-size:19px;line-height:1.25;margin:0;color:var(--explorer-ink)}
.explorer-subtitle{font-size:12px;margin:5px 0 0;color:var(--explorer-muted)}
.explorer-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.explorer button{font:inherit;color:var(--explorer-ink);background:var(--explorer-bg);border:1px solid var(--explorer-line);border-radius:9px;min-height:38px;padding:8px 10px;cursor:pointer;touch-action:manipulation}
.explorer button:hover{border-color:var(--explorer-accent)}
.explorer button:focus-visible,.explorer input:focus-visible{outline:2px solid var(--explorer-accent);outline-offset:2px}
.explorer button:disabled{opacity:.55;cursor:default}
.explorer .explorer-primary{background:var(--explorer-accent);border-color:transparent;color:#082a25;font-weight:650}
.explorer .explorer-danger{border-color:#9a504a;color:#ffb5a8}
.explorer-status,.explorer-error{font-size:12px;margin:0;padding:0 3px;min-height:1em;color:var(--explorer-muted)}
.explorer-error{color:#ffb5a8}
.explorer-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.explorer-path-form{display:flex;align-items:flex-end;gap:8px;flex:1 1 440px;min-width:0}
.explorer-label,.explorer-dialog-label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;margin:0;color:var(--explorer-muted);font-size:12px}
.explorer-path-input,.explorer-dialog-input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;border:1px solid var(--explorer-line);border-radius:9px;padding:9px 11px;background:#091720;color:var(--explorer-ink);font:inherit;font-size:14px}
.explorer-hidden-label{display:flex;align-items:center;gap:7px;min-height:40px;color:var(--explorer-muted);font-size:12px;white-space:nowrap}
.explorer-hidden-label input{width:18px;height:18px;margin:0;accent-color:var(--explorer-accent)}
.explorer-up{align-self:flex-start}
.explorer-location{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0;padding:10px 12px;border:1px solid var(--explorer-line);border-radius:10px;background:var(--explorer-bg);font-size:12px;overflow-wrap:anywhere}
.explorer-crumb{min-height:30px!important;padding:4px 7px!important;border:0!important;background:transparent!important;color:var(--explorer-accent)!important}
.explorer-crumb-current{font-weight:650}
.explorer-crumb-separator{color:var(--explorer-muted)}
.explorer-open-current{align-self:flex-start}
.explorer-content{min-width:0;border:1px solid var(--explorer-line);border-radius:12px;background:#0e1c27;overflow:hidden}
.explorer-tree,.explorer-tree-group,.explorer-trash-list{list-style:none;margin:0;padding:0}
.explorer-tree{padding:5px 0}
.explorer-entry{min-width:0}
.explorer-entry-row{display:flex;align-items:center;gap:5px;min-width:0;padding:5px 8px;border-bottom:1px solid color-mix(in srgb,var(--explorer-line) 45%,transparent)}
.explorer-entry-row:hover{background:color-mix(in srgb,var(--explorer-accent) 6%,transparent)}
.explorer-entry-icon{flex:0 0 20px;text-align:center;color:var(--explorer-muted);font-size:16px}
.explorer-entry-open{flex:1 1 auto;min-width:0;text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0!important;background:transparent!important;padding:6px 4px!important}
.explorer-entry-name{flex:1;min-width:0;padding:6px 4px;overflow-wrap:anywhere;font-size:14px}
.explorer-expand{flex:0 0 auto;min-width:54px;font-size:11px!important;padding:5px 7px!important;min-height:32px!important;color:var(--explorer-muted)!important}
.explorer-entry-codex,.explorer-manage{flex:0 0 auto;font-size:11px!important;padding:6px 8px!important;min-height:32px!important;white-space:nowrap}
.explorer-manage{color:var(--explorer-muted)!important}
.explorer-tree-group{padding-left:clamp(12px,4vw,27px);border-left:1px solid var(--explorer-line);margin-left:17px}
.explorer-tree-loading,.explorer-tree-failure,.explorer-empty{padding:12px 16px;color:var(--explorer-muted);font-size:12px}
.explorer-tree-failure{color:#ffb5a8}
.explorer-section-title{font-size:15px;margin:0;padding:14px 14px 0}
.explorer-trash-list{padding:8px}
.explorer-trash-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid var(--explorer-line)}
.explorer-trash-details{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.explorer-trash-name{font-size:14px}
.explorer-trash-original,.explorer-trash-date{font-size:11px;color:var(--explorer-muted)}
.explorer-footnote{margin:0;padding:10px 12px;color:var(--explorer-muted);font-size:11px}
.explorer-dialog{width:min(460px,calc(100% - 28px));max-height:calc(100% - 28px);padding:0;border:1px solid var(--explorer-line);border-radius:15px;background:var(--explorer-bg);color:var(--explorer-ink)}
.explorer-dialog::backdrop{background:#000a}
.explorer-dialog-form{display:flex;flex-direction:column;gap:13px;padding:20px}
.explorer-dialog h3{font-size:18px;margin:0}
.explorer-dialog-description,.explorer-dialog-path{font-size:12px;line-height:1.5;color:var(--explorer-muted);margin:0;overflow-wrap:anywhere}
.explorer-dialog-error{font-size:12px;color:#ffb5a8;margin:0}
.explorer-dialog-actions,.explorer-manage-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
.explorer-manage-actions{justify-content:flex-start}
.explorer-dialog-actions button,.explorer-manage-actions button{min-height:40px}
@media(max-width:560px){
  .explorer-heading{flex-direction:column;align-items:stretch}
  .explorer-header-actions{justify-content:flex-start}
  .explorer-path-form{flex-basis:100%}
  .explorer-controls{align-items:stretch}
  .explorer-hidden-label{min-height:30px}
  .explorer-entry-row{gap:3px;padding:5px 5px}
  .explorer-expand{min-width:46px}
  .explorer-entry-codex,.explorer-manage{padding:5px 6px!important;font-size:10px!important}
  .explorer-tree-group{padding-left:0;margin-left:0;border-left:0}
  .explorer-entry-row{padding-left:calc(5px + var(--explorer-indent,0px))}
}
