/* Floating navigation: a self-contained rounded dock. No classic/attached selectors. */
@media (min-width: 1025px) and (min-height: 601px) {
    html[data-kinma-nav-island-style='floating'] { --kinma-desktop-nav-content-start: 108px; }
    html[data-kinma-nav-island-style='floating'] body.page-admin #admin-main-content {
        margin-left: max(var(--kinma-desktop-nav-content-start), env(safe-area-inset-left, 0px));
    }
    .kinma-floating-dock {
        --floating-size: clamp(40px, 4.95vh, 72px);
        position: fixed; top: 18px; bottom: 18px;
        left: calc(18px + env(safe-area-inset-left, 0px)); z-index: 2100;
        box-sizing: border-box; width: var(--floating-size); flex-direction: column; overflow: hidden;
        color: #fff; background: var(--kinma-user-dark, #181818);
        border: none; outline: none; border-radius: calc(var(--floating-size) / 2);
        box-shadow: 0 2px 12px rgba(0,0,0,.18); font-family: Arial,sans-serif;
    }
    .kinma-floating-dock, .kinma-floating-dock *,
    .kinma-floating-dock *::before, .kinma-floating-dock *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
    .kinma-floating-head { flex: 0 0 auto; width: 100%; }
    .kinma-floating-emblem, .kinma-floating-warning, .kinma-floating-action {
        all: unset; appearance: none; position: relative; box-sizing: border-box; width: 100%;
        margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0;
        color: #fff; background: transparent; box-shadow: none;
        font: inherit; text-decoration: none; cursor: pointer;
    }
    .kinma-floating-emblem { height: var(--floating-size); }
    .kinma-floating-emblem-flag, .kinma-floating-emblem-core {
        position: absolute; top: 50%; left: 50%; border-radius: 50%;
        transform: translate(-50%,-50%); pointer-events: none;
    }
    .kinma-floating-emblem-flag { width: 100%; height: 100%; background-position: center; background-size: cover; }
    .kinma-floating-emblem-core { width: 85%; height: 85%; display: grid; place-items: center; border-radius: 50%; background: #fff; }
    .kinma-floating-emblem-image { width: 68% !important; height: 68% !important; object-fit: contain; }
    .kinma-floating-warning {
        height: var(--floating-size); display: grid; place-items: center;
        color: #fff; background: #a7191f;
    }
    .kinma-floating-warning .kinma-hw-accel-warn-icon { width: 25px !important; height: 25px !important; }
    .kinma-floating-warning[hidden] { display: none; }
    .kinma-floating-menu {
        all: unset; min-height: 0; flex: 1 1 auto; width: 100%; display: flex;
        flex-direction: column; justify-content: center; overflow: hidden;
    }
    .kinma-floating-menu--bottom {
        flex: 0 0 auto;
        justify-content: flex-start;
    }
    .kinma-floating-slot { all: unset; width: 100%; display: block; }
    .kinma-floating-action {
        aspect-ratio: 1 / 1; padding: 6px 3px 5px;
        display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
        overflow: hidden; contain: layout paint;
    }
    .kinma-floating-icon {
        all: unset;
        width: clamp(22px,2.05vh,28px); height: clamp(22px,2.05vh,28px); min-height: clamp(22px,2.05vh,28px); display: grid; place-items: center;
        color: currentColor; pointer-events: none;
    }
    .kinma-floating-icon > svg { width: clamp(22px,2.05vh,28px) !important; height: clamp(22px,2.05vh,28px) !important; min-width: clamp(22px,2.05vh,28px) !important; min-height: clamp(22px,2.05vh,28px) !important; max-width: clamp(22px,2.05vh,28px) !important; max-height: clamp(22px,2.05vh,28px) !important; color: #fff !important; stroke: none !important; }
    .kinma-floating-icon .nav-profile-avatar {
        all: unset !important; box-sizing: border-box !important;
        width: 27px !important; height: 27px !important; display: grid !important;
        place-items: center !important; overflow: hidden !important; border-radius: 50% !important;
        background: #aab1bc !important; color: #fff !important;
        font: 700 11px/1 Arial,sans-serif !important;
    }
    .kinma-floating-icon .nav-profile-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; }
    .kinma-floating-action[data-floating-key='profile'] .kinma-floating-name { display: none; }
    .kinma-floating-action[data-floating-key='profile'] {
        padding: 0;
        display: grid;
        place-items: center;
    }
    .kinma-floating-action[data-floating-key='profile'] .kinma-floating-icon {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 1 / 1 !important;
        display: block !important;
    }
    .kinma-floating-action[data-floating-key='profile'] .nav-profile-avatar {
        width: 100% !important;
        height: 100% !important;
        min-width: 100% !important;
        min-height: 100% !important;
        border: 0 !important;
        border-radius: 50% !important;
        outline: 0 !important;
        box-shadow: none !important;
        font: 700 clamp(14px,1.5vh,19px)/1 Arial,sans-serif !important;
    }
    .kinma-floating-action[data-floating-key='profile'] .nav-profile-avatar img,
    .kinma-floating-action[data-floating-key='profile'] .nav-profile-avatar > span {
        border-radius: 50% !important;
    }
    .kinma-floating-action[data-floating-key='profile'] .nav-profile-avatar::before,
    .kinma-floating-action[data-floating-key='profile'] .nav-profile-avatar::after { display: none !important; content: none !important; }
    .kinma-floating-name {
        all: unset;
        width: 100%; min-width: 0; display: -webkit-box; overflow: hidden;
        color: inherit; font: 700 clamp(9px,.82vh,11.5px)/1.05 Arial,sans-serif;
        text-align: center; overflow-wrap: anywhere;
        -webkit-box-orient: vertical; -webkit-line-clamp: 2; pointer-events: none;
    }
    .kinma-floating-counter {
        position:absolute; top:5px; right:5px; min-width:14px; height:14px; padding:0 3px;
        border-radius:7px; color:#fff; background:#ef4444;
        font:700 8px/14px Arial,sans-serif; text-align:center;
    }
    .kinma-floating-action:hover {
        color: #fff;
        background: rgba(255,255,255,.14);
    }
    .kinma-floating-action:hover .kinma-floating-icon { filter: none; }
    .kinma-floating-action[data-floating-key='profile']:hover,
    .kinma-floating-action[data-floating-key='profile']:focus-visible,
    .kinma-floating-action[data-floating-key='profile']:active,
    .kinma-floating-action[data-floating-key='profile'].is-selected {
        background: transparent;
        box-shadow: none;
    }
    .kinma-floating-action[data-floating-key='profile']:hover .kinma-floating-icon {
        filter: brightness(1.08);
    }
    .kinma-floating-action:focus-visible, .kinma-floating-emblem:focus-visible, .kinma-floating-warning:focus-visible { box-shadow: inset 0 0 0 2px #fff; }
    .kinma-floating-action[data-floating-key='profile']:focus-visible:not(.is-selected) { box-shadow: none; }
    .kinma-floating-action.is-selected {
        color:#fff; background:rgba(255,255,255,.15); box-shadow:inset 0 -3px 0 #fff, inset 0 3px 0 #fff;
    }
    .kinma-floating-action:active { background:rgba(255,255,255,.24); }
}
