:root{--sb-bg-ivory:#fff9ef;--sb-paper-cream:#fbf4e6;--sb-accent-rose:#f8e8ec;--sb-accent-rose-deep:#d4798d;--sb-accent-sunflower:#f1c75b;--sb-accent-sunflower-dark:#c69325;--sb-accent-sage:#e5ede2;--sb-accent-sage-dark:#376e58;--sb-text-primary:#624752;--sb-text-muted:#846f77;--sb-card-white:#fff;--sb-border-warm:#eadbce;--sb-shadow-book:0 12px 28px #62475229;--sb-shadow-hover:0 18px 36px #62475238;--sb-shadow-modal:0 24px 60px #62475252;--sb-radius-sm:6px;--sb-radius-md:12px;--sb-radius-lg:20px}.study-container{width:100%;max-width:1280px;color:var(--sb-text-primary);box-sizing:border-box;margin:0 auto;padding:2.5rem 1.25rem 4rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.study-header{text-align:center;max-width:780px;margin:0 auto 2.5rem;position:relative}.study-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--sb-accent-rose-deep);background:var(--sb-accent-rose);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.35rem 1rem;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #d4798d26}.study-title{color:var(--sb-text-primary);letter-spacing:-.02em;margin:0 0 .75rem;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;line-height:1.15}.study-subtitle{color:var(--sb-text-muted);max-width:620px;margin:0 auto;font-size:1.05rem;line-height:1.6}.study-recommendations-section{border:1px solid var(--sb-border-warm);border-radius:var(--sb-radius-lg);background:linear-gradient(135deg,#fff9efcc,#f8e8ec99);margin-bottom:3rem;padding:1.75rem 1.5rem;position:relative;overflow:hidden;box-shadow:0 8px 24px #6247520f}.study-recommendations-section:before{content:"";pointer-events:none;background:#f1c75b99;border-radius:2px;width:90px;height:14px;position:absolute;top:0;left:2rem;transform:rotate(-1deg)}.study-recommendations-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.study-recommendations-title{color:var(--sb-text-primary);align-items:center;gap:.5rem;margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.4rem;font-weight:700;display:flex}.study-recommendations-badge{color:var(--sb-accent-sage-dark);background:var(--sb-accent-sage);border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.study-recommendations-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.study-rec-card{background:var(--sb-card-white);border:1px solid var(--sb-border-warm);border-radius:var(--sb-radius-md);cursor:pointer;text-align:left;flex-direction:column;justify-content:space-between;padding:1.25rem;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 4px 14px #6247520f}.study-rec-card:hover{box-shadow:var(--sb-shadow-hover);transform:translateY(-4px)}.study-rec-ribbon{text-transform:uppercase;color:#794d07;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;align-self:flex-start;align-items:center;gap:.35rem;margin-bottom:.75rem;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.study-rec-card-title{color:var(--sb-text-primary);margin:0 0 .25rem;font-family:Playfair Display,Georgia,serif;font-size:1.15rem;font-weight:700}.study-rec-card-author{color:var(--sb-text-muted);margin-bottom:.75rem;font-size:.85rem;font-weight:500}.study-rec-card-rationale{color:var(--sb-text-primary);background:var(--sb-bg-ivory);border-left:3px solid var(--sb-accent-rose-deep);border-radius:0 var(--sb-radius-sm) var(--sb-radius-sm) 0;margin-bottom:1rem;padding:.6rem .75rem;font-size:.88rem;font-style:italic;line-height:1.5}.study-rec-inspect-btn{color:var(--sb-accent-rose-deep);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.study-rec-inspect-btn:hover{text-decoration:underline}.study-controls{flex-direction:column;gap:1.25rem;margin-bottom:2.25rem;display:flex}.study-search-bar{width:100%;max-width:560px;margin:0 auto;position:relative}.study-search-input{background:var(--sb-card-white);border:1.5px solid var(--sb-border-warm);width:100%;color:var(--sb-text-primary);box-sizing:border-box;border-radius:999px;padding:.85rem 2.8rem;font-size:1rem;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 12px #6247520d}.study-search-input:focus{border-color:var(--sb-accent-rose-deep);outline:none;box-shadow:0 0 0 3px #d4798d33}.study-search-icon{pointer-events:none;opacity:.6;font-size:1.1rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.study-search-clear{cursor:pointer;width:26px;height:26px;color:var(--sb-text-primary);background:#62475214;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.study-search-clear:hover{background:#62475229}.study-genre-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.study-genre-pill{background:var(--sb-card-white);color:var(--sb-text-primary);border:1px solid var(--sb-border-warm);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.study-genre-pill:hover{border-color:var(--sb-accent-rose-deep);background:var(--sb-accent-rose)}.study-genre-pill.is-active{background:var(--sb-accent-rose-deep);color:#fff;border-color:var(--sb-accent-rose-deep);font-weight:600;box-shadow:0 4px 12px #d4798d47}.study-genre-pill-count{background:#0000000f;border-radius:999px;padding:.1rem .45rem;font-size:.78rem}.study-genre-pill.is-active .study-genre-pill-count{color:#fff;background:#ffffff40}.study-shelf-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem 1.5rem;margin-top:1rem;display:grid}.study-book-card{background:var(--sb-card-white);border:1px solid var(--sb-border-warm);border-radius:var(--sb-radius-md);box-shadow:var(--sb-shadow-book);cursor:pointer;text-align:left;outline:none;flex-direction:column;padding:1.25rem;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s;display:flex;position:relative;overflow:visible}.study-book-card:hover{box-shadow:var(--sb-shadow-hover);transform:translateY(-8px)rotate(-.5deg)}.study-book-cover{aspect-ratio:2/3;box-sizing:border-box;border-radius:4px 8px 8px 4px;flex-direction:column;justify-content:space-between;width:100%;margin-bottom:1.15rem;padding:1.25rem 1rem;display:flex;position:relative;overflow:hidden;box-shadow:-4px 6px 16px #00000040,inset 3px 0 6px #ffffff26}.study-book-cover:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#00000059 0%,#ffffff26 30%,#0006 65%,#0000 100%);width:18px;position:absolute;top:0;bottom:0;left:0}.study-book-cover:after{content:"";pointer-events:none;z-index:2;background:repeating-linear-gradient(#fbf4e6,#fbf4e6 2px,#eadbce 2px 4px);width:4px;position:absolute;top:4px;bottom:4px;right:0;box-shadow:-1px 0 2px #0003}.study-bookmark-ribbon{background:var(--sb-accent-rose-deep);z-index:3;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);width:14px;height:38px;transition:transform .2s;position:absolute;top:0;right:1.25rem;box-shadow:1px 2px 5px #00000040}.study-book-card:hover .study-bookmark-ribbon{transform:translateY(4px)}.study-cover-top{z-index:1;position:relative}.study-cover-symbol{filter:drop-shadow(0 2px 4px #0000004d);margin-bottom:.5rem;font-size:2.2rem;display:block}.study-cover-title{color:#fff;text-shadow:0 1px 4px #00000073;margin:0 0 .35rem;font-family:Playfair Display,Georgia,serif;font-size:1.2rem;font-weight:700;line-height:1.25}.study-cover-author{color:#ffffffd9;letter-spacing:.02em;font-size:.85rem;font-weight:500}.study-cover-bottom{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.study-cover-badge{text-transform:uppercase;letter-spacing:.05em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#00000059;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.study-cover-pages{color:#fffc;font-size:.72rem}.study-book-meta{flex-direction:column;flex:1;justify-content:space-between;display:flex}.study-book-meta-header{margin-bottom:.6rem}.study-book-card-title{color:var(--sb-text-primary);margin:0 0 .25rem;font-family:Playfair Display,Georgia,serif;font-size:1.05rem;font-weight:700}.study-book-card-author{color:var(--sb-text-muted);margin:0;font-size:.85rem}.study-book-synopsis{color:var(--sb-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.5rem 0;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.study-book-card-footer{border-top:1px dashed var(--sb-border-warm);justify-content:space-between;align-items:center;padding-top:.6rem;font-size:.82rem;display:flex}.study-book-tag{color:var(--sb-accent-sage-dark);font-weight:600}.study-book-cta{color:var(--sb-accent-rose-deep);font-weight:600}.study-empty-state{text-align:center;background:var(--sb-card-white);border:1px dashed var(--sb-border-warm);border-radius:var(--sb-radius-lg);max-width:500px;margin:2rem auto;padding:3rem 1.5rem}.study-empty-icon{margin-bottom:.75rem;font-size:2.5rem}.study-empty-title{color:var(--sb-text-primary);margin:0 0 .5rem;font-family:Playfair Display,Georgia,serif;font-size:1.3rem}.study-empty-desc{color:var(--sb-text-muted);margin:0 0 1.25rem;font-size:.95rem}.study-empty-btn{background:var(--sb-accent-rose);color:var(--sb-accent-rose-deep);border:1px solid var(--sb-accent-rose-deep);cursor:pointer;border-radius:999px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600}.study-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;box-sizing:border-box;background:#3d2b3399;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.study-modal-content{background:var(--sb-bg-ivory);border-radius:var(--sb-radius-lg);border:1px solid var(--sb-border-warm);width:100%;max-width:820px;max-height:90vh;box-shadow:var(--sb-shadow-modal);flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) studyModalIn;display:flex;position:relative;overflow:hidden}@keyframes studyModalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.study-modal-header{border-bottom:1px solid var(--sb-border-warm);background:var(--sb-card-white);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.study-modal-genre-tag{color:var(--sb-accent-rose-deep);background:var(--sb-accent-rose);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.study-modal-close-btn{color:var(--sb-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.25rem .5rem;font-size:1.4rem;line-height:1;transition:color .15s,background-color .15s}.study-modal-close-btn:hover{color:var(--sb-text-primary);background:#0000000d}.study-modal-body{box-sizing:border-box;grid-template-columns:260px 1fr;gap:2rem;padding:1.75rem;display:grid;overflow-y:auto}.study-modal-left{flex-direction:column;align-items:center;display:flex}.study-modal-cover-wrap{width:100%;max-width:220px}.study-modal-meta-pills{flex-direction:column;gap:.5rem;width:100%;margin-top:1rem;display:flex}.study-modal-pill{color:var(--sb-text-primary);background:var(--sb-card-white);border:1px solid var(--sb-border-warm);border-radius:var(--sb-radius-sm);justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.8rem;display:flex}.study-modal-right{text-align:left;flex-direction:column;display:flex}.study-modal-title{color:var(--sb-text-primary);margin:0 0 .35rem;font-family:Playfair Display,Georgia,serif;font-size:1.8rem;font-weight:700;line-height:1.2}.study-modal-author{color:var(--sb-accent-rose-deep);margin:0 0 1.25rem;font-size:1.05rem;font-weight:600}.study-modal-rationale-box{border-radius:var(--sb-radius-md);background:linear-gradient(135deg,#fff9ef,#fbf4e6);border:1.5px solid #f1c75b;margin-bottom:1.5rem;padding:1rem 1.25rem;position:relative;box-shadow:0 3px 10px #f1c75b26}.study-modal-rationale-title{text-transform:uppercase;letter-spacing:.05em;color:#92580c;align-items:center;gap:.45rem;margin-bottom:.45rem;font-size:.85rem;font-weight:700;display:flex}.study-modal-rationale-text{color:var(--sb-text-primary);margin:0;font-size:.95rem;font-style:italic;line-height:1.6}.study-modal-tabs{border-bottom:2px solid var(--sb-border-warm);gap:.5rem;margin-bottom:1.25rem;display:flex}.study-modal-tab-btn{color:var(--sb-text-muted);cursor:pointer;background:0 0;border:none;padding:.6rem 1rem;font-size:.95rem;font-weight:600;transition:color .2s;position:relative}.study-modal-tab-btn:hover{color:var(--sb-text-primary)}.study-modal-tab-btn.is-active{color:var(--sb-accent-rose-deep)}.study-modal-tab-btn.is-active:after{content:"";background:var(--sb-accent-rose-deep);height:2px;position:absolute;bottom:-2px;left:0;right:0}.study-modal-desc{color:var(--sb-text-primary);margin:0 0 1.25rem;font-size:.96rem;line-height:1.65}.study-tags-wrap{flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;display:flex}.study-detail-tag{color:var(--sb-text-muted);border:1px solid var(--sb-border-warm);background:#0000000a;border-radius:999px;padding:.25rem .65rem;font-size:.78rem}.study-excerpt-reader{border-radius:var(--sb-radius-md);background:#fffbf5;border:1px solid #efe4d6;margin-bottom:1.5rem;padding:1.5rem;position:relative;box-shadow:inset 0 2px 6px #00000005}.study-excerpt-quote-mark{color:var(--sb-accent-sunflower);opacity:.6;-webkit-user-select:none;user-select:none;margin-bottom:.5rem;font-family:Georgia,serif;font-size:3rem;line-height:.8}.study-excerpt-body{color:var(--sb-text-primary);white-space:pre-line;margin:0;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.8}.study-source-container{border-top:1px solid var(--sb-border-warm);margin-top:auto;padding-top:1.25rem}.study-source-external-btn{background:var(--sb-accent-rose-deep);color:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .2s,background-color .2s;display:inline-flex;box-shadow:0 4px 12px #d4798d4d}.study-source-external-btn:hover{background:#bf667a;transform:translateY(-2px)}.study-source-physical-badge{background:var(--sb-accent-sage);border-radius:var(--sb-radius-md);border:1px solid #c9d8c4;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.study-source-physical-icon{font-size:1.4rem;line-height:1}.study-source-physical-title{color:var(--sb-accent-sage-dark);margin:0 0 .15rem;font-size:.9rem;font-weight:700}.study-source-physical-desc{color:#4b6657;margin:0;font-size:.82rem}:focus-visible{outline:2.5px solid var(--sb-accent-rose-deep)!important;outline-offset:2px!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.study-book-card:hover,.study-rec-card:hover,.study-source-external-btn:hover{transform:none!important}}@media (max-width:768px){.study-container{padding:1.75rem 1rem 3rem}.study-shelf-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem 1rem}.study-modal-body{grid-template-columns:1fr;gap:1.5rem}.study-modal-left{flex-direction:row;align-items:flex-start;gap:1.25rem}.study-modal-cover-wrap{flex-shrink:0;max-width:130px}.study-modal-meta-pills{flex:1;margin-top:0}}@media (max-width:480px){.study-header{margin-bottom:1.75rem}.study-genre-bar{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:.5rem;overflow-x:auto}.study-shelf-grid{grid-template-columns:1fr}.study-modal-left{flex-direction:column;align-items:center}.study-modal-cover-wrap{max-width:160px}.study-modal-meta-pills{width:100%}}.study-modal-enhanced{max-width:960px}.study-modal-header-info{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.study-modal-reading-time{color:var(--sb-text-muted);background:#ffffff14;border-radius:999px;padding:.2rem .6rem;font-size:.8rem}.study-bookmark-btn{width:100%;color:var(--color-primary,#f7a8b8);cursor:pointer;background:#ffffff0d;border:1px dashed #f7a8b866;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .8rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.study-bookmark-btn:hover{border-color:var(--color-primary,#f7a8b8);background:#f7a8b826}.study-bookmark-btn.is-bookmarked{background:var(--color-primary-strong,#f27a98);color:#fff;border-style:solid}.study-bookmark-ribbon.is-bookmarked{background:#e53935;box-shadow:0 4px 12px #e5393566}.study-quotes-preview{border-left:3px solid var(--color-accent,#d4a47c);background:#ffffff08;border-radius:12px;margin-top:1.25rem;padding:1rem}.study-quotes-title{color:var(--color-accent,#d4a47c);margin:0 0 .5rem;font-size:.95rem}.study-quotes-list{color:var(--color-text-secondary,#d9c3ce);margin:0;padding-left:1.2rem;font-size:.88rem;line-height:1.5}.study-quote-item{margin-bottom:.4rem;font-style:italic}.study-reader-container{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.study-templates-bar{flex-direction:column;gap:.4rem;display:flex}.study-templates-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted,#a88d9b);font-size:.75rem;font-weight:600}.study-templates-list{-webkit-overflow-scrolling:touch;gap:.4rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.study-template-chip{color:var(--color-text-secondary,#d9c3ce);white-space:nowrap;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;transition:all .2s;display:inline-flex}.study-template-chip:hover{background:#ffffff1f;border-color:#f7a8b866}.study-template-chip.is-active{background:var(--color-primary-strong,#f27a98);color:#fff;border-color:var(--color-primary-strong,#f27a98);font-weight:600}.study-reader-toolbar{background:#0003;border:1px solid #ffffff0d;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;display:flex}.study-chapter-controls{align-items:center;gap:.5rem;display:flex}.study-chapter-nav-btn{color:var(--color-text-primary,#fff5f7);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;transition:all .2s}.study-chapter-nav-btn:hover:not(:disabled){border-color:var(--color-primary,#f7a8b8);background:#ffffff1a}.study-chapter-nav-btn:disabled{opacity:.4;cursor:not-allowed}.study-chapter-indicator{color:var(--color-primary,#f7a8b8);white-space:nowrap;font-size:.85rem;font-weight:600}.study-chapter-picker{align-items:center;gap:.4rem;display:flex}.study-chapter-picker-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted,#a88d9b);font-size:.75rem;font-weight:600}.study-chapter-select{color:#fff;cursor:pointer;background:#0006;border:1px solid #fff3;border-radius:6px;max-width:200px;padding:.35rem .6rem;font-size:.82rem}.study-chapter-select:focus{border-color:var(--color-primary,#f7a8b8);outline:none}.study-font-controls{align-items:center;gap:.35rem;display:flex}.study-font-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted,#a88d9b);font-size:.75rem;font-weight:600}.study-font-btn{color:var(--color-text-primary,#fff5f7);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;padding:.25rem .55rem;font-size:.78rem;font-weight:700;transition:all .15s}.study-font-btn:hover{border-color:var(--color-primary,#f7a8b8);background:#ffffff26}.study-font-btn.is-active{background:var(--color-primary-strong,#f27a98);border-color:var(--color-primary-strong,#f27a98);color:#fff}.study-template-viewport.reader-font-sm{font-size:.92rem}.study-template-viewport.reader-font-sm p,.study-template-viewport.reader-font-sm blockquote,.study-template-viewport.reader-font-sm div{font-size:.92rem!important;line-height:1.6!important}.study-template-viewport.reader-font-md{font-size:1.05rem}.study-template-viewport.reader-font-lg{font-size:1.25rem}.study-template-viewport.reader-font-lg p,.study-template-viewport.reader-font-lg blockquote,.study-template-viewport.reader-font-lg div{font-size:1.22rem!important;line-height:1.95!important}.study-template-viewport{box-sizing:border-box;border-radius:12px;min-height:280px;padding:1.5rem;transition:all .3s;position:relative;overflow:hidden}.template-minimal{color:#2d3748;background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 16px #0000000d}.reader-minimal-title{color:#1a202c;margin:0 0 1rem;font-family:Georgia,serif;font-size:1.35rem}.reader-minimal-body{color:#2d3748;white-space:pre-line;font-family:Georgia,serif;font-size:1.05rem;line-height:1.8}.template-romantic-journal{color:#4a3525;background:#faf5eb;border:2px solid #e2d3b8;box-shadow:inset 0 0 30px #b8860b14}.romantic-journal-flourish{text-align:center;color:#b8860b;margin-bottom:.75rem;font-size:1.2rem}.romantic-journal-title{text-align:center;color:#632b3b;margin:0 0 1rem;font-family:Playfair Display,Georgia,serif;font-size:1.4rem}.romantic-journal-body{white-space:pre-line;margin:0;padding:0 1rem;font-family:Lora,Georgia,serif;font-size:1.05rem;font-style:normal;line-height:1.85}.romantic-journal-footer{text-align:right;color:#8c5362;margin-top:1.25rem;font-size:.95rem;font-style:italic}.template-manga-panels{color:#eee;background:#111116;border:2px solid #33333e}.manga-panel-header{color:#888;letter-spacing:.1em;justify-content:space-between;margin-bottom:1rem;font-family:monospace;font-size:.75rem;display:flex}.manga-panel-grid{flex-direction:column;gap:1rem;display:flex}.manga-panel{background:#18181e;border:3px solid #fff;padding:1.25rem;position:relative;box-shadow:4px 4px #000}.manga-speech-bubble{color:#111;background:#fff;border:2px solid #000;border-radius:20px;padding:1rem 1.25rem;position:relative;box-shadow:2px 2px #000}.manga-speaker{text-transform:uppercase;color:#e53935;margin-bottom:.35rem;font-size:.75rem;font-weight:800;display:block}.manga-bubble-text{margin:0;font-size:.95rem;line-height:1.6}.manga-action-burst{text-align:center;color:#fff;text-transform:uppercase;letter-spacing:.05em;border:2px dashed #fff;padding:.5rem;font-size:1.1rem;font-weight:800}.template-anime-story{color:#f8f4f9;background:linear-gradient(135deg,#1a173b,#2e193c);border:1px solid #f7a8b84d;box-shadow:0 8px 32px #0006}.anime-nameplate{letter-spacing:.05em;color:#fff;background:linear-gradient(90deg,#f27a98,#9b51e0);border-radius:4px;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.25rem .8rem;font-size:.8rem;font-weight:700;display:inline-flex}.anime-scene-title{color:#ffd1dc;margin:0 0 .75rem;font-size:1.25rem}.anime-dialogue-text{white-space:pre-line;margin:0 0 1rem;font-size:1.05rem;line-height:1.75}.anime-voice-line{color:#fceade;background:#ffffff14;border-left:3px solid #f7a8b8;border-radius:4px;padding:.75rem 1rem;font-style:italic}.template-graphic-novel{color:#1a1a1a;background:#fffdf0;border:4px solid #111;box-shadow:6px 6px #111}.graphic-novel-frame{background:#fff;border:3px solid #111;margin-bottom:1rem;padding:1.25rem;position:relative}.graphic-novel-frame.frame-red{border-color:#d32f2f}.graphic-novel-frame.frame-gold{background:#fffde7;border-color:#f57f17}.graphic-sfx-badge{color:#fff;text-transform:uppercase;letter-spacing:.1em;background:#111;margin-bottom:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:900;display:inline-block}.sfx-burst{color:#111;background:#f57f17}.graphic-frame-title{margin:0 0 .5rem;font-size:1.2rem;font-weight:800}.graphic-frame-text{margin:0;font-size:.95rem;line-height:1.6}.graphic-frame-quote{margin:0;font-style:italic;font-weight:700}.template-bookshelf{color:#fff8e7;background:linear-gradient(#3d2619,#2a180e);border:3px solid #5c3826;box-shadow:inset 0 0 20px #0009}.bookshelf-wood-header{color:#d4a47c;border-bottom:1px solid #d4a47c4d;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem;font-size:.75rem;display:flex}.bookshelf-book-open{color:#321;background:#fdfbf7;border-radius:4px;grid-template-columns:1fr 2fr;gap:1.5rem;padding:1.25rem;display:grid;box-shadow:0 6px 20px #0006}.bookshelf-page-left{border-right:1px solid #d5c7b5;padding-right:1rem}.bookshelf-page-title{color:#5c2434;margin:0 0 .25rem;font-size:1.1rem}.bookshelf-page-author{color:#654;margin:0 0 1rem;font-size:.85rem}.bookshelf-chapter-title{color:#321;margin:0 0 .5rem;font-size:1.15rem}.bookshelf-chapter-text{margin:0;font-size:.92rem;line-height:1.65}.template-notes-workspace{color:#f0e6ed;background:#1e1724;border:1px solid #f7a8b833}.reader-view-notes-workspace{grid-template-columns:1.2fr 1fr;gap:1.25rem;display:grid}.workspace-chapter-title{color:var(--color-primary,#f7a8b8);margin:0 0 .75rem;font-size:1.2rem}.workspace-chapter-text{color:var(--color-text-secondary,#d9c3ce);font-size:.95rem;line-height:1.7}.workspace-notes-heading{color:var(--color-accent,#d4a47c);margin:0 0 .75rem;font-size:.95rem}.workspace-add-note-form{gap:.5rem;margin-bottom:.75rem;display:flex}.workspace-note-input{color:#fff;background:#0000004d;border:1px solid #ffffff26;border-radius:6px;flex:1;padding:.4rem .6rem;font-size:.85rem}.workspace-note-submit{background:var(--color-primary-strong,#f27a98);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.8rem;font-weight:600}.workspace-notes-list{flex-direction:column;gap:.5rem;max-height:200px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.workspace-note-card{border-left:2px solid var(--color-accent,#d4a47c);background:#ffffff0d;border-radius:6px;align-items:flex-start;gap:.4rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.workspace-note-empty{color:var(--color-text-muted,#a88d9b);font-size:.8rem;font-style:italic}.template-study-cards{color:#fff;background:#17111d;border:1px solid #f7a8b833}.study-card-deck-header{color:var(--color-text-muted,#a88d9b);justify-content:space-between;margin-bottom:1rem;font-size:.8rem;display:flex}.study-flip-card{perspective:1000px;cursor:pointer;min-height:220px}.study-flip-card-inner{text-align:center;width:100%;height:100%;min-height:220px;transform-style:preserve-3d;transition:transform .6s;position:relative}.study-flip-card.is-flipped .study-flip-card-inner{transform:rotateY(180deg)}.study-flip-card-front,.study-flip-card-back{box-sizing:border-box;backface-visibility:hidden;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;display:flex;position:absolute}.study-flip-card-front{border:2px solid var(--color-primary,#f7a8b8);background:linear-gradient(135deg,#2a172d,#3d1c38)}.study-flip-card-back{border:2px solid var(--color-accent,#d4a47c);background:linear-gradient(135deg,#381e2e,#4a2828);transform:rotateY(180deg)}.study-card-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary,#f7a8b8);margin-bottom:.5rem;font-size:.75rem}.study-card-front-title{margin:0 0 .5rem;font-size:1.25rem}.study-card-front-prompt{color:var(--color-text-secondary,#d9c3ce);margin:0 0 1rem;font-size:.95rem}.study-card-tap-indicator{color:var(--color-accent,#d4a47c);font-size:.8rem;font-weight:600}.study-card-back-text{color:#fff;margin:0;font-size:1.05rem;font-style:italic;line-height:1.6}@media (max-width:640px){.reader-view-notes-workspace,.bookshelf-book-open{grid-template-columns:1fr}}.study-continue-section{max-width:860px;margin:0 auto 2.5rem}.study-continue-card{border:1.5px solid var(--sb-border-warm);border-radius:var(--sb-radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#fbf4e6f2,#f8e8ecf2);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #62475214}.study-continue-left{flex:1;min-width:0}.study-continue-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--sb-accent-rose-deep);margin-bottom:.35rem;font-size:.82rem;font-weight:700;display:inline-block}.study-continue-title{color:var(--sb-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .25rem;font-family:Playfair Display,Georgia,serif;font-size:1.35rem;font-weight:700;overflow:hidden}.study-continue-meta{color:var(--sb-text-muted);margin:0 0 .75rem;font-size:.9rem}.study-continue-bar-wrap{background:#6247521a;border-radius:999px;width:100%;max-width:320px;height:6px;margin-bottom:.35rem;overflow:hidden}.study-continue-bar{background:linear-gradient(90deg, var(--sb-accent-rose-deep), var(--sb-accent-sunflower));border-radius:999px;height:100%;transition:width .3s}.study-continue-percent{color:var(--sb-text-muted);font-size:.8rem;font-weight:600}.study-continue-resume-btn{background:var(--sb-text-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.study-continue-resume-btn:hover{background:#4a343d;transform:translateY(-2px);box-shadow:0 6px 16px #62475240}@media (max-width:640px){.study-continue-card{flex-direction:column;align-items:flex-start;padding:1.25rem}.study-continue-resume-btn{justify-content:center;width:100%}}.reader-view-minimal,.reader-view-romantic-journal,.reader-view-manga,.reader-view-anime,.reader-view-graphic-novel,.reader-view-bookshelf,.reader-view-study-cards{width:100%;position:relative}.manga-screentone-bg{pointer-events:none;opacity:.12;z-index:0;background-image:radial-gradient(#1a1a24 1px,#0000 1px);background-size:8px 8px;position:absolute;inset:0}.manga-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#1a1a24;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:800;display:inline-block}.manga-read-direction{color:#6b7280;font-size:.75rem;font-style:italic}.manga-panel-large{z-index:1;background:#fff;border:3px solid #1a1a24;border-radius:6px;margin-bottom:1rem;padding:1.25rem;position:relative;box-shadow:4px 4px #1a1a24}.manga-panel-small{background:#fafafa;border:2px dashed #1a1a24;border-radius:4px;padding:.85rem}.anime-backdrop-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#f7a8b859 0%,#0000 70%);width:250px;height:250px;position:absolute;top:-20%;right:-10%}.anime-dialogue-card{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border:1px solid #f7a8b866;border-radius:12px;margin-top:1rem;padding:1rem 1.25rem;position:relative}.anime-star{color:#e5a93b;margin-right:.35rem;display:inline-block}.bookshelf-spine-crease{z-index:2;background:linear-gradient(#00000026,#0000000d);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.bookshelf-wood-grain{opacity:.25;background:#5d4037;height:12px;position:absolute;bottom:0;left:0;right:0}.bookshelf-ribbon-tag{color:#fff;background:#8c3b50;border-radius:3px;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.bookshelf-page-right{border-left:1px solid #00000014}.workspace-reading-column{flex:3;min-width:280px}.workspace-notes-column{flex:2;min-width:220px}.workspace-note-pin{margin-right:.25rem;display:inline-block}.study-card-nav-controls{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.study-nav-btn{color:var(--color-text-primary,#fff5f7);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff14;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.study-nav-btn:hover:not(:disabled){border-color:var(--sb-accent-rose-deep,#d4798d);color:#fff;background:#ffffff29;transform:translateY(-1px)}.study-nav-btn-primary{background:var(--sb-accent-rose-deep,#d4798d);border-color:var(--sb-accent-rose-deep,#d4798d);color:#fff;box-shadow:0 2px 8px #d4798d4d}.study-nav-btn-primary:hover:not(:disabled){background:#c3687c;border-color:#c3687c;box-shadow:0 4px 12px #d4798d66}.study-nav-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important}.study-nav-btn:focus-visible{outline:2px solid var(--sb-accent-sunflower,#f1c75b);outline-offset:2px}.study-deck-counter{color:var(--sb-accent-rose-deep);font-size:.85rem;font-weight:700}.study-card-hint{color:var(--sb-text-muted);font-size:.8rem}
:root{--game-ivory:#fff9ef;--game-paper:#fbf5e8;--game-plum:#422d36;--game-ink:#382d27;--game-muted:#7c6c64;--game-rose:#b6535f;--game-rose-light:#fbebee;--game-rose-border:#f0c5cc;--game-gold:#e5a93b;--game-gold-light:#fef7e7;--game-gold-border:#f4d48d;--game-sage:#376e58;--game-sage-light:#edf4ec;--game-sage-border:#c8dfc5;--game-line:#ebdcc9;--game-shadow-sm:0 4px 12px #422d360f;--game-shadow-md:0 10px 25px #422d3617;--game-shadow-lg:0 16px 36px #422d361f}.gamesPanel{max-width:960px;color:var(--game-ink);margin:0 auto;padding:12px 6px 36px;font-family:DM Sans,system-ui,sans-serif}.gamesHubHeader{text-align:center;margin-bottom:28px;padding:8px 12px;position:relative}.gamesHubKicker{text-transform:uppercase;letter-spacing:.16em;color:var(--game-sage);background:var(--game-sage-light);border:1px solid var(--game-sage-border);border-radius:99px;margin-bottom:10px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.gamesHubTitle{color:var(--game-plum);margin:0 0 8px;font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,4.5vw,40px);font-weight:500;line-height:1.15}.gamesHubTitle i{color:var(--game-rose);font-style:italic}.gamesHubSubtitle{color:var(--game-muted);max-width:540px;margin:0 auto;font-family:Playfair Display,Georgia,serif;font-size:15px;line-height:1.5}.gamesHubGrid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;margin-top:24px;display:grid}.gameCard{background:var(--game-ivory);border:1px solid var(--game-line);box-shadow:var(--game-shadow-sm);background-image:repeating-linear-gradient(0deg,#0000 0 20px,#8e77530a 21px,#0000 22px);border-radius:18px;flex-direction:column;padding:26px 22px 22px;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:visible}.gameCard:hover{box-shadow:var(--game-shadow-md);transform:translateY(-4px)rotate(.4deg)}.gameCardWashi{opacity:.88;pointer-events:none;z-index:2;border-radius:3px;width:90px;height:20px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-1.5deg);box-shadow:0 2px 5px #00000014}.washiGold{background:linear-gradient(135deg,#f1c75bd9,#e6b43cbf);border-left:2px dashed #fff9;border-right:2px dashed #fff9}.washiRose{background:linear-gradient(135deg,#e8aab4d9,#d4798dbf);border-left:2px dashed #fff9;border-right:2px dashed #fff9}.washiSage{background:linear-gradient(135deg,#bcd6b8d9,#96b991bf);border-left:2px dashed #fff9;border-right:2px dashed #fff9}.gameCardTop{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.gameCardIcon{background:var(--game-gold-light);border:1px solid var(--game-gold-border);border-radius:14px;place-items:center;width:52px;height:52px;font-size:32px;display:grid;box-shadow:inset 0 2px 4px #fffc,0 2px 6px #0000000a}.gameCardIcon.rose{background:var(--game-rose-light);border-color:var(--game-rose-border)}.gameCardIcon.sage{background:var(--game-sage-light);border-color:var(--game-sage-border)}.gameCardBadges{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.gameBadge{text-transform:uppercase;letter-spacing:.05em;color:var(--game-ink);background:#8e77531a;border-radius:99px;padding:3px 8px;font-size:10px;font-weight:700}.completedBadge{color:var(--game-sage);background:var(--game-sage-light);border:1px solid var(--game-sage-border);border-radius:99px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.gameCardUrdu{color:var(--game-rose);margin-bottom:4px;font-family:Tahoma,Noto Naskh Arabic,serif;font-size:13px}.gameCardTitle{color:var(--game-plum);margin:0 0 8px;font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:600}.gameCardDesc{color:var(--game-muted);flex-grow:1;margin:0 0 18px;font-size:13px;line-height:1.55}.gameCardFooter{border-top:1px dashed var(--game-line);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.gameTimeNote{color:var(--game-muted);align-items:center;gap:4px;font-size:11px;display:flex}.gamePlayButton{background:var(--game-sage);color:#fff;letter-spacing:.02em;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:6px;padding:9px 16px;font-size:12px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 4px 10px #376e5840}.gamePlayButton:hover{background:#2b5745;transform:translateY(-1px);box-shadow:0 6px 14px #376e5852}.gamePlayButton:active{transform:translateY(1px);box-shadow:0 2px 5px #376e5833}.activeGameView{animation:.25s ease-out fadeIn}.activeGameTopBar{background:var(--game-ivory);border:1px solid var(--game-line);box-shadow:var(--game-shadow-sm);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;padding:10px 14px;display:flex}.backToHubButton{border:1px solid var(--game-line);color:var(--game-plum);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .16s;display:inline-flex}.backToHubButton:hover{background:var(--game-gold-light);border-color:var(--game-gold-border)}.activeGameTitleGroup{text-align:center}.activeGameTitle{color:var(--game-plum);margin:0;font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:600}.activeGameUrdu{color:var(--game-rose);font-family:Tahoma,Noto Naskh Arabic,serif;font-size:11px}.activeGameRestartButton{border:1px solid var(--game-line);color:var(--game-muted);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:4px;padding:8px 12px;font-size:11px;font-weight:600;transition:all .16s;display:inline-flex}.activeGameRestartButton:hover{color:var(--game-plum);background:var(--game-paper)}.activeGameCanvas{border:1px solid var(--game-line);box-shadow:var(--game-shadow-md);background:#fff;border-radius:20px;padding:clamp(16px,3.5vw,32px);position:relative;overflow:hidden}.memoryMatch{max-width:600px;margin:0 auto}.memoryMatchHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.memoryMatchHeader h3{color:var(--game-plum);margin:4px 0;font-family:Playfair Display,Georgia,serif;font-size:22px}.memoryMatchHeader p{color:var(--game-muted);margin:0;font-size:13px}.memoryMatchStats{align-items:center;gap:8px;display:flex}.memoryGrid{perspective:900px;grid-template-columns:repeat(4,1fr);gap:10px;max-width:440px;margin:20px auto 0;display:grid}.memoryTile{aspect-ratio:1;cursor:pointer;transform-style:preserve-3d;background:#fbf6ec;border:2px solid #decbb2;border-radius:14px;place-items:center;padding:0;font-size:28px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background-color .2s;display:grid;position:relative;box-shadow:0 4px 8px #422d3614,0 2px #caa888}.memoryTile:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #422d361f,0 3px #caa888}.memoryTile:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 4px #422d3614}.memoryTileFront{display:none}.memoryTileBack{color:#cca984;font-size:22px;display:block}.memoryTile.isFlipped{border-color:var(--game-rose-border);box-shadow:0 4px 12px #b6535f26, 0 2px 0 var(--game-rose);background:#fffdf9;transform:rotateY(180deg)}.memoryTile.isFlipped .memoryTileFront{display:block;transform:rotateY(180deg)}.memoryTile.isFlipped .memoryTileBack{display:none}.memoryTile.isMatched{background:var(--game-sage-light);border-color:var(--game-sage-border);opacity:.9;cursor:default;transform:rotateY(180deg)scale(.96);box-shadow:0 2px 6px #376e581f}.wordScrambleGame{max-width:620px;margin:0 auto}.gameProgressRow{color:var(--game-muted);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:12px;font-weight:700;display:flex}.gameProgressBarContainer{background:#f0e6d6;border-radius:99px;height:6px;margin-bottom:22px;overflow:hidden}.gameProgressBarFill{background:linear-gradient(90deg, var(--game-rose), var(--game-gold));border-radius:99px;height:100%;transition:width .3s}.scrambleClueCard{background:var(--game-gold-light);border:1px dashed var(--game-gold-border);text-align:center;border-radius:16px;margin-bottom:22px;padding:18px 20px;box-shadow:inset 0 0 20px #f1c75b14}.scrambleCategoryTag{text-transform:uppercase;letter-spacing:.12em;color:#a46d14;margin-bottom:6px;font-size:10px;font-weight:700}.scrambleClueText{color:var(--game-plum);margin:0;font-family:Playfair Display,Georgia,serif;font-size:17px;line-height:1.45}.guessSlotsContainer{flex-wrap:wrap;justify-content:center;gap:8px;min-height:52px;margin:20px 0;display:flex}.guessSlot{border:2px solid var(--game-line);width:44px;height:48px;color:var(--game-plum);background:#fff;border-radius:10px;place-items:center;font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:700;display:grid;box-shadow:inset 0 2px 4px #0000000a}.guessSlot.filled{border-color:var(--game-rose);background:var(--game-rose-light);color:var(--game-rose);animation:.16s ease-out popIn;box-shadow:0 3px 8px #b6535f26}.scrambleTilesBank{background:var(--game-paper);border:1px solid var(--game-line);border-radius:16px;flex-wrap:wrap;justify-content:center;gap:9px;margin:18px 0 24px;padding:16px;display:flex}.letterTileButton{width:44px;height:48px;color:var(--game-plum);cursor:pointer;background:#fffdf9;border:2px solid #decbb2;border-radius:10px;place-items:center;padding:0;font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:700;transition:all .14s;display:grid;box-shadow:0 4px #caa888,0 5px 8px #00000014}.letterTileButton:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #caa888,0 7px 12px #0000001a}.letterTileButton:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #caa888}.letterTileButton:disabled{opacity:.28;box-shadow:none;cursor:default;transform:translateY(2px)}.gameControlsRow{flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0;display:flex}.scrambleHintButton{border:1px solid var(--game-gold-border);background:var(--game-gold-light);color:#9b6b10;cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;font-size:12px;font-weight:700;transition:all .16s;display:inline-flex}.scrambleHintButton:hover:not(:disabled){background:#fde8bc}.scrambleHintButton:disabled{opacity:.5;cursor:not-allowed}.scrambleUndoButton{border:1px solid var(--game-line);color:var(--game-muted);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;font-size:12px;font-weight:700;display:inline-flex}.scrambleUndoButton:hover:not(:disabled){color:var(--game-plum);background:var(--game-paper)}.scrambleSubmitButton{background:var(--game-rose);color:#fff;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:6px;padding:10px 22px;font-size:12px;font-weight:700;transition:all .16s;display:inline-flex;box-shadow:0 4px 10px #b6535f40}.scrambleSubmitButton:hover:not(:disabled){background:#9b424d;transform:translateY(-1px)}.scrambleSubmitButton:active:not(:disabled){transform:translateY(1px)}.scrambleFeedback{text-align:center;border-radius:12px;max-width:440px;margin:14px auto 0;padding:10px 16px;font-size:13px;animation:.2s ease-out fadeIn}.scrambleFeedback.info{background:var(--game-gold-light);border:1px solid var(--game-gold-border);color:#926514}.scrambleFeedback.success{background:var(--game-sage-light);border:1px solid var(--game-sage-border);color:var(--game-sage);font-weight:600}.scrambleFeedback.error{background:var(--game-rose-light);border:1px solid var(--game-rose-border);color:var(--game-rose)}.wordSuccessTransition{background:var(--game-sage-light);border:1px solid var(--game-sage-border);text-align:center;border-radius:16px;margin:20px 0;padding:24px;animation:.25s ease-out popIn}.wordSuccessTransition h4{color:var(--game-sage);margin:0 0 6px;font-family:Playfair Display,Georgia,serif;font-size:22px}.wordSuccessTransition p{color:var(--game-ink);margin:0 0 16px;font-size:14px}.birthdayQuizGame{max-width:620px;margin:0 auto}.quizQuestionCard{background:var(--game-ivory);border:1px solid var(--game-line);box-shadow:var(--game-shadow-sm);border-radius:18px;margin-bottom:22px;padding:24px 22px}.quizQuestionHeader{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.quizQuestionNumber{text-transform:uppercase;letter-spacing:.12em;color:var(--game-rose);font-size:11px;font-weight:700}.quizQuestionTitle{color:var(--game-plum);margin:0 0 20px;font-family:Playfair Display,Georgia,serif;font-size:clamp(20px,3.2vw,24px);font-weight:500;line-height:1.3}.quizOptionsList{gap:11px;display:grid}.quizOptionButton{text-align:left;border:1.5px solid var(--game-line);color:var(--game-ink);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 18px;font-size:14px;line-height:1.45;transition:all .18s;display:flex;box-shadow:0 2px 5px #00000008}.quizOptionButton:hover:not(:disabled){border-color:var(--game-gold);background:var(--game-gold-light);transform:translate(4px)}.quizOptionLetter{background:var(--game-paper);border:1px solid var(--game-line);width:28px;height:28px;color:var(--game-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.quizOptionButton.isCorrect{background:var(--game-sage-light);border-color:var(--game-sage);color:var(--game-sage);font-weight:600}.quizOptionButton.isCorrect .quizOptionLetter{background:var(--game-sage);color:#fff;border-color:var(--game-sage)}.quizOptionButton.isWrong{background:var(--game-rose-light);border-color:var(--game-rose);color:var(--game-rose);opacity:.85}.quizOptionButton.isWrong .quizOptionLetter{background:var(--game-rose);color:#fff;border-color:var(--game-rose)}.quizExplanationCard{background:var(--game-sage-light);border:1px dashed var(--game-sage-border);border-radius:14px;margin-top:18px;padding:16px 18px;animation:.25s ease-out fadeIn}.quizExplanationCard.wrongFeedback{background:var(--game-rose-light);border-color:var(--game-rose-border)}.quizExplanationHeader{align-items:center;gap:8px;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.quizExplanationText{color:var(--game-ink);margin:0 0 6px;font-size:13px;line-height:1.5}.quizFunFact{color:var(--game-muted);margin:0;font-size:12px;font-style:italic}.quizNextContainer{text-align:right;margin-top:20px}.gameCelebrationCard{text-align:center;border:2px solid var(--game-line);max-width:520px;box-shadow:var(--game-shadow-lg);background:radial-gradient(at 50% 20%,#fff7ec,#fdf1ea);border-radius:22px;margin:20px auto;padding:clamp(24px,5vw,36px) 24px;animation:.35s cubic-bezier(.34,1.56,.64,1) popIn;position:relative;overflow:hidden}.gameCelebrationIcon{margin-bottom:12px;font-size:48px;animation:1.8s ease-in-out infinite gentleBounce;display:block}.gameCelebrationBadge{text-transform:uppercase;letter-spacing:.12em;color:var(--game-rose);background:var(--game-rose-light);border:1px solid var(--game-rose-border);border-radius:99px;margin-bottom:12px;padding:4px 14px;font-size:11px;font-weight:700;display:inline-block}.gameCelebrationTitle{color:var(--game-plum);margin:0 0 10px;font-family:Playfair Display,Georgia,serif;font-size:clamp(24px,4vw,32px);font-weight:600}.gameCelebrationText{color:var(--game-muted);max-width:420px;margin:0 auto 24px;font-family:Playfair Display,Georgia,serif;font-size:16px;line-height:1.6}.gameCelebrationActions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.gameCard:focus-visible,.gamePlayButton:focus-visible,.backToHubButton:focus-visible,.activeGameRestartButton:focus-visible,.memoryTile:focus-visible,.letterTileButton:focus-visible,.scrambleHintButton:focus-visible,.scrambleUndoButton:focus-visible,.scrambleSubmitButton:focus-visible,.quizOptionButton:focus-visible{outline:3px solid var(--game-rose);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.gameCard:hover{transform:none!important}.memoryTile{transition:none!important}}@media (max-width:600px){.gamesPanel{padding:8px 4px 24px}.gamesHubGrid{grid-template-columns:1fr;gap:18px}.memoryGrid{gap:7px}.guessSlot,.letterTileButton{width:36px;height:42px;font-size:18px}.activeGameTopBar{padding:8px 10px}}.gamesControlsSection{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.gamesModeToggle{background:#0003;border-radius:999px;justify-content:center;gap:8px;max-width:440px;margin:0 auto;padding:6px;display:flex}.gamesModeBtn{color:var(--color-text-secondary,#d9c3ce);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.gamesModeBtn.isActive{background:var(--color-primary-strong,#f27a98);color:#fff;box-shadow:0 4px 12px #f27a9859}.mpJoinLobby{background:#ffffff0a;border:1px dashed #f7a8b84d;border-radius:12px;max-width:500px;margin:0 auto;padding:12px 16px}.mpJoinForm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mpJoinLabel{color:var(--color-primary,#f7a8b8);font-size:.82rem;font-weight:600}.mpJoinInput{color:#fff;letter-spacing:.1em;text-transform:uppercase;background:#0000004d;border:1px solid #ffffff26;border-radius:6px;flex:1;min-width:140px;padding:6px 12px;font-family:monospace;font-weight:700}.mpJoinBtn{background:var(--color-primary-strong,#f27a98);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:700}.mpJoinError{color:#ff6b8b;margin:6px 0 0;font-size:.8rem}.mpRoomBadge{color:var(--color-primary,#f7a8b8);background:#f7a8b833;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.gamesCategoryBar{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.categoryPill{color:var(--color-text-secondary,#d9c3ce);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:4px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.categoryPill:hover{background:#ffffff1a;border-color:#f7a8b84d}.categoryPill.isActive{background:var(--color-primary,#f7a8b8);color:#1a0f1f;border-color:var(--color-primary,#f7a8b8);font-weight:700}.multiplayerBadge{color:#70b8ff;background:#64b4ff26;border:1px solid #64b4ff4d;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.connectFourContainer{text-align:center;max-width:540px;margin:0 auto}.connectFourHeader{margin-bottom:14px}.connectFourTitle{color:var(--color-primary,#f7a8b8);margin:0 0 4px;font-size:1.3rem}.connectFourSubtitle{color:var(--color-text-muted,#a88d9b);margin:0;font-size:.85rem}.connectFourStatusBar{margin-bottom:12px}.connectFourTurnIndicator{font-size:.9rem;font-weight:600}.turnPill{border-radius:999px;margin-left:6px;padding:2px 10px;font-size:.82rem;font-weight:700;display:inline-block}.turnRed{color:#fff;background:#e53935}.turnGold{color:#111;background:#fbc02d}.connectFourWinnerBanner{color:#fff;background:linear-gradient(90deg,#f27a98,#d4a47c);border-radius:8px;padding:8px 16px;font-weight:700}.connectFourBoard{background:#1e3a8a;border:8px solid #172554;border-radius:16px;padding:12px;display:inline-block;box-shadow:0 10px 30px #0006}.connectFourDropZone{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;display:grid}.connectFourDropBtn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;padding:4px;font-size:.9rem;transition:all .2s}.connectFourDropBtn:hover:not(:disabled){color:#111;background:#f7a8b8}.connectFourDropBtn:disabled{opacity:.2;cursor:not-allowed}.connectFourGrid{flex-direction:column;gap:8px;display:flex}.connectFourRow{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.connectFourSlot{background:#0f172a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.connectFourDisc{border-radius:50%;width:38px;height:38px;transition:transform .25s cubic-bezier(.175,.885,.32,1.275)}.discRed{background:radial-gradient(circle at 35% 35%,#ff6b8b,#c62828);box-shadow:inset 0 2px 4px #fff6}.discGold{background:radial-gradient(circle at 35% 35%,#fff176,#f57f17);box-shadow:inset 0 2px 4px #fff6}.discEmpty{background:0 0}.connectFourControls{margin-top:14px}.connectFourResetBtn{color:var(--color-text-primary,#fff5f7);cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;padding:6px 14px;font-size:.85rem}.triviaDuelContainer{max-width:580px;margin:0 auto}.duelHeader{text-align:center;margin-bottom:14px}.duelTitle{color:var(--color-primary,#f7a8b8);margin:0 0 4px;font-size:1.3rem}.duelSubtitle{color:var(--color-text-muted,#a88d9b);margin:0;font-size:.85rem}.duelScoreBoard{background:#00000040;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 16px;display:flex}.duelScorePill{align-items:center;gap:6px;font-size:.9rem;display:flex}.duelScorePill strong{color:var(--color-primary,#f7a8b8)}.duelTimerPill{background:#ffffff1a;border-radius:999px;padding:4px 10px;font-family:monospace;font-size:.95rem;font-weight:700}.duelTimerPill.timerUrgent{color:#fff;background:#e53935;animation:1s infinite pulse}.duelQuestionCard{background:var(--color-surface,#26132b);border:1px solid #f7a8b840;border-radius:16px;padding:20px;box-shadow:0 8px 24px #00000040}.duelQuestionMeta{text-transform:uppercase;color:var(--color-accent,#d4a47c);letter-spacing:.05em;margin-bottom:6px;font-size:.75rem;font-weight:700}.duelQuestionText{color:var(--color-text-primary,#fff5f7);margin:0 0 16px;font-size:1.15rem;line-height:1.5}.duelOptionsGrid{flex-direction:column;gap:10px;display:flex}.duelOptionBtn{color:var(--color-text-secondary,#d9c3ce);text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;transition:all .2s;display:flex}.duelOptionBtn:hover:not(:disabled){border-color:var(--color-primary,#f7a8b8);background:#f7a8b81f}.duelOptionBtn.isCorrect{color:#a5d6a7;background:#2e7d3259;border-color:#4caf50;font-weight:700}.duelOptionBtn.isWrong{color:#ef9a9a;background:#c628284d;border-color:#ef5350}.optionBadge{background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:inline-flex}.duelExplanationBox{border-left:3px solid var(--color-accent,#d4a47c);background:#0003;border-radius:10px;margin-top:16px;padding:14px}.duelExplanationText{color:var(--color-text-secondary,#d9c3ce);margin:0 0 10px;font-size:.88rem}.duelNextBtn{background:var(--color-primary-strong,#f27a98);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:.85rem;font-weight:700}.duelResultsCard{text-align:center;background:var(--color-surface,#26132b);border:1px solid #f7a8b840;border-radius:16px;padding:32px 20px}.duelTrophy{margin-bottom:12px;font-size:3rem}.duelResultsTitle{color:var(--color-primary,#f7a8b8);margin:0 0 8px;font-size:1.4rem}.duelResultsScore{margin:0 0 12px;font-size:1.1rem}.duelCelebrationMessage{color:var(--color-text-secondary,#d9c3ce);max-width:400px;margin:0 auto 20px;font-size:.95rem}.duelRestartBtn{background:var(--color-primary-strong,#f27a98);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-weight:700}.escapeRoomContainer{max-width:580px;margin:0 auto}.escapeHeader{text-align:center;margin-bottom:14px}.escapeTitle{color:var(--color-primary,#f7a8b8);margin:0 0 4px;font-size:1.3rem}.escapeSubtitle{color:var(--color-text-muted,#a88d9b);margin:0;font-size:.85rem}.escapeCard{background:var(--color-surface,#26132b);border:1px solid #f7a8b840;border-radius:16px;padding:24px;box-shadow:0 8px 24px #0000004d}.escapeStageBadge{color:var(--color-accent,#d4a47c);margin-bottom:8px;font-size:.8rem;font-weight:700}.escapeStageTitle{color:var(--color-text-primary,#fff5f7);margin:0 0 10px;font-size:1.2rem}.escapeStoryText{color:var(--color-text-secondary,#d9c3ce);margin:0 0 16px;font-size:.95rem;line-height:1.6}.escapeClueBox{border-left:3px solid var(--color-primary,#f7a8b8);background:#0000004d;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px;display:flex}.clueIcon{font-size:1.3rem}.clueText{color:#fff;margin:0;font-size:.9rem;font-style:italic}.escapeForm{gap:10px;margin-bottom:12px;display:flex}.escapeInput{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#0000004d;border:1px solid #fff3;border-radius:8px;flex:1;padding:10px 14px;font-size:.95rem;font-weight:700}.escapeSubmitBtn{background:var(--color-primary-strong,#f27a98);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:.9rem;font-weight:700}.escapeErrorMsg{color:#ff6b8b;margin:0 0 10px;font-size:.85rem}.escapeHintToggle{border-top:1px solid #ffffff14;margin-top:14px;padding-top:12px}.hintBtn{color:var(--color-text-muted,#a88d9b);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.hintText{color:var(--color-accent,#d4a47c);margin:6px 0 0;font-size:.82rem;font-style:italic}.escapeSuccessCard{text-align:center;background:var(--color-surface,#26132b);border:1px solid #f7a8b840;border-radius:16px;padding:32px 20px}.escapeKeyIcon{margin-bottom:12px;font-size:3rem}.escapeSuccessTitle{color:var(--color-primary,#f7a8b8);margin:0 0 10px;font-size:1.4rem}.escapeSuccessText{color:var(--color-text-secondary,#d9c3ce);max-width:440px;margin:0 auto 20px;font-size:.95rem;line-height:1.6}.escapeResetBtn{background:var(--color-primary-strong,#f27a98);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-weight:700}.wouldYouRatherContainer{max-width:580px;margin:0 auto}.wyrHeader{text-align:center;margin-bottom:14px}.wyrTitle{color:var(--color-primary,#f7a8b8);margin:0 0 4px;font-size:1.3rem}.wyrSubtitle{color:var(--color-text-muted,#a88d9b);margin:0;font-size:.85rem}.wyrCard{background:var(--color-surface,#26132b);border:1px solid #f7a8b840;border-radius:16px;padding:24px}.wyrBadge{color:var(--color-accent,#d4a47c);margin-bottom:6px;font-size:.8rem;font-weight:700}.wyrPrompt{color:var(--color-text-primary,#fff5f7);margin:0 0 16px;font-size:1.2rem}.wyrChoiceGrid{flex-direction:column;gap:12px;display:flex}.wyrChoiceBtn{text-align:left;cursor:pointer;background:#ffffff0d;border:2px solid #ffffff1f;border-radius:12px;padding:18px;transition:all .2s}.wyrChoiceBtn:hover{border-color:var(--color-primary,#f7a8b8);background:#f7a8b81a;transform:translateY(-2px)}.wyrChoiceBtn.isSelected{border-color:var(--color-primary-strong,#f27a98);background:#f27a9840}.choiceLabel{text-transform:uppercase;color:var(--color-primary,#f7a8b8);letter-spacing:.05em;margin-bottom:6px;font-size:.75rem;font-weight:800;display:inline-block}.choiceText{color:var(--color-text-primary,#fff5f7);margin:0;font-size:1rem;line-height:1.5}.wyrOrDivider{text-align:center;color:var(--color-text-muted,#a88d9b);font-size:.8rem;font-weight:800;position:relative}.wyrSummaryCard{text-align:center;background:var(--color-surface,#26132b);border:1px solid #f7a8b840;border-radius:16px;padding:32px 20px}.wyrHeartIcon{margin-bottom:12px;font-size:3rem}.wyrSummaryTitle{color:var(--color-primary,#f7a8b8);margin:0 0 10px;font-size:1.4rem}.wyrSummaryDesc{color:var(--color-text-secondary,#d9c3ce);max-width:440px;margin:0 auto 20px;font-size:.95rem;line-height:1.6}.wyrRestartBtn{background:var(--color-primary-strong,#f27a98);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-weight:700}.dailyWordContainer{max-width:420px;margin:0 auto}.wordleHeader{text-align:center;margin-bottom:14px}.wordleTitle{color:var(--color-primary,#f7a8b8);margin:0 0 4px;font-size:1.3rem}.wordleSubtitle{color:var(--color-text-muted,#a88d9b);margin:0;font-size:.85rem}.wordleGrid{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.wordleRow{justify-content:center;gap:6px;display:flex}.wordleTile{color:#fff;text-transform:uppercase;background:#0003;border:2px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;font-weight:800;display:flex}.status-correct{background:#2e7d32;border-color:#4caf50}.status-present{background:#f57f17;border-color:#fbc02d}.status-absent{background:#374151;border-color:#4b5563}.status-empty{background:#0003}.wordleErrorMsg{color:#ff6b8b;text-align:center;margin:0 0 10px;font-size:.85rem}.wordleKeyboard{flex-direction:column;gap:6px;margin-top:10px;display:flex}.keyboardRow{justify-content:center;gap:4px;display:flex}.keyLetter,.keySpecial{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:4px;min-width:28px;padding:10px 6px;font-size:.85rem;font-weight:700;transition:all .15s}.keyLetter:hover,.keySpecial:hover{background:var(--color-primary-strong,#f27a98)}.keySpecial{padding:10px;font-size:.75rem}.wordleOutcomeCard{text-align:center;background:var(--color-surface,#26132b);border:1px solid #f7a8b840;border-radius:12px;padding:24px}.wonIcon,.lostIcon{margin-bottom:8px;font-size:2.5rem;display:block}.wordleWon h4,.wordleLost h4{margin:0 0 6px;font-size:1.25rem}.wordleWon p,.wordleLost p{color:var(--color-text-secondary,#d9c3ce);margin:0 0 16px;font-size:.95rem}.wordleResetBtn{background:var(--color-primary-strong,#f27a98);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-weight:700}@media (max-width:640px){.gamesPanel{box-sizing:border-box;width:100%;max-width:100vw;padding:8px 4px 28px}.gamesHubHeader{margin-bottom:18px;padding:6px 8px}.gamesGrid{grid-template-columns:1fr;gap:14px;padding:0 4px}.gameCard{border-radius:14px;padding:16px}.gameModalContent{border-radius:16px;width:95vw;max-width:95vw;margin:8px auto;padding:14px}.c4Board{gap:4px;padding:8px}.c4Cell{width:38px;height:38px}.wordleRow{gap:4px}.wordleCell{width:44px;height:44px;font-size:1.25rem}.wordleKey{min-height:44px;padding:12px 6px;font-size:.8rem}}@media (max-width:360px){.c4Cell{width:32px;height:32px}.wordleCell{width:38px;height:38px;font-size:1.1rem}.wordleKey{padding:10px 4px;font-size:.72rem}}
:root{--video-gold:#f1c75b;--video-gold-dark:#c69325;--video-gold-light:#fde8a5;--video-ivory:#fff9ef;--video-paper:#fbf4e6;--video-plum:#624752;--video-plum-dark:#3d2b33;--video-rose:#d4798d;--video-rose-light:#f8e8ec;--video-border:#eadbce;--video-shadow:0 14px 40px #3d2b3329;--video-shadow-lg:0 24px 60px #3d2b3347}.video-destination-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);box-sizing:border-box;background:#261920b8;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0;overflow-y:auto}.video-destination-standalone{box-sizing:border-box;width:100%;max-width:1080px;margin:0 auto;padding:1.5rem 1rem;position:relative}.video-destination-card{background:var(--video-paper);border:2px solid var(--video-border);width:100%;max-width:960px;box-shadow:var(--video-shadow-lg);box-sizing:border-box;color:var(--video-plum-dark);border-radius:20px;margin:0 auto;padding:2rem 2.25rem;font-family:inherit;position:relative;overflow:hidden}.video-washi-tape{z-index:5;pointer-events:none;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);width:110px;height:24px;position:absolute;box-shadow:0 2px 6px #3d2b331f}.video-washi-tape-gold{background:#f1c75bb8;border-left:2px dashed #c6932573;border-right:2px dashed #c6932573}.video-washi-tape-pink{background:#d4798da6;border-left:2px dashed #a8586b73;border-right:2px dashed #a8586b73}.video-washi-tape-top-left{top:-10px;left:28px;transform:rotate(-3.5deg)}.video-washi-tape-top-right{top:-10px;right:28px;transform:rotate(4.2deg)}.video-modal-close-button{z-index:20;border:1.5px solid var(--video-gold-dark);background:var(--video-ivory);width:40px;height:40px;color:var(--video-plum-dark);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;transition:transform .2s,background-color .2s,box-shadow .2s;display:flex;position:absolute;top:14px;right:16px;box-shadow:0 2px 8px #3d2b331f}.video-modal-close-button:hover{background:var(--video-gold-light);transform:scale(1.08)rotate(90deg);box-shadow:0 4px 14px #c693254d}.video-destination-header{text-align:center;z-index:2;margin-bottom:1.5rem;position:relative}.video-kicker-badge{background:var(--video-rose-light);border:1px solid var(--video-rose);color:var(--video-plum);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.35rem .9rem;font-size:.8rem;font-weight:700;display:inline-flex}.video-destination-title{color:var(--video-plum-dark);letter-spacing:-.01em;margin:0 0 .5rem;font-size:clamp(1.4rem,3.2vw,2.1rem);font-weight:800;line-height:1.25}.video-destination-subtitle-urdu{color:var(--video-gold-dark);direction:rtl;margin-top:.2rem;font-size:clamp(1.05rem,2.4vw,1.4rem);font-weight:600;display:block}.video-destination-description{max-width:680px;color:var(--video-plum);opacity:.92;margin:0 auto;font-size:.95rem;line-height:1.55}.video-cinema-viewport-wrapper{box-sizing:border-box;background:#1b1217;border-radius:16px;width:100%;margin:0 auto 1.5rem;padding:10px;position:relative;box-shadow:0 10px 32px #3d2b3340,inset 0 0 0 1px #f1c75b59}.antique-gold-frame{border:4px solid var(--video-gold-dark);box-shadow:0 0 0 2px var(--video-gold), inset 0 0 20px #0009;background:#110b0e;border-radius:12px;position:relative;overflow:hidden}.filmstrip-sprockets{background:#150e12;border-bottom:1px solid #f1c75b40;justify-content:space-between;align-items:center;height:18px;padding:0 8px;display:flex;overflow:hidden}.filmstrip-sprockets-bottom{border-top:1px solid #f1c75b40;border-bottom:none}.sprocket-hole{background:var(--video-paper);opacity:.85;border-radius:2px;width:12px;height:9px;box-shadow:inset 0 1px 3px #00000080}.video-aspect-container{aspect-ratio:16/9;background:#000;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.video-native-element{object-fit:contain;background:#000;width:100%;height:100%;display:block}.video-gesture-play-overlay{cursor:pointer;z-index:10;background:#110b0e8c;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;transition:opacity .3s,background .3s;display:flex;position:absolute;inset:0}.video-gesture-play-overlay:hover{background:#110b0e66}.gesture-play-button-circle{background:radial-gradient(circle, var(--video-gold) 0%, var(--video-gold-dark) 100%);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 6px 24px #c6932599}.video-gesture-play-overlay:hover .gesture-play-button-circle{transform:scale(1.12);box-shadow:0 10px 30px #c69325d9}.gesture-play-triangle{border-left:20px solid var(--video-plum-dark);border-top:12px solid #0000;border-bottom:12px solid #0000;width:0;height:0;margin-left:4px}.gesture-play-label{color:#fff;letter-spacing:.05em;text-shadow:0 2px 6px #000c;background:#3d2b33bf;border:1px solid #f1c75b66;border-radius:999px;padding:.35rem .85rem;font-size:.95rem;font-weight:700}.video-subtitles-banner{background:var(--video-ivory);border:1px dashed var(--video-gold-dark);color:var(--video-plum);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.video-subtitles-text{color:var(--video-plum-dark);font-weight:600}.video-caption-indicator{color:var(--video-gold-dark);text-transform:uppercase;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:inline-flex}.scrapbook-cinema-card{background:var(--video-ivory);border:2px dashed var(--video-gold-dark);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:2.5rem 1.75rem;display:flex;position:relative;box-shadow:inset 0 0 24px #f1c75b1f}.cinema-projector-illustration{filter:drop-shadow(0 6px 12px #3d2b3326);width:140px;height:120px;margin:0 auto}.cinema-placeholder-title{color:var(--video-plum-dark);margin:0;font-size:clamp(1.25rem,2.8vw,1.7rem);font-weight:800;line-height:1.3}.cinema-placeholder-note{max-width:540px;color:var(--video-plum);border-left:3px solid var(--video-rose);text-align:left;background:#f8e8ec99;border-radius:0 8px 8px 0;margin:0 auto;padding:.85rem 1.15rem;font-size:.95rem;line-height:1.6}.cinema-placeholder-note-urdu{color:var(--video-gold-dark);direction:rtl;margin-top:.4rem;font-size:.9rem;font-weight:600;display:block}.video-action-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;margin-top:.5rem;display:flex}.video-btn-primary{background:linear-gradient(135deg, var(--video-gold) 0%, var(--video-gold-dark) 100%);color:var(--video-plum-dark);border:1px solid var(--video-gold-dark);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.35rem;font-size:.9rem;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 4px 12px #c6932547}.video-btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 8px 20px #c693256b}.video-btn-secondary{background:var(--video-ivory);color:var(--video-plum);border:1.5px solid var(--video-border);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.video-btn-secondary:hover{background:var(--video-rose-light);border-color:var(--video-rose);transform:translateY(-1px)}.video-destination-footer{border-top:1px solid var(--video-border);color:var(--video-plum);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;font-size:.825rem;display:flex}.video-guarantee-badge{color:var(--video-gold-dark);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}:focus-visible{outline:3px solid var(--video-gold-dark);outline-offset:3px}button:focus-visible,video:focus-visible,.video-gesture-play-overlay:focus-visible{outline:3px solid var(--video-gold);outline-offset:2px}@media (max-width:640px){.video-destination-card{border-radius:14px;padding:1.5rem 1rem}.video-destination-modal-overlay{padding:.75rem}.video-washi-tape{width:80px;height:18px}.video-modal-close-button{width:34px;height:34px;font-size:1.2rem;top:10px;right:10px}.cinema-placeholder-note{padding:.75rem .9rem;font-size:.875rem}.video-destination-footer{text-align:center;flex-direction:column;align-items:center}}@media (prefers-reduced-motion:reduce){.video-destination-card,.video-modal-close-button,.video-btn-primary,.video-btn-secondary,.gesture-play-button-circle,.video-gesture-play-overlay{transition:none!important;animation:none!important;transform:none!important}}
:root{--chat-bg:var(--color-bg,#1a0f1f);--chat-surface:var(--color-surface,#26132b);--chat-surface-alt:var(--color-surface-alt,#3a1f3b);--chat-surface-raised:var(--color-surface-raised,#2a1a32);--chat-border:var(--color-border,#ffd6e629);--chat-primary:var(--color-primary,#f7a8b8);--chat-primary-strong:var(--color-primary-strong,#f27a98);--chat-secondary:var(--color-secondary,#ffc6d4);--chat-accent:var(--color-accent,#d4a47c);--chat-text:var(--color-text,#f8f1e9);--chat-text-muted:var(--color-text-muted,#c5b3c9);--chat-text-subtle:var(--color-text-subtle,#a994b0);--chat-danger:var(--color-danger,#f28a9a);--chat-radius-sm:var(--radius-sm,.625rem);--chat-radius-md:var(--radius-md,.875rem);--chat-radius-lg:var(--radius-lg,1.25rem);--chat-radius-pill:var(--radius-pill,999px);--chat-font-display:var(--font-display,"Playfair Display", Georgia, serif);--chat-font-body:var(--font-body,"Inter", "DM Sans", system-ui, sans-serif)}.chatPanelContainer{background:var(--chat-surface);border:1px solid var(--chat-border);border-radius:var(--chat-radius-lg);width:100%;max-width:880px;height:82vh;min-height:520px;max-height:860px;font-family:var(--chat-font-body);color:var(--chat-text);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #00000059,0 0 28px #f7a8b814}.chatPanelHeader{border-bottom:1px solid var(--chat-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:linear-gradient(#3a1f3bbf 0%,#26132bf2 100%);justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex}.chatHeaderLeft{align-items:center;gap:.875rem;display:flex}.chatAvatarRing{border-radius:var(--chat-radius-pill);border:2px solid var(--chat-primary);background:linear-gradient(135deg,#4a2b49 0%,#26132b 100%);justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative;box-shadow:0 0 12px #f7a8b840}.chatAvatarGlyph{font-family:var(--chat-font-display);color:var(--chat-secondary);font-size:1.25rem;font-weight:700}.chatOnlineDot{border:2px solid var(--chat-surface);background:#9dc6ad;border-radius:50%;width:11px;height:11px;position:absolute;bottom:0;right:0;box-shadow:0 0 6px #9dc6ad}.chatTitleGroup{flex-direction:column;display:flex}.chatTitleHeading{font-family:var(--chat-font-display);color:var(--chat-text);letter-spacing:.02em;margin:0;font-size:1.18rem;font-weight:600}.chatSubStatus{color:var(--chat-text-muted);align-items:center;gap:.4rem;margin-top:.15rem;font-size:.75rem;display:flex}.chatRoleBadge{color:var(--chat-primary);font-weight:500}.chatConnectionDot{background:var(--chat-text-subtle);border-radius:50%;width:4px;height:4px}.chatConnectionText{color:var(--chat-text-subtle)}.chatSecurityBadgeBtn{border-radius:var(--chat-radius-pill);color:var(--chat-secondary);cursor:pointer;background:#f7a8b81a;border:1px solid #f7a8b840;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s;display:inline-flex}.chatSecurityBadgeBtn:hover{border-color:var(--chat-primary);background:#f7a8b82e;transform:translateY(-1px)}.chatTimelineContainer{background:radial-gradient(circle at 50% 10%, #3a1f3b59 0%, transparent 80%), var(--chat-bg);scroll-behavior:smooth;flex-direction:column;flex:1;gap:.85rem;padding:1.25rem;display:flex;overflow-y:auto}.chatTimelineContainer::-webkit-scrollbar{width:6px}.chatTimelineContainer::-webkit-scrollbar-thumb{background:#f7a8b833;border-radius:4px}.chatTimelinePreamble{justify-content:center;margin-bottom:.5rem;display:flex}.chatTimelineEncryptedNotice{border-radius:var(--chat-radius-md);max-width:440px;color:var(--chat-text-muted);text-align:center;background:#26132b99;border:1px dashed #ffd6e633;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.75rem;line-height:1.4;display:flex}.chatTimelineEncryptedNotice p{margin:0}.chatLockIcon{color:var(--chat-primary);font-size:.85rem}.chatDateDivider{justify-content:center;margin:.5rem 0;display:flex}.chatDateBadge{color:var(--chat-text-muted);letter-spacing:.03em;border-radius:var(--chat-radius-pill);background:#2a1a32d9;border:1px solid #ffd6e626;padding:.25rem .85rem;font-size:.72rem;font-weight:500;box-shadow:0 2px 8px #0003}.chatMessageRow{width:100%;display:flex}.chatRowOutgoing{justify-content:flex-end}.chatRowIncoming{justify-content:flex-start}.chatBubble{word-break:break-word;max-width:78%;padding:.75rem 1rem;transition:transform .15s;position:relative}.bubbleIncoming{background:var(--chat-surface-raised);color:var(--chat-text);border:1px solid #ffd6e61f;border-radius:18px 18px 18px 4px;box-shadow:0 4px 16px #0003}.bubbleOutgoing{background:var(--chat-surface-alt);color:var(--chat-text);border:1px solid #f7a8b859;border-radius:18px 18px 4px;box-shadow:0 4px 20px #00000040,0 0 16px #f7a8b814}.bubbleError{border-color:var(--chat-danger);background:#f28a9a1a}.chatSenderHeader{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;font-size:.72rem;display:flex}.chatSenderName{color:var(--chat-primary);font-weight:600}.chatMessageTime{color:var(--chat-text-subtle);font-size:.68rem}.chatMessageText{white-space:pre-wrap;margin:0;font-size:.92rem;line-height:1.55}.chatAttachmentsGrid{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.chatMediaItem{border-radius:var(--chat-radius-md);background:#0003;position:relative;overflow:hidden}.chatImageItem{cursor:pointer;transition:transform .2s,box-shadow .2s}.chatImageItem:hover{transform:scale(1.01);box-shadow:0 6px 18px #00000059}.chatThumbnail{object-fit:cover;border-radius:var(--chat-radius-md);max-width:100%;max-height:320px;display:block}.chatAttachmentCaption{color:var(--chat-text-muted);margin:.4rem 0 0;font-size:.78rem;font-style:italic}.chatGifItem{position:relative}.chatGifBadge{color:#fff;letter-spacing:.05em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;border-radius:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:700;position:absolute;top:8px;left:8px}.chatGifImage{border-radius:var(--chat-radius-md);max-width:100%;max-height:280px;display:block}.chatVideoPlayer{border-radius:var(--chat-radius-md);background:#000;outline:none;width:100%;max-height:320px}.voiceNoteBar{border-radius:var(--chat-radius-md);background:#1a0f1f8c;border:1px solid #ffd6e624;align-items:center;gap:.75rem;min-width:230px;padding:.5rem .75rem;display:flex}.voiceNotePlayBtn{background:linear-gradient(135deg, var(--chat-primary) 0%, var(--chat-primary-strong) 100%);color:#1a0f1f;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .15s,box-shadow .15s;display:flex}.voiceNotePlayBtn:hover{transform:scale(1.06);box-shadow:0 0 12px #f7a8b866}.voiceNoteIcon{font-size:.85rem}.voiceNoteIcon.playGlyph{margin-left:2px}.voiceNoteContent{flex-direction:column;flex:1;gap:.3rem;display:flex}.voiceNoteWaveform{align-items:center;gap:3px;height:22px;display:flex}.voiceBar{background:#ffd6e640;border-radius:2px;flex:1;min-width:2px;transition:background .15s}.voiceBarActive{background:var(--chat-primary)}.voiceNoteMeta{color:var(--chat-text-muted);justify-content:space-between;font-size:.68rem;display:flex}.chatBubbleFooter{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.chatReactionsList{flex-wrap:wrap;gap:.3rem;display:flex}.reactionPill{border-radius:var(--chat-radius-pill);color:var(--chat-text);cursor:pointer;background:#2a1a32b3;border:1px solid #ffd6e626;align-items:center;gap:.2rem;padding:.15rem .45rem;font-size:.72rem;transition:all .15s;display:inline-flex}.reactionPillActive{border-color:var(--chat-primary);background:#f7a8b833}.reactionCount{color:var(--chat-secondary);font-size:.68rem}.chatStatusGroup{align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.chatSpinner{border:2px solid #f7a8b84d;border-top-color:var(--chat-primary);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite chatSpin;display:inline-block}@keyframes chatSpin{to{transform:rotate(360deg)}}.chatCheckmark{color:#9dc6ad;font-size:.75rem;font-weight:700}.chatDurablePersisted{color:#72b886;letter-spacing:-2px;font-size:.8rem}.chatServerAcceptedIcon{color:#d4a47c;opacity:.85;font-size:.75rem;font-weight:700}.chatQueuedIcon{opacity:.75;font-size:.72rem}.chatRetryBtn{color:var(--chat-danger);cursor:pointer;background:0 0;border:none;align-items:center;gap:.2rem;padding:0;font-size:.72rem;display:inline-flex}.chatReactTriggerBtn{color:var(--chat-text-subtle);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:.1rem .3rem;font-size:.95rem;transition:opacity .15s,color .15s}.chatBubble:hover .chatReactTriggerBtn,.chatReactTriggerBtn:focus{opacity:1;color:var(--chat-primary)}.chatReactionPickerPopover{background:var(--chat-surface-raised);border:1px solid var(--chat-border);border-radius:var(--chat-radius-pill);z-index:20;align-items:center;gap:.35rem;padding:.3rem .6rem;animation:.15s ease-out popoverFadeIn;display:flex;position:absolute;bottom:calc(100% + 4px);right:8px;box-shadow:0 8px 24px #00000073}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.quickEmojiBtn{cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.15rem;transition:transform .12s}.quickEmojiBtn:hover{transform:scale(1.25)}.closePopoverBtn{color:var(--chat-text-subtle);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:.75rem}.chatComposerWrapper{border-top:1px solid var(--chat-border);z-index:10;background:linear-gradient(#26132beb 0%,#1a0f1ffa 100%);padding:.75rem 1rem;position:relative}.chatComposerAlert{border:1px solid var(--chat-danger);border-radius:var(--chat-radius-sm);color:#ffe6e8;background:#f28a9a26;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.45rem .75rem;font-size:.78rem;display:flex}.chatComposerAlertClose{color:#ffe6e8;cursor:pointer;background:0 0;border:none;font-size:.85rem}.chatPendingAttachmentsDrawer{gap:.6rem;margin-bottom:.4rem;padding-bottom:.6rem;display:flex;overflow-x:auto}.pendingAttachmentItem{border-radius:var(--chat-radius-md);background:#3a1f3bb3;border:1px solid #f7a8b840;flex-shrink:0;align-items:center;gap:.5rem;max-width:220px;padding:.35rem .6rem;display:flex}.pendingThumb{object-fit:cover;border-radius:6px;width:38px;height:38px}.pendingIconBadge{background:#f7a8b826;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:flex}.pendingMeta{flex-direction:column;display:flex;overflow:hidden}.pendingFileName{white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:.75rem;font-weight:500;overflow:hidden}.pendingFileSize{color:var(--chat-text-subtle);font-size:.65rem}.removePendingBtn{color:var(--chat-text-subtle);cursor:pointer;background:0 0;border:none;margin-left:.25rem;padding:.2rem;font-size:.9rem}.removePendingBtn:hover{color:var(--chat-danger)}.chatVoiceRecorderBar{border-radius:var(--chat-radius-pill);background:#3a1f3bd9;border:1px solid #f7a8b866;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.recordingPulseGroup{align-items:center;gap:.6rem;display:flex}.recordingPulseDot{background:#f28a9a;border-radius:50%;width:12px;height:12px;animation:1s infinite alternate pulseDot;box-shadow:0 0 10px #f28a9a}@keyframes pulseDot{0%{opacity:.7;transform:scale(.9)}to{opacity:1;transform:scale(1.3)}}.recordingLiveTimer{color:var(--chat-text);font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:600}.recordingControls{align-items:center;gap:.5rem;display:flex}.recordingCancelBtn{color:var(--chat-text-muted);border-radius:var(--chat-radius-pill);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;padding:.35rem .85rem;font-size:.78rem}.recordingDoneBtn{background:linear-gradient(110deg, var(--chat-primary) 0%, var(--chat-primary-strong) 100%);color:#1a0f1f;border-radius:var(--chat-radius-pill);cursor:pointer;border:none;padding:.35rem .95rem;font-size:.78rem;font-weight:600}.chatComposerForm{flex-direction:column;gap:.5rem;display:flex}.chatToolbarRow{align-items:center;gap:.45rem;display:flex}.chatToolBtn{border-radius:var(--chat-radius-pill);color:var(--chat-text-muted);cursor:pointer;background:#ffd6e60f;border:1px solid #ffd6e61f;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.75rem;font-weight:500;transition:all .18s;display:inline-flex}.chatToolBtn:hover:not(:disabled){border-color:var(--chat-primary);color:var(--chat-text);background:#f7a8b826}.chatToolBtnActive{border-color:var(--chat-primary);color:var(--chat-primary);background:#f7a8b838}.chatToolBtn:disabled{opacity:.45;cursor:not-allowed}.chatGifPickerDrawer{background:var(--chat-surface-raised);border:1px solid var(--chat-border);border-radius:var(--chat-radius-md);flex-direction:column;gap:.5rem;max-height:240px;margin-bottom:.5rem;padding:.75rem;display:flex;box-shadow:0 10px 30px #00000073}.gifPickerHeader{align-items:center;gap:.5rem;display:flex}.gifSearchInput{border:1px solid var(--chat-border);border-radius:var(--chat-radius-sm);color:var(--chat-text);background:#1a0f1fcc;outline:none;flex:1;padding:.4rem .65rem;font-size:.8rem}.gifSearchInput:focus{border-color:var(--chat-primary)}.closeGifPickerBtn{color:var(--chat-text-subtle);cursor:pointer;background:0 0;border:none;font-size:1rem}.gifGrid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;max-height:180px;display:grid;overflow-y:auto}.gifGridItem{cursor:pointer;background:#0000004d;border:1px solid #0000;border-radius:8px;padding:0;transition:transform .15s,border-color .15s;position:relative;overflow:hidden}.gifGridItem:hover{border-color:var(--chat-primary);transform:scale(1.02)}.gifGridItem img{object-fit:cover;width:100%;height:90px;display:block}.gifGridItemTitle{color:var(--chat-text);white-space:nowrap;text-overflow:ellipsis;background:#1a0f1fcc;padding:.2rem .35rem;font-size:.65rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.chatEmojiPickerDrawer{background:var(--chat-surface-raised);border:1px solid var(--chat-border);border-radius:var(--chat-radius-md);margin-bottom:.5rem;padding:.6rem;box-shadow:0 10px 30px #00000073}.emojiPickerGrid{grid-template-columns:repeat(8,1fr);gap:.35rem;display:grid}.emojiPaletteBtn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem;font-size:1.35rem;transition:background .15s,transform .12s}.emojiPaletteBtn:hover{background:#f7a8b826;transform:scale(1.15)}.chatInputRow{border:1px solid var(--chat-border);border-radius:var(--chat-radius-md);background:#1a0f1fb3;align-items:flex-end;gap:.6rem;padding:.4rem .6rem;transition:border-color .2s,box-shadow .2s;display:flex}.chatInputRow:focus-within{border-color:var(--chat-primary);box-shadow:0 0 0 2px #f7a8b833}.chatTextInput{color:var(--chat-text);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;font-family:inherit;font-size:.92rem;line-height:1.45}.chatTextInput::placeholder{color:var(--chat-text-subtle)}.chatSendButton{background:linear-gradient(110deg, var(--chat-primary) 0%, var(--chat-primary-strong) 100%);border-radius:var(--chat-radius-pill);color:#1a0f1f;cursor:pointer;border:none;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .18s;display:inline-flex;box-shadow:0 4px 12px #f7a8b840}.chatSendButton:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #f7a8b866}.chatSendButton:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.sendSpinner{border:2px solid #1a0f1f4d;border-top-color:#1a0f1f;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite chatSpin}.chatLightboxModal{z-index:9999;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.chatLightboxBackdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a050eeb;position:absolute;inset:0}.chatLightboxContent{z-index:2;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.chatLightboxCloseBtn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;display:flex;position:absolute;top:-40px;right:0}.chatLightboxImage{object-fit:contain;border-radius:var(--chat-radius-md);max-width:100%;max-height:75vh;box-shadow:0 20px 60px #0009}.chatLightboxCaption{color:var(--chat-text);text-align:center;margin:.8rem 0 .2rem;font-size:.92rem}.chatLightboxMeta{color:var(--chat-text-muted);gap:1rem;font-size:.75rem;display:flex}.chatSecurityModalOverlay{z-index:9999;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.chatSecurityBackdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a050ed9;position:absolute;inset:0}.chatSecurityModalCard{z-index:2;background:var(--chat-surface);border:1px solid var(--chat-border);border-radius:var(--chat-radius-lg);flex-direction:column;gap:1.2rem;width:100%;max-width:480px;padding:1.75rem;display:flex;position:relative;box-shadow:0 24px 60px #0009,0 0 32px #f7a8b81f}.chatModalCloseBtn{color:var(--chat-text-subtle);cursor:pointer;background:0 0;border:none;font-size:1.1rem;position:absolute;top:1rem;right:1rem}.securityModalHeader{text-align:center}.securityShieldIcon{font-size:2.2rem}.securityModalHeader h3{font-family:var(--chat-font-display);color:var(--chat-text);margin:.4rem 0 .2rem;font-size:1.4rem}.securitySubhead{color:var(--chat-primary);margin:0;font-size:.85rem}.securityFingerprintBox{border-radius:var(--chat-radius-md);background:#1a0f1fd9;border:1px solid #f7a8b833;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;display:flex}.fingerprintLabel{text-transform:uppercase;letter-spacing:.08em;color:var(--chat-text-muted);font-size:.72rem}.fingerprintCode{letter-spacing:.1em;color:var(--chat-secondary);text-align:center;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;line-height:1.5}.copyFingerprintBtn{color:var(--chat-secondary);border-radius:var(--chat-radius-pill);cursor:pointer;background:#f7a8b81f;border:1px solid #f7a8b84d;margin-top:.25rem;padding:.35rem .9rem;font-size:.75rem;transition:all .15s}.copyFingerprintBtn:hover{background:#f7a8b838}.securityExplanation{color:var(--chat-text-muted);text-align:center;border-top:1px solid #ffd6e61a;padding-top:.85rem;font-size:.82rem;line-height:1.5}.securityExplanation p{margin:.25rem 0}.securityModalFooter{justify-content:center;display:flex}.closeModalMainBtn{background:linear-gradient(110deg, var(--chat-primary) 0%, var(--chat-primary-strong) 100%);border-radius:var(--chat-radius-pill);color:#1a0f1f;cursor:pointer;border:none;padding:.5rem 1.75rem;font-size:.88rem;font-weight:600}@media (max-width:768px){.chatPanelContainer{border-radius:var(--chat-radius-md);height:86vh}.chatBubble{max-width:85%}.chatToolbarRow{padding-bottom:2px;overflow-x:auto}}@media (max-width:430px){.chatPanelContainer{border:none;border-radius:0;height:100%;min-height:100vh}.chatPanelHeader{padding:.75rem 1rem}.chatAvatarRing{width:38px;height:38px}.chatAvatarGlyph,.chatTitleHeading{font-size:1.05rem}.chatTimelineContainer{gap:.7rem;padding:.85rem}.chatBubble{max-width:90%;padding:.65rem .85rem}.voiceNoteBar{min-width:190px;padding:.4rem .6rem}.toolLabel{display:none}.chatToolBtn{justify-content:center;min-width:40px;min-height:40px;padding:.35rem .5rem}.emojiPickerGrid{grid-template-columns:repeat(6,1fr)}.sendText{display:none}.chatSendButton{justify-content:center;min-width:44px;min-height:44px;padding:.55rem .75rem}}@media (max-width:360px){.chatBubble{max-width:95%}.chatTimelineEncryptedNotice{padding:.5rem .7rem;font-size:.7rem}.fingerprintCode{font-size:.92rem}}.chatPanelContainer button:focus-visible,.chatPanelContainer input:focus-visible,.chatPanelContainer textarea:focus-visible,.chatSecurityModal button:focus-visible{outline:none;box-shadow:0 0 0 3px #f7a8b8bf}@media (prefers-reduced-motion:reduce){.chatPanelContainer,.chatBubble,.chatSendButton,.recordingPulseDot,.voiceWaveBar,.chatSecurityBackdrop,.chatSecurityModal,.chatReactionPopover,.chatToolBtn,*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
[data-theme=love],.music-room-container[data-theme=love],[data-theme=love] .music-room-container{--music-accent:var(--color-accent,#d4a47c)}.music-room-container{width:100%;max-width:1200px;padding:var(--space-6,1.5rem) var(--space-4,1rem) var(--space-12,3rem);box-sizing:border-box;font-family:var(--font-body,"Inter", system-ui, sans-serif);color:var(--color-text,#f8f1e9);margin:0 auto;position:relative}.music-room-header{text-align:center;margin-bottom:var(--space-8,2rem);position:relative}.music-room-kicker{align-items:center;gap:var(--space-2,.5rem);font-size:var(--text-caption,.75rem);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent,#d4a47c);margin-bottom:var(--space-2,.5rem);font-weight:600;display:inline-flex}.music-room-title{font-family:var(--font-display,"Playfair Display", Georgia, serif);font-size:var(--text-display,clamp(2rem, 4vw, 3.25rem));color:var(--color-text,#f8f1e9);margin:0 0 var(--space-2,.5rem);font-weight:700;line-height:1.15}.music-room-title .heart-glyph{color:var(--color-primary,#f7a8b8);margin-left:.25rem;font-style:normal;display:inline-block}.music-room-subtitle{font-size:var(--text-body,.9375rem);color:var(--color-text-muted,#c5b3c9);max-width:580px;line-height:var(--line-body,1.65);margin:0 auto}.music-toolbar{gap:var(--space-4,1rem);margin-bottom:var(--space-8,2rem);background:var(--color-surface,#26132b);border:1px solid var(--color-border,#ffd6e629);border-radius:var(--radius-lg,1.25rem);padding:var(--space-4,1rem) var(--space-5,1.25rem);box-shadow:var(--shadow-card,0 18px 50px #0000003d);flex-direction:column;display:flex}.music-toolbar-top{justify-content:space-between;align-items:center;gap:var(--space-4,1rem);flex-wrap:wrap;display:flex}.music-search-box{flex:1;min-width:240px;position:relative}.music-search-icon{color:var(--color-text-subtle,#a994b0);pointer-events:none;font-size:.9rem;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.music-search-input{box-sizing:border-box;border-radius:var(--radius-pill,999px);border:1px solid var(--color-border,#ffd6e629);background:var(--color-surface-alt,#3a1f3b);width:100%;color:var(--color-text,#f8f1e9);outline:none;padding:.65rem 2.2rem .65rem 2.4rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.music-search-input:focus-visible{border-color:var(--color-primary,#f7a8b8);box-shadow:var(--focus-ring,0 0 0 3px #f7a8b861)}.music-search-clear{color:var(--color-text-subtle,#a994b0);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1rem;line-height:1;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.music-search-clear:hover{color:var(--color-text,#f8f1e9)}.music-filter-chips{align-items:center;gap:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.music-chip{border-radius:var(--radius-pill,999px);border:1px solid var(--color-border,#ffd6e629);color:var(--color-text-muted,#c5b3c9);cursor:pointer;background:0 0;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.music-chip:hover{color:var(--color-text,#f8f1e9);background:#f7a8b81a;border-color:#f7a8b84d}.music-chip.is-active{background:var(--gradient-accent,linear-gradient(110deg, #f7a8b8 0%, #ffb7c8 55%, #f8d0c4 100%));color:#1a0f1f;border-color:#0000;font-weight:600;box-shadow:0 2px 10px #f7a8b84d}.music-chip-count{color:inherit;background:#0000002e;border-radius:999px;padding:.1rem .45rem;font-size:.75rem;display:inline-block}.music-chip:not(.is-active) .music-chip-count{color:var(--color-text-subtle,#a994b0);background:#ffffff1a}.music-upload-wrapper{display:inline-block;position:relative}.music-upload-input{opacity:0;z-index:-1;width:.1px;height:.1px;position:absolute;overflow:hidden}.music-upload-btn{border-radius:var(--radius-pill,999px);border:1px dashed var(--color-primary,#f7a8b8);color:var(--color-primary,#f7a8b8);cursor:pointer;white-space:nowrap;background:#f7a8b814;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.music-upload-btn:hover,.music-upload-input:focus-visible+.music-upload-btn{border-color:var(--color-primary-strong,#f27a98);color:#fff;box-shadow:var(--shadow-glow,0 0 28px #f7a8b81f);background:#f7a8b833}.music-playlist-pills{align-items:center;gap:var(--space-2,.5rem);padding-top:var(--space-2,.5rem);border-top:1px solid #ffd6e614;flex-wrap:wrap;display:flex}.music-playlist-pill{border-radius:var(--radius-pill,999px);background:var(--color-surface-raised,#2a1a32);border:1px solid var(--color-border,#ffd6e629);color:var(--color-text-subtle,#a994b0);cursor:pointer;padding:.3rem .75rem;font-size:.8rem;transition:all .2s}.music-playlist-pill:hover{color:var(--color-text,#f8f1e9);border-color:var(--color-primary,#f7a8b8)}.music-playlist-pill.is-active{background:var(--color-surface-alt,#3a1f3b);color:var(--color-primary,#f7a8b8);border-color:var(--color-primary,#f7a8b8);font-weight:600}.music-player-card{background:var(--gradient-card,linear-gradient(135deg, #4a2b49eb, #26132bf5));border:1px solid var(--color-border,#ffd6e629);border-radius:var(--radius-xl,1.75rem);box-shadow:var(--shadow-card,0 18px 50px #0000003d);padding:var(--space-6,1.5rem);margin-bottom:var(--space-8,2rem);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.music-card-floral-corner{color:#f7a8b82e;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:1.5rem;position:absolute}.music-card-floral-tl{top:.75rem;left:.75rem}.music-card-floral-tr{top:.75rem;right:.75rem}.music-card-floral-bl{bottom:.75rem;left:.75rem}.music-card-floral-br{bottom:.75rem;right:.75rem}.music-player-topbar{margin-bottom:var(--space-5,1.25rem);z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.music-player-nowplaying-badge{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent,#d4a47c);align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:inline-flex}.music-player-nowplaying-badge .pulse-dot{background:var(--color-primary,#f7a8b8);border-radius:50%;width:7px;height:7px;display:inline-block}.is-playing .music-player-nowplaying-badge .pulse-dot{animation:1.8s infinite pulseGlow}@keyframes pulseGlow{0%{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1.4);box-shadow:0 0 10px #f7a8b8}to{opacity:.7;transform:scale(.9)}}.music-size-switcher{background:var(--color-surface,#26132b);border:1px solid var(--color-border,#ffd6e629);border-radius:var(--radius-pill,999px);gap:2px;padding:3px;display:inline-flex}.music-size-btn{border-radius:var(--radius-pill,999px);color:var(--color-text-subtle,#a994b0);cursor:pointer;background:0 0;border:none;padding:.25rem .65rem;font-size:.75rem;font-weight:500;transition:all .2s}.music-size-btn:hover{color:var(--color-text,#f8f1e9)}.music-size-btn.is-active{background:var(--color-surface-alt,#3a1f3b);color:var(--color-primary,#f7a8b8);font-weight:600;box-shadow:0 2px 8px #00000040}.music-player-main{align-items:center;gap:var(--space-8,2rem);z-index:2;display:flex;position:relative}.music-vinyl-section{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.music-vinyl-turntable{justify-content:center;align-items:center;display:inline-flex;position:relative}.music-vinyl-disc{transform-origin:50%;border-radius:50%;transition:transform .5s;box-shadow:0 8px 30px #0009,inset 0 0 1px 1px #ffffff1f}.is-playing .music-vinyl-disc{animation:3s linear infinite vinylSpin}.is-paused .music-vinyl-disc{animation:3s linear infinite paused vinylSpin}@keyframes vinylSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-tonearm{pointer-events:none;transform-origin:22px 12px;z-index:3;width:44px;height:90px;transition:transform .6s cubic-bezier(.2,.8,.3,1);position:absolute;top:-8px;right:-14px;transform:rotate(-25deg)}.is-playing .music-tonearm{transform:rotate(8deg)}.music-track-meta{flex:1;min-width:0}.music-meta-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3,.75rem);margin-bottom:var(--space-4,1rem);display:flex}.music-meta-titles{min-width:0}.music-track-title{font-family:var(--font-display,"Playfair Display", Georgia, serif);font-size:var(--text-h2,clamp(1.25rem, 2vw, 1.75rem));color:var(--color-text,#f8f1e9);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .25rem;font-weight:700;overflow:hidden}.music-track-artist{font-size:var(--text-body,.9375rem);color:var(--color-lavender,#b894bc);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.music-track-playlist-badge{border-radius:var(--radius-pill,999px);color:var(--color-accent,#d4a47c);background:#d4a47c26;border:1px solid #d4a47c4d;margin-top:.35rem;padding:.2rem .55rem;font-size:.7rem;display:inline-block}.music-favorite-btn{color:var(--color-text-subtle,#a994b0);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:.3rem;font-size:1.4rem;line-height:1;transition:transform .2s,color .2s}.music-favorite-btn:hover{color:var(--color-primary-strong,#f27a98);transform:scale(1.15)}.music-favorite-btn.is-favorite{color:var(--color-primary-strong,#f27a98);text-shadow:0 0 12px #f27a9880}.music-progress-container{margin-bottom:var(--space-4,1rem)}.music-progress-slider{appearance:none;background:var(--color-surface-alt,#3a1f3b);cursor:pointer;border-radius:999px;outline:none;width:100%;height:6px;transition:background .2s}.music-progress-slider::-webkit-slider-thumb{appearance:none;background:var(--color-primary,#f7a8b8);cursor:pointer;border:2px solid #fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 2px 6px #0006}.music-progress-slider::-webkit-slider-thumb:hover{background:var(--color-primary-strong,#f27a98);transform:scale(1.25)}.music-progress-slider::-moz-range-thumb{background:var(--color-primary,#f7a8b8);cursor:pointer;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #0006}.music-progress-times{color:var(--color-text-subtle,#a994b0);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:.35rem;font-size:.75rem;display:flex}.music-controls-bar{justify-content:space-between;align-items:center;gap:var(--space-4,1rem);flex-wrap:wrap;display:flex}.music-playback-buttons{align-items:center;gap:var(--space-3,.75rem);display:flex}.music-btn-control{color:var(--color-text-muted,#c5b3c9);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;font-size:1.15rem;line-height:1;transition:all .2s;display:inline-flex}.music-btn-control:hover{color:var(--color-text,#f8f1e9);background:#ffffff14}.music-btn-control.is-active{color:var(--color-primary,#f7a8b8);background:#f7a8b824}.music-btn-playpause{background:var(--gradient-accent,linear-gradient(110deg, #f7a8b8 0%, #ffb7c8 55%, #f8d0c4 100%));color:#1a0f1f;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;padding:0;font-size:1.3rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 16px #f7a8b866}.music-btn-playpause:hover{transform:scale(1.08);box-shadow:0 6px 22px #f7a8b899}.music-btn-playpause:active{transform:scale(.96)}.music-volume-box{align-items:center;gap:.5rem;display:flex}.music-volume-icon-btn{color:var(--color-text-subtle,#a994b0);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.95rem;line-height:1}.music-volume-icon-btn:hover{color:var(--color-text,#f8f1e9)}.music-volume-slider{appearance:none;background:var(--color-surface-alt,#3a1f3b);cursor:pointer;border-radius:999px;outline:none;width:85px;height:4px}.music-volume-slider::-webkit-slider-thumb{appearance:none;background:var(--color-primary,#f7a8b8);cursor:pointer;border-radius:50%;width:12px;height:12px}.music-volume-slider::-moz-range-thumb{background:var(--color-primary,#f7a8b8);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.music-notice-toast{justify-content:space-between;align-items:center;gap:var(--space-3,.75rem);margin-top:var(--space-4,1rem);border-radius:var(--radius-md,.875rem);color:var(--color-warning,#e6c38a);background:#e6c38a1f;border:1px solid #e6c38a59;padding:.65rem 1rem;font-size:.825rem;line-height:1.4;animation:.3s fadeInToast;display:flex}@keyframes fadeInToast{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.music-notice-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;padding:.1rem .3rem;font-size:1rem;line-height:1}.music-player-card.compact{padding:var(--space-4,1rem) var(--space-5,1.25rem)}.music-player-card.compact .music-player-main{gap:var(--space-4,1rem)}.music-player-card.compact .music-vinyl-disc{width:90px;height:90px}.music-player-card.compact .music-tonearm{display:none}.music-player-card.compact .music-track-title{font-size:1.15rem}.music-player-card.compact .music-track-artist{font-size:.825rem}.music-player-card.compact .music-btn-playpause{width:42px;height:42px;font-size:1.1rem}.music-player-card.compact .music-volume-box{display:none}.music-player-card.standard .music-vinyl-disc{width:170px;height:170px}.music-player-card.standard .music-tonearm{width:38px;height:75px}.music-player-card.expanded{padding:var(--space-8,2rem)}.music-player-card.expanded .music-player-main{text-align:center;gap:var(--space-6,1.5rem);flex-direction:column}.music-player-card.expanded .music-vinyl-disc{width:250px;height:250px}.music-player-card.expanded .music-tonearm{width:48px;height:100px;top:-12px;right:-24px}.music-player-card.expanded .music-meta-header{flex-direction:column;align-items:center}.music-player-card.expanded .music-track-title{font-size:2rem}.music-player-card.expanded .music-controls-bar{justify-content:center;gap:var(--space-4,1rem);flex-direction:column}.music-library-section{background:var(--color-surface,#26132b);border:1px solid var(--color-border,#ffd6e629);border-radius:var(--radius-xl,1.75rem);padding:var(--space-6,1.5rem);box-shadow:var(--shadow-card,0 18px 50px #0000003d)}.music-library-header{margin-bottom:var(--space-4,1rem);padding-bottom:var(--space-3,.75rem);border-bottom:1px solid #ffd6e61a;justify-content:space-between;align-items:center;display:flex}.music-library-title{font-family:var(--font-display,"Playfair Display", Georgia, serif);font-size:var(--text-h2,1.35rem);color:var(--color-text,#f8f1e9);margin:0}.music-library-count{color:var(--color-accent,#d4a47c);border-radius:var(--radius-pill,999px);background:#d4a47c26;padding:.2rem .6rem;font-size:.8rem}.music-table-wrapper{overflow-x:auto}.music-table{border-collapse:collapse;text-align:left;width:100%}.music-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle,#a994b0);border-bottom:1px solid #ffd6e61f;padding:.6rem .75rem;font-size:.75rem;font-weight:600}.music-table td{vertical-align:middle;border-bottom:1px solid #ffd6e60f;padding:.75rem}.music-track-row{cursor:pointer;transition:background .15s}.music-track-row:hover{background:#f7a8b814}.music-track-row.is-active-row{background:#f7a8b824}.music-track-row.is-active-row .music-row-title{color:var(--color-primary,#f7a8b8);font-weight:600}.music-col-index{width:44px;color:var(--color-text-subtle,#a994b0);text-align:center;font-variant-numeric:tabular-nums;font-size:.8rem}.music-col-cover{width:40px}.music-mini-cover{border-radius:var(--radius-sm,.625rem);background:var(--color-surface-raised,#2a1a32);border:1px solid var(--color-border,#ffd6e629);width:36px;height:36px;color:var(--color-primary,#f7a8b8);justify-content:center;align-items:center;font-size:1rem;display:flex}.music-col-info{min-width:180px}.music-row-title{color:var(--color-text,#f8f1e9);margin-bottom:.15rem;font-size:.925rem;font-weight:500}.music-row-artist{color:var(--color-text-muted,#c5b3c9);font-size:.8rem}.music-col-playlist{color:var(--color-text-subtle,#a994b0);font-size:.8rem}.music-col-duration{width:70px;color:var(--color-text-muted,#c5b3c9);font-variant-numeric:tabular-nums;font-size:.8rem}.music-col-actions{text-align:right;white-space:nowrap;width:80px}.music-table-action-btn{color:var(--color-text-subtle,#a994b0);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.4rem;font-size:1rem;line-height:1;transition:all .2s}.music-table-action-btn:hover{color:var(--color-primary,#f7a8b8);transform:scale(1.1)}.music-table-action-btn.is-fav{color:var(--color-primary-strong,#f27a98)}.music-empty-state{text-align:center;padding:var(--space-8,2rem) var(--space-4,1rem);color:var(--color-text-muted,#c5b3c9)}.music-empty-icon{margin-bottom:var(--space-2,.5rem);opacity:.7;font-size:2.5rem;display:block}.music-empty-title{font-family:var(--font-display,"Playfair Display", Georgia, serif);color:var(--color-text,#f8f1e9);margin:0 0 .5rem;font-size:1.25rem}.music-empty-desc{margin:0 0 1rem;font-size:.875rem}.music-empty-action{background:var(--color-surface-alt,#3a1f3b);border:1px solid var(--color-border,#ffd6e629);color:var(--color-primary,#f7a8b8);border-radius:var(--radius-pill,999px);cursor:pointer;padding:.45rem 1rem;font-size:.85rem}button:focus-visible,input:focus-visible,select:focus-visible{box-shadow:var(--focus-ring,0 0 0 3px #f7a8b88c);outline:none}@media (max-width:1050px){.music-player-main{gap:var(--space-6,1.5rem)}.music-standard .music-vinyl-disc{width:140px;height:140px}.music-col-playlist{display:none}}@media (max-width:760px){.music-room-container{padding:var(--space-4,1rem) var(--space-2,.5rem) var(--space-8,2rem)}.music-toolbar{padding:var(--space-3,.75rem)}.music-toolbar-top{flex-direction:column;align-items:stretch}.music-search-box{width:100%;min-width:0}.music-player-card{padding:var(--space-4,1rem)}.music-player-main{text-align:center;flex-direction:column}.music-meta-header{flex-direction:column;align-items:center}.music-tonearm{display:none}.music-controls-bar{justify-content:center;gap:var(--space-3,.75rem);flex-direction:column}.music-btn-control{min-width:44px;min-height:44px}.music-btn-playpause{min-width:48px;min-height:48px}.music-table th:first-child,.music-table td:first-child{display:none}.music-table th,.music-table td{padding:.5rem .4rem}}@media (prefers-reduced-motion:reduce){.music-vinyl-disc,.is-playing .music-vinyl-disc,.pulse-dot,.music-tonearm,*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
.passcode-gate-viewport{box-sizing:border-box;background:radial-gradient(circle at 50% 12%,#e9b9bc73 0%,#0000 60%),radial-gradient(circle at 88% 85%,#d886512e 0%,#0000 50%),radial-gradient(circle at 12% 90%,#b6535f26 0%,#0000 50%),linear-gradient(175deg,#f9f1e5 0%,#f5e8d8 50%,#efe1d0 100%);justify-content:center;align-items:center;min-height:100dvh;padding:clamp(16px,4vw,36px) clamp(12px,3vw,24px);display:flex;position:relative;overflow-x:hidden}.passcode-ambient-particles{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.ambient-particle{color:#b6535f59;font-size:14px;animation:8s ease-in-out infinite alternate floatParticle;position:absolute}.particle-1{font-size:16px;animation-duration:9s;top:10%;left:12%}.particle-2{font-size:18px;animation-duration:11s;top:22%;right:15%}.particle-3{font-size:20px;animation-duration:10s;bottom:18%;left:18%}.particle-4{font-size:14px;animation-duration:7s;bottom:12%;right:20%}@keyframes floatParticle{0%{opacity:.3;transform:translateY(0)rotate(0)}to{opacity:.7;transform:translateY(-16px)rotate(15deg)}}.passcode-card{z-index:1;text-align:center;box-sizing:border-box;background:#fffdf8;border:1px solid #b6535f3d;border-radius:28px;width:100%;max-width:450px;padding:clamp(28px,6vw,44px) clamp(22px,5vw,36px);animation:.5s cubic-bezier(.16,1,.3,1) forwards cardEnter;position:relative;box-shadow:0 24px 64px #4a15251f,0 4px 16px #4a15250d,inset 0 1px #ffffffe6}@keyframes cardEnter{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.passcode-emblem-wrap{justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex;position:relative}.passcode-emblem-glow{background:radial-gradient(circle,#e9b9bc8c 0%,#0000 70%);border-radius:50%;width:68px;height:68px;animation:3s ease-in-out infinite pulseGlow;position:absolute}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.9;transform:scale(1.15)}}.passcode-emblem-icon{color:#b6535f;z-index:1;background:linear-gradient(135deg,#fbf4e8 0%,#f5e2da 100%);border:1px solid #b6535f4d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;display:flex;position:relative;box-shadow:0 4px 12px #b6535f26}.passcode-kicker{text-transform:uppercase;letter-spacing:.18em;color:#8c4752;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.passcode-title{color:#382d27;margin:0 0 12px;font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,6vw,36px);font-weight:500;line-height:1.15}.passcode-title i{color:#b6535f;font-style:italic;font-weight:400}.passcode-subtitle{color:#7a6960;margin:0 0 24px;padding:0 4px;font-family:DM Sans,system-ui,sans-serif;font-size:14px;line-height:1.55}.passcode-form{text-align:left;flex-direction:column;gap:16px;display:flex}.passcode-label-group{justify-content:space-between;align-items:baseline;display:flex}.passcode-label{color:#6e4b3b;letter-spacing:.02em;font-size:12px;font-weight:700}.passcode-hint{color:#9e897d;font-size:11px}.passcode-input-wrapper{align-items:center;display:flex;position:relative}.passcode-input{color:#382d27;letter-spacing:.22em;text-align:center;box-sizing:border-box;touch-action:manipulation;background:#fffdf8;border:1.5px solid #b6535f47;border-radius:14px;width:100%;height:52px;padding:0 48px 0 16px;font-family:DM Sans,-apple-system,monospace;font-size:20px;font-weight:600;transition:all .2s}.passcode-input:focus{background:#fff;border-color:#b6535f;outline:none;box-shadow:0 0 0 4px #b6535f29}.passcode-input::placeholder{color:#cfc2b5;letter-spacing:.1em;font-size:15px;font-weight:400}.passcode-input:disabled{opacity:.7;cursor:not-allowed;background:#f7f1e7}.passcode-toggle-btn{color:#8c786e;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:8px;transition:color .15s;display:flex;position:absolute;right:12px}.passcode-toggle-btn:hover{color:#b6535f}.passcode-toggle-btn:focus-visible{outline:2px solid #b6535f}.passcode-error-box{color:#9c323e;text-align:left;background:#fdf1f0;border:1px solid #b6535f59;border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:13px;line-height:1.45;animation:.4s ease-in-out errorShake;display:flex}@keyframes errorShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.passcode-error-icon{flex-shrink:0;font-size:16px}.passcode-submit-btn{color:#fff;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#b6535f 0%,#a34450 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;min-height:48px;font-size:15px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 8px 20px #b6535f47}.passcode-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#c25b67 0%,#ad4b57 100%);transform:translateY(-1px);box-shadow:0 10px 24px #b6535f57}.passcode-submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #b6535f33}.passcode-submit-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #b6535f59}.passcode-submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.passcode-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.passcode-footer{color:#8c786e;border-top:1px solid #e8ddceb3;justify-content:center;align-items:center;gap:6px;margin-top:24px;padding-top:18px;font-size:12px;display:flex}.passcode-footer-heart{color:#b6535f;font-size:14px}@media (max-width:360px){.passcode-card{border-radius:20px;padding:24px 16px}.passcode-title{font-size:26px}.passcode-input{letter-spacing:.15em;height:48px;font-size:17px}.passcode-submit-btn{height:48px;font-size:14px}}@media (max-height:650px) and (orientation:landscape){.passcode-gate-viewport{align-items:flex-start;padding:16px 12px}.passcode-card{margin:12px auto;padding:20px 24px}.passcode-emblem-wrap{margin-bottom:8px}.passcode-subtitle{margin-bottom:14px}.passcode-footer{margin-top:14px;padding-top:10px}}@media (prefers-reduced-motion:reduce){.passcode-card,.ambient-particle,.passcode-emblem-glow,.passcode-error-box{transition:none!important;animation:none!important}}
