.container{max-width:1100px;width:100%;margin:0 auto}h1{text-align:center;font-size:2.4rem;font-weight:700;margin-bottom:8px;color:#1f2937;text-shadow:0 2px 8px rgba(255,255,255,.5);letter-spacing:-.02em}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 24px}.project-card{background:#fff9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.8);border-radius:20px;padding:24px 20px;text-decoration:none;color:inherit;transition:all .4s cubic-bezier(.4,0,.2,1);display:block;box-shadow:0 8px 32px #00000014,inset 0 1px #ffffffe6;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,1),transparent)}.project-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #0000001f,inset 0 1px #fff;border-color:#fff;background:#ffffffbf}.project-card h2{font-size:1.15rem;font-weight:600;margin-bottom:8px;color:#1f2937;text-shadow:0 1px 2px rgba(255,255,255,.5)}.project-card p{font-size:.9rem;color:#475569;font-weight:400;text-shadow:0 1px 1px rgba(255,255,255,.3)}.project-link{font-size:.82rem;color:#2563eb;margin-top:10px;display:block;word-break:break-all;font-weight:500;text-shadow:none}.hero{margin:8px 0 16px;text-align:center;padding:20px}.subtitle{color:#475569;font-size:1rem;margin-bottom:16px;text-shadow:0 1px 2px rgba(255,255,255,.5)}.toc{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.toc-chip{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;background:#ffffff80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#1f2937;border:1px solid rgba(255,255,255,.7);text-decoration:none;font-size:.85rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000000f;text-shadow:0 1px 1px rgba(255,255,255,.5)}.toc-chip:hover{background:#ffffffb3;transform:translateY(-2px);box-shadow:0 6px 20px #0000001a;border-color:#ffffffe6}.details{margin-top:28px}.section{margin-bottom:32px;padding:0;border:none;background:transparent}.section:last-child{margin-bottom:0}.section h2{font-size:1.3rem;margin:0 0 12px;color:#1f2937;text-shadow:0 1px 2px rgba(255,255,255,.5);font-weight:600}.section h2 a{color:#0b61a4;text-decoration:none;transition:all .2s ease}.section h2 a:hover{text-decoration:underline}.section h3{font-size:1rem;margin:18px 0 8px;color:#334155;font-weight:600;text-shadow:0 1px 1px rgba(255,255,255,.3)}.section p{color:#475569;line-height:1.7;text-shadow:0 1px 1px rgba(255,255,255,.3)}.section ul{margin:0 0 12px 20px;padding:0}.section li{margin:6px 0;color:#4b5563;text-shadow:0 1px 1px rgba(255,255,255,.2);line-height:1.6}.footer{margin-top:40px;padding:20px 0;border-top:1px solid rgba(0,0,0,.08);text-align:center;color:#6b7280;font-size:.9rem;text-shadow:0 1px 1px rgba(255,255,255,.5)}@media(max-width:768px){h1{font-size:2rem;margin-bottom:6px}.projects-grid{grid-template-columns:1fr;gap:16px}.project-card{padding:20px 18px}.hero{padding:16px}}@media(max-width:480px){h1{font-size:1.75rem}.project-card h2{font-size:1.05rem}.project-card p{font-size:.85rem}.section h2{font-size:1.15rem}.toc-chip{font-size:.8rem;padding:8px 14px}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#e8eaf6,#f5f5f5,#eceff1,#f8f9fa,#fafafa);background-size:400% 400%;animation:gradientShift 15s ease infinite;color:#1f2937;line-height:1.6;min-height:100vh;display:block;padding:48px 24px;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(200,200,200,.3) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(220,220,220,.2) 0%,transparent 50%);pointer-events:none;z-index:0}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}#root{width:100%;position:relative;z-index:1}@media(max-width:768px){body{padding:24px 16px}}
