/* Оформление поверх контента: защита текста книги от выделения,
   оглавление книги, стеклянные карточки, микроанимации и свечения.
   Лежат вместе, потому что идут подряд и переопределяют правила
   из app.css — разносить их по темам значит менять каскад. */
/* === Книга: защита от копирования === */
.book-page-wrap{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}
.book-page-wrap img{pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

/* === Оглавление книги === */
.book-toc-panel{max-height:50vh;overflow-y:auto;margin:0 16px 12px;background:rgba(0,0,0,0.3);border:1px solid var(--border);border-radius:14px;padding:8px 0}
.toc-list{font-size:13px}
.toc-part{border-bottom:1px solid rgba(255,255,255,0.05)}
.toc-part:last-child{border-bottom:none}
.toc-part-title{padding:10px 14px;color:var(--text);font-weight:bold;letter-spacing:1px;cursor:pointer;font-size:12px}
.toc-part-title:hover{background:rgba(212,175,55,0.1)}
.toc-part-items{display:none;padding-left:8px}
.toc-part.open>.toc-part-items{display:block}
.toc-chapter-title{padding:8px 14px;color:var(--text);cursor:pointer;font-size:13px}
.toc-chapter-title:hover{background:rgba(212,175,55,0.08)}
.toc-chapter-items{display:none;padding-left:12px}
.toc-chapter.open>.toc-chapter-items{display:block}
.toc-dar,.toc-item{padding:7px 14px;color:var(--text-dim);cursor:pointer;font-size:12px;border-radius:6px;margin:2px 4px}
.toc-dar:hover,.toc-item:hover{background:rgba(212,175,55,0.1);color:var(--text)}
.toc-locked{opacity:0.4;cursor:default}
.toc-locked:hover{background:none;color:var(--text-dim)}

/* Десктоп: sidebar оглавления */
@media(min-width:768px){
  .book-toc-panel{max-height:70vh}
}
  
/* === Glass Cards === */
.profile-section{background:var(--surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-bright);transition:all .3s}
.profile-section:hover{border-color:rgba(212,175,55,0.4)}
.result-card{background:var(--surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-bright);box-shadow:0 0 30px rgba(212,175,55,0.1)}
.field-folder{background:var(--surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.dar-card{background:var(--surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.dar-inner-content{background:var(--surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.treasury-card{background:var(--surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.accordion-item{border:1px solid var(--border-bright);overflow:hidden}
.accordion-header:hover{background:rgba(212,175,55,0.08)}
.accordion-header.open{background:rgba(212,175,55,0.12)}

/* === Micro-animations === */
.nav-btn{transition:all .25s cubic-bezier(0.4,0,0.2,1)}
.nav-btn:active{transform:scale(0.92)}
.nav-btn.active .nav-icon svg{filter:drop-shadow(0 0 6px rgba(212,175,55,0.6))}
.profile-section{transition:all .3s ease}
.field-folder:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.15)}
.dar-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.15)}
.treasury-unlocked:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(212,175,55,0.2)}
.btn:hover:not(:disabled){transform:translateY(-2px)}
.btn:active:not(:disabled){transform:translateY(0) scale(0.98)}
#crystal-counter{transition:all .3s;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#btn-profile{transition:all .3s cubic-bezier(0.4,0,0.2,1)}
#btn-profile:hover{transform:scale(1.1);box-shadow:0 0 20px rgba(212,175,55,0.5)}
header h1{background:linear-gradient(135deg,#E8C84A,#D4AF37,#9A7B1A);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;font-size:16px;letter-spacing:4px}

/* === Glow effects === */
.btn-primary,.btn-secondary{position:relative;overflow:hidden}
.btn-primary::after,.btn-secondary::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.2),transparent 60%);opacity:0;transition:opacity .3s}
.btn-primary:hover::after,.btn-secondary:hover::after{opacity:1}
.nav-btn.active{box-shadow:0 0 12px rgba(212,175,55,0.2) inset}
.date-input{transition:border-color .3s,box-shadow .3s,transform .2s}
.date-input:focus{transform:scale(1.01)}
@keyframes goldPulse{0%,100%{box-shadow:0 0 8px rgba(212,175,55,0.2)}50%{box-shadow:0 0 20px rgba(212,175,55,0.4)}}
.treasury-own{animation:goldPulse 3s ease-in-out infinite}
