/* PallettAI / shared controls. Loaded last, after the identity layer. */
.btn{--btn-r:5px;--btn-press:.98;--btn-ring:rgba(136,68,44,.24);border-radius:var(--btn-r);white-space:normal;max-width:100%;will-change:auto;transition:background .2s,border-color .2s,color .2s}
.btn.sm{--btn-r:5px;--btn-press:.98}
.btn:focus-visible{border-radius:var(--btn-r);outline:2px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 5px var(--btn-ring);transform:none}
.btn.line:focus-visible,.btn.alt:focus-visible{outline-color:var(--blue-dark)}
.btn:active{scale:var(--btn-press)}
.btn:disabled{box-shadow:none;opacity:.58;cursor:wait;translate:0 0;rotate:0deg}
.btn[aria-disabled="true"]{opacity:.52;cursor:not-allowed;box-shadow:none}
.btn.ghost{border-color:transparent!important;background:transparent!important;color:var(--ink-soft)!important;box-shadow:none}
.btn.ghost:hover{border-color:var(--line-strong)!important;background:#f0decb!important;color:var(--ink)!important;box-shadow:none}
.btn.solid{background:var(--ink)!important;color:var(--paper)!important;box-shadow:none}
.btn.solid:hover{background:#564035!important;box-shadow:none;transform:none}
.btn>svg{flex:0 0 auto;width:15px;height:15px;stroke-width:1.75}
.btn.sm>svg{width:14px;height:14px}
.btn>svg[width],.btn>svg[height]{width:auto;height:auto}
.case-glyph{width:39px;height:39px;border-radius:5px;border:1px solid var(--line-strong);background:#f2ddc7;color:var(--ink);font:500 12px var(--mono);letter-spacing:.02em;box-shadow:none}
.case:hover .case-glyph{border-color:#c1946d;color:var(--blue)}
@media(prefers-reduced-motion:reduce){.btn:active{scale:1}.btn,.case-glyph{transition:none}}
@media print{.btn{box-shadow:none!important;transform:none!important;scale:none!important;translate:none!important;border:1px solid #999!important;background:none!important;color:#000!important}}
