@font-face {
    font-family: "Space Grotesk";
    src: url("composeResources/vocabrawl.shared.generated.resources/font/space_grotesk_variable.ttf") format("truetype");
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
}

:root {
    /* Keep the browser shell aligned with LangowagePalettes.Default. */
    --theme-bg: #050A09;
    --theme-surface: #0A1412;
    --theme-primary: #5CFBDC;
    --theme-primary-bright: #3AFBCF;
    --theme-success: #38F2A7;
    --theme-muted: #51A694;
    --theme-border: #22443B;
    --theme-text: #E9FFF9;
    --theme-subtext: #7CA89E;
    --theme-wrong: #FF6B7A;
}

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: var(--theme-bg);
    color: var(--theme-text);
    overscroll-behavior: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    font-family: "Space Grotesk", system-ui, sans-serif;
}

@supports (height: 100dvh) {
    html, body { height: 100dvh; }
}

canvas {
    display: block;
    width: 100%;
    height: 100%;
    outline: none;
}

#boot {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--theme-text);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
}

#boot span {
    width: 11px;
    height: 11px;
    border-radius: 4px;
    background: var(--theme-primary-bright);
    animation: pulse .8s ease-in-out infinite alternate;
}

#boot.boot-failed {
    box-sizing: border-box;
    flex-direction: column;
    gap: 14px;
    padding: 28px;
    text-align: center;
    letter-spacing: normal;
}

#boot.boot-failed span {
    width: auto;
    height: auto;
    max-width: 420px;
    background: none;
    animation: none;
    color: var(--theme-subtext);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

#boot.boot-failed button {
    border: 1px solid var(--theme-primary);
    border-radius: 10px;
    padding: 10px 18px;
    background: var(--theme-primary);
    color: var(--theme-bg);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

@keyframes pulse { to { opacity: .35; transform: scale(.8); } }
