/* css/p-toolbox.css */
.tb-wrap,.tb-wrap>.w-embed{display:contents}
.tb-wrap>.w-embed::before,.tb-wrap>.w-embed::after{content:none}
.tb-hd{padding:96px var(--pad) 80px}
.tb-hd .lead{max-width:640px}
.tb-hd .nw{white-space:nowrap}
.tb-count b{font-weight:600;color:var(--rly-text-primary)}
.tb-repo{--tb-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
.tb-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px var(--pad);background:var(--rly-bg-surface);border-bottom:1px solid var(--rly-grid-line)}
.tb-path{display:inline-flex;align-items:center;gap:8px;min-width:0;font:500 14px/20px var(--tb-mono);color:var(--rly-text-tertiary);overflow-wrap:anywhere}
.tb-path .ic{width:16px;height:16px;flex:none;color:var(--rly-text-muted)}
.tb-tools{display:flex;gap:8px;flex:none}
.tb-tree{scroll-margin-top:144px}
.tb-nojs{margin:0;padding:24px var(--pad);font-size:15px;line-height:22px;color:var(--rly-text-tertiary)}
.tb-f+.tb-f{border-top:1px solid var(--rly-grid-line)}
.tb-frow,.tb-file{display:flex;align-items:center;gap:12px;width:100%;margin:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color .15s}
.tb-frow{padding:16px var(--pad)}
.tb-frow:hover,.tb-file:hover{background:var(--rly-bg-surface)}
.tb-frow:focus-visible,.tb-file:focus-visible{outline:2px solid var(--rly-text-primary);outline-offset:-2px}
.tb-chev{width:16px;height:16px;flex:none;color:var(--rly-text-muted);transition:transform .15s}
.tb-f.is-open .tb-chev{transform:rotate(90deg)}
.tb-ficon{width:20px;height:20px;flex:none;color:var(--rly-warning-500)}
.tb-fname{font:600 15px/20px var(--tb-mono);color:var(--rly-text-primary)}
.tb-fpurpose{margin-left:auto;min-width:0;font-size:14px;line-height:20px;color:var(--rly-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-fcount{flex:none;min-width:24px;padding:0 8px;border-radius:999px;background:var(--rly-bg-muted);font:500 12px/20px Inter,sans-serif;color:var(--rly-text-tertiary);text-align:center}
.tb-files{display:none;padding:0 0 12px}
.tb-f.is-open .tb-files{display:block}
.tb-root .tb-files{display:block;padding:8px 0}
.tb-file{padding:8px var(--pad) 8px calc(var(--pad) + 28px)}
.tb-root .tb-file{padding-left:var(--pad)}
.tb-fi{width:16px;height:16px;flex:none}
.tb-md{color:var(--rly-blue-500)}.tb-csv{color:var(--rly-success-600)}.tb-sh{color:var(--rly-orange-500)}.tb-json{color:var(--rly-purple-500)}
.tb-fn{font:400 14px/20px var(--tb-mono);color:var(--rly-text-secondary)}
.tb-cmd{flex:none;padding:0 6px;border-radius:6px;background:var(--rly-solid-default);font:500 12px/20px var(--tb-mono);color:var(--rly-text-on-solid)}
.tb-ring{flex:none}
.tb-fp{margin-left:auto;min-width:0;font-size:14px;line-height:20px;color:var(--rly-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}
.tb-tag{margin:0;padding:24px var(--pad);border-top:1px solid var(--rly-grid-line);text-align:center;font-size:15px;line-height:22px;color:var(--rly-text-tertiary)}
.tb-tag b{font-weight:600;color:var(--rly-text-primary)}
.tb-close .final-in{padding:112px var(--pad);gap:20px}
.tb-close .lead{max-width:560px;margin:0}
.tb-note{margin:16px 0 0;max-width:480px;text-wrap:pretty}
.tb-ov{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--rly-bg-overlay) 56%,transparent);--tb-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
.tb-ov.show{display:flex}
html.tb-lock{overflow:hidden}
.tb-modal{display:flex;flex-direction:column;width:100%;max-width:760px;max-height:min(86vh,880px);background:var(--rly-bg-raised);border-radius:16px;box-shadow:var(--rly-shadow-xl);overflow:hidden}
.tb-mhead{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--rly-border-subtle)}
.tb-mhead .tb-fi{width:20px;height:20px}
.tb-mt{min-width:0;display:flex;flex-direction:column}
.tb-mname{font:600 15px/20px var(--tb-mono);color:var(--rly-text-primary);overflow-wrap:anywhere}
.tb-mpurpose{font-size:13px;line-height:20px;color:var(--rly-text-tertiary)}
.tb-mclose{margin-left:auto;flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:var(--rly-bg-surface);color:var(--rly-text-muted);cursor:pointer}
.tb-mclose:hover{background:var(--rly-bg-muted);color:var(--rly-text-primary)}
.tb-mclose .ic{width:16px;height:16px}
.tb-mbody{flex:1;min-height:0;overflow:auto;background:var(--rly-bg-page)}
.tb-mbody pre{margin:0;padding:20px;font:400 13px/20px var(--tb-mono);color:var(--rly-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}
.tb-mfoot{display:flex;flex-direction:column;gap:12px;padding:16px 20px;border-top:1px solid var(--rly-border-subtle)}
.tb-mcopy .ic{width:16px;height:16px}
.tb-mcopy.copied{background:var(--rly-success-600)}
.tb-inst{display:flex;align-items:flex-start;gap:12px;padding:8px 8px 8px 12px;border-radius:8px;background:var(--rly-bg-surface);box-shadow:inset 0 0 0 1px var(--rly-border-subtle);font:400 12px/20px var(--tb-mono);color:var(--rly-text-secondary)}
.tb-inst span{flex:1;min-width:0;padding-top:2px;overflow-wrap:anywhere}
.tb-ci{flex:none;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:var(--rly-bg-raised);box-shadow:inset 0 0 0 1px var(--rly-border-default);color:var(--rly-text-muted);cursor:pointer}
.tb-ci:hover{color:var(--rly-text-primary)}
.tb-ci.copied{color:var(--rly-success-600)}
.tb-ci .ic{width:16px;height:16px}
.tb-hint{margin:0;font-size:13px;line-height:20px;color:var(--rly-text-tertiary)}
@media screen and (max-width:991px){
.tb-hd{padding:72px var(--pad) 64px}
.tb-close .final-in{padding:88px var(--pad)}
}
@media screen and (max-width:767px){
.tb-hd{padding:56px var(--pad) 48px}
.tb-bar{flex-wrap:wrap;gap:12px}
.tb-fpurpose{display:none}
.tb-fcount{margin-left:auto}
.tb-frow{padding:16px var(--pad)}
.tb-file{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:8px;row-gap:0;justify-items:start;padding:8px var(--pad) 8px calc(var(--pad) + 28px)}
.tb-file>:not(.tb-fi){grid-column:2}
.tb-cmd,.tb-ring{margin:2px 0 4px}
.tb-fp{margin-left:0;max-width:none;white-space:normal}
.tb-close .final-in{padding:64px var(--pad)}
.tb-ov{padding:12px;align-items:flex-end}
.tb-modal{max-height:92vh}
}
@media screen and (max-width:479px){
.tb-hd .btns,.tb-hd .btn,.tb-close .btns,.tb-close .btn{width:100%}
.tb-tools{width:100%}
.tb-tools .btn{flex:1}
.tb-file{padding-left:calc(var(--pad) + 12px)}
}
