.door{background-color:#111;border:3px solid #333333;color:#000;font-size:48px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:10px;aspect-ratio:1;width:100%;height:100%;min-width:0;min-height:0}.door:hover:not(:disabled){background-color:#222;border-color:#444;transform:scale(1.05)}.door:active:not(:disabled){transform:scale(.98)}.door.opened{background-color:#393939;border-color:#ffa9a9;color:#ffa9a9}.door.openable{background-color:#111;border-color:#ffa9a9;color:#ffa9a9}.door.disabled{background-color:#111;border-color:#ffa9a957;color:#ffa9a957;cursor:not-allowed;opacity:.6}.door:disabled{cursor:not-allowed}@media (max-width: 768px){.door{font-size:18px;border-width:2px}}@media (max-width: 480px){.door{font-size:24px;border-width:2px}}.calendar{width:100%;height:100%;display:flex;justify-content:top;align-items:center;padding:10px;background-color:#000;overflow:auto}.calendar-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);gap:8px;width:100%;max-width:1200px;aspect-ratio:6 / 4;max-height:calc(100vh - 20px)}@media (max-width: 1024px){.calendar-grid{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,1fr);aspect-ratio:4 / 6;gap:6px}}@media (max-width: 768px){.calendar{padding:8px}.calendar-grid{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,1fr);aspect-ratio:4 / 6;gap:6px;max-width:100%}}@media (max-width: 480px){.calendar{padding:5px}.calendar-grid{gap:4px}}.video-player{position:relative;width:100vw;height:100vh;background-color:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-element{width:100%;height:100%;object-fit:contain;background-color:#000}.video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:40px}.video-error p{margin:10px 0;font-size:18px}.video-path{font-size:14px;color:#888;font-family:monospace}.back-button{position:absolute;top:15px;left:15px;background-color:#1a1a1a;color:#fff;border:none;padding:12px 24px;font-size:13px;font-weight:700;cursor:pointer;border-radius:4px;transition:background-color .2s ease;z-index:10}.back-button:hover{background-color:#2a2a2a}.back-button:active{background-color:#333}.fullscreen-button{position:absolute;top:15px;right:15px;background-color:#1a1a1a;color:#fff;border:none;padding:12px 16px;font-size:18px;font-weight:700;cursor:pointer;border-radius:4px;transition:background-color .2s ease;z-index:10;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.fullscreen-button:hover{background-color:#2a2a2a}.fullscreen-button:active{background-color:#333}@media (max-width: 768px){.back-button,.fullscreen-button{padding:10px 14px;font-size:12px;top:10px}.back-button{left:10px}.fullscreen-button{right:10px;min-width:40px;min-height:40px;font-size:16px}}.app{width:100vw;height:100vh;background-color:#000;display:flex;flex-direction:column;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;color:#fff;overflow:hidden}#root{width:100vw;height:100vh}
