@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');

* {
    font-family: 'Figtree', sans-serif;
    box-sizing: border-box;
}

img {
    user-select: none;
    pointer-events: none;
}

input[type=text] {
    text-overflow: ellipsis;
}

/* Generic Styling for Tools Content */
.tool-access-content {
    padding: 1.5rem;
    outline: none;
    font-size: 0.95rem;
    line-height: 1.625;
    color: #1f2937;
}

.tool-access-content>* {
    white-space: normal;
    line-height: normal;
}

.tool-access-content h1 {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    color: #111827;
}

.tool-access-content h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: #111827;
}

.tool-access-content h3 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    color: #111827;
}

.tool-access-content p {
    margin-bottom: 1.25rem;
}

.tool-access-content ul {
    list-style-type: disc !important;
    padding-left: 1.5rem !important;
    margin-bottom: 1.25rem !important;
}

.tool-access-content ol {
    list-style-type: decimal !important;
    padding-left: 1.5rem !important;
    margin-bottom: 1.25rem !important;
}

.tool-access-content li {
    margin-bottom: 0.5rem;
}

.tool-access-content blockquote {
    border-left: 4px solid #3b82f6;
    padding-left: 1.25rem;
    font-style: italic;
    color: #4b5563;
    margin: 2rem 0;
    background: #f8fafc;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-radius: 0 0.5rem 0.5rem 0;
}

.tool-access-content code {
    background: #f1f5f9;
    color: #e11d48;
    padding: 0.2rem 0.4rem;
    border-radius: 0.25rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.85em;
}

.tool-access-content pre {
    background: #0f172a;
    color: #f8fafc;
    padding: 1.25rem;
    border-radius: 0.75rem;
    margin: 1.5rem 0;
    overflow-x: auto;
}

.tool-access-content pre code {
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: 0.9em !important;
}

.tool-access-content a {
    color: #3b82f6;
    text-decoration: underline;
    font-weight: 500;
    cursor: pointer;
}

/* Private Tools Page */
.hero-mesh-bg {
    background-image: 
        radial-gradient(at 0% 0%, hsla(225, 100%, 94%, 1) 0, transparent 50%), 
        radial-gradient(at 50% 0%, hsla(250, 100%, 92%, 1) 0, transparent 50%), 
        radial-gradient(at 100% 0%, hsla(225, 100%, 94%, 1) 0, transparent 50%);
}
.hero-mesh-bg::after {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* Specific Orbit Animations */
.animate-orbit-1 { animation: orbit-rotate 20s linear infinite; }
.animate-orbit-2 { animation: orbit-rotate-reverse 30s linear infinite; }
.animate-orbit-3 { animation: orbit-rotate 40s linear infinite; }

/* Counter-rotation to keep icons upright */
.orbit-1-tool { animation: orbit-counter 20s linear infinite; }
.orbit-2-tool { animation: orbit-counter-reverse 30s linear infinite; }
.orbit-3-tool { animation: orbit-counter 40s linear infinite; }

/* Tool Positioning - Precise offsets to maintain orbit alignment */
.orbit-1-pos-1 { top: -26px; left: 50%; margin-left: -26px; }
.orbit-1-pos-2 { right: -26px; top: 50%; margin-top: -26px; }
.orbit-1-pos-3 { bottom: -26px; left: 50%; margin-left: -26px; }
.orbit-1-pos-4 { left: -26px; top: 50%; margin-top: -26px; }

.orbit-2-pos-1 { top: -26px; left: 50%; margin-left: -26px; }
.orbit-2-pos-2 { top: 18%; right: 4%; }
.orbit-2-pos-3 { bottom: 14%; right: 10%; }
.orbit-2-pos-4 { bottom: 14%; left: 10%; }
.orbit-2-pos-5 { top: 18%; left: 4%; }

.orbit-3-pos-1 { top: 8%; left: 50%; margin-left: -26px; }
.orbit-3-pos-2 { top: 22%; right: 3%; }
.orbit-3-pos-3 { bottom: 22%; right: 3%; }
.orbit-3-pos-4 { bottom: 8%; left: 50%; margin-left: -26px; }
.orbit-3-pos-5 { bottom: 22%; left: 3%; }
.orbit-3-pos-6 { top: 22%; left: 3%; }

@keyframes float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(2deg); }
}
@keyframes orbit-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

@keyframes orbit-rotate {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes orbit-rotate-reverse {
    from { transform: translate(-50%, -50%) rotate(360deg); }
    to { transform: translate(-50%, -50%) rotate(0deg); }
}

@keyframes orbit-counter {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}

@keyframes orbit-counter-reverse {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes orbit-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

