/* ===== Kitty Meadow — cozy daylight meadow theme ===== */
:root {
    --grass: #7ec850;
    --grass-d: #5aa83a;
    --sky: #bfe9ff;
    --cream: #fff7e6;
    --ink: #3a4a2f;
    --soil: #7a5230;
    --soil-d: #5e3d22;
    --sun: #ffd24a;
    --pink: #ff8fb1;
    --shadow: rgba(58, 74, 47, 0.18);
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    font-family: 'Fredoka', system-ui, sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 50% -10%, #aacfe0 0%, transparent 45%),
        linear-gradient(180deg, #6fa6c0 0%, #7bb066 44%, #588f34 100%);
    background-attachment: fixed;
    min-height: 100vh;
    overflow-x: hidden;
    -webkit-user-select: none;
    user-select: none;
}

h1, h2, h3 { margin: 0; }
button { font-family: inherit; cursor: pointer; }
:focus { outline: none; }

::selection { background: var(--grass); color: #fff; }

/* boot */
.boot {
    position: fixed; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 0.8rem;
    background: linear-gradient(180deg, var(--sky), #aee07e);
}
.boot-emoji { font-size: 4rem; animation: bootBounce 1s ease-in-out infinite; }
.boot-text { font-weight: 600; font-size: 1.3rem; color: var(--grass-d); letter-spacing: 0.02em; }
@keyframes bootBounce { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-14px) scale(1.1); } }

#blazor-error-ui {
    background: #fff7e6;
    color: #8a5a2b;
    border-top: 3px solid var(--sun);
    bottom: 0; left: 0; width: 100%;
    box-sizing: border-box;
    display: none;
    padding: 0.6rem 1.25rem 0.7rem;
    position: fixed;
    z-index: 1000;
}
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }
.blazor-error-boundary { background: #f6c453; padding: 1rem; color: #5e3d22; }
.blazor-error-boundary::after { content: "A kitty caused chaos. Reload?"; }
