*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow-x:hidden}@media (min-width: 769px){html,body,#root{overflow-y:hidden!important;height:100vh!important;max-height:100vh!important}}@media (max-width: 768px){html,body,#root{overflow-y:auto;height:auto;min-height:100vh}body{display:block!important;place-items:unset!important}}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}@supports (-webkit-overflow-scrolling: touch){body{-webkit-overflow-scrolling:touch}}@media (max-width: 768px){html{position:fixed;width:100%;height:100%}body{position:relative;width:100%;height:100vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}#root{position:relative;width:100%;min-height:100vh;height:auto}input,select,textarea{font-size:16px!important}@supports (-webkit-touch-callout: none){html,body{height:-webkit-fill-available}}}html{scrollbar-width:none}html::-webkit-scrollbar{width:0;background:transparent}body{font-family:var(--font-arimo);font-size:var(--font-size-lg);line-height:1.5;font-weight:var(--font-weight-medium);min-width:320px;min-height:100vh;display:flex;place-items:center;color:var(--color-text);background-color:var(--color-background)}header,footer{color:var(--color-menu);font-family:var(--font-inter);letter-spacing:var(--letter-spacing-tight);font-weight:var(--font-weight-extraBold)}.project-page{background-color:var(--color-background)}body{display:flex;place-items:center}@media (prefers-color-scheme: light){button{background-color:#f9f9f9}}.header{position:fixed;top:0;left:0;width:100%;z-index:2001}.header__nav{display:flex;justify-content:space-between;align-items:center;padding:calc(1 * var(--grid-unit-h)) calc(2 * var(--grid-unit-w));z-index:1001}.header__link{font-family:var(--font-inter);letter-spacing:var(--letter-spacing-tight);font-size:var(--font-size-xxl);color:var(--color-menu);font-weight:var(--font-weight-extraBold);text-decoration:none;background:none;border:none;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.header__logo{position:absolute;left:50%;transform:translate(-50%)}.header__projects-container{position:relative}.header__projects-dropdown{position:absolute;top:calc(7.5 * var(--grid-unit-h));right:0;background:transparent;min-width:calc(20 * var(--grid-unit-w));display:flex;flex-direction:column;gap:calc(1 * var(--grid-unit-h))}.header__project-link{font-family:var(--font-inter);letter-spacing:var(--letter-spacing-tight);font-size:var(--font-size-lg);font-weight:var(--font-weight-extraBold);color:var(--color-menu);text-decoration:none;text-align:right;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;white-space:nowrap}@media (max-width: 1024px){.header__link{font-size:var(--font-size-xl)}.header__project-link{font-size:var(--font-size-lg)}}@media (max-width: 768px){.header__mobile-menu{position:fixed;inset:0;background:var(--color-background);color:var(--color-menu);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2000;font-family:var(--font-inter);font-size:var(--font-size-xl);font-weight:var(--font-weight-extraBold);letter-spacing:var(--letter-spacing-tight);text-align:center;gap:.1rem}.header__mobile-menu-link{color:var(--color-menu);text-decoration:none;font-size:var(--font-size-lg2);font-weight:var(--font-weight-extraBold);margin:.5rem 0}.header__mobile-menu-footer{position:absolute;bottom:2rem;left:0;right:0;display:flex;justify-content:space-between;width:90%;color:var(--color-menu);font-size:var(--font-size-xl);font-weight:var(--font-weight-extraBold);padding:0 1rem}}@media (max-width: 480px){.header__nav{padding:calc(2 * var(--grid-unit-h)) calc(2 * var(--grid-unit-w));padding-top:calc(var(--grid-unit-h) * 0)}.header__link,.header__project-link{font-size:var(--font-size-xl2)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer{position:fixed;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:calc(1 * var(--grid-unit-h)) calc(2 * var(--grid-unit-w));z-index:3000}.footer__left,.footer__right{margin:0}.footer_contact{font-family:var(--font-inter);letter-spacing:var(--letter-spacing-tight);font-size:var(--font-size-xxl);color:var(--color-menu);font-weight:var(--font-weight-extraBold);text-decoration:none;cursor:pointer;background:none;border:none;padding:0}.footer__copyright{font-family:var(--font-inter);letter-spacing:var(--letter-spacing-tight);font-size:var(--font-size-xxl);color:var(--color-menu);font-weight:var(--font-weight-extraBold);text-decoration:none;background:none;border:none;padding:0}.footer_contact:hover{opacity:.8}.contact-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000002e;backdrop-filter:blur(7px);display:flex;justify-content:center;align-items:center;z-index:2000}.contact-content{font-family:var(--font-arimo);letter-spacing:var(--letter-spacing-tight);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-menu);text-align:center;line-height:1.5;padding:calc(2 * var(--grid-unit-h)) calc(2 * var(--grid-unit-w));max-width:90%}.contact-content p{margin:0;white-space:pre-line}.contact-content p:last-child{margin-top:calc(2 * var(--grid-unit-h))}.contact-content a{color:var(--color-menu);text-decoration:none;margin:calc(.5 * var(--grid-unit-h)) 0}.contact-content a:hover{opacity:.8}@media (max-width: 1024px){.footer{padding:calc(2 * var(--grid-unit-h)) calc(2 * var(--grid-unit-w))}.footer__left{margin-left:calc(2 * var(--grid-unit-w))}.footer__right{margin-right:calc(2 * var(--grid-unit-w))}.footer_contact,.footer__copyright{font-size:var(--font-size-xl)}.contact-content{font-size:var(--font-size-lg)}}@media (max-width: 768px){.footer{padding:calc(2 * var(--grid-unit-h)) calc(2 * var(--grid-unit-w))}.footer__left{margin-left:calc(2 * var(--grid-unit-w))}.footer__right{margin-right:calc(2 * var(--grid-unit-w))}.footer_contact,.footer__copyright{font-size:var(--font-size-lg)}.contact-content{font-size:var(--font-size-md)}}@media (max-width: 480px){.footer{padding:calc(2 * var(--grid-unit-h)) calc(2 * var(--grid-unit-w));padding-bottom:calc(var(--grid-unit-h) * 0)}.footer__left{margin-left:calc(2 * var(--grid-unit-w));font-size:var(--font-size-xl2)}.footer__right{margin-right:calc(2 * var(--grid-unit-w));font-size:var(--font-size-xl2)}.footer_contact,.footer__copyright{font-size:var(--font-size-xl2)}.contact-content{font-size:var(--font-size-lg2)}}.layout{display:flex;flex-direction:column;width:100%;position:relative}@media (min-width: 769px){.layout{height:100vh;max-height:100vh;overflow:hidden}}@media (max-width: 768px){.layout{min-height:100vh}}main{flex:1;width:100%}@media (min-width: 769px){main{overflow:hidden;height:100%}}@media (max-width: 768px){main{padding-bottom:var(--spacing-xxl)}}@media (max-width: 768px) and (max-width: var(--breakpoint-lg)){main{padding-bottom:var(--spacing-xl)}}@media (max-width: 768px) and (max-width: var(--breakpoint-md)){main{padding-bottom:var(--spacing-lg)}}@media (max-width: 768px) and (max-width: var(--breakpoint-sm)){main{padding-bottom:var(--spacing-md)}}.project-card{display:block;height:100vh;width:100%;text-decoration:none;color:var(--color-text-light);position:relative;overflow:hidden}.project-image-container{height:100%;width:100%;position:relative}.project-image{width:100%;height:100%;object-fit:cover}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,var(--color-overlay-start) 0%,var(--color-overlay-end) 100%);opacity:0;transition:opacity var(--transition-fast)}.project-card:hover .overlay{opacity:1}.project-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center;opacity:0;transition:opacity var(--transition-fast)}.project-card:hover .project-text{opacity:1}.project-text h3{margin:0;font-family:var(--font-degular);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-menu)}.project-text p{margin:var(--spacing-xs) 0 0;font-family:var(--font-family-special);font-weight:var(--font-weight-bold);font-size:1rem;color:var(--color-text-light);text-shadow:1px 1px 2px var(--color-text-shadow)}@media (max-width: 1024px){.project-text h3{font-size:var(--font-size-lg)}}@media (max-width: 768px){.project-text h3{font-size:var(--font-size-md)}}@media (max-width: 480px){.project-text h3{font-size:var(--font-size-sm)}}.landing-container{display:flex;height:100vh;width:100vw;position:relative}.column{width:50%;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.column::-webkit-scrollbar{width:0;background:transparent}.column{scrollbar-width:none;-ms-overflow-style:none}.project-card{height:100vh;position:relative;box-sizing:border-box}.left-column,.left-column .project-card{transform:rotate(180deg)}@media (max-width: var(--breakpoint-lg)){.landing-container{flex-direction:column;height:auto}.column{width:100%;height:50vh}}@media (max-width: var(--breakpoint-md)){.column{height:45vh}}@media (max-width: var(--breakpoint-sm)){.column{height:40vh}}@media (prefers-color-scheme: dark){.landing-container{background-color:var(--color-background-dark)}}@media (prefers-reduced-motion: reduce){.left-column,.left-column .project-card{transform:rotate(180deg)}}@media (max-width: 768px){.mobile-landing-container{width:100%;min-height:100vh;overflow-y:visible;overflow-x:hidden;display:block;background:var(--color-background, #fff);position:relative}.landing-container,.column,.left-column,.right-column{display:none!important}}.game-frame-container{width:100vw;height:100vh;margin:0;padding:0;display:flex;align-items:stretch;justify-content:stretch;border:1px solid var(--color-background-general)}.game-frame{width:100%;height:100%;border:none;margin:0;padding:0;display:block;background:transparent}.video-player-container{width:100%;height:100%;display:flex;flex-direction:column;max-height:calc(63 * var(--grid-unit-h));margin:0;align-items:flex-start}.video-wrapper{position:relative;background:var(--color-background);display:flex;flex:1 1 auto;height:100%;align-items:flex-start;justify-content:flex-start;margin:0}.video-wrapper.fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.video-element{width:auto;height:100%;max-width:100%;max-height:calc(65 * var(--grid-unit-h));display:block;background:#000;z-index:1;object-fit:contain;margin:0;align-self:flex-start;position:relative}.video-controls{opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;left:0;right:0;bottom:0;width:100%;max-width:100%;z-index:2;box-sizing:border-box;display:flex;justify-content:space-between;align-items:flex-end;background:#13131342;padding:.5rem 1rem}.video-controls.visible{opacity:1;pointer-events:auto}.controls-left,.controls-right{display:flex;align-items:flex-end}.video-btn{font-family:var(--font-arimo);font-weight:var(--font-weight-regular);color:var(--color-menu);font-size:var(--font-size-lg);background:none;border:none;cursor:pointer;letter-spacing:var(--letter-spacing-tight);transition:background var(--transition-fast)}.video-controls.fullscreen{background:#131313b9!important}.video-player-container.fullscreen{width:100vw;height:100vh;max-height:none;position:fixed;top:0;left:0;background:#000;z-index:9999}.video-player-container.fullscreen .video-wrapper{width:100vw;height:100vh;background:#000}.video-player-container.fullscreen .video-element{width:100vw;height:100vh;max-width:none;max-height:none;object-fit:contain}.video-progress-bar{width:100%;height:4px;position:absolute;left:0;right:0;bottom:0;z-index:10;cursor:pointer;background:transparent}.video-progress-bar-inner{height:100%;background:var(--color-menu);transition:width .1s;position:relative;z-index:2}.video-progress-bar-bg{position:absolute;left:0;top:0;width:100%;height:100%;background:#1313134d;z-index:1;pointer-events:none}@media (max-width: 768px){.video-btn{font-size:calc(var(--font-size-lg) * .8)}}.project-notfound-container{position:relative;width:100%;min-height:400px;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden;margin:var(--spacing-lg) 0}.project-notfound-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(3px) brightness(.3);z-index:1}.project-notfound-content{position:relative;z-index:2;text-align:center;color:#fff;padding:var(--spacing-lg)}.project-notfound-title{font-family:var(--font-arimo);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md)}.project-notfound-text{font-family:var(--font-arimo);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.notfound-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-background);text-align:center}.notfound-title{font-family:var(--font-arimo);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--spacing-md)}.notfound-text{font-family:var(--font-arimo);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text)}.project-page{width:100vw;background-color:var(--color-background-project);color:var(--color-text-general)}.project-content{display:flex;flex-direction:column;width:100%;box-sizing:border-box}@media (min-width: 769px){.project-page{height:100vh;overflow:hidden}.project-content{height:100vh}}@media (max-width: 768px){.project-page,.project-content{min-height:100vh}}.project-title{margin-top:calc(9 * var(--grid-unit-h));margin-left:calc(2 * var(--grid-unit-w));font-family:var(--font-arimo);font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);color:var(--color-text)}.project-description{margin-top:calc(1 * var(--grid-unit-h));margin-left:calc(2 * var(--grid-unit-w));width:calc(80 * var(--grid-unit-w));min-width:calc(80 * var(--grid-unit-w));max-width:calc(80 * var(--grid-unit-w));font-family:var(--font-arimo);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-text);line-height:1.5;text-align:left}.project-dynamic-content{flex:1 1 auto;min-height:0;max-width:calc(188 * var(--grid-unit-w));margin-top:calc(4 * var(--grid-unit-h));margin-left:calc(2 * var(--grid-unit-w));display:flex;flex-direction:column;align-items:left;width:100%}@media (min-width: 769px){.project-dynamic-content{max-height:calc(75 * var(--grid-unit-h));overflow:hidden;margin-bottom:80px}}@media (max-width: 768px){.project-dynamic-content{margin-bottom:0}}a.project-link{margin-top:calc(2 * var(--grid-unit-h));margin-left:0;color:var(--color-text-general);text-decoration:none}@media (max-width: 900px){.project-description{min-width:90vw;max-width:95vw;width:95vw;-webkit-line-clamp:6}}@media (max-width: 600px){.project-page{position:relative;overflow-x:hidden}.project-content{position:relative}.project-title{font-size:var(--font-size-lg2)}.project-dynamic-content{margin-bottom:0;flex:none;position:relative;overflow:visible}.project-description{min-width:98vw;max-width:99vw;width:99vw;-webkit-line-clamp:unset;display:block;overflow:visible;font-size:var(--font-size-md);line-height:var(--line-height-tight)}}.project-preview-image{width:100%;max-width:800px;margin-bottom:var(--spacing-sm)}.project-images-grid{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.project-grid-image{width:45%;max-width:400px}.project-link{margin-top:calc(2 * var(--grid-unit-h));margin-left:0;color:var(--color-text-general);text-decoration:none}.project-link:hover{color:var(--color-menu)}.project-iframe{width:100%;height:80vh;border:none;margin-top:var(--spacing-lg)}.loading-fallback{text-align:center;padding:var(--spacing-lg);font-size:1.2rem;color:var(--color-text-general)}.project-links-row{display:flex;align-items:center}:root{--grid-unit-w: calc(100vw / 192);--grid-unit-h: calc(100vh / 108);--color-background: #dbd9c3;--color-menu: #e5ff70;--color-text: #1b1b1b;--font-inter: "Inter", sans-serif;--font-arimo: "Arimo", sans-serif;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 700;--font-weight-extraBold: 800;--font-size-xxl: 2.5rem;--font-size-xl: 1.625rem;--font-size-xl2: 1.5625rem;--font-size-lg2: 1.325rem;--font-size-lg: 1.25rem;--font-size-md: 1.125rem;--letter-spacing-tight: -.05em;--line-height-tight: 1.35rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 2.5rem;--spacing-xxl: 4rem;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--transition-fast: .3s ease}.about-page{background-color:var(--color-background);display:grid;grid-template-columns:repeat(2,1fr);gap:0}@media (min-width: 769px){.about-page{height:100vh;overflow:hidden}}@media (max-width: 768px){main{padding-bottom:0}.about-page{min-height:100vh}}.about-content{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.about-section1,.about-section2{margin-left:calc(var(--grid-unit-w) * 2);margin-right:calc(var(--grid-unit-w) * 2);margin-top:calc(var(--grid-unit-h) * 11);text-align:left}.about-section1 h2,.about-section2 h2{font-family:var(--font-arimo);font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);color:var(--color-text);margin-bottom:calc(var(--grid-unit-h) * 1);text-align:left}.about-section1 p,.about-section2 p{font-family:var(--font-arimo);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-text);margin-bottom:var(--spacing-sm);line-height:1.4;text-align:left}.about-image{width:100%;height:100%;object-fit:cover}@media (max-width: 768px){.about-page{grid-template-columns:1fr;position:relative;overflow-x:hidden;padding-bottom:0}.about-content{grid-template-columns:1fr;position:relative}.about-image,.about-image-container{display:none}.about-section1,.about-section2{margin-left:calc(var(--grid-unit-w) * 4);margin-right:calc(var(--grid-unit-w) * 4);text-align:left}.about-section1{margin-top:calc(var(--grid-unit-h) * 9)}.about-section2{margin-top:calc(var(--grid-unit-h) * 4);margin-bottom:calc(var(--grid-unit-h) * 11)}.about-section1 h2,.about-section2 h2{font-size:var(--font-size-lg2)}.about-section1 p,.about-section2 p{font-size:var(--font-size-md)}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#dbd9c3;font-family:Inter,sans-serif;width:100vw;padding:2rem;box-sizing:border-box;position:fixed;inset:0}.admin-login__container{background:#dbd9c3;padding:2rem;border-radius:12px;box-shadow:0 20px 40px #1b1b1b4d;width:100%;max-width:400px;min-width:300px;text-align:center;border:2px solid #1b1b1b;margin:0 auto}.admin-login__title{font-size:1.8rem;font-weight:700;color:#1b1b1b;margin-bottom:.5rem;font-family:Inter,sans-serif}.admin-login__subtitle{color:#1b1b1b;margin-bottom:2rem;font-size:.95rem;font-family:Inter,sans-serif}.admin-login__form{display:flex;flex-direction:column;gap:1rem}.admin-login__input-group{position:relative}.admin-login__input{width:100%;padding:1rem;border:2px solid #1b1b1b;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box;background:#dbd9c3;color:#1b1b1b;font-family:Inter,sans-serif;text-align:center}.admin-login__input:focus{outline:none;border-color:#1b1b1b;box-shadow:0 0 0 3px #1b1b1b1a}.admin-login__input::placeholder{color:#666;text-align:center}.admin-login__error{background:#1b1b1b;color:#e5ff70;padding:.75rem;border-radius:6px;font-size:.9rem;border:1px solid #1b1b1b;font-family:Inter,sans-serif}.admin-login__button{background:#1b1b1b;color:#dbd9c3;border:none;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;font-family:Inter,sans-serif;text-transform:uppercase}.admin-login__button:hover:not(:disabled){background:#333}.admin-login__button:disabled{background:#666;cursor:not-allowed;color:#999}.admin-login__info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #1b1b1b}.admin-login__info p{color:#1b1b1b;font-size:.8rem;margin:0;font-family:Inter,sans-serif}@media (max-width: 480px){.admin-login{padding:1rem}.admin-login__container{margin:0;padding:1.5rem;min-width:280px}.admin-login__title{font-size:1.5rem}}@media (min-width: 1200px){.admin-login__container{max-width:450px}}.admin-page *{box-sizing:border-box;margin:0;padding:0}.admin-page{background-color:#dbd9c3;color:#1b1b1b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;min-height:100vh;width:100vw;padding-top:100px;padding-left:2rem;padding-right:2rem;padding-bottom:2rem;font-size:16px;position:relative;overflow-x:hidden;margin:0;box-sizing:border-box}.admin-header{background:#dbd9c3;color:#e5ff70;padding:1.5rem;border-radius:0;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:0 2px 10px #1b1b1b4d}.btn-back-portfolio{background:transparent;color:#e5ff70;text-decoration:none;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.admin-header h1{font-size:2rem;font-weight:700;margin:0;text-align:center;flex:1}.admin-header-actions{display:flex;gap:1rem;align-items:center}.btn-add-project{background:#e5ff70;color:#1b1b1b;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-logout{background:#1b1b1b;color:#dbd9c3;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add-project:hover{background:#d4f460;transform:translateY(-2px)}.btn-backup-history{background:#1b1b1b;color:#dbd9c3;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-backup-history:hover,.btn-logout:hover{background:#333;transform:translateY(-2px)}.btn-floating-add{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background:#e5ff70;color:#1b1b1b;border:none;font-size:24px;font-weight:700;cursor:pointer;box-shadow:0 4px 20px #1b1b1b4d;transition:all .3s ease;z-index:999;display:flex;align-items:center;justify-content:center}.btn-floating-add:hover{background:#d4f460;transform:scale(1.1);box-shadow:0 6px 25px #1b1b1b66}.modal-overlay{position:fixed;inset:0;background:#1b1b1bcc;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.project-form-modal{background:#dbd9c3;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #1b1b1b4d}.modal-header{background:transparent;color:#1b1b1b;padding:1.5rem;border-radius:0;display:flex;justify-content:center;align-items:center;position:relative}.modal-header h2{font-size:1.5rem;font-weight:600;margin:0;text-align:center;flex:1}.btn-close{background:#e5ff70;color:#1b1b1b;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%)}.btn-close:hover{background:#d4f460;transform:translateY(-50%) scale(1.1)}.project-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#1b1b1b;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #1b1b1b;border-radius:6px;font-size:1rem;background:#dbd9c3;color:#1b1b1b;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#e5ff70;background:#dbd9c3}.form-group input[type=checkbox]{width:auto;margin-right:.5rem;transform:scale(1.2)}.form-group textarea{resize:vertical;min-height:100px}.file-upload-simple{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.file-button{background:#dbd9c3;color:#1b1b1b;border:2px solid #1b1b1b;border-radius:6px;padding:.75rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-block;position:relative}.file-button:hover{border-color:#e5ff70;background:#e5ff70}.file-input-hidden{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-status{color:#1b1b1b;font-size:.9rem;opacity:.7;font-style:italic}.file-status.uploading{color:#e5ff70;opacity:1;font-style:normal;font-weight:500;animation:pulse 1.5s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.6}to{opacity:1}}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #1b1b1b}.btn-cancel,.btn-save{flex:1;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#1b1b1b;color:#dbd9c3}.btn-cancel:hover{background:#333}.btn-save{background:#e5ff70;color:#1b1b1b}.btn-save:hover{background:#d4f460;transform:translateY(-2px)}.projects-section{background:#dbd9c3;margin-bottom:3rem}.projects-section h2{color:#1b1b1b;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #1b1b1b;font-size:1.8rem;font-weight:600}.projects-list{display:grid;gap:1rem}.project-item{background:#dbd9c3;border:2px solid #1b1b1b;border-radius:8px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.project-item:hover{border-color:#e5ff70;box-shadow:0 4px 12px #1b1b1b1a}.project-info h3{margin:0 0 .5rem;color:#1b1b1b;font-size:1.2rem;font-weight:600}.project-info p{margin:0 0 .5rem;color:#1b1b1b;font-size:.9rem;opacity:.8}.status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status.finished{background:#e5ff70;color:#1b1b1b}.status.in-progress{background:#1b1b1b;color:#dbd9c3}.project-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-edit{background:#1b1b1b;color:#dbd9c3}.btn-edit:hover{background:#333}.btn-delete{background:#8b0000;color:#dbd9c3}.btn-delete:hover{background:#a50000}@media (max-width: 768px){.admin-page{padding-top:140px;padding-left:1rem;padding-right:1rem;padding-bottom:2rem}.admin-header{flex-direction:column;gap:1rem;text-align:center;padding:1rem}.admin-header h1{font-size:1.5rem;order:1}.btn-back-portfolio{order:2;font-size:.8rem}.btn-add-project{order:3}.project-item{flex-direction:column;align-items:flex-start;gap:1rem}.project-actions{width:100%}.btn-edit,.btn-delete{flex:1}.form-actions{flex-direction:column}.modal-overlay{padding:.5rem}.project-form-modal{margin:.5rem}.file-upload-simple{flex-direction:column;align-items:flex-start;gap:.5rem}.file-button{width:100%;text-align:center}.btn-floating-add{bottom:1rem;right:1rem;width:50px;height:50px;font-size:20px}}.backup-modal{background:#dbd9c3;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #1b1b1b4d}.backup-modal-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.loading-backups,.no-backups{text-align:center;padding:2rem;color:#666;font-style:italic}.backups-list{display:flex;flex-direction:column;gap:1rem}.backup-item{background:#1b1b1b0d;border:2px solid #1b1b1b;border-radius:8px;padding:1.5rem;display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:center;transition:all .3s ease}.backup-item:hover{background:#1b1b1b14;transform:translateY(-2px);box-shadow:0 4px 12px #1b1b1b33}.backup-column-1,.backup-column-2{display:flex;flex-direction:column;gap:.5rem}.backup-column-3{display:flex;justify-content:center;align-items:center}.backup-title{font-size:1.2rem;font-weight:600;color:#1b1b1b;margin:0}.backup-date{color:#666;font-size:.9rem;font-weight:500}.backup-operation{padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:uppercase}.operation-delete{background:#ffebee;color:#c62828;border:1px solid #e57373}.operation-manual{background:#e8f5e8;color:#2e7d2e;border:1px solid #81c784}.operation-update{background:#fff3e0;color:#ef6c00;border:1px solid #ffb74d}.backup-files{padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:600}.has-files{background:#e3f2fd;color:#1565c0;border:1px solid #64b5f6}.no-files{background:#fafafa;color:#757575;border:1px solid #bdbdbd}.backup-description{color:#555;font-size:.9rem;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.btn-restore-only{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-align:center;text-transform:uppercase;background:#1b1b1b;color:#dbd9c3;letter-spacing:.5px}.btn-restore-only:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 12px #1b1b1b4d}.backup-modal-footer{background:#1b1b1b0d;padding:1rem 1.5rem;border-top:2px solid rgba(27,27,27,.1)}.backup-info-text{color:#666;font-size:.9rem;margin:0;text-align:center;line-height:1.4}@media (max-width: 768px){.backup-modal{margin:.5rem;max-height:95vh}.backup-item{grid-template-columns:1fr;gap:1rem;text-align:center}.backup-column-1,.backup-column-2,.backup-column-3{justify-content:center;align-items:center}.btn-restore-only{width:100%;padding:.6rem 1rem;font-size:.9rem}.admin-header-actions{flex-wrap:wrap;gap:.5rem}.btn-backup-history{padding:.5rem 1rem;font-size:.9rem}}
