:root,html:not([data-theme]),html[data-theme=light]{--color-primary:#166534;--color-primary-hover:#14532d;--color-primary-light:#dcfce7;--color-primary-600:#14532d;--color-accent:#8b6f47;--color-accent-hover:#6b5535;--color-accent-light:#f5f0e8;--color-accent-600:#6b5535;--color-secondary:#0891b2;--color-secondary-hover:#0e7490;--color-tertiary:#ec4899;--color-tertiary-hover:#db2777;--color-bg-primary:#f5f1eb;--color-bg-secondary:#e8e0d6;--color-bg-tertiary:#d4c4b0;--color-bg-header:#dcfce7;--color-text-primary:#1a1a1a;--color-text-secondary:#2d2d2d;--color-text-tertiary:#4a4a4a;--color-text-inverse:#fff;--color-border:#d4c4b0;--color-border-medium:#b8a088;--color-border-accent:#0891b2;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#0891b2;--color-rating:#d97706;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a}html[data-theme=dark]{--color-primary:#22c55e;--color-primary-hover:#166534;--color-primary-light:#dcfce7;--color-primary-600:#4ade80;--color-accent:#b8a088;--color-accent-hover:#8b6f47;--color-accent-light:#faf8f5;--color-accent-600:#d4c4a8;--color-secondary:#22d3ee;--color-secondary-hover:#0891b2;--color-tertiary:#f472b6;--color-tertiary-hover:#ec4899;--color-bg-primary:#1e1e1e;--color-bg-secondary:#252525;--color-bg-tertiary:#2d2d2d;--color-bg-header:#1a2332;--color-text-primary:#e5e5e5;--color-text-secondary:#b3b3b3;--color-text-tertiary:gray;--color-text-inverse:#1a1a1a;--color-border:#3a3a3a;--color-border-medium:#4a4a4a;--color-border-accent:#22d3ee;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#22d3ee;--color-rating:#fbbf24;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a}.reading-progress{background-color:var(--color-bg-header);z-index:9999;pointer-events:none;width:100%;height:4px;position:fixed;top:0;left:0}.reading-progress-bar{background:linear-gradient(90deg,var(--color-secondary),var(--color-secondary-hover));height:100%;transition:width .1s ease-out;box-shadow:0 0 10px #22d3ee99}.social-share{border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);flex-direction:column;align-items:flex-start;gap:.5rem;margin:1rem 0;padding:.5rem 0;display:flex}@media (min-width:640px){.social-share{flex-direction:row;align-items:center}}.social-share-label{color:var(--color-text-secondary);margin-right:0;font-size:.75rem;font-weight:500}@media (min-width:640px){.social-share-label{margin-right:.25rem;font-size:.875rem}}.social-share-buttons{flex-wrap:wrap;gap:.25rem;display:flex}.social-share-button{border:1px solid var(--color-border-medium);background-color:var(--color-bg-secondary);width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;padding:0;font-size:1.125rem;text-decoration:none;transition:all .15s;display:inline-flex}.social-share-button:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 1px 2px #0000000d}.social-share-button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.social-share-button.copied{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.social-share-twitter:hover{color:#fff;background-color:#1da1f2;border-color:#1da1f2}.social-share-facebook:hover{color:#fff;background-color:#1877f2;border-color:#1877f2}.social-share-reddit:hover{color:#fff;background-color:#ff4500;border-color:#ff4500}.breadcrumbs{margin:1rem 0;padding:.5rem 0}.breadcrumbs-list{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs-item{align-items:center;gap:.25rem;display:flex}.breadcrumbs-item-current .breadcrumbs-link{color:var(--color-text-secondary);pointer-events:none;font-weight:500}.breadcrumbs-link{color:var(--color-secondary);font-size:.875rem;text-decoration:none;transition:color .15s}.breadcrumbs-link:hover{color:var(--color-secondary-hover);text-decoration:underline}.breadcrumbs-separator{color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;margin:0 .25rem}.section-navigation{border-top:1px solid var(--color-border-light);margin-top:1.5rem;margin-bottom:2rem;padding-top:1rem}@media (min-width:640px){.section-navigation{margin-top:2rem;margin-bottom:2.5rem;padding-top:1.5rem}}.section-navigation-inner{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.section-navigation-inner{grid-template-columns:1fr 1fr;align-items:start}}.section-navigation-link{border:2px solid var(--color-secondary);color:var(--color-text-inverse);background:var(--color-secondary);border-radius:.75rem;flex-direction:column;padding:1rem;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d}@media (min-width:640px){.section-navigation-link{padding:1.5rem}}.section-navigation-link:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .3s;position:absolute;top:0;left:-100%}.section-navigation-link:hover{border-color:var(--color-secondary-hover);background:var(--color-secondary-hover);transform:translateY(-3px);box-shadow:0 10px 15px -3px #0000001a}.section-navigation-link:hover:before{left:100%}.section-navigation-link:active{transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.section-navigation-link-empty{pointer-events:none;box-shadow:none;background:0 0;border:none}.section-navigation-link-empty:before{display:none}.section-navigation-link-empty:hover{box-shadow:none;transform:none}.section-navigation-link-prev{text-align:left}.section-navigation-link-next{text-align:right}@media (min-width:640px){.section-navigation-link-next{justify-self:end}}@media (max-width:640px){.section-navigation-link-next{text-align:left}}.section-navigation-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:500}@media (min-width:640px){.section-navigation-label{font-size:.875rem}}.section-navigation-title{color:var(--color-text-inverse);font-size:1rem;font-weight:600;line-height:1.4}@media (min-width:640px){.section-navigation-title{font-size:1.125rem}}.section-nav-link.section-nav-next{text-align:right}@media (max-width:640px){.section-nav-link.section-nav-next{text-align:left}}.not-found-page,.error-page{justify-content:center;align-items:center;min-height:60vh;padding:2rem 0;display:flex}.not-found-content,.error-content{text-align:center;max-width:600px}.not-found-content h1,.error-content h1{color:var(--color-primary);margin-bottom:.5rem;font-size:3rem;font-weight:700}.not-found-content h2,.error-content h2{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.5rem}.not-found-content p,.error-content p{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1.125rem}.not-found-nav,.error-nav{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.error-details{text-align:left;margin:1.5rem 0}.error-details summary{cursor:pointer;color:var(--color-secondary);margin-bottom:.5rem;font-weight:500}.error-details summary:hover{color:var(--color-secondary-hover)}.error-details pre{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:.5rem;padding:1rem;font-size:.875rem;overflow-x:auto}.button{cursor:pointer;border:2px solid #0000;border-radius:.5rem;padding:.5rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-block}.button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.button-primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.button-primary:hover{background-color:var(--color-primary-hover,var(--color-primary));border-color:var(--color-primary-hover,var(--color-primary));transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.button-secondary{color:var(--color-secondary);border-color:var(--color-secondary);background-color:#0000}.button-secondary:hover{background-color:var(--color-secondary);color:var(--color-text-inverse);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.recommendations{border-top:2px solid var(--color-border-light);margin-top:2rem;margin-bottom:2rem;padding-top:1.5rem}.recommendations h2{color:var(--color-text-primary);margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.recommendations-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:640px){.recommendations-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.recommendations-grid{grid-template-columns:repeat(3,1fr)}}.recommendation-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:.75rem;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.recommendation-card:hover{border-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.recommendation-card-image{aspect-ratio:16/9;background-color:var(--color-bg-tertiary);width:100%;overflow:hidden}.recommendation-card-image a{width:100%;height:100%;display:block}.recommendation-card-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.recommendation-card:hover .recommendation-card-img{transform:scale(1.05)}.recommendation-card-content{flex-direction:column;flex-grow:1;gap:.5rem;padding:1rem;display:flex}.recommendation-card-content h3{margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.recommendation-card-content h3 a{color:var(--color-text-primary);transition:color .15s}.recommendation-card-content h3 a:hover{color:var(--color-secondary)}.recommendation-subtitle{color:var(--color-text-secondary);margin:0;font-size:.875rem;font-weight:500}.recommendation-excerpt{color:var(--color-text-secondary);flex-grow:1;margin:0;font-size:.875rem;line-height:1.6}.recommendation-rating{margin-top:auto}.recommendation-rating .rating-value{background-color:var(--color-bg-tertiary);color:var(--color-secondary);border-radius:.5rem;padding:.25rem .5rem;font-size:.875rem;font-weight:600;display:inline-block}.recommendation-link{color:var(--color-secondary);margin-top:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-block}.recommendation-link:hover{color:var(--color-secondary-hover);text-decoration:underline}.difficulty-rating{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:.5rem;margin:1rem 0;padding:1rem}.difficulty-rating-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.difficulty-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.difficulty-level{text-transform:uppercase;letter-spacing:.05em;border-radius:.5rem;padding:.25rem .5rem;font-size:.875rem;font-weight:600}.difficulty-level.difficulty-easy{color:#22c55e;background-color:#22c55e33}.difficulty-level.difficulty-normal{color:#3b82f6;background-color:#3b82f633}.difficulty-level.difficulty-hard{color:#fb923c;background-color:#fb923c33}.difficulty-level.difficulty-expert{color:#ef4444;background-color:#ef444433}.difficulty-value{color:var(--color-text-primary);margin-left:auto;font-size:.875rem;font-weight:600}.difficulty-bar{background-color:var(--color-bg-tertiary);border-radius:9999px;width:100%;height:8px;overflow:hidden}.difficulty-bar-fill{border-radius:9999px;height:100%;transition:width .3s}.difficulty-bar-fill.difficulty-easy{background:linear-gradient(90deg,#22c55e,#16a34a)}.difficulty-bar-fill.difficulty-normal{background:linear-gradient(90deg,#3b82f6,#2563eb)}.difficulty-bar-fill.difficulty-hard{background:linear-gradient(90deg,#fb923c,#f97316)}.difficulty-bar-fill.difficulty-expert{background:linear-gradient(90deg,#ef4444,#dc2626)}.reading-progress-display{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:1rem;margin:.5rem 0;padding:.5rem 0;font-size:.875rem;display:flex}.reading-time{align-items:center;gap:.25rem;display:inline-flex}.reading-progress-percentage{background-color:var(--color-bg-secondary);border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-weight:500;display:inline-flex}.bookmark-button{border:1px solid var(--color-border-medium);background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.bookmark-button:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-secondary);transform:translateY(-1px)}.bookmark-button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.bookmark-button.bookmarked{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text-inverse)}.bookmark-button.bookmarked:hover{background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover)}.bookmark-icon{font-size:1rem;line-height:1}.bookmark-text{font-size:.875rem}.review-header-actions,.walkthrough-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.bookmarks-empty{text-align:center;color:var(--color-text-secondary);padding:3rem 1rem}.bookmarks-empty p{margin:1rem 0}.bookmarks-empty a{color:var(--color-secondary);font-weight:600;text-decoration:none}.bookmarks-empty a:hover{text-decoration:underline}.bookmarks-count{color:var(--color-text-secondary);margin-bottom:2.5rem;font-size:.875rem}.bookmarks-list{gap:1.5rem;display:grid}.bookmark-item{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:.5rem;padding:1.5rem;transition:all .15s}.bookmark-item:hover{border-color:var(--color-border-medium);box-shadow:0 1px 2px #0000000d}.bookmark-content h2{margin:0 0 .5rem;font-size:1.25rem}.bookmark-content h2 a{color:var(--color-text-primary);text-decoration:none}.bookmark-content h2 a:hover{color:var(--color-secondary)}.bookmark-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.875rem;display:flex}.bookmark-type{font-weight:500}.bookmark-date{color:var(--color-text-secondary)}.bookmark-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;display:flex}.bookmark-link{color:var(--color-secondary);font-size:.875rem;font-weight:600;text-decoration:none;transition:color .15s}.bookmark-link:hover{color:var(--color-secondary-hover);text-decoration:underline}.bookmark-remove{border:1px solid var(--color-border-medium);color:var(--color-text-secondary);cursor:pointer;background-color:#0000;border-radius:.5rem;padding:.25rem .5rem;font-size:.875rem;transition:all .15s}.bookmark-remove:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-error);color:var(--color-error)}.bookmark-remove:focus-visible{outline:2px solid var(--color-error);outline-offset:2px}.continue-reading-section{background-color:var(--color-bg-secondary)}.continue-reading-list{gap:1rem;display:grid}@media (min-width:768px){.continue-reading-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.continue-reading-item{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:.5rem;padding:1rem;transition:all .15s}.continue-reading-item:hover{border-color:var(--color-border-medium);box-shadow:0 1px 2px #0000000d}.continue-reading-content h3{margin:.25rem 0 .5rem;font-size:1.125rem}.continue-reading-content h3 a{color:var(--color-text-primary);text-decoration:none}.continue-reading-content h3 a:hover{color:var(--color-secondary)}.continue-reading-type{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:inline-block}.continue-reading-date{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.75rem;display:block}.continue-reading-link{color:var(--color-secondary);margin-top:.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-block}.continue-reading-link:hover{color:var(--color-secondary-hover);text-decoration:underline}@media print{.header,.footer,.breadcrumbs,.section-navigation,.walkthrough-sidebar,.walkthrough-toc,.social-share,.reading-progress,.reading-progress-display,.skip-link,.cross-link,.cross-link-button,.footer-controls,.walkthrough-header-actions,.bookmark-button,.difficulty-rating,.hero-nav,.hero-nav--prev,.hero-nav--next,.recommendations,.button,button:not(.checklist-checkbox){display:none!important}.container{max-width:100%;margin:0;padding:0}.walkthrough-layout{margin:0;padding:0;display:block}.walkthrough-main{width:100%;max-width:100%;padding:0}.walkthrough-page{margin:0;padding:0}body{color:#000;background:#fff;font-family:Georgia,Times New Roman,serif;font-size:11pt;line-height:1.6}h1,h2,h3,h4,h5,h6{color:#000;page-break-after:avoid;page-break-inside:avoid;margin-top:1em;margin-bottom:.5em;font-weight:700}h1{border-bottom:2px solid #000;margin-top:0;margin-bottom:.75em;padding-bottom:.25em;font-size:20pt}h2{border-bottom:1px solid #333;margin-top:1.25em;padding-bottom:.2em;font-size:16pt}h3{margin-top:1em;font-size:14pt}h4{margin-top:.75em;font-size:12pt}p{orphans:3;widows:3;margin-bottom:.75em}.walkthrough-content{max-width:100%;margin:0;padding:0}.walkthrough-header{border-bottom:2px solid #000;margin-bottom:1em;padding-bottom:.5em}.walkthrough-header .subtitle{color:#333;margin-top:.25em;margin-bottom:.5em;font-size:12pt}.walkthrough-body{margin-top:1em;line-height:1.6}.walkthrough-hero-image,.review-hero-image{page-break-inside:avoid;max-width:100%;margin-bottom:1em}.walkthrough-hero-image img,.walkthrough-hero-image .hero-img,.review-hero-image img,.review-hero-image .hero-img{page-break-inside:avoid;max-width:100%;height:auto;display:block}.hero-img-placeholder{display:none!important}.walkthrough-checklist{page-break-inside:avoid;border:1px solid #000;margin:1em 0;padding:.75em}.walkthrough-checklist h2{border-bottom:1px solid #333;margin-top:0;margin-bottom:.5em;padding-bottom:.2em;font-size:14pt}.checklist{margin:0;padding-left:0;list-style:none}.checklist-item{page-break-inside:avoid;margin-bottom:.4em;padding-left:1.5em;position:relative}.checklist-item:before{content:"☐ ";font-size:1.1em;position:absolute;left:0}.checklist-item.checked:before{content:"☑ "}.checklist-item .checklist-text{display:inline}.checklist-checkbox{display:none}.alert{page-break-inside:avoid;border:2px solid #000;margin:1em 0;padding:.75em .75em .75em 2.5em;position:relative;background:#fff!important}.alert:before{font-size:1.2em;position:absolute;top:.75em;left:.5em}.alert.alert-boss,.alert.alert-trophy,.alert.alert-quest,.alert.alert-fight,.alert.alert-info,.alert.alert-warning,.alert.alert-success,.alert.alert-tip,.alert.alert-conversation,.alert.alert-collectible{border-left-width:4px;border-left-color:#000}.alert .boss-status,.alert .trophy-status,.alert .quest-status,.alert .fight-status,.alert .conversation-status,.alert .collectible-type{border:1px solid #000;margin-right:.5em;padding:.1em .3em;font-weight:700;display:inline-block;background:#fff!important}.alert .boss-name,.alert .trophy-name,.alert .quest-name,.alert .fight-name,.alert .conversation-name,.alert .collectible-name{margin-top:.25em;margin-bottom:.5em;font-weight:700;display:block}.boss-section{page-break-inside:avoid;border:2px solid #000;margin:1em 0;padding:.75em;background:#fff!important}.boss-section h2.boss-heading,.boss-section h3.boss-heading{color:#000;border-bottom:1px solid #000;margin-top:0;margin-bottom:.5em;padding-bottom:.25em}.boss-section h2.boss-heading:before,.boss-section h3.boss-heading:before{content:"⚔️ ";margin-right:.25em}h2.boss-heading,h3.boss-heading{color:#000;border-left:4px solid #000;margin-top:1em;padding-left:.5em}h2.boss-heading:before,h3.boss-heading:before{content:"⚔️ ";margin-right:.25em}.hm-step-list{counter-reset:hm-step;margin:1em 0;padding:0;list-style:none}.hm-step-list>h2{page-break-after:avoid;border:1px solid #000;margin-bottom:.5em;padding:.5em;background:#f0f0f0!important}.hm-step-list>h2:before{content:"🎯 ";margin-right:.25em}.hm-step-list>li{counter-increment:hm-step;page-break-inside:avoid;border:1px solid #ccc;margin-bottom:.75em;padding:.5em .5em .5em 2.5em;position:relative;background:#fff!important}.hm-step-list>li:before{content:counter(hm-step);background:#fff;border:1px solid #000;justify-content:center;align-items:center;width:1.5em;height:1.5em;font-weight:700;display:flex;position:absolute;top:.5em;left:.5em}.hm-note{color:#333;border:1px solid #ccc;margin-top:.25em;padding:.25em .5em;font-style:italic;display:inline-block;background:#f5f5f5!important}.skill-check{border:1px solid #000;padding:.1em .3em;font-weight:700;background:#fff!important}.hm-character-sheet{page-break-inside:avoid;border:2px solid #000;margin:1em 0;padding:1em;background:#fff!important}.hm-sheet-header{border-bottom:1px solid #000;margin-bottom:.75em;padding-bottom:.5em}.hm-sheet-header h1{border-bottom:none;margin:0}.hm-card{page-break-inside:avoid;border:1px solid #000;margin-bottom:.75em;padding:.75em;background:#fff!important}.hm-grid,.hm-grid--two,.hm-grid--three{display:block}.hm-abilities{border-collapse:collapse;page-break-inside:avoid;width:100%;margin:.75em 0}.hm-abilities th,.hm-abilities td{text-align:left;border:1px solid #000;padding:.4em}.hm-abilities thead{background:#f0f0f0!important}img{page-break-inside:avoid;max-width:100%;height:auto;margin:.75em 0;display:block}.walkthrough-image-wrapper,.walkthrough-image,.alert-image-wrapper,.alert-image{page-break-inside:avoid;max-width:100%;margin:.75em 0}.walkthrough-image-placeholder,.alert-image-placeholder{display:none!important}ul,ol{page-break-inside:avoid;margin-bottom:.75em;padding-left:1.5em}li{orphans:2;widows:2;margin-bottom:.3em}a{color:#000;text-decoration:underline}a[href^=http]:after{content:" (" attr(href)")";color:#666;word-break:break-all;font-size:.85em}a[href^=\/]:after{content:" (https://bardicknowledge.com" attr(href)")";color:#666;font-size:.85em}a[href^=\#]:after{content:""}*{box-shadow:none!important;text-shadow:none!important;background:0 0!important}.alert,.boss-section,.hm-step-list>h2,.hm-card,.hm-character-sheet,.walkthrough-checklist,code,pre{background:#fff!important}.hm-step-list>h2{background:#f0f0f0!important}.hm-note{background:#f5f5f5!important}pre,code{page-break-inside:avoid;overflow-wrap:break-word;border:1px solid #000;padding:.5em;font-family:Courier New,monospace;font-size:10pt;background:#f5f5f5!important}pre{white-space:pre-wrap}table{border-collapse:collapse;page-break-inside:avoid;width:100%;margin:.75em 0}th,td{text-align:left;border:1px solid #000;padding:.4em}thead{background:#f0f0f0!important}article,.walkthrough-content,.review-content{page-break-inside:auto}.walkthrough-content>*+*,.review-content>*+*{page-break-before:auto}h1,h2,h3,h4,h5,h6,.alert,.boss-section,.walkthrough-checklist,.hm-step-list>li,.hm-card,.hm-character-sheet,img,table,pre,li{page-break-inside:avoid}@page{margin:2cm 1.5cm;size:A4;@top-center{content:"Bardic Knowledge";font-size:9pt;color:#666;font-family:Arial,sans-serif}@bottom-right{content:"Page " counter(page)" of " counter(pages);font-size:9pt;color:#666;font-family:Arial,sans-serif}}@page:first{@top-center{content:""}}.rating-badge,.difficulty-rating,.walkthrough-header-actions,.walkthrough-navigation,.walkthrough-sections-list,.walkthroughs-grid{display:none!important}.review-content{max-width:100%;padding:0}.review-hero-image{page-break-inside:avoid;margin-bottom:1em}.no-print{display:none!important}.print-only{display:block!important}}*{box-sizing:border-box}:root{font-family:var(--font-inter),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);--font-size-multiplier:1;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;font-weight:400;line-height:1.5;transition:background-color .3s,color .3s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html{scroll-behavior:smooth}img{transition:opacity .3s,transform .3s}span[style*="position: relative"] img,span[style*="display: block"] img,img[data-placeholder=blur],img[placeholder=blur],img[style*=blur]{background-color:gray!important}.image-loading{opacity:0;transition:opacity .3s}.image-loaded{opacity:1}body{min-width:320px;min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);margin:0;line-height:1.2}p{color:var(--color-text-primary);margin:0}a{color:var(--color-secondary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-secondary-hover)}a:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:2px}.skip-link{background:var(--color-primary);color:var(--color-text-inverse);z-index:1000;border-radius:0 0 4px;padding:8px 16px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{outline:3px solid var(--color-secondary);outline-offset:2px;top:0}:root[data-high-contrast=true] .skip-link,:root.high-contrast .skip-link{color:#fff;background:#00f;border:2px solid #fff}:root[data-high-contrast=true] .skip-link:focus,:root.high-contrast .skip-link:focus{background:#00f;outline:3px solid #ff0}@media (prefers-color-scheme:dark){:root[data-high-contrast=true] .skip-link,:root.high-contrast .skip-link{color:#000;background:#0ff;border:2px solid #fff}:root[data-high-contrast=true] .skip-link:focus,:root.high-contrast .skip-link:focus{background:#0ff;outline:3px solid #00f}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:2px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}@media (max-width:768px){.container{padding:0 1rem}}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_b1501620-module__QRdb3a__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_b1501620-module__QRdb3a__variable{--font-inter:"Inter","Inter Fallback"}
@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.7f4e28d1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.e32417d2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.7f4e28d1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.e32417d2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.7f4e28d1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.e32417d2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.7f4e28d1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.e32417d2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel Fallback;src:local(Times New Roman);ascent-override:71.31%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:136.86%}.cinzel_97556c72-module__F6ozOW__className{font-family:Cinzel,Cinzel Fallback;font-style:normal}.cinzel_97556c72-module__F6ozOW__variable{--font-cinzel:"Cinzel","Cinzel Fallback"}
.language-selector .language-select{background:var(--color-bg-primary);border:2px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;border-radius:.5rem;padding:.5rem 1rem;font-size:1rem;font-weight:500;transition:all .15s}.language-selector .language-select:hover{background:var(--color-bg-secondary);border-color:var(--color-primary-500)}.language-selector .language-select:focus{border-color:var(--color-primary-500);outline:none}.language-selector .language-select:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;background:var(--color-bg-secondary)}.language-selector .language-select option{background-color:var(--color-bg-primary);color:var(--color-text-primary)}
.user-menu{position:relative}.user-menu-loading{background:var(--bg-tertiary,#252538);border-radius:50%;width:32px;height:32px;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.user-menu-signin{border:1px solid var(--border-color,#333);color:var(--text-primary,#fff);border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s}.user-menu-signin:hover{background:var(--bg-tertiary,#252538);border-color:var(--border-hover,#444)}.user-menu-signin-button{border:1px solid var(--color-secondary,#22d3ee);color:var(--text-primary,#fff);cursor:pointer;background:#ffffff0d;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.user-menu-signin-button:hover{border-color:var(--color-secondary,#22d3ee);background:#ffffff1a;box-shadow:0 0 8px #22d3ee33}.user-menu-signin-button:focus{outline:2px solid var(--color-secondary,#22d3ee);outline-offset:2px}.user-menu-button{border:1px solid var(--border-color,#333);color:var(--text-primary,#fff);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.9rem;transition:all .2s;display:flex}.user-menu-button:hover{background:var(--bg-tertiary,#252538);border-color:var(--border-hover,#444)}.user-menu-button:focus{outline:2px solid var(--focus-color,#60a5fa);outline-offset:2px}.user-menu-avatar{object-fit:cover;border:2px solid var(--border-color,#333);border-radius:50%;width:32px;height:32px}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:500;overflow:hidden}@media (max-width:768px){.user-menu-name{display:none}}.user-menu-chevron{color:var(--text-secondary,#a0a0a0);transition:transform .2s}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{background:var(--bg-secondary,#1e1e2e);border:1px solid var(--border-color,#333);z-index:1000;border-radius:8px;min-width:240px;animation:.2s slideDown;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{background:var(--bg-tertiary,#252538);align-items:center;gap:.75rem;padding:1rem;display:flex}.user-menu-dropdown-avatar{object-fit:cover;border:2px solid var(--border-color,#333);border-radius:50%;width:40px;height:40px}.user-menu-info{flex:1;min-width:0}.user-menu-dropdown-name{color:var(--text-primary,#fff);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.user-menu-dropdown-email{color:var(--text-secondary,#a0a0a0);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.85rem;overflow:hidden}.user-menu-divider{background:var(--border-color,#333);height:1px;margin:.5rem 0}.user-menu-item{width:100%;color:var(--text-primary,#fff);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;text-decoration:none;transition:background .2s;display:flex}.user-menu-item svg{color:var(--text-secondary,#a0a0a0);flex-shrink:0}.user-menu-item:hover{background:var(--bg-tertiary,#252538)}.user-menu-item:focus{outline:2px solid var(--focus-color,#60a5fa);outline-offset:-2px}.user-menu-item-signout{color:#f87171}.user-menu-item-signout:hover{color:#fca5a5;background:#f871711a}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
.accessibility-toggle{background-color:var(--color-secondary);width:56px;height:56px;color:var(--color-text-inverse);border:2px solid var(--color-secondary);cursor:pointer;z-index:1000;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;transition:all .3s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 10px 15px -3px #0000001a}.accessibility-toggle:hover{background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover);transform:scale(1.1);box-shadow:0 20px 25px -5px #0000001a}.accessibility-toggle:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}@media (max-width:768px){.accessibility-toggle{width:48px;height:48px;font-size:1.25rem;bottom:1rem;right:1rem}}.accessibility-settings-backdrop{z-index:1000;background:#00000080;animation:.2s fadeIn;position:fixed;inset:0}.accessibility-settings{background-color:var(--color-bg-primary);border:2px solid var(--color-border-medium);z-index:1001;border-radius:.75rem;width:90vw;max-width:400px;max-height:80vh;animation:.3s slideUp;position:fixed;bottom:calc(1.5rem + 64px);right:1.5rem;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}@media (max-width:768px){.accessibility-settings{width:calc(100vw - 2rem);max-height:70vh;bottom:calc(1rem + 56px);right:1rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.accessibility-settings-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:1rem;display:flex}.accessibility-settings-header h2{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:600}.accessibility-settings-close{width:32px;height:32px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:all .15s;display:flex}.accessibility-settings-close:hover{background-color:var(--color-bg-secondary)}.accessibility-settings-close:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.accessibility-settings-content{padding:1rem}.accessibility-setting-group{margin-bottom:1.5rem}.accessibility-setting-group:last-child{margin-bottom:0}.accessibility-setting-label{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1rem;font-weight:600;display:block}.accessibility-setting-description{color:var(--color-text-secondary);margin-top:0;margin-bottom:.5rem;font-size:.875rem}.accessibility-toggle-switch{width:60px;height:34px;display:inline-block;position:relative}.accessibility-toggle-switch input[type=checkbox]{opacity:0;width:0;height:0}.accessibility-toggle-switch input[type=checkbox]:checked+.toggle-label{background-color:var(--color-secondary)}.accessibility-toggle-switch input[type=checkbox]:checked+.toggle-label:before{transform:translate(26px)}.accessibility-toggle-switch input[type=checkbox]:focus-visible+.toggle-label{outline:2px solid var(--color-secondary);outline-offset:2px}.accessibility-toggle-switch .toggle-label{cursor:pointer;background-color:var(--color-bg-tertiary);border-radius:34px;transition:background-color .3s;position:absolute;inset:0}.accessibility-toggle-switch .toggle-label:before{content:"";background-color:#fff;border-radius:50%;width:26px;height:26px;transition:transform .3s;position:absolute;bottom:4px;left:4px;box-shadow:0 1px 2px #0000000d}.accessibility-font-size-controls{flex-direction:column;gap:.5rem;display:flex}.accessibility-select{border:1px solid var(--color-border-medium);background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;border-radius:.5rem;padding:.5rem 1rem;font-size:1rem;transition:all .15s}.accessibility-select:hover{border-color:var(--color-secondary)}.accessibility-select:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-color:var(--color-secondary)}.accessibility-font-size-buttons{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.accessibility-font-size-button{border:2px solid var(--color-border-medium);background-color:var(--color-bg-secondary);min-width:40px;color:var(--color-text-primary);cursor:pointer;border-radius:.5rem;flex:1;padding:.5rem;font-size:1rem;font-weight:600;transition:all .15s}.accessibility-font-size-button:hover{border-color:var(--color-secondary);background-color:var(--color-bg-tertiary)}.accessibility-font-size-button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.accessibility-font-size-button.active{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text-inverse)}.accessibility-font-size-button:first-child{font-size:.875rem}.accessibility-font-size-button:nth-child(2){font-size:1rem}.accessibility-font-size-button:nth-child(3){font-size:1.125rem}.accessibility-font-size-button:nth-child(4){font-size:1.25rem}.accessibility-font-size-button:nth-child(5){font-size:1.5rem}.accessibility-shortcuts{border-top:1px solid var(--color-border-light);margin-top:1.5rem;padding-top:1.5rem}.accessibility-shortcuts h3{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.accessibility-shortcuts-list{margin:0;padding:0;list-style:none}.accessibility-shortcuts-list li{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.25rem;font-size:.875rem;display:flex}.accessibility-shortcuts-list kbd{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-medium);color:var(--color-text-primary);border-radius:.25rem;padding:.25rem .5rem;font-family:monospace;font-size:.75rem;font-weight:600;display:inline-block;box-shadow:0 1px 2px #0000000d}:root[data-high-contrast=true],:root.high-contrast{--color-text-primary:#000;--color-text-secondary:#000;--color-text-tertiary:#000;--color-bg-primary:#fff;--color-bg-secondary:#fff;--color-bg-tertiary:#f0f0f0;--color-border-light:#000;--color-border-medium:#000;--color-border-dark:#000;--color-secondary:#00f;--color-secondary-hover:#00c}:root[data-high-contrast=true] *,:root.high-contrast *{border-color:#000!important}:root[data-high-contrast=true] a,:root.high-contrast a{color:#00f!important;text-decoration:underline!important}:root[data-high-contrast=true] a:focus-visible,:root.high-contrast a:focus-visible{outline-offset:2px!important;background-color:#ff0!important;outline:3px solid #00f!important}:root[data-high-contrast=true] button,:root[data-high-contrast=true] [role=button],:root.high-contrast button,:root.high-contrast [role=button]{border:2px solid #000!important}:root[data-high-contrast=true] button:focus-visible,:root[data-high-contrast=true] [role=button]:focus-visible,:root.high-contrast button:focus-visible,:root.high-contrast [role=button]:focus-visible{outline-offset:2px!important;background-color:#ff0!important;outline:3px solid #00f!important}@media (prefers-color-scheme:dark){:root[data-high-contrast=true],:root.high-contrast{--color-text-primary:#fff;--color-text-secondary:#fff;--color-text-tertiary:#fff;--color-bg-primary:#000;--color-bg-secondary:#000;--color-bg-tertiary:#1a1a1a;--color-border-light:#fff;--color-border-medium:#fff;--color-border-dark:#fff;--color-secondary:#0ff;--color-secondary-hover:#0cc}:root[data-high-contrast=true] a,:root.high-contrast a{color:#0ff!important}:root[data-high-contrast=true] a:focus-visible,:root.high-contrast a:focus-visible,:root[data-high-contrast=true] button:focus-visible,:root[data-high-contrast=true] [role=button]:focus-visible,:root.high-contrast button:focus-visible,:root.high-contrast [role=button]:focus-visible{background-color:#00f!important;outline-color:#0ff!important}}:root[data-font-size]:not([data-font-size=""]){font-size:calc(16px*var(--font-size-multiplier,1))}
.mobile-bottom-nav{background:var(--color-bg-header);border-top:1px solid var(--color-border);z-index:100;padding:.25rem 0;padding-bottom:max(.25rem,env(safe-area-inset-bottom));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001a}@media (min-width:1024px){.mobile-bottom-nav{display:none}}.mobile-bottom-nav:before{content:"";background:linear-gradient(to top,var(--color-bg-header),transparent);pointer-events:none;height:20px;position:absolute;top:-20px;left:0;right:0}.mobile-bottom-nav-item{color:var(--color-text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;min-width:0;padding:.25rem .5rem;text-decoration:none;transition:all .15s;display:flex;position:relative}.mobile-bottom-nav-item:hover,.mobile-bottom-nav-item:focus-visible{color:var(--color-secondary);outline:none}.mobile-bottom-nav-item:hover .mobile-bottom-nav-icon,.mobile-bottom-nav-item:focus-visible .mobile-bottom-nav-icon{transform:scale(1.1)}.mobile-bottom-nav-item.active{color:var(--color-secondary)}.mobile-bottom-nav-item.active .mobile-bottom-nav-icon{transform:scale(1.15)}.mobile-bottom-nav-item.active:after{content:"";background:var(--color-secondary);border-radius:0 0 3px 3px;width:40px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.mobile-bottom-nav-icon{font-size:1.5rem;line-height:1;transition:transform .15s;display:block}.mobile-bottom-nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;font-weight:500;overflow:hidden}@media (max-width:1023px){.main{padding-bottom:calc(5rem + 80px)!important}}
.pwa-installer{z-index:1000;width:100%;max-width:500px;animation:.3s ease-out slideUp;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:768px){.pwa-installer{width:auto;max-width:none;bottom:10px;left:10px;right:10px;transform:none}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.pwa-installer-content{background:var(--bg-secondary,#2a2a3e);border:1px solid var(--border-color,#3a3a4e);border-radius:12px;align-items:center;gap:16px;padding:16px;display:flex;box-shadow:0 4px 20px #0000004d}@media (max-width:768px){.pwa-installer-content{text-align:center;flex-direction:column;gap:12px}}.pwa-installer-icon{background:var(--accent-color,#6366f1);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.pwa-installer-icon svg{width:24px;height:24px}.pwa-installer-text{flex:1;min-width:0}.pwa-installer-text h3{color:var(--text-primary,#fff);margin:0 0 4px;font-size:16px;font-weight:600}.pwa-installer-text p{color:var(--text-secondary,#a0a0a0);margin:0;font-size:14px;line-height:1.4}.pwa-installer-actions{flex-shrink:0;gap:8px;display:flex}@media (max-width:768px){.pwa-installer-actions{flex-direction:column;width:100%}}.pwa-installer-button{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}@media (max-width:768px){.pwa-installer-button{width:100%}}.pwa-installer-button:focus{outline:2px solid var(--accent-color,#6366f1);outline-offset:2px}.pwa-installer-button-primary{background:var(--accent-color,#6366f1);color:#fff}.pwa-installer-button-primary:hover{background:var(--accent-hover,#4f46e5)}.pwa-installer-button-primary:active{transform:scale(.98)}.pwa-installer-button-secondary{color:var(--text-secondary,#a0a0a0);border:1px solid var(--border-color,#3a3a4e);background:0 0}.pwa-installer-button-secondary:hover{background:var(--bg-tertiary,#3a3a4e);color:var(--text-primary,#fff)}.pwa-installer-button-secondary:active{transform:scale(.98)}
.donation-links{border-top:1px solid var(--color-border);text-align:center;width:100%;margin-top:1rem;padding-top:1rem}.donation-links-label{color:var(--color-text-secondary);margin-top:0;margin-bottom:.5rem;font-size:.875rem}.donation-links-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.donation-link{color:var(--color-text-primary);border:1px solid var(--color-border);background-color:#ffffff0d;border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.875rem;text-decoration:none;transition:all .15s;display:inline-flex}.donation-link:hover{border-color:var(--color-secondary);color:var(--color-secondary);background-color:#ffffff1a;transform:translateY(-1px)}.donation-link:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.donation-link .donation-link-icon{font-size:1.2em;line-height:1}.donation-link .donation-link-text{font-weight:500}.donation-link--kofi:hover{color:#ff6b6b;background-color:#ff6b6b1a;border-color:#ff6b6b}.donation-link--bmc:hover{color:#ffdd59;background-color:#ffdd591a;border-color:#ffdd59}.donation-link--paypal:hover{color:#007bff;background-color:#007bff1a;border-color:#007bff}.donation-link--patreon:hover{color:#ff424d;background-color:#ff424d1a;border-color:#ff424d}
.layout{flex-direction:column;min-height:100vh;display:flex}.header{background-color:var(--color-bg-header);box-shadow:var(--shadow-md);padding:1rem 0;transition:background-color .3s}@media (min-width:1024px){.header{padding:1.5rem 0}}.header .container{z-index:1;flex-direction:column;gap:.5rem;max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;position:relative}@media (min-width:1024px){.header .container{gap:1rem;padding:0 2rem}}.header-grid{flex-direction:column;gap:.25rem;width:100%;display:flex}@media (min-width:1024px){.header-grid{flex-direction:row;align-items:center;gap:2rem}}.header-right{flex-direction:column;flex:1;gap:.25rem;width:100%;min-width:0;display:flex}@media (min-width:1024px){.header-right{gap:.5rem}}.header-row{align-items:center;gap:1rem;width:100%;display:flex}@media (min-width:1024px){.header-row{gap:1.5rem}}.header-row-top{justify-content:space-between}@media (min-width:1024px){.header-row-top{justify-content:flex-start;align-items:center;gap:1.5rem;width:100%;display:flex}}.header-row-bottom{justify-content:flex-start}.mobile-nav-toggle{border:1px solid var(--color-border);width:42px;height:42px;color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;transition:all .15s;display:inline-flex}.mobile-nav-toggle span{transform-origin:50%;background-color:currentColor;border-radius:999px;width:24px;height:2px;transition:transform .15s,opacity .15s;display:block}.mobile-nav-toggle:hover,.mobile-nav-toggle:focus-visible{border-color:var(--color-secondary);background-color:#ffffff0d;outline:none}.mobile-nav-toggle.open span:first-child{transform:translateY(8px)rotate(45deg)}.mobile-nav-toggle.open span:nth-child(2){opacity:0}.mobile-nav-toggle.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}@media (min-width:1024px){.mobile-nav-toggle{display:none}}.header-search-form{display:none}@media (min-width:1024px){.header-search-form{flex:1;min-width:0;margin-right:10px;display:block}}.header-search-wrapper{flex-direction:column;width:100%;display:flex;position:relative}.header-search-input{border:1px solid var(--color-border);background-color:var(--color-bg-primary);width:100%;color:var(--color-text-primary);box-sizing:border-box;border-radius:.5rem;height:36px;padding:.25rem 1.5rem .25rem .5rem;font-size:.875rem;transition:border-color .15s,border-radius .15s}.header-search-input:focus{border-color:var(--color-secondary);outline:none;box-shadow:0 0 0 2px #0891b21a}.header-search-input::placeholder{color:var(--color-text-tertiary)}.header-search-wrapper:has(.header-search-suggestions) .header-search-input{border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}.header-search-input-wrapper{width:100%;position:relative}.header-search-icon{color:var(--color-text-tertiary);pointer-events:none;z-index:1;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.header-search-input:not(:placeholder-shown)~.header-search-icon{display:none}.header-search-suggestions{background-color:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-top:none;border-left:1px solid var(--color-border-medium);border-right:1px solid var(--color-border-medium);border-bottom:1px solid var(--color-border-medium);z-index:1000;border-radius:0 0 .5rem .5rem;max-height:200px;margin-top:-1px;position:absolute;top:36px;left:0;right:0;overflow-y:auto;box-shadow:0 10px 15px -3px #0000001a}.header-search-wrapper:has(.header-search-suggestions) .header-search-input:focus{border-bottom-color:var(--color-secondary)}.header-search-suggestion-item{text-align:left;width:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s;display:flex}.header-search-suggestion-item:hover,.header-search-suggestion-item:focus{background-color:var(--color-bg-secondary);outline:none}.header-search-suggestion-item:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.header-search-suggestion-item:last-child{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.header-search-suggestion-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.header-search-suggestion-type{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-radius:.25rem;flex-shrink:0;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.header-actions{flex:none;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}@media (min-width:1024px){.header-actions{margin-left:auto}}.mobile-nav{background-color:var(--color-bg-primary);width:min(340px,85vw);height:100vh;box-shadow:var(--shadow-lg);z-index:1100;visibility:hidden;pointer-events:none;flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;transition:transform .3s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-110%)}.mobile-nav.open{visibility:visible;pointer-events:auto;transform:translate(0)}@media (min-width:1024px){.mobile-nav{display:none}}.mobile-nav-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mobile-nav-title{color:var(--color-text-primary);font-size:1rem;font-weight:600}.mobile-nav-close-button{border:1px solid var(--color-border);width:100%;min-height:48px;color:var(--color-text-primary);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background:#ffffff0d;border-radius:.75rem;justify-content:center;align-items:center;margin-top:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.mobile-nav-close-button:hover,.mobile-nav-close-button:focus-visible{border-color:var(--color-secondary);background-color:#ffffff1a;outline:none}.mobile-nav-links{flex-direction:column;gap:.5rem;display:flex}.mobile-nav-links .nav-link{background-color:#ffffff05;border-radius:.75rem;align-items:center;width:100%;padding:.5rem 1rem;font-size:1.125rem;display:flex;transform:none}.mobile-nav-links .nav-link.active{background-color:#ffffff14}.mobile-nav-links .nav-link.active:after{display:none}.mobile-nav-footer{border-top:1px solid #ffffff14;margin-top:auto;padding-top:1.5rem}.mobile-nav-backdrop{opacity:0;pointer-events:none;z-index:1000;background:#0009;transition:opacity .3s;position:fixed;inset:0}.mobile-nav-backdrop.open{opacity:1;pointer-events:auto}@media (min-width:1024px){.mobile-nav-backdrop{display:none}}.logo{color:var(--color-text-primary);flex-shrink:0;align-items:center;gap:.5rem;padding:.25rem 0;text-decoration:none;display:flex;position:relative}@media (min-width:1024px){.logo{align-self:center;margin-right:10px}}.logo .logo-icon{opacity:.7;filter:drop-shadow(0 0 6px #22d3ee66);color:var(--color-secondary);flex-shrink:0;align-items:center;font-size:1.875rem;line-height:1;transition:all .15s;display:flex}.logo .logo-icon svg{stroke:currentColor;width:1.5em;height:1.5em}.logo h1{font-family:var(--font-cinzel),serif;margin:0;font-size:1.875rem;font-weight:600;line-height:1.1;transition:all .15s}.logo .logo-text{flex-direction:column;align-items:flex-start;gap:-2px;display:flex;position:relative}.logo .logo-word{background:linear-gradient(135deg,var(--color-text-primary)0%,var(--color-secondary)30%,var(--color-text-primary)60%,var(--color-secondary)100%);-webkit-text-fill-color:#0000;letter-spacing:.08em;text-transform:uppercase;filter:drop-shadow(0 0 8px #22d3ee4d);background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:.95em;display:block;position:relative}.logo .logo-word:first-child{margin-bottom:-2px;font-size:1em}.logo:hover .logo-icon{opacity:1;filter:drop-shadow(0 0 12px #22d3eecc);transform:scale(1.15)rotate(8deg)}.logo:hover h1{transform:scale(1.03)}.logo:hover .logo-word{animation:3s ease-in-out infinite shimmer}.logo:before,.logo:after{content:"";background:linear-gradient(90deg,transparent,var(--color-secondary),transparent);opacity:0;width:0;height:2px;transition:width .3s;position:absolute;left:50%;transform:translate(-50%)}.logo:before{top:-2px}.logo:after{bottom:-2px}.logo:hover:before,.logo:hover:after{opacity:.8;width:100%}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}.nav{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;width:100%;display:flex}@media (min-width:1024px){.nav{justify-content:flex-start;gap:1rem;width:auto}}@media (min-width:1200px){.nav{gap:2rem}}.nav-desktop{display:none!important}@media (min-width:1024px){.nav-desktop{display:flex!important}}.nav-link{color:var(--color-text-primary);white-space:nowrap;border-radius:.5rem;padding:.25rem .5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;position:relative}@media (min-width:640px){.nav-link{padding:.5rem 1rem;font-size:1rem}}@media (min-width:1024px){.nav-link{font-size:1.125rem}}.nav-link:hover{background-color:#0000000d;transform:translateY(-2px)}.nav-link:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;background-color:#0000000d}.nav-link.active{background-color:#0000001a;font-weight:600}.nav-link.active:after{content:"";background-color:var(--color-secondary);border-radius:2px;width:80%;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.main{background-color:var(--color-bg-primary);flex:1;width:100%;padding-top:1.5rem;padding-bottom:3rem}@media (min-width:640px){.main{padding-top:2rem;padding-bottom:4rem}}@media (min-width:1024px){.main{padding-top:2.5rem;padding-bottom:5rem}}.footer{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);text-align:center;border-top:1px solid var(--color-border);margin-top:auto;padding:1.5rem 0}@media (min-width:1024px){.footer{padding:2rem 0}}.footer .container{flex-direction:column;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:0 1rem;display:flex}@media (min-width:1024px){.footer .container{padding:0 2rem}}.footer-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}@media (min-width:640px){.footer-nav{gap:1rem}}.footer-link{color:var(--color-text-secondary);border-radius:.5rem;padding:.25rem .5rem;font-size:1rem;text-decoration:none;transition:all .15s}.footer-link:hover{color:var(--color-secondary);background-color:#ffffff0d}.footer-link:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.footer-link-button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}.footer-link-button:hover{color:var(--color-secondary);background-color:#ffffff0d}.footer-link-button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;background-color:#ffffff0d}.footer-controls{align-items:center;gap:1rem;display:flex}.header-top-mobile{flex:auto;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}@media (min-width:1024px){.header-top-mobile{display:none}}.header-actions-mobile{flex-shrink:0;align-items:center;display:flex}@media (min-width:1024px){.header-actions-mobile{display:none}}.logo-mobile{flex-shrink:1;gap:.25rem;min-width:0}.logo-mobile .logo-icon{flex-shrink:0;font-size:1.125rem}.logo-mobile .logo-icon svg{width:1.25em;height:1.25em}.logo-mobile h1{font-family:var(--font-cinzel),serif;flex-shrink:1;min-width:0;margin:0;font-size:1.125rem;font-weight:600;line-height:1.1;transition:all .15s}.logo-mobile .logo-text{flex-direction:column;align-items:flex-start;gap:-2px;display:flex;position:relative}.logo-mobile .logo-word{background:linear-gradient(135deg,var(--color-text-primary)0%,var(--color-secondary)30%,var(--color-text-primary)60%,var(--color-secondary)100%);-webkit-text-fill-color:#0000;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;filter:drop-shadow(0 0 8px #22d3ee4d);background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:.7em;display:block;position:relative}.logo-mobile .logo-word:first-child{font-size:.75em}@media (max-width:1023px){.header-grid{display:none}.header .container{flex-direction:row;justify-content:space-between;align-items:center}.mobile-nav-toggle{order:0}.header-actions{flex-shrink:0;order:2}.mobile-nav-links .nav-link{background-color:#ffffff0a;padding:.5rem 1rem;font-size:1rem}.mobile-nav-links .nav-link:hover{background-color:#ffffff14;transform:none}.mobile-nav-links .nav-link.active{background-color:#ffffff1f}.nav-desktop{display:none!important}}
