/* Shared interaction contract: docs/interaction-design-rules.md */
:root{--ui-fast:130ms;--ui-normal:200ms;--ui-ease:cubic-bezier(.2,.8,.2,1);--ui-focus:#6794d1;--ui-touch:44px;--ui-radius:12px}
button,.button,a.account-primary,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color var(--ui-fast) var(--ui-ease),border-color var(--ui-fast) var(--ui-ease),box-shadow var(--ui-fast) var(--ui-ease),color var(--ui-fast) var(--ui-ease),opacity var(--ui-fast) var(--ui-ease),scale var(--ui-fast) var(--ui-ease)}
button:active:not(:disabled){filter:none}
button:not(.word,.shelf-card,.media-card,.journey-persona,.category-section,.category-hero-hit,.mode-link,.nav,.brand,.library-card-open):active:not(:disabled),a.account-primary:active{scale:.98}
.small-play:active:not(:disabled){transform:none;scale:.96}
button:disabled,button[aria-disabled="true"]{cursor:not-allowed}
button[aria-busy="true"]{cursor:progress;opacity:1!important}
button:focus-visible,a[href]:focus-visible,select:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
button svg{flex-shrink:0;vertical-align:middle}
.ui-spinner{display:inline-block;flex:0 0 15px;width:15px;height:15px;box-sizing:border-box;border:1.7px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .8s linear infinite}
@keyframes ui-spin{to{rotate:360deg}}
@media(hover:hover) and (pointer:fine){
 button:not(:disabled,.word,.category-hero-hit):hover{filter:brightness(.98)}
 .shelf-card:hover,.media-card:hover,.journey-persona:hover{transform:none;box-shadow:0 5px 18px #2449700c}
}
@media(hover:none){
 .shelf-card:hover,.media-card:hover,.journey-persona:hover{transform:none;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){
 button,.button,a.account-primary,select{transition:none!important}
 button:active:not(:disabled),a.account-primary:active{scale:none!important}
 .small-play:active{transform:none!important}
 .ui-spinner{animation:none;border-style:dotted}
}
@media(max-width:900px){
 :is(.transcript-tools,.word-detail,.line-actions,.media-toolbar,.podcast-filters,.free-player-tools,.detail-actions,.settings-nav) button{min-height:var(--ui-touch)}
 .category-glass-nav .category-nav-start button,.category-glass-nav .island-library,.category-glass-nav .account-launcher-main{min-height:var(--ui-touch)}
}
button[aria-busy="true"]{display:inline-flex;align-items:center;justify-content:center;gap:8px}

/* Text actions size to their label. Cards, quiz answers and navigation keep their own layout. */
:is(.transport>button:not(.small-play),.segment-transport>button:not(.small-play),.relisten-transport>button:not(.small-play),.next-sentence,.takeaway-group button,.library-card-practice,.podcast-primary,.free-import button,#free-refresh,.island-library,#sentence-understood-progress,.category-nav-start button,.category-filters button,.category-status-filters button,.card-level-filters button,.page-corner-nav button,.route-item button,.transcript-tools button,.word-detail button,.line-actions button,.free-player-tools button,.free-item-actions button,.podcast-row-play,.podcast-download,.podcast-filters button,.detail-actions button,.media-toolbar button,.review-next button,.finale-footer button,.first-impression button,.library-card-footer button,#day-finish button,#segment-finish button,.course-load-actions button,.journey-choice-actions button,.summary-actions button,#listen-dock button){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;white-space:nowrap;word-break:normal;overflow-wrap:normal;flex-shrink:0;line-height:1.4;letter-spacing:normal}
:is(.transcript-tools,.word-detail,.line-actions,.free-player-tools,.free-item-actions,.detail-actions,.media-toolbar,.review-next,.finale-footer,.journey-choice-actions,.summary-actions){flex-wrap:wrap;min-width:0}
#route-view .route-item{grid-template-columns:60px minmax(0,1fr) max-content}
#route-view .route-item>div{min-width:0}
#route-view .route-item>button{width:auto;min-width:88px;min-height:44px;height:auto;padding:10px 16px;font:500 14px/1.4 var(--sans);border:1px solid #c7d7eb;border-radius:var(--ui-radius);background:#f2f6fd;color:#42678f;justify-self:end}
#route-view .route-item.current>button{background:#336ed0;color:#fff;border-color:#336ed0}
#route-view .route-item.locked>button{background:#eaf0f8;color:#667a96;border-color:#d5dfed}
@media(max-width:900px){
 :is(.transport>button:not(.small-play),.segment-transport>button:not(.small-play),.relisten-transport>button:not(.small-play),.next-sentence,.takeaway-group button,.library-card-practice,.podcast-primary,.free-import button,#free-refresh,.island-library,#sentence-understood-progress,.category-nav-start button,.category-filters button,.category-status-filters button,.card-level-filters button,.page-corner-nav button,.transcript-tools button,.word-detail button,.line-actions button,.free-player-tools button,.free-item-actions button,.podcast-row-play,.podcast-download,.podcast-filters button,.detail-actions button,.media-toolbar button,.review-next button,.finale-footer button,.first-impression button,.library-card-footer button,#day-finish button,#segment-finish button,.course-load-actions button,.journey-choice-actions button,.summary-actions button,#listen-dock button){min-height:44px;font-size:13px}
 #route-view .route-section{padding-inline:16px}
 #route-view .route-item,#route-view .route-item.current{grid-template-columns:28px minmax(0,1fr) max-content;gap:10px;padding:16px 14px}
}
@media(max-width:400px){
 .podcast-row-actions{grid-template-columns:1fr;justify-items:start}
 .podcast-row-play,.podcast-download{width:auto}
 .podcast-download-box{justify-items:start}
}

.podcast-filters,.category-status-filters{flex-wrap:wrap}
.podcast-download{padding-inline:12px}
@media(max-width:400px){
 .media-library-page .category-glass-nav .category-nav-start button:first-child{padding-inline:8px!important;min-width:44px}
 .media-library-page .category-home{font-size:12px;padding-inline:6px}
}
.category-status-filters button{min-width:44px;padding-inline:10px}
