:root{--focus-ring:#88cddd}html{scroll-padding-bottom:6rem}a,button,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[contenteditable]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}.text-button,.textlink,summary{min-height:32px}.portrait.avatar{display:inline-flex;position:relative;align-items:center;justify-content:center;background:none;border:0;box-shadow:none;overflow:visible;flex-shrink:0;isolation:isolate;vertical-align:middle;width:48px;height:48px;color:var(--identity-color)}.portrait.avatar.large{width:156px;height:156px;margin:12px auto 20px}.portrait-image,.portrait-initial{display:block;width:76%;height:76%;border-radius:50%;object-fit:cover;background:var(--panel);border:1px solid var(--identity-color)}.portrait-initial{display:flex;align-items:center;justify-content:center;font-size:1.2em;line-height:1}.portrait.large .portrait-initial{font:56px Georgia,serif}.portrait-ornament{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.portrait.frame-plain .portrait-image,.portrait.frame-plain .portrait-initial{width:88%;height:88%;border:2px solid var(--identity-color)}.author-portrait .portrait-image,.author-portrait .portrait-initial{box-shadow:0 0 20px #d1ab6025}.thorn-crown{filter:drop-shadow(0 0 3px #e7c77060);animation:thorn-glow 5s ease-in-out infinite}.profile-summary .portrait{display:flex}.frame-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.frame-choice{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:4px;cursor:pointer}.frame-choice:has(:checked){border-color:var(--identity-color,var(--gold));background:var(--panel)}.profile-customization{border:1px solid var(--line);padding:20px;margin:24px 0}.profile-customization legend{padding:0 8px;font:22px Georgia,serif}.profile-customization p{font-size:14px;color:var(--muted)}#username-availability[data-available=false]{color:#edac9c}#username-availability[data-available=true]{color:#7fcba2}.home-continue{max-width:1120px;margin:0 auto 35px;padding:24px 32px;border:1px solid var(--line);display:flex;gap:25px;align-items:center;justify-content:space-between;background:var(--panel)}.home-continue:empty{display:none}.home-continue h2{font-size:25px;margin:8px 0}.home-continue .button{white-space:nowrap}.volume-progress{margin:20px 0;max-width:620px;color:var(--muted);font-size:13px}.volume-progress progress{display:block;width:100%;height:6px;margin-top:10px;accent-color:var(--gold)}.chapter-list>a.is-read .chapter-no::after{content:' ✓';font-size:11px}.chapter-list>a.is-bookmarked strong::after{content:' ◆';color:var(--gold);font-size:12px}.reader-contents{border:1px solid var(--line);padding:16px 20px;margin:22px auto;max-width:800px}.reader-contents summary{cursor:pointer;font-size:15px;line-height:1.6}.reader-contents summary>span{float:right;font-size:12px;color:var(--muted);max-width:60%}.reader-contents-list{max-height:430px;overflow:auto;overscroll-behavior:contain;padding-top:18px}.reader-contents-list a{display:flex;gap:12px;padding:13px 10px;border-bottom:1px solid var(--line);text-decoration:none;font-size:14px;color:var(--muted)}.reader-contents-list a[aria-current=page]{color:var(--text);background:var(--panel);border-left:3px solid var(--gold)}.reader-hud{max-width:800px;margin:20px auto 28px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:12px}.reader-hud progress{flex-basis:100%;width:100%;height:4px;accent-color:var(--gold)}.reader-hud .text-button{margin-left:auto;font-size:12px}.chapter-utilities{max-width:800px;margin:36px auto;display:flex;gap:18px;flex-wrap:wrap;align-items:center}.reader-bottom-nav{position:sticky;bottom:12px;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:740px;margin:32px auto 0;padding:10px 18px;border:1px solid var(--line);background:var(--bg);box-shadow:0 7px 30px #0003;border-radius:5px}.reader-bottom-nav a{padding:12px 0;font-size:14px;text-decoration:none}.reader-bottom-nav>a:last-child{text-align:right}.reader-bottom-nav .text-button{padding:10px 20px}.chapter-discussion{max-width:800px;margin:40px auto;padding:24px 0;border-top:1px solid var(--line)}.chapter-discussion>details>summary{font:26px Georgia,serif;cursor:pointer}.comment{padding:24px 0;border-bottom:1px solid var(--line)}.comment-author{display:flex;align-items:center;gap:12px;font-size:13px}.comment-author>div{display:flex;flex-direction:column;gap:3px}.comment-author>small{margin-left:auto;color:var(--muted)}.comment>p,.spoiler-comment p{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.spoiler-comment{padding:12px;background:var(--panel)}#comment-form{margin-top:28px}.workspace-grid,.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:34px 0}.achievement{position:relative;border:1px solid var(--line);padding:28px;opacity:.65}.achievement.earned{opacity:1;border-color:#6e918e;background:linear-gradient(135deg,#75cfc30b,transparent)}.achievement-mark{font-size:42px;color:#7fcba2;display:block;margin-bottom:20px}.achievement h2{font-size:24px}.achievement p{font-size:14px;color:var(--muted)}.review-card{border:1px solid var(--line);padding:26px;margin:20px 0}.review-card h2{font-size:24px}.review-card blockquote{padding:15px 20px;border-left:2px solid var(--gold);margin:20px 0;background:var(--panel);overflow-wrap:anywhere}.review-card form{max-width:650px;margin-top:20px}.review-card p{overflow-wrap:anywhere}.review-card .tag{text-transform:capitalize}.reading-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:10px 0 30px}.reading-overview>a{grid-column:1/-1}.beta-checklist{display:grid;gap:16px;margin:28px 0}.beta-checklist .check{padding:16px;border:1px solid var(--line);align-items:flex-start;line-height:1.6}.beta-checklist .check:has(:checked){border-color:#75cfc3;color:#a9d0c8}.beta-checklist input{flex-shrink:0;margin-top:6px}#publishing-filters{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:16px}#search-results{margin-top:28px}#search-results p{font-size:14px}.revision-diff{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.revision-diff>div{min-width:0;border:1px solid var(--line);padding:18px;max-height:400px;overflow:auto;font-size:14px}.revision-diff pre{white-space:pre-wrap;font:14px/1.7 Georgia,serif}.revision-diff .removed{background:#b85e5218}.revision-diff .added{background:#66b7a118}.revision-choice{border-top:1px solid var(--line);padding-top:16px}.reader.focused .reader-hud{display:flex}.focused .reader-bottom-nav{max-width:var(--width)}.focused .reader-contents{max-width:var(--width)}.focused .chapter-discussion,.focused .chapter-utilities{display:none}@keyframes thorn-glow{0%,100%{filter:drop-shadow(0 0 2px #e7c77040)}50%{filter:drop-shadow(0 0 5px #e7c77090)}}
@media(max-width:800px){.workspace-grid,.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-overview{grid-template-columns:1fr}.home-continue{margin:0 20px 25px;flex-direction:column;align-items:stretch}.reader-contents summary>span{float:none;display:block;max-width:100%;margin-top:5px}.revision-diff{grid-template-columns:1fr}}
@media(max-width:520px){.workspace-grid,.achievement-grid{grid-template-columns:1fr}.frame-choices{grid-template-columns:1fr}.chapter-utilities{gap:10px}.chapter-utilities .button{width:100%}.reader-bottom-nav{bottom:6px;padding:6px 12px;margin:25px -5px 0}.reader-bottom-nav .text-button{padding:10px}.reader-bottom-nav a{font-size:13px}.reader-hud .text-button{margin-left:0}.review-card{padding:18px}.profile-customization{padding:16px}.comment-author{flex-wrap:wrap}.comment-author>small{margin-left:0}nav[aria-label="Main navigation"] a{min-height:40px;display:inline-flex;align-items:center}.manuscript-table-row{overflow-wrap:anywhere}.reader-tools{gap:10px}.reader-tools .button{padding:12px}.volume-part-heading h2{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.portrait-image,.portrait-initial,.frame-choice,.reader-bottom-nav{border:1px solid CanvasText}.portrait-ornament{color:CanvasText}}

.mobile-menu-toggle{display:none}@media(max-width:760px){header .mobile-menu-toggle{display:block;margin-left:auto;padding:10px 8px;min-height:44px}header .gear{margin-left:0}header nav.mobile-collapsed{display:none}header nav:not(.mobile-collapsed){display:grid;grid-template-columns:1fr 1fr;gap:2px 18px;padding:6px 0}header nav a{padding:10px 0;min-height:44px}}
