.project-page{background:var(--color-bg);min-height:100vh}html:not(.dark) .project-page{background:#fff}html.dark .project-page{background:#0d0f14}.project-hero{background:linear-gradient(135deg,#5c7cfa14,#22d3a80f);border-bottom:1px solid var(--color-border);padding:4rem 2rem}html:not(.dark) .project-hero{background:linear-gradient(135deg,#5c7cfa0a,#22d3a805);border-bottom:1px solid #dee2e6}html.dark .project-hero{background:linear-gradient(135deg,#5c7cfa14,#22d3a80f);border-bottom:1px solid hsla(0,0%,100%,.1)}.project-hero__content{margin:0 auto;max-width:900px}.project-meta{margin-bottom:2rem}.project-meta__link{color:var(--color-accent);font-size:.95rem;font-weight:500;text-decoration:none;transition:opacity .2s ease}.project-meta__link:hover{opacity:.8}.project-header{align-items:center;display:flex;gap:1.5rem;margin-bottom:1.5rem}.project-header__icon{align-items:center;background:#5c7cfa1f;border-radius:16px;color:var(--color-accent);display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}html:not(.dark) .project-header__icon{background:#5c7cfa14}.project-title{color:var(--color-text);font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.2;margin:0}html:not(.dark) .project-title{color:#1a1b1e}.project-description{color:var(--color-text-secondary);font-size:1.25rem;line-height:1.6;margin:0 0 2rem}html:not(.dark) .project-description{color:#495057}.project-actions{display:flex;flex-wrap:wrap;gap:1rem}.project-action{align-items:center;border-radius:12px;display:inline-flex;font-weight:600;gap:.75rem;padding:.875rem 1.75rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.project-action:hover{transform:translateY(-2px)}.project-action--primary{background:var(--color-accent);box-shadow:0 4px 12px #5c7cfa4d;color:#fff}.project-action--primary:hover{box-shadow:0 8px 20px #5c7cfa66}.project-content{margin:0 auto;max-width:900px;padding:4rem 2rem}.prose-content{color:var(--color-text)}.prose-content h2{font-size:2rem;line-height:1.3;margin-bottom:1.5rem;margin-top:3rem}.prose-content h2,.prose-content h3{color:var(--color-text);font-weight:700}.prose-content h3{font-size:1.5rem;margin-bottom:1rem;margin-top:2rem}.prose-content h4{color:var(--color-text);font-size:1.25rem;font-weight:600;margin-bottom:.75rem;margin-top:1.5rem}.prose-content p{color:var(--color-text);font-size:1.05rem;line-height:1.8;margin-bottom:1.5rem}.prose-content a{border-bottom:1px solid var(--color-accent);color:var(--color-accent);text-decoration:none;transition:opacity .2s ease}.prose-content a:hover{opacity:.8}.prose-content ol,.prose-content ul{line-height:1.8;margin-bottom:1.5rem;margin-left:2rem}.prose-content ol li,.prose-content ul li{color:var(--color-text);margin-bottom:.5rem}.prose-content code{background:var(--color-card-hover-bg);border-radius:4px;color:var(--color-accent);font-family:Monaco,Courier New,monospace;font-size:.9em;padding:.25rem .5rem}.prose-content pre{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;overflow-x:auto;padding:1.5rem}.prose-content pre code{background:transparent;border-radius:0;color:inherit;padding:0}.prose-content blockquote{border-left:4px solid var(--color-accent);color:var(--color-text-secondary);font-style:italic;margin-bottom:1.5rem;margin-left:0;padding-left:1.5rem}.prose-content img{border-radius:12px;height:auto;margin:2rem 0;max-width:100%}.prose-content table{border-collapse:collapse;margin-bottom:1.5rem;width:100%}.prose-content table th{background:var(--color-card-bg);font-weight:600;text-align:left}.prose-content table td,.prose-content table th{border:1px solid var(--color-border);padding:1rem}html:not(.dark) .prose-content h2,html:not(.dark) .prose-content h3,html:not(.dark) .prose-content h4{color:#1a1b1e}html:not(.dark) .prose-content li,html:not(.dark) .prose-content p{color:#495057}html:not(.dark) .prose-content code{background:#5c7cfa14;color:#5c7cfa}html:not(.dark) .prose-content pre{background:#f8f9fa;border-color:#dee2e6}html:not(.dark) .prose-content blockquote{color:#6c757d}html:not(.dark) .prose-content table th{background:#f8f9fa;border-color:#dee2e6}html:not(.dark) .prose-content table td{border-color:#dee2e6}.project-footer{background:var(--color-card-bg);border-top:1px solid var(--color-border);padding:4rem 2rem}html:not(.dark) .project-footer{background:#f8f9fa;border-top:1px solid #dee2e6}html.dark .project-footer{background:#ffffff05;border-top:1px solid hsla(0,0%,100%,.1)}.project-footer__content{margin:0 auto;max-width:900px}.project-footer__link{color:var(--color-accent);font-weight:600;text-decoration:none;transition:opacity .2s ease}.project-footer__link:hover{opacity:.8}@media(max-width:768px){.project-hero{padding:3rem 1.5rem}.project-header{gap:1rem}.project-header__icon{height:56px;width:56px}.project-title{font-size:clamp(1.75rem,4vw,2.5rem)}.project-description{font-size:1.1rem}.project-content{padding:3rem 1.5rem}.prose-content h2{font-size:1.5rem;margin-top:2rem}.prose-content h3{font-size:1.25rem}.prose-content p{font-size:1rem}.project-footer{padding:2rem 1.5rem}}
