.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.ring-1{box-shadow:0 0 0 1px var(--color-zinc-200)}.ring-2{box-shadow:0 0 0 2px var(--color-primary)}.hover-scale:hover{transform:scale(1.05);transition:transform var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12);transition:all var(--transition-base)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-400{color:var(--color-emerald-400)}.bg-white{background-color:#fff}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-zinc-900{background-color:var(--color-zinc-900)}@media (prefers-color-scheme:dark){.ring-1{box-shadow:0 0 0 1px rgba(255,255,255,.08)}.ring-2{box-shadow:0 0 0 2px var(--color-primary)}.bg-white{background-color:var(--color-zinc-100)}.bg-zinc-50{background-color:var(--color-zinc-200)}.bg-zinc-900{background-color:var(--color-zinc-50)}}.gradient-emerald{background:linear-gradient(135deg,var(--color-emerald-100) 0,var(--color-blue-100) 100%)}@media (prefers-color-scheme:dark){.gradient-emerald{background:linear-gradient(135deg,rgba(52,211,153,.08) 0,rgba(59,130,246,.08) 100%)}}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.aspect-video{aspect-ratio:16/9}.aspect-square{aspect-ratio:1/1}.aspect-4-3{aspect-ratio:4/3}.overflow-hidden{overflow:hidden}.relative{position:relative}.sticky{position:sticky}.top-24{top:6rem}.max-h-70vh{max-height:70vh}.ml-auto{margin-left:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-6{margin-top:1.5rem}.mt-12{margin-top:3rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.tag{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.75rem;border-radius:9999px;border:1px solid;transition:all var(--transition-fast)}.tag:hover{opacity:.8}.tag-llm,.tag-rag{background:rgba(59,130,246,.1);color:#2563eb;border-color:rgba(59,130,246,.3)}@media (prefers-color-scheme:dark){.tag-llm,.tag-rag{background:rgba(59,130,246,.15);color:#93c5fd;border-color:rgba(59,130,246,.25)}}.tag-ai,.tag-foodtech,.tag-knowledge-management{background:rgba(16,185,129,.1);color:#059669;border-color:rgba(16,185,129,.3)}@media (prefers-color-scheme:dark){.tag-ai,.tag-foodtech,.tag-knowledge-management{background:rgba(52,211,153,.15);color:var(--color-emerald-400);border-color:rgba(52,211,153,.25)}}.tag-automation,.tag-claude,.tag-github,.tag-implementation{background:rgba(113,113,122,.1);color:#52525b;border-color:rgba(113,113,122,.3)}@media (prefers-color-scheme:dark){.tag-automation,.tag-claude,.tag-github,.tag-implementation{background:rgba(161,161,170,.12);color:var(--color-zinc-700);border-color:rgba(161,161,170,.2)}}.tag-evaluation{background:rgba(251,146,60,.1);color:#ea580c;border-color:rgba(251,146,60,.3)}@media (prefers-color-scheme:dark){.tag-evaluation{background:rgba(251,146,60,.15);color:#fdba74;border-color:rgba(251,146,60,.25)}}.btn{display:inline-flex;align-items:center;padding:.5rem 1.5rem;border-radius:.75rem;font-weight:500;transition:all var(--transition-fast);text-decoration:none;cursor:pointer}.btn-primary{background:var(--color-emerald-600);color:#fff}.btn-primary:hover{background:var(--color-emerald-700)}@media (prefers-color-scheme:dark){.btn-primary{background:var(--color-emerald-600);box-shadow:0 2px 4px rgba(0,0,0,.2)}.btn-primary:hover{background:var(--color-emerald-500);box-shadow:0 4px 8px rgba(0,0,0,.3)}}.btn-outline{background:0 0;border:1px solid var(--color-zinc-200);color:var(--color-text)}.btn-outline:hover{background:var(--color-zinc-50)}.card{background:#fff;border-radius:1rem;box-shadow:0 0 0 1px var(--color-zinc-200);overflow:hidden;transition:all var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12)}@media (prefers-color-scheme:dark){.btn-outline{border-color:rgba(255,255,255,.08)}.btn-outline:hover{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.15)}.card{background:var(--color-zinc-100);box-shadow:0 0 0 1px rgba(255,255,255,.06),0 2px 4px rgba(0,0,0,.2)}.card:hover{box-shadow:0 0 0 1px rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.4)}}@media (max-width:1279px){.xl\:hidden{display:none!important}}@media (min-width:1280px){.xl\:block{display:block!important}.xl\:grid{display:grid!important}}