/* cratefolio: shared "Back to top" button (hub + work/ + html/ pages) */
.cf-totop{--tt-bg:#F3EEE4;--tt-fg:#151515;--tt-ln:rgba(21,21,21,.22);--tt-or:#ff6a00;
position:fixed;z-index:30;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));
width:48px;height:48px;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
background:var(--tt-bg);color:var(--tt-fg);border:1px solid var(--tt-ln);border-radius:2px;
font:700 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;
box-shadow:0 6px 18px rgba(21,21,21,.14);cursor:pointer;-webkit-tap-highlight-color:transparent;
opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);
transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s,background-color .15s ease,color .15s ease,border-color .15s ease}
.cf-totop.is-on{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .2s ease,transform .2s ease,visibility 0s,background-color .15s ease,color .15s ease,border-color .15s ease}
.cf-totop svg{width:18px;height:18px;display:block;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:square}
.cf-totop svg .cf-tt-bar{stroke:var(--tt-or)}
.cf-totop:hover{background:var(--tt-or);color:#151515;border-color:var(--tt-or)}
.cf-totop:hover svg .cf-tt-bar{stroke:#151515}
.cf-totop:active{transform:translateY(1px)}
.cf-totop:focus{outline:none}
.cf-totop:focus-visible{outline:3px solid var(--tt-or);outline-offset:3px}
:root[data-theme=dark] .cf-totop{--tt-bg:#1B1C20;--tt-fg:#F2EFEA;--tt-ln:rgba(255,255,255,.16)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cf-totop{--tt-bg:#1B1C20;--tt-fg:#F2EFEA;--tt-ln:rgba(255,255,255,.16)}}
:root[data-theme=dark] .cf-totop{box-shadow:0 6px 18px rgba(0,0,0,.45)}
@media (prefers-reduced-motion:reduce){.cf-totop,.cf-totop.is-on{transition:none;transform:none}}
@media print{.cf-totop{display:none}}
