/* Page-specific styles */
        .tool-hero {
            min-height: 50vh;
            display: flex;
            align-items: center;
            padding: 8rem 0 4rem;
            text-align: center;
        }

        .tool-hero h1 {
            font-family: 'Satoshi', sans-serif;
            font-size: clamp(2.5rem, 6vw, 4rem);
            font-weight: 700;
            letter-spacing: -0.03em;
            line-height: 1.1;
            margin-bottom: 1rem;
        }

        .tool-hero p {
            font-size: 1.125rem;
            color: rgba(255, 255, 255, 0.75);
            max-width: 600px;
            margin: 0 auto 2rem;
        }

        /* URL Input Form */
        .url-form {
            max-width: 600px;
            margin: 0 auto;
            display: flex;
            gap: 0.75rem;
        }

        .url-input {
            flex: 1;
            padding: 1rem 1.25rem;
            font-size: 1rem;
            color: #fff;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 10px;
            outline: none;
            transition: all 0.2s ease;
        }

        .url-input:focus {
            border-color: rgba(255, 255, 255, 0.4);
            background: rgba(255, 255, 255, 0.08);
        }

        .url-input::placeholder {
            color: rgba(255, 255, 255, 0.4);
        }

        .roast-btn {
            padding: 1rem 2rem;
            font-size: 1rem;
            font-weight: 600;
            color: #000;
            background: #fff;
            border: none;
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.2s ease;
            white-space: nowrap;
        }

        .roast-btn:hover {
            opacity: 0.9;
            transform: translateY(-1px);
        }

        .roast-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
            transform: none;
        }

        /* Loading State */
        .loading-state {
            display: none;
            text-align: center;
            padding: 4rem 0;
            position: relative;
            z-index: 10;
        }

        .loading-state.active {
            display: block;
            opacity: 1 !important;
        }

        .loading-spinner {
            width: 48px;
            height: 48px;
            border: 3px solid rgba(255, 255, 255, 0.1);
            border-top-color: #fff;
            border-radius: 50%;
            animation: spin 1s linear infinite;
            margin: 0 auto 1.5rem;
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        .loading-text {
            color: #fff !important;
            font-size: 1.125rem;
        }

        .loading-subtext {
            color: #a3a3a3 !important;
            font-size: 0.875rem;
            margin-top: 0.5rem;
        }

        /* Results Section */
        .results-section {
            display: none;
            padding: 3rem 0 6rem;
            position: relative;
            z-index: 10;
        }

        .results-section.active {
            display: block;
            opacity: 1 !important;
        }

        .results-card {
            background: rgba(10, 10, 10, 0.98) !important;
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 16px;
            padding: 2.5rem;
            max-width: 900px;
            margin: 0 auto;
            opacity: 1 !important;
            color: #fff !important;
        }

        .results-card * {
            opacity: 1 !important;
        }

        /* Screenshot */
        .screenshot-container {
            margin-bottom: 2rem;
            border-radius: 12px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .screenshot-container img {
            width: 100%;
            height: auto;
            display: block;
        }

        /* Score Display */
        .score-section {
            display: flex;
            align-items: center;
            gap: 2rem;
            margin-bottom: 2rem;
            padding-bottom: 2rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .overall-score {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .score-terrible { background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%); }
        .score-poor { background: linear-gradient(135deg, #f97316 0%, #ea580c 100%); }
        .score-okay { background: linear-gradient(135deg, #eab308 0%, #ca8a04 100%); }
        .score-good { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); }
        .score-great { background: linear-gradient(135deg, #10b981 0%, #059669 100%); }

        .score-number {
            font-family: 'Satoshi', sans-serif;
            font-size: 2.5rem;
            font-weight: 700;
            color: #fff;
            line-height: 1;
        }

        .score-label {
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.8);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .score-summary {
            flex: 1;
        }

        .score-summary h2 {
            font-family: 'Satoshi', sans-serif;
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: #fff !important;
        }

        .score-summary p {
            color: #d4d4d4 !important;
            font-size: 1rem;
            line-height: 1.6;
        }

        /* The Roast */
        .roast-content {
            margin-bottom: 2rem;
        }

        .roast-content h3 {
            font-family: 'Satoshi', sans-serif;
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            color: #fff !important;
        }

        .roast-text {
            color: #e5e5e5 !important;
            font-size: 1.0625rem;
            line-height: 1.8;
            white-space: pre-wrap;
        }

        /* Category Scores */
        .category-scores {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 1rem;
            margin-bottom: 2rem;
        }

        .category-item {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 10px;
            padding: 1rem;
            text-align: center;
        }

        .category-name {
            font-size: 0.8125rem;
            color: #a3a3a3 !important;
            margin-bottom: 0.5rem;
        }

        .category-score {
            font-family: 'Satoshi', sans-serif;
            font-size: 1.5rem;
            font-weight: 700;
        }

        .cat-score-low { color: #ef4444 !important; }
        .cat-score-mid { color: #eab308 !important; }
        .cat-score-high { color: #22c55e !important; }

        /* Issues List */
        .issues-section {
            margin-bottom: 2rem;
        }

        .issues-section h3 {
            font-family: 'Satoshi', sans-serif;
            font-size: 1.125rem;
            font-weight: 600;
            margin-bottom: 1rem;
            color: #fff !important;
        }

        .issue-item {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            padding: 0.75rem 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .issue-item:last-child {
            border-bottom: none;
        }

        .issue-icon {
            color: #ef4444 !important;
            flex-shrink: 0;
            margin-top: 0.125rem;
        }

        .issue-text {
            color: #d4d4d4 !important;
            font-size: 0.9375rem;
            line-height: 1.5;
        }

        /* Share Section */
        .share-section {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1rem;
            padding-top: 1.5rem;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
        }

        .share-text {
            color: #a3a3a3 !important;
            font-size: 0.875rem;
        }

        .share-buttons {
            display: flex;
            gap: 0.75rem;
        }

        .share-btn {
            padding: 0.5rem 1rem;
            font-size: 0.8125rem;
            font-weight: 500;
            color: #d4d4d4 !important;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.15s ease;
            text-decoration: none;
        }

        .share-btn:hover {
            background: rgba(255, 255, 255, 0.15);
            border-color: rgba(255, 255, 255, 0.25);
            color: #fff !important;
        }

        /* Error State */
        .error-message {
            display: none;
            margin-top: 1rem;
            text-align: center;
        }

        .error-message.active {
            display: block !important;
            opacity: 1 !important;
            visibility: visible !important;
            color: #ef4444 !important;
        }

        /* CTA Section */
        .cta-section {
            padding: 4rem 0 6rem;
            text-align: center;
        }

        .cta-content {
            background: rgba(10, 10, 10, 0.95);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 16px;
            padding: 4rem 2rem;
            max-width: 700px;
            margin: 0 auto;
        }

        .cta-section h2 {
            font-family: 'Satoshi', sans-serif;
            font-size: clamp(1.75rem, 4vw, 2.25rem);
            font-weight: 700;
            margin-bottom: 1rem;
        }

        .cta-section p {
            color: rgba(255, 255, 255, 0.7);
            margin-bottom: 2rem;
        }

        /* Rate Limit Notice */
        .rate-limit-notice {
            font-size: 0.8125rem;
            color: rgba(255, 255, 255, 0.5);
            margin-top: 1rem;
        }

        /* Try Another */
        .try-another {
            text-align: center;
            margin-top: 2rem;
        }

        .try-another-btn {
            padding: 0.75rem 1.5rem;
            font-size: 0.875rem;
            font-weight: 500;
            color: #d4d4d4 !important;
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.25);
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .try-another-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.35);
            color: #fff !important;
        }

        /* Inline Email Form */
        .email-inline {
            margin-left: auto;
            flex-shrink: 0;
        }

        .email-inline-form {
            display: flex;
            gap: 0.5rem;
        }

        .email-inline-input {
            width: 180px;
            padding: 0.5rem 0.75rem;
            font-size: 0.8125rem;
            color: #fff;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 6px;
            outline: none;
            transition: border-color 0.15s ease;
        }

        .email-inline-input:focus {
            border-color: rgba(255, 255, 255, 0.3);
        }

        .email-inline-input::placeholder {
            color: rgba(255, 255, 255, 0.4);
        }

        .email-inline-btn {
            padding: 0.5rem 1rem;
            font-size: 0.8125rem;
            font-weight: 500;
            color: #000;
            background: #fff;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            transition: opacity 0.15s ease;
            white-space: nowrap;
        }

        .email-inline-btn:hover {
            opacity: 0.9;
        }

        .email-inline-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        .email-success-inline {
            color: #22c55e !important;
            font-size: 0.8125rem;
            display: flex;
            align-items: center;
            gap: 0.375rem;
        }

        /* FAQ Section */
        .faq-section {
            padding: 4rem 0 2rem;
        }

        .faq-section h2 {
            font-family: 'Satoshi', sans-serif;
            font-size: 1.75rem;
            font-weight: 700;
            text-align: center;
            margin-bottom: 2.5rem;
        }

        .faq-grid {
            max-width: 700px;
            margin: 0 auto;
        }

        .faq-item {
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .faq-question {
            padding: 1.25rem 0;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.9);
        }

        .faq-question:hover {
            color: #fff;
        }

        .faq-icon {
            font-size: 1.25rem;
            color: rgba(255, 255, 255, 0.5);
            transition: transform 0.2s ease;
        }

        .faq-item.active .faq-icon {
            transform: rotate(45deg);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
        }

        .faq-answer-content {
            padding-bottom: 1.25rem;
            color: rgba(255, 255, 255, 0.7);
            font-size: 0.9375rem;
            line-height: 1.7;
        }

        .faq-item.active .faq-answer {
            max-height: 300px;
        }

        /* Mobile */
        @media (max-width: 768px) {
            .desktop-only {
                display: none !important;
            }

            .tool-hero {
                padding: 7rem 0 3rem;
            }

            .url-form {
                flex-direction: column;
            }

            .roast-btn {
                width: 100%;
            }

            .results-card {
                padding: 1.5rem;
                margin: 0 1rem;
            }

            .score-section {
                flex-direction: column;
                text-align: center;
            }

            .category-scores {
                grid-template-columns: repeat(2, 1fr);
            }

            .share-section {
                flex-direction: column;
                text-align: center;
            }

            .email-inline {
                margin-left: 0;
                margin-top: 1rem;
                width: 100%;
            }

            .email-inline-form {
                flex-direction: column;
            }

            .email-inline-input {
                width: 100%;
            }

            .email-inline-btn {
                width: 100%;
            }

            .cta-content {
                padding: 2.5rem 1.5rem;
                margin: 0 1rem;
            }
        }