*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}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:#000;color:#fff}.vr-button{position:fixed;bottom:20px;right:20px;z-index:9999;padding:15px 30px;font-size:18px;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;cursor:pointer;box-shadow:0 10px 30px #667eea66;transition:all .3s ease}.vr-button:hover{transform:translateY(-2px);box-shadow:0 15px 40px #667eea99}.vr-button:active{transform:translateY(0)}.book-header{position:fixed;top:50px;right:20px;z-index:9998;text-align:right;background:#0009;padding:15px 20px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.book-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:5px}.book-author{font-size:14px;color:#ffffffb3}.environment-selector{position:fixed;top:20px;left:20px;z-index:9999;display:flex;gap:10px;flex-wrap:wrap}.env-button{padding:10px 20px;font-size:14px;color:#fff;background:#0009;border:2px solid rgba(255,255,255,.3);border-radius:10px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.env-button:hover{background:#fff3;border-color:#fff9}.env-button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#fff}.page-controls{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:20px;padding:15px 30px;background:#0009;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-button{width:40px;height:40px;font-size:20px;color:#fff;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.page-button:hover{background:#ffffff4d;border-color:#fff9}.page-info{font-size:16px;font-weight:700;color:#fff;min-width:100px;text-align:center}.loading-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:20px;font-size:18px;color:#ffffffb3}.file-upload-container{position:fixed;top:140px;right:20px;z-index:9998;max-width:300px}.file-upload-dropzone{background:#000c;border:2px dashed rgba(255,255,255,.3);border-radius:10px;padding:20px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.file-upload-dropzone:hover{border-color:#fff9;background:#000000e6}.file-upload-dropzone.dragging{border-color:#667eea;background:#667eea1a}.upload-icon{font-size:48px;text-align:center;margin-bottom:10px}.upload-text{text-align:center;color:#fff}.upload-title{font-size:16px;font-weight:700;margin-bottom:5px}.upload-subtitle{font-size:12px;color:#fff9}.upload-progress-text{font-size:14px;margin-bottom:10px}.upload-progress-bar{width:100%;height:6px;background:#fff3;border-radius:3px;overflow:hidden}.upload-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.file-upload-info{background:#0009;border-radius:10px;padding:15px;margin-top:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.file-upload-info h3{font-size:14px;margin-bottom:10px;color:#fff}.file-upload-info ul{font-size:12px;color:#ffffffb3;list-style:none;padding:0;margin:0}.file-upload-info li{margin-bottom:5px;padding-left:15px;position:relative}.file-upload-info li:before{content:"•";position:absolute;left:0;color:#667eea}.mode-selector{display:none}.mode-button{padding:12px 25px;font-size:16px;font-weight:700;color:#ffffffb3;background:#ffffff0d;border:2px solid rgba(255,255,255,.2);border-radius:25px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.mode-button:hover{background:#ffffff1a;border-color:#fff6;color:#fff;transform:translateY(-2px)}.mode-button.active{background:linear-gradient(90deg,#667eea,#764ba2);border-color:#fff;color:#fff;box-shadow:0 10px 30px #667eea80}.page-controls{display:none}.app-container{padding-bottom:env(safe-area-inset-bottom)}
