/* =========================
   DYNAMIC ISLAND — VARIABLES
   ========================= */

:root {
    /* Width */
    --island-width-mobile: 95vw;
    --island-width-desktop: 50vw;

    /* Height (reposo) */
    --island-height-mobile: 85px;
    --island-height-desktop: 80px;

    /* Height (expandido) */
    --island-height-expanded-mobile: 180px;
    --island-height-expanded-desktop: 180px;

    /* Radius */
    --island-radius: 10px;
    --island-module-radius: 6px;

    /* Color & Transparency */
    --island-bg-color: rgba(255, 255, 255, 0.4);
    --island-module-bg-color: rgba(0, 0, 0, 0.6);

    /* Layout */
    --island-padding: 8px;
    --island-gap: 6px;

    /* Timing */
    --island-transition-fast: 0.2s;
    --island-transition-base: 0.35s;
    --island-transition-slow: 0.5s;
    --island-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* =========================
   DYNAMIC ISLAND — BASE
   ========================= */

.dynamic-island {
    position: fixed;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);

    width: var(--island-width-mobile);
    height: var(--island-height-mobile);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--island-gap);

    padding: var(--island-padding);

    background: var(--island-bg-color);
    border-radius: var(--island-radius);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    z-index: 100;

    transition:
        width var(--island-transition-base) var(--island-ease),
        height var(--island-transition-base) var(--island-ease),
        background var(--island-transition-base) var(--island-ease);

    touch-action: manipulation;
}

/* =========================
   DESKTOP REFINEMENT
   ========================= */

@media (min-width: 768px) {
    .dynamic-island {
        width: var(--island-width-desktop);
        height: var(--island-height-desktop);
    }
}

/* =========================
   ISLAND MODULE — BASE
   ========================= */

.island-module {
    flex: 1;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--island-module-bg-color);
    border-radius: var(--island-module-radius);

    cursor: pointer;
    text-decoration: none;

    transition:
        background var(--island-transition-fast) var(--island-ease),
        transform var(--island-transition-fast) var(--island-ease);
}

/* =========================
   MODULE IMAGE
   ========================= */

.island-module img {
    width: 80%;
    height: 80%;
    object-fit: contain;
    pointer-events: none;
}

/* =========================
   MODULE INTERACTION
   ========================= */

.island-module:hover,
.island-module:focus-visible {
    background: rgba(0, 0, 0, 0.75);
    transform: translateY(-1px);
}

.island-module:focus {
    outline: none;
}