/* finesse · approved mobile layout · shared content, existing yellow/violet identity */
.mobile-case-carousel{display:none}
@media(max-width:768px){
 html,body{overflow-x:clip}
 body.has-category-nav{--nav-h:100px}
 html:has(body.has-category-nav){scroll-padding-top:100px}
 .has-category-nav .site-header .header-inner.wrap{width:calc(100% - 28px);grid-template-rows:44px 44px;gap:0 8px}
 .has-category-nav :is(.wrap,.home-main){width:calc(100% - 28px)}
 .has-category-nav .site-header .brand-avatar{width:30px;height:30px}
 .has-category-nav .site-header .category-nav a{padding-inline:0!important;font-size:12px}
 .has-category-nav .site-header .category-nav a,
 .has-category-nav .site-header .category-nav a[aria-current=page]{background:transparent!important}
 .has-category-nav .site-header .category-nav .mobile-nav-label{display:inline-block;padding:4px 6px;border-radius:6px;line-height:20px}
 .has-category-nav .site-header .category-nav a[aria-current=page] .mobile-nav-label{background:var(--yellow)}
 .has-category-nav .site-header .category-nav a:active .mobile-nav-label{background:var(--yellow-soft)}
 .has-category-nav :is(h1,h2,h3){min-width:0;overflow-wrap:anywhere}
 .has-category-nav :is(.course-directory,.category-page,.case-library){padding-top:24px;padding-bottom:40px}
 .has-category-nav :is(.course-directory-head,.category-heading,.case-library-head){margin:0 0 20px}
 .has-category-nav :is(.course-directory-head,.category-heading,.case-library-head) h1{font-size:26px;line-height:1.4;margin:0 0 10px}
 .has-category-nav :is(.course-directory-head,.category-heading,.case-library-head)>p{font-size:14px;line-height:1.8;margin:0}
 /* Cards match the approved two-column preview, without scaling down text. */
 .has-category-nav .case-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;max-width:none;margin:0}
 .has-category-nav .case-library-card{container-type:normal;min-width:0;border:0;background:transparent;box-shadow:none;opacity:1!important;animation:none!important}
 .has-category-nav .case-library-flipper{animation:none!important;transform:none!important}
 .has-category-nav .case-library-front{border:1px solid var(--line);border-radius:12px;font-size:14px;line-height:1.6;box-shadow:none}
 .has-category-nav .case-library-back{display:none}
 .has-category-nav .case-library-card img{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;object-position:center 35%}
 .has-category-nav .case-library-card[data-format=landscape] img{object-fit:contain}
 .has-category-nav .case-library-info{padding:12px 8px;text-align:center}
 .has-category-nav .case-library-info h2{font-size:15px;line-height:1.4;margin:0 0 6px}
 .has-category-nav .case-library-info>p:first-of-type{font-size:11px;line-height:1.7;margin:0 0 9px;min-height:19px}
 .has-category-nav .case-library-info .case-library-summary{display:none}
 .has-category-nav .case-library-resources{gap:0;padding-top:8px;margin:0 0 10px;border-top:1px solid var(--line);justify-content:center}
 .has-category-nav .case-library-resources>span{font-size:11px;line-height:1.5;gap:0}
 .has-category-nav .case-library-resources>span+span::before{content:'·';margin:0 4px}
 .has-category-nav .case-library-resources svg{display:none}
 .has-category-nav .case-library-button{font-size:12px;line-height:1.5;min-width:0;min-height:40px;padding:7px 16px;gap:10px;border-width:1px;border-radius:8px;box-shadow:0 2px 0 var(--cover-line)}
 .has-category-nav .case-library-button svg{width:16px;height:16px}
 /* Short directory entries use two columns; articles retain comfortable type. */
 .has-category-nav :is(.lesson-grid,.category-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .has-category-nav .ai-prep-directory .lesson-grid{grid-auto-rows:auto}
 .has-category-nav .course-directory-head{padding:18px 0 8px}
 .has-category-nav :is(.lesson-card,.category-tile){padding:18px 14px;gap:8px;min-width:0}
 .has-category-nav .lesson-number{font-size:24px;margin:0}
 .has-category-nav :is(.lesson-card,.category-tile) h2{font-size:17px;line-height:1.6;margin:0}
 .has-category-nav :is(.lesson-card,.category-tile) p{font-size:13px;line-height:1.8;margin:4px 0 14px}
 .has-category-nav :is(.lesson-card,.category-tile) .btn{padding:9px 10px;min-height:44px;min-width:0;font-size:12px;white-space:nowrap;align-self:flex-start}
 .has-category-nav .course-directory>.text-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:16px}
 .has-category-nav :is(.study-main,.workflow-course,.codex-lesson){padding-top:18px}
 .has-category-nav :is(.study-hero,.workflow-hero,.codex-lesson-hero){gap:24px;padding-block:24px;margin-bottom:24px}
 .has-category-nav .editorial-intro h1,.has-category-nav .remake-course .editorial-intro h1{font-size:28px;line-height:1.45;margin-bottom:16px}
 .has-category-nav .editorial-intro :is(.workflow-lead,.study-intro){font-size:17px;line-height:1.8;margin-bottom:12px}
 .has-category-nav .editorial-intro>p:not(.workflow-lead):not(.study-intro){font-size:15px;line-height:1.85}
 .has-category-nav .editorial-intro .intro-route{display:none}
 .has-category-nav :is(.study-article,.guide-content,.content){min-width:0}
 .has-category-nav :is(.study-section>p,.card>p,.guide-content>p){font-size:16px;line-height:1.9}
 .has-category-nav .study-section h2{font-size:21px;line-height:1.6}
 .has-category-nav .study-section-title{gap:10px;align-items:flex-start}
 .has-category-nav .study-finished{width:min(100%,270px);justify-self:center;margin-inline:auto}
 .has-category-nav .study-finished.landscape{width:100%;max-width:520px}
 .has-category-nav .remake-hero-comparison{max-width:540px;width:100%}
 .has-category-nav .remake-hero-comparison .remake-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .has-category-nav .remake-compare-card{padding:0;min-width:0}
 .has-category-nav .remake-compare-card figcaption strong{font-size:14px}
 .has-category-nav .remake-compare-card figcaption span{font-size:11px}
 .has-category-nav .remake-compare-card video{width:100%;max-width:none;aspect-ratio:9/16;object-fit:contain}
 .has-category-nav .remake-compare-card .text-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .mobile-video-fullscreen{display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--action);font:600 13px/1.5 var(--font)}
 .has-category-nav :is(.study-gallery,.multiview-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .has-category-nav .multiview-item img{height:180px}
 .has-category-nav .multiview-item figcaption{padding:12px}
 .has-category-nav .multiview-item h3{font-size:15px;line-height:1.6}
 .has-category-nav .multiview-item p{font-size:13px;line-height:1.8}
 .has-category-nav :is(.story-beat,.reference-card){min-width:0}
 .has-category-nav .reference-player{max-width:100%}
 /* Home: compact introduction, swipeable posters, on-demand video only. */
 .home-deck-page .home-main{padding-top:20px}
 .home-deck-page .welcome{gap:18px;padding-bottom:24px}
 .home-deck-page .welcome h1{font-size:28px;line-height:1.45;margin-bottom:12px}
 .home-deck-page .hero-copy-enriched>p{font-size:15px;line-height:1.8;margin-bottom:10px}
 .home-deck-page .hero-learning>p{font-size:14px;line-height:1.8;margin-bottom:12px}
 .home-deck-page .learning-sequence{padding:10px 0;margin-bottom:12px;font-size:13px}
 .home-deck-page .welcome-actions{margin-top:12px;gap:8px 14px}
 .home-deck-page .welcome-actions .btn{font-size:14px;min-height:44px;padding:9px 16px}
 .home-deck-page .welcome-actions .text-link{font-size:13px}
 .home-deck-page.has-mobile-carousel .case-deck{display:none}
 .mobile-case-carousel{display:block;min-width:0;width:100%;overflow:clip;padding-top:4px}
 .mobile-case-carousel .swiper{overflow:visible}
 .mobile-case-carousel:not(.carousel-ready) .swiper-wrapper{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory}
 .mobile-case-carousel .swiper-slide{width:210px;max-width:72vw;flex-shrink:0;min-width:0;scroll-snap-align:center;opacity:.55;transition:opacity .2s}
 .mobile-case-carousel .swiper-slide-active,.mobile-case-carousel:not(.carousel-ready) .swiper-slide{opacity:1}
 .mobile-case-media{position:relative;aspect-ratio:9/16;border:2px solid var(--yellow);border-radius:16px;overflow:hidden;background:var(--ink)}
 .mobile-case-media video,.mobile-case-media>img{display:block;width:100%;height:100%;object-fit:contain}
 .mobile-case-media>img{object-fit:cover}
 .mobile-case-media[data-format=landscape]>img{object-fit:contain}
 .mobile-case-media video[hidden],.mobile-case-media>img[hidden],.mobile-case-play[hidden]{display:none}
 .mobile-case-play{position:absolute;inset:0;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;color:var(--ink)}
 .mobile-case-play span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--yellow);font-size:20px;box-shadow:0 4px 20px #0003}
 .mobile-case-caption{text-align:center;padding:12px 0 0}
 .mobile-case-caption h2{font-size:17px;margin:0 0 3px;line-height:1.5}
 .mobile-case-caption p{font-size:12px;line-height:1.7;margin:0 0 10px;color:var(--muted)}
 .mobile-case-caption .btn{font-size:13px;padding:9px 24px;min-height:44px}
 .mobile-case-status{font-size:12px;line-height:1.6;text-align:center;color:var(--muted)}
 .mobile-case-status:empty{display:none}
 .mobile-case-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:10px}
 .mobile-case-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--action);font-size:20px;cursor:pointer}
 .mobile-case-controls button:disabled{opacity:.4;cursor:default}
 .mobile-case-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
 .home-deck-page .recommend-cover,.home-deck-page .recommend-copy{padding:20px}
 .home-deck-page .recommend-cover h3{font-size:23px;line-height:1.5}
 .home-deck-page .recommend-cover h3 span{font-size:17px}
 .home-deck-page .recommend-copy h3{font-size:20px}
 .home-deck-page .recommend-copy>p{font-size:14px}
 .home-deck-page .recommend-choices{gap:10px}
 .home-deck-page .recommend-choices .topic-tile{padding:14px}
 .home-deck-page .recommend-choices .topic-tile h3{font-size:16px;min-height:0}
 .home-deck-page .recommend-choices .topic-tile p{font-size:13px;line-height:1.8;margin:10px 0}
 .pswp{--pswp-bg:#17141e;z-index:10000}
 .pswp__button{min-width:44px;min-height:44px}
 .mobile-lightbox-caption{position:absolute;left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom));text-align:center;color:#fff;font:14px/1.6 var(--font);pointer-events:none;text-shadow:0 1px 4px #000;background:#17141ecc;border-radius:8px;padding:8px}
}
@media(min-width:769px){.mobile-video-fullscreen{display:none}}
@media(max-width:360px){
 .has-category-nav .site-header .category-nav a{padding-inline:3px;font-size:11px}
 .has-category-nav .case-library-info{padding-inline:6px}
 .has-category-nav .case-library-resources>span+span::before{margin-inline:2px}
 .has-category-nav .case-library-info h2{font-size:14px}
 .has-category-nav :is(.lesson-grid,.category-grid){grid-template-columns:minmax(0,1fr)}
 .home-deck-page .welcome h1{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.mobile-case-carousel *{transition:none!important;animation:none!important}}
.mobile-video-quality[hidden]{display:none}
 .mobile-video-quality:not([hidden]){display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px;width:100%;font-size:12px}
 .mobile-video-quality button{min-height:44px;padding:7px 12px;border:1px solid #ded9e8;border-radius:8px;background:#fff;color:#5941b5;font:inherit;cursor:pointer}
 .mobile-video-quality button[aria-pressed=true]{background:#fff3a6;border-color:#e2cc43;color:#292435}
 .mobile-video-quality a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
 .mobile-video-message:not(:empty){flex-basis:100%;text-align:center;color:#625b6c;line-height:1.6}
 .mobile-case-carousel .mobile-video-quality{margin-top:10px}
@media(min-width:769px){
 .case-deck[data-state=focused] .deck-stage{height:calc(var(--deck-w) * 16 / 9 + 285px)}
 .case-deck[data-state=focused][data-format=landscape] .deck-stage{height:calc(var(--focused-media-height) + 305px)}
}
