@font-face {
    font-family: 'chai';
    src: url('https://file.garden/aXUfWdPgtglShqRb/fonts/chai.ttf'); 
}
* { box-sizing: border-box; user-select: none; }

body {
    margin: 0; min-height: 100vh;
    display: flex; justify-content: center; align-items: center;
    background-color: #ffeef5;
    background-image: url(https://file.garden/aXUfWdPgtglShqRb/backgorund/3.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    font-family: 'Quicksand', sans-serif;
}
.scene-container {
    position: relative; display: flex; justify-content: center;
    animation: float 3s ease-in-out infinite;
}
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

.ipad-device {
    position: relative; width: 480px; 
    height: auto;
    filter: drop-shadow(0 25px 50px rgba(189, 143, 163, 0.5));
}

.device-bg { width: 100%; height: auto; display: block; }


.ipad-screen {
    position: absolute;
    top: 4.5%; left: 7.9%; width: 84.3%; height: 91%;
    background-image: url('https://file.garden/aXUfWdPgtglShqRb/backgorund/2.jpg');
    background-size: cover;
    background-position: center;
    border-radius: 4px; overflow: hidden;
    display: flex; flex-direction: column; align-items: center;
    color: white;
}
.ipad-screen::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.2); pointer-events: none;
}
.status-bar {
    position: absolute; top: 10px; right: 15px;
    display: flex; gap: 8px; font-size: 12px;
    z-index: 2; opacity: 0.8;
}
.lock-content {
    z-index: 2;
    flex-grow: 1;
    display: flex; flex-direction: column;
    justify-content: center; align-items: center;
    width: 100%;
    padding-bottom: 50px;
}
.lock-icon { font-size: 24px; margin-bottom: 10px; opacity: 0.8; transition: all 0.3s; }
.device-name {
    font-size: 32px; font-family: chai; font-weight: 700; margin: 0 0 30px 0;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    letter-spacing: 1px;
}
.passcode-wrapper {
    position: relative;
    z-index: 100;
    margin-top: 20px; 
}
#passcode-input {
    background: rgba(0, 0, 0, 0.4) !important; 
    border: 2px solid #ffffff !important;
    color: white !important;
    min-height: 45px;
    min-width: 200px;
}
.enter-btn {
    z-index: 101;
}
#passcode-input::placeholder { color: white; font-weight: normal; z-index: 100;}
#passcode-input:focus {
    background: white;
    border-color: white;
    z-index: 101;
}
.enter-btn {
    position: absolute; top: 50%; right: 5px;
    transform: translateY(-50%);
    width: 34px; height: 34px;
    border-radius: 50%; border: none;
    background: rgba(255,255,255,0.9); color: #ffc1e3;
    display: flex; justify-content: center; align-items: center;
    cursor: pointer; transition: 0.2s;
    z-index: 100;
}
.enter-btn:hover { background: white; color: #ff69b4; }
.enter-btn:active { transform: translateY(-50%) scale(0.9); }

.hint-text {
    margin-top: 15px; font-size: 12px;
    color: rgba(255,255,255,0.7);
}

.home-indicator {
    position: absolute; bottom: 8px;
    width: 100px; height: 4px;
    background: rgba(255,255,255,0.8);
    border-radius: 10px; z-index: 2;
}
.shake { animation: shake 0.4s cubic-bezier(.36,.07,.19,.97) both; }
@keyframes shake {
  10%, 90% { transform: translate3d(-2px, 0, 0); }
  20%, 80% { transform: translate3d(4px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-6px, 0, 0); }
  40%, 60% { transform: translate3d(6px, 0, 0); }
}

.unlocking .ipad-device {
    transform: scale(1.1); opacity: 0;
    transition: all 0.8s ease-in-out;
}