:root{--primary-color:#8b4513;--secondary-color:sienna;--background-color:#f7fafc;--text-color:#2c1810;--accent-color:#f0a54a;--gradient-start:#8b4513;--gradient-end:#5d2e0a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f1e8;color:#2c1810;color:var(--text-color);font-family:Press Start\ 2P,cursive;line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.loading{color:#718096;font-family:Courier New,monospace;font-size:1rem;padding:3rem;text-align:center}.navbar{align-items:center;background-color:initial;display:flex;justify-content:space-between;padding:1rem 2rem;position:relative;z-index:100}.navbar-brand a{color:#8b4513;color:var(--primary-color);font-size:1.5rem;font-weight:700;text-decoration:none;text-shadow:2px 2px 4px #0000001a}.navbar-links{display:flex;gap:2rem}.navbar-links a{color:#2c1810;color:var(--text-color);font-weight:500;text-decoration:none;text-shadow:1px 1px 2px #0000001a;transition:all .2s}.navbar-links a:hover{color:#8b4513;color:var(--primary-color);transform:translateY(-1px)}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:0;width:100%}.hero{background:linear-gradient(135deg,#8b4513,#5d2e0a);border-bottom:3px solid #8b4513;border-radius:0;border-right:3px solid #8b4513;border-color:#8b4513 #5d2e0a #5d2e0a #8b4513;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#fff;overflow:hidden;padding:8rem 2rem;position:relative;text-align:center}.hero:before{content:none}.hero h1{font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:1rem;position:relative}.hero .subtitle{font-size:1.5rem;font-weight:500;opacity:.9;position:relative}.about{background:#f7fafc;border-radius:0;padding:6rem 2rem}.about h2{color:#2c1810;color:var(--text-color);font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.card{background:linear-gradient(315deg,#d4c4a8,#e8dcc0 50%,#f5f1e8);border-bottom:3px solid #8b4513;border-radius:0;border-right:3px solid #8b4513;border-color:#8b4513 #5d2e0a #5d2e0a #8b4513;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#2c1810;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:800px;padding:2.5rem;position:relative}.card:before{background:linear-gradient(90deg,#0000,#8b451333 20%,#8b45134d 50%,#8b451333 80%,#0000);height:3px;top:0}.card:after,.card:before{content:"";left:0;position:absolute;right:0}.card:after{background:linear-gradient(90deg,#0000,#8b45131a 30%,#8b451326 70%,#0000);bottom:0;height:2px}.card p{color:#4b5563;font-size:1.125rem;line-height:1.8;margin-bottom:2rem}.skills{margin-top:2rem}.skills h3{color:#2c1810;color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.skills ul{display:flex;flex-wrap:wrap;gap:1rem;list-style:none}.skills li{background:#f7fafc;background:var(--background-color);border-bottom:3px solid sienna;border-radius:0;border-right:3px solid sienna;border-color:sienna #5d2e0a #5d2e0a sienna;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#8b4513;color:var(--primary-color);font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.skills li:hover{background:#8b4513;background:var(--primary-color);box-shadow:inset 1px 1px 0 #ffffff4d,inset -1px -1px 0 #0006,0 4px 8px #0006;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.hero{padding:6rem 1rem}.hero h1{font-size:2.5rem}.hero .subtitle{font-size:1.25rem}.about{padding:4rem 1rem}.about h2{font-size:2rem}.card{padding:1.5rem}.skills ul{justify-content:center}}.dropdown{display:inline-block;position:relative}.dropdown-button{background:none;border:none;color:#2c1810;color:var(--text-color);cursor:pointer;font-family:Press Start\ 2P,cursive;font-size:.8rem;padding:.5rem 1rem;text-shadow:1px 1px 2px #0000001a;transition:all .2s}.dropdown-button:hover{color:#8b4513;color:var(--primary-color);transform:translateY(-1px)}.dropdown-content{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(315deg,#d4c4a8,#e8dcc0 50%,#f5f1e8);border-bottom:3px solid #8b4513;border-radius:0;border-right:3px solid #8b4513;border-color:#8b4513 #5d2e0a #5d2e0a #8b4513;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d,0 4px 8px #0003;min-width:200px;padding:.5rem 0;position:absolute;right:0;top:100%}.dropdown-content a{color:#2c1810;color:var(--text-color);display:block;padding:.75rem 1rem;text-decoration:none;transition:all .2s}.dropdown-content a:hover{background-color:#8b45131a;color:#8b4513;color:var(--primary-color)}.reset-password-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.reset-password-card{background:linear-gradient(315deg,#d4c4a8,#e8dcc0 50%,#f5f1e8);border-bottom:3px solid #8b4513;border-radius:0;border-right:3px solid #8b4513;border-color:#8b4513 #5d2e0a #5d2e0a #8b4513;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#2c1810;max-width:500px;padding:2.5rem;position:relative;width:100%}.reset-password-card:before{background:linear-gradient(90deg,#0000,#8b451333 20%,#8b45134d 50%,#8b451333 80%,#0000);content:"";height:3px;left:0;position:absolute;right:0;top:0}.reset-password-card:after{background:linear-gradient(90deg,#0000,#8b45131a 30%,#8b451326 70%,#0000);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.reset-password-card h2{color:#2c1810;font-family:Press Start\ 2P,cursive;font-size:1.8rem;font-weight:700;margin-bottom:1rem;text-align:center}.reset-password-description{line-height:1.6;margin-bottom:1.5rem;text-align:center}.reset-password-description,.reset-password-input{color:#2c1810;font-family:Courier New,monospace;font-size:.9rem}.reset-password-input{background:#f7fafc;border-bottom:3px solid #8b4513;border-right:3px solid #8b4513;border-color:#8b4513 #5d2e0a #5d2e0a #8b4513;border-radius:0;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000001a;margin-bottom:1rem;padding:.75rem;transition:all .2s ease;width:100%}.reset-password-input:focus{border-color:sienna;box-shadow:inset 2px 2px 0 #ffffff4d,inset -2px -2px 0 #0003,0 0 0 2px #8b451333;outline:none}.reset-password-input:disabled{cursor:not-allowed;opacity:.6}.reset-password-button{background:#8b4513;border-bottom:3px solid sienna;border-right:3px solid sienna;border-color:sienna #5d2e0a #5d2e0a sienna;border-radius:0;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#f7fafc;cursor:pointer;font-family:Courier New,monospace;font-size:.9rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;padding:.75rem 1.5rem;text-shadow:1px 1px 0 #0009;text-transform:uppercase;transition:all .2s ease;width:100%}.reset-password-button:hover:not(:disabled){background:sienna;box-shadow:inset 1px 1px 0 #ffffff4d,inset -1px -1px 0 #0006,0 4px 8px #0000004d;transform:translateY(-1px)}.reset-password-button:active:not(:disabled){transform:translateY(0)}.reset-password-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.reset-password-error{background:#c530301a;border:2px solid #c530304d;border-radius:0;color:#c53030}.reset-password-error,.reset-password-message{font-family:Courier New,monospace;font-size:.85rem;margin-bottom:1rem;padding:.75rem;text-align:center}.reset-password-message{background:#2c7a7b1a;border:2px solid #2c7a7b4d;border-radius:0;color:#2c7a7b}.reset-password-loading{color:#2c1810;font-family:Courier New,monospace;font-size:1rem;padding:2rem;text-align:center}.reset-password-links{margin-top:1.5rem;text-align:center}.reset-password-links a{color:#8b4513;font-family:Courier New,monospace;font-size:.9rem;text-decoration:underline;transition:color .2s ease}.reset-password-links a:hover{color:#5d2e0a}.reset-password-error,.reset-password-message{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.reset-password-dismiss-btn,.reset-password-resend-btn{background:#0000;border:1px solid;border-radius:0;color:inherit;cursor:pointer;font-family:Courier New,monospace;font-size:.75rem;margin-left:.5rem;padding:.4rem .8rem;transition:all .2s ease}.reset-password-dismiss-btn:hover,.reset-password-resend-btn:hover{background:#0000001a;transform:translateY(-1px)}.reset-password-dismiss-btn:active,.reset-password-resend-btn:active{transform:translateY(0)}@media (max-width:768px){.reset-password-page{min-height:calc(100vh - 150px);padding:1rem}.reset-password-card{padding:1.5rem}.reset-password-card h2{font-size:1.5rem}}.login-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.login-card{background:linear-gradient(315deg,#d4c4a8,#e8dcc0 50%,#f5f1e8);border-bottom:3px solid #8b4513;border-radius:0;border-right:3px solid #8b4513;border-color:#8b4513 #5d2e0a #5d2e0a #8b4513;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#2c1810;max-width:500px;padding:2.5rem;position:relative;width:100%}.login-card:before{background:linear-gradient(90deg,#0000,#8b451333 20%,#8b45134d 50%,#8b451333 80%,#0000);height:3px;top:0}.login-card:after,.login-card:before{content:"";left:0;position:absolute;right:0}.login-card:after{background:linear-gradient(90deg,#0000,#8b45131a 30%,#8b451326 70%,#0000);bottom:0;height:2px}.login-card h2{color:#2c1810;font-family:Press Start\ 2P,cursive;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.login-input{background:#f7fafc;border-bottom:3px solid #8b4513;border-right:3px solid #8b4513;border-color:#8b4513 #5d2e0a #5d2e0a #8b4513;border-radius:0;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000001a;box-sizing:border-box;color:#2c1810;font-family:Courier New,monospace;font-size:.9rem;margin-bottom:1rem;padding:.75rem;transition:all .2s ease;width:100%}.login-input:focus{border-color:sienna;box-shadow:inset 2px 2px 0 #ffffff4d,inset -2px -2px 0 #0003,0 0 0 2px #8b451333;outline:none}.login-button{background:#8b4513;border-bottom:3px solid sienna;border-right:3px solid sienna;border-color:sienna #5d2e0a #5d2e0a sienna;border-radius:0;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#f7fafc;cursor:pointer;font-family:Courier New,monospace;font-size:.9rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;padding:.75rem 1.5rem;text-shadow:1px 1px 0 #0009;text-transform:uppercase;transition:all .2s ease;width:100%}.login-button:hover{background:sienna;box-shadow:inset 1px 1px 0 #ffffff4d,inset -1px -1px 0 #0006,0 4px 8px #0000004d;transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-links{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem;text-align:center}.login-link-button{background:none;border:none;color:#8b4513;cursor:pointer;font-family:Courier New,monospace;font-size:.9rem;padding:0;text-decoration:underline;transition:color .2s ease}.login-link-button:hover{color:#5d2e0a}.login-link{color:#8b4513;font-family:Courier New,monospace;font-size:.9rem;text-decoration:underline;transition:color .2s ease}.login-link:hover{color:#5d2e0a}.login-link-separator{color:#8b4513;font-family:Courier New,monospace;font-size:.9rem}.login-error{background:#c530301a;border:2px solid #c530304d;border-radius:0;color:#c53030}.login-error,.login-message{font-family:Courier New,monospace;font-size:.85rem;margin-bottom:1rem;padding:.75rem;text-align:center}.login-message{background:#2c7a7b1a;border:2px solid #2c7a7b4d;border-radius:0;color:#2c7a7b}.login-resend-btn{background:#0000;border:1px solid;color:inherit;cursor:pointer;font-family:Courier New,monospace;font-size:.75rem;margin-left:.75rem;padding:.4rem .8rem;transition:all .2s ease}.login-resend-btn:disabled{cursor:not-allowed;opacity:.6}.login-resend-btn:hover:not(:disabled){background:#0000001a;transform:translateY(-1px)}.login-resend-btn:active:not(:disabled){transform:translateY(0)}@media (max-width:768px){.login-page{min-height:calc(100vh - 150px);padding:1rem}.login-card{padding:1.5rem}.login-card h2{font-size:1.5rem}}.filmball{align-items:center;background:linear-gradient(315deg,#d4c4a8,#e8dcc0 50%,#f5f1e8);display:flex;justify-content:center;min-height:100vh;padding:2rem}@media (max-width:600px){.filmball{padding:.5rem}.wip-container{max-width:95vw;padding:1.2rem}.wip-container h1{font-size:1.3rem;margin-bottom:1rem}.wip-message{font-size:.9rem}}.embroodball{align-items:center;background:linear-gradient(315deg,#d4c4a8,#e8dcc0 50%,#f5f1e8);display:flex;justify-content:center;min-height:100vh;padding:2rem}.wip-container{background:#8b4513;border-bottom:4px solid #5d2e0a;border-right:4px solid #5d2e0a;border-color:#5d2e0a #3d1f06 #3d1f06 #5d2e0a;border-style:solid;border-width:4px 6px 6px 4px;box-shadow:inset 3px 3px 0 #fff3,inset -3px -3px 0 #0000004d;max-width:500px;padding:3rem;text-align:center;width:100%}.wip-container h1{font-size:2.5rem;letter-spacing:2px;margin-bottom:2rem;text-shadow:2px 2px 0 #000c}.wip-container h1,.wip-message{color:#f7fafc;font-family:Courier New,monospace;font-weight:700;text-transform:uppercase}.wip-message{font-size:1.2rem;letter-spacing:1px;text-shadow:1px 1px 0 #000c}.wip-message p{margin:.5rem 0}@media (max-width:600px){.embroodball{padding:.5rem}.wip-container{max-width:95vw;padding:1.2rem}.wip-container h1{font-size:1.3rem;margin-bottom:1rem}.wip-message{font-size:.9rem}}.digiball{background:linear-gradient(315deg,#d4c4a8,#e8dcc0 50%,#f5f1e8);min-height:100vh;padding:2rem}.gallery-container{margin:0 auto;max-width:1200px}.gallery-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:2rem 0}.gallery-item{width:100%}.gallery-image-wrapper{background:#f5f1e8;border-bottom:3px solid #5d2e0a;border-radius:8px;border-right:3px solid #5d2e0a;border-color:#5d2e0a #3d1f06 #3d1f06 #5d2e0a;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:0 4px 20px #0000004d;overflow:hidden;position:relative;width:100%}.gallery-image{display:block;height:auto;transition:opacity .3s ease;width:100%}.gallery-image-wrapper:hover .gallery-image{opacity:.6}.gallery-caption{background:linear-gradient(0deg,#8b4513f2,#8b4513cc);border-top:2px solid #5d2e0a;bottom:0;color:#f5f1e8;font-family:Courier New,monospace;font-size:1rem;font-weight:700;left:0;padding:1rem;position:absolute;right:0;text-align:center;transform:translateY(100%);transition:transform .3s ease}.gallery-image-wrapper:hover .gallery-caption{transform:translateY(0)}.lightbox-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{align-items:center;animation:zoomIn .3s ease;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-close{align-items:center;background:#8b4513e6;border-bottom:3px solid #5d2e0a;border-right:3px solid #5d2e0a;border-color:#5d2e0a #3d1f06 #3d1f06 #5d2e0a;border-style:solid;border-width:3px 4px 4px 3px;box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#f5f1e8;cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:2rem;font-weight:700;height:2.5rem;justify-content:center;line-height:1;position:absolute;right:0;top:-2.5rem;transition:all .2s ease;width:2.5rem;z-index:10001}.lightbox-close:hover{background:#a0522df2;transform:translateY(-1px)}.lightbox-image{background:#f5f1e8;border-radius:8px;box-shadow:0 8px 40px #00000080;height:auto;max-height:85vh;max-width:100%;object-fit:contain;width:auto}.lightbox-caption,.lightbox-image{border-bottom:3px solid #5d2e0a;border-right:3px solid #5d2e0a;border-color:#5d2e0a #3d1f06 #3d1f06 #5d2e0a;border-style:solid;border-width:3px 4px 4px 3px}.lightbox-caption{background:linear-gradient(315deg,#d4c4a8,#e8dcc0 50%,#f5f1e8);box-shadow:inset 2px 2px 0 #fff3,inset -2px -2px 0 #0000004d;color:#2c1810;font-family:Courier New,monospace;font-size:1rem;font-weight:700;margin-top:1rem;padding:.75rem 1.5rem;text-align:center}@media (max-width:600px){.digiball{padding:.5rem}.gallery-grid{gap:1.5rem;grid-template-columns:1fr;padding:1rem 0}.gallery-caption{font-size:.9rem;padding:.75rem}.lightbox-overlay{padding:1rem}.lightbox-close{font-size:1.5rem;height:2rem;top:-2rem;width:2rem}.lightbox-image{max-height:80vh}.lightbox-caption{font-size:.9rem;padding:.5rem 1rem}}
/*# sourceMappingURL=main.4b059263.css.map*/