    :root {
        --bg: #0a0e17;
        --panel: #10151f;
        --panel-border: #1c2433;
        --accent: #3b82f6;
        --accent-soft: #60a5fa;
        --text-main: #e7ecf5;
        --text-muted: #8b96ac;
    }

    * {
        box-sizing: border-box;
    }

    html, body {
        height: 100%;
    }

    body {
        background: var(--bg);
        color: var(--text-main);
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        margin: 0;
        padding: 0;
        line-height: 1.5;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }

    main {
        flex: 1 0 auto;
    }

    .header {
        padding: 28px 20px;
        text-align: center;
        background: #0c111c;
        border-bottom: 1px solid var(--panel-border);
    }

    .header h1 {
        font-size: 28px;
        font-weight: 600;
        color: var(--text-main);
        letter-spacing: -0.02em;
        margin: 0;
    }

    .header h1 span {
        color: var(--accent-soft);
    }

    .container {
        width: 90%;
        max-width: 680px;
        margin: 60px auto;
        text-align: center;
    }

    .intro-title {
        color: var(--text-main);
        font-size: 26px;
        font-weight: 600;
        margin-bottom: 12px;
        letter-spacing: -0.01em;
    }

    .intro-text {
        color: var(--text-muted);
        font-size: 16px;
        max-width: 560px;
        margin: 0 auto 44px auto;
        line-height: 1.65;
    }

    .tool-card {
        background: var(--panel);
        padding: 28px 30px;
        border-radius: 12px;
        margin: 18px 0;
        border: 1px solid var(--panel-border);
        transition: border-color 0.2s ease, transform 0.2s ease;
        cursor: pointer;
        text-align: left;
    }

    .tool-card:hover {
        border-color: var(--accent);
        transform: translateY(-2px);
    }

    .tool-card h2 {
        color: var(--text-main);
        font-size: 20px;
        font-weight: 600;
        margin: 0 0 6px 0;
    }

    .tool-card p {
        color: var(--text-muted);
        font-size: 15px;
        margin: 0;
    }

    /* Tool panels */
    .panel {
        display: none;
        background: var(--panel);
        padding: 32px;
        border-radius: 12px;
        margin: 25px auto;
        border: 1px solid var(--panel-border);
        width: 90%;
        max-width: 680px;
        text-align: left;
    }

    .panel h2 {
        font-size: 22px;
        font-weight: 600;
        color: var(--text-main);
        margin-top: 0;
    }

    .panel-subtitle {
        color: var(--text-muted);
        font-size: 14px;
        margin-top: -8px;
        margin-bottom: 20px;
    }

    label {
        display: block;
        margin-top: 18px;
        margin-bottom: 6px;
        font-size: 13px;
        font-weight: 600;
        color: var(--text-muted);
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    input[type="file"],
    select,
    input[type="number"] {
        width: 100%;
        padding: 12px 14px;
        border-radius: 8px;
        border: 1px solid var(--panel-border);
        background: #0c111c;
        color: var(--text-main);
        font-size: 15px;
        outline: none;
        transition: border-color 0.2s ease;
    }

    input[type="file"]:focus,
    select:focus,
    input[type="number"]:focus {
        border-color: var(--accent);
    }

    button {
        width: 100%;
        padding: 14px;
        margin-top: 26px;
        background: var(--accent);
        border: none;
        border-radius: 8px;
        color: white;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: background 0.2s ease;
    }

    button:hover {
        background: var(--accent-soft);
    }

    #previewConvert, #previewResize, #previewCompress, #previewBgRemove {
        max-width: 100%;
        margin-top: 24px;
        border-radius: 10px;
        border: 1px solid var(--panel-border);
        display: none;
    }

    #previewBgRemove {
        background-image:
            linear-gradient(45deg, #1c2433 25%, transparent 25%),
            linear-gradient(-45deg, #1c2433 25%, transparent 25%),
            linear-gradient(45deg, transparent 75%, #1c2433 75%),
            linear-gradient(-45deg, transparent 75%, #1c2433 75%);
        background-size: 20px 20px;
        background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
    }

    .status-text {
        display: none;
        margin-top: 14px;
        font-size: 13px;
        color: var(--text-muted);
    }

    .back-btn {
        margin-top: 12px;
        background: transparent;
        border: 1px solid var(--panel-border);
        color: var(--text-muted);
    }

    .back-btn:hover {
        background: #161d2b;
        color: var(--text-main);
    }

    .footer {
        text-align: center;
        margin-top: 50px;
        padding: 24px 20px;
        border-top: 1px solid var(--panel-border);
        color: var(--text-muted);
        font-size: 13px;
    }

    .footer a {
        color: var(--text-muted);
        text-decoration: none;
        margin: 0 10px;
        cursor: pointer;
        transition: color 0.2s ease;
    }

    .footer a:hover {
        color: var(--accent-soft);
    }

    /* Dark overlay */
    .overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.6);
        z-index: 9998;
    }

    /* Terms Popup */
    .terms-popup {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: var(--panel);
        padding: 30px;
        width: 90%;
        max-width: 560px;
        max-height: 80vh;
        overflow-y: auto;
        border-radius: 12px;
        border: 1px solid var(--panel-border);
        z-index: 9999;
        animation: fadeIn 0.2s ease;
        text-align: left;
    }

    @keyframes fadeIn {
        from { opacity: 0; transform: translate(-50%, -48%); }
        to { opacity: 1; transform: translate(-50%, -50%); }
    }

    .terms-popup h2 {
        color: var(--text-main);
        margin-top: 0;
        font-size: 20px;
    }

    .terms-popup p {
        color: var(--text-muted);
        line-height: 1.6;
        margin-bottom: 15px;
        font-size: 14px;
    }

    .close-terms {
        float: right;
        font-size: 20px;
        cursor: pointer;
        color: var(--text-muted);
        line-height: 1;
    }

    .close-terms:hover {
        color: var(--text-main);
    }

