.publication-shell{border:1px solid var(--border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);border-radius:20px;overflow:hidden}.publication-hero{text-align:center;border-bottom:1px solid var(--border);padding:36px 28px 28px;position:relative;overflow:hidden}.publication-hero .hero-brand{justify-content:center;margin-bottom:16px;display:flex;position:relative}.publication-hero .hero-brand-icon{filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--viking-teal-600) 25%, transparent))}.publication-hero .hero-title{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(1.65rem,4vw,2.35rem);font-weight:800;line-height:1.15;position:relative}.publication-hero .hero-subtitle{color:var(--text-muted);max-width:640px;margin:0 auto 16px;font-size:1.05rem;line-height:1.6;position:relative}.publication-hero .hero-meta{color:var(--text-muted);margin-bottom:20px;font-size:.92rem;position:relative}.publication-hero .hero-meta-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;font-size:.9rem;display:flex;position:relative}.publication-hero .hero-meta-row a{color:var(--viking-teal-600);font-weight:600;text-decoration:none}.publication-hero .hero-meta-row a:hover{text-decoration:underline}.publication-hero .hero-meta-row .meta-dot{opacity:.4}.publication-toc{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--color-surface) 60%, transparent);padding:20px 28px}.publication-toc .toc-heading{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-size:.72rem;font-weight:700}.publication-toc .toc-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.publication-toc .toc-list{grid-template-columns:repeat(2,1fr);gap:4px 24px}}@media (width>=900px){.publication-toc .toc-list{grid-template-columns:repeat(3,1fr)}}.publication-toc .toc-item{border-radius:6px;align-items:baseline;gap:10px;padding:6px 0;font-size:.88rem;line-height:1.4;transition:color .15s;display:flex;color:var(--text-muted)!important;text-decoration:none!important}.publication-toc .toc-item:hover{color:var(--viking-teal-600)!important}.publication-toc .toc-item .toc-num{font-variant-numeric:tabular-nums;min-width:1.5rem;color:var(--viking-teal-600);opacity:.85;flex-shrink:0;font-size:.78rem;font-weight:700}.publication-toc .toc-item .toc-label{flex:1;font-weight:500}.publication-body{padding:28px 32px 36px}@media (width>=768px){.publication-body{padding:32px 40px 40px}}.publication-section{border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);padding:28px 0}.publication-section:first-child{padding-top:0}.publication-section:last-child{border-bottom:none;padding-bottom:0}.publication-section :global(h2){letter-spacing:-.02em;color:var(--text-color);border-bottom:2px solid color-mix(in srgb, var(--viking-teal-600) 35%, transparent);margin:0 0 16px;padding-bottom:8px;font-size:1.35rem;font-weight:800}.publication-section :global(h3){color:var(--text-color);margin:24px 0 10px;font-size:1.05rem;font-weight:700}.publication-section :global(h4){color:var(--text-color);margin:20px 0 8px;font-size:.95rem;font-weight:700}:is(.publication-section :global(p),.publication-section :global(li)){color:var(--text-muted);margin:0 0 14px;font-size:1rem;line-height:1.65}:is(.publication-section :global(ul),.publication-section :global(ol)){margin:0 0 14px;padding-left:1.35rem}.publication-section :global(a){color:var(--viking-teal-600)}.publication-section :global(pre){background:var(--viking-charcoal-900);border:1px solid #ffffff14;border-radius:10px;margin:16px 0;padding:14px 16px;font-size:.82rem;line-height:1.55;overflow-x:auto}.publication-section :global(:not(pre) > code){background:color-mix(in srgb, var(--color-dark-grey-btn-bg) 70%, transparent);color:var(--text-color);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:.84em}.publication-section :global(table){border-collapse:collapse;width:100%;margin:16px 0;font-size:.9rem}:is(.publication-section :global(table) th,.publication-section :global(table) td){border:1px solid var(--border);text-align:left;padding:8px 12px}.publication-section :global(table) th{background:color-mix(in srgb, var(--viking-teal-600) 10%, var(--color-surface))}.publication-section :global(blockquote){border-left:3px solid var(--viking-teal-600);background:color-mix(in srgb, var(--viking-teal-600) 6%, var(--color-surface));color:var(--text-muted);border-radius:0 8px 8px 0;margin:16px 0;padding:12px 16px;font-size:.95rem}.pub-sidebar-group{margin-bottom:16px}.pub-sidebar-group .pub-sidebar-group-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.75;margin:0 0 6px 8px;font-size:.68rem;font-weight:700}.pub-chapter-item{cursor:pointer;color:inherit;border:1px solid #0000;border-radius:8px;align-items:baseline;gap:8px;padding:7px 12px;text-decoration:none;transition:all .15s;display:flex}.pub-chapter-item:hover{background-color:var(--hover-color);border-color:var(--border)}.pub-chapter-item.active{background:linear-gradient(135deg, color-mix(in srgb, var(--color-surface) 25%, transparent) 0%, #c0c5c114 100%);border-color:var(--color-primary-container,var(--viking-teal-400))}.pub-chapter-item.active .pub-chapter-num,.pub-chapter-item.active .pub-chapter-title{color:var(--color-primary-container,var(--viking-teal-400))}.pub-chapter-item.active .pub-chapter-title{font-weight:600}.pub-chapter-item .pub-chapter-num{font-variant-numeric:tabular-nums;min-width:1.25rem;color:var(--text-muted);opacity:.7;flex-shrink:0;font-size:.72rem;font-weight:700}.pub-chapter-item .pub-chapter-title{color:var(--text-color);font-size:.85rem;line-height:1.35}.book-cover-page{justify-content:center;align-items:center;padding:40px 24px;display:flex}.book-cover-card{aspect-ratio:3/4.2;background-color:var(--card-bg);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-md);border-radius:8px 16px 16px 8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.book-cover-spine{background-color:color-mix(in srgb, var(--black) 50%, transparent);z-index:10;border-right:1px solid color-mix(in srgb, var(--black) 20%, transparent);width:28px;position:absolute;top:0;bottom:0;left:0}.book-cover-binding{background-color:color-mix(in srgb, var(--black) 10%, transparent);z-index:9;width:4px;position:absolute;top:0;bottom:0;left:28px}.book-cover-inner{text-align:center;flex-direction:column;align-items:center;width:100%;height:100%;padding:48px 32px 40px 48px;display:flex}.book-cover-label{letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase;margin-bottom:auto;font-size:.75rem;font-weight:700}.book-cover-logo{filter:drop-shadow(0 6px 16px color-mix(in srgb, var(--viking-teal-600) 30%, transparent));margin:24px 0}.book-cover-title{letter-spacing:-.02em;margin-bottom:12px;font-size:1.75rem;font-weight:800;line-height:1.15}.book-cover-subtitle{color:var(--text-muted);font-size:.95rem;font-style:italic;font-weight:500}.book-cover-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:24px;font-size:.9rem;display:flex}.book-cover-footer a{color:var(--text-color);font-weight:600;text-decoration:none}.book-cover-footer a:hover{color:var(--viking-teal-600)}.book-cover-footer .book-cover-vol{color:var(--color-primary);letter-spacing:.1em;font-size:.8rem;font-weight:700}.publication-pagination{border-top:1px solid var(--border);background:color-mix(in srgb, var(--color-surface) 50%, transparent);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:20px 28px;display:flex}@media (width>=600px){.publication-pagination{justify-content:space-between;padding:16px 32px}}.publication-pagination .pagination-btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:opacity .2s;display:flex;background:var(--color-primary)!important;color:#fff!important}.publication-pagination .pagination-btn[disabled]{opacity:.5;cursor:not-allowed}.publication-pagination .pagination-btn:not([disabled]):hover{opacity:.9}.publication-pagination .page-counter{color:var(--text-muted);font-size:.88rem;font-weight:500}.publication-progress{max-width:480px;margin:0 auto}.publication-progress .progress-bar-header{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:.85rem;font-weight:600;display:flex}.publication-progress .progress-percentage{color:var(--color-primary-container)}.publication-progress .progress-bar-container{background-color:var(--hover-color);border:1px solid var(--border);border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.publication-progress .progress-bar-fill{width:var(--progress,0%);background-color:var(--color-primary);border-radius:999px;transition:width .3s ease-out;position:absolute;top:0;bottom:0;left:0}
