CoolFace
Apppublic

midooamine/codecanvas-3d-a-programmer-s-playground

sourceHugging Faceupdated 11mo agoView on Hugging Face
0likes
style.css976 linesDownload Raw Back to root
1 2@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');3@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap');4 5* {6    font-family: 'Poppins', sans-serif;7    scroll-behavior: smooth;8}9 10/* Custom Animations */11@keyframes float {12    0%, 100% {13        transform: translateY(0) rotateX(0deg) rotateY(0deg);14    }15    25% {16        transform: translateY(-10px) rotateX(5deg) rotateY(5deg);17    }18    50% {19        transform: translateY(-20px) rotateX(0deg) rotateY(10deg);20    }21    75% {22        transform: translateY(-10px) rotateX(-5deg) rotateY(5deg);23    }24}25 26@keyframes rotate {27    from {28        transform: rotate(0deg) rotateX(0deg) rotateY(0deg);29    }30    to {31        transform: rotate(360deg) rotateX(360deg) rotateY(360deg);32    }33}34 35@keyframes pulse {36    0%, 100% {37        opacity: 1;38        transform: scale(1);39    }40    50% {41        opacity: 0.7;42        transform: scale(1.05);43    }44}45 46@keyframes glow {47    0%, 100% {48        box-shadow: 0 0 20px rgba(139, 92, 246, 0.5);49    }50    50% {51        box-shadow: 0 0 40px rgba(139, 92, 246, 0.8), 0 0 60px rgba(99, 102, 241, 0.6);52    }53}54 55@keyframes typing {56    from {57        width: 0;58    }59    to {60        width: 100%;61    }62}63 64@keyframes blink {65    50% {66        border-color: transparent;67    }68}69 70@keyframes matrix-rain {71    0% {72        transform: translateY(-100vh);73        opacity: 1;74    }75    100% {76        transform: translateY(100vh);77        opacity: 0;78    }79}80 81@keyframes code-particle-float {82    0%, 100% {83        transform: translateY(0) translateX(0) rotate(0deg);84        opacity: 0.7;85    }86    25% {87        transform: translateY(-20px) translateX(10px) rotate(90deg);88        opacity: 1;89    }90    50% {91        transform: translateY(-10px) translateX(-10px) rotate(180deg);92        opacity: 0.8;93    }94    75% {95        transform: translateY(-30px) translateX(5px) rotate(270deg);96        opacity: 0.9;97    }98}99 100@keyframes skill-hover {101    0% {102        transform: translateY(0) rotateX(0deg) rotateY(0deg);103    }104    100% {105        transform: translateY(-10px) rotateX(10deg) rotateY(10deg);106    }107}108/* Enhanced Gradient Text */109.gradient-text {110    background: linear-gradient(90deg, #6366f1, #8b5cf6, #d946ef, #f59e0b);111    -webkit-background-clip: text;112    background-clip: text;113    color: transparent;114    animation: gradient-animation 8s ease infinite, glow 3s ease-in-out infinite;115    background-size: 300% 300%;116    text-shadow: 0 0 30px rgba(139, 92, 246, 0.5);117}118 119@keyframes gradient-animation {120    0% {121        background-position: 0% 50%;122    }123    25% {124        background-position: 100% 50%;125    }126    50% {127        background-position: 100% 100%;128    }129    75% {130        background-position: 0% 100%;131    }132    100% {133        background-position: 0% 50%;134    }135}136/* Buttons */137.btn-primary {138    display: inline-block;139    padding: 0.75rem 1.5rem;140    background: linear-gradient(90deg, #6366f1, #8b5cf6);141    color: white;142    border-radius: 0.5rem;143    font-weight: 500;144    transition: all 0.3s ease;145    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);146}147 148.btn-primary:hover {149    transform: translateY(-2px);150    box-shadow: 0 6px 12px rgba(99, 102, 241, 0.3);151}152 153.btn-secondary {154    display: inline-block;155    padding: 0.75rem 1.5rem;156    background: transparent;157    color: white;158    border: 2px solid #6366f1;159    border-radius: 0.5rem;160    font-weight: 500;161    transition: all 0.3s ease;162}163 164.btn-secondary:hover {165    background: rgba(99, 102, 241, 0.1);166    transform: translateY(-2px);167}168/* Enhanced Hero 3D Container */169.hero-3d-container {170    position: relative;171    perspective: 1000px;172}173 174.floating-cube {175    position: relative;176    background: rgba(99, 102, 241, 0.1);177    border: 2px solid rgba(139, 92, 246, 0.3);178    border-radius: 1rem;179    transform-style: preserve-3d;180    animation: float 6s ease-in-out infinite, rotate 15s linear infinite, glow 2s ease-in-out infinite;181    box-shadow: 182        0 20px 40px rgba(0, 0, 0, 0.3),183        inset 0 1px 0 rgba(255, 255, 255, 0.1);184    backdrop-filter: blur(10px);185}186 187.floating-cube::before {188    content: '';189    position: absolute;190    top: -2px;191    left: -2px;192    right: -2px;193    bottom: -2px;194    background: linear-gradient(45deg, #6366f1, #8b5cf6, #d946ef, #6366f1);195    background-size: 300% 300%;196    border-radius: inherit;197    z-index: -1;198    animation: gradient-animation 4s ease infinite;199    opacity: 0.7;200}201 202.floating-cube::after {203    content: '</>';204    position: absolute;205    top: 50%;206    left: 50%;207    transform: translate(-50%, -50%);208    font-family: 'Fira Code', monospace;209    font-size: 1.5rem;210    font-weight: 600;211    color: #8b5cf6;212    text-shadow: 0 0 20px rgba(139, 92, 246, 0.8);213}214 215/* Code Particles */216.floating-code-elements {217    position: absolute;218    top: 0;219    left: 0;220    width: 100%;221    height: 100%;222    pointer-events: none;223    z-index: 10;224}225 226.code-particle {227    position: absolute;228    font-family: 'Fira Code', monospace;229    font-size: 1rem;230    font-weight: 600;231    color: rgba(139, 92, 246, 0.6);232    animation: code-particle-float 8s ease-in-out infinite;233}234 235.code-particle:nth-child(1) {236    top: 10%;237    left: 20%;238    animation-delay: 0s;239}240 241.code-particle:nth-child(2) {242    top: 20%;243    right: 15%;244    animation-delay: 1s;245}246 247.code-particle:nth-child(3) {248    top: 60%;249    left: 10%;250    animation-delay: 2s;251}252 253.code-particle:nth-child(4) {254    bottom: 30%;255    right: 20%;256    animation-delay: 3s;257}258 259.code-particle:nth-child(5) {260    bottom: 10%;261    left: 30%;262    animation-delay: 4s;263}264 265.code-particle:nth-child(6) {266    top: 40%;267    left: 60%;268    animation-delay: 5s;269}270 271/* Interactive 3D Scene */272.interactive-3d-scene {273    position: absolute;274    top: 0;275    left: 0;276    width: 100%;277    height: 100%;278    pointer-events: none;279    z-index: -1;280}281/* Enhanced About Section */282.about-3d-container {283    perspective: 1200px;284}285 286.about-image-container {287    position: relative;288    overflow: hidden;289    border-radius: 1rem;290    transform-style: preserve-3d;291    box-shadow: 292        0 20px 40px rgba(0, 0, 0, 0.3),293        0 0 0 1px rgba(139, 92, 246, 0.2);294    animation: float 8s ease-in-out infinite;295}296 297.about-overlay {298    position: absolute;299    top: 0;300    left: 0;301    width: 100%;302    height: 100%;303    background: rgba(99, 102, 241, 0.1);304    backdrop-filter: blur(5px);305    display: flex;306    align-items: center;307    justify-content: center;308    opacity: 0;309    transition: opacity 0.3s ease;310}311 312.about-image-container:hover .about-overlay {313    opacity: 1;314}315 316.floating-image {317    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);318}319 320.floating-image:hover {321    transform: scale(1.05) rotateY(10deg) rotateX(5deg);322}323 324/* Tech Stack Visualization */325.tech-stack-visualization {326    position: relative;327    width: 200px;328    height: 200px;329}330 331.tech-sphere {332    position: absolute;333    width: 40px;334    height: 40px;335    background: rgba(139, 92, 246, 0.8);336    border-radius: 50%;337    display: flex;338    align-items: center;339    justify-content: center;340    font-size: 0.75rem;341    font-weight: 600;342    color: white;343    animation: float 4s ease-in-out infinite;344    box-shadow: 0 0 20px rgba(139, 92, 246, 0.6);345}346 347.tech-sphere:nth-child(1) {348    top: 20%;349    left: 20%;350    animation-delay: 0s;351}352 353.tech-sphere:nth-child(2) {354    top: 20%;355    right: 20%;356    animation-delay: 0.5s;357}358 359.tech-sphere:nth-child(3) {360    bottom: 20%;361    left: 20%;362    animation-delay: 1s;363}364 365.tech-sphere:nth-child(4) {366    bottom: 20%;367    right: 20%;368    animation-delay: 1.5s;369}370 371/* Code Snippet 3D */372.code-snippet-3d {373    margin: 2rem 0;374    transform-style: preserve-3d;375}376 377.code-window {378    background: rgba(15, 23, 42, 0.9);379    border-radius: 0.75rem;380    overflow: hidden;381    border: 1px solid rgba(139, 92, 246, 0.3);382    box-shadow: 383        0 10px 30px rgba(0, 0, 0, 0.3),384        inset 0 1px 0 rgba(255, 255, 255, 0.1);385    transform: perspective(1000px) rotateX(5deg);386    transition: transform 0.3s ease;387}388 389.code-window:hover {390    transform: perspective(1000px) rotateX(0deg) translateY(-5px);391}392 393.code-header {394    background: rgba(30, 41, 59, 0.8);395    padding: 0.75rem 1rem;396    display: flex;397    align-items: center;398    gap: 1rem;399    border-bottom: 1px solid rgba(139, 92, 246, 0.2);400}401 402.code-dots {403    display: flex;404    gap: 0.5rem;405}406 407.code-dots span {408    width: 12px;409    height: 12px;410    border-radius: 50%;411    background: #ef4444;412}413 414.code-dots span:nth-child(2) {415    background: #f59e0b;416}417 418.code-dots span:nth-child(3) {419    background: #10b981;420}421 422.filename {423    font-family: 'Fira Code', monospace;424    font-size: 0.875rem;425    color: #94a3b8;426}427 428.code-content {429    padding: 1.5rem;430    font-family: 'Fira Code', monospace;431    font-size: 0.875rem;432    line-height: 1.6;433}434 435.code-line {436    margin-bottom: 0.5rem;437}438 439.code-line.indent {440    margin-left: 1.5rem;441}442 443.keyword {444    color: #8b5cf6;445    font-weight: 600;446}447 448.variable {449    color: #06b6d4;450}451 452.property {453    color: #10b981;454}455 456.string {457    color: #f59e0b;458}459 460.array {461    color: #ec4899;462}463 464/* Enhanced Skills Grid */465.skills-grid-3d {466    display: grid;467    grid-template-columns: repeat(2, 1fr);468    gap: 1rem;469    margin-top: 2rem;470    perspective: 800px;471}472 473.skill-item {474    display: flex;475    align-items: center;476    gap: 0.5rem;477    padding: 1rem;478    background: rgba(30, 41, 59, 0.6);479    border-radius: 0.75rem;480    border: 1px solid rgba(139, 92, 246, 0.2);481    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);482    cursor: pointer;483    position: relative;484    overflow: hidden;485}486 487.skill-item::before {488    content: '';489    position: absolute;490    top: 0;491    left: -100%;492    width: 100%;493    height: 100%;494    background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.1), transparent);495    transition: left 0.5s ease;496}497 498.skill-item:hover::before {499    left: 100%;500}501 502.skill-item:hover {503    background: rgba(99, 102, 241, 0.2);504    transform: translateY(-5px) rotateX(5deg);505    box-shadow: 0 10px 25px rgba(99, 102, 241, 0.3);506    border-color: rgba(139, 92, 246, 0.5);507}508 509.skill-item i {510    width: 24px;511    height: 24px;512    stroke: #8b5cf6;513    transition: all 0.3s ease;514}515 516.skill-item:hover i {517    transform: scale(1.2);518    stroke: #6366f1;519}520 521.skill-item span {522    font-weight: 500;523    transition: color 0.3s ease;524}525 526.skill-item:hover span {527    color: #8b5cf6;528}529/* Enhanced Projects Section */530.projects-3d-scene {531    position: absolute;532    top: 0;533    left: 0;534    width: 100%;535    height: 300px;536    pointer-events: none;537    z-index: -1;538}539 540.project-card-3d {541    background: rgba(30, 41, 59, 0.6);542    border-radius: 1rem;543    overflow: hidden;544    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);545    transform-style: preserve-3d;546    perspective: 1000px;547    border: 1px solid rgba(139, 92, 246, 0.2);548    position: relative;549}550 551.project-card-3d::before {552    content: '';553    position: absolute;554    top: 0;555    left: 0;556    right: 0;557    bottom: 0;558    background: linear-gradient(45deg, rgba(99, 102, 241, 0.1), rgba(139, 92, 246, 0.1));559    opacity: 0;560    transition: opacity 0.3s ease;561    z-index: 1;562}563 564.project-card-3d:hover::before {565    opacity: 1;566}567 568.project-card-3d:hover {569    transform: translateY(-15px) rotateX(5deg) scale(1.03);570    box-shadow: 571        0 25px 50px rgba(99, 102, 241, 0.4),572        0 0 0 1px rgba(139, 92, 246, 0.3);573}574 575.project-image {576    height: 200px;577    overflow: hidden;578    position: relative;579}580 581.project-image img {582    width: 100%;583    height: 100%;584    object-fit: cover;585    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);586}587 588.project-card-3d:hover .project-image img {589    transform: scale(1.15) rotateZ(2deg);590}591 592.project-overlay-3d {593    position: absolute;594    top: 0;595    left: 0;596    width: 100%;597    height: 100%;598    background: rgba(99, 102, 241, 0.1);599    backdrop-filter: blur(5px);600    display: flex;601    align-items: center;602    justify-content: center;603    opacity: 0;604    transition: all 0.3s ease;605}606 607.project-card-3d:hover .project-overlay-3d {608    opacity: 1;609}610 611.project-tech-visualization {612    display: flex;613    gap: 1rem;614}615 616.tech-icon {617    width: 40px;618    height: 40px;619    background: rgba(139, 92, 246, 0.8);620    border-radius: 50%;621    display: flex;622    align-items: center;623    justify-content: center;624    font-weight: 600;625    font-size: 0.75rem;626    color: white;627    animation: pulse 2s ease-in-out infinite;628    box-shadow: 0 0 20px rgba(139, 92, 246, 0.6);629}630 631.project-content {632    padding: 1.5rem;633    position: relative;634    z-index: 2;635}636 637.project-title {638    font-size: 1.25rem;639    font-weight: 600;640    margin-bottom: 0.5rem;641    background: linear-gradient(90deg, #6366f1, #8b5cf6);642    -webkit-background-clip: text;643    background-clip: text;644    color: transparent;645}646 647.project-description {648    color: #94a3b8;649    margin-bottom: 1rem;650    font-size: 0.875rem;651}652 653.project-tags {654    display: flex;655    gap: 0.5rem;656    margin-bottom: 1rem;657    flex-wrap: wrap;658}659 660.project-tags span {661    background: rgba(99, 102, 241, 0.2);662    color: #8b5cf6;663    padding: 0.25rem 0.5rem;664    border-radius: 9999px;665    font-size: 0.75rem;666    border: 1px solid rgba(139, 92, 246, 0.3);667    transition: all 0.3s ease;668}669 670.project-tags span:hover {671    background: rgba(99, 102, 241, 0.3);672    transform: scale(1.05);673}674 675.project-links {676    display: flex;677    gap: 1rem;678}679 680.project-link {681    display: inline-flex;682    align-items: center;683    gap: 0.25rem;684    color: #8b5cf6;685    font-weight: 500;686    font-size: 0.875rem;687    transition: all 0.3s ease;688    padding: 0.5rem 1rem;689    border-radius: 0.5rem;690    border: 1px solid rgba(139, 92, 246, 0.3);691}692 693.project-link:hover {694    color: #6366f1;695    transform: translateX(4px);696    background: rgba(99, 102, 241, 0.1);697    box-shadow: 0 5px 15px rgba(99, 102, 241, 0.2);698}699 700.project-link i {701    width: 16px;702    height: 16px;703}704/* Enhanced Contact Form */705.contact-form {706    background: rgba(30, 41, 59, 0.6);707    padding: 2rem;708    border-radius: 1rem;709    border: 1px solid rgba(139, 92, 246, 0.2);710    backdrop-filter: blur(10px);711    transform-style: preserve-3d;712    transition: transform 0.3s ease;713}714 715.contact-form:hover {716    transform: perspective(1000px) rotateX(2deg);717}718 719.form-input {720    width: 100%;721    padding: 0.75rem 1rem;722    background: rgba(15, 23, 42, 0.7);723    border: 1px solid rgba(255, 255, 255, 0.1);724    border-radius: 0.5rem;725    color: white;726    transition: all 0.3s ease;727    font-family: inherit;728}729 730.form-input:focus {731    outline: none;732    border-color: #8b5cf6;733    box-shadow: 734        0 0 0 3px rgba(139, 92, 246, 0.3),735        0 5px 15px rgba(99, 102, 241, 0.2);736    background: rgba(15, 23, 42, 0.9);737}738 739.form-input::placeholder {740    color: #64748b;741}742 743.social-icon {744    display: inline-flex;745    align-items: center;746    justify-content: center;747    width: 40px;748    height: 40px;749    border-radius: 50%;750    background: rgba(30, 41, 59, 0.6);751    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);752    border: 1px solid rgba(139, 92, 246, 0.3);753}754 755.social-icon:hover {756    background: linear-gradient(45deg, #6366f1, #8b5cf6);757    transform: translateY(-5px) scale(1.1);758    box-shadow: 0 10px 25px rgba(99, 102, 241, 0.4);759}760 761.social-icon i {762    width: 20px;763    height: 20px;764}765 766/* Enhanced Floating Shapes */767.floating-shapes {768    position: fixed;769    top: 0;770    left: 0;771    width: 100%;772    height: 100%;773    pointer-events: none;774    z-index: -1;775    overflow: hidden;776}777 778.shape-1, .shape-2, .shape-3 {779    position: absolute;780    filter: blur(80px);781    opacity: 0.3;782    animation: float 8s ease-in-out infinite;783}784 785.shape-1 {786    width: 300px;787    height: 300px;788    background: radial-gradient(circle, #6366f1, transparent);789    top: 10%;790    left: 10%;791    animation: float 8s ease-in-out infinite, rotate 20s linear infinite;792}793 794.shape-2 {795    width: 400px;796    height: 400px;797    background: radial-gradient(circle, #8b5cf6, transparent);798    bottom: 10%;799    right: 10%;800    animation: float 10s ease-in-out infinite reverse, rotate 25s linear infinite reverse;801}802 803.shape-3 {804    width: 200px;805    height: 200px;806    background: radial-gradient(circle, #d946ef, transparent);807    top: 50%;808    right: 20%;809    animation: float 12s ease-in-out infinite 2s, rotate 30s linear infinite;810}811 812/* Geometric Elements */813.geometric-elements {814    position: absolute;815    top: 0;816    left: 0;817    width: 100%;818    height: 100%;819}820 821.geometric-shape {822    position: absolute;823    opacity: 0.1;824    animation: float 15s ease-in-out infinite;825}826 827.geometric-shape[data-shape="cube"] {828    width: 60px;829    height: 60px;830    background: linear-gradient(45deg, #6366f1, #8b5cf6);831    top: 20%;832    left: 80%;833    animation-delay: 0s;834}835 836.geometric-shape[data-shape="pyramid"] {837    width: 0;838    height: 0;839    border-left: 30px solid transparent;840    border-right: 30px solid transparent;841    border-bottom: 50px solid #8b5cf6;842    top: 60%;843    left: 10%;844    animation-delay: 3s;845}846 847.geometric-shape[data-shape="torus"] {848    width: 80px;849    height: 80px;850    background: radial-gradient(circle, #d946ef, transparent);851    border-radius: 50%;852    top: 80%;853    left: 70%;854    animation-delay: 6s;855}856 857/* Matrix Rain Effect */858.matrix-rain {859    position: fixed;860    top: 0;861    left: 0;862    width: 100%;863    height: 100%;864    pointer-events: none;865    z-index: -2;866    opacity: 0.1;867}868 869.matrix-column {870    position: absolute;871    top: -100px;872    font-family: 'Fira Code', monospace;873    font-size: 14px;874    color: #8b5cf6;875    animation: matrix-rain 10s linear infinite;876}877 878.matrix-char {879    display: block;880    opacity: 0;881    animation: matrix-char-appear 0.5s ease-in-out infinite alternate;882}883 884@keyframes matrix-char-appear {885    0% {886        opacity: 0;887    }888    100% {889        opacity: 1;890    }891}892/* Enhanced Responsive Design */893@media (max-width: 768px) {894    .skills-grid-3d {895        grid-template-columns: 1fr;896    }897    898    .contact-form {899        padding: 1.5rem;900    }901    902    .floating-cube {903        width: 200px;904        height: 200px;905    }906    907    .hero-3d-container {908        margin-bottom: 2rem;909    }910    911    .projects-3d-scene {912        height: 200px;913    }914    915    .geometric-elements {916        display: none;917    }918    919    .code-particle {920        font-size: 0.75rem;921    }922    923    .floating-code-elements {924        display: none;925    }926}927 928/* Smooth scrolling enhancement */929html {930    scroll-behavior: smooth;931}932 933/* Loading animation */934@keyframes loading-pulse {935    0%, 100% {936        opacity: 1;937    }938    50% {939        opacity: 0.5;940    }941}942 943.loading {944    animation: loading-pulse 1.5s ease-in-out infinite;945}946 947/* Custom scrollbar */948::-webkit-scrollbar {949    width: 8px;950}951 952::-webkit-scrollbar-track {953    background: rgba(15, 23, 42, 0.8);954}955 956::-webkit-scrollbar-thumb {957    background: linear-gradient(180deg, #6366f1, #8b5cf6);958    border-radius: 4px;959}960 961::-webkit-scrollbar-thumb:hover {962    background: linear-gradient(180deg, #8b5cf6, #d946ef);963}964 965/* Performance optimizations */966* {967    will-change: auto;968}969 970.floating-cube,971.project-card-3d,972.skill-item,973.about-image-container {974    will-change: transform;975}976