@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes ringPulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.08);opacity:.6}}@keyframes polaroidDrop{0%{opacity:0;transform:rotate(-2deg) translateY(-40px) scale(.9)}to{opacity:1;transform:rotate(-2deg) translateY(0) scale(1)}}@keyframes notifSlide{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes hintFade{0%,70%{opacity:1}to{opacity:0}}@keyframes rotateHint{0%,to{transform:rotate(0deg)}50%{transform:rotate(90deg)}}.capture-hero{text-align:center;padding:40px 0}.capture-timer{font-family:"Caveat",cursive;font-size:18px;color:var(--warm);margin-bottom:24px;animation:pulse 2s ease-in-out infinite}.capture-circle,.capture-circle-inner{border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.capture-circle{width:180px;height:180px;margin:0 auto 32px;cursor:pointer;position:relative}.capture-circle-inner{width:160px;height:160px;background:linear-gradient(135deg,var(--capture-ring-from),var(--capture-ring-to))}.capture-circle:hover .capture-circle-inner{transform:scale(1.05);box-shadow:0 0 40px rgba(var(--accent-rgb),.5)}.capture-circle-ring{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(var(--accent-rgb, 201, 169, 110),.3);animation:ringPulse 3s ease-in-out infinite}.capture-circle svg{width:48px;height:48px;color:#fff}.capture-label{font-family:"Playfair Display",serif;font-size:22px;font-weight:600;margin-bottom:8px}.capture-sublabel{font-size:14px;color:var(--text-muted)}.capture-friend-picker{margin-top:32px;text-align:center}.capture-friend-picker label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:12px;font-weight:500}.capture-friend-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.capture-friend-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:var(--bg-card);border:2px solid rgba(255,255,255,.06);border-radius:var(--radius);cursor:pointer;transition:var(--transition);min-width:72px}.capture-friend-btn:hover{border-color:rgba(var(--accent-rgb, 201, 169, 110),.3)}.capture-friend-btn.selected{border-color:var(--accent);background:var(--accent-glow)}.capture-friend-btn .emoji{font-size:28px;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.capture-friend-btn .emoji img,.chip-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.chip-avatar{width:20px;height:20px;vertical-align:middle;margin-right:2px}.capture-friend-btn .name{font-size:11px;color:var(--text-secondary);font-weight:500}.capture-done{text-align:center;padding:32px 0}.capture-done-polaroid{width:240px;margin:0 auto 24px;background:#f5f5f0;padding:16px 16px 48px;border-radius:4px;box-shadow:0 8px 32px rgba(0,0,0,.3);transform:rotate(-2deg);animation:polaroidDrop .6s ease}.capture-done-img{width:100%;aspect-ratio:1;background:linear-gradient(135deg,rgba(var(--accent-rgb, 201, 169, 110),.2),rgba(240,124,110,.2));display:flex;align-items:center;justify-content:center;overflow:hidden}.capture-done-img img{width:100%;height:100%;object-fit:cover;font-size:56px;border-radius:2px}.capture-done-caption{font-family:"Caveat",cursive;font-size:18px;color:#333;margin-top:12px;text-align:center}.capture-done-meta{margin-top:24px}.capture-done-title,.daily-history h3{font-family:"Playfair Display",serif;font-size:22px;font-weight:600;margin-bottom:6px}.capture-done-date{font-size:13px;color:var(--text-muted);margin-bottom:16px}.capture-streak{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:rgba(240,124,110,.1);border-radius:50px;font-size:14px;font-weight:500;color:var(--warm)}.daily-history{margin-top:40px}.daily-history h3{font-size:20px;margin-bottom:16px}.daily-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.daily-card{background:#f5f5f0;padding:10px 10px 32px;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.2);cursor:pointer;transition:var(--transition)}.daily-card:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 8px 24px rgba(0,0,0,.3)}.daily-card:nth-child(even){transform:rotate(1deg)}.daily-card:nth-child(even):hover{transform:translateY(-4px) rotate(2deg)}.daily-card-img{width:100%;aspect-ratio:1;background:linear-gradient(135deg,rgba(var(--accent-rgb, 201, 169, 110),.15),rgba(240,124,110,.15));display:flex;align-items:center;justify-content:center;overflow:hidden}.daily-card-img img{width:100%;height:100%;object-fit:cover;font-size:40px;border-radius:2px}.daily-card-text{font-family:"Caveat",cursive;font-size:14px;color:#555;margin-top:8px;text-align:center}.trips-active-section,.trips-past-section{margin-bottom:32px}.trip-card-info h4,.trips-section-title{font-family:"Playfair Display",serif;font-size:20px;font-weight:600}.trips-section-title{margin-bottom:16px;display:flex;align-items:center;gap:10px}.trips-section-title .live-dot{width:10px;height:10px;background:var(--green);border-radius:50%;animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 8px rgba(110,240,160,.5)}.trip-card,.trip-photo img{transition:var(--transition)}.trip-card{background:var(--bg-card);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.trip-card:hover{border-color:rgba(var(--accent-rgb, 201, 169, 110),.2);box-shadow:var(--shadow)}.trip-card.active{border-color:rgba(110,240,160,.3)}.trip-card-header{padding:20px 24px;display:flex;justify-content:space-between;align-items:flex-start}.trip-card-info h4{margin-bottom:4px}.trip-card-meta{font-size:13px;color:var(--text-muted);display:flex;gap:16px;margin-top:6px}.trip-card-status{padding:4px 12px;border-radius:50px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.trip-card-status.live{background:rgba(110,240,160,.15);color:var(--green)}.trip-card-status.ended{background:rgba(136,136,160,.15);color:var(--text-secondary)}.trip-card-status.upcoming{background:rgba(110,192,240,.15);color:var(--blue)}.trip-card-friends{padding:0 24px 16px;display:flex;gap:6px;flex-wrap:wrap}.trip-photos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.trip-photo{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:28px;background:linear-gradient(135deg,rgba(var(--accent-rgb, 201, 169, 110),.05),rgba(240,124,110,.05));overflow:hidden}.trip-photo img{width:100%;height:100%;object-fit:cover;cursor:pointer}.trip-photo:hover{background:linear-gradient(135deg,rgba(var(--accent-rgb, 201, 169, 110),.15),rgba(240,124,110,.15))}.trip-card-actions{padding:16px 24px;display:flex;gap:10px;border-top:1px solid rgba(255,255,255,.04)}.trip-action,.trip-add-photo{cursor:pointer;transition:var(--transition);font-size:12px}.trip-action{padding:8px 16px;border-radius:50px;border:1px solid rgba(255,255,255,.08);background:0 0;color:var(--text-secondary);font-family:"Inter",sans-serif;font-weight:500}.trip-action:hover{background:rgba(255,255,255,.04);color:var(--text)}.trip-action.primary{background:var(--accent);color:#fff;border-color:transparent}.trip-add-photo{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:rgba(var(--accent-rgb, 201, 169, 110),.08);border:2px dashed rgba(var(--accent-rgb, 201, 169, 110),.2);color:var(--accent-light)}.trip-add-photo:hover{background:rgba(var(--accent-rgb, 201, 169, 110),.15);border-color:var(--accent)}.trip-add-photo svg{width:24px;height:24px}.capture-notification{position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-20px);z-index:300;animation:notifSlide .4s ease forwards}.capture-notification.hidden{display:none}.capture-notif-content{background:rgba(20,20,30,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(110,240,160,.3);border-radius:var(--radius);padding:16px 32px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.4)}.capture-notif-icon{font-size:32px;margin-bottom:4px}.capture-notif-text{font-family:"Playfair Display",serif;font-size:18px;font-weight:600;color:var(--green)}.capture-notif-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.mode-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:10px;font-weight:600;border-radius:50px;text-transform:uppercase;letter-spacing:.5px;margin-left:8px;margin-top:8px;vertical-align:middle}.mode-badge svg{flex-shrink:0}.mode-daily{background:rgba(240,200,80,.15);color:var(--gold)}.mode-trip{background:rgba(110,192,240,.15);color:var(--blue)}.legacy-settings{background:#241f19;border:1px solid rgba(78,70,55,.3);border-radius:16px;padding:32px;margin-bottom:24px;position:relative;overflow:hidden}.legacy-settings::before{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(242,195,107,.06)0,transparent 70%);pointer-events:none}.legacy-settings-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.legacy-settings-icon{font-size:28px;color:#f2c36b;flex-shrink:0;margin-top:2px}.legacy-settings h3{font-family:"Noto Serif",Georgia,serif;font-size:20px;font-weight:700;margin-bottom:6px;color:#ece0d8}.legacy-settings-sub{font-size:13px;color:#d2c5b2;line-height:1.6;font-family:"Inter",sans-serif;font-weight:300}.legacy-heirs{display:flex;flex-direction:column;gap:12px}.legacy-heirs-empty{text-align:center;padding:24px;color:#9b8f7e;font-size:13px;font-family:"Inter",sans-serif}.legacy-heir{display:flex;align-items:center;justify-content:space-between;padding:16px;background:rgba(58,52,46,.15);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(78,70,55,.2);border-radius:12px;transition:all .3s ease}.legacy-heir:hover{border-color:rgba(242,195,107,.2)}.legacy-heir-info{display:flex;align-items:center;gap:14px}.legacy-heir-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:rgba(242,195,107,.08);border:1px solid rgba(242,195,107,.15)}.legacy-heir-name{font-weight:500;font-size:14px;color:#ece0d8;font-family:"Inter",sans-serif}.legacy-heir-relation{font-size:10px;color:#d2c5b2;text-transform:uppercase;letter-spacing:.1em;font-family:"Inter",sans-serif}.legacy-add-heir-btn,.legacy-toggle{cursor:pointer;transition:all .3s ease}.legacy-toggle{position:relative;width:48px;height:26px;background:rgba(78,70,55,.4);border-radius:13px;border:0}.legacy-toggle.active{background:#f2c36b}.legacy-toggle::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease}.legacy-toggle.active::after{left:25px}.legacy-add-heir-btn{width:100%;margin-top:12px;padding:12px;background:rgba(242,195,107,.05);border:1px dashed rgba(242,195,107,.2);border-radius:12px;color:#f2c36b;font-size:13px;font-family:"Inter",sans-serif;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px}.legacy-add-heir-btn:hover{background:rgba(242,195,107,.1)}.legacy-empty-state{text-align:center;padding:40px 16px;margin-top:16px}.legacy-empty-title,.novel-card-info h4,.novel-reader-cover h2{font-family:"Noto Serif",Georgia,serif;margin-bottom:4px;color:#ece0d8}.legacy-empty-title{font-size:16px;margin-top:12px}.legacy-empty-sub,.novel-card-info p{font-size:13px;font-family:"Inter",sans-serif;color:#9b8f7e;font-weight:300}.novel-section{margin-bottom:24px}.novel-section-title{font-family:"Playfair Display",serif;font-size:20px;font-weight:700;font-style:italic;margin-bottom:16px;display:flex;align-items:center;gap:10px;color:#ece0d8}.novel-card{background:#241f19;border:1px solid rgba(78,70,55,.3);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease;margin-bottom:16px}.novel-card:hover{border-color:rgba(242,195,107,.3);transform:translateY(-2px);box-shadow:0 8px 32px rgba(242,195,107,.08)}.novel-card-header{padding:24px;display:flex;align-items:center;gap:16px}.novel-card-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;background:rgba(242,195,107,.08);border:1px solid rgba(242,195,107,.15);flex-shrink:0}.novel-card-info h4,.novel-reader-cover h2{font-size:18px;font-weight:700}.novel-card-info p{color:#d2c5b2}.novel-card-preview,.novel-reader-cover .subtitle{font-family:"Noto Serif",Georgia,serif;font-size:15px;color:#d2c5b2}.novel-card-preview{line-height:1.6;font-style:italic;border-top:1px solid rgba(78,70,55,.3);padding:16px 24px 24px;margin:0 24px}.novel-card-stats{padding:16px 24px;display:flex;gap:20px;border-top:1px solid rgba(78,70,55,.3);font-size:10px;color:#d2c5b2;font-family:"Inter",sans-serif;text-transform:uppercase;letter-spacing:.1em}.modal-novel{max-width:700px;max-height:90vh}.novel-reader{padding:40px;background:#17120e}.novel-reader-cover{text-align:center;padding:48px 32px;margin-bottom:32px;background:linear-gradient(135deg,#17120e,#241f19);border-radius:16px;position:relative;overflow:hidden}.novel-reader-cover::before{content:"";position:absolute;inset:6px;border:1px solid rgba(242,195,107,.1);border-radius:12px;pointer-events:none}.novel-reader-cover::after{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(242,195,107,.06)0,transparent 70%);pointer-events:none}.novel-reader-avatar{margin-bottom:16px;display:block}.novel-reader-cover h2{font-family:"Playfair Display",serif;font-size:28px;font-style:italic}.novel-reader-cover .subtitle{margin-bottom:24px;font-weight:300}.novel-reader-cover .years{font-size:11px;color:#9b8f7e;letter-spacing:.2em;text-transform:uppercase;font-family:"Inter",sans-serif;font-weight:500}.novel-chapter{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid rgba(78,70,55,.3)}.cross-connection-item:last-child,.novel-chapter:last-child{border-bottom:none}.novel-chapter-title{font-family:"Playfair Display",serif;font-size:22px;font-weight:700;font-style:italic;margin-bottom:6px;color:#f2c36b}.novel-chapter-date{font-size:10px;color:#d2c5b2;margin-bottom:16px;letter-spacing:.2em;text-transform:uppercase;font-family:"Inter",sans-serif;font-weight:500}.novel-chapter-emoji{font-size:48px;margin-bottom:16px;display:block}.novel-chapter-photo{width:100%;max-width:400px;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:16px;box-shadow:0 8px 32px rgba(0,0,0,.4)}.novel-chapter-text{font-family:"Noto Serif",Georgia,serif;font-size:16px;color:#d2c5b2;line-height:1.8;font-style:italic;margin-bottom:12px}.novel-chapter-comment{background:rgba(242,195,107,.05);border-left:3px solid rgba(242,195,107,.3);padding:16px 20px;border-radius:0 12px 12px 0;margin-top:16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.novel-chapter-comment-label{font-size:10px;color:#f2c36b;text-transform:uppercase;letter-spacing:.15em;font-weight:600;margin-bottom:6px;font-family:"Inter",sans-serif}.novel-chapter-comment-text{font-family:"Noto Serif",Georgia,serif;font-size:15px;color:#d2c5b2;line-height:1.6;font-style:italic}.novel-chapter-friends{margin-top:12px;display:flex;gap:6px;flex-wrap:wrap}.novel-empty-state{text-align:center;padding:40px 16px}.novel-empty-title{font-size:16px;font-family:"Noto Serif",Georgia,serif;color:#ece0d8;margin-top:12px}.novel-empty-sub{font-size:13px;font-family:"Inter",sans-serif;color:#9b8f7e;font-weight:300;margin-top:4px}.novel-reader-footer{text-align:center;padding:40px 0}.novel-footer-text{font-family:"Noto Serif",Georgia,serif;font-size:18px;font-style:italic;color:#d2c5b2;margin-top:12px}.novel-footer-brand{font-size:12px;font-family:"Inter",sans-serif;color:#9b8f7e;margin-top:8px;letter-spacing:.1em}.cross-connections{background:var(--bg-card);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:24px;margin-bottom:24px}.cross-connections h3{font-family:"Playfair Display",serif;font-size:18px;font-weight:600;margin-bottom:16px}.cross-connection-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.04)}.cross-avatars{display:flex}.cross-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--bg-card-hover);border:2px solid var(--bg);margin-left:-8px}.cross-avatar:first-child{margin-left:0}.cross-info{flex:1}.cross-info-title{font-size:13px;font-weight:500}.cross-info-sub{font-size:11px;color:var(--text-muted)}.cross-info-count{font-size:13px;color:var(--accent-light);font-weight:600}#book-viewer-modal{z-index:1000;background:0 0;backdrop-filter:none;-webkit-backdrop-filter:none}.book-viewer-wrapper{position:fixed;inset:0;flex-direction:column;background:radial-gradient(ellipse at center,#1a1508 0,#0a0a14 70%);z-index:1001}.book-viewer-close,.book-viewer-scene,.book-viewer-wrapper{display:flex;align-items:center;justify-content:center}.book-viewer-close{position:fixed;top:20px;right:20px;z-index:1010;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#fff;width:44px;height:44px;border-radius:50%;font-size:24px;cursor:pointer;transition:var(--transition);backdrop-filter:blur(10px)}.book-viewer-close:hover{background:rgba(255,255,255,.15);transform:scale(1.1)}.book-viewer-scene{perspective:2200px;width:92vw;height:80vh}.book-3d{position:relative;width:90vw;max-width:1200px;height:75vh;transform-style:preserve-3d;transform:rotateX(5deg)}.book-3d::before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:4px;background:rgba(0,0,0,.5);transform:translateX(-50%);z-index:100;box-shadow:0 0 20px 8px rgba(0,0,0,.3);border-radius:2px}.book-page,.book-page-front{position:absolute;height:100%}.book-page{width:50%;top:0;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.645,.045,.355,1);transform-origin:left center;right:0;left:auto;z-index:1}.book-page.flipped{transform:rotateY(-180deg)}.book-page-front{backface-visibility:hidden;border-radius:0 8px 8px 0;overflow-y:auto;overflow-x:hidden;flex-direction:column;justify-content:flex-start;padding:32px 28px}.book-page-back,.book-page-front,div.book-polaroid-img{width:100%;display:flex;align-items:center}.book-page-back{position:absolute;height:100%;backface-visibility:hidden;overflow-y:auto;overflow-x:hidden;flex-direction:column;justify-content:flex-start;padding:32px 28px}.book-page-front{background:linear-gradient(135deg,#f8f5f0 0,#f0ebe3 50%,#e8e3db 100%);box-shadow:inset -4px 0 12px rgba(0,0,0,.08),2px 0 8px rgba(0,0,0,.15)}.book-left-page,.book-page-back{background:linear-gradient(225deg,#f8f5f0 0,#f0ebe3 50%,#e8e3db 100%);border-radius:8px 0 0 8px;box-shadow:inset 4px 0 12px rgba(0,0,0,.08),-2px 0 8px rgba(0,0,0,.15)}.book-page-back{transform:rotateY(180deg)}.book-left-page{position:absolute;width:50%;height:100%;top:0;left:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:32px 28px;overflow-y:auto;overflow-x:hidden}.book-left-page::after,.book-page-back::after,.book-page-front::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none}.book-page-number{position:absolute;bottom:16px;font-family:"Caveat",cursive;font-size:14px;color:#999}.book-page-front .book-page-number{right:20px}.book-left-page .book-page-number,.book-page-back .book-page-number{left:20px}.book-polaroid{background:#fff;padding:12px 12px 40px;box-shadow:0 4px 16px rgba(0,0,0,.12),0 1px 4px rgba(0,0,0,.08);max-width:280px;width:85%;margin-bottom:16px;transform:rotate(var(--rot, -1.5deg));transition:transform .3s ease}.book-polaroid:hover{transform:rotate(0deg) scale(1.03)}img.book-polaroid-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px;display:block}div.book-polaroid-img{aspect-ratio:1;background:linear-gradient(135deg,rgba(var(--accent-rgb, 201, 169, 110),.12),rgba(240,124,110,.12));justify-content:center;font-size:52px;border-radius:2px}.book-polaroid-caption{font-family:"Caveat",cursive;font-size:15px;color:#555;text-align:center;margin-top:8px;line-height:1.3}.book-page-title{font-family:"Playfair Display",serif;font-size:20px;font-weight:600;color:#2a2a3a;margin-bottom:8px;text-align:center}.book-page-date{font-size:12px;color:#999;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px;text-align:center}.book-page-text{font-family:"Caveat",cursive;font-size:19px;color:#444;line-height:1.6;text-align:center;max-width:320px}.book-page-friends{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:10px}.book-page-friend-tag{padding:2px 10px;border-radius:50px;font-size:11px;background:rgba(var(--accent-rgb, 201, 169, 110),.1);color:var(--accent);font-weight:500}.book-cover-page{text-align:center}.book-cover-page .cover-logo{font-size:72px;margin-bottom:16px}.book-cover-page .cover-title{font-family:"Playfair Display",serif;font-size:32px;font-weight:700;color:#2a2a3a;margin-bottom:8px}.book-cover-page .cover-subtitle{font-family:"Caveat",cursive;font-size:22px;color:#888;margin-bottom:24px}.book-cover-page .cover-years{font-size:13px;color:#aaa;letter-spacing:4px}.book-cover-page .cover-ornament{width:80px;height:1px;background:linear-gradient(90deg,transparent,#ccc,transparent);margin:16px auto}.book-page-comment{background:rgba(240,200,80,.08);border-left:2px solid rgba(200,170,60,.4);padding:10px 14px;border-radius:0 6px 6px 0;margin-top:10px;max-width:250px}.book-page-comment-label{font-size:9px;color:#b8a040;text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:4px}.book-page-comment-text{font-family:"Caveat",cursive;font-size:15px;color:#666;line-height:1.4}.book-viewer-controls{display:flex;align-items:center;gap:32px;margin-top:20px}.book-nav-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);backdrop-filter:blur(10px)}.book-nav-btn:hover:not(:disabled){background:rgba(var(--accent-rgb, 201, 169, 110),.3);border-color:var(--accent);transform:scale(1.1)}.book-nav-btn:disabled{opacity:.2;cursor:default}.book-nav-btn svg{width:22px;height:22px}.book-page-indicator{font-family:"Caveat",cursive;font-size:18px;color:var(--text-secondary);min-width:100px;text-align:center}.book-3d::after{content:"";position:absolute;bottom:-30px;left:10%;width:80%;height:30px;background:radial-gradient(ellipse,rgba(0,0,0,.35)0,transparent 70%);filter:blur(8px)}.book-open-viewer-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:20px;margin-top:24px;background:linear-gradient(135deg,rgba(var(--accent-rgb, 201, 169, 110),.1),rgba(240,200,80,.08));border:1px solid rgba(var(--accent-rgb, 201, 169, 110),.2);border-radius:var(--radius);color:var(--text);font-family:"Playfair Display",serif;font-size:18px;font-weight:600;cursor:pointer;transition:var(--transition)}.book-open-viewer-btn:hover{background:linear-gradient(135deg,rgba(var(--accent-rgb, 201, 169, 110),.2),rgba(240,200,80,.15));border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 32px rgba(var(--accent-rgb, 201, 169, 110),.15)}.book-open-viewer-btn svg{width:28px;height:28px;stroke:var(--accent-light)}.book-page.flipping{z-index:10}@media (max-width:768px) and (orientation:portrait){#book-viewer-modal .book-viewer-wrapper{transform:rotate(90deg);transform-origin:center center;width:100vh;height:100vw;position:fixed;top:50%;left:50%;margin-top:-50vw;margin-left:-50vh}#book-viewer-modal .book-viewer-scene{perspective:1400px;width:90vh;height:70vw}#book-viewer-modal .book-3d{width:85vh;max-width:none;height:65vw;transform:rotateX(4deg)}#book-viewer-modal .book-viewer-close{top:12px;right:12px}}@media (max-width:768px) and (orientation:landscape){.book-viewer-scene{perspective:1400px;width:92vw;height:80vh}.book-3d{width:88vw;max-width:none;height:75vh;transform:rotateX(4deg)}}@media (max-width:768px){.book-left-page,.book-page-back,.book-page-front{padding:20px 16px}.book-polaroid{max-width:180px;padding:8px 8px 28px}.book-polaroid-img{font-size:36px}.book-page-title{font-size:15px}.book-page-text{font-size:14px;max-width:180px}}.landscape-hint{display:none}@media (max-width:768px) and (orientation:portrait){.landscape-hint{display:flex;position:fixed;bottom:20px;left:50%;transform:translateX(-50%) rotate(90deg);background:rgba(0,0,0,.7);color:#fff;padding:10px 20px;border-radius:20px;font-size:13px;gap:8px;align-items:center;z-index:1002;backdrop-filter:blur(10px);white-space:nowrap;pointer-events:none;animation:hintFade 4s ease-in-out forwards}.landscape-hint svg{width:20px;height:20px;animation:rotateHint 2s ease-in-out infinite}}