@import url(https://fonts.googleapis.com/css2?family=Audiowide&family=Righteous&family=Tenor+Sans&family=Uncial+Antiqua&display=swap);body{overflow-x:hidden}body,html{height:100%;overflow-y:auto}#root{min-height:100%}#root,.login{display:flex;flex-direction:column}.login{align-items:center;animation:fadeIn .6s ease-out;background:#fff;justify-content:center;min-height:100vh;padding:2rem;width:100%}.back-to-landing-btn{background:none;border:none;border-radius:2rem;color:#666;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;left:1.5rem;padding:.5rem 1rem;position:fixed;top:1.5rem;transition:all .3s ease;z-index:100}.back-to-landing-btn:hover{background:#f5f5f5;color:#0a0a0a;transform:translateX(-4px)}.login-header{animation:slideDown .5s ease-out;margin-bottom:2rem;text-align:center}.login-header h1{color:#0a0a0a;font-size:2.5rem;font-weight:500;letter-spacing:-.02em}.login-content{animation:fadeInUp .6s ease-out .2s both;display:flex;flex-direction:column;gap:1.5rem;max-width:400px;width:100%}.login-content input{background:#fff;border:1px solid #e0e0e0;border-radius:2rem;font-family:inherit;font-size:1rem;outline:none;padding:1rem 1.2rem;transition:all .3s ease}.login-content input:focus{border-color:#0a0a0a;box-shadow:0 0 0 3px #0a0a0a1a}.login-content button{background:#0a0a0a;border:none;border-radius:2rem;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease}.login-content button:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.login-content button:hover:before{height:300px;width:300px}.login-content button:hover{background:#2a2a2a;box-shadow:0 10px 20px #0000001a;transform:translateY(-2px)}.login-hint{color:#888;font-size:.8rem;text-align:center}.app{animation:fadeIn .6s ease-out;background:#fff;display:flex;flex-direction:column;min-height:100vh;width:100%}.app-header{align-items:center;animation:slideDown .5s ease-out;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:100}.app-header h1{color:#0a0a0a;font-size:1.5rem;font-weight:500;letter-spacing:-.01em}.header-buttons{align-items:center;display:flex;gap:1rem}.home-btn{background:#0a0a0a;border:none;border-radius:2rem;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:.5rem 1.2rem;transition:all .3s ease}.home-btn:hover{background:#2a2a2a;box-shadow:0 10px 20px #0000001a;transform:translateY(-2px)}.logout-btn{background:none;border:1px solid #e0e0e0;border-radius:2rem;color:#666;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:.5rem 1.2rem;transition:all .3s ease}.logout-btn:hover{border-color:#0a0a0a;color:#0a0a0a;transform:translateY(-2px)}.app-content{display:flex;flex:1 1;flex-direction:row;gap:2rem;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.upload-area{display:flex;flex:1.2 1;flex-direction:column;gap:1.5rem;height:fit-content;min-width:0}.drop-zone{align-items:center;background:#fafafa;border:2px dashed #e0e0e0;border-radius:1.5rem;cursor:pointer;display:flex;justify-content:center;min-height:80px;padding:.85rem;text-align:center;transition:all .3s ease}.drop-zone:hover{background:#f5f5f5;border-color:#0a0a0a;transform:translateY(-2px)}.drop-zone.drag-over{background:#f0f0f0;border-color:#0a0a0a;transform:scale(1.02)}.drop-zone-content{pointer-events:none;width:100%}.drop-zone-text{color:#333;font-size:1.05rem;font-weight:500;margin-bottom:.75rem}.drop-zone-hint{color:#999;font-size:.8rem}.file-list-container{animation:fadeInUp .4s ease-out;background:#fafafa;border-radius:1rem;isolation:isolate;max-height:300px;padding:1rem;position:relative}.file-list-header{align-items:baseline;backdrop-filter:none;-webkit-backdrop-filter:none;background:#fafafa;background-color:#fafafa;border-bottom:1px solid #eee;box-shadow:0 1px 0 0 #eee;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem;z-index:100}.file-list-header:before{background:#fafafa;bottom:-20px;content:"";left:-20px;position:absolute;right:-20px;top:-20px;z-index:-1}.file-list-header h3{color:#333;font-size:.9rem;font-weight:500;margin:0;padding:0}.file-list-header h3,.file-list-stats{background:#fafafa;position:relative;z-index:2}.file-list-stats{color:#888;font-size:.75rem}.file-list{background:#fafafa;display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.file-list::-webkit-scrollbar{width:6px}.file-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.file-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.file-list::-webkit-scrollbar-thumb:hover{background:#999}.file-item{align-items:center;background:#fff;border:1px solid #f0f0f0;border-radius:.75rem;display:flex;justify-content:space-between;padding:.75rem;position:relative;transition:all .2s ease;z-index:1}.file-item:hover{border-color:#e0e0e0;transform:translateX(4px)}.file-item-info{align-items:center;display:flex;flex:1 1;gap:.75rem;min-width:0}.file-icon{background:#f0f0f0;border-radius:.5rem;color:#555;flex-shrink:0;font-family:monospace;font-size:.7rem;font-weight:600;padding:.25rem .5rem}.file-details{flex:1 1;min-width:0}.file-name{word-wrap:break-word;color:#1a1a1a;font-size:.85rem;font-weight:500;line-height:1.4;overflow-wrap:break-word;white-space:normal;word-break:break-word}.file-meta{color:#999;display:flex;font-size:.65rem;gap:.75rem;margin-top:.2rem}.remove-btn{align-items:center;background:none;border:none;border-radius:50%;color:#ccc;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:28px;justify-content:center;transition:all .2s ease;width:28px}.remove-btn:hover{background:#fee;color:#ff3b30}.comment-input{border:1px solid #e0e0e0;border-radius:.8rem;font-family:inherit;font-size:.85rem;max-height:200px;min-height:80px;padding:.75rem;resize:vertical;transition:all .3s ease;width:100%}.comment-input:focus{border-color:#0a0a0a;box-shadow:0 0 0 3px #0a0a0a0d;outline:none}.upload-btn{background:#0a0a0a;border:none;border-radius:2rem;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;margin-bottom:0;margin-top:0;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.upload-btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.upload-btn:hover:not(:disabled):before{height:300px;width:300px}.upload-btn:hover:not(:disabled){background:#2a2a2a;box-shadow:0 10px 20px #0000001a;transform:translateY(-2px)}.upload-btn:disabled{cursor:not-allowed;opacity:.5}.upload-btn.loading{pointer-events:none;position:relative}.upload-btn.loading:after{animation:button-spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";height:20px;margin-top:-10px;position:absolute;right:20px;top:50%;width:20px}@keyframes button-spin{to{transform:rotate(1turn)}}.upload-success{animation:successPulse .5s ease-out}@keyframes successPulse{0%{background-color:#0a0a0a;transform:scale(1)}50%{background-color:#4caf50;transform:scale(1.02)}to{background-color:#0a0a0a;transform:scale(1)}}.success-notification{animation:slideInDown .3s ease-out;background:#4caf50;border-radius:.5rem;box-shadow:0 4px 12px #00000026;color:#fff;font-weight:500;padding:1rem 1.5rem;position:fixed;right:20px;top:80px;z-index:10000}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}.history{display:flex;flex:1 1;flex-direction:column;height:fit-content;max-height:calc(100vh - 120px);min-width:0;position:sticky;top:80px}.history h2{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;color:#0a0a0a;font-size:1.2rem;font-weight:500;margin-bottom:1rem;padding:.5rem 0;position:sticky;top:0;z-index:10}.history-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;max-height:calc(100vh - 200px);overflow-y:auto;padding-right:.5rem;position:relative}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.history-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.history-list::-webkit-scrollbar-thumb:hover{background:#999}.history-group{animation:fadeInUp .4s ease-out;background:#fafafa;border-radius:1rem;padding:1rem;transition:all .3s ease}.history-group:hover{background:#f5f5f5;transform:translateY(-2px)}.history-group.admin-group{background:#f5f5f5}.history-group.admin-group:hover{background:#eee}.history-group.new-item{animation:slideInRight .5s ease-out;background:linear-gradient(90deg,#f0f0f0,#fafafa)}.history-group-header{border-bottom:1px solid #eee;margin-bottom:.75rem;padding-bottom:.5rem}.group-info{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.group-date{color:#888;font-size:.75rem;font-weight:500}.group-user{background:#fff;border-radius:1rem;color:#0a0a0a;font-size:.75rem;padding:.2rem .6rem}.group-user.admin-user{background:#0a0a0a;color:#fff}.group-comment{word-wrap:break-word;background:#fff;border-radius:.75rem;color:#555;font-size:.8rem;margin-bottom:.5rem;max-width:100%;overflow-wrap:break-word;padding:.4rem .6rem;white-space:normal;word-break:break-word}.group-comment.admin-comment{background:#f0f0f0;color:#0a0a0a;font-weight:600}.group-files-count{color:#999;font-size:.65rem}.history-group-files{display:flex;flex-direction:column;gap:.5rem}.history-item{background:#fff;border-radius:.75rem;padding:.6rem .8rem;transition:all .2s ease}.history-item:hover{box-shadow:0 2px 8px #0000000d;transform:translateX(4px)}.history-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.file-info-main{align-items:center;display:flex;flex:1 1;gap:.75rem;min-width:0}.history-file-icon{background:#f0f0f0;border-radius:.4rem;color:#555;flex-shrink:0;font-family:monospace;font-size:.65rem;font-weight:600;padding:.2rem .45rem}.history-filename{word-wrap:break-word;color:#1a1a1a;font-size:.8rem;font-weight:500;line-height:1.4;overflow-wrap:break-word;white-space:normal;word-break:break-word}.download-link{background:none;border:1px solid #e0e0e0;border-radius:1.5rem;color:#555;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.7rem;font-weight:500;padding:.35rem .9rem;transition:all .2s ease}.download-link:hover{background:#0a0a0a;border-color:#0a0a0a;color:#fff;transform:translateY(-1px)}.empty-history{color:#aaa;font-size:.9rem;padding:2rem;text-align:center}.cube-loader-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffffff2;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.cube{animation:cube-spin 1.5s ease-in-out infinite alternate;font-size:48px;height:1em;margin:auto;position:relative;transform:rotatex(30deg) rotatey(45deg);transform-style:preserve-3d;width:1em}.side{transform-style:preserve-3d}.side,.side:before{bottom:0;left:0;position:absolute;right:0;top:0}.side:before{animation:cube-explode 1.5s ease-in-out infinite;background-color:#0a0a0a;content:"";opacity:.8;transform:translatez(.5em)}.side:first-child{transform:rotatey(90deg)}.side:nth-child(2){transform:rotatey(180deg)}.side:nth-child(3){transform:rotatey(270deg)}.side:nth-child(4){transform:rotatey(1turn)}.side:nth-child(5){transform:rotatex(90deg)}.side:nth-child(6){transform:rotatex(270deg)}.loader-text{animation:pulse 1.5s ease-in-out infinite;color:#0a0a0a;font-size:1rem;font-weight:500;letter-spacing:.05em;margin-top:3rem}@keyframes cube-spin{0%{transform:rotatex(30deg) rotatey(45deg)}to{transform:rotatex(30deg) rotatey(405deg)}}@keyframes cube-explode{0%{transform:translatez(.5em)}50%{transform:translatez(.75em)}to{transform:translatez(.5em)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@media (min-width:901px){.comment-input{max-height:120px;min-height:60px}}@media (max-width:900px){.app-content{flex-direction:column;gap:1.5rem;padding:1.5rem 1.5rem 2rem}.history{height:auto;max-height:none;position:static}.history-list{max-height:400px}.drop-zone{min-height:140px;padding:1.5rem 1rem}}@media (max-width:768px){.app-header{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.app-header h1{font-size:1.1rem;margin-bottom:0;text-align:center}.header-buttons{display:flex;flex-direction:row;gap:.5rem;justify-content:space-between;width:100%}.header-buttons .home-btn,.header-buttons .logout-btn{border-radius:14px;flex:1 1;font-size:.85rem;padding:.6rem;text-align:center}.drop-zone{min-height:80px;padding:.75rem}.drop-zone-hint,.drop-zone-text{display:none}.mobile-plus-icon{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.mobile-upload-text{color:#0a0a0a;font-size:1rem;font-weight:500}.drop-zone:hover .mobile-upload-text{color:#555}.comment-input{max-height:120px;min-height:60px;resize:vertical}}@media (max-width:600px){.app-header{padding:.7rem 1rem}.app-header h1{font-size:1rem}.app-content{padding:1rem 1rem 2rem}.drop-zone{min-height:70px;padding:.6rem}.mobile-upload-text{font-size:.9rem}.comment-input{max-height:100px;min-height:60px;resize:vertical}.file-item-info{flex-wrap:wrap}.history-item-header{align-items:flex-start;flex-direction:column}.download-link{align-self:flex-end}.login-header h1{font-size:1.8rem}.back-to-landing-btn{left:1rem;top:1rem}.file-name,.history-filename{font-size:.75rem}.group-comment{font-size:.7rem}.success-notification{left:20px;right:20px;text-align:center;top:70px}.header-buttons .home-btn,.header-buttons .logout-btn{font-size:.8rem;padding:.5rem}}@media (max-width:480px){.group-info{flex-direction:column;gap:.25rem}.file-name,.history-filename{white-space:normal;word-break:break-all}.drop-zone{min-height:60px;padding:.5rem}.mobile-upload-text{font-size:.85rem}.comment-input{max-height:80px;min-height:60px;resize:vertical}.header-buttons .home-btn,.header-buttons .logout-btn{border-radius:14px;font-size:.75rem;padding:.45rem}}@media (max-height:800px){.app-content{padding-bottom:2rem}.upload-area{gap:1rem}.file-list-container{max-height:200px}.drop-zone{padding:.5rem}}.upload-area{padding-bottom:1rem}.app-content{padding-bottom:2rem}.app-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;box-shadow:0 1px 0 0 #f0f0f0}*{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.app-header,.file-list-header,.history h2,.sticky,[style*=sticky]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:#fafafa!important}.app-header,.history h2{background-color:#fff!important}.file-list-header,.file-list-header *,.file-list-header .file-list-stats,.file-list-header h3{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fafafa!important;background-color:#fafafa!important;opacity:1!important}.file-list-container{overflow-x:hidden;overflow-y:auto}.file-list-header{left:0;position:sticky;right:0;top:0}.login-error-message{animation:shake .4s ease-out;background:#ffebee;border-radius:2rem;color:#e53935;font-size:.8rem;margin-bottom:0;margin-top:-.5rem;padding:.5rem 1rem;text-align:center}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.message-wrapper{animation:fadeInUp .3s ease-out;display:flex;margin-bottom:1rem}.message-wrapper.user-message{justify-content:flex-start}.message-wrapper.user-message .message-bubble{background:#f0f0f0;border-radius:1.25rem 1.25rem 1.25rem .5rem;max-width:85%}.message-wrapper.admin-message{justify-content:flex-end}.message-wrapper.admin-message .message-bubble{background:#0a0a0a;border-radius:1.25rem 1.25rem .5rem 1.25rem;color:#fff;max-width:85%}.message-bubble{box-shadow:0 1px 2px #0000000d;padding:.75rem 1rem;transition:all .2s ease}.message-bubble:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.message-header{flex-wrap:wrap;font-size:.7rem;gap:.5rem;margin-bottom:.5rem}.message-sender{font-size:.75rem}.message-wrapper.user-message .message-sender{color:#555}.message-wrapper.admin-message .message-sender{color:#ccc}.message-date{font-size:.6rem;opacity:.7}.message-comment{word-wrap:break-word;font-size:.85rem;line-height:1.4;margin-bottom:.5rem;overflow-wrap:break-word;white-space:normal;word-break:break-word}.message-wrapper.user-message .message-comment{color:#333}.message-wrapper.admin-message .message-comment{color:#eee}.message-files{margin-top:.5rem}.files-label{font-size:.65rem;margin-bottom:.4rem;opacity:.7}.files-list{display:flex;flex-direction:column;gap:.4rem}.message-file-item{align-items:center;background:#ffffff1a;border-radius:.5rem;display:flex;font-size:.7rem;gap:.5rem;padding:.3rem .6rem}.message-wrapper.user-message .message-file-item{background:#0000000d}.message-wrapper.admin-message .message-file-item{background:#ffffff1a}.file-icon-small{flex-shrink:0;font-family:monospace;font-size:.6rem;font-weight:600}.file-name-small{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-download-btn{background:none;border:none;border-radius:.3rem;cursor:pointer;flex-shrink:0;font-size:.8rem;padding:.1rem .3rem;transition:all .2s ease}.message-wrapper.user-message .file-download-btn{color:#555}.message-wrapper.user-message .file-download-btn:hover{background:#0000001a;color:#000}.message-wrapper.admin-message .file-download-btn{color:#ccc}.message-wrapper.admin-message .file-download-btn:hover{background:#fff3;color:#fff}@media (max-width:600px){.message-bubble{max-width:90%!important;padding:.6rem .8rem}.message-sender{font-size:.7rem}.message-comment{font-size:.75rem}.file-name-small{font-size:.65rem}}.warning-notification{animation:slideInDown .3s ease-out;background:#ff9800;border-radius:.5rem;box-shadow:0 4px 12px #00000026;color:#fff;font-weight:500;padding:1rem 1.5rem;position:fixed;right:20px;top:80px;z-index:10000}.limit-warning-text{background:#fff3e0;border:1px solid #ffe0b2;border-radius:.5rem;color:#ff9800;font-size:.8rem;margin-top:-.5rem;padding:.5rem 1rem;text-align:center}.date-divider{margin:16px 0;position:relative;text-align:center}.date-divider-text{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(0,0,0,.055);border-radius:20px;color:#666;display:inline-block;font-size:12px;padding:4px 12px}.message-time{color:#999;font-size:11px;margin-left:8px}.message-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:6px}.message-sender{font-size:14px;font-weight:600}.user-message .message-bubble{background-color:#e3f2fd;margin-left:0;margin-right:auto;max-width:70%}.admin-message .message-bubble{background-color:#f5f5f5;margin-left:auto;margin-right:0;max-width:70%}@media (prefers-color-scheme:dark){.date-divider-text{background-color:#ffffff1a;color:#aaa}.user-message .message-bubble{background-color:#1e3a5f}.admin-message .message-bubble{background-color:#2d2d2d}}*{box-sizing:border-box;margin:0;padding:0}body{background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (min-width:1025px){body{overflow:hidden}.landing{flex-direction:column;height:100vh;width:100%}.landing,.landing-main{display:flex;overflow:hidden}.landing-main{flex:1 1;flex-direction:column;min-height:0}.hero{flex:2 1;min-height:0}.services{flex-shrink:0}}@media (max-width:1024px){body{overflow-x:hidden;overflow-y:auto}.landing{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;width:100%}.landing-main{display:flex;flex:1 1;flex-direction:column}.hero{display:flex;min-height:auto;width:100%}.services{flex-direction:column;flex-shrink:0}}.landing-header{align-items:center;animation:slideDown .6s ease-out;background:#fff;display:flex;flex-shrink:0;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.2rem .5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.landing-logo{height:auto;transition:transform .3s ease;width:300px}.landing-logo:hover{transform:scale(1.05)}.header-links{align-items:center;display:flex;flex-wrap:wrap;font-size:1rem;gap:1.5rem;letter-spacing:.01em;padding-right:2rem}.header-link{color:#111;font-size:1rem;font-weight:500;position:relative;text-decoration:none;white-space:nowrap}.header-link:after{background-color:#111;bottom:-2px;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.header-link:hover{opacity:.7}.header-link:hover:after{width:100%}.header-separator{color:#ccc;font-size:1rem}.hero{animation:fadeIn .8s ease-out;display:flex;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-content{animation:slideInLeft .8s ease-out;background:#f5f5f5;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:0 2rem}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.hero-badge{animation:fadeInUp .6s ease-out .2s both;color:#666;font-size:.7rem;letter-spacing:.3em;margin-bottom:1rem;text-transform:uppercase}.hero-title{animation:fadeInUp .6s ease-out .4s both;color:#0a0a0a;font-size:2.5rem;font-weight:500;letter-spacing:-.02em;line-height:1.2}.lab-owner-name{animation:fadeInUp .6s ease-out .5s both;color:#555;display:inline-block;font-family:Tenor Sans,sans-serif;font-size:2.8rem;font-style:normal;font-weight:400;letter-spacing:-.01em;margin-bottom:1.5rem;position:relative}.lab-owner-name:before{animation:widthGrow .6s ease-out .7s both;background:#0a0a0a;bottom:-8px;content:"";height:2px;left:0;position:absolute;width:50px}@keyframes widthGrow{0%{width:0}to{width:50px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-btn{align-items:center;animation:fadeInUp .6s ease-out .8s both;background:#0a0a0a;border:none;border-radius:2.5rem;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:500;gap:.75rem;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .3s ease;width:fit-content}@media (min-width:1025px){.hero-btn{margin-top:2rem}}.hero-btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.hero-btn:hover:before{height:300px;width:300px}.hero-btn-arrow{font-size:1.1rem;transition:transform .3s ease}.hero-btn:hover{background:#2a2a2a;box-shadow:0 10px 20px #0000001a;transform:translateY(-2px)}.hero-btn:hover .hero-btn-arrow{transform:translateX(6px)}.hero-btn:active{transform:translateY(0)}.mobile-btn{display:none}.desktop-btn{display:inline-flex}.hero-image{align-items:center;animation:slideInRight .8s ease-out;background:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:2rem;position:relative}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.hero-image-img{animation:moveUpDown 2.5s ease-in-out infinite;height:auto;max-width:70%;transition:transform .3s ease}@keyframes moveUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-image-img:hover{transform:scale(1.05) translateY(-5px)}.services{animation:slideUp .8s ease-out;background:#fff;display:flex;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.service-item{border-right:1px solid #eee;border-top:1px solid #eee;cursor:pointer;flex:1 1;overflow:visible;padding:1.2rem 2rem;position:relative;text-align:center;transition:all .3s ease;z-index:1}.service-item:before{background:#0a0a0a;content:"";height:2px;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:center;transition:transform .3s ease;width:100%;z-index:2}.service-item:hover:before{transform:scaleX(1)}.service-item:last-child{border-right:none}.service-item:hover{background:#fafafa;transform:translateY(-2px);z-index:101}.service-number{color:#aaa;display:block;font-size:.65rem;letter-spacing:.1em;margin-bottom:.6rem;transition:all .3s ease}.service-item:hover .service-number{color:#0a0a0a;transform:translateX(5px)}.service-name{color:#1a1a1a;font-size:.95rem;font-weight:450;letter-spacing:-.01em;transition:all .3s ease}.service-item:hover .service-name{transform:translateX(3px)}.price-drawer{background:#fff;border-radius:0;bottom:100%;box-shadow:0 -5px 25px #00000014,0 5px 15px #0000000d;left:10px;margin-bottom:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;transform:translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1);visibility:hidden;width:calc(100% - 20px);z-index:100}.service-item:hover .price-drawer{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.drawer-content{width:100%}.drawer-list{padding:4px 20px}.drawer-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:3px 12px;transition:background .2s ease}.drawer-row:last-child{border-bottom:none}.drawer-row:hover{background:#fafafa}.drawer-service{color:#333;font-size:.7rem;font-weight:450}.drawer-price{background:#0000;color:#0a0a0a;font-size:.7rem;font-weight:600;letter-spacing:.2px;padding:2px 0;white-space:nowrap}@media (max-width:1024px){.landing-header{padding:.8rem 1.5rem}.landing-logo{width:240px}.header-links{gap:1rem;padding-right:0}.hero{flex-direction:column}.hero-content{align-items:center;padding:2rem 1.5rem;text-align:center}.hero-title{font-size:1.8rem;margin-bottom:1rem}.lab-owner-name{font-size:1.3rem;margin-bottom:1rem}.lab-owner-name:before{left:50%;transform:translateX(-50%);width:40px}.hero-badge{font-size:.6rem;margin-bottom:.8rem}.desktop-btn{display:none}.mobile-btn{display:inline-flex;margin-top:1rem}.hero-image{padding:2rem}.hero-image-img{margin-top:15px;max-width:45%}.services{flex-direction:column}.service-item{border-bottom:1px solid #eee;border-right:none;padding:.7rem 1rem}.service-number{font-size:.5rem;margin-bottom:.3rem}.service-name{font-size:.7rem}.service-item:last-child{border-bottom:none}.price-drawer{display:none!important}}@media (max-width:768px){.landing-header{flex-direction:column;gap:.5rem;padding:.8rem;text-align:center}.landing-logo{width:200px}.header-links{gap:.6rem;justify-content:center}.header-link{white-space:normal}.header-link,.header-separator{font-size:.8rem}.hero-content{padding:1.5rem 1rem}.hero-title{font-size:1.4rem}.lab-owner-name{font-size:1.1rem}.hero-image{padding:1.5rem}.hero-image-img{max-width:50%}.mobile-btn{font-size:.85rem;padding:.8rem 1.5rem}.service-item{padding:.65rem 1rem}.service-number{font-size:.5rem;margin-bottom:.3rem}.service-name{font-size:.7rem}}@media (max-width:600px){.landing-logo{width:180px}.header-link{font-size:.7rem}.hero-title{font-size:1.2rem}.lab-owner-name{font-size:.9rem}.hero-badge{font-size:.5rem}.hero-image-img{max-width:55%}.mobile-btn{font-size:.8rem;padding:.7rem 1.3rem}.service-item{padding:.6rem .8rem}.service-number{font-size:.5rem;margin-bottom:.3rem}.service-name{font-size:.7rem}}@media (max-width:480px){.landing-header{padding:.5rem}.landing-logo{width:160px}.header-links{gap:.4rem}.header-link{font-size:.65rem}.header-separator{display:none}.hero-content{padding:1rem}.hero-title{font-size:1rem;margin-bottom:.5rem}.lab-owner-name{font-size:.8rem}.hero-badge{font-size:.45rem;margin-bottom:.5rem}.hero-image{padding:1rem}.hero-image-img{max-width:60%}.mobile-btn{font-size:.7rem;padding:.6rem 1.1rem}.hero-btn-arrow{font-size:.8rem}.service-item{padding:.55rem .6rem}.service-number{font-size:.5rem;margin-bottom:.3rem}.service-name{font-size:.7rem}}@media (max-width:380px){.landing-logo{width:140px}.header-link{font-size:.6rem}.hero-title{font-size:.9rem}.lab-owner-name{font-size:.7rem}.mobile-btn{font-size:.65rem;padding:.5rem 1rem}.hero-image-img{max-width:65%}.service-item{padding:.5rem}.service-number{font-size:.5rem;margin-bottom:.3rem}.service-name{font-size:.7rem}}@media (max-width:1024px) and (orientation:landscape){.hero{flex-direction:row}.hero-content{padding:1rem}.hero-title{font-size:1.2rem;margin-bottom:.5rem}.lab-owner-name{font-size:.9rem;margin-bottom:.5rem}.hero-badge{font-size:.5rem;margin-bottom:.5rem}.hero-image{padding:1rem}.hero-image-img{max-width:40%}.mobile-btn{font-size:.7rem;margin-top:.5rem;padding:.5rem 1rem}.service-item{padding:.5rem .6rem}.service-number{font-size:.5rem;margin-bottom:.3rem}.service-name{font-size:.7rem}}@media (max-width:1024px){.mobile-btn{margin-top:1.5rem}}@media (min-width:1025px) and (min-height:900px){.hero-title{font-size:3rem}.lab-owner-name{font-size:2rem}.hero-content{padding:0 2rem 0 4rem}.hero-btn{margin-top:3rem}}@media (min-width:1025px) and (max-height:700px){.hero-title{font-size:1.8rem;margin-bottom:1rem}.lab-owner-name{font-size:1.3rem;margin-bottom:1rem}.hero-content{padding:0 2rem 0 3rem}.hero-btn{margin-top:1rem}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.hero-badge,.service-number{font-weight:400}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mobile-price-drawer{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;visibility:hidden;z-index:1000}.mobile-price-drawer.open{pointer-events:auto;visibility:visible}.mobile-drawer-overlay{background:#00000080;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.mobile-price-drawer.open .mobile-drawer-overlay{opacity:1}.mobile-drawer-content{background:#fff;border-radius:20px 20px 0 0;bottom:0;box-shadow:0 -5px 25px #00000026;left:0;max-height:70vh;overflow-y:auto;position:absolute;right:0;transform:translateY(100%);transition:transform .3s ease}.mobile-price-drawer.open .mobile-drawer-content{transform:translateY(0)}.mobile-drawer-header{align-items:center;background:#fff;border-bottom:1px solid #eee;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;padding:16px 20px;position:sticky;top:0;z-index:10}.mobile-drawer-close{background:none;border:1px solid #0000;border-radius:20px;color:#333;cursor:pointer;font-size:1rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.mobile-drawer-close:hover{background:#dc26261a;border-color:#dc26264d;color:#dc2626}.mobile-drawer-list{padding:8px 0 20px}.mobile-drawer-row{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:12px 20px}.mobile-drawer-row:last-child{border-bottom:none}.mobile-drawer-service{color:#333;flex:1 1;font-size:.85rem;padding-right:16px}.mobile-drawer-price{color:#0a0a0a;font-size:.85rem;font-weight:600;white-space:nowrap}@media (max-width:768px){.mobile-drawer-price,.mobile-drawer-service{font-size:.8rem}.mobile-drawer-row{padding:10px 16px}.mobile-drawer-close{font-size:.9rem;padding:6px 14px}}@media (max-width:480px){.mobile-drawer-price,.mobile-drawer-service{font-size:.75rem}.mobile-drawer-header{font-size:.9rem;padding:12px 16px}.mobile-drawer-close{font-size:.85rem;padding:5px 12px}}.header-link{transition:all .3s ease}.header-link.copied{color:#4caf50}
/*# sourceMappingURL=main.02789ace.css.map*/