/* TinyToolbox — Flipbook Maker theme */

:root {
    --bg: #171d38;
    --bg-light: #222a4a;

    --mint: #48ad91;
    --mint-light: #72c7ae;
    --mint-dark: #2f8e76;

    --cream: #fffaf0;
    --cream-dark: #f1eadb;

    --text: #f7f4eb;
    --text-dark: #26342f;
    --muted: #6b8179;

    --shadow: rgba(0, 0, 0, 0.28);
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: "Nunito", Arial, sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at 50% -10%, #30385d 0%, var(--bg) 48%, #12172d 100%);
}

/* Hide the redundant TinyToolbox header */
body > h1 {
    display: none;
}

.workspace {
    width: min(1250px, calc(100% - 40px));
    margin: 0 auto;
    padding: 30px 0 60px;
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.controls {
    min-width: 0;
    padding: 24px;
    color: var(--text-dark);
    background: linear-gradient(180deg, #ffffff 0%, var(--cream) 100%);
    border: 4px solid var(--mint);
    border-radius: 12px;
    box-shadow:
        0 5px 0 rgba(72, 173, 145, 0.18),
        0 12px 28px var(--shadow);
}

.controls input[type="file"] {
    width: 100%;
    padding: 8px;
    color: var(--text-dark);
    background: #ffffff;
    border: 2px solid #b9ded1;
    border-radius: 6px;
}

.controls p {
    color: var(--muted);
    font-weight: 700;
}

.controls label {
    color: var(--text-dark);
    font-weight: 700;
}

.controls input[type="number"] {
    width: 80px;
    margin-left: 6px;
    padding: 7px 9px;
    color: var(--text-dark);
    background: #ffffff;
    border: 2px solid #b9ded1;
    border-radius: 6px;
    font-family: "Nunito", Arial, sans-serif;
    font-size: 14px;
}

button {
    padding: 11px 16px;
    color: #ffffff;
    background: var(--mint);
    border: 3px solid var(--mint-dark);
    border-radius: 8px;

    /* Bolder and easier to read */
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.5px;
    line-height: 1.5;

    cursor: pointer;

    box-shadow: 0 4px 0 var(--mint-dark);

    transition:
        transform 100ms ease,
        background 100ms ease,
        box-shadow 100ms ease;
}

button:hover:not(:disabled) {
    background: var(--mint-dark);
}

button:active:not(:disabled) {
    transform: translateY(3px);
    box-shadow: 0 1px 0 var(--mint-dark);
}

button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: 0 2px 0 #78958c;
}

.preview-area {
    max-width: 100%;
    max-height: calc(100vh - 100px);
    overflow: auto;
    padding: 22px;
    background: rgba(34, 42, 74, 0.82);
    border: 4px solid var(--mint-dark);
    border-radius: 12px;
    box-shadow:
        0 5px 0 rgba(0, 0, 0, 0.18),
        0 12px 28px var(--shadow);
}

canvas {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    background: #ffffff;
    border: 4px solid var(--cream);
    image-rendering: pixelated;
    box-shadow: 0 5px 0 rgba(0, 0, 0, 0.25);
}

.preview-area::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

.preview-area::-webkit-scrollbar-track {
    background: #151a30;
}

.preview-area::-webkit-scrollbar-thumb {
    background: var(--mint-dark);
    border: 3px solid #151a30;
    border-radius: 6px;
}

.preview-area::-webkit-scrollbar-thumb:hover {
    background: var(--mint);
}

@media (max-width: 800px) {
    .workspace {
        width: calc(100% - 24px);
        grid-template-columns: 1fr;
        gap: 18px;
        padding-top: 24px;
    }

    .controls {
        padding: 20px;
    }

    .preview-area {
        max-height: none;
        padding: 14px;
    }
}

@media (max-width: 480px) {
    .workspace {
        width: calc(100% - 16px);
    }

    .controls {
        padding: 16px;
        border-width: 3px;
    }

    .preview-area {
        padding: 10px;
        border-width: 3px;
    }

    button {
        width: 100%;
    }
}
