:root{--color-bg: #0f172a;--color-surface: #1e293b;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-accent: #fbbf24;--color-border: #334155;--font-heading: "Inter", sans-serif;--font-body: "Inter", sans-serif;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--radius-sm: .375rem;--radius-md: .5rem}body{margin:0;font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6}.app-container{display:flex;flex-direction:column;min-height:100vh}.container{max-width:900px;margin:0 auto;padding:0 var(--spacing-md);width:100%;box-sizing:border-box}.main-content{flex-grow:1;padding:var(--spacing-lg) 0}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg) 0}.header-content{display:flex;justify-content:space-between;align-items:center}.header-title{font-size:1.875rem;font-weight:800;margin:0;color:#fff}.text-accent{color:var(--color-accent)}.section-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.directory-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:768px){.directory-grid{grid-template-columns:repeat(2,1fr)}}.directory-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);display:block;text-decoration:none;transition:transform .2s,border-color .2s}.directory-card:hover{transform:translateY(-4px);border-color:var(--color-accent);text-decoration:none}.card-title{color:var(--color-accent);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-sm) 0;transition:color .2s}.directory-card:hover .card-title{color:#fff}.card-description{color:var(--color-text-secondary);font-size:.875rem;margin:0}.footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-lg) 0;margin-top:auto}.footer-content{text-align:center;color:var(--color-text-secondary);font-size:.875rem}.ad-banner{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background-color:#0003;border:1px dashed var(--color-border);border-radius:var(--radius-md);display:flex;justify-content:center;align-items:center;min-height:120px}.ad-content{text-align:center}.ad-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:90%;max-width:500px;position:relative;border:1px solid var(--color-border)}.modal-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;transition:color .2s}.modal-close:hover{color:var(--color-text-primary)}.modal-title{margin-top:0;margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-size:1.5rem}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);font-size:.875rem}.form-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg);color:var(--color-text-primary);font-family:inherit;font-size:1rem;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #fbbf2433}.form-error{color:#ef4444;font-size:.875rem;margin-top:var(--spacing-sm)}.submit-btn{background-color:var(--color-accent);color:var(--color-bg);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:background-color .2s;width:100%}.submit-btn:hover{background-color:#f59e0b}.header-btn{background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all .2s}.header-btn:hover{background-color:var(--color-accent);color:var(--color-bg)}
