@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";
:root{--bg-main:#f5f5f7;--bg-card:#fff;--bg-surface:#fff;--text-main:#1d1d1f;--text-muted:#86868b;--text-dark:#1d1d1f;--white:#fff;--gray-50:#f5f5f7;--gray-100:#e8e8ed;--gray-200:#d2d2d7;--gray-300:#b0b0b8;--gray-400:#86868b;--gray-500:#6e6e73;--gray-600:#515154;--gray-700:#3a3a3c;--gray-800:#1d1d1f;--gray-900:#121212;--gray-950:#000;--primary:#0071e3;--primary-light:#0077ed;--primary-dark:#06c;--primary-glow:#0071e314;--primary-glow-hover:#0071e326;--accent-vermillion:#ff3b30;--accent-vermillion-glow:#ff3b3014;--danger-light:#ff3b3014;--accent-amber:#ff9500;--accent-amber-glow:#ff950014;--accent-cyan:#30b0c7;--accent-cyan-glow:#30b0c714;--border-glass:#0000000f;--border-glass-hover:#0000001f;--success:#34c759;--success-glow:#34c75914;--success-light:#34c75914;--warning:#ff9500;--warning-light:#ff950014;--danger:#ff3b30;--danger-glow:#ff3b3014;--info:#0071e3;--info-glow:#0071e314;--info-light:#0071e314;--radius-sm:8px;--radius:18px;--radius-md:18px;--radius-lg:24px;--container:1100px;--header-height:48px;--shadow-sm:0 2px 8px #00000008;--shadow:0 8px 30px #0000000a;--shadow-glow:0 8px 30px #0071e31f;--blur:blur(20px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0000004d}a{color:inherit;text-decoration:none;transition:all .2s}img{border-radius:var(--radius-sm);max-width:100%;height:auto;transition:all .3s}button,input,select,textarea{border-radius:var(--radius-sm);outline:none;font-family:inherit}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.header{-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--border-glass);z-index:100;height:var(--header-height);background:#f5f5f7b8;transition:all .3s;position:sticky;top:0}.header-inner{max-width:var(--container);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 24px;display:flex}.logo{color:var(--text-main);letter-spacing:-.5px;align-items:center;gap:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:700;display:flex}.logo span{color:var(--text-muted);font-weight:500}.logo svg{color:var(--text-main)}.logo-svg{transition:transform .4s cubic-bezier(.25,1,.5,1)}.logo-group{transform-origin:50%;transform-box:fill-box;transition:transform .4s cubic-bezier(.25,1,.5,1);animation:6s ease-in-out infinite alternate logo-float}.logo-path{fill:currentColor;opacity:0;transform-origin:50%;transform-box:fill-box;transition:fill .3s;animation:.9s cubic-bezier(.16,1,.3,1) forwards logo-path-reveal;transform:scale(.92)translate(5px,5px)}.logo-path:nth-child(6n+1){animation-delay:50ms}.logo-path:nth-child(6n+2){animation-delay:.1s}.logo-path:nth-child(6n+3){animation-delay:.15s}.logo-path:nth-child(6n+4){animation-delay:.2s}.logo-path:nth-child(6n+5){animation-delay:.25s}.logo-path:nth-child(6n+6){animation-delay:.3s}.logo:hover .logo-svg{transform:scale(1.05)}.logo:hover .logo-group{transform:rotate(4deg)scale(1.02)}.logo:hover .logo-path{fill:var(--primary)}@keyframes logo-path-reveal{to{opacity:1;transform:scale(1)translate(0)}}@keyframes logo-float{0%{transform:translateY(0)}to{transform:translateY(-2.5px)}}@media (prefers-reduced-motion:reduce){.logo-path{opacity:1;animation:none;transform:none}.logo-group{animation:none}.logo-svg{transition:none}}.nav{align-items:center;gap:4px;height:100%;display:flex}.nav a{color:#1d1d1fcc;border-radius:var(--radius-sm);letter-spacing:.1px;align-items:center;padding:4px 14px;font-size:.75rem;font-weight:400;transition:color .2s,opacity .2s;display:flex}.nav a:hover{color:var(--primary)}.nav a.active{color:var(--text-main);font-weight:600}.mobile-menu-btn{color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:all .2s;display:none}.mobile-menu-btn:hover{background:#0000000a}.mobile-nav{top:var(--header-height);-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--border-glass);z-index:99;opacity:0;pointer-events:none;background:#f5f5f7f5;flex-direction:column;gap:4px;padding:12px;transition:all .3s;display:none;position:fixed;left:0;right:0;transform:translateY(-10px)}.mobile-nav.open{opacity:1;pointer-events:auto;display:flex;transform:translateY(0)}.mobile-nav a{color:#1d1d1fcc;border-radius:var(--radius-sm);padding:10px 16px;font-size:.9rem;font-weight:500;display:block}.mobile-nav a:hover,.mobile-nav a.active{color:var(--text-main);background:#0000000a}@media (max-width:768px){.nav{display:none}.mobile-menu-btn{display:flex}}.hero{text-align:center;padding:80px 0 40px;position:relative}.hero h1{color:var(--text-main);letter-spacing:-1.5px;margin-bottom:16px;font-family:Plus Jakarta Sans,sans-serif;font-size:3.5rem;font-weight:800;line-height:1.1}.hero h1 .highlight{color:var(--primary);font-weight:800;display:inline-block}.hero p{color:var(--text-muted);max-width:600px;margin:0 auto 36px;font-size:1.25rem;font-weight:400;line-height:1.5}.search-bar{border:1px solid var(--border-glass);background:#fff;border-radius:30px;max-width:600px;margin:0 auto 40px;padding:4px;transition:all .3s;display:flex;box-shadow:0 4px 20px #0000000a}.search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #0071e326}.search-bar input{color:var(--text-main);background:0 0;border:none;flex:1;padding:12px 24px;font-size:.95rem}.search-bar input::placeholder{color:var(--text-muted)}.search-bar button{background:var(--primary);color:var(--white);cursor:pointer;border:none;border-radius:24px;align-items:center;gap:6px;padding:0 24px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.search-bar button:hover{background:var(--primary-light)}@media (max-width:768px){.hero h1{font-size:2.5rem}.search-bar{border-radius:var(--radius);flex-direction:column;padding:6px}.search-bar button{border-radius:var(--radius-sm);justify-content:center;padding:12px 0}}.stats-bar{flex-wrap:wrap;justify-content:center;gap:48px;margin-top:32px;display:flex}.stat-item{text-align:center}.stat-item .stat-number{color:var(--text-main);font-family:Plus Jakarta Sans,sans-serif;font-size:2.25rem;font-weight:700;line-height:1}.stat-item .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:6px;font-size:.75rem;font-weight:600}.section{padding:60px 0;position:relative}.section-header{border-left:none;justify-content:space-between;align-items:flex-end;margin-bottom:32px;padding-left:0;display:flex}.section-header h2{color:var(--text-main);letter-spacing:-.5px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.75rem;font-weight:700}.section-header a{color:var(--primary);align-items:center;gap:4px;font-size:.85rem;font-weight:500;display:flex}.section-header a:hover{text-decoration:underline}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.category-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;padding:24px;transition:all .3s;display:flex;position:relative}.category-card:hover{border-color:var(--border-glass-hover);transform:scale(1.015);box-shadow:0 12px 36px #0000000f}.category-icon{background:var(--bg-main);width:40px;height:40px;color:var(--text-main);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;transition:all .2s;display:flex}.category-card:hover .category-icon{background:var(--primary);color:var(--white)}.category-info h3{color:var(--text-main);margin-bottom:4px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.05rem;font-weight:700}.category-info p{color:var(--text-muted);font-size:.85rem;font-weight:400}.jobs-list{flex-direction:column;gap:16px;display:flex}.job-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:24px;transition:all .3s;display:flex;position:relative}.job-card:hover{border-color:var(--border-glass-hover);transform:scale(1.015);box-shadow:0 12px 36px #0000000f}.job-card-header{align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.job-company-logo{background:var(--bg-main);border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:48px;height:48px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:700;display:flex;overflow:hidden}.job-company-logo img{object-fit:cover;border-radius:0;width:100%;height:100%}.job-card-title{flex:1}.job-card-title h3{color:var(--text-main);letter-spacing:-.2px;margin-bottom:4px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:700}.job-card-title .company-name{color:var(--text-muted);font-size:.85rem;font-weight:500}.job-card-meta{flex-wrap:wrap;gap:16px;margin-bottom:14px;display:flex}.job-meta-item{color:var(--text-muted);align-items:center;gap:6px;font-size:.8rem;font-weight:400;display:flex}.job-meta-item svg{color:var(--text-muted)}.job-card-tags{flex-wrap:wrap;gap:6px;display:flex}.job-tag{background:var(--bg-main);color:var(--text-muted);border:1px solid #0000;border-radius:12px;padding:4px 10px;font-size:.7rem;font-weight:500}.job-tag.remote,.badge-success{color:#1e7d34;background:#34c75914}.job-tag.hybrid,.badge-warning{color:#b36b00;background:#ff950014}.job-tag.in-office,.badge-info{color:var(--primary-dark);background:#0071e314}.job-tag.featured{color:#d11a1a;background:#ff3b3014}.job-card-footer{border-top:1px solid var(--border-glass);justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;display:flex}.job-posted-time{color:var(--text-muted);font-size:.8rem}.job-salary{color:var(--text-main);font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:600}.job-detail{padding:32px 0 60px}.job-detail-container{max-width:var(--container);grid-template-columns:1fr 300px;gap:28px;margin:0 auto;padding:0 24px;display:grid}.job-detail-main{background:var(--bg-card);border:1px solid var(--border-glass);box-shadow:var(--shadow);border-radius:var(--radius);padding:28px}.job-detail-header{border-bottom:1px solid var(--border-glass);margin-bottom:28px;padding-bottom:20px}.job-detail-header h1{color:var(--text-main);margin-bottom:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:2rem;font-weight:800;line-height:1.25}.job-detail-company{color:var(--text-muted);align-items:center;gap:4px;margin-bottom:16px;font-size:1.05rem;font-weight:500;display:flex}.job-detail-company svg{color:var(--text-muted)}.job-detail-meta{flex-wrap:wrap;gap:16px;display:flex}.job-detail-meta .job-meta-item{font-size:.85rem}.job-detail-section{margin-bottom:32px}.job-detail-section h2{color:var(--text-main);margin-bottom:12px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:700}.job-detail-section .content{color:var(--text-main);font-size:.95rem;line-height:1.6}.job-detail-section .content p{margin-bottom:12px}.job-detail-section .content ul,.job-detail-section .content ol{margin-bottom:12px;padding-left:20px}.job-detail-section .content li{margin-bottom:6px}.job-detail-sidebar{top:calc(var(--header-height) + 24px);flex-direction:column;align-self:start;gap:16px;display:flex;position:sticky}.sidebar-card{background:var(--bg-card);border:1px solid var(--border-glass);box-shadow:var(--shadow);border-radius:var(--radius);padding:20px}.sidebar-card h3{color:var(--text-main);border-bottom:1px solid var(--border-glass);margin-bottom:12px;padding-bottom:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.sidebar-info-row{border-bottom:1px solid #00000008;justify-content:space-between;padding:10px 0;font-size:.8rem;display:flex}.sidebar-info-row:last-child{border-bottom:none}.sidebar-info-row .label{color:var(--text-muted);font-weight:400}.sidebar-info-row .value{color:var(--text-main);font-weight:600}.apply-btn{background:var(--primary);width:100%;color:var(--white);text-align:center;cursor:pointer;border:none;border-radius:20px;padding:12px;font-size:.9rem;font-weight:600;transition:all .2s;display:block}.apply-btn:hover{background:var(--primary-light)}.share-btns{gap:8px;margin-top:12px;display:flex}.share-btn{border:1px solid var(--border-glass);color:var(--text-main);background:0 0;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.share-btn:hover{background:#00000008}@media (max-width:992px){.job-detail-container{grid-template-columns:1fr}.job-detail-sidebar{position:static}}.blog-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.blog-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.blog-card:hover{border-color:var(--border-glass-hover);transform:scale(1.015);box-shadow:0 12px 36px #0000000f}.blog-card.featured{grid-column:1/-1;grid-template-columns:1.2fr 1fr;display:grid}.blog-card-image{background:var(--bg-main);border-bottom:1px solid var(--border-glass);height:220px;position:relative;overflow:hidden}.blog-card.featured .blog-card-image{border-bottom:none;border-right:1px solid var(--border-glass);height:100%;min-height:280px}.blog-card-image img{object-fit:cover;border-radius:0;width:100%;height:100%}.blog-card-content{flex-direction:column;flex:1;padding:20px;display:flex}.blog-card-category{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.7rem;font-weight:600}.blog-card-content h3{color:var(--text-main);margin-bottom:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:700;line-height:1.3}.blog-card.featured .blog-card-content h3{font-size:1.5rem}.blog-card-content p{color:var(--text-muted);flex:1;margin-bottom:16px;font-size:.85rem;line-height:1.5}.blog-card-footer{border-top:1px solid var(--border-glass);color:var(--text-muted);justify-content:space-between;align-items:center;padding-top:14px;font-size:.75rem;display:flex}@media (max-width:768px){.blog-grid,.blog-card.featured{grid-template-columns:1fr}.blog-card.featured .blog-card-image{border-right:none;border-bottom:1px solid var(--border-glass);min-height:180px}}.blog-post{padding:32px 0 60px}.blog-post-container{max-width:760px;margin:0 auto;padding:0 24px}.blog-post-header{text-align:center;border-left:none;margin-bottom:28px;padding-left:0}.blog-post-header .category{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.blog-post-header h1{color:var(--text-main);letter-spacing:-1px;margin-bottom:14px;font-family:Plus Jakarta Sans,sans-serif;font-size:2.5rem;font-weight:800;line-height:1.15}.blog-post-meta{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;font-size:.8rem;display:flex}.blog-post-image{border:1px solid var(--border-glass);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:28px;overflow:hidden}.blog-post-image img{width:100%;display:block}.blog-post-content{color:var(--text-main);font-size:1rem;line-height:1.7}.blog-post-content h2{color:var(--text-main);margin-top:32px;margin-bottom:12px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.35rem;font-weight:700}.blog-post-content h3{color:var(--text-main);margin-top:24px;margin-bottom:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:700}.blog-post-content p{margin-bottom:16px}.blog-post-content ul,.blog-post-content ol{margin-bottom:16px;padding-left:20px}.blog-post-content li{margin-bottom:6px}.blog-post-content a{color:var(--primary);text-decoration:underline}.blog-post-content blockquote{border-left:3px solid var(--primary);color:var(--text-main);border-radius:0 var(--radius-sm)var(--radius-sm)0;background:#00000005;margin:24px 0;padding:14px 20px}.blog-post-content pre{color:#f5f5f7;border:1px solid var(--border-glass);border-radius:var(--radius-sm);background:#1d1d1f;margin:24px 0;padding:14px;overflow-x:auto}.blog-post-content code{background:#0000000d;border-radius:4px;padding:2px 6px;font-size:.9em}.blog-post-content pre code{background:0 0;border:none;padding:0}.filters{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.filter-select{border:1px solid var(--border-glass);background:var(--bg-surface);color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:18px;min-width:150px;padding:10px 32px 10px 14px;font-size:.85rem;font-weight:500;transition:all .2s}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0071e326}.filter-search{border:1px solid var(--border-glass);background:var(--bg-surface);color:var(--text-main);border-radius:18px;min-width:250px;padding:10px 14px;font-size:.85rem;font-weight:500;transition:all .2s}.filter-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0071e326}.active-filters{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.active-filter{background:var(--primary-glow);color:var(--primary);border:1px solid #0071e326;border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:500;display:flex}.active-filter button{color:var(--accent-vermillion);cursor:pointer;background:0 0;border:none;font-size:.9rem;display:inline-flex}.pagination{justify-content:center;align-items:center;gap:6px;margin-top:40px;display:flex}.pagination a,.pagination span{border:1px solid var(--border-glass);min-width:36px;height:36px;color:var(--text-muted);background:var(--bg-surface);border-radius:18px;justify-content:center;align-items:center;padding:0 10px;font-size:.8rem;font-weight:500;display:flex}.pagination a:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}.pagination .active{background:var(--primary-glow);color:var(--primary);border-color:#0071e333}.pagination .disabled{opacity:.4;pointer-events:none}.footer{color:var(--text-muted);border-top:1px solid var(--border-glass);background:#f5f5f7;margin-top:60px;padding:48px 0 24px}.footer-grid{max-width:var(--container);grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin:0 auto;padding:0 24px;display:grid}.footer-brand .logo{color:var(--text-main)}.footer-brand .logo span{color:var(--text-muted)}.footer-brand p{color:var(--text-muted);max-width:300px;margin-top:12px;font-size:.85rem;line-height:1.5}.footer-social{gap:8px;margin-top:16px;display:flex}.footer-social a{border:1px solid var(--border-glass);width:32px;height:32px;color:var(--text-muted);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex}.footer-social a:hover{color:var(--text-main);border-color:var(--text-main);background:#00000008}.footer-column h4{color:var(--text-main);margin-bottom:16px;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:700}.footer-column a{color:var(--text-muted);padding:5px 0;font-size:.8rem;display:block}.footer-column a:hover{color:var(--primary);text-decoration:underline}.footer-bottom{max-width:var(--container);border-top:1px solid var(--border-glass);text-align:left;color:var(--text-muted);margin:40px auto 0;padding:20px 24px 0;font-size:.75rem}@media (max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-brand{grid-column:1/-1}}.btn{cursor:pointer;border:1px solid #0000;border-radius:20px;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-light)}.btn-outline{border-color:var(--primary);color:var(--primary);background:0 0}.btn-outline:hover{background:var(--primary-glow);color:var(--primary-dark)}.btn-danger{background:var(--accent-vermillion);color:var(--white)}.btn-danger:hover{background:#e02b2b}.btn-sm{border-radius:14px;padding:6px 14px;font-size:.75rem}.btn-lg{border-radius:24px;padding:14px 28px;font-size:.95rem}.form-group{margin-bottom:18px}.form-label{color:var(--text-main);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border-glass);width:100%;color:var(--text-main);background:var(--bg-surface);border-radius:var(--radius-sm);padding:10px 14px;font-size:.9rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0071e326}.form-textarea{resize:vertical;min-height:100px}.form-hint{color:var(--text-muted);margin-top:4px;font-size:.75rem}.form-error{color:var(--accent-vermillion);margin-top:4px;font-size:.75rem;font-weight:500}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.badge{border-radius:10px;align-items:center;padding:4px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.badge-default{color:var(--text-muted);border:1px solid var(--border-glass);background:#0000000a}.empty-state{text-align:center;background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius);box-shadow:var(--shadow);padding:60px 20px}.empty-state svg{color:var(--text-muted);margin-bottom:16px}.empty-state h3{color:var(--text-main);margin-bottom:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem}.empty-state p{color:var(--text-muted);max-width:350px;margin:0 auto;font-size:.85rem}.spinner{border:2px solid #0000000d;border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{justify-content:center;padding:30px;display:flex}.toast{background:var(--bg-surface);border:1px solid var(--border-glass);color:var(--text-main);z-index:1000;border-radius:12px;padding:12px 20px;font-size:.85rem;font-weight:500;animation:.3s slideIn;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #00000014}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--danger)}.breadcrumb{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:20px;font-size:.75rem;font-weight:500;display:flex}.breadcrumb a:hover{color:var(--primary)}.page-header{background:var(--bg-card);border-bottom:1px solid var(--border-glass);margin-bottom:32px;padding:40px 0;position:relative}.page-header h1{color:var(--text-main);letter-spacing:-.5px;margin-bottom:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:2.25rem;font-weight:800}.page-header p{color:var(--text-muted);font-size:.95rem}.results-info{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:20px;font-size:.8rem;font-weight:500;display:flex}.admin-layout{background:var(--bg-main);min-height:100vh;display:flex}.admin-sidebar{background:var(--bg-card);border-right:1px solid var(--border-glass);flex-direction:column;width:240px;height:100vh;padding:20px;display:flex;position:sticky;top:0}.admin-sidebar-header{border-bottom:1px solid var(--border-glass);margin-bottom:20px;padding-bottom:12px}.admin-sidebar-header p{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-top:4px;font-size:.7rem;font-weight:600}.admin-nav-section{margin-bottom:20px}.admin-nav-section .section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px;font-size:.7rem;font-weight:600}.admin-nav-item{color:#1d1d1fcc;border-radius:14px;align-items:center;gap:8px;margin-bottom:2px;padding:8px 12px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.admin-nav-item:hover{color:var(--text-main);background:#00000008}.admin-nav-item.active{color:var(--primary);background:var(--primary-glow);font-weight:600}.admin-content{flex:1;padding:32px;overflow-y:auto}.admin-page-header{border-bottom:1px solid var(--border-glass);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;display:flex}.admin-page-header h1{color:var(--text-main);font-family:Plus Jakarta Sans,sans-serif;font-size:1.5rem;font-weight:700}.admin-table-wrapper{background:var(--bg-card);border:1px solid var(--border-glass);box-shadow:var(--shadow);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.admin-table-toolbar{border-bottom:1px solid var(--border-glass);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th{text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-glass);background:#fafafa;padding:12px 20px;font-size:.75rem;font-weight:600}.admin-table td{color:var(--text-main);border-bottom:1px solid #00000008;padding:12px 20px;font-size:.85rem}.admin-table tr:hover td{background:#fafafa}.admin-table .actions{gap:4px;display:flex}.admin-table .actions button,.admin-table .actions a{border:1px solid var(--border-glass);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:5px;transition:all .2s;display:flex}.admin-table .actions button:hover,.admin-table .actions a:hover{color:var(--text-main);background:#00000008}.admin-table .actions .delete-btn:hover{background:var(--danger-glow);color:var(--danger);border-color:#ff3b3033}.admin-form-card{background:var(--bg-card);border:1px solid var(--border-glass);box-shadow:var(--shadow);border-radius:var(--radius);padding:24px}.admin-login{background:var(--bg-main);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-card{background:var(--bg-card);border:1px solid var(--border-glass);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:var(--radius);padding:28px}.admin-login-card .logo{justify-content:center;margin-bottom:6px}.admin-login-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:20px;font-size:.8rem;font-weight:500}.dashboard-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.dashboard-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:20px;display:flex}.dashboard-card-icon{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:12px;display:flex}.dashboard-card-icon.blue{color:var(--primary);background:#0071e314}.dashboard-card-icon.green{color:var(--success);background:#34c75914}.dashboard-card-icon.orange{color:var(--warning);background:#ff950014}.dashboard-card-icon.purple{color:#af52de;background:#af52de14}.dashboard-card .label{color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:600}.dashboard-card .value{color:var(--text-main);font-family:Plus Jakarta Sans,sans-serif;font-size:1.75rem;font-weight:700}@media (max-width:992px){.admin-layout{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border-glass);width:100%;height:auto;position:static}.admin-content{padding:20px}}.tiptap-toolbar{border:1px solid var(--border-glass);border-radius:var(--radius-sm)var(--radius-sm)0 0;background:#fafafa;border-bottom:none;flex-wrap:wrap;gap:2px;padding:6px;display:flex}.tiptap-toolbar button{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:5px;display:flex}.tiptap-toolbar button:hover{color:var(--text-main);background:#00000008}.tiptap-toolbar button.active{background:var(--primary-glow);color:var(--primary)}.tiptap-toolbar .divider{background:var(--border-glass);align-self:center;width:1px;height:14px;margin:0 4px}.tiptap-editor{border:1px solid var(--border-glass);background:var(--bg-surface);border-radius:0 0 var(--radius-sm)var(--radius-sm);min-height:300px}.tiptap-editor .tiptap{min-height:300px;color:var(--text-main);outline:none;padding:14px;font-size:.9rem;line-height:1.5}.tiptap-editor .tiptap p{margin-bottom:8px}.tiptap-editor .tiptap h1,.tiptap-editor .tiptap h2,.tiptap-editor .tiptap h3{color:var(--text-main);margin-top:14px;margin-bottom:8px;font-family:Plus Jakarta Sans,sans-serif}.tiptap-editor .tiptap ul,.tiptap-editor .tiptap ol{margin-bottom:8px;padding-left:18px}.tiptap-editor .tiptap blockquote{border-left:3px solid var(--primary);border-radius:0 var(--radius-sm)var(--radius-sm)0;background:#00000005;margin:14px 0;padding:8px 14px;font-style:italic}.tiptap-editor .tiptap img{border:1px solid var(--border-glass);border-radius:var(--radius-sm);max-width:100%;height:auto;margin:14px 0}.tiptap-editor .tiptap a{color:var(--primary);text-decoration:underline}.tiptap-editor .tiptap code{background:#0000000a;border-radius:4px;padding:2px 6px;font-size:.9em}.tiptap-editor .tiptap pre{color:#f5f5f7;border:1px solid var(--border-glass);border-radius:var(--radius-sm);background:#1d1d1f;margin:14px 0;padding:12px;overflow-x:auto}.tiptap-editor .tiptap pre code{color:inherit;background:0 0;border:none;padding:0}.tiptap-editor .tiptap .is-editor-empty:first-child:before{color:var(--text-muted);content:attr(data-placeholder);float:left;pointer-events:none;height:0}.seo-preview{border:1px solid var(--border-glass);border-radius:var(--radius-sm);background:#fafafa;margin-top:10px;padding:14px}.seo-preview .seo-title{color:var(--primary);margin-bottom:2px;font-size:.95rem;font-weight:600}.seo-preview .seo-url{color:var(--text-muted);margin-bottom:2px;font-size:.75rem}.seo-preview .seo-desc{color:var(--text-muted);font-size:.8rem;line-height:1.35}.seo-counter{color:var(--text-muted);text-align:right;margin-top:2px;font-size:.7rem;font-weight:500}.seo-counter.warning{color:var(--warning)}.seo-counter.danger{color:var(--danger)}.skills-input-wrapper{border:1px solid var(--border-glass);background:var(--bg-surface);cursor:text;border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:4px;min-height:40px;padding:6px 12px;display:flex}.skills-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0071e326}.skill-tag{color:var(--text-main);border:1px solid var(--border-glass);background:#0000000a;border-radius:10px;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:500;display:flex}.skill-tag button{color:var(--accent-vermillion);cursor:pointer;background:0 0;border:none;font-size:.9rem;display:flex}.skills-input{min-width:100px;color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-size:.85rem}.modal-overlay{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);z-index:1000;background:#00000040;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border-glass);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:var(--radius);margin:20px;padding:28px}.modal h2{color:var(--text-main);margin-bottom:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.2rem;font-weight:700}.modal p{color:var(--text-muted);margin-bottom:20px;font-size:.9rem}.modal-actions{justify-content:flex-end;gap:8px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.swipe-card{-webkit-user-select:none;user-select:none;border-radius:var(--radius);transition:transform .25s cubic-bezier(.25,.8,.25,1),opacity .25s}.active-card.swipe-left{opacity:0!important;transform:translate(-150%,40px)rotate(-15deg)!important}.active-card.swipe-right{opacity:0!important;transform:translate(150%,40px)rotate(15deg)!important}kbd{border:1px solid var(--border-glass);background:#0000000d;border-radius:4px;padding:2px 4px;font-family:monospace;font-size:.8em}.quest-board{background:var(--bg-card);border:1px solid var(--border-glass);box-shadow:var(--shadow);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;padding:16px;display:grid;position:relative;overflow:hidden}@media (max-width:768px){.quest-board{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.quest-board{grid-template-columns:1fr}}.quest-tile{border:1px solid var(--border-glass);border-radius:var(--radius-sm);background:#fafafa;flex-direction:column;justify-content:space-between;min-height:100px;padding:14px;transition:all .25s;display:flex;position:relative}.quest-tile-num{color:var(--text-muted);font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:600}.quest-tile-title{margin-top:4px;font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;font-weight:700;line-height:1.2}.quest-tile-status{color:var(--text-muted);margin-top:auto;font-size:.6rem;font-weight:500}.quest-tile.active{background:var(--bg-card);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px #0071e31a}.quest-tile.active .quest-tile-num{color:var(--primary)}.quest-tile.visited{background:#34c7590a;border-color:#34c75933}.quest-tile.visited:after{content:"✓";color:var(--success);font-size:.8rem;font-weight:700;position:absolute;top:8px;right:12px}.quest-player-token{background:var(--accent-vermillion);border-radius:50%;width:10px;height:10px;animation:1.5s ease-in-out infinite pulseToken;position:absolute;bottom:10px;right:10px}@keyframes pulseToken{0%{transform:scale(1);box-shadow:0 0 #ff3b3080}70%{transform:scale(1.2);box-shadow:0 0 0 6px #ff3b3000}to{transform:scale(1);box-shadow:0 0 #ff3b3000}}.dice-box{background:var(--bg-card);border:1px solid var(--border-glass);text-align:center;box-shadow:var(--shadow-sm);border-radius:var(--radius);flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.dice-visual{border:1px solid var(--border-glass);border-radius:var(--radius-sm);background:#fafafa;justify-content:center;align-items:center;width:44px;height:44px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.4rem;font-weight:700;transition:transform .1s;display:flex;box-shadow:0 2px 6px #0000000d}.dice-visual.rolling{animation:.4s linear infinite diceRoll}@keyframes diceRoll{0%{transform:rotate(0)scale(.95)}50%{transform:rotate(180deg)scale(1.05)}to{transform:rotate(360deg)scale(.95)}}.player-card-rpg{border:1px solid var(--border-glass);background:var(--bg-card);box-shadow:var(--shadow);border-radius:var(--radius);padding:20px;position:relative;overflow:hidden}.player-card-rpg:before{content:"";background:linear-gradient(90deg,var(--primary)0%,var(--accent-vermillion)50%,var(--accent-amber)100%);width:100%;height:3px;position:absolute;top:0;left:0}.rpg-stat-row{margin-bottom:12px}.rpg-stat-header{text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;margin-bottom:4px;font-size:.7rem;font-weight:600;display:flex}.rpg-stat-bar-outer{border:1px solid var(--border-glass);background:#00000008;border-radius:8px;height:8px;position:relative;overflow:hidden}.rpg-stat-bar-inner{background:var(--primary);border-radius:8px;height:100%;transition:width .5s ease-out}.rpg-stat-bar-inner.innovation{background:var(--accent-vermillion)}.rpg-stat-bar-inner.stability{background:var(--accent-cyan)}.rpg-stat-bar-inner.xp{background:var(--accent-amber)}@keyframes flashNode{0%{background:var(--bg-card);border-color:var(--border-glass)}50%{background:var(--accent-vermillion-glow);border-color:var(--accent-vermillion);box-shadow:0 0 10px #ff3b3033}to{background:var(--bg-card);border-color:var(--border-glass)}}.flash-highlight{animation:1s ease-in-out 2 alternate flashNode}
