*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#000;font-family:Roboto Mono,Source Code Pro,Menlo,Courier,monospace}#root{width:100%;height:100%}.panel{background:#100f0fde;border-radius:8px;color:#dad8ce;font-family:Roboto Mono,Source Code Pro,Menlo,Courier,monospace;font-size:11px;padding:4px 0;display:flex;flex-direction:column;gap:0;min-width:140px}.panel-btn{background:#34333166;border:none;color:#dad8ce;cursor:pointer;font-family:inherit;font-size:11px;padding:4px 8px;height:24px;line-height:16px;transition:background .1s;white-space:nowrap;text-align:left;display:block;width:100%}.panel-btn:hover{background:#403e3c}.panel-btn.active{background:#403e3c;color:#f2f0e5}.panel-label{color:#cecdc3;font-size:10px;padding:6px 8px 2px;opacity:.6;display:block}.panel-text{color:#dad8ce;font-size:11px;padding:2px 8px;word-break:break-all;display:block}.panel-divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:3px 0}.angle-slider{width:calc(100% - 16px);margin:4px 8px;cursor:pointer;accent-color:rgb(218,216,206);display:block}.tab-switcher{position:fixed;top:12px;left:12px;z-index:100;display:flex;flex-direction:row;background:#100f0fde;border-radius:8px;padding:4px 0;gap:0}.tab-switcher .panel-btn{width:auto;border-radius:0;padding:4px 12px}.tab-switcher .panel-btn:first-child{border-radius:6px 0 0 6px}.tab-switcher .panel-btn:last-child{border-radius:0 6px 6px 0}.controls-panel{position:fixed;top:12px;right:12px;z-index:100}.book-controls-panel{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100}.page-controls{display:flex;gap:0;align-items:center}.page-controls .panel-btn{width:auto;text-align:center;padding:4px 14px}#VRButton{position:fixed!important;bottom:90px!important;padding:4px 12px!important;border:none!important;border-radius:4px!important;background:#100f0fde!important;color:#dad8ce!important;font:11px Roboto Mono,monospace!important;outline:none!important;z-index:999!important;cursor:pointer!important}#VRButton:hover{background:#403e3c!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#100f0f;color:#dad8ce;padding:16px;border-radius:8px;min-width:320px;max-width:500px;width:90%;font-family:Roboto Mono,Source Code Pro,Menlo,Courier,monospace;font-size:11px}.modal-content h2{margin:0 0 12px;font-size:12px;font-weight:600;color:#f2f0e5}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-header h2{margin:0}.modal-close{background:none;border:none;color:#cecdc3;font-size:16px;cursor:pointer;padding:0 4px;line-height:1;font-family:inherit}.modal-close:hover{color:#f2f0e5}.modal-select{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.modal-select select{background:#34333199;border:none;border-radius:4px;color:#dad8ce;padding:4px 8px;font-size:11px;font-family:inherit;height:24px;width:100%}.tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:10px}.tab{padding:4px 10px;border:none;background:none;cursor:pointer;font-size:11px;font-family:inherit;color:#cecdc3;border-bottom:2px solid transparent;transition:all .1s;opacity:.6}.tab.active{color:#f2f0e5;border-bottom-color:#dad8ce;opacity:1}.tab:hover{opacity:.85}.tab-content{min-height:80px}.url-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.url-input-row,.file-entry{display:flex;align-items:center;gap:6px;padding:3px 4px;background:#3433314d;border-radius:4px}.file-entry span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dad8ce}.url-input{flex:1;background:#34333199;border:none;border-radius:3px;color:#dad8ce;padding:3px 6px;font-size:11px;font-family:inherit;height:22px}.url-input::placeholder{color:#dad8ce4d}.remove-url{background:#34333166;border:none;border-radius:3px;color:#cecdc3;cursor:pointer;padding:2px 6px;font-size:12px;font-family:inherit;flex-shrink:0;height:20px}.remove-url:hover{background:#b4323266;color:#f2f0e5}.add-url{background:#34333166;border:none;border-radius:4px;color:#dad8ce;cursor:pointer;padding:4px 8px;font-size:11px;font-family:inherit;margin-bottom:8px;height:24px}.add-url:hover{background:#403e3c}.submit-urls,.load-button,.close-button{background:#34333166;border:none;border-radius:4px;color:#dad8ce;cursor:pointer;padding:4px 8px;font-size:11px;font-family:inherit;width:100%;height:24px;margin-top:4px}.submit-urls:hover,.load-button:hover,.close-button:hover{background:#403e3c}.submit-urls:disabled{opacity:.3;cursor:not-allowed}.count-selector{display:flex;align-items:center;gap:4px;flex-shrink:0}.count-label{color:#dad8ce80;font-size:10px;white-space:nowrap}.count-input{width:44px;padding:2px 4px;background:#34333199;border:none;border-radius:3px;color:#dad8ce;font-size:11px;font-family:inherit;text-align:center;height:20px}.count-input:focus{outline:1px solid rgba(218,216,206,.3)}.count-input::-webkit-inner-spin-button,.count-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.count-input[type=number]{-moz-appearance:textfield}.file-upload-area{border:1px dashed rgba(218,216,206,.2);border-radius:6px;padding:16px;text-align:center;cursor:pointer;transition:border-color .1s;margin-bottom:8px}.file-upload-area:hover{border-color:#dad8ce66}.file-input{display:none}.file-input-label{cursor:pointer;display:block;color:#cecdc3}.upload-icon{font-size:24px;margin-bottom:6px}.upload-text{color:#dad8ce73;font-size:10px}.file-list h3{margin:0 0 6px;color:#dad8ce80;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
