/* Hover is a hint; taps and keyboard activation open the app preview. */
#toolbox-grid .tile,#briefcase-grid .tile{cursor:pointer;position:relative}
#toolbox-grid .tile:after,#briefcase-grid .tile:after{content:attr(data-launch-name);position:absolute;z-index:12;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);width:max-content;max-width:200px;padding:5px 9px;border-radius:7px;background:#0f1e33;color:#fff;font:700 12px/1.4 Inter,system-ui,sans-serif;text-align:center;white-space:normal;box-shadow:0 3px 12px #0006;pointer-events:none;opacity:0;visibility:hidden}
@media(hover:hover) and (pointer:fine){#toolbox-grid .tile:hover:after,#briefcase-grid .tile:hover:after,#toolbox-grid .tile:focus-visible:after,#briefcase-grid .tile:focus-visible:after{opacity:1;visibility:visible}}
.compartment-preview[hidden]{display:none!important}
.compartment-preview{position:fixed;z-index:2147483646;display:flex;align-items:flex-start;gap:12px;width:min(320px,calc(100vw - 24px));padding:17px;background:#fff;border:1px solid #dce6f2;border-radius:15px;color:#24364d;box-shadow:0 12px 48px #0f1e3340;font:400 14px/1.5 Inter,system-ui,sans-serif;text-shadow:none}
.compartment-preview .compartment-icon{height:45px;width:45px;object-fit:contain;border-radius:10px;flex:none}
.compartment-preview .compartment-copy{flex:1;min-width:0}
.compartment-preview strong{display:block;color:#0f1e33;font-size:17px;line-height:1.3;padding-right:22px}
.compartment-preview p{margin:7px 0 14px;color:#52657c;font-size:13px;line-height:1.45}
.compartment-preview .compartment-actions{display:flex;flex-wrap:wrap;gap:8px}
.compartment-preview .compartment-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border:1px solid #eb670c;border-radius:9px;font-weight:800;text-decoration:none;background:#eb670c;color:#fff}
.compartment-preview .compartment-actions a.compartment-install{background:#fff;color:#b44a06}
.compartment-preview .compartment-actions a:focus-visible,.compartment-close:focus-visible{outline:3px solid #2778df;outline-offset:3px}
.compartment-close{position:absolute;top:8px;right:9px;border:0;background:transparent;font-size:27px;line-height:1;min-width:36px;min-height:36px;color:#24364d;cursor:pointer}
/* A bottom sheet can be concealed by Android's share/screenshot/browser toolbar.
   Keep the actions in the visible upper viewport instead of under those controls. */
@media(max-width:640px){.compartment-preview{position:fixed;left:12px!important;right:12px;top:clamp(85px,22dvh,205px)!important;bottom:auto;width:auto;max-width:none;max-height:65dvh;overflow-y:auto;padding:21px 16px;border-radius:16px;box-shadow:0 12px 55px #0f1e3370}.compartment-preview .compartment-icon{width:55px;height:55px}.compartment-preview .compartment-actions a{min-height:48px}}
