:root{--color-cream: #F7F4F0;--color-charcoal: #3D4852;--color-blue: #5A8FB5;--color-blue-hover: #4A7FA5;--color-mist: #EBF3F8;--color-error: #C0392B;--color-success: #27AE60;--color-gold: #E8B84B;--color-border: #d9d3cb;--color-text-muted: #887f73;--font-heading: Georgia, "Times New Roman", Times, serif;--font-body: Georgia, "Times New Roman", Times, serif;--shadow-warm: 0 2px 8px rgba(61, 72, 82, .08);--shadow-warm-hover: 0 4px 16px rgba(61, 72, 82, .12);--margin-texture-opacity: .05}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-charcoal);background-color:var(--color-cream);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:before,body:after{content:"";position:fixed;top:0;bottom:0;width:80px;pointer-events:none;z-index:0;opacity:var(--margin-texture-opacity);background-image:repeating-linear-gradient(to bottom,#8b7355 0px 14px,#3d4852 14px 16px,#a0845c 16px 32px,#3d4852 32px 34px,#6b5344 34px 50px,#3d4852 50px 52px,#9c7a5a 52px 66px,#3d4852 66px 68px,#7a6548 68px 86px,#3d4852 86px 88px,#a0845c 88px 100px,#3d4852 100px 102px);transition:opacity .4s ease}body:before{left:0;mask-image:linear-gradient(to right,#000 60%,#0000);-webkit-mask-image:linear-gradient(to right,rgba(0,0,0,1) 60%,rgba(0,0,0,0))}body:after{right:0;mask-image:linear-gradient(to left,#000 60%,#0000);-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,1) 60%,rgba(0,0,0,0))}body.reading-mode:before,body.reading-mode:after{opacity:0}#root:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}#root{position:relative;z-index:1}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;letter-spacing:.02em}a{color:var(--color-blue);text-decoration:none}a:hover{text-decoration:underline}.sketch-border{border:1.5px solid var(--color-charcoal);border-radius:2px}button,input,select,textarea{font-family:var(--font-body)}@media(max-width:1200px)and (min-width:901px){body:before,body:after{opacity:calc(var(--margin-texture-opacity) * .5)}body.reading-mode:before,body.reading-mode:after{opacity:0}}@media(max-width:900px){body:before,body:after{opacity:0}}.navbar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;background:var(--color-cream);border-bottom:none;background-image:url("data:image/svg+xml,%3Csvg width='600' height='4' viewBox='0 0 600 4' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 2 Q15 0 30 2 Q45 4 60 2 Q75 0 90 2 Q105 4 120 2 Q135 0 150 2 Q165 4 180 2 Q195 0 210 2 Q225 4 240 2 Q255 0 270 2 Q285 4 300 2 Q315 0 330 2 Q345 4 360 2 Q375 0 390 2 Q405 4 420 2 Q435 0 450 2 Q465 4 480 2 Q495 0 510 2 Q525 4 540 2 Q555 0 570 2 Q585 4 600 2' stroke='%23d9d3cb' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:bottom;background-size:600px 4px;padding-bottom:calc(.75rem + 4px)}.navbar-left a{text-decoration:none;display:flex;align-items:center;gap:.5rem}.navbar-left a:hover{text-decoration:none}.navbar-ship-icon{width:24px;height:18px;flex-shrink:0}.navbar-wordmark{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-charcoal);letter-spacing:.05em}.navbar-center{display:flex;align-items:center;gap:1.25rem}.navbar-curator-link,.navbar-start-group-link{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--color-blue);text-decoration:none;letter-spacing:.01em;transition:text-decoration .15s}.navbar-curator-link:hover,.navbar-start-group-link:hover{text-decoration:underline;text-underline-offset:3px}.navbar-right{display:flex;align-items:center;gap:1rem}.navbar-username{font-size:.9rem;color:var(--color-charcoal)}.navbar-signout{padding:.35rem .75rem;border:1.5px solid var(--color-charcoal);border-radius:2px;background:transparent;color:var(--color-charcoal);cursor:pointer;font-size:.8rem;font-family:var(--font-body);transition:background .2s,color .2s}.navbar-signout:hover{background:var(--color-charcoal);color:var(--color-cream)}.notification-bell{position:relative;background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.notification-bell svg{width:22px;height:22px}.notification-badge{position:absolute;top:-4px;right:-6px;background:var(--color-error);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notification-bell-wrapper{position:relative}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:300px;background:#fff;border:1.5px solid var(--color-border);border-radius:2px;box-shadow:0 4px 16px #0000001f;z-index:200;max-height:400px;display:flex;flex-direction:column}.notification-dropdown-header{padding:.65rem .85rem;border-bottom:1px solid var(--color-border);font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--color-charcoal)}.notification-dropdown-list{overflow-y:auto;max-height:340px}.notification-item{padding:.65rem .85rem;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;flex-direction:column;gap:.15rem;transition:background .15s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-mist)}.notification-unread{background:#fdf8ef}.notification-unread:hover{background:#f9f0de}.notification-item-body{font-size:.85rem;color:var(--color-charcoal);line-height:1.35}.notification-item-time{font-size:.7rem;color:var(--color-text-muted)}.notification-item-type{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--color-blue)}.notification-empty{padding:1.5rem;text-align:center;color:var(--color-text-muted);font-size:.85rem;font-style:italic}@media(max-width:768px){.desktop-only{display:none}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.auth-card{width:100%;max-width:400px;text-align:center;background:#fff;border:1.5px solid var(--color-border);border-radius:2px;padding:2.5rem 2rem;transform:rotate(-.5deg);box-shadow:var(--shadow-warm)}.ship-logo{margin-bottom:2.5rem}.ship-logo-title{font-family:var(--font-heading);font-size:2.4rem;color:var(--color-charcoal);letter-spacing:.08em;margin-top:.25rem}.auth-form{display:flex;flex-direction:column;gap:.75rem;text-align:left;margin-top:1rem;transform:rotate(.5deg)}.auth-form h2{font-family:var(--font-heading);font-size:1.4rem;text-align:center;margin-bottom:.25rem}.auth-form label{font-size:.85rem;font-weight:600;color:var(--color-charcoal);margin-bottom:-.25rem}.auth-form input{padding:.75rem .25rem;border:none;border-bottom:1.5px solid var(--color-border);border-radius:0;font-size:1rem;font-family:var(--font-body);background:transparent;color:var(--color-charcoal);transition:border-color .2s}.auth-form input:focus{outline:none;border-bottom-color:var(--color-blue);box-shadow:none}.auth-form button{margin-top:.75rem;padding:.75rem;border:1.5px solid var(--color-charcoal);border-radius:2px;background:var(--color-charcoal);color:var(--color-cream);font-size:1rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .2s,color .2s}.auth-form button:hover:not(:disabled){background:transparent;color:var(--color-charcoal)}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:#fdecea;color:var(--color-error);padding:.75rem;border-radius:2px;font-size:.9rem;text-align:center}.auth-footer{margin-top:1.5rem;font-size:.9rem;color:var(--color-text-muted)}.auth-confirmation{margin-top:1rem;line-height:1.8}.auth-confirmation h2{font-family:var(--font-heading);font-size:1.4rem;margin-bottom:.5rem}.dashboard{max-width:800px;margin:0 auto;padding:2rem}.dashboard-empty{text-align:center;padding:4rem 0}.dashboard-empty h2{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:.5rem}.dashboard-empty p{color:var(--color-text-muted);margin-bottom:1.5rem}.dashboard-empty button{padding:.6rem 1.2rem;border:1px solid var(--color-blue);border-radius:6px;background:transparent;color:var(--color-blue);cursor:pointer;font-size:.9rem;transition:background .2s,color .2s}.dashboard-empty button:hover{background:var(--color-blue);color:#fff}.dashboard-selector{text-align:center;margin-bottom:2rem}.dashboard-selector h2{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:.25rem}.dashboard-selector p{color:var(--color-text-muted)}.dashboard-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.group-card-clickable{cursor:pointer;transition:border-color .2s,box-shadow .2s}.group-card-clickable:hover{border-color:var(--color-blue);box-shadow:0 2px 8px #5a8fb51f}.group-role-badge{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:var(--color-mist);color:var(--color-blue);padding:.2rem .6rem;border-radius:4px}.dashboard-discover-link{text-align:center}.dashboard-discover-link button{background:none;border:none;color:var(--color-blue);cursor:pointer;font-size:.9rem}.dashboard-discover-link button:hover{text-decoration:underline}.start-group-page{max-width:520px;margin:0 auto;padding:3rem 2rem}.curator-request-section{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.curator-request-btn{padding:.6rem 1.2rem;border:1.5px solid var(--color-blue);border-radius:2px;background:transparent;color:var(--color-blue);font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s}.curator-request-btn:hover{background:var(--color-blue);color:#fff}.curator-request-form{display:flex;flex-direction:column;gap:.6rem;max-width:480px;margin:0 auto;padding:1rem;border:1.5px solid var(--color-border);border-radius:2px;background:#fff;text-align:left}.curator-request-form h3{font-family:var(--font-heading);font-size:1.1rem;margin-bottom:.25rem}.curator-request-form label{font-size:.85rem;font-weight:600;color:var(--color-charcoal)}.curator-request-form input,.curator-request-form textarea{padding:.5rem .25rem;border:none;border-bottom:1.5px solid var(--color-border);border-radius:0;font-size:.95rem;font-family:var(--font-body);background:transparent;color:var(--color-charcoal);resize:vertical}.curator-request-form input:focus,.curator-request-form textarea:focus{outline:none;border-bottom-color:var(--color-blue)}.curator-request-actions{display:flex;gap:.5rem;margin-top:.25rem}.curator-request-sent{background:var(--color-mist);border:1px solid var(--color-blue);border-radius:2px;padding:1.25rem 1.5rem;max-width:480px;margin:0 auto;font-family:var(--font-heading);font-size:.95rem;font-style:italic;color:var(--color-charcoal);line-height:1.5;text-align:center}.curator-request-sent-check{display:inline-block;font-style:normal;font-weight:700;color:var(--color-blue);margin-right:.4rem;font-size:1.1rem}.discovery-page{max-width:700px;margin:0 auto;padding:2rem}.discovery-header{text-align:center;margin-bottom:2rem}.discovery-header h1{font-family:var(--font-heading);font-size:2rem;margin-bottom:.25rem}.discovery-header p{color:#888;font-size:1rem}.discovery-nav{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.discovery-skip{background:none;border:none;color:var(--color-blue);cursor:pointer;font-size:.9rem}.discovery-skip:hover{text-decoration:underline}.group-list{display:flex;flex-direction:column;gap:1rem}.group-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem}.group-card h3{font-family:var(--font-heading);font-size:1.2rem;margin-bottom:.25rem}.group-card p{color:#666;font-size:.95rem;margin-bottom:.75rem}.group-card button{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--color-blue);color:#fff;font-size:.9rem;cursor:pointer;transition:background .2s}.group-card button:hover:not(:disabled){background:var(--color-blue-hover)}.group-card button:disabled{opacity:.6;cursor:not-allowed}.group-requested{display:inline-block;padding:.5rem 1rem;background:var(--color-mist);color:var(--color-blue);border-radius:6px;font-size:.9rem;font-weight:600}.group-empty{text-align:center;color:#888;padding:2rem 0}.group-chat{display:flex;flex-direction:column;gap:1.25rem}.chat-pinned-card{background:#fdf8ef;border:1.5px solid var(--color-gold);border-radius:2px;padding:.85rem 1rem;display:flex;align-items:flex-start;gap:.6rem}.chat-pinned-icon{font-size:1rem;flex-shrink:0;line-height:1.4}.chat-pinned-body{flex:1}.chat-pinned-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--color-gold);margin-bottom:.2rem}.chat-pinned-text{font-size:.95rem;color:var(--color-charcoal);line-height:1.45}.chat-feed{display:flex;flex-direction:column;gap:.15rem}.chat-message{padding:.6rem 0;border-bottom:1px solid var(--color-border)}.chat-message:last-child{border-bottom:none}.chat-message-header{display:flex;align-items:center;gap:.45rem;margin-bottom:.2rem}.chat-message-author{font-weight:600;font-size:.85rem;color:var(--color-charcoal)}.chat-message-time{font-size:.7rem;color:var(--color-text-muted)}.chat-message-type-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:.1rem .4rem;border-radius:2px;background:var(--color-mist);color:var(--color-blue)}.chat-message-body{font-size:.9rem;line-height:1.5;color:var(--color-charcoal);margin:0}.chat-capture-ref{font-style:italic;font-size:.85rem;color:var(--color-text-muted);margin-top:.2rem}.chat-input-area{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.chat-input{flex:1;padding:.6rem .75rem;border:1.5px solid var(--color-border);border-radius:2px;font-size:.9rem;font-family:var(--font-body);background:#fff;color:var(--color-charcoal);resize:none}.chat-input:focus{outline:none;border-color:var(--color-blue)}.chat-send-btn{padding:.6rem 1rem;border:1.5px solid var(--color-charcoal);border-radius:2px;background:var(--color-charcoal);color:var(--color-cream);font-size:.85rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0;align-self:flex-end}.chat-send-btn:hover:not(:disabled){background:transparent;color:var(--color-charcoal)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-members{margin-top:.5rem}.chat-members h4{font-family:var(--font-heading);font-size:.95rem;margin-bottom:.5rem;color:var(--color-charcoal)}.chat-member-list{display:flex;flex-wrap:wrap;gap:.5rem}.chat-member-chip{display:flex;align-items:center;gap:.3rem;padding:.3rem .65rem;background:#fff;border:1.5px solid var(--color-border);border-radius:2px;font-size:.8rem;color:var(--color-charcoal)}.chat-member-role{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:.1rem .3rem;border-radius:2px}.chat-member-role.curator{background:#eafaf1;color:var(--color-success)}.chat-member-role.reader{background:var(--color-mist);color:var(--color-blue)}.chat-message-footer{display:flex;align-items:center;gap:.3rem;margin-top:.25rem}.chat-like-btn{background:none;border:none;font-size:.85rem;cursor:pointer;padding:.1rem .2rem;opacity:.4;transition:opacity .15s;line-height:1}.chat-like-btn:hover{opacity:.7}.chat-like-btn.liked{opacity:1}.chat-like-count{font-size:.7rem;color:var(--color-text-muted);font-weight:600}.chat-capture-card{background:#f7f4f0;border:1px solid #e0dbd4;border-radius:6px;padding:12px 14px;margin:4px 0}.chat-capture-reading-title{display:block;font-size:.72rem;color:#5a8fb8;font-family:Georgia,serif;font-style:italic;margin-bottom:6px}.chat-capture-blockquote{border-left:2px solid #5A8FB8;padding:4px 10px;margin:0 0 8px;font-style:italic;font-size:.85rem;color:#666;font-family:Georgia,serif}.chat-capture-note{font-family:Georgia,serif;font-size:.9rem;color:#3d4852;margin:0 0 6px}.top-notes-section{padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.top-notes-heading{font-family:var(--font-heading);font-size:1rem;color:var(--color-charcoal);margin-bottom:.75rem}.top-notes-list{display:flex;flex-direction:column;gap:.6rem}.top-note-card{padding:.75rem;background:var(--color-cream);border:1px solid var(--color-border);border-radius:2px}.top-note-author{font-size:.75rem;font-weight:600;color:var(--color-charcoal);display:block;margin-bottom:.3rem}.top-note-quote{margin:0 0 .35rem;padding:.4rem 0 .4rem .75rem;border-left:3px solid var(--color-blue);font-family:var(--font-heading);font-style:italic;font-size:.88rem;line-height:1.45;color:var(--color-charcoal)}.top-note-text{font-size:.82rem;color:var(--color-charcoal);line-height:1.4;margin:0 0 .25rem}.top-note-likes{font-size:.72rem;color:var(--color-text-muted)}.top-notes-toggle{background:none;border:none;font-size:.8rem;color:var(--color-blue);font-weight:600;font-family:var(--font-body);cursor:pointer;padding:0;margin-top:.5rem}.top-notes-toggle:hover{text-decoration:underline}.capture-like-row{display:flex;align-items:center;gap:.3rem;margin-top:.3rem}.capture-like-btn{background:none;border:none;font-size:.85rem;cursor:pointer;padding:.1rem .2rem;opacity:.4;transition:opacity .15s;line-height:1}.capture-like-btn:hover{opacity:.7}.capture-like-btn.liked{opacity:1}.capture-like-count{font-size:.7rem;color:var(--color-text-muted);font-weight:600}.chat-empty{text-align:center;color:var(--color-text-muted);font-style:italic;font-size:.9rem;padding:2rem 0}.group-home{max-width:1100px;margin:0 auto;padding:2rem}.group-home-header{margin-bottom:2rem}.group-home-header h2{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:.25rem;letter-spacing:.02em}.group-home-header p{color:var(--color-text-muted)}.group-home-content{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start}.group-readings h3{font-family:var(--font-heading);font-size:1.2rem;margin-bottom:1rem}.readings-list{display:flex;flex-direction:column;gap:.75rem}.reading-card{background:#fff;border:1.5px solid var(--color-border);border-left:3px solid var(--color-blue);border-radius:2px;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:var(--shadow-warm);transition:box-shadow .2s,transform .2s}.reading-active{border-left:3px solid var(--color-gold);background:#fdf8ef}.reading-card-clickable{cursor:pointer}.reading-card-clickable:hover{box-shadow:var(--shadow-warm-hover);transform:translateY(-1px)}.reading-card-clickable:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.reading-info{flex:1;min-width:0}.reading-title{font-family:var(--font-heading);font-size:1.05rem}.reading-media-icon{margin-right:.35rem}.media-badge{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:.15rem .5rem;border-radius:2px;margin-left:.5rem;vertical-align:middle;position:relative;top:-1px}.media-badge-video{background:var(--color-mist);color:var(--color-blue)}.media-badge-podcast{background:#eafaf1;color:var(--color-success)}.reading-author{color:var(--color-text-muted);font-size:.85rem;margin-top:.15rem}.reading-format-toggle{display:flex;gap:0;margin-top:.5rem;border:1.5px solid #5A8FB5;border-radius:2px;overflow:hidden;width:fit-content}.format-toggle-btn{background:#fff;border:none;border-right:1px solid #5A8FB5;padding:.3rem .7rem;font-size:.78rem;font-weight:600;font-family:var(--font-body);color:#5a8fb5;cursor:pointer;transition:background .15s,color .15s}.format-toggle-btn:last-child{border-right:none}.format-toggle-btn:hover{background:#5a8fb5;color:#fff}.reading-progress{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.progress-bar{width:120px;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--color-gold);border-radius:3px;transition:width .3s ease}.progress-text{font-size:.75rem;color:var(--color-text-muted)}.group-sidebar{border-left:1.5px solid var(--color-border);padding-left:1.5rem}.group-sidebar h3{font-family:var(--font-heading);font-size:1.1rem;margin-bottom:1rem}.captures-list{display:flex;flex-direction:column}.capture-card{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.capture-card:last-child{border-bottom:none}.capture-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.capture-type{text-transform:uppercase;font-size:.7rem;letter-spacing:.06em;font-weight:600;color:var(--color-blue)}.capture-reader{font-size:.8rem;color:var(--color-text-muted)}.capture-excerpt{font-size:.88rem;line-height:1.45;font-style:italic;color:var(--color-charcoal);margin-top:.2rem}.capture-page{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem;display:block}.capture-reading-title{display:block;font-size:.72rem;color:#5a8fb8;font-family:Georgia,serif;margin-bottom:6px;font-style:italic}.capture-selected-text{border-left:2px solid #5A8FB8;padding:4px 10px;margin:0 0 8px;font-style:italic;font-size:.85rem;color:#666;font-family:Georgia,serif}.capture-source-passage{margin:.4rem 0 .3rem;padding:.35rem .6rem;border-left:3px solid var(--color-blue, #5A8FB5);font-size:.8rem;font-style:italic;color:var(--color-charcoal, #2F2F2F);background:var(--color-mist, #F2F0ED);border-radius:0 4px 4px 0}.capture-source-link{display:inline-block;margin-top:.3rem;font-size:.75rem;color:var(--color-blue, #5A8FB5);text-decoration:none;font-family:var(--font-body, sans-serif)}.capture-source-link:hover{text-decoration:underline}.capture-replies-section{margin-top:.4rem;padding-top:.35rem}.replies-toggle{background:none;border:none;font-size:.75rem;color:var(--color-blue);cursor:pointer;padding:0;font-family:var(--font-body);font-weight:600}.replies-toggle:hover{text-decoration:underline}.replies-list{margin-top:.4rem;display:flex;flex-direction:column;gap:.35rem}.reply-item{padding:.35rem 0;border-top:1px solid var(--color-border)}.reply-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.15rem}.reply-author{font-size:.75rem;font-weight:600;color:var(--color-charcoal)}.reply-time{font-size:.68rem;color:var(--color-text-muted)}.reply-delete{background:none;border:none;font-size:.9rem;color:var(--color-text-muted);cursor:pointer;padding:0 .15rem;line-height:1;margin-left:auto}.reply-delete:hover{color:var(--color-error)}.reply-body{font-size:.8rem;line-height:1.4;color:var(--color-charcoal);margin:0}.reply-input-row{display:flex;gap:.35rem;margin-top:.5rem}.reply-input{flex:1;padding:.35rem .5rem;border:1.5px solid var(--color-border);border-radius:2px;font-size:.8rem;font-family:var(--font-body);background:#fff;color:var(--color-charcoal)}.reply-input:focus{outline:none;border-color:var(--color-blue)}.reply-send{padding:.35rem .65rem;border:1.5px solid var(--color-charcoal);border-radius:2px;background:var(--color-charcoal);color:var(--color-cream);font-size:.75rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.reply-send:hover:not(:disabled){background:transparent;color:var(--color-charcoal)}.reply-send:disabled{opacity:.5;cursor:not-allowed}.group-empty-state{color:var(--color-text-muted);font-size:.9rem;font-style:italic;padding:1.5rem 0;text-align:center}.streak-indicator{font-size:.95rem;font-style:italic;color:var(--color-charcoal);margin-bottom:1.25rem}.streak-fire{font-style:normal;font-size:1rem}.streak-indicator.streak-empty{color:var(--color-text-muted);font-weight:400}.depth-map-section{margin-top:2rem;padding:1.25rem;border:1.5px dashed var(--color-border);border-radius:2px}.depth-map-section h4{font-family:var(--font-heading);font-size:.95rem;margin-bottom:.75rem;color:var(--color-charcoal)}.depth-bar{display:flex;height:12px;border-radius:2px;overflow:hidden;width:100%;background:var(--color-border)}.depth-bar-segment{height:100%;transition:flex .3s ease}.depth-bar-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.depth-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--color-text-muted)}.depth-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.depth-map-empty{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.group-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem}.group-tab{padding:.6rem 1.2rem;border:none;background:transparent;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.group-tab:hover{color:var(--color-charcoal)}.group-tab.active{color:var(--color-blue);border-bottom-color:var(--color-blue)}.group-notes-tab{max-width:700px}.wave-divider{width:100%;height:12px;margin:1.5rem 0;opacity:.3}.drawer-header-row{display:flex;justify-content:space-between;align-items:center}.drawer-close-btn{display:none;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem;line-height:1}.drawer-close-btn:hover{color:var(--color-charcoal)}.mobile-notes-fab{display:none}.pinned-question-card{background:#ebf3f8;border:1px solid #5A8FB8;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem}.pinned-question-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--color-charcoal);margin-bottom:.4rem}.pinned-question-text{font-family:var(--font-heading);font-style:italic;font-size:1.05rem;line-height:1.5;color:var(--color-charcoal);margin:0 0 .75rem}.pinned-question-reply{display:flex;align-items:center;gap:.5rem}.pinned-question-input{flex:1;padding:.45rem .6rem;border:1.5px solid var(--color-border);border-radius:2px;font-size:.85rem;font-family:var(--font-body);background:#fff;color:var(--color-charcoal)}.pinned-question-input:focus{outline:none;border-color:var(--color-blue)}.pinned-question-submit{padding:.45rem .85rem;border:1.5px solid var(--color-charcoal);border-radius:2px;background:var(--color-charcoal);color:var(--color-cream);font-size:.8rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.pinned-question-submit:hover:not(:disabled){background:transparent;color:var(--color-charcoal)}.pinned-question-submit:disabled{opacity:.5;cursor:not-allowed}.pinned-question-confirm{font-size:.78rem;color:var(--color-blue);font-weight:600;flex-shrink:0}.mobile-start-group-link{text-align:center;font-size:.8rem;color:var(--color-text-muted);padding-top:3rem;padding-bottom:1rem}.mobile-start-group-link a{color:var(--color-blue);font-weight:600;text-decoration:none}.mobile-start-group-link a:hover{text-decoration:underline}@media(min-width:769px){.mobile-start-group-link{display:none}}@media(max-width:768px){.group-home-content{grid-template-columns:1fr}.group-sidebar{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:70vh;background:var(--color-cream);border:none;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #00000026;transform:translateY(100%);transition:transform .3s ease;z-index:500;padding:0 1rem 1rem;overflow-y:auto}.group-sidebar.open{transform:translateY(0)}.drawer-handle{display:block;width:40px;height:4px;background:#3c3c3c4d;border-radius:2px;margin:.5rem auto;flex-shrink:0}.drawer-close-btn{display:block}.mobile-notes-fab{display:flex;align-items:center;gap:.5rem;position:fixed;bottom:1.25rem;right:1.25rem;padding:.65rem 1.1rem;background:var(--color-charcoal);color:var(--color-cream);border:none;border-radius:2px;font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px 12px #0003;z-index:400;transition:background .15s,box-shadow .15s}.mobile-notes-fab:hover{background:var(--color-blue);box-shadow:0 4px 16px #00000040}.mobile-notes-fab-badge{background:var(--color-gold);color:var(--color-charcoal);font-size:.68rem;font-weight:700;padding:.1rem .4rem;border-radius:10px;min-width:18px;text-align:center}}.curator-dashboard{max-width:800px;margin:0 auto;padding:2rem}.curator-dashboard>h2{font-family:var(--font-heading);font-size:1.6rem;margin-bottom:2rem;letter-spacing:.02em}.curator-section{margin-bottom:2.5rem}.curator-section h3{font-family:var(--font-heading);font-size:1.2rem;border-bottom:none;padding-bottom:.5rem;margin-bottom:1rem;background-image:url("data:image/svg+xml,%3Csvg width='200' height='3' viewBox='0 0 200 3' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 1.5 Q10 0 20 1.5 Q30 3 40 1.5 Q50 0 60 1.5 Q70 3 80 1.5 Q90 0 100 1.5 Q110 3 120 1.5 Q130 0 140 1.5 Q150 3 160 1.5 Q170 0 180 1.5 Q190 3 200 1.5' stroke='%23d9d3cb' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:bottom;background-size:200px 3px}.request-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1.5px solid var(--color-border);border-left:3px solid var(--color-blue);border-radius:2px;padding:1rem;margin-bottom:.75rem;box-shadow:var(--shadow-warm)}.request-info{display:flex;flex-direction:column;gap:.15rem}.request-name{font-weight:600;font-size:.95rem}.request-email{font-size:.85rem;color:var(--color-text-muted)}.request-date{font-size:.8rem;color:var(--color-text-muted)}.request-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-approve{padding:.4rem .8rem;border:1.5px solid var(--color-success);border-radius:2px;background:var(--color-success);color:#fff;font-size:.85rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .2s,color .2s}.btn-approve:hover{background:transparent;color:var(--color-success)}.btn-deny{padding:.4rem .8rem;border:1.5px solid var(--color-text-muted);border-radius:2px;background:transparent;color:var(--color-text-muted);font-size:.85rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .2s,color .2s}.btn-deny:hover{background:var(--color-charcoal);color:var(--color-cream);border-color:var(--color-charcoal)}.add-reading-form{display:flex;flex-direction:column;gap:.75rem;max-width:480px}.add-reading-form label{font-size:.85rem;font-weight:600;color:var(--color-charcoal);margin-bottom:-.25rem}.add-reading-form input[type=text]{padding:.75rem .25rem;border:none;border-bottom:1.5px solid var(--color-border);border-radius:0;font-size:1rem;font-family:var(--font-body);background:transparent;color:var(--color-charcoal);transition:border-color .2s}.add-reading-form input[type=text]:focus{outline:none;border-bottom-color:var(--color-blue);box-shadow:none}.add-reading-form input[type=file]{font-size:.9rem;font-family:var(--font-body);color:var(--color-charcoal)}.add-reading-form button[type=submit]{margin-top:.5rem;border:1.5px solid var(--color-charcoal);border-radius:2px;background:var(--color-charcoal);color:var(--color-cream);font-size:1rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .2s,color .2s;align-self:flex-start;padding:.75rem 1.5rem}.add-reading-form button[type=submit]:hover:not(:disabled){background:transparent;color:var(--color-charcoal)}.add-reading-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.curator-success{background:#eafaf1;color:var(--color-success);padding:.75rem;border-radius:2px;font-size:.9rem;text-align:center}.curator-empty{color:var(--color-text-muted);font-size:.9rem;font-style:italic;padding:.5rem 0}.curator-divider{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.media-type-selector{display:flex;gap:.5rem}.media-type-btn{padding:.5rem 1rem;border:1.5px solid var(--color-border);border-radius:2px;background:#fff;font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:border-color .2s,background .2s;color:var(--color-charcoal)}.media-type-btn:hover{border-color:var(--color-blue)}.media-type-btn.active{border-color:var(--color-blue);background:var(--color-mist);color:var(--color-blue)}.create-group-btn{display:inline-block;padding:.6rem 1.2rem;border:1.5px solid var(--color-blue);border-radius:2px;background:transparent;color:var(--color-blue);font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;margin-bottom:1.5rem;transition:background .15s,color .15s}.create-group-btn:hover{background:var(--color-blue);color:#fff}.create-group-form{display:flex;flex-direction:column;gap:.6rem;max-width:480px;margin-bottom:1.5rem;padding:1rem;border:1.5px solid var(--color-border);border-radius:2px;background:#fff}.create-group-form label{font-size:.85rem;font-weight:600;color:var(--color-charcoal)}.create-group-form input,.create-group-form textarea{padding:.5rem .25rem;border:none;border-bottom:1.5px solid var(--color-border);border-radius:0;font-size:.95rem;font-family:var(--font-body);background:transparent;color:var(--color-charcoal);resize:vertical}.create-group-form input:focus,.create-group-form textarea:focus{outline:none;border-bottom-color:var(--color-blue)}.create-group-actions{display:flex;gap:.5rem;margin-top:.25rem}.curator-index{max-width:700px;margin:0 auto;padding:2rem}.curator-index>h2{font-family:var(--font-heading);font-size:1.6rem;margin-bottom:.25rem}.curator-index>p{color:var(--color-text-muted);margin-bottom:2rem}.curator-group-list{display:flex;flex-direction:column;gap:1rem}.curator-group-card{background:#fff;border:1.5px solid var(--color-border);border-radius:2px;padding:1.25rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:box-shadow .2s,transform .2s;box-shadow:var(--shadow-warm)}.curator-group-card:hover{box-shadow:var(--shadow-warm-hover);transform:translateY(-1px)}.curator-group-card h3{font-family:var(--font-heading);font-size:1.15rem}.curator-pending-badge{background:var(--color-error);color:#fff;font-size:.75rem;font-weight:700;min-width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:0 8px}.curator-pending-none{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.reading-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.reading-row:last-child{border-bottom:none}.reading-row-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.reading-row-title{font-weight:600;font-size:.95rem;color:var(--color-charcoal)}.reading-row-author{font-size:.8rem;color:var(--color-text-muted)}.reading-row-actions{display:flex;gap:.35rem;flex-shrink:0}.reading-icon-btn{background:none;border:1.5px solid var(--color-border);border-radius:2px;padding:.3rem .5rem;font-size:.9rem;cursor:pointer;color:var(--color-charcoal);transition:border-color .15s,color .15s;line-height:1}.reading-icon-btn:hover{border-color:var(--color-blue);color:var(--color-blue)}.reading-icon-btn-danger:hover{border-color:var(--color-error);color:var(--color-error)}.reading-delete-confirm{background:#fef5f5}.reading-edit-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1.5px solid var(--color-blue);border-radius:2px;margin-bottom:.75rem;background:#fff}.reading-edit-card label{font-size:.8rem;font-weight:600;color:var(--color-charcoal);margin-bottom:-.25rem}.reading-edit-card input,.reading-edit-card select{padding:.5rem .25rem;border:none;border-bottom:1.5px solid var(--color-border);border-radius:0;font-size:.95rem;font-family:var(--font-body);background:transparent;color:var(--color-charcoal)}.reading-edit-card input:focus,.reading-edit-card select:focus{outline:none;border-bottom-color:var(--color-blue)}.reading-edit-actions{display:flex;gap:.5rem;margin-top:.25rem}.reading-row-dragging{opacity:.5}.reading-row-dragover{border-top:2px solid #5A8FB5}.reading-drag-handle{cursor:grab;font-size:1rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;padding:.2rem .3rem;line-height:1}.reading-drag-handle:active{cursor:grabbing}.save-order-btn{margin-top:.75rem;padding:.5rem 1.2rem;border:1.5px solid var(--color-blue);border-radius:2px;background:var(--color-blue);color:#fff;font-size:.85rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s}.save-order-btn:hover:not(:disabled){background:transparent;color:var(--color-blue)}.save-order-btn:disabled{opacity:.5;cursor:not-allowed}.engagement-header{margin-bottom:1.5rem}.engagement-back{font-size:.85rem;color:var(--color-blue);text-decoration:none;display:inline-block;margin-bottom:.5rem}.engagement-back:hover{text-decoration:underline}.engagement-link{display:inline-block;font-size:.9rem;color:var(--color-blue);text-decoration:none;font-weight:600;margin-top:.25rem}.engagement-link:hover{text-decoration:underline}.engagement-table-wrapper{overflow-x:auto}.engagement-table{width:100%;border-collapse:collapse;font-size:.9rem}.engagement-table thead{border-bottom:2px solid var(--color-border)}.engagement-table th{text-align:left;padding:.65rem .75rem;font-family:var(--font-heading);font-size:.85rem;color:var(--color-charcoal);white-space:nowrap}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--color-blue)}.engagement-table td{padding:.6rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-charcoal)}.engagement-table tbody tr:hover{background:var(--color-mist)}.engagement-name{font-weight:600}.engagement-role{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:.15rem .45rem;border-radius:2px}.engagement-role.reader{background:var(--color-mist);color:var(--color-blue)}.engagement-role.curator{background:#eafaf1;color:var(--color-success)}.engagement-date{color:var(--color-text-muted);font-size:.85rem}.engagement-empty{text-align:center;color:var(--color-text-muted);font-style:italic;padding:2rem 0}.qotd-current{background:#fdf8ef;border:1.5px solid var(--color-gold);border-radius:2px;padding:.85rem 1rem;margin-bottom:.75rem}.qotd-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--color-gold)}.qotd-text{font-size:.95rem;color:var(--color-charcoal);line-height:1.45;margin:.25rem 0 0}.qotd-form{display:flex;flex-direction:column;gap:.5rem;max-width:480px}.qotd-input{padding:.6rem .5rem;border:1.5px solid var(--color-border);border-radius:2px;font-size:.95rem;font-family:var(--font-body);color:var(--color-charcoal);resize:vertical;background:#fff}.qotd-input:focus{outline:none;border-color:var(--color-blue)}.qotd-pin-btn{align-self:flex-start;padding:.5rem 1rem;border:1.5px solid var(--color-gold);border-radius:2px;background:var(--color-gold);color:var(--color-charcoal);font-size:.85rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s}.qotd-pin-btn:hover:not(:disabled){background:transparent;color:var(--color-gold)}.qotd-pin-btn:disabled{opacity:.5;cursor:not-allowed}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.reading-viewer{max-width:900px;margin:0 auto;padding:1.5rem 2rem;transition:max-width .25s ease}.reading-viewer.panel-open{max-width:1200px}.reading-viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.reading-back-btn{padding:.35rem .75rem;border:1.5px solid var(--color-charcoal);border-radius:2px;background:transparent;color:var(--color-charcoal);cursor:pointer;font-size:.85rem;font-family:var(--font-body);white-space:nowrap;transition:background .15s,color .15s}.reading-back-btn:hover{background:var(--color-charcoal);color:var(--color-cream)}.reading-title-block{text-align:center;flex:1;min-width:0}.reading-title-block h2{font-family:var(--font-heading);font-size:1.3rem;font-style:italic;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reading-author-label{color:var(--color-text-muted);font-size:.85rem;font-style:normal}.reading-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.reading-page-indicator{color:var(--color-text-muted);font-size:.85rem;white-space:nowrap}.zoom-bar{display:none;justify-content:center;align-items:center;gap:.75rem;padding:.4rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--color-border)}.zoom-btn{padding:.3rem .65rem;border:1.5px solid var(--color-border);border-radius:2px;background:transparent;color:var(--color-charcoal);cursor:pointer;font-size:.85rem;font-family:var(--font-body);font-weight:600;line-height:1;transition:background .15s,border-color .15s}.zoom-btn:hover:not(:disabled){border-color:var(--color-blue);background:var(--color-mist)}.zoom-btn:disabled{opacity:.35;cursor:not-allowed}.zoom-scale-indicator{font-size:.8rem;color:var(--color-text-muted);min-width:2.5em;text-align:center;font-weight:600}.depth-pill-wrapper{position:relative;display:flex;align-items:center}.depth-pill{display:flex;width:120px;height:8px;border-radius:2px;overflow:hidden;background:var(--color-border)}.depth-pill-segment{height:100%}.depth-pill-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--color-charcoal);color:#fff;padding:.4rem .6rem;border-radius:6px;font-size:.72rem;white-space:nowrap;z-index:210;box-shadow:0 2px 8px #0003;flex-direction:column;gap:.15rem}.depth-pill-wrapper:hover .depth-pill-tooltip{display:flex}.notes-toggle-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border:1.5px solid var(--color-border);border-radius:2px;background:transparent;color:var(--color-charcoal);cursor:pointer;font-size:.82rem;font-family:var(--font-body);transition:background .15s,border-color .15s}.notes-toggle-btn:hover{border-color:var(--color-blue);background:var(--color-mist)}.notes-toggle-btn.active{background:var(--color-mist);border-color:var(--color-blue);color:var(--color-blue)}.notes-count{background:var(--color-blue);color:#fff;font-size:.68rem;font-weight:700;padding:.1rem .4rem;border-radius:10px;min-width:18px;text-align:center}.reading-body{display:flex;gap:1.5rem;align-items:flex-start}.reading-main{flex:1;min-width:0}.reading-pdf-container{display:flex;justify-content:center;position:relative;min-height:500px;overflow:hidden;transition:transform .15s ease;width:100%}.reading-pdf-container .react-pdf__Document{display:flex;justify-content:center}.reading-pdf-container .react-pdf__Page{box-shadow:0 2px 12px #00000014;border-radius:2px;position:relative}.pdf-loading,.pdf-error{text-align:center;color:var(--color-text-muted);padding:4rem 0}.highlight-overlay{position:absolute;opacity:.35;pointer-events:auto;cursor:default;border-radius:2px;z-index:5;transition:opacity .12s}.highlight-overlay:hover{opacity:.55}.highlight-overlay.preview{opacity:.35;pointer-events:none;z-index:6;box-shadow:0 0 0 1.5px #00000026}.overlay-tooltip{position:fixed;z-index:210;background:var(--color-charcoal);color:#fff;padding:.4rem .6rem;border-radius:6px;font-size:.78rem;max-width:220px;display:flex;flex-direction:column;gap:.15rem;box-shadow:0 2px 8px #0003;pointer-events:none}.overlay-tooltip-type{text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.04em;opacity:.8}.overlay-tooltip-note{font-style:italic;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.reading-nav-controls{display:flex;justify-content:center;align-items:center;gap:1.25rem;padding:1.25rem 0}.reading-nav-btn{padding:.5rem 1.25rem;border:1.5px solid var(--color-charcoal);border-radius:2px;background:transparent;color:var(--color-charcoal);cursor:pointer;font-size:1rem;font-family:var(--font-body);transition:background .15s,color .15s;letter-spacing:.05em}.reading-nav-btn:hover:not(:disabled){background:var(--color-charcoal);color:var(--color-cream)}.reading-nav-btn:disabled{opacity:.35;cursor:not-allowed}.reading-nav-page{font-size:.9rem;color:var(--color-charcoal);min-width:120px;text-align:center}.captures-panel{width:280px;flex-shrink:0;background:#fff;border:1.5px solid var(--color-border);border-radius:2px;max-height:calc(100vh - 160px);overflow-y:auto;position:sticky;top:80px;box-shadow:var(--shadow-warm)}.captures-panel:not(.open){display:none}.drawer-handle{display:none}.captures-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:#fff;z-index:2;border-radius:2px 2px 0 0}.captures-panel-header h3{font-family:var(--font-heading);font-size:1rem;margin:0}.captures-panel-close{background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem;line-height:1}.captures-panel-close:hover{color:var(--color-charcoal)}.panel-mode-toggle{display:flex;gap:0;padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}.panel-mode-btn{flex:1;padding:.3rem .5rem;border:1px solid var(--color-border);background:transparent;color:var(--color-charcoal);font-size:.75rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.panel-mode-btn:first-child{border-radius:4px 0 0 4px;border-right:none}.panel-mode-btn:last-child{border-radius:0 4px 4px 0}.panel-mode-btn.active{background:var(--color-blue);border-color:var(--color-blue);color:#fff}.panel-mode-btn:not(.active):hover{background:var(--color-mist);border-color:var(--color-blue)}.panel-capture-author{display:block;font-size:.68rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.15rem}.panel-capture-card.own-capture{border-left:3px solid var(--color-gold);padding-left:calc(.25rem + 3px)}.panel-loading,.panel-empty{padding:1rem;font-size:.85rem;color:var(--color-text-muted);text-align:center}.captures-panel-list{padding:.5rem 0}.panel-page-group{padding:0 .75rem}.panel-page-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--color-text-muted);padding:.6rem 0 .3rem;border-bottom:1px solid #f0f0f0;margin-bottom:.35rem}.panel-capture-card{display:flex;align-items:flex-start;gap:.25rem;padding:.55rem .25rem;border-bottom:1px solid #f5f5f5;border-radius:4px;transition:background .12s;font-family:var(--font-body)}.panel-capture-card:hover{background:var(--color-mist)}.panel-capture-card.current-page{background:#fdf8ef}.panel-capture-body{flex:1;min-width:0;cursor:pointer;text-align:left;background:none;border:none;padding:0}.panel-capture-actions{flex-shrink:0;display:flex;align-items:center}.panel-delete-btn{background:none;border:none;font-size:1.1rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:.1rem .3rem;border-radius:4px;opacity:0;transition:opacity .12s,color .12s,background .12s}.panel-capture-card:hover .panel-delete-btn{opacity:1}.panel-delete-btn:hover{color:var(--color-error);background:#c0392b14}.delete-confirm{display:flex;align-items:center;gap:.3rem;font-size:.72rem;white-space:nowrap}.delete-confirm-label{color:var(--color-text-muted);font-weight:600}.delete-yes,.delete-no{background:none;border:none;cursor:pointer;font-size:.72rem;font-weight:600;padding:.1rem .25rem;border-radius:3px;font-family:var(--font-body)}.delete-yes{color:var(--color-error)}.delete-yes:hover{background:#c0392b1a}.delete-no{color:var(--color-text-muted)}.delete-no:hover{background:#0000000d}.panel-capture-top{display:flex;align-items:center;gap:.35rem;margin-bottom:.25rem}.panel-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.panel-type-badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--color-blue)}.panel-capture-text{font-size:.82rem;line-height:1.4;color:var(--color-charcoal);margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-style:italic}.panel-capture-note{font-size:.78rem;line-height:1.35;color:var(--color-text-muted);margin:.2rem 0 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.annotation-toolbar{position:fixed;z-index:200;background:var(--color-cream);border:1.5px solid var(--color-border);border-radius:2px;padding:.75rem;box-shadow:var(--shadow-warm-hover);width:300px;display:flex;flex-direction:column;gap:.5rem}.annotation-types{display:flex;gap:.25rem;flex-wrap:wrap}.annotation-type-btn{padding:.3rem .5rem;border-radius:2px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-family:var(--font-body);border:1.5px solid var(--color-border);background:transparent;color:var(--color-charcoal);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.annotation-type-btn:hover{background:var(--color-mist)}.annotation-type-btn.active{background:var(--color-mist);border-color:var(--color-blue);color:var(--color-blue)}.annotation-colors{display:flex;gap:.4rem}.annotation-color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .12s,box-shadow .12s;padding:0}.annotation-color-swatch:hover{box-shadow:0 0 0 2px #00000014}.annotation-color-swatch.active{border-color:var(--color-charcoal);box-shadow:0 0 0 2px #0000001a}.annotation-note{padding:.5rem;border:1.5px solid var(--color-border);border-radius:2px;font-family:var(--font-body);font-size:.85rem;resize:vertical;min-height:40px;background:#fff}.annotation-note:focus{outline:none;border-color:var(--color-blue)}.annotation-save-btn{padding:.5rem 1rem;background:var(--color-charcoal);color:var(--color-cream);border:1.5px solid var(--color-charcoal);border-radius:2px;font-weight:600;font-size:.85rem;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s}.annotation-save-btn:hover:not(:disabled){background:transparent;color:var(--color-charcoal)}.annotation-save-btn:disabled{opacity:.6;cursor:not-allowed}.add-note-btn{display:flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border:1.5px solid var(--color-blue);border-radius:2px;background:transparent;color:var(--color-blue);cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-body);white-space:nowrap;transition:background .15s,color .15s}.add-note-btn:hover{background:var(--color-blue);color:var(--color-cream)}.manual-entry-backdrop{position:fixed;inset:0;background:#0006;z-index:300;display:flex;align-items:center;justify-content:center;padding:1rem}.manual-entry-modal{background:var(--color-cream);border:1.5px solid var(--color-border);border-radius:2px;padding:1.5rem;width:100%;max-width:440px;max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:var(--shadow-warm-hover);display:flex;flex-direction:column;gap:1rem}.manual-entry-header{display:flex;justify-content:space-between;align-items:center}.manual-entry-header h3{font-family:var(--font-heading);font-size:1.15rem;margin:0;color:var(--color-charcoal)}.manual-entry-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem;line-height:1;transition:color .12s}.manual-entry-close:hover{color:var(--color-charcoal)}.manual-entry-field{display:flex;flex-direction:column;gap:.35rem}.manual-entry-field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--color-text-muted)}.manual-entry-textarea{padding:.5rem;border:1.5px solid var(--color-border);border-radius:2px;font-family:var(--font-body);font-size:.85rem;resize:vertical;min-height:40px;background:#fff;color:var(--color-charcoal)}.manual-entry-textarea:focus{outline:none;border-color:var(--color-blue)}.manual-entry-page-input{width:80px;padding:.4rem .5rem;border:1.5px solid var(--color-border);border-radius:2px;font-family:var(--font-body);font-size:.85rem;background:#fff;color:var(--color-charcoal)}.manual-entry-page-input:focus{outline:none;border-color:var(--color-blue)}.manual-entry-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.25rem}.manual-entry-cancel{padding:.5rem 1rem;border:1.5px solid var(--color-border);border-radius:2px;background:transparent;color:var(--color-charcoal);font-weight:600;font-size:.85rem;font-family:var(--font-body);cursor:pointer;transition:background .15s,border-color .15s}.manual-entry-cancel:hover{background:#fff;border-color:var(--color-charcoal)}.manual-entry-save{padding:.5rem 1.25rem;background:var(--color-charcoal);color:var(--color-cream);border:1.5px solid var(--color-charcoal);border-radius:2px;font-weight:600;font-size:.85rem;font-family:var(--font-body);cursor:pointer;transition:background .15s,color .15s}.manual-entry-save:hover:not(:disabled){background:transparent;color:var(--color-charcoal)}.manual-entry-save:disabled{opacity:.5;cursor:not-allowed}.upload-photo-btn{display:flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border:1.5px solid var(--color-blue);border-radius:2px;background:transparent;color:var(--color-blue);cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-body);white-space:nowrap;transition:background .15s,color .15s}.upload-photo-btn:hover{background:var(--color-blue);color:var(--color-cream)}.photo-upload-modal{max-width:560px}.photo-error{background:#c0392b14;color:var(--color-error);font-size:.85rem;padding:.5rem .75rem;border-radius:6px;border:1px solid rgba(192,57,43,.15)}.photo-file-input{font-family:var(--font-body);font-size:.85rem;color:var(--color-charcoal)}.photo-file-input::file-selector-button{padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:4px;background:#fff;color:var(--color-charcoal);font-family:var(--font-body);font-size:.82rem;cursor:pointer;margin-right:.75rem;transition:background .12s,border-color .12s}.photo-file-input::file-selector-button:hover{background:var(--color-mist);border-color:var(--color-blue)}.photo-preview-container{text-align:center}.photo-preview{max-height:200px;max-width:100%;border-radius:6px;border:1px solid var(--color-border);object-fit:contain}.photo-processing{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 0;color:var(--color-text-muted);font-size:.9rem}.photo-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-blue);border-radius:50%;animation:photo-spin .8s linear infinite}@keyframes photo-spin{to{transform:rotate(360deg)}}.photo-review-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.photo-review-count{font-size:.85rem;font-weight:600;color:var(--color-charcoal)}.photo-review-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding-right:.25rem}.photo-review-card{position:relative;background:#fff;border:1.5px solid var(--color-border);border-radius:2px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.photo-review-remove{position:absolute;top:.35rem;right:.35rem;background:none;border:none;font-size:1.1rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:0 .25rem;border-radius:4px;transition:color .12s,background .12s}.photo-review-remove:hover{color:var(--color-error);background:#c0392b14}.review-text{padding:.4rem;border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:.85rem;resize:vertical;min-height:36px;color:var(--color-charcoal);font-style:italic}.review-text:focus{outline:none;border-color:var(--color-blue)}.review-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.review-type-row{display:flex;gap:.2rem;flex-wrap:wrap}.review-type-row .annotation-type-btn{font-size:.65rem;padding:.2rem .4rem}.review-page-row{display:flex;align-items:center;gap:.35rem}.review-page-row label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--color-text-muted)}.review-page-row .manual-entry-page-input{width:60px;padding:.25rem .4rem;font-size:.8rem}.review-note{padding:.35rem;border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:.8rem;resize:vertical;min-height:28px;color:var(--color-text-muted)}.review-note:focus{outline:none;border-color:var(--color-blue)}.photo-review-empty{text-align:center;color:var(--color-text-muted);font-size:.85rem;padding:.5rem 0}@media(max-width:768px){.reading-viewer{padding:1rem}.reading-viewer-header{flex-direction:column;align-items:flex-start;gap:.5rem}.reading-header-right{align-self:flex-end}.reading-title-block{text-align:left}.reading-title-block h2{font-size:1.1rem;white-space:normal}.zoom-bar{display:flex}.reading-body{flex-direction:column}.captures-panel{display:flex!important;flex-direction:column;position:fixed;inset:auto 0 0;width:100%;max-height:70vh;background:var(--color-cream);border:none;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #00000026;transform:translateY(100%);transition:transform .3s ease;z-index:500}.captures-panel.open{transform:translateY(0)}.drawer-handle{display:block;width:40px;height:4px;background:#3c3c3c4d;border-radius:2px;margin:.5rem auto 0;flex-shrink:0}.annotation-toolbar{width:calc(100vw - 2rem);left:1rem!important}.manual-entry-modal{max-width:100%;padding:1.25rem}.photo-upload-modal{max-width:100%}.photo-review-list{max-height:300px}.review-meta{flex-direction:column}}.header-page-controls{display:flex;align-items:center;gap:8px}.header-nav-btn{background:none;border:1.5px solid #3D4852;color:#3d4852;padding:4px 12px;border-radius:4px;font-family:Georgia,serif;font-size:.85rem;cursor:pointer;opacity:.7;transition:opacity .15s}.header-nav-btn:hover:not(:disabled){opacity:1}.header-nav-btn:disabled{opacity:.25;cursor:default}.header-page-indicator{font-family:Georgia,serif;font-size:.85rem;color:#3d4852;min-width:60px;text-align:center}.media-viewer{display:flex;flex-direction:column;height:calc(100vh - 56px)}.media-viewer.panel-open .media-main{flex:1;min-width:0}.media-viewer-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;border-bottom:1.5px solid var(--color-border);background:var(--color-cream);flex-shrink:0}.media-body{display:flex;flex:1;overflow:hidden}.media-main{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem}.media-embed-container{width:100%;max-width:900px}.media-youtube-wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;border-radius:8px;overflow:hidden;background:#000}.media-youtube-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.media-podcast-iframe{border-radius:8px;width:100%;max-width:900px}.media-fallback{text-align:center;padding:3rem 2rem;background:#fff;border:1.5px solid var(--color-border);border-radius:2px;max-width:900px;width:100%;box-shadow:var(--shadow-warm)}.media-fallback-icon{font-size:2.5rem;margin-bottom:.5rem}.media-fallback p{color:var(--color-charcoal);font-size:1rem;margin-bottom:.75rem}.media-fallback a{color:var(--color-blue);text-decoration:none;font-weight:600;font-size:1rem}.media-fallback a:hover{text-decoration:underline}.media-info{text-align:center;margin-top:1.5rem;max-width:900px;width:100%}.media-info h3{font-family:var(--font-heading);font-size:1.3rem;margin-bottom:.25rem}.media-info p{color:var(--color-text-muted);font-size:.95rem}@media(max-width:640px){.media-viewer-header{flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem}.media-main{padding:1rem}}.web-reader{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.web-reader-header{height:48px;background:#3d4852;color:#f7f4f0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0;z-index:100}.web-reader-back{background:none;border:none;color:#f7f4f0;font-family:Georgia,serif;cursor:pointer;font-size:.9rem}.web-reader-title{font-family:Georgia,serif;font-size:.85rem;flex:1;text-align:center;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.web-reader-add-note{background:#5a8fb8;border:none;color:#f7f4f0;padding:6px 12px;border-radius:4px;font-family:Georgia,serif;cursor:pointer;font-size:.85rem}.web-reader-add-note:hover{background:#4a7fa5}.web-reader-iframe{flex:1;border:none;width:100%;min-height:0;display:block}.web-reader-blocked{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center;font-family:Georgia,serif;color:#3d4852}.web-reader-open-btn{background:#5a8fb8;color:#f7f4f0;border:none;padding:10px 20px;border-radius:4px;font-family:Georgia,serif;cursor:pointer;font-size:.95rem}.web-reader-open-btn:hover{background:#4a7fa5}.web-note-backdrop{position:fixed;inset:0;background:#00000073;z-index:200;display:flex;align-items:flex-end;justify-content:center}.web-note-modal{background:#f7f4f0;border-radius:12px 12px 0 0;width:100%;max-width:520px;max-height:80vh;overflow-y:auto;padding:20px 20px 28px;box-shadow:0 -4px 24px #00000026}.web-note-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.web-note-header h3{font-family:Georgia,serif;font-size:1rem;color:#2f2f2f;margin:0}.web-note-close{background:none;border:none;font-size:1.4rem;color:#999;cursor:pointer;line-height:1}.web-note-close:hover{color:#2f2f2f}.web-note-field{margin-bottom:14px}.web-note-field label{display:block;font-family:Georgia,serif;font-size:.8rem;color:#6b7280;margin-bottom:4px}.web-note-textarea{width:100%;border:1.5px solid #D1C9BE;border-radius:6px;padding:10px;font-family:Georgia,serif;font-size:.88rem;color:#2f2f2f;background:#fff;resize:vertical;box-sizing:border-box}.web-note-textarea:focus{outline:none;border-color:#5a8fb5}.web-note-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.web-note-cancel{background:none;border:1.5px solid #D1C9BE;color:#3d4852;padding:8px 16px;border-radius:6px;font-family:Georgia,serif;font-size:.85rem;cursor:pointer}.web-note-cancel:hover{background:#f2f0ed}.web-note-save{background:#5a8fb5;color:#f7f4f0;border:none;padding:8px 16px;border-radius:6px;font-family:Georgia,serif;font-size:.85rem;cursor:pointer}.web-note-save:hover:not(:disabled){background:#4a7fa5}.web-note-save:disabled{opacity:.5;cursor:not-allowed}.web-note-success{color:#16a34a;font-family:Georgia,serif;font-size:.85rem;text-align:center;padding:12px}@media(min-width:640px){.web-note-backdrop{align-items:center}.web-note-modal{border-radius:12px;max-height:70vh}}.app{min-height:100vh}
