html{scrollbar-gutter:stable}html{scroll-padding-top:var(--nav-h)}html:has(#type-ws){scrollbar-gutter:auto}body.modal-open,body:has(>.offcanvas.show){padding-right:0!important}html:has(#type-ws) .navbar{padding-right:var(--scrollbar-w,0px)}body{min-height:100vh;padding-top:var(--nav-h,4.5rem)}.passage-block,#passage-block{white-space:pre-wrap;word-break:normal;overflow-wrap:normal;hyphens:none;max-height:clamp(200px,40vh,420px);overflow-y:auto;font-family:var(--font-passage,'Literata',Georgia,serif);font-size:var(--passage-font-size);line-height:var(--passage-line-height,1.45);letter-spacing:0.01em}.card{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--panel-pad);box-shadow:var(--shadow-md);transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}.card:hover{transform:translateY(-2px)}.container{padding-left:var(--space-5);padding-right:var(--space-5);max-width:1200px;padding-top:var(--space-6)}@media (max-width:991.98px){.navbar-brand{font-size:var(--fs-lg)}#navbarCollapse.navbar-collapse{position:absolute;top:var(--nav-h,4.5rem);right:0.5rem;width:max-content;min-width:210px;max-width:min(320px,92vw);background:var(--green-900);border:1px solid var(--nav-menu-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);padding:var(--space-1);z-index:1046}#navbarCollapse .navbar-nav{width:100%;margin:0!important;padding:0;text-align:left;align-items:stretch!important}#navbarCollapse .navbar-nav .nav-item{width:100%}#navbarCollapse .navbar-nav:first-child{margin-bottom:var(--space-1)!important}#navbarCollapse .navbar-nav .nav-item{margin:0}#navbarCollapse .nav-link{display:flex;align-items:center;justify-content:flex-start;width:100%;text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-base);border:0;border-radius:var(--radius)}#navbarCollapse form{display:block!important;width:100%;margin:0}#navbarCollapse .nav-link:hover,#navbarCollapse .nav-link:focus{background-color:var(--nav-menu-hover)}.container{padding-left:var(--space-4);padding-right:var(--space-4)}}.navbar.fixed-top{min-height:4.5rem}.navbar .navbar-nav .nav-link{display:flex;align-items:center;line-height:1.5;font-family:inherit;font-size:inherit;font-weight:var(--fw-medium);cursor:pointer}.navbar .navbar-nav .nav-link[aria-current="page"],.navbar .navbar-nav .nav-link[aria-current="location"]{color:var(--nav-current-ink);text-decoration:underline 2px var(--nav-current-line);text-underline-offset:0.45em}.navbar .navbar-nav .nav-link[aria-current="page"] .bg-av{box-shadow:0 0 0 2px var(--nav-current-gap),0 0 0 4px var(--nav-current-line)}.navbar .navbar-nav form.d-inline{display:flex;align-items:center}.navbar-toggler{padding:var(--space-1) var(--space-2);font-size:var(--fs-lg);border:none!important}.navbar-toggler:focus{box-shadow:none}.navbar-toggler{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.touch-notice{background:var(--accent-brass-soft);color:var(--text-primary);border-bottom:1px solid var(--border-default)}.touch-notice[hidden]{display:none}.touch-notice__inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding-top:var(--space-2);padding-bottom:var(--space-2)}.touch-notice__text{flex:1 1 16rem;margin:0;font-size:var(--fs-base)}.touch-notice__link{color:var(--brand);font-weight:var(--fw-semibold)}.touch-notice__dismiss{min-height:44px;min-width:44px}@media (hover:none) and (pointer:coarse){.fc-entry{min-height:44px;display:inline-flex;align-items:center}}.kbd{display:inline-block;padding:var(--space-hair) var(--space-2);margin:0 var(--space-hair) 0 0;border-radius:var(--radius);background:linear-gradient(180deg,var(--paper-000),var(--paper-200));border:1px solid var(--kbd-line);box-shadow:var(--kbd-shadow);color:var(--text-primary);font-weight:var(--fw-semibold);font-family:var(--font-mono,"Courier New",monospace);line-height:1;font-size:var(--fs-md);vertical-align:middle;text-align:center;min-width:1.1em}.kbd.enter-key{background:transparent;color:var(--cursor-bar,#b08d3e);padding:0 var(--space-1);min-width:auto;border-radius:var(--radius-sm);font-weight:var(--fw-semibold);box-shadow:none;position:relative}.kbd.enter-key::after{display:none}#moving-box .mb-text{display:inline-block;white-space:nowrap}.char.current>.enter-key{position:relative;text-decoration:none}.char.current>.enter-key::after{display:none!important}:root{--underline-duration:200ms;--underline-easing:cubic-bezier(.2,.9,.3,1);--underline-height:3px;--underline-color:var(--cursor-bar,#b08d3e);--underline-offset:-4px;--caret-follow:60ms;--caret-resize:80ms}#enter-underline{position:absolute;left:0;top:0;height:var(--underline-height);background:var(--underline-color);border-radius:var(--radius-sm);pointer-events:none;transition:transform var(--underline-duration) var(--underline-easing),width var(--underline-duration) var(--underline-easing),top var(--underline-duration) var(--underline-easing),opacity calc(var(--underline-duration) * 0.8) ease;opacity:0;will-change:transform,width,top,opacity;z-index:2}#enter-underline.small{height:calc(var(--underline-height) * 0.75)}#moving-box.needs-enter{outline:2px solid color-mix(in srgb,var(--cursor-bar,#b08d3e) 24%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--cursor-bar,#b08d3e) 12%,transparent)}#moving-box.needs-enter .hint{font-style:italic;opacity:0.95}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-collapse{transition:all var(--dur-slow) var(--ease-standard)}@media (max-width:575.98px){.container{padding-left:var(--space-3);padding-right:var(--space-3)}}.toast-notice{position:fixed;top:4.75rem;left:50%;transform:translateX(-50%) translateY(-6px);background:var(--toast-bg);color:var(--toast-ink);padding:var(--space-2) var(--space-4);border-radius:var(--radius);z-index:1600;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard);font-size:var(--fs-base);max-width:calc(100vw - 24px);text-align:center;white-space:normal;overflow-wrap:break-word}.toast-notice.show{opacity:1;transform:translateX(-50%) translateY(0)}#type-ws{display:flex;flex-direction:row;height:calc(100vh - var(--nav-h,4.5rem));height:calc(100dvh - var(--nav-h,4.5rem));overflow:hidden;background:var(--bg-page)}#ws-main{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}#ws-row{display:flex;flex:1;min-height:0;overflow:hidden}.ws-panel{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-surface)}.panel-inner{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-3)}#study-tools .st-body{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;background:linear-gradient(var(--bg-surface) 40%,transparent) center top / 100% 26px no-repeat local,linear-gradient(transparent,var(--bg-surface) 60%) center bottom / 100% 26px no-repeat local,linear-gradient(var(--panel-scroll-shadow),transparent) center top / 100% 13px no-repeat scroll,linear-gradient(transparent,var(--panel-scroll-shadow)) center bottom / 100% 13px no-repeat scroll,var(--bg-surface)}#study-tools .st-body::-webkit-scrollbar{width:10px}#study-tools .st-body::-webkit-scrollbar-track{background:transparent}#study-tools .st-body::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:3px solid transparent;border-radius:var(--radius)}#study-tools .st-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}#panel-center{flex:1;min-width:320px}.ws-hidden{display:none!important}#panel-center .passage-block,#panel-center #passage-block{max-height:none!important;overflow-y:visible!important}#type-ws .ws-panel{box-shadow:none}#type-ws #panel-center .panel-inner{background:var(--bg-page);padding:var(--study-gap) var(--panel-pad) var(--study-pad-bottom);scrollbar-gutter:stable}#type-ws #type-header>*,#type-ws #type-actionbar>*{width:100%;max-width:var(--passage-measure);margin-left:auto;margin-right:auto}#type-ws #center-passage-content{width:100%;max-width:var(--passage-measure);margin-left:auto;margin-right:auto}#type-ws #panel-center .passage-block{background:transparent;color:var(--text-primary);border:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:none;padding:var(--panel-pad) var(--card-pad-x) var(--passage-pad-bottom)}#type-header{flex-shrink:0;background:var(--bg-surface);border-bottom:1px solid var(--border-hairline);padding:var(--space-2) calc(var(--panel-pad) + var(--scrollbar-w,0px)) var(--space-2) var(--panel-pad)}#type-header:empty{display:none}.sh-band{background:var(--bg-surface);border-bottom:1px solid var(--border-hairline);padding:var(--space-2) var(--panel-pad)}.sh-band[hidden]{display:none}.sh-band>.sh{max-width:var(--passage-measure);margin:0 auto}.passage-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.passage-card-head{padding:var(--space-4) var(--card-pad-x) var(--space-3);border-bottom:1px solid var(--border-hairline)}.rule-top{display:flex;align-items:flex-start;gap:0.5rem;margin-bottom:var(--space-2)}.rule-crumb{flex:1;min-width:0;padding-top:var(--space-2)}.rule-crumb .bc-sep{margin:0 var(--space-1)}.card-intro{font-size:var(--fs-md);color:var(--text-muted);line-height:1.5;margin:0 0 var(--space-3)}.card-intro[hidden]{display:none}.card-intro--tip{position:relative;padding-right:var(--space-6)}.card-intro-title{font-weight:var(--fw-semibold);color:var(--text-secondary)}.card-intro-close{position:absolute;top:0;right:0;background:none;border:none;font-size:var(--fs-md);line-height:1;color:var(--text-muted);cursor:pointer;padding:var(--space-hair) var(--space-1)}.card-intro-close:hover{color:var(--text-secondary)}.passage-card-intro{padding:var(--space-4) var(--card-pad-x) 0}.rule-past{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0.25rem 0.35rem;margin-top:var(--space-2)}.rule-past[hidden]{display:none}.rule-past-list{display:contents}.metric-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--metric-min,120px),1fr));gap:var(--space-3)}.metric-tiles--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}@media (min-width:576px){.metric-tiles--compact{grid-template-columns:repeat(4,minmax(0,1fr))}}.metric-tile{background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius);padding:var(--space-3) var(--space-4);min-width:0;text-align:center}.metric-tiles--compact .metric-tile{padding:var(--space-3)}.metric-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:1.1;color:var(--text-primary)}.metric-lbl{margin-top:var(--space-hair)}.metric-note{font-size:var(--fs-sm);color:var(--text-muted);margin-top:var(--space-hair)}.metric-note:empty{display:none}.metric-up{color:var(--success);font-weight:var(--fw-semibold)}.metric-down,.metric-flat{color:var(--text-muted)}.metric-up .bi,.metric-down .bi{margin-right:var(--space-hair)}.metric-tile.at-goal{border-color:var(--accent-brass)}.metric-tile.at-goal .metric-num{color:var(--accent-brass-deep)}.rule-notes{display:flex;flex-direction:column;gap:0.75rem;margin-top:var(--space-4)}.rule-notes-list{display:contents}.rule-notes:not(:has(.rule-note,.rule-trap:not([hidden]))){display:none}.rule-trap,.rule-note{border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3)}.rule-trap{background:var(--warning-soft);border:1px solid var(--warning);color:var(--warning)}.rule-note{background:var(--bg-inset);border:1px solid var(--border-default);color:var(--text-primary)}.rule-note--memory_aid,.rule-note--numbers{background:var(--brand-soft);border-color:var(--brand-soft)}.rule-trap[hidden]{display:none}.rule-trap-head,.rule-note-head{margin-bottom:var(--space-1)}.rule-note-head{color:var(--text-muted)}.rule-note--memory_aid .rule-note-head,.rule-note--numbers .rule-note-head{color:var(--brand)}.rule-trap-text,.rule-note-text{font-family:var(--font-passage);font-size:var(--fs-md);line-height:1.5;white-space:pre-wrap}.passage-card>.rule-notes{margin:calc(-1 * var(--space-6)) var(--card-pad-x) var(--space-5);position:relative}.passage-title-row{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);text-align:center}.type-issue{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);line-height:1.25;color:var(--text-primary);flex:1;min-width:0}.passage-title-row>.type-issue{flex:none;max-width:100%}.modal-heading{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-hair);margin:0;text-align:center;font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);line-height:1.25;color:var(--text-primary)}.modal-header:has(>.modal-heading){position:relative}.modal-header:has(>.modal-heading)>.btn-close{position:absolute;top:var(--space-4);right:var(--space-4)}.celebrate-head{flex-direction:column;align-items:center;gap:var(--space-2)}.celebrate-head>.modal-heading{flex:none;width:100%}.celebrate-icon{line-height:1}.modal.show .celebrate-icon,.celebrate-band:not([hidden]) .celebrate-icon{animation:celebrateIn var(--dur-flip) var(--ease-standard) both}@keyframes celebrateIn{from{opacity:0;transform:scale(0.4) rotate(-12deg)}60%{opacity:1;transform:scale(1.12) rotate(4deg)}to{opacity:1;transform:none}}.celebrate-line{margin:0;text-align:center;color:var(--text-secondary)}.celebrate-extra{margin:var(--space-2) 0 0;text-align:center;font-size:var(--fs-md);color:var(--text-secondary)}.celebrate-extra .bi{color:var(--success);margin-right:var(--space-1)}.celebrate-band{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--success-soft);color:var(--text-primary)}.celebrate-band[hidden]{display:none}.celebrate-band .bi{color:var(--accent-brass);font-size:var(--fs-4xl);line-height:1}.celebrate-band-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.25}.celebrate-band-sub{font-size:var(--fs-md);color:var(--text-secondary)}.celebrate-band-note{margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--text-muted)}.celebrate-band-note[hidden]{display:none}.sh-seg-count.sh-count-flash{animation:goalFlash var(--dur-roll) var(--ease-standard);border-radius:var(--radius-sm)}@keyframes goalFlash{30%{background:var(--accent-brass);color:var(--fill-ink);opacity:1}}.passage-meta-side{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0.4rem}.type-freq-label{font-size:var(--fs-2xs);color:var(--text-muted);white-space:nowrap;line-height:1.2;margin-top:var(--space-hair)}.passage-meta-side .type-freq-label{margin-top:0}.passage-sub-row{display:flex;flex-direction:column-reverse;align-items:center}.passage-card-head .rule-past{justify-content:center}.passage-counts{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2xs);color:var(--text-muted);margin-top:var(--space-2)}.passage-type-badge{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.04em;padding:var(--space-hair) var(--space-2);border-radius:var(--radius-pill);background:var(--bg-inset);color:var(--text-secondary);border:1px solid var(--border-default);white-space:nowrap}.type-flames{display:flex;align-items:center;gap:2px;flex-shrink:0}.type-flames .bi-fire{font-size:var(--fs-lg)}.type-nextgen-star{color:var(--cursor-bar,#b08d3e);flex-shrink:0}.type-nextgen-star .bi-star-fill{font-size:var(--fs-base)}.flame-lit{color:var(--flame-lit,var(--accent-brass))}.flame-unlit{color:var(--flame-unlit,var(--border-strong))}#type-actionbar{flex-shrink:0;background:var(--bg-surface);border-top:1px solid var(--border-hairline);padding:var(--space-2) calc(var(--panel-pad) + var(--scrollbar-w,0px)) var(--space-2) var(--panel-pad)}.type-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.type-controls .btn{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:var(--icon-gap);padding:0 var(--space-3);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1;letter-spacing:0;border-radius:var(--radius);box-shadow:none;transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.type-controls .btn i{font-size:var(--fs-xs);margin:0!important}.type-controls .btn-outline-secondary{color:var(--text-secondary);background:var(--bg-surface);border-color:var(--border-default)}.type-controls .btn-outline-secondary:not([aria-pressed="true"]):hover,.type-controls .btn-outline-secondary:not([aria-pressed="true"]):focus-visible{color:var(--brand);background:var(--brand-soft);border-color:var(--brand)}.type-controls #btn-start{font-weight:var(--fw-semibold);padding:0 var(--space-4)}.type-controls #btn-start.is-running{background:var(--accent-brass-soft);border-color:var(--accent-brass-soft);color:var(--accent-brass-deep);font-weight:var(--fw-semibold)}.type-controls #btn-start .run-dot{width:7px;height:7px;border-radius:var(--radius-round);background:var(--accent-brass);animation:typeRunPulse var(--dur-pulse) ease-in-out infinite}@keyframes typeRunPulse{0%,100%{opacity:0.35;transform:scale(0.85)}50%{opacity:1;transform:scale(1)}}.stat-chips{display:flex;align-items:center;gap:6px;margin-left:auto}.view-toggles{display:inline-flex;margin-left:auto}.view-toggles + .stat-chips{margin-left:var(--space-3)}.view-toggles>.btn{position:relative}.view-toggles>.btn:not(:first-child){margin-left:calc(-1 * var(--border-w));border-top-left-radius:0;border-bottom-left-radius:0}.view-toggles>.btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.view-toggles>.btn[aria-pressed="true"],.view-toggles>.btn:hover{z-index:1}.stat-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:var(--space-hair) var(--space-2);white-space:nowrap}.stat-chip .bi{font-size:var(--fs-sm);color:var(--text-muted)}@media (max-width:991.98px){#type-ws #type-actionbar{padding-block:var(--space-1)}#type-ws .type-controls{gap:6px}#type-ws .type-controls .btn{height:30px;padding:0 var(--space-3);flex:0 0 auto}#type-ws .type-controls .stat-chips{margin-left:auto}#type-ws .type-controls .view-toggles + .stat-chips{margin-left:var(--space-2)}}@media (max-width:767.98px){#type-ws .type-controls .btn-outline-secondary .ctl-label{display:none}#type-ws .type-controls .btn-outline-secondary{padding:0 var(--space-2)}#type-ws .type-controls .btn i{margin:0!important}}.tag-chip{font-size:var(--fs-xs);user-select:none}.tag-remove:hover{opacity:0.7}.passage-block .char.user-hl-yellow{background-color:var(--user-hl-yellow)}.passage-block .char.user-hl-green{background-color:var(--user-hl-green)}.passage-block .char.user-hl-pink{background-color:var(--user-hl-pink)}.passage-block .char.user-fmt-bold{font-weight:var(--fw-bold)}.passage-block .char.user-fmt-italic{font-style:italic}.passage-block .char.user-fmt-under{text-decoration:none}.passage-block .user-ul-wrap{text-decoration:underline;text-decoration-color:var(--text-muted);text-decoration-skip-ink:none;text-underline-offset:3px;text-decoration-thickness:1.5px}.passage-block .user-ul-wrap>.char{padding:0}.ann-char.user-hl-yellow{background-color:var(--user-hl-yellow)}.ann-char.user-hl-green{background-color:var(--user-hl-green)}.ann-char.user-hl-pink{background-color:var(--user-hl-pink)}.ann-char.user-fmt-bold{font-weight:var(--fw-bold)}.ann-char.user-fmt-italic{font-style:italic}.ann-surface .user-ul-wrap{text-decoration:underline;text-decoration-color:var(--text-muted);text-decoration-skip-ink:none;text-underline-offset:3px;text-decoration-thickness:1.5px}.annotations-hidden .ann-char.user-hl-yellow,.annotations-hidden .ann-char.user-hl-green,.annotations-hidden .ann-char.user-hl-pink{background-color:transparent}.annotations-hidden .ann-char.user-fmt-bold{font-weight:inherit}.annotations-hidden .ann-char.user-fmt-italic{font-style:inherit}.annotations-hidden .ann-surface .user-ul-wrap{text-decoration:none}.ann-char.term-mark{background-color:var(--search-hl-bg)}.passage-block .char.current{background:var(--cursor-char-bg)!important}.annotation-toolbar{padding:var(--space-1) var(--space-2);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius)}.ann-label{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.ann-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--icon-gap);width:28px;height:28px;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.ann-btn.ann-btn-text{width:auto;padding:0 var(--space-2)}.ann-btn:not(.toggle-btn):hover{background:var(--brand-soft);border-color:var(--brand)}.ann-btn[aria-pressed="true"] strong,.ann-btn[aria-pressed="true"] em,.ann-btn[aria-pressed="true"] u{color:var(--brand-contrast)}.ann-swatch{display:block;width:16px;height:16px;border-radius:var(--radius-sm);border:1px solid var(--swatch-line)}.ann-hl[data-kind="hl_yellow"] .ann-swatch{background:var(--user-hl-yellow)}.ann-hl[data-kind="hl_green"] .ann-swatch{background:var(--user-hl-green)}.ann-hl[data-kind="hl_pink"] .ann-swatch{background:var(--user-hl-pink)}.ann-sep{display:inline-block;width:1px;height:20px;background:var(--border-default);margin:0 var(--space-hair)}.passage-block.annotations-hidden .char.user-hl-yellow,.passage-block.annotations-hidden .char.user-hl-green,.passage-block.annotations-hidden .char.user-hl-pink{background-color:transparent}.passage-block.annotations-hidden .char.user-fmt-bold{font-weight:inherit}.passage-block.annotations-hidden .char.user-fmt-italic{font-style:inherit}.passage-block.annotations-hidden .char.user-fmt-under{text-decoration:none}.passage-block.annotations-hidden .user-ul-wrap{text-decoration:none}#annotation-section.annotations-disabled{opacity:0.4;pointer-events:none;user-select:none}.site-footer{--foot-head:var(--brass-600);font-size:var(--fs-md);color:var(--foot-ink);background:var(--green-900)}.site-footer-top{padding:var(--space-6) 0 var(--space-6)}.site-footer-grid{display:grid;grid-template-columns:minmax(0,16rem) repeat(4,auto);justify-content:space-between;gap:2.25rem 2rem}.site-footer-grid--member{grid-template-columns:minmax(0,16rem) repeat(3,auto)}.site-footer-mark{font-family:var(--wordmark-font);font-size:var(--wordmark-size);font-weight:var(--wordmark-weight);letter-spacing:var(--wordmark-tracking);color:var(--wordmark-ink);line-height:1;display:inline-block}.site-footer-mark .footer-cursor{border-bottom:2.5px solid var(--accent-brass);padding-bottom:var(--space-hair)}.site-footer-tag{margin:var(--space-3) 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--foot-ink-soft);max-width:24ch}.site-footer-col h2{color:var(--foot-head);margin:var(--space-1) 0 var(--space-4)}.site-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.65rem}.site-footer a{color:var(--foot-ink);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}.site-footer a:hover,.site-footer a:focus-visible{color:var(--foot-ink-max);text-decoration:underline;text-decoration-color:var(--accent-brass);text-underline-offset:3px}.site-footer-bar{padding:var(--space-6) 0 var(--space-5);border-top:1px solid var(--foot-line)}.site-footer-bar-inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0.4rem 1.5rem;font-size:var(--fs-sm);color:var(--foot-ink-soft)}.site-footer-patent{color:var(--foot-head);white-space:nowrap}.site-footer-disclaimer{margin:var(--space-3) 0 0;font-size:var(--fs-2xs);line-height:1.55;color:var(--foot-ink-soft)}.site-footer-disclaimer a{color:var(--foot-ink);text-decoration:underline;text-underline-offset:2px}.site-footer>.site-footer-bar:first-child{border-top:none}@media (max-width:860px){.site-footer-grid{grid-template-columns:1fr auto;justify-content:normal}.site-footer-brand{grid-column:1 / -1}}.bg-av{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-round);overflow:hidden;flex:0 0 auto;line-height:0;vertical-align:middle}.bg-av__icon{width:56%;height:56%}.bg-av__icon--xl{width:92%;height:92%}.bg-av__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bg-av--nav{width:32px;height:32px}.bg-av--sm{width:80px;height:80px}.bg-av--lg{width:130px;height:130px}.bg-av--ring{border:3px solid var(--bg-inset);box-shadow:var(--shadow-avatar)}.bg-av--lg.bg-av--ring{box-shadow:var(--shadow-avatar-lg)}.bg-av--c-green{background:var(--green-800);color:var(--brand-contrast)}.bg-av--c-forest{background:var(--green-900);color:var(--brand-contrast)}.bg-av--c-moss{background:var(--green-700);color:var(--brand-contrast)}.bg-av--c-brass{background:var(--brass-600);color:var(--green-900)}.bg-av--c-brassd{background:var(--brass-700);color:var(--paper-000)}.bg-av--c-sage{background:var(--green-300);color:var(--green-900)}.bg-av--c-cream{background:var(--brass-100);color:var(--green-900)}.print-notice{display:none}@media print{#passage-block,.passage-block,#demo-passage-block,.lp-mock-passage,.fc-card-text,.reference-text,.constitution-text{display:none!important}body:has(#passage-block,.passage-block,#demo-passage-block,.lp-mock-passage,.fc-card-text) .print-notice{display:block;padding:var(--space-4) 0;font-style:italic}.navbar.fixed-top{position:static!important}body{padding-top:0!important}.navbar .navbar-toggler{display:none!important}}.mode-name{font-style:italic}.marketing-page{max-width:820px;margin:0 auto}.marketing-page h1{line-height:1.2}.marketing-page h2{margin-top:var(--space-6);font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary)}.marketing-page h3{margin-top:var(--space-5);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-primary)}.marketing-page p{color:var(--text-primary)}.marketing-page blockquote{border-left:3px solid var(--accent-brass);background:var(--bg-inset);margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--text-primary)}.email-capture{max-width:34rem;margin:var(--space-5) 0}.email-capture .capture-heading{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--text-primary);margin-bottom:var(--space-1)}.email-capture .capture-body{color:var(--text-secondary);margin-bottom:var(--space-3)}.email-capture .capture-form{position:relative}.email-capture .capture-row{display:flex;flex-wrap:wrap;gap:0.5rem}.email-capture .capture-email{flex:1 1 14rem;min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-base)}.email-capture .capture-email:focus{outline:2px solid var(--brand);outline-offset:1px}.email-capture .capture-btn{background:var(--brand);color:var(--brand-contrast);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-weight:var(--fw-semibold);white-space:nowrap}.email-capture .capture-btn:hover{background:var(--brand-hover);color:var(--brand-contrast)}.email-capture .capture-fine{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--space-2)}.email-capture .capture-thanks{color:var(--text-primary);background:var(--brand-soft);border-left:3px solid var(--brand);padding:var(--space-3) var(--space-4);border-radius:var(--radius)}.email-capture .hp-field,.auth-card .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}section>.container,.site-footer .container{padding-top:0}.email-capture-band{background:var(--bg-surface);border-top:1px solid var(--border-hairline);padding:var(--space-6) 0}.email-capture-band .email-capture{margin:0 auto;text-align:center}.email-capture-band .capture-row{justify-content:center}.email-capture-band .capture-fine{text-align:left}@media (max-width:575.98px){.email-capture .capture-btn{flex:1 1 100%}}.mk-tab{display:block;width:2.25rem;height:4px;background:var(--accent-brass);border-radius:2px;margin-bottom:0.6rem}.wc-figure>.mk-tab,.wc-table-wrap>.mk-tab{margin-left:auto;margin-right:auto}.wc-figure>.wc-title,.wc-table-wrap>.wc-title{text-align:center}.mk-kicker{font-family:var(--font-body);font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent-brass-deep);margin-bottom:0.4rem}.mk-standfirst{font-family:var(--font-display);font-size:1.15rem;line-height:1.5;color:var(--text-secondary);margin:0.5rem 0 1.25rem}.mk-rule{border:0;border-top:1px solid var(--border-default);margin:2.25rem 0}.mk-byline{font-family:var(--font-body);font-size:0.8rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-secondary)}.mk-pull{font-family:var(--font-display);font-size:1.3rem;line-height:1.4;color:var(--text-primary);border-left:4px solid var(--accent-brass);padding:0.25rem 0 0.25rem 1.1rem;margin:1.75rem 0}.mk-pull-cite{display:block;font-family:var(--font-body);font-size:0.85rem;color:var(--text-secondary);margin-top:0.5rem}.mk-blockquote{border-left:3px solid var(--accent-brass);padding:0.5rem 0 0.5rem 1.1rem;margin:1.25rem 0;color:var(--text-primary)}.wc-figure{margin:var(--space-5) 0;padding:var(--space-4) var(--panel-pad);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.wc-chart{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-2);margin-top:var(--space-4)}.wc-chart-y-title{grid-row:1;grid-column:1;align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--fs-sm);color:var(--text-secondary)}.wc-chart-plot{grid-row:1;grid-column:2;position:relative;height:clamp(12rem,36vw,17rem);margin:var(--space-5) 0 0 var(--space-6);border-bottom:var(--border-w) solid var(--border-default)}.wc-chart-tick{position:absolute;left:0;right:0;bottom:calc(var(--v) / var(--max) * 100%);border-top:var(--border-w) dashed var(--border-default)}.wc-chart-tick:first-child{border-top:0}.wc-chart-tick span{position:absolute;right:100%;padding-right:var(--space-2);transform:translateY(-50%);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);line-height:1;color:var(--text-secondary)}.wc-chart-bars,.wc-chart-x{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:var(--space-5);padding-inline:var(--space-3)}.wc-chart-bars{position:absolute;inset:0;align-items:end}.wc-chart-bar{position:relative;height:calc(var(--v) / var(--max) * 100%);background:var(--chart-doing)}.wc-chart-bar span{position:absolute;left:0;right:0;bottom:100%;padding-bottom:var(--space-1);text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1;color:var(--text-primary)}.wc-chart-x{grid-row:2;grid-column:2;margin-left:var(--space-6);padding-top:var(--space-2)}.wc-chart-x span{text-align:center;font-size:var(--fs-xs);line-height:1.3;color:var(--text-secondary)}.wc-chart-x-title{grid-row:3;grid-column:2;margin-left:var(--space-6);padding-top:var(--space-2);text-align:center;font-size:var(--fs-sm);color:var(--text-secondary)}@media (max-width:575.98px){.wc-chart-bars,.wc-chart-x{column-gap:var(--space-1);padding-inline:var(--space-1)}}.wc-title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-base);line-height:1.3;color:var(--text-primary)}.wc-deck{font-size:var(--fs-md);line-height:1.45;color:var(--text-secondary);margin:var(--space-hair) 0 var(--space-4)}.wc-source,.wc-note{font-size:var(--fs-sm);line-height:1.45;color:var(--text-secondary);margin-top:var(--space-2)}.wc-caption{font-size:var(--fs-md);color:var(--text-secondary);margin-top:var(--space-3);line-height:1.5}.wc-table-wrap{margin:var(--space-5) 0}.wc-table-scroll{overflow-x:auto}.wc-table{border-collapse:collapse;width:100%;font-size:var(--fs-md);border-top:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong)}.wc-table th,.wc-table td{border:0;padding:var(--space-2) var(--space-3);text-align:right}.wc-table th:first-child,.wc-table td:first-child{text-align:left}.wc-table thead th{background:var(--bg-inset);color:var(--text-primary);font-weight:var(--fw-bold);border-bottom:1px solid var(--border-strong)}.wc-table tfoot td{font-size:var(--fs-sm);color:var(--text-secondary);border-top:1px solid var(--border-default)}.lp-sr-figure{max-width:40rem;margin:0 auto var(--space-6)}.lp-sr-figure svg{width:100%;height:auto;display:block}.lp-sr-figure .fc-axis{stroke:var(--border-strong);stroke-width:1.5;fill:none}.lp-sr-figure .fc-nodecay{stroke:var(--text-muted);stroke-width:2;stroke-dasharray:5 5;fill:none}.lp-sr-figure .fc-review{stroke:var(--brand);stroke-width:2.5;fill:none}.lp-sr-figure .fc-tick{stroke:var(--accent-brass);stroke-width:2}.lp-sr-figure .fc-dot{fill:var(--accent-brass)}.lp-sr-figure text{fill:var(--text-muted);font-size:13px;font-family:inherit}.lp-sr-figure .fc-key-review{fill:var(--brand)}.lp-sr-figure figcaption{color:var(--text-secondary);font-size:0.95rem;margin-top:var(--space-3)}.faq-table tbody tr + tr>*{border-top:1px solid var(--border-default)}.faq-table th,.faq-table td{vertical-align:top;padding-top:var(--space-2);padding-bottom:var(--space-2)}.faq-jx-table th{text-align:left}.faq-jx-table th[scope="row"]{font-weight:var(--fw-semibold);white-space:nowrap}@media (max-width:575.98px){.faq-jx-table th[scope="row"]{white-space:normal}}.faq-jx-table td{text-align:left;line-height:1.6}.faq-jx-reason-row{margin-bottom:var(--space-1)}.faq-jx-reason-row:last-child{margin-bottom:0}.faq-jx-reason{color:var(--text-primary);font-weight:var(--fw-semibold)}.wc-table--text th,.wc-table--text td{text-align:left;line-height:1.5}.wc-table--text th[scope="row"]{font-weight:var(--fw-semibold)}.faq-toc{margin:var(--space-5) 0 var(--space-6)}.faq-toc .mk-kicker{margin-top:var(--space-4)}.faq-toc-list{margin:0;padding-left:var(--space-5)}.faq-toc-list li{margin-bottom:var(--space-1)}.faq-group{margin:var(--space-7) 0 0;padding-top:var(--space-5);border-top:1px solid var(--border-default)}.marketing-page .faq-group + h2{margin-top:var(--space-2)}.marketing-page .faq-group + h2{scroll-margin-top:var(--space-7)}.num-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}.num-tile{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.num-tile-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);font-size:var(--fs-4xl);line-height:1;color:var(--accent-brass-deep)}.num-tile-unit{font-size:var(--fs-xl);color:var(--text-muted);font-family:var(--font-body);white-space:nowrap}.num-tile-label{color:var(--text-secondary);font-size:var(--fs-md);margin-top:var(--space-2)}.num-tiles-note{color:var(--text-muted);font-size:var(--fs-md);margin:var(--space-4) 0 0}@media (max-width:767.98px){.num-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.num-tile{padding:var(--space-3)}}.cta-card{margin:var(--space-6) 0;padding:var(--panel-pad) var(--space-5);background:var(--brand-soft);border:1px solid var(--border-default);border-left:4px solid var(--brand);border-radius:var(--radius-lg)}.cta-card>:first-child{margin-top:0}.cta-card>:last-child{margin-bottom:0}.cta-card-actions{text-align:center}.cta-card--hook{margin:var(--space-5) 0 var(--space-6)}.cta-card .cta-card-head{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.3;color:var(--text-primary);margin-bottom:var(--space-2)}.mk-jx{font-weight:var(--fw-semibold);color:inherit}.mk-reassure{margin:var(--space-6) 0;padding:var(--panel-pad) var(--space-5);background:var(--accent-brass-soft);border:1px solid var(--accent-brass);border-left:4px solid var(--accent-brass-deep);border-radius:var(--radius-lg)}.mk-reassure>:first-child{margin-top:0}.mk-reassure>:last-child{margin-bottom:0}.mk-reassure .mk-reassure-head{font-weight:var(--fw-bold);color:var(--accent-brass-deep);margin-bottom:var(--space-1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.navbar-brand{font-weight:var(--fw-semibold);font-size:var(--fs-lg);letter-spacing:0.06rem}.nav-link{font-weight:var(--fw-medium);padding:var(--space-2) var(--space-2)}.nav-link:hover{background:transparent}.navbar .rounded-circle{border:1px solid var(--nav-avatar-line)}h3{font-weight:var(--fw-semibold)}.passage-block{background:var(--bg-surface,#f8fafc);color:var(--text-primary);border:1px solid var(--border-hairline,rgba(2,6,23,0.04));border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4) var(--passage-pad-bottom);white-space:pre-wrap;overflow-wrap:break-word;box-sizing:border-box;width:100%;max-width:none;min-height:0;max-height:none;overflow:visible}.passage-block code,.passage-block pre{background:transparent;color:inherit}.typing-input{font-family:var(--font-passage);font-size:var(--passage-font-size);max-width:90ch;width:36ch;padding:var(--space-2) var(--space-2);border-radius:var(--radius);border:2px solid color-mix(in srgb,var(--ink-900,#1b221e) 24%,transparent);background:var(--bg-inset,#f3f4f6);line-height:var(--passage-line-height);color:var(--text-primary);box-sizing:border-box;box-shadow:var(--shadow-type-input)}.passage-block .char{padding:0;letter-spacing:0.12rem}.passage-block .fmt-b{font-weight:var(--fw-bold)}.passage-block .fmt-ul{text-decoration:underline;text-decoration-skip-ink:none;text-underline-offset:3px;text-decoration-thickness:1.5px}.passage-block .fmt-i{font-style:italic}.passage-block .char.current{color:var(--cursor-char-ink);background:var(--cursor-char-bg);border-radius:var(--radius-sm)}.passage-block .char.correct{background:var(--success-soft,#e2ece6)}.passage-block .char.incorrect{background:var(--danger-soft,#f6e4e4)}.passage-block #moving-box{position:absolute;pointer-events:none;display:none;z-index:9999;background:color-mix(in srgb,var(--paper-200,#eceee9) 94%,transparent);border:1.5px solid color-mix(in srgb,var(--ink-900,#1b221e) 30%,transparent);box-shadow:none;border-radius:var(--radius-lg);padding:0 var(--space-1);display:inline-flex;align-items:center;justify-content:flex-start;font-family:inherit;font-size:inherit;color:var(--text-primary);white-space:nowrap;box-sizing:border-box;transition:left var(--caret-follow) linear,top var(--caret-follow) linear,width var(--caret-resize) ease;min-height:1.8rem;min-width:2.3rem}.passage-block #moving-box .mb-text{display:inline-block;width:auto;text-align:left;padding-left:0}#moving-box .char{padding:0;display:inline-block;font-family:inherit;font-size:inherit;line-height:normal}#moving-box .char.correct,#moving-box .char.incorrect{background:transparent!important;color:inherit!important}#moving-box .char.untyped{color:transparent!important;text-shadow:none!important}#moving-box .char.typed-clone{color:inherit}.passage-block #moving-box::after{display:none}.info-tag{display:inline-flex;align-items:center;gap:.3em;font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.4;padding:var(--space-hair) var(--space-2);border:0;border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-secondary);white-space:nowrap;vertical-align:middle;cursor:default}.info-tag--brand{background:var(--brand-soft);color:var(--brand)}.info-tag--warn{background:var(--warning-soft);color:var(--warning)}.info-tag--lg{display:inline-block;font-size:var(--fs-md);padding:var(--space-1) var(--space-3);white-space:normal}.info-tag--lg .bi{color:var(--accent-brass-deep);margin-right:var(--space-1)}.info-tag--xl{display:inline-block;font-size:var(--fs-lg);padding:var(--space-2) var(--space-4);white-space:normal;border-radius:var(--radius)}.info-tag--xl b{display:inline-block;color:var(--accent-brass-deep);font-weight:var(--fw-bold)}.buy-option{padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-primary)}.buy-option-primary{border:2px solid var(--accent-brass)}.buy-option-name{font-weight:var(--fw-semibold);margin-bottom:var(--space-1)}.buy-option-price{font-weight:var(--fw-bold);margin-left:var(--space-1)}.toggle-btn[aria-pressed="true"],.toggle-btn[aria-expanded="true"],.toggle-btn[aria-current="page"],.toggle-btn[data-chosen="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}@media (hover:hover){.toggle-btn:not([aria-pressed="true"]):not([aria-expanded="true"]):not([aria-current="page"]):not([data-chosen="true"]):not(:disabled):not(.hover-rest):hover{background:var(--brand-soft);border-color:var(--brand);color:var(--text-primary)}.toggle-btn[aria-pressed="true"]:not(:disabled):not(.hover-rest):hover,.toggle-btn[aria-expanded="true"]:not(:disabled):not(.hover-rest):hover,.toggle-btn[aria-current="page"]:not(.hover-rest):hover,.toggle-btn[data-chosen="true"]:not(:disabled):not(.hover-rest):hover{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--brand-contrast);box-shadow:0 0 0 3px var(--brand-ring)}}.toggle-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.toolbar-toggle.toggle-btn[aria-pressed="true"]{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-hover);box-shadow:inset 0 0 0 1px var(--brand)}@media (hover:hover){.toolbar-toggle.toggle-btn:not([aria-pressed="true"]):not([aria-expanded="true"]):not([aria-current="page"]):not([data-chosen="true"]):not(:disabled):hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.toolbar-toggle.toggle-btn[aria-pressed="true"]:not(:disabled):hover{background:var(--brand-tint);border-color:var(--brand-hover);color:var(--brand-hover);box-shadow:inset 0 0 0 1px var(--brand-hover),0 0 0 3px var(--brand-ring)}}@media (hover:hover){.btn-primary:not(:disabled):hover{box-shadow:0 0 0 3px var(--brand-ring)}.btn-danger:not(:disabled):hover,.btn-outline-danger:not(:disabled):hover{box-shadow:0 0 0 3px var(--danger-ring)}.btn-outline-secondary:not(.toggle-btn):not(:disabled):hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.sh-btn:not(.toggle-btn):not(:disabled):hover{background:var(--brand-soft)}}.btn{transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.btn:where(:has(>.bi)){display:inline-flex;align-items:center;justify-content:center;gap:var(--icon-gap)}.nav-st{display:inline-flex;margin-left:auto;margin-right:var(--space-2)}@media (min-width:992px){#navbarCollapse.navbar-collapse{display:contents!important}.nav-st{order:1;margin:0 var(--space-6) 0 0}#navbarCollapse .nav-account{order:2}}.nav-st-btn{--brand:var(--green-050);--brand-hover:var(--green-200);--brand-contrast:var(--green-900);--brand-soft:color-mix(in srgb,var(--green-050) 14%,transparent);--text-primary:var(--green-050);display:inline-flex;align-items:center;gap:0.4rem;min-height:36px;padding:var(--space-1) var(--space-3);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--green-050);background:transparent;border:1px solid color-mix(in srgb,var(--green-050) 40%,transparent);border-radius:var(--radius);cursor:pointer}.nav-st-btn:disabled{opacity:0.45;cursor:default}@media (hover:none) and (pointer:coarse){.nav-st-btn{min-height:44px}}@media (max-width:399.98px){.nav-st-btn{padding-inline:var(--space-2)}.nav-st-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.action-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);container-type:inline-size}@container (max-width:28rem){.action-row>:is(.btn,.sh-btn,.ann-btn,form):not([hidden]){flex:1 1 0;min-width:max-content;justify-content:center}.action-row>form>.btn{width:100%}}:is(.action-row,.db-rest-actions,.db-trial-actions,.fc-done-actions,.lib-tree-tools):has(>:is(.btn,.sh-btn,.ann-btn,form):not([hidden]) ~ :is(.btn,.sh-btn,.ann-btn,form):not([hidden]))>:is(.btn,.sh-btn,.ann-btn,form):not([hidden]){flex:1 1 0;min-width:max-content;justify-content:center}:is(.action-row,.db-rest-actions,.db-trial-actions):has(>:is(.btn,.sh-btn,.ann-btn,form):not([hidden]) ~ :is(.btn,.sh-btn,.ann-btn,form):not([hidden]))>form>.btn{width:100%}.status-icon{font-size:var(--fs-5xl)}.status-icon.is-done{color:var(--accent-brass)}.status-icon.is-pending{color:var(--text-secondary)}.waiver-title{font-size:var(--fs-base)}.waiver-box{background:var(--danger-soft);border-color:var(--danger)!important}.waiver-effective{font-size:var(--fs-2xs)}.waiver-onfile{font-size:var(--fs-sm);color:var(--text-muted)}#waiver-resign-error{color:var(--danger)}.assent-note{font-size:var(--fs-xs);line-height:1.4}.study-end-survey{font-size:var(--fs-md)}.sh{display:flex;flex-direction:column;gap:0.5rem}.sh-btn{display:inline-flex;align-items:center;gap:var(--icon-gap);min-height:32px;padding:var(--space-1) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;text-decoration:none;white-space:nowrap}@media (hover:hover){.sh-btn:hover{border-color:var(--brand);color:var(--brand)}}.sh-mode-row{display:flex;flex-direction:column;align-items:stretch;gap:0.3rem}.sh-seg{display:flex;flex:1;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.sh-seg-btn{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.1rem;min-height:44px;padding:var(--space-1) var(--space-2);border:0;border-left:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.sh-seg-btn:first-child{border-left:0}.sh-seg-btn:disabled{cursor:not-allowed}.sh-seg-btn:disabled:not([aria-pressed="true"]){color:var(--text-muted)}.sh-seg-name{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:1.2}.sh-seg-count{font-size:var(--fs-xs);line-height:1.2;opacity:0.8;min-height:0.9rem;text-align:center}.sh-seg-count:empty{display:none}.sh-goal-note{margin:0;font-size:var(--fs-md);color:var(--text-secondary);display:flex;align-items:center;gap:0.35rem}.sh-goal-note[hidden]{display:none}.sh-goal-note .bi{color:var(--success)}.sh-subject-line{display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem;font-size:var(--fs-md);color:var(--text-secondary)}.sh-subject-line[hidden],.sh-subject-line [hidden]{display:none}.sh-subject-line strong{color:var(--text-primary);font-weight:var(--fw-semibold)}@media (hover:none) and (pointer:coarse){.sh-btn{min-height:44px}}.sh-btn[hidden]{display:none}.choice-menu-wrap{position:relative}.choice-caret{font-size:var(--fs-2xs)}.choice-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:19rem;max-width:22rem;max-height:60vh;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:var(--space-2);text-align:left}.choice-menu[hidden]{display:none}.choice-menu-head{display:none}.choice-menu-list{display:flex;flex-direction:column;gap:0.25rem}.choice{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;width:100%;text-align:left;min-height:34px;padding:var(--space-1) var(--space-2);font-size:var(--fs-md);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer}.choice-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.choice[aria-pressed="true"] .choice-count{color:inherit}.choice:disabled{opacity:0.5;cursor:not-allowed}.choice-backdrop{display:none}@media (max-width:767.98px){.choice-menu-wrap{position:static}.choice-menu{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:1060;min-width:0;max-width:none;max-height:70vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}.choice-menu-head{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:var(--space-2);font-family:var(--font-display);font-weight:var(--fw-semibold)}.choice-backdrop{display:block;position:fixed;inset:0;z-index:1055;background:color-mix(in srgb,var(--text-primary) 35%,transparent)}.choice-backdrop[hidden]{display:none}}@media (hover:none) and (pointer:coarse){.choice{min-height:44px}}#study-tools{position:fixed;z-index:1046;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-window);min-width:280px;min-height:200px;overflow:hidden;resize:both}#study-tools[hidden]{display:none}.st-titlebar{display:flex;align-items:center;gap:0.5rem;flex-shrink:0;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);background:var(--bg-inset);border-bottom:1px solid var(--border-hairline);cursor:move;user-select:none;touch-action:none}.st-title{flex:1}.st-close{border:0;background:none;color:var(--text-muted);font-size:var(--fs-base);line-height:1;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.st-close:hover{color:var(--text-primary);background:var(--bg-surface)}#study-tools.st-dragging{opacity:0.92}.st-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;padding:var(--space-5) var(--space-4);text-align:center;font-size:var(--fs-md);color:var(--text-muted)}.st-empty .bi{font-size:var(--fs-2xl)}.st-empty[hidden]{display:none}#study-tools.st-no-rule .st-tabs-wrap,#study-tools.st-no-rule .st-body{display:none}#study-tools{--st-from:14px;transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}#study-tools.st-from-left{--st-from:-14px}#study-tools.st-out{opacity:0;transform:translateX(var(--st-from)) scale(.985);pointer-events:none}body.st-animate{transition:padding-left var(--dur-base) var(--ease-standard),padding-right var(--dur-base) var(--ease-standard)}#study-tools .st-tabs-wrap{flex-shrink:0;padding:0 var(--space-2)}#study-tools .st-body{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-3)}@media (max-width:767.98px){#study-tools{left:0!important;right:0!important;bottom:0!important;top:auto!important;width:auto!important;height:auto!important;max-height:70vh;resize:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}#study-tools.st-out{transform:translateY(24px)}.st-titlebar{cursor:default}}.ui-card-title,.db-section-title{font-family:var(--font-body);font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.3;letter-spacing:0;text-transform:none;color:var(--text-primary)}.ui-section-title,.lib-group,.lib-version-head,.rule-trap-head,.rule-note-head,.rp-section-hdr,.feedback-group-label,.auth-section-label,.st-title{font-family:var(--font-body);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:1.35;letter-spacing:0;text-transform:none;color:var(--text-primary)}.ui-label,.metric-lbl,.db-bin-name,.wc-head,.rcm-title-kicker,.stat-chip-label,.sh-row-label,.rule-crumb,.info-tag--caps,.site-footer-col h2{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.3;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted)}.site-footer-col h2{color:var(--foot-head)}.app-tabs{display:flex;align-items:stretch;gap:0.25rem;margin:0;padding:0;list-style:none;border-bottom:1px solid var(--border-strong)}.app-tabs>li{display:flex}.app-tab{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:38px;padding:var(--space-2) var(--space-3);margin-bottom:calc(-1 * var(--border-w));font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap;text-decoration:none;color:var(--text-muted);background:none;border:0;border-bottom:3px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.app-tab::after{content:attr(data-label);font-weight:var(--fw-bold);height:0;overflow:hidden;visibility:hidden;pointer-events:none;user-select:none}@media (hover:hover){.app-tab:hover{color:var(--text-primary);border-bottom-color:var(--border-strong)}}.app-tab.active,.app-tab[aria-current="page"]{color:var(--brand);font-weight:var(--fw-bold);border-bottom-color:var(--brand);background-color:var(--bg-inset)}.app-tab:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.app-tabs--fill>li,.app-tabs--fill>.app-tab{flex:1 1 0;min-width:0}.app-tabs--fill>li>.app-tab{flex:1 1 auto;padding-inline:var(--space-2)}.app-tabs--scroll{overflow-x:auto;scrollbar-width:none}.app-tabs--scroll::-webkit-scrollbar{display:none}@media (hover:none) and (pointer:coarse){.app-tab{min-height:44px}}#rp-tabs{gap:0}#rp-tabs>li{flex:1 1 auto}#rp-tabs .app-tab{padding-inline:var(--space-1)}#rp-tabs .app-tab{cursor:grab}#rp-tabs .app-tab:active{cursor:grabbing}.rp-tab-pane{padding:var(--space-1) 0}.tab-section{margin-bottom:var(--panel-tab-gap)}.tab-section:last-child{margin-bottom:0}.rp-section-hdr{margin-bottom:var(--space-1)}.rp-section-body{padding-left:var(--space-2)}.rp-unit{font-size:var(--fs-xs)}.rp-hint{line-height:1.4}#tag-input{max-width:130px}.rp-tag-bulk{font-size:var(--fs-2xs);padding:var(--space-hair) var(--space-2)}#tag-delete-modal .modal-dialog{max-width:360px}#tag-delete-modal .modal-title{font-size:var(--fs-md)}.rp-tag-divider{margin:0 0 var(--panel-tab-gap);border:0;border-top:1px solid var(--border-default)}#rp-tab-tags.active{display:flex;flex-direction:column;min-height:100%}.feedback-thumb{transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);line-height:1;font-size:var(--fs-xl);min-width:3.5rem;padding:var(--space-1) var(--space-3)}.feedback-hint,#feedback-status{font-size:var(--fs-xs)}.feedback-group-label{margin-bottom:0}.feedback-chip{font-size:var(--fs-xs);padding:var(--space-hair) var(--space-2);border:1px solid var(--border-default);background:var(--bg-inset);color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.feedback-chip-warn{border-color:var(--warning)!important;color:var(--warning)}.feedback-chip-warn.toggle-btn[aria-pressed="true"],.feedback-chip-warn.toggle-btn[aria-pressed="true"]:hover{background:var(--warning);border-color:var(--warning)!important;color:var(--warning-contrast)}#feedback-status.success{color:var(--success)}#feedback-status.error{color:var(--danger)}.preset-tag-btn,.tag-chip{position:relative!important;clip-path:polygon(10px 0%,100% 0%,100% 100%,10px 100%,0% 50%)!important;border-radius:0 var(--radius-sm) var(--radius-sm) 0!important;cursor:pointer;font-size:var(--fs-xs);line-height:1;border:none!important;padding:var(--space-1) var(--space-2) var(--space-1) calc(var(--space-4) + var(--space-1))!important;margin-left:var(--space-hair);transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.preset-tag-btn::after,.tag-chip::after{content:'';position:absolute;left:11px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:var(--radius-round);pointer-events:none}.preset-tag-btn.tag-active,.tag-chip.tag-active{background:var(--tag-active-bg)!important;color:var(--tag-active-ink)!important}.preset-tag-btn.tag-active::after,.tag-chip.tag-active::after{background:var(--tag-hole-active)}.preset-tag-btn.tag-inactive,.tag-chip.tag-inactive{background:var(--tag-idle-bg)!important;color:var(--tag-idle-ink)!important}.preset-tag-btn.tag-inactive::after,.tag-chip.tag-inactive::after{background:var(--tag-hole-idle)}.tag-chip{display:inline-flex;align-items:center;gap:5px}.tag-rename-icon,.tag-remove{margin-left:var(--space-1);font-size:var(--fs-2xs);line-height:1;vertical-align:middle;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-standard)}[data-tag]:hover .tag-rename-icon,[data-tag]:hover .tag-remove{opacity:0.45;pointer-events:auto}[data-tag]:hover .tag-rename-icon:hover{opacity:0.9}[data-tag]:hover .tag-remove:hover{opacity:1;color:var(--danger)}.tag-dragging .tag-rename-icon,.tag-dragging .tag-remove{opacity:0!important;pointer-events:none!important}[data-tag][draggable="true"]{cursor:grab}[data-tag][draggable="true"]:active{cursor:grabbing}.tag-dragging{opacity:0.35!important}.tag-label[contenteditable="true"]{outline:none;border-bottom:1px solid currentColor;cursor:text;min-width:4px}.fade{transition:opacity var(--dur-base) var(--ease-standard)}.modal.fade .modal-dialog{transition:transform var(--dur-base) var(--ease-standard)}.collapsing{transition:height var(--dur-slow) var(--ease-standard)}.form-control,.form-select{transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.form-check-input{transition:background-color var(--dur-fast) var(--ease-standard),background-position var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.progress-bar{transition:width var(--dur-slow) var(--ease-standard)}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-base);animation-timing-function:var(--ease-fade)}.navbar.fixed-top{view-transition-name:site-nav}::view-transition-group(site-nav),::view-transition-old(site-nav),::view-transition-new(site-nav){animation:none}::view-transition-group(vt-card),::view-transition-old(vt-card),::view-transition-new(vt-card){animation-duration:var(--dur-base);animation-timing-function:var(--ease-fade)}@keyframes vtFlipOut{from{transform:perspective(var(--flip-perspective)) rotateY(0deg)}to{transform:perspective(var(--flip-perspective)) rotateY(180deg)}}@keyframes vtFlipIn{from{transform:perspective(var(--flip-perspective)) rotateY(-180deg)}to{transform:perspective(var(--flip-perspective)) rotateY(0deg)}}html.vt-flip::view-transition-group(vt-card){animation-duration:var(--dur-flip);animation-timing-function:var(--ease-fade)}html.vt-flip::view-transition-old(vt-card){animation:vtFlipOut var(--dur-flip) var(--ease-fade) both;backface-visibility:hidden}html.vt-flip::view-transition-new(vt-card){animation:vtFlipIn var(--dur-flip) var(--ease-fade) both;backface-visibility:hidden}html.vt-slide{--slide-dir:1}html.vt-slide.vt-back{--slide-dir:-1}@keyframes vtSlideOut{to{transform:translateX(calc(var(--slide-dir) * -1 * var(--slide-dist)));opacity:0}}@keyframes vtSlideIn{from{transform:translateX(calc(var(--slide-dir) * var(--slide-dist)));opacity:0}}html.vt-slide::view-transition-group(root),html.vt-slide::view-transition-old(root),html.vt-slide::view-transition-new(root){animation:none}html.vt-slide::view-transition-group(vt-card){animation-duration:var(--dur-slide);animation-timing-function:var(--ease-standard)}html.vt-slide::view-transition-image-pair(vt-card){isolation:isolate}html.vt-slide::view-transition-old(vt-card){animation:vtSlideOut var(--dur-slide) var(--ease-standard) both;mix-blend-mode:plus-lighter}html.vt-slide::view-transition-new(vt-card){animation:vtSlideIn var(--dur-slide) var(--ease-standard) both;mix-blend-mode:plus-lighter}@media (hover:hover){.btn.hover-rest:not(.toggle-btn):hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}}@keyframes fadeIn{from{opacity:0}}#lib-body:not([hidden]),#fc-deck:not([hidden]){animation:fadeIn var(--dur-base) var(--ease-standard)}.lib-rule.lib-swapped #lib-body,#lib-body.reveal-instant,#fc-deck.reveal-instant{animation:none}#passage-block:not(:has(.char)){visibility:hidden}.roll-pending [data-roll]{visibility:hidden}.roll-vis{display:inline-flex;align-items:flex-start;height:1lh;vertical-align:top;white-space:pre}.roll-col{display:inline-block;height:1lh;overflow:hidden}.roll-strip{display:flex;flex-direction:column;transform:translateY(calc(var(--roll-from) * -1lh));transition:transform var(--dur-roll) var(--ease-standard) calc(var(--roll-i) * var(--dur-roll-step))}.roll-strip>span{display:block;height:1lh}.roll-go .roll-strip{transform:translateY(calc(var(--roll-to) * -1lh))}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*:not(#enter-underline):not(#moving-box),*::before,*::after{animation-duration:var(--dur-instant)!important;animation-iteration-count:1!important;transition-duration:var(--dur-instant)!important;scroll-behavior:auto!important}}