.site-header { border-bottom-color: rgba(255,255,255,.08); }
.welcome-card { border-radius: 18px; box-shadow: 0 18px 50px rgba(0,0,0,.22); }
.material-card { border-radius: 16px; box-shadow: 0 10px 26px rgba(0,0,0,.16); }
.material-card:hover { box-shadow: 0 22px 44px rgba(0,0,0,.42); }
.cover { border-radius: 15px 15px 0 0; }
.card-action, .button { border-radius: 10px; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.card-action:hover, .button-primary:hover { box-shadow: 0 8px 20px rgba(212,168,67,.24); }
.premium-section { border-radius: 24px 24px 0 0; margin-left: clamp(.75rem,2vw,2rem); margin-right: clamp(.75rem,2vw,2rem); }
.premium-card { border-radius: 16px; }
.search-panel input, .search-panel button { border-radius: 10px; }
.access-list { border-radius: 14px; background: rgba(0,0,0,.12); padding: .5rem 1.1rem; }
.premium-card.is-locked .premium-cover::after { background: linear-gradient(135deg, rgba(0,0,0,.25), rgba(0,0,0,.72)); }
.premium-card.is-locked .lock { position: absolute !important; z-index: 5; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(240,198,106,.85); background: rgba(8,8,8,.78); color: #f0c66a; font-size: 1.65rem; box-shadow: 0 0 0 8px rgba(0,0,0,.16), 0 14px 32px rgba(0,0,0,.45); }
.premium-card.is-locked .locked-action { cursor: not-allowed; color: #d9ba70; border-color: rgba(212,168,67,.46); }
.premium-card.is-unlocked .premium-cover img { transition: filter .25s ease, transform .25s ease; }
.premium-card.is-unlocked:hover .premium-cover img { transform: scale(1.04); }
.lock-shell { position: relative; width: min(430px, 100%); padding: 2.4rem; text-align: center; border: 1px solid rgba(212,168,67,.65); border-radius: 20px; background: linear-gradient(145deg, #242424, #111); box-shadow: 0 30px 90px rgba(0,0,0,.68); }
.lock-shell > .close-reader { position: absolute; right: .85rem; top: .55rem; }
.lock-icon { width: 82px; height: 82px; display: grid; place-items: center; margin: 0 auto 1.25rem; border: 1px solid #f0c66a; border-radius: 50%; background: rgba(212,168,67,.09); font-size: 2rem; }
.lock-shell h2 { margin: .25rem 0 .75rem; }
.lock-shell p:not(.eyebrow) { color: #c8c8c8; line-height: 1.55; font-size: .9rem; }
.lock-shell .button { margin-top: 1rem; }
.profile-button,.signout-button { border:1px solid rgba(255,255,255,.2); border-radius:9px; background:transparent; color:#e9e9e9; padding:.52rem .72rem; font:700 .68rem/1 Inter,ui-sans-serif,system-ui,sans-serif; cursor:pointer; transition:border-color .18s ease, color .18s ease, background .18s ease; }
.profile-button:hover { border-color:#d4a843; color:#f0c66a; }
.signout-button:hover { border-color:#c46a5f; color:#f19a8e; background:rgba(180,55,42,.12); }
.profile-shell { position:relative; width:min(440px,100%); padding:2.4rem; border:1px solid rgba(212,168,67,.65); border-radius:20px; background:linear-gradient(145deg,#242424,#111); box-shadow:0 30px 90px rgba(0,0,0,.68); }
.profile-shell>.close-reader { position:absolute; right:.85rem; top:.55rem; }
.profile-shell h2 { margin:.3rem 0 .6rem; }
.profile-shell p:not(.eyebrow) { color:#c8c8c8; line-height:1.5; font-size:.88rem; }
.profile-shell form { display:grid; gap:.52rem; margin-top:1.35rem; }
.profile-shell label { color:#ececec; font-size:.75rem; font-weight:700; }
.profile-shell input { width:100%; border:1px solid rgba(255,255,255,.2); border-radius:10px; background:#0b0b0b; color:#fff; padding:.78rem .88rem; font:inherit; }
.profile-shell input:focus { outline:2px solid rgba(240,198,106,.65); outline-offset:2px; border-color:#d4a843; }
.profile-shell .button { margin-top:.55rem; }
#profile-feedback { min-height:1.2em; color:#f0c66a; font-size:.8rem; }
body.auth-route .site-header,body.auth-route main,body.auth-route .bottom-nav,body.library-pending .site-header,body.library-pending main,body.library-pending .bottom-nav { display:none!important; }
body.auth-route .auth-modal { z-index:100; background:radial-gradient(circle at 50% 15%,rgba(212,168,67,.12),transparent 35rem),#080808; }
body.auth-route .auth-shell { width:min(440px,100%); border-radius:20px; }
body.auth-route #close-auth { display:none; }
@media(max-width:800px) { .profile-button { display:none; } .signout-button { font-size:0; min-width:32px; height:32px; padding:0; border-radius:50%; } .signout-button:after { content:'↪'; font-size:1rem; } .profile-shell { padding:2rem 1.35rem; } }
@media (max-width:800px) { .premium-section { margin-left: 0; margin-right: 0; border-radius: 18px 18px 0 0; } .material-card { border-radius: 14px; } }
@media (prefers-reduced-motion: reduce) { .material-card, .card-action, .button { transition: none; } }
