.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;padding:12px 17px;border:1px solid transparent;border-radius:12px;background:linear-gradient(135deg,var(--pine),var(--pine-dark));color:#fff;font-size:12px;font-weight:800;letter-spacing:.01em;line-height:1;box-shadow:0 10px 22px color-mix(in srgb,var(--pine-dark) 22%,transparent);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.button:after{content:'';position:absolute;inset:1px;border-radius:11px;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 45%);pointer-events:none}
.button:hover{background:linear-gradient(135deg,var(--pine),var(--pine-dark));border-color:transparent;filter:saturate(1.12) brightness(1.05);transform:translateY(-2px);box-shadow:0 14px 28px color-mix(in srgb,var(--pine-dark) 30%,transparent)}
.button:active{transform:translateY(0);box-shadow:0 7px 14px color-mix(in srgb,var(--pine-dark) 22%,transparent)}
.button:focus-visible,.theme-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--sun) 58%,transparent);outline-offset:3px}
.button span{position:relative;z-index:1;display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(255,255,255,.16);font-size:15px;line-height:1;transition:transform .2s ease,background .2s ease}
.button:hover span{transform:translateX(2px);background:rgba(255,255,255,.24)}
.button-small{min-height:37px;padding:9px 13px;border-radius:10px;font-size:11px;gap:8px}
.button-small:after{border-radius:9px}
.button-small span{width:18px;height:18px;font-size:13px}
.button-light{background:linear-gradient(135deg,var(--cream),var(--white));border-color:color-mix(in srgb,var(--pine) 14%,transparent);color:var(--pine);box-shadow:0 10px 22px rgba(18,16,48,.12)}
.button-light:after{background:linear-gradient(135deg,rgba(255,255,255,.78),transparent 58%)}
.button-light:hover{background:linear-gradient(135deg,var(--white),var(--cream));border-color:color-mix(in srgb,var(--pine) 22%,transparent);color:var(--pine);box-shadow:0 14px 28px rgba(18,16,48,.16)}
.button-light span{background:color-mix(in srgb,var(--pine) 12%,transparent)}
.button-dark{background:linear-gradient(135deg,#29263e,#171627);border-color:transparent;color:#fff}
.button-dark:hover{background:linear-gradient(135deg,#39345d,#211e39)}
.button-ghost{background:transparent;border-color:var(--line);color:var(--pine);box-shadow:none}
.button-ghost:after{display:none}
.button-ghost:hover{background:var(--sage);border-color:var(--pine);color:var(--pine);box-shadow:0 8px 18px color-mix(in srgb,var(--pine) 12%,transparent)}
.button-danger{background:linear-gradient(135deg,#bd5c72,#8f3f5d);border-color:transparent;color:#fff}
.button-danger:hover{background:linear-gradient(135deg,#cc6680,#9d4565)}
.directory-command-search button,.filter-apply{min-height:40px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--pine),var(--pine-dark));box-shadow:0 7px 16px color-mix(in srgb,var(--pine-dark) 20%,transparent);transition:.2s ease}
.directory-command-search button:hover,.filter-apply:hover{filter:saturate(1.12) brightness(1.06);transform:translateY(-1px)}
.view-switch button{border-radius:8px;transition:.2s ease}
.view-switch button.active{background:linear-gradient(135deg,var(--pine),var(--pine-dark));box-shadow:0 5px 12px color-mix(in srgb,var(--pine-dark) 22%,transparent)}
html[data-theme="dark"] .button-light{background:linear-gradient(135deg,#302e4b,#24233b);border-color:#514b70;color:#e7e1fa;box-shadow:0 10px 22px rgba(0,0,0,.24)}
html[data-theme="dark"] .button-light:hover{background:linear-gradient(135deg,#3a3759,#2a2844);border-color:#6c6590;color:#fff}
html[data-theme="dark"] .button-ghost:hover{background:#2d2a49;border-color:#716aa0}
