/* Slice 01 shell and token bridge. R1 transport geometry is retained in r1-public.css. */
*{box-sizing:border-box}html{scroll-padding-top:var(--k-space-24)}body{margin:0;font-family:var(--k-font-ui);font-size:var(--k-type-ui-all-0);line-height:var(--k-type-ui-all-1)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:var(--k-color-accent);text-underline-offset:.2em}button{cursor:pointer;border:var(--k-border-control);border-radius:var(--k-radius-control);background:var(--k-color-surface);color:var(--k-color-accent);min-height:var(--k-control-minimum);padding:var(--k-space-8) var(--k-space-12)}button.primary{background:var(--k-color-accent);color:var(--k-color-surface);border-color:var(--k-color-accent)}button:hover{background:var(--k-color-activeBackground)}button.primary:hover{background:var(--k-color-accentPressed)}:focus-visible{outline:var(--k-border-focus);outline-offset:var(--k-border-focusOffset)}[hidden]{display:none!important}h1,h2,h3,p,figure{margin-top:0}h1,h2{font-family:var(--k-font-reading);font-weight:400}h1{font-size:var(--k-type-h1-mobile-0);line-height:var(--k-type-h1-mobile-1);margin-bottom:var(--k-space-16);overflow-wrap:anywhere}h2{font-size:var(--k-type-h2-mobile-0);line-height:var(--k-type-h2-mobile-1)}img{max-width:100%;height:auto}svg{flex-shrink:0}fieldset{min-width:0}
body.sermon-public{--sermon-bg:var(--k-color-canvas);--sermon-surface:var(--k-color-surface);--sermon-surface-muted:var(--k-color-mutedSurface);--sermon-text:var(--k-color-text);--sermon-muted:var(--k-color-mutedText);--sermon-accent:var(--k-color-accent);--sermon-accent-pressed:var(--k-color-accentPressed);--sermon-active-bg:var(--k-color-activeBackground);--sermon-border:var(--k-color-border);--sermon-control-border:var(--k-color-controlBorder);--sermon-error:var(--k-color-error);--sermon-focus:var(--k-color-accent);--player-backdrop:var(--k-color-backdrop);--sermon-serif:var(--k-font-reading);--sermon-ui:var(--k-font-ui)}
.skip-link{position:absolute;top:var(--k-space-8);left:var(--k-space-16);padding:var(--k-space-12);background:var(--k-color-surface);transform:translateY(-200%);z-index:var(--k-zIndex-modal)}.skip-link:focus{transform:none}.app-header{background:var(--k-color-surface);border-bottom:var(--k-border-decorative);padding-top:env(safe-area-inset-top,0px)}.app-header-inner{max-width:var(--k-width-archive);margin:auto;min-height:var(--k-layout-headerMobile);padding:0 var(--k-gutter-mobile);display:flex;align-items:center;justify-content:space-between;gap:var(--k-space-16)}.brand{display:flex;flex-direction:column;text-decoration:none;min-height:var(--k-control-minimum);justify-content:center;letter-spacing:.12em;font-size:14px;font-weight:600}.brand small{font-size:10px;line-height:16px;letter-spacing:.1em;color:var(--k-color-mutedText)}.main-nav{display:none}.main-nav a,.mobile-nav a{display:flex;min-height:var(--k-control-minimum);align-items:center}.mobile-nav{display:grid;gap:var(--k-space-16)}.mobile-menu-button{border:0}.archive-page{width:calc(100% - 40px);max-width:var(--k-width-archive);margin:auto;padding:var(--k-space-32) 0 var(--k-space-64)}.page-heading{padding-bottom:var(--k-space-24);border-bottom:var(--k-border-decorative);margin-bottom:var(--k-space-24)}.eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--k-space-12);font-size:var(--k-type-numeric-all-0);line-height:var(--k-type-numeric-all-1);color:var(--k-color-mutedText);font-variant-numeric:tabular-nums;letter-spacing:.025em;margin-bottom:var(--k-space-12)}.intro{font-family:var(--k-font-reading);font-size:var(--k-type-prose-mobile-0);line-height:var(--k-type-prose-mobile-1);margin-bottom:var(--k-space-16)}.fixture-notice,.hint,.metadata{font-size:var(--k-type-metadata-mobile-0);line-height:var(--k-type-metadata-mobile-1);color:var(--k-color-mutedText)}.fixture-notice{max-width:var(--k-width-reading)}.archive-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--k-space-32)}.archive-layout>*{min-width:0}.desktop-filters{display:none}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--k-space-16)}.results-toolbar p{margin:0}.selected-filters{display:flex;flex-wrap:wrap;gap:var(--k-space-8);margin-block:var(--k-space-16)}.filter-chip{font-size:14px;display:inline-flex;gap:var(--k-space-8);align-items:center;min-height:var(--k-control-minimum);padding:var(--k-space-8) var(--k-space-12);border:var(--k-border-decorative);border-radius:var(--k-radius-control);background:var(--k-color-surface);text-decoration:none}.sermon-card{padding:var(--k-space-24) 0;border-top:var(--k-border-decorative);max-width:100%}.sermon-card h2,.sermon-card h3{margin-bottom:var(--k-space-8);font-family:var(--k-font-reading);font-size:var(--k-type-h2-mobile-0);line-height:var(--k-type-h2-mobile-1);font-weight:400}.sermon-card h2 a,.sermon-card h3 a{text-decoration:none;display:block;min-height:var(--k-control-minimum);max-width:38em;overflow-wrap:anywhere}.sermon-card h2 a:hover,.sermon-card h3 a:hover{text-decoration:underline}.sermon-card p{margin-bottom:var(--k-space-8)}.record-capabilities{font-size:14px;color:var(--k-color-mutedText);display:flex;gap:var(--k-space-12);flex-wrap:wrap}.badge{font:400 12px/20px var(--k-font-ui);padding:0 var(--k-space-8);border:var(--k-border-decorative);color:var(--k-color-mutedText);border-radius:var(--k-radius-control);letter-spacing:0}.field{display:grid;gap:var(--k-space-8);margin-bottom:var(--k-space-20)}.field input,.field select{width:100%;min-width:0;min-height:var(--k-control-minimum);padding:var(--k-space-8);border:var(--k-border-control);border-radius:var(--k-radius-control);background:var(--k-color-surface);color:var(--k-color-text)}fieldset{border:0;border-top:var(--k-border-decorative);padding:var(--k-space-12) 0;margin:0 0 var(--k-space-16)}legend{padding-right:var(--k-space-8);font-weight:500}.check{display:flex;align-items:center;min-height:var(--k-control-minimum);gap:var(--k-space-12);cursor:pointer}.check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--k-color-accent);margin:0}.filter-actions{display:flex;align-items:center;gap:var(--k-space-16);flex-wrap:wrap}.filter-actions a,.pagination a,.context-links a,.breadcrumbs a{display:inline-flex;align-items:center;min-height:var(--k-control-minimum)}.pagination{display:flex;justify-content:space-between;gap:var(--k-space-24)}.state{padding:var(--k-space-32) 0}.state--error{color:var(--k-color-error)}.state button{margin-right:var(--k-space-16)}.route-status{position:sticky;top:0;padding:var(--k-space-8) var(--k-space-20);background:var(--k-color-activeBackground);z-index:var(--k-zIndex-sticky)}
.breadcrumbs,.context-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--k-space-8) var(--k-space-20);font-size:14px;margin-bottom:var(--k-space-16)}.breadcrumbs span{color:var(--k-color-mutedText)}.context-disclosure{max-width:var(--k-width-reading);margin-block:var(--k-space-8) var(--k-space-24)}summary{cursor:pointer;min-height:var(--k-control-minimum);padding-block:var(--k-space-12)}.context-disclosure p{margin-top:var(--k-space-8)}.sermon-overview{margin-top:var(--k-space-24)}.sermon-artwork img{width:100%;height:100%;object-fit:cover}.sermon-speed-control select{border-radius:var(--k-radius-control);border-color:var(--k-color-controlBorder)}.sermon-player{box-shadow:var(--k-shadow-media)}.transcript-section,.sermon-article__footer,.related-content{max-width:var(--k-width-reading)}.sermon-content{font-size:var(--k-type-prose-mobile-0);line-height:var(--k-type-prose-mobile-1)}.paragraph{position:relative;min-width:0}.paragraph p{scroll-margin-block-start:var(--k-space-24);overflow-wrap:anywhere}.paragraph-tools{display:flex;align-items:center;gap:var(--k-space-16);margin-bottom:var(--k-space-16);font:400 13px/20px var(--k-font-ui)}.paragraph-tools a,.paragraph-tools button{display:inline-flex;align-items:center;min-height:var(--k-control-minimum)}.paragraph-tools a{text-decoration:none;color:var(--k-color-mutedText)}.copy-link{background:transparent;border:0;color:var(--k-color-accent)}.is-deep-target{outline:var(--k-border-focus);outline-offset:var(--k-space-4);background:var(--k-color-activeBackground)}.semantic-annotation{font:400 16px/24px var(--k-font-ui);border-block:var(--k-border-decorative);margin-block:var(--k-space-12) var(--k-space-24);padding-inline:var(--k-space-12);background:var(--k-color-surface)}.semantic-annotation p{padding-bottom:var(--k-space-12);margin:0}.anchor-status{color:var(--k-color-warning);font:400 16px/24px var(--k-font-ui)}.related-content{margin-top:var(--k-space-48)}.sermon-card--compact h3{font-size:20px;line-height:28px}.mini-player{z-index:var(--k-zIndex-mini);box-shadow:var(--k-shadow-mini)}dialog.player-dialog{box-shadow:var(--k-shadow-dialog);z-index:var(--k-zIndex-modal)}dialog.player-dialog::backdrop{background:var(--k-color-backdrop)}dialog.is-shell{width:100%;max-width:none;max-height:90dvh;padding:0}.is-shell #shell-view{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:90dvh}.sheet-header{display:flex;justify-content:space-between;align-items:center;gap:var(--k-space-16);padding:var(--k-space-16) var(--k-space-20);border-bottom:var(--k-border-decorative)}.sheet-header h2{margin:0}.sheet-content{overflow-y:auto;overscroll-behavior:contain;padding:var(--k-space-20) var(--k-space-20) calc(var(--k-space-24) + env(safe-area-inset-bottom,0px))}.sheet-content .filter-actions{position:sticky;bottom:0;padding-block:var(--k-space-12);background:var(--k-color-surface);border-top:var(--k-border-decorative)}.link-status:empty{display:none}.link-status{font-size:14px;padding:var(--k-space-12) var(--k-space-20);max-width:var(--k-width-reading);margin:auto}.copy-fallback{padding:var(--k-space-16);background:var(--k-color-surface);border:var(--k-border-control);max-width:var(--k-width-reading);margin:var(--k-space-20) auto}.copy-fallback label{display:grid;gap:var(--k-space-8)}.copy-fallback input{font-size:16px;min-height:44px;width:100%;margin-bottom:var(--k-space-12)}
html:not(.enhanced) .requires-js,html:not(.enhanced) .sermon-player button,html:not(.enhanced) [data-media-controls]{display:none}html:not(.enhanced) .desktop-filters{display:block}audio[controls]{width:100%}
@media(max-width:359px){.archive-page{width:calc(100% - 32px)}.app-header-inner{padding-inline:var(--k-gutter-narrow)}.sermon-player__actions{flex-wrap:wrap}}
@media(min-width:768px){h1{font-size:var(--k-type-h1-tablet-0);line-height:var(--k-type-h1-tablet-1)}h2{font-size:var(--k-type-h2-desktop-0);line-height:var(--k-type-h2-desktop-1)}.app-header-inner{min-height:var(--k-layout-headerDesktop);padding-inline:var(--k-gutter-tablet)}.archive-page{width:calc(100% - 2 * var(--k-gutter-tablet));padding-top:var(--k-space-48)}.sermon-content{font-size:var(--k-type-prose-desktop-0);line-height:var(--k-type-prose-desktop-1)}.sermon-card h2{font-size:24px;line-height:30px}.sermon-card{padding-block:var(--k-space-28)}dialog.is-shell{width:var(--k-width-expandedTablet);max-width:calc(100% - 48px)}.intro{font-size:20px;line-height:32px}}
@media(min-width:1200px){h1{font-size:var(--k-type-h1-desktop-0);line-height:var(--k-type-h1-desktop-1)}.app-header-inner{padding-inline:var(--k-gutter-desktop);max-width:calc(var(--k-width-archive) + 64px)}.main-nav{display:flex}.mobile-menu-button{display:none}.archive-page{width:calc(100% - 64px)}.archive-layout{grid-template-columns:var(--k-width-filters) minmax(0,1fr)}.desktop-filters{display:block}.mobile-filter-button{display:none}.sermon-overview{grid-template-columns:var(--k-width-reading) 360px;column-gap:var(--k-space-80)}.sermon-artwork{grid-column:2}.sermon-page{max-width:var(--k-width-sermon)}.sermon-page h1{max-width:var(--k-width-reading)}}
@media(min-width:1600px){.archive-page{max-width:var(--k-width-archive)}.sermon-page{max-width:var(--k-width-sermon)}}
@media(max-height:560px){dialog.player-dialog:not(.is-reader){max-height:100dvh}.expanded-player-view{min-height:0;overflow-y:auto;max-height:100dvh}.expanded-player-view__artwork{display:none}.reader-footer{min-height:var(--k-layout-readerFooterDesktopMinimum)}.reader-document{padding-top:var(--k-space-20)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:var(--k-motion-reduced)!important;transition-duration:var(--k-motion-reduced)!important}}

/* Source filenames can be long; the existing detail disclosure contains them. */
.source-filename{overflow-wrap:anywhere;}
/* Real text-only records expose both existing actions at 360px. */
.sermon-player.has-media-error .sermon-player__actions{flex-wrap:wrap;}

/* Batch B: positive capability indicators only; no player/table geometry changes. */
.sermon-card .record-capabilities{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.sermon-capability{display:inline-flex;align-items:center;gap:.35rem}.sermon-capability svg{flex:none}
