*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;box-sizing:border-box}body,html{height:100%;margin:0;overflow:hidden;padding:0;touch-action:manipulation;width:100%}body{align-items:center;background-color:#f0e6d2;display:flex;font-family:Georgia,Batang,serif;justify-content:center;min-height:100vh;perspective:1800px;position:relative}.book-container{height:700px;margin:0 auto;max-height:80vh;position:relative;transform-style:preserve-3d;width:420px}.book-container,.book-container.open{transform:rotateY(0deg) scale(1);transition:transform 1.5s ease-in-out}.book-body{left:0;z-index:10}.book-body,.book-cover{height:100%;position:absolute;top:0;transform-style:preserve-3d;width:100%}.book-cover{background:#6b4423;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 0,rgba(0,0,0,.03) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 0,rgba(0,0,0,.03) 4px),radial-gradient(circle at 20% 30%,rgba(139,90,43,.3) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(101,67,33,.3) 0,transparent 50%);border:3px solid #4a2e1a;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.4);transform-origin:left center;transition:transform 1.5s ease-in-out}.book-cover:before{background-image:repeating-linear-gradient(90deg,#4a2e1a,#4a2e1a 2px,transparent 0,transparent 5px),repeating-linear-gradient(90deg,#4a2e1a,#4a2e1a 2px,transparent 0,transparent 5px),repeating-linear-gradient(0deg,#4a2e1a,#4a2e1a 2px,transparent 0,transparent 5px),repeating-linear-gradient(0deg,#4a2e1a,#4a2e1a 2px,transparent 0,transparent 5px);background-position:top,bottom,0,100%;background-repeat:no-repeat;background-size:100% 1px,100% 1px,1px 100%,1px 100%;bottom:10px;left:10px;right:10px;top:10px}.book-cover:after,.book-cover:before{border-radius:8px;content:"";pointer-events:none;position:absolute}.book-cover:after{background-image:repeating-linear-gradient(90deg,transparent,transparent 6px,rgba(74,46,26,.2) 0,rgba(74,46,26,.2) 7px),repeating-linear-gradient(0deg,transparent,transparent 6px,rgba(74,46,26,.2) 0,rgba(74,46,26,.2) 7px);bottom:12px;left:12px;right:12px;top:12px}.front-cover{left:0;transform:rotateY(0deg) translateZ(10px);z-index:40}.back-cover{left:0;transform:rotateY(0deg) translateZ(-10px);transform-origin:left center;z-index:1}.front-cover.open{box-shadow:0 0 50px rgba(0,0,0,.5);transform:rotateY(-180deg) translateZ(-5px);transition:transform 1.5s ease-in-out,box-shadow .3s ease;z-index:10}.closure-strap{background:#6b4423;border:2px solid #4a2e1a;border-radius:22px 0 0 22px;border-right:none;box-shadow:-2px 0 8px rgba(0,0,0,.3),inset 2px 0 4px rgba(0,0,0,.2);cursor:pointer;height:45px;position:absolute;right:-20px;top:45%;transform:translateY(-50%) translateZ(15px);transform-origin:right center;transition:transform .5s ease-in-out,right .5s ease-in-out,box-shadow .3s ease;width:120px;z-index:50}.closure-strap:before{background-image:repeating-linear-gradient(90deg,#4a2e1a,#4a2e1a 2px,transparent 0,transparent 4px),repeating-linear-gradient(90deg,#4a2e1a,#4a2e1a 2px,transparent 0,transparent 4px),repeating-linear-gradient(0deg,#4a2e1a,#4a2e1a 2px,transparent 0,transparent 4px);background-position:top,bottom,0;background-repeat:no-repeat;background-size:100% 1px,100% 1px,1px 100%;border-radius:17px 0 0 17px;bottom:4px;content:"";left:4px;pointer-events:none;position:absolute;right:4px;top:4px}.snap-button{background:radial-gradient(circle at 30% 30%,gold 0,#d4af37 40%,#b8860b 80%,#8b6914 100%);border:2px solid #d4af37;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.4),inset -2px -2px 4px rgba(0,0,0,.3);cursor:pointer;height:36px;left:50%;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .2s ease,box-shadow .3s ease;width:36px;z-index:2}.closure-strap:active .snap-button{transform:translate(-50%,-50%) scale(.95)}.book-container.open .closure-strap{right:0;transform:translateY(-50%) translateZ(15px) rotateY(180deg)}.page-area-wrapper{height:92%;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) translateZ(5px);transform-style:preserve-3d;transition:opacity .5s ease 1s;width:88%;z-index:50}.book-container.open .page-area-wrapper{opacity:1;pointer-events:auto;transition:opacity .5s ease}.page-content{background-color:#fffaf0;border:1px solid #e0d9c4;border-radius:4px;box-shadow:0 0 5px rgba(0,0,0,.1);color:#333;height:100%;left:0;position:absolute;top:0;width:100%}.page-inner{box-sizing:border-box;height:100%;overflow-y:auto;padding:24px;width:100%}.tab-buttons{display:flex;justify-content:center;margin-bottom:24px}.tab-button{background:transparent;border:none;border-bottom:2px solid #e0d9c4;color:#888;cursor:pointer;flex-grow:1;font-size:15px;font-weight:500;margin:0 4px;padding:10px 0;transition:all .2s ease}.tab-button.active{border-bottom:3px solid #4a3325;color:#4a3325;font-weight:700}.tab-content{display:none;padding-top:5px;text-align:center}.tab-content.active{display:block}.form-title{border-bottom:2px solid #e0d9c4;color:#4a3325;font-size:18px;font-weight:700;margin-bottom:20px;padding-bottom:10px}.input-group{margin-bottom:16px}.input-group label{color:#4a3325;display:block;font-size:14px;font-weight:600;margin-bottom:6px;text-align:left}.input-group input{background-color:#fffdf8;border:1px solid #d0c0a0;border-radius:6px;color:#333;font-size:15px;padding:12px;width:100%}.input-group input:focus{border-color:#8b6914;box-shadow:0 0 0 3px rgba(139,105,20,.1);outline:none}.input-group.checkbox-group{align-items:center;display:flex;justify-content:flex-start;margin-bottom:16px;width:100%}.checkbox-label{align-items:center!important;cursor:pointer;display:flex!important;flex-direction:row!important;gap:10px;margin:0!important;width:auto!important}.checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;background-color:#fff;border:2px solid #d4af37;border-radius:6px;cursor:pointer;flex-shrink:0;height:22px!important;margin:0!important;min-width:22px!important;padding:0!important;width:22px!important}.checkbox-label input[type=checkbox]:checked{background-color:#d4af37;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:80% 80%;border-color:#d4af37}.checkbox-label span{color:#5d4037;font-size:15px;font-weight:600;line-height:1.2;margin:0;padding-top:2px}.checkbox-label a{color:#d4af37;font-weight:700;text-decoration:underline}.action-button{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;margin-top:12px;padding:14px;width:100%}.action-button.primary{background-color:#5d3f2e;color:#fff}.action-button.secondary{background-color:#fff;border:1px solid #5d3f2e;color:#5d3f2e}.check-message{font-size:13px;margin-top:5px;text-align:left}.check-message.available{color:#4caf50}.check-message.duplicate,.check-message.invalid{color:#e54d4d}.onboarding-modal{align-items:center;animation:fadeIn .4s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:rgba(30,20,10,.7);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:100000}.onboarding-content{animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275);background-color:#fffaf0;border:1px solid #e0d9c4;border-radius:24px;box-shadow:0 15px 40px rgba(0,0,0,.3),0 0 0 3px rgba(212,175,55,.1);display:flex;flex-direction:column;max-height:85vh;max-width:400px;overflow:hidden;width:90%}.onboarding-slide{flex:1;flex-direction:column;overflow-y:auto;padding:32px 24px;text-align:center}.onboarding-icon,.onboarding-slide{align-items:center;display:flex;justify-content:center}.onboarding-icon{animation:iconFloat 3s ease-in-out infinite;background:linear-gradient(135deg,#fff,#fffdf8);border:2px solid #d4af37;border-radius:24px;box-shadow:0 8px 25px rgba(212,175,55,.15);flex-shrink:0;height:88px;margin-bottom:28px;width:88px}.onboarding-icon svg{fill:#b8860b;filter:drop-shadow(0 2px 3px rgba(184,134,11,.3));height:48px;width:48px}.onboarding-icon span{display:none}.onboarding-title{color:#3e2b22;font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1.3;margin:0 0 14px}.onboarding-description{color:#6b584a;font-size:15px;font-weight:500;line-height:1.7;margin:0 0 28px;word-break:keep-all}.onboarding-description strong{color:#b8860b;font-weight:700}.onboarding-feature-list{background:#f8f6f2;border:1px solid #eeeadd;border-radius:16px;margin-top:5px;padding:16px;text-align:left;width:100%}.feature-item{align-items:center;border-bottom:1px solid #eaddc5;color:#5d4037;display:flex;font-size:15px;font-weight:600;gap:12px;padding:10px 0}.feature-item:last-child{border-bottom:none}.feature-check{align-items:center;background:#d4af37;border-radius:50%;display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.feature-check svg{fill:#fff;height:14px;stroke:#fff;stroke-width:2;width:14px}.feature-check:before{content:none}.onboarding-footer{background-color:#fffaf0;border-top:none;flex-shrink:0;padding:10px 24px 24px}.onboarding-progress{margin-bottom:24px}.progress-dots{align-items:center;display:flex;gap:8px;justify-content:center}.progress-dot{background-color:#dad2c0;border-radius:4px;height:8px;transition:all .4s cubic-bezier(.25,.8,.25,1);width:8px}.progress-dot.active{background-color:#d4af37;width:24px}.onboarding-buttons{display:flex;flex-direction:row;gap:10px;margin-bottom:14px;width:100%}.onboarding-buttons button{border-radius:12px;flex:1;font-size:16px;font-weight:700;letter-spacing:-.01em;margin:0;min-height:52px;transition:transform .1s,background .2s}.onboarding-buttons button:active{transform:scale(.98)}.onboarding-buttons .action-button.primary{background:linear-gradient(135deg,#b8860b,#8b6914);border:none;box-shadow:0 6px 15px rgba(184,134,11,.3);color:#fff}.onboarding-buttons .action-button.secondary{background:#fff;border:2px solid #e0d9c4;box-shadow:none;color:#8c7b70}.onboarding-skip-area{border-top:none;margin-top:0;padding-top:0}.onboarding-skip-area button{background:none;border:none;color:#a89b93;font-size:14px;font-weight:600;height:auto;min-height:auto;padding:10px;text-decoration:none}.onboarding-swipe-hint{background:#f8f6f2;border:2px dashed #d4af37;border-radius:16px;margin-top:15px;padding:15px;text-align:center}.swipe-arrow{animation:swipeAnimation 1.5s ease-in-out infinite;color:#d4af37;display:inline-block;font-size:36px;font-weight:700;line-height:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes iconFloat{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes swipeAnimation{0%,to{opacity:.7;transform:translateX(0)}50%{opacity:1;transform:translateX(15px)}}.toast-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.toast{animation:toastFadeIn .2s ease-out;background-color:#333;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#fff;font-size:14px;padding:12px 16px}.toast.success{background-color:#4caf50}.toast.error{background-color:#e54d4d}.toast.warning{background-color:#ff9800}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast.hiding{animation:toastFadeOut .2s ease-in forwards}@keyframes toastFadeOut{to{opacity:0;transform:translateY(-10px)}}@media (max-width:500px){.book-container{height:80vh;width:95%}.onboarding-content{border-radius:20px;width:95%}.onboarding-slide{padding:24px 20px}.onboarding-icon{height:72px;margin-bottom:20px;width:72px}.onboarding-icon svg{height:36px;width:36px}.onboarding-title{font-size:20px}.onboarding-description{font-size:14px;margin-bottom:20px}.toast-container{left:12px;right:12px;top:12px}}.loading-overlay{align-items:center;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background-color:rgba(255,250,240,.7);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:200000}.loading-content{text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e0d9c4;border-radius:50%;border-top-color:#d4af37;height:50px;margin:0 auto 15px;width:50px}.loading-text{color:#4a3325;font-size:16px;font-weight:600;letter-spacing:-.02em}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay{align-items:center;backdrop-filter:blur(5px);background-color:rgba(0,0,0,.5);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.warning-modal{animation:popIn .3s cubic-bezier(.175,.885,.32,1.275);background:#fff;border-radius:16px;box-shadow:0 10px 25px rgba(0,0,0,.2);max-width:380px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px 20px}.modal-title{color:#333;font-size:18px;font-weight:700;margin:0}.close-modal{background:none;border:none;color:#999;cursor:pointer;font-size:24px;line-height:1;padding:0}.modal-body{background-color:#fff;color:#555;font-size:15px;line-height:1.5;padding:20px}.modal-footer{background-color:#f8f9fa;border-top:1px solid #eee;display:flex;gap:10px;justify-content:center;padding:15px 20px}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}