/* Approved home categories; always shipped alongside legacy CSS. */
.mobile-home-intro { padding: 7px 2px 0; }
.mobile-home-intro > span { color: #237269; font-size: 12px; font-weight: 850; }
.mobile-home-intro h1 { margin: 6px 0; color: #173634; font-size: 29px; line-height: 1.25; }
.mobile-home-intro p { margin: 0; color: #526964; font-size: 13px; }
.mobile-home-screen .mobile-search { margin: 9px 0 11px; min-height: 46px; }
.mobile-home-screen .mobile-search input { height: 44px; }
.mobile-goal-heading { margin-top: 26px; margin-bottom: 6px; }
.mobile-goal-hint { margin: 0 2px 12px; color: #667c74; font-size: 12px; }
.mobile-goal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mobile-goal-card { --goal-bg: #e8f6ef; --goal-stroke: #c6e8d8; --goal-ink: #176c5d; position: relative; isolation: isolate; min-width: 0; min-height: 130px; overflow: hidden; padding: 14px 13px 12px; border: 1.5px solid var(--goal-stroke); border-radius: 20px; color: #163833; background: var(--goal-bg); box-shadow: 0 7px 18px #29574a0c; text-align: left; }
.mobile-goal-card::after { content: ""; position: absolute; z-index: -1; right: -31px; bottom: -40px; width: 96px; height: 96px; border: 15px solid #ffffff66; border-radius: 50%; }
.mobile-goal-card.goal-poster, .mobile-home-category.goal-poster { --goal-bg: #f3edfa; --goal-stroke: #e0cef0; --goal-ink: #775093; }
.mobile-goal-card.goal-video, .mobile-home-category.goal-video { --goal-bg: #fff0e5; --goal-stroke: #f2d2b8; --goal-ink: #ad5d37; }
.mobile-goal-card.goal-business, .mobile-home-category.goal-business { --goal-bg: #eaf3fb; --goal-stroke: #cddfee; --goal-ink: #356a91; }
.mobile-goal-card:active { transform: scale(.98); }
.mobile-goal-card > span { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; color: var(--goal-ink); }
.mobile-goal-card > span svg { width: 27px; height: 27px; }
.mobile-goal-card small { padding: 4px 7px; border-radius: 999px; color: var(--goal-ink); background: #ffffffb8; font-size: 11px; font-weight: 800; }
.mobile-goal-card b { display: block; font-size: 18px; line-height: 1.2; }
.mobile-goal-card em { display: block; overflow: hidden; margin-top: 5px; padding-right: 18px; color: #4b6c64; font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.mobile-goal-arrow { position: absolute; right: 12px; bottom: 12px; width: 22px; height: 22px; padding: 4px; border-radius: 50%; color: var(--goal-ink); background: #ffffffc9; }
.mobile-browse-label { display: block; margin: 19px 2px 0; color: #61766f; font-size: 12px; font-weight: 750; }
.mobile-all-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid #dce9e3; border-radius: 13px; color: #30665d; background: #fff; font-size: 13px; font-weight: 750; text-align: left; }
.mobile-all-toggle svg { width: 17px; height: 17px; }
.mobile-all-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

/* Work controls stay inside their own row; the date is never covered. */
.mobile-works-screen .mobile-work-info{min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.mobile-works-screen .mobile-work-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:8px}
.mobile-works-screen .mobile-work-meta time{flex:1;white-space:nowrap;font-size:12px;color:#71857e}
.mobile-works-screen .mobile-work-meta button{position:static;display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:none;min-height:44px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:#bc3d42;font-size:12px;font-weight:650;white-space:nowrap}
.mobile-works-screen .mobile-work-meta button svg{width:14px;height:14px;flex:none}
.mobile-works-screen .mobile-work-meta button:active{background:#fff0f1}
.mobile-works-screen .mobile-work-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px;background:#fbfefd;border-top:1px solid #e2eeea}
.mobile-works-screen .mobile-work-actions .mobile-image-actions,.mobile-works-screen .mobile-work-actions .mobile-work-video-actions{display:contents}
.mobile-works-screen .mobile-work-actions .mobile-work-view,.mobile-works-screen .mobile-work-actions .mobile-image-actions>button,.mobile-works-screen .mobile-work-actions .mobile-work-video-actions>button,.mobile-works-screen .mobile-work-actions .mobile-work-download{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:54px;margin:0;padding:7px 3px;border:1px solid #d7e8e2;border-radius:13px;background:#fff;color:#236e64;font-size:12px;font-weight:750;line-height:1.25;white-space:nowrap;box-shadow:none}
.mobile-works-screen .mobile-work-actions .mobile-image-actions>button:last-child,.mobile-works-screen .mobile-work-actions .mobile-work-video-actions>button:last-child{border-color:#c5e5dc;background:#eaf7f1;color:#176c61}
.mobile-works-screen .mobile-work-actions svg{width:17px;height:17px;flex:none}
/* This page owns a fixed mobile viewport. Details stay in a centered dialog. */
.mobile-shell:has(> .mobile-membership-screen){display:flex;flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}
.mobile-shell:has(> .mobile-membership-screen)>.mobile-topbar,.mobile-shell:has(> .mobile-membership-screen)>.mobile-bottom-nav{flex:none}
.mobile-shell:has(> .mobile-membership-screen)>.mobile-bottom-nav{position:relative;left:auto;bottom:auto;transform:none;width:100%}
.mobile-membership-screen{display:flex;flex:1;flex-direction:column;gap:14px;min-height:0;padding:16px 18px;overflow:hidden}
.mobile-membership-heading{display:flex;align-items:center;gap:10px;flex:none;min-height:40px}
.mobile-membership-heading h1{flex:1;margin:0;color:#254e46;font-size:22px;line-height:1.2}
.mobile-membership-heading>span{font-size:12px;color:#648078}
.mobile-membership-back{display:grid;place-items:center;flex:none;width:40px;height:40px;min-height:40px;padding:0;border:1px solid #d8e8e1;border-radius:12px;background:#fff;color:#246c62}
.mobile-membership-back svg{width:20px;height:20px}
.mobile-membership-current{display:flex;align-items:center;flex:none;gap:12px;padding:14px 16px;border:1px solid #cde3d9;border-radius:18px;background:#edf8f2}
.mobile-membership-current>svg{width:28px;height:28px;flex:none;color:#167c70}
.mobile-membership-current>div{flex:1;min-width:0}
.mobile-membership-current small{font-size:11px;color:#5b7b70}
.mobile-membership-current h2{margin:3px 0 0;color:#204e44;font-size:20px;line-height:1.2}
.mobile-membership-current p{margin:0;font-size:12px;line-height:1.5;color:#628076;text-align:right}
.mobile-membership-choices{display:flex;flex:1;flex-direction:column;justify-content:center;gap:12px;min-height:0}
.mobile-membership-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mobile-membership-section-title h2{margin:0;font-size:17px;color:#254e46}
.mobile-membership-section-title small{font-size:12px;color:#71857b}
.mobile-membership-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mobile-membership-versions>button{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;min-height:78px;padding:13px 12px;border:1px solid #dceae3;border-radius:16px;background:#fff;text-align:left;color:#274c44}
.mobile-membership-versions>button.is-active{border-color:#9acbb7;background:#eaf7ef}
.mobile-membership-versions b{display:block;font-size:16px}
.mobile-membership-versions small{display:block;margin-top:6px;font-size:12px;color:#6d827a}
.mobile-membership-versions em{display:flex;align-items:center;gap:2px;font-size:10px;color:#1c7766;font-style:normal;white-space:nowrap}
.mobile-membership-versions svg{width:15px;height:15px;flex:none}
.mobile-membership-upgrade{flex:none;padding:16px;border:1px solid #dceae3;border-radius:18px;background:#fff}
.mobile-membership-upgrade h2{margin:0 0 12px;font-size:16px;color:#254e46}
.mobile-membership-upgrade>div{display:flex;gap:8px}
.mobile-membership-upgrade input{flex:1;min-width:0;min-height:44px;padding:10px 11px;border:1px solid #cedfd6;border-radius:11px;font-size:14px;background:#fafffc;color:#254e46}
.mobile-membership-upgrade button{flex:none;min-width:64px;border:0;border-radius:11px;background:#178577;color:#fff;font-size:14px;font-weight:700}
.mobile-membership-upgrade button:disabled{opacity:.45}
.mobile-membership-upgrade p{margin:10px 0 0;font-size:11px;line-height:1.5;color:#71857b}
.mobile-membership-screen button:focus-visible,.mobile-membership-dialog button:focus-visible{outline:3px solid #79b8a5;outline-offset:3px}
.mobile-membership-dialog{position:fixed;inset:0;width:min(350px,calc(100vw - 36px));max-height:80dvh;margin:auto;padding:0;border:0;border-radius:22px;background:#fff;color:#254e46;box-shadow:0 24px 80px #183d3b40;font-family:inherit;overflow:auto;overscroll-behavior:contain}
.mobile-membership-dialog::backdrop{background:#173a3559;backdrop-filter:blur(3px)}
.mobile-membership-dialog>section{padding:20px}
.mobile-membership-dialog header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mobile-membership-dialog h2{margin:0;font-size:18px}
.mobile-membership-dialog header button{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:#eff6f2;color:#39665a}
.mobile-membership-dialog header svg{width:20px;height:20px}
.mobile-membership-dialog p{margin:12px 0;font-size:13px;line-height:1.6;color:#6a8076}
.mobile-membership-dialog ul{display:grid;gap:12px;margin:18px 0;padding:0;list-style:none}
.mobile-membership-dialog li{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.5}
.mobile-membership-dialog li svg{flex:none;width:16px;height:16px;color:#348a72}
.mobile-membership-dialog-done{width:100%;min-height:44px;margin-top:8px;border:0;border-radius:12px;background:#178577;color:#fff;font-size:14px;font-weight:700}
@media(max-height:720px){
 .mobile-membership-screen{gap:9px;padding:10px 16px}
 .mobile-membership-heading{min-height:36px}
 .mobile-membership-heading h1{font-size:20px}
 .mobile-membership-current{padding:10px 12px}
 .mobile-membership-current h2{font-size:18px}
 .mobile-membership-choices{gap:8px}
 .mobile-membership-versions{gap:8px}
 .mobile-membership-versions>button{min-height:62px;padding:10px}
 .mobile-membership-upgrade{padding:12px}
 .mobile-membership-upgrade h2{margin-bottom:8px}
 .mobile-membership-upgrade p{margin-top:7px}
}

/* The recharge center retains its account, balance, packages and purchase dialog. */
.mobile-shell:has(> .mobile-profile-screen){display:flex;flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}
.mobile-shell:has(> .mobile-profile-screen)>.mobile-topbar,.mobile-shell:has(> .mobile-profile-screen)>.mobile-bottom-nav{flex:none}
.mobile-shell:has(> .mobile-profile-screen)>.mobile-bottom-nav{position:relative;left:auto;bottom:auto;transform:none;width:100%}
.mobile-profile-screen{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:8px;min-height:0;padding:12px 16px;overflow:hidden}
.mobile-profile-screen>.mobile-profile-hero{flex:none;gap:11px;min-height:72px;padding:11px 14px;border-radius:18px}
.mobile-profile-screen .mobile-profile-avatar{width:45px;height:45px;font-size:19px}
.mobile-profile-screen .mobile-profile-hero small{font-size:10px;line-height:1.2}
.mobile-profile-screen .mobile-profile-hero h1{margin:2px 0;font-size:18px;line-height:1.2}
.mobile-profile-screen .mobile-profile-hero p{font-size:10px;line-height:1.2}
.mobile-profile-screen>.mobile-profile-section-title{flex:none;margin:0 2px}
.mobile-profile-screen .mobile-profile-section-title h2{margin:2px 0 0;font-size:18px;line-height:1.2}
.mobile-profile-screen>.mobile-profile-summary{flex:none;margin:0}
.mobile-profile-screen .mobile-profile-summary button{grid-template-columns:22px minmax(0,1fr) 14px;gap:6px;min-height:69px;padding:9px 10px}
.mobile-profile-screen .mobile-profile-summary button>svg:first-child{width:19px}
.mobile-profile-screen>.mobile-profile-point-plans{flex:1;min-height:0;display:grid;grid-auto-rows:minmax(56px,1fr);gap:8px;max-height:240px}
.mobile-profile-screen>.mobile-profile-point-plans>button{min-height:56px;padding:10px 12px;border-radius:15px}
.mobile-profile-screen .mobile-profile-point-plans b,.mobile-profile-screen .mobile-profile-point-plans>button>strong{font-size:18px}
.mobile-profile-screen .mobile-profile-point-plans>button>span{gap:2px}
.mobile-profile-screen>.mobile-profile-payment-note{flex:none;margin:0;font-size:11px;line-height:1.4}
.mobile-profile-more-button{display:flex;align-items:center;justify-content:space-between;flex:none;min-height:44px;width:100%;padding:0 4px;border:0;background:transparent;color:#62797d;font-size:12px;font-weight:700;text-align:left}
.mobile-profile-more-button svg{width:16px;height:16px}
.mobile-profile-screen .mobile-purchase-dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
.mobile-profile-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.mobile-profile-dialog-heading h2{margin:0;font-size:20px}
.mobile-profile-dialog-heading button{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:#eff6f2;color:#39665a}
.mobile-profile-dialog-heading svg{width:20px;height:20px}
.mobile-profile-picker .mobile-profile-point-plans>button{min-height:70px}
@media(max-height:720px){
 .mobile-profile-screen{gap:4px;padding:8px 16px}
 .mobile-profile-screen>.mobile-profile-hero{min-height:60px;padding:7px 12px}
 .mobile-profile-screen .mobile-profile-avatar{width:42px;height:42px}
 .mobile-profile-screen>.mobile-profile-section-title>span{display:none}
 .mobile-profile-screen .mobile-profile-section-title h2{margin:0;font-size:18px}
 .mobile-profile-screen .mobile-profile-summary button{min-height:60px;padding:7px 10px}
 .mobile-profile-screen>.mobile-profile-point-plans{gap:6px;max-height:198px;grid-auto-rows:minmax(54px,1fr)}
 .mobile-profile-screen>.mobile-profile-point-plans>button{min-height:54px;padding:7px 12px}
}
@media(max-height:640px){
 .mobile-profile-screen>.mobile-profile-hero{min-height:54px;padding:5px 12px}
 .mobile-profile-screen>.mobile-profile-section-title:first-of-type{display:none}
 .mobile-profile-screen>.mobile-profile-hero+.mobile-profile-section-title{display:none}
 .mobile-profile-screen .mobile-profile-summary button{min-height:54px;padding:5px 10px}
 .mobile-profile-screen>.mobile-profile-point-plans{grid-auto-rows:minmax(50px,1fr);max-height:180px}
 .mobile-profile-screen>.mobile-profile-point-plans>button{min-height:50px;padding:6px 12px}
 .mobile-profile-screen>.mobile-profile-payment-note{display:none}
}

/* Preserve the original centered recharge confirmation independently of legacy CSS. */
.mobile-profile-screen>.mobile-purchase-overlay { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 22px; background: #112b2d99; }
.mobile-profile-screen .mobile-purchase-dialog { width: min(100%, 390px); max-height: calc(100dvh - 44px); overflow-y: auto; padding: 24px; border-radius: 22px; color: #18383b; background: white; box-shadow: 0 18px 65px #0b25354d; }
.mobile-profile-screen .mobile-purchase-dialog .eyebrow { color: #148c83; font-size: 12px; font-weight: 850; }
.mobile-profile-screen .mobile-purchase-dialog h2 { margin: 7px 0 5px; font-size: 23px; }
.mobile-profile-screen .mobile-purchase-points { display: grid; justify-items: center; gap: 5px; margin-top: 16px; padding: 18px 12px 20px; border: 1px solid #d8e9df; border-radius: 17px; background: linear-gradient(145deg, #f4fcf8, #e9f7ef); text-align: center; }
.mobile-profile-screen .mobile-purchase-points > span { color: #4d756c; font-size: 12px; font-weight: 800; }
.mobile-profile-screen .mobile-purchase-points strong { color: #17463e; font-size: clamp(36px, 10vw, 46px); line-height: 1.05; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.mobile-profile-screen .mobile-purchase-points em { color: #148c83; font-size: 18px; font-style: normal; letter-spacing: 0; }
.mobile-profile-screen .mobile-purchase-price { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 14px 0 13px; padding: 15px 0; border-top: 1px solid #dcebe7; border-bottom: 1px solid #dcebe7; }
.mobile-profile-screen .mobile-purchase-price span { color: #62797d; font-size: 13px; }
.mobile-profile-screen .mobile-purchase-price b { color: #148c83; font-size: 27px; }
.mobile-profile-screen .mobile-purchase-dialog p { margin: 0; color: #62797d; font-size: 11px; line-height: 1.6; }
.mobile-profile-screen .mobile-purchase-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin-top: 22px; }
.mobile-profile-screen .mobile-purchase-actions button { min-width: 0; min-height: 50px; padding: 6px; border: 1px solid #dcebe7; border-radius: 13px; color: #18383b; background: white; font-size: 13px; font-weight: 850; }
.mobile-profile-screen .mobile-purchase-actions button:last-child { border-color: #148c83; color: white; background: #148c83; }
.mobile-profile-screen .mobile-purchase-dialog{box-sizing:border-box;font-family:inherit;max-height:calc(100dvh - 44px);overscroll-behavior:contain}
.mobile-profile-screen .mobile-purchase-dialog .eyebrow{display:inline-block;padding:5px 9px;border-radius:6px;background:#eee8fb}
.mobile-profile-screen .mobile-profile-balance{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;min-height:69px;padding:9px 10px;border:1px solid var(--mobile-line);border-radius:17px;color:var(--mobile-ink);background:var(--mobile-surface);text-align:left}
.mobile-profile-screen .mobile-profile-balance>svg{width:19px;height:19px;color:var(--mobile-blue)}
.mobile-profile-screen .mobile-profile-balance span{display:grid;min-width:0;gap:2px}
.mobile-profile-screen .mobile-profile-balance small{color:var(--mobile-muted);font-size:10px}
.mobile-profile-screen .mobile-profile-balance b{font-size:14px;overflow-wrap:anywhere}
.mobile-profile-screen .mobile-profile-point-plans>button.selected{border:2px solid var(--mobile-blue);background:#f2fbf8;box-shadow:0 7px 20px #0f6b631a}
.mobile-profile-screen .mobile-profile-point-plans>button.selected>svg{color:var(--mobile-blue)}
@media(max-height:720px){.mobile-profile-screen .mobile-profile-balance{min-height:60px;padding:7px 10px}}
@media(max-height:640px){.mobile-profile-screen .mobile-profile-balance{min-height:54px;padding:5px 10px}}
@media(max-height:600px){
 .mobile-profile-screen>.mobile-purchase-overlay{padding:16px}
 .mobile-profile-screen .mobile-purchase-dialog{padding:20px;max-height:calc(100dvh - 32px)}
 .mobile-profile-screen .mobile-purchase-points{margin-top:12px;padding:14px 10px}
 .mobile-profile-screen .mobile-purchase-price{margin:12px 0;padding:12px 0}
 .mobile-profile-screen .mobile-purchase-actions{margin-top:16px}
}

/* Compact mobile libraries: keep navigation stable and scroll the two-column collection. */
.mobile-shell:has(>.mobile-works-screen),.mobile-shell:has(>.mobile-materials-screen){display:flex;flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}
.mobile-shell:has(>.mobile-works-screen)>.mobile-topbar,.mobile-shell:has(>.mobile-materials-screen)>.mobile-topbar{flex:none}
.mobile-shell:has(>.mobile-works-screen)>.mobile-bottom-nav,.mobile-shell:has(>.mobile-materials-screen)>.mobile-bottom-nav{position:relative;left:auto;bottom:auto;transform:none;width:100%;flex:none}
.mobile-works-screen,.mobile-materials-screen{display:flex;flex:1;flex-direction:column;gap:10px;min-height:0;padding:12px 16px 0;overflow:hidden}
.mobile-library-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;min-height:44px}
.mobile-library-top>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}
.mobile-library-top h1{margin:0;color:#234e46;font-size:22px;line-height:1.3;letter-spacing:-.03em;white-space:nowrap}
.mobile-library-top span{color:#698078;font-size:12px;white-space:nowrap}
.mobile-library-top>button,.mobile-library-tools>button{display:flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:44px;min-width:44px;padding:0 10px;border:1px solid #dce9e3;border-radius:12px;background:#fff;color:#246f64}
.mobile-library-top svg{width:18px;height:18px}
.mobile-library-tools{display:flex;align-items:center;gap:6px}
.mobile-materials-screen .mobile-library-top .mobile-library-add{width:auto;margin:0;padding:0 10px;border-color:#c8e6d9;background:#eaf7ef}
.mobile-library-tools .mobile-library-add span{font-size:13px;font-weight:750;color:#246f64}
.mobile-works-screen>.mobile-search{flex:none;width:100%;min-height:42px;margin:0;border-radius:13px;padding:0 12px;box-shadow:none}
.mobile-works-screen>.mobile-search input{min-width:0;width:100%;height:42px;font-size:14px}
.mobile-works-screen>.mobile-search svg{width:18px;height:18px}
.mobile-works-screen>.mobile-category-chips,.mobile-materials-screen>.mobile-category-chips{display:flex;flex:none;gap:7px;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.mobile-works-screen>.mobile-category-chips button,.mobile-materials-screen>.mobile-category-chips button{flex:none;display:flex;align-items:center;gap:6px;min-height:40px;padding:0 13px;border:1px solid #dce9e3;border-radius:12px;background:#fff;color:#59756c;font-size:13px;font-weight:750}
.mobile-works-screen>.mobile-category-chips button.active,.mobile-materials-screen>.mobile-category-chips button.active{border-color:#206f62;background:#206f62;color:#fff}
.mobile-works-screen>.mobile-category-chips small,.mobile-materials-screen>.mobile-category-chips small{font-size:11px;opacity:.75}
.mobile-works-screen>.mobile-library-result,.mobile-materials-screen>.mobile-library-result{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;margin:0 2px;color:#6b8078;font-size:12px;line-height:1.4}
.mobile-library-result small{font-size:11px}
.mobile-works-screen>.mobile-work-list,.mobile-materials-screen>.mobile-material-grid{display:grid;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;min-height:0;overflow:auto;padding:0 0 16px;overscroll-behavior:contain;scrollbar-width:thin}
.mobile-works-screen .mobile-work-card,.mobile-materials-screen .mobile-material-card{display:flex;flex-direction:column;min-width:0;margin:0;overflow:hidden;border:1px solid #dce9e3;border-radius:16px;background:#fff;box-shadow:0 3px 12px #1d4a4010}
.mobile-works-screen .mobile-work-preview,.mobile-materials-screen .mobile-material-preview{display:grid;position:relative;flex:none;grid-row:auto;place-items:center;width:100%;height:auto;aspect-ratio:4/3;min-height:0;margin:0;padding:0;border:0;border-bottom:1px solid #e8eeea;background:#f1f6f2;overflow:hidden;color:#2c7567}
.mobile-works-screen .mobile-work-preview img,.mobile-works-screen .mobile-work-preview video,.mobile-materials-screen .mobile-material-preview img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.mobile-materials-screen .mobile-material-preview>svg{width:32px;height:32px}
.mobile-works-screen .mobile-work-info,.mobile-materials-screen .mobile-material-info{display:flex;flex:1;flex-direction:column;justify-content:start;gap:4px;min-width:0;min-height:0;padding:9px 10px 5px}
.mobile-works-screen .mobile-work-info>small,.mobile-materials-screen .mobile-material-info>span{display:block;overflow:hidden;color:#327365;font-size:11px;font-weight:750;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.mobile-works-screen .mobile-work-info h2,.mobile-materials-screen .mobile-material-info h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;margin:0;color:#26483f;font-size:14px;line-height:1.45;font-weight:750;overflow-wrap:anywhere;white-space:normal}
.mobile-materials-screen .mobile-material-info small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:30px;color:#7c8a83;font-size:11px;line-height:1.4}
.mobile-works-screen .mobile-work-meta{gap:2px;min-height:36px;margin:0}
.mobile-works-screen .mobile-work-meta time{font-size:11px;min-width:0}
.mobile-works-screen .mobile-work-meta button{min-width:44px;min-height:44px;padding:0 2px;font-size:11px;gap:2px}
.mobile-works-screen .mobile-work-meta button svg{width:12px;height:12px}
.mobile-works-screen .mobile-work-actions{flex:none;gap:4px;padding:6px;border-top:1px solid #e5eeea}
.mobile-works-screen .mobile-work-actions .mobile-work-view,.mobile-works-screen .mobile-work-actions .mobile-image-actions>button,.mobile-works-screen .mobile-work-actions .mobile-work-video-actions>button,.mobile-works-screen .mobile-work-actions .mobile-work-download{width:100%;min-height:48px;gap:3px;padding:5px 1px;border-radius:10px;font-size:12px;line-height:1.2;white-space:normal}
.mobile-works-screen .mobile-work-actions svg{width:16px;height:16px}
.mobile-works-screen .mobile-work-actions .direct-download-wrap{min-width:0}
.mobile-materials-screen .mobile-material-primary:empty{display:none}
.mobile-materials-screen .mobile-material-primary button{width:calc(100% - 16px);min-height:44px;margin:0 8px 8px;font-size:12px}
.mobile-materials-screen .mobile-material-simple-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:none;border-top:1px solid #e5eeea}
.mobile-materials-screen .mobile-material-simple-actions button{min-height:44px;padding:0;border:0;background:#fbfefd;color:#226f63;font-size:12px;font-weight:750}
.mobile-materials-screen .mobile-material-simple-actions button+button{border-left:1px solid #e5eeea}
.mobile-materials-screen .mobile-material-simple-actions .danger{color:#bc3d42}
.mobile-materials-screen .mobile-material-card.has-review{grid-column:1/-1}
.mobile-materials-screen .mobile-material-card.has-review .mobile-material-preview{aspect-ratio:4/1}
.mobile-materials-screen:has(.mobile-upload-panel){overflow-y:auto;display:block}
.mobile-materials-screen:has(.mobile-upload-panel)>*{margin-bottom:10px}
.mobile-materials-screen:has(.mobile-upload-panel)>.mobile-material-grid{overflow:visible}
.mobile-profile-screen .mobile-profile-hero>div{flex:1;min-width:0}
.mobile-profile-screen .mobile-profile-hero h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-profile-screen .mobile-profile-version{display:flex;flex:none;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:44px;max-width:112px;padding:2px 0 2px 11px;border:0;border-left:1px solid #ffffff40;background:transparent;text-align:left;color:#fff}
.mobile-profile-screen .mobile-profile-version small{font-size:9px;color:#d4e2f3}
.mobile-profile-screen .mobile-profile-version b{font-size:14px;color:#efffb0;line-height:1.3}
.mobile-profile-screen .mobile-profile-version span{display:flex;align-items:center;gap:2px;color:#fff;font-size:11px}
.mobile-profile-screen .mobile-profile-version svg{width:12px;height:12px}
@media(max-width:360px){.mobile-library-top h1{font-size:20px}.mobile-library-top>div:first-child{gap:6px}.mobile-library-top span{font-size:11px}.mobile-works-screen,.mobile-materials-screen{padding-right:12px;padding-left:12px}.mobile-library-top .mobile-library-tools{gap:4px}}

.mobile-works-screen .mobile-purchase-overlay { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 22px; background: #112b2d99; }
.mobile-materials-screen .mobile-purchase-overlay { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 22px; background: #112b2d99; }
.mobile-works-screen .mobile-purchase-dialog { width: min(100%, 390px); max-height: calc(100dvh - 44px); overflow-y: auto; padding: 24px; border-radius: 22px; color: #18383b; background: white; box-shadow: 0 18px 65px #0b25354d; }
.mobile-materials-screen .mobile-purchase-dialog { width: min(100%, 390px); max-height: calc(100dvh - 44px); overflow-y: auto; padding: 24px; border-radius: 22px; color: #18383b; background: white; box-shadow: 0 18px 65px #0b25354d; }
.mobile-works-screen .mobile-purchase-dialog .eyebrow { color: #148c83; font-size: 12px; font-weight: 850; }
.mobile-materials-screen .mobile-purchase-dialog .eyebrow { color: #148c83; font-size: 12px; font-weight: 850; }
.mobile-works-screen .mobile-purchase-dialog h2 { margin: 7px 0 5px; font-size: 23px; }
.mobile-materials-screen .mobile-purchase-dialog h2 { margin: 7px 0 5px; font-size: 23px; }
.mobile-works-screen .mobile-purchase-points { display: grid; justify-items: center; gap: 5px; margin-top: 16px; padding: 18px 12px 20px; border: 1px solid #d8e9df; border-radius: 17px; background: linear-gradient(145deg, #f4fcf8, #e9f7ef); text-align: center; }
.mobile-materials-screen .mobile-purchase-points { display: grid; justify-items: center; gap: 5px; margin-top: 16px; padding: 18px 12px 20px; border: 1px solid #d8e9df; border-radius: 17px; background: linear-gradient(145deg, #f4fcf8, #e9f7ef); text-align: center; }
.mobile-works-screen .mobile-purchase-points > span { color: #4d756c; font-size: 12px; font-weight: 800; }
.mobile-materials-screen .mobile-purchase-points > span { color: #4d756c; font-size: 12px; font-weight: 800; }
.mobile-works-screen .mobile-purchase-points strong { color: #17463e; font-size: clamp(36px, 10vw, 46px); line-height: 1.05; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.mobile-materials-screen .mobile-purchase-points strong { color: #17463e; font-size: clamp(36px, 10vw, 46px); line-height: 1.05; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.mobile-works-screen .mobile-purchase-points em { color: #148c83; font-size: 18px; font-style: normal; letter-spacing: 0; }
.mobile-materials-screen .mobile-purchase-points em { color: #148c83; font-size: 18px; font-style: normal; letter-spacing: 0; }
.mobile-works-screen .mobile-purchase-price { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 14px 0 13px; padding: 15px 0; border-top: 1px solid #dcebe7; border-bottom: 1px solid #dcebe7; }
.mobile-materials-screen .mobile-purchase-price { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 14px 0 13px; padding: 15px 0; border-top: 1px solid #dcebe7; border-bottom: 1px solid #dcebe7; }
.mobile-works-screen .mobile-purchase-price span { color: #62797d; font-size: 13px; }
.mobile-materials-screen .mobile-purchase-price span { color: #62797d; font-size: 13px; }
.mobile-works-screen .mobile-purchase-price b { color: #148c83; font-size: 27px; }
.mobile-materials-screen .mobile-purchase-price b { color: #148c83; font-size: 27px; }
.mobile-works-screen .mobile-purchase-dialog p { margin: 0; color: #62797d; font-size: 11px; line-height: 1.6; }
.mobile-materials-screen .mobile-purchase-dialog p { margin: 0; color: #62797d; font-size: 11px; line-height: 1.6; }
.mobile-works-screen .mobile-purchase-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin-top: 22px; }
.mobile-materials-screen .mobile-purchase-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin-top: 22px; }
.mobile-works-screen .mobile-purchase-actions button { min-width: 0; min-height: 50px; padding: 6px; border: 1px solid #dcebe7; border-radius: 13px; color: #18383b; background: white; font-size: 13px; font-weight: 850; }
.mobile-materials-screen .mobile-purchase-actions button { min-width: 0; min-height: 50px; padding: 6px; border: 1px solid #dcebe7; border-radius: 13px; color: #18383b; background: white; font-size: 13px; font-weight: 850; }
.mobile-works-screen .mobile-purchase-actions button:last-child { border-color: #148c83; color: white; background: #148c83; }
.mobile-materials-screen .mobile-purchase-actions button:last-child { border-color: #148c83; color: white; background: #148c83; }
.mobile-materials-screen .mobile-material-preview-dialog { display: grid; gap: 12px; max-height: 80dvh; overflow-y: auto; }
.mobile-materials-screen .mobile-material-preview-dialog h2 { margin: 0; overflow-wrap: anywhere; font-size: 18px; }
.mobile-materials-screen .mobile-material-preview-dialog img, .mobile-material-preview-dialog video { display: block; width: 100%; max-height: 55dvh; object-fit: contain; border-radius: 10px; background: #edf4f1; }
.mobile-materials-screen .mobile-material-preview-dialog audio { width: 100%; }
.mobile-materials-screen .mobile-material-preview-dialog > button { min-height: 44px; border: 0; border-radius: 10px; background: var(--mobile-blue); color: #fff; font-weight: 750; }
.mobile-works-screen .mobile-purchase-actions button.danger{border-color:#bc3d42;background:#bc3d42;color:#fff}

/* Content-sized rows keep card details visible inside the scrollable collection. */
.mobile-works-screen>.mobile-work-list,.mobile-materials-screen>.mobile-material-grid{grid-auto-rows:max-content}
.mobile-works-screen .mobile-work-info{flex:none;min-height:110px}
.mobile-materials-screen .mobile-material-info{flex:none;min-height:100px}
.mobile-works-screen .mobile-work-card,.mobile-materials-screen .mobile-material-card{height:auto;align-self:start}
.mobile-works-screen,.mobile-materials-screen{gap:8px;padding-top:8px}
.mobile-works-screen>.mobile-library-result small{display:none}

.mobile-works-screen .mobile-work-card,.mobile-materials-screen .mobile-material-card{align-items:stretch}
.mobile-materials-screen .mobile-material-simple-actions,.mobile-materials-screen .mobile-material-primary{width:100%}

/* The count already sits beside the page title; keep result announcements without a second heading row. */
.mobile-works-screen>.mobile-library-result{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;border:0}

/* Approved compact mobile UI, 2026-10-06. */
.mobile-works-screen .mobile-work-preview,.mobile-materials-screen .mobile-material-preview{aspect-ratio:16/9}
.mobile-works-screen .mobile-work-info,.mobile-materials-screen .mobile-material-info{gap:3px;padding:7px 9px 3px;min-height:0}
.mobile-works-screen .mobile-work-info>small,.mobile-materials-screen .mobile-material-info>span{font-size:10px;line-height:1.3}
.mobile-works-screen .mobile-work-info h2,.mobile-materials-screen .mobile-material-info h3{font-size:13px;line-height:1.4;min-height:36px;font-weight:650;flex:none}
.mobile-materials-screen .mobile-material-info small{min-height:0;font-size:10px;line-height:1.4}
.mobile-works-screen .mobile-work-meta{min-height:36px}
.mobile-works-screen .mobile-work-meta time{font-size:10px}
.mobile-works-screen .mobile-work-meta button{font-size:10px;gap:2px}
.mobile-works-screen .mobile-work-actions{padding:4px;gap:4px}
.mobile-works-screen .mobile-work-actions .mobile-work-view,.mobile-works-screen .mobile-work-actions .mobile-image-actions>button,.mobile-works-screen .mobile-work-actions .mobile-work-video-actions>button,.mobile-works-screen .mobile-work-actions .mobile-work-download{min-height:44px;gap:2px;padding:4px 1px;font-size:11px;line-height:1.15}
.mobile-works-screen .mobile-work-actions svg{width:14px;height:14px}
.mobile-materials-screen .mobile-material-simple-actions button{font-size:11px;min-height:44px}
.mobile-works-screen>.mobile-work-list,.mobile-materials-screen>.mobile-material-grid{gap:9px}
/* A quiet home palette: the category names and icons carry the distinction. */
.mobile-shell:has(>.mobile-home-screen){background:#f7f9f7}
.mobile-shell:has(>.mobile-home-screen)>.mobile-topbar{background:#fff;border-bottom-color:#e7ede8;box-shadow:none}
.mobile-home-screen{background:#f7f9f7}
.mobile-home-screen .mobile-home-intro>span{color:#7a8b81;font-weight:600}
.mobile-home-screen .mobile-home-intro h1{font-size:26px;color:#283f34}
.mobile-home-screen .mobile-home-intro p{font-size:13px;color:#7a8b81}
.mobile-home-screen .mobile-goal-heading{margin-top:18px}
.mobile-home-screen .mobile-goal-hint{font-size:12px;color:#7a8b81}
.mobile-home-screen .mobile-goal-card,.mobile-home-screen .mobile-home-category{--goal-bg:#fff;--goal-stroke:#dde6df;--goal-ink:#386650;background:#fff;border-color:#dde6df;box-shadow:none}
.mobile-home-screen .mobile-goal-card{min-height:112px;padding:12px;border-radius:16px;border-width:1px}
.mobile-home-screen .mobile-goal-card::after{display:none}
.mobile-home-screen .mobile-goal-card>span{margin-bottom:13px;color:#386650}
.mobile-home-screen .mobile-goal-card>span svg{width:23px;height:23px}
.mobile-home-screen .mobile-goal-card small{color:#7b8b80;background:#f1f5f1;font-size:10px;font-weight:650}
.mobile-home-screen .mobile-goal-card b{font-size:17px;font-weight:750;color:#2b4336}
.mobile-home-screen .mobile-goal-card em{font-size:11px;color:#839086}
.mobile-home-screen .mobile-goal-arrow{background:transparent;color:#a6b5a9;width:20px;height:20px;padding:2px}
.mobile-home-screen .mobile-all-toggle{box-shadow:none;background:#fff;color:#526e5d;border-color:#dde6df}
.mobile-home-screen .mobile-search{box-shadow:none;border-color:#dde6df;background:#fff}
.mobile-home-screen .mobile-browse-label{color:#7a8b81}
.mobile-home-screen .mobile-category-banner{background:#f1f5f1;color:#2b4336}
.mobile-home-screen .mobile-category-agent{background:#fff;border-color:#dde6df;box-shadow:none}
.mobile-home-screen .mobile-category-agent-icon{color:#386650;background:#f1f5f1}
.mobile-home-screen .mobile-category-agent b{color:#2b4336}
.mobile-home-screen .mobile-category-agent small{color:#7a8b81}

/* Keep the home search and expand control visible in the standard mobile viewport. */
.mobile-home-screen .mobile-home-intro>span{display:none}
.mobile-home-screen .mobile-home-intro h1{font-size:24px;margin-top:0}
.mobile-home-screen .mobile-goal-heading{margin-top:12px}
.mobile-home-screen .mobile-goal-hint{margin-bottom:8px}
.mobile-home-screen .mobile-goal-card{min-height:104px}
.mobile-home-screen .mobile-browse-label{margin-top:12px}

.mobile-home-screen{padding-bottom:12px}
@media(max-height:640px){
 .mobile-home-screen .mobile-goal-hint{display:none}
 .mobile-home-screen .mobile-home-intro p{display:none}
 .mobile-home-screen .mobile-goal-card{min-height:92px}
 .mobile-home-screen .mobile-goal-card>span{margin-bottom:8px}
 .mobile-home-screen .mobile-goal-heading{margin-top:8px;margin-bottom:8px}
}

/* Compact the entire item, including metadata and actions. Approved mobile shell only. */
.mobile-works-screen{position:relative}
.mobile-works-screen .mobile-work-card,.mobile-materials-screen .mobile-material-card:not(.has-review){display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;column-gap:0;border-radius:13px;overflow:hidden}
.mobile-works-screen .mobile-work-preview,.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-preview{grid-column:1;grid-row:1;width:56px;height:100%;min-height:0;aspect-ratio:auto;align-self:stretch;border-radius:0;background:#eef2ed}
.mobile-works-screen .mobile-work-preview img,.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-preview img{width:100%;height:100%;object-fit:contain}
.mobile-works-screen .mobile-work-info{grid-column:2;grid-row:1;height:86px;padding:5px 6px 0;gap:1px;overflow:hidden}
.mobile-works-screen .mobile-work-info>small{display:none}
.mobile-works-screen .mobile-work-info h2{font-size:12.5px;line-height:16px;min-height:32px;max-height:32px;margin:0}
.mobile-works-screen .mobile-work-meta{min-height:44px;height:44px;gap:1px;margin:0;align-items:center}
.mobile-works-screen .mobile-work-meta time{font-size:9px;white-space:nowrap}
.mobile-works-screen .mobile-work-meta button{min-width:44px;width:44px;min-height:44px;padding:0;gap:1px;font-size:10px;flex:none;border:0;background:transparent;color:#c55b61}
.mobile-works-screen .mobile-work-meta button svg{width:12px;height:12px}
.mobile-works-screen .mobile-work-actions{grid-column:1/-1;grid-row:2;padding:0;gap:0;border-top:1px solid #edf0ec;height:44px}
.mobile-works-screen .mobile-work-actions .mobile-work-view,.mobile-works-screen .mobile-work-actions .mobile-image-actions>button,.mobile-works-screen .mobile-work-actions .mobile-work-video-actions>button,.mobile-works-screen .mobile-work-actions .mobile-work-download{height:44px;min-height:44px;flex-direction:row;gap:3px;padding:0;border:0;border-radius:0;font-size:11px;background:#f8faf7;color:#466856}
.mobile-works-screen .mobile-work-actions .mobile-image-share{background:#eef5ed;color:#386650}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-info{grid-column:2;grid-row:1;height:76px;padding:5px 6px;gap:2px;overflow:hidden}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-info>span{font-size:10px;line-height:12px}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-info h3{font-size:12.5px;line-height:16px;min-height:32px;max-height:32px;margin:0}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-info small{display:block;min-height:12px;font-size:9px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-primary:not(:empty){grid-column:1/-1}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-simple-actions{grid-column:1/-1;padding:0;gap:0;height:44px;border-top:1px solid #edf0ec}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-simple-actions button{min-height:44px;height:44px;flex-direction:row;gap:3px;padding:0;border:0;border-radius:0;background:#f8faf7;font-size:11px}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-simple-actions .danger{color:#c55b61;background:#faf8f7}
/* A soft raised edge, with a pressed state, keeps the quiet palette tactile. */
.mobile-home-screen .mobile-goal-card{background:linear-gradient(155deg,#ffffff 0%,#fafcf9 100%);border-color:#dce5dc;box-shadow:inset 0 1px 0 #fff,0 2px 3px #274a3510,0 7px 15px #274a3510;transition:box-shadow .15s,transform .15s}
.mobile-home-screen .mobile-goal-card:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #274a3510,0 2px 5px #274a350a}
/* Keep search and type filters on one compact row. */
.mobile-works-screen>.mobile-search{width:46%;flex:none}
.mobile-works-screen>.mobile-work-filters{position:absolute;top:60px;right:16px;width:calc(54% - 24px);margin:0;overflow-x:auto;flex-wrap:nowrap;gap:4px}
.mobile-works-screen>.mobile-work-filters button{padding:0 8px;min-height:40px;font-size:11px;flex:none}
.mobile-works-screen .mobile-work-meta{gap:3px}
.mobile-works-screen .mobile-work-meta time{font-size:10px}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-info small{font-size:10px}

/* Every existing library category remains visible, without sideways clipping. */
.mobile-materials-screen>.mobile-material-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;overflow:visible}
.mobile-materials-screen>.mobile-material-filters button{min-width:0;min-height:40px;justify-content:center;gap:3px;padding:0 2px;font-size:12px;white-space:nowrap}
.mobile-materials-screen>.mobile-material-filters small{font-size:10px}
.mobile-materials-screen .mobile-library-top .mobile-library-add{min-height:44px;padding:0 10px;border-color:#386650;background:#386650;color:#fff;font-size:12px;font-weight:750}
.mobile-materials-screen .mobile-library-add svg{width:16px;height:16px}
.mobile-materials-screen>.mobile-library-result{font-size:11px;line-height:17px;min-height:17px;color:#607869;justify-content:flex-start;white-space:nowrap}
.mobile-works-screen>.mobile-work-filters{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;overflow:visible}
.mobile-works-screen>.mobile-work-filters button{min-width:0;min-height:42px;justify-content:center;gap:2px;padding:0 2px;font-size:11px;white-space:nowrap}
.mobile-works-screen>.mobile-work-filters small{font-size:10px}
.mobile-works-screen:has(>.mobile-work-filters>button:nth-child(4))>.mobile-search{width:31%}
.mobile-works-screen:has(>.mobile-work-filters>button:nth-child(4))>.mobile-work-filters{width:calc(69% - 24px)}
.mobile-works-screen>.mobile-search input{font-size:12px;min-width:0}
.mobile-materials-screen .mobile-library-top .mobile-library-add span{color:#fff;font-size:12px;font-weight:750}

/* Balance the collapsed home across the available phone height. */
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog)){display:flex;flex-direction:column;padding-bottom:16px}
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-home-intro,
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-goal-heading,
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-goal-hint,
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-browse-label,
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-search,
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-all-toggle{flex:none}
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-goal-grid{flex:1;min-height:218px;grid-template-rows:repeat(2,minmax(104px,1fr));gap:14px;margin-top:8px}
.mobile-home-screen .mobile-goal-card{display:flex;flex-direction:column;justify-content:center;min-height:104px;padding:12px 14px;border-color:#d3dfd4;box-shadow:inset 0 1px 0 #fff,0 3px 4px #264c3518,0 9px 18px #264c351c}
.mobile-home-screen .mobile-goal-card>span{width:100%;margin-bottom:12px}
.mobile-home-screen .mobile-goal-card:active{box-shadow:inset 0 2px 4px #264c3518,0 2px 4px #264c3510}
/* Give adding materials its own horizontal action beside the helper text. */
.mobile-materials-screen .mobile-library-top .mobile-library-add{display:none}
.mobile-materials-screen>.mobile-library-result{display:none}
.mobile-materials-screen>.mobile-material-add-row{flex:none;margin:0}
.mobile-material-add-row>button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:44px;padding:0 10px;border:1px solid #386650;border-radius:12px;background:#386650;color:#fff;cursor:pointer}
.mobile-material-add-row strong{font-size:12px;font-weight:750;white-space:nowrap}
.mobile-material-add-row span{font-size:10px;line-height:1.4;white-space:nowrap;color:#eff6ed}
.mobile-materials-screen .mobile-material-card:not(.has-review) .mobile-material-info{height:70px;padding-top:4px;padding-bottom:4px;gap:2px}
/* Move the work collection slightly lower, keeping three compact rows visible. */
.mobile-works-screen>.mobile-work-list{margin-top:12px}
.mobile-works-screen .mobile-work-info{height:80px;padding-top:4px;gap:0}
@media(max-height:640px){
 .mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-goal-grid{min-height:198px;grid-template-rows:repeat(2,minmax(92px,1fr));gap:10px;margin-top:4px}
 .mobile-home-screen .mobile-goal-card{min-height:92px;padding:10px 12px}
 .mobile-home-screen .mobile-goal-card>span{margin-bottom:8px}
}
.mobile-materials-screen .mobile-material-card:not(.has-review){grid-template-rows:70px 44px}
.mobile-works-screen .mobile-work-card{grid-template-rows:80px 44px}
@media(min-height:641px) and (max-height:680px){
 .mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog))>.mobile-goal-grid{gap:10px;min-height:218px}
}
.mobile-home-screen:has(>.mobile-goal-grid):not(:has(>.mobile-home-catalog)){padding-bottom:12px}
.mobile-material-add-row strong{font-size:14px;line-height:20px}
/* A taller primary upload action; keep the collection clear of the bottom nav. */
.mobile-material-add-row>button{height:56px;border-radius:14px}
.mobile-materials-screen:not(:has(.mobile-upload-panel)){gap:6px}
.mobile-materials-screen:not(:has(.mobile-upload-panel))>.mobile-material-grid{row-gap:6px}

/* 2026-10-06: identical home layout after SPA return and direct phone entry. */
.mobile-home-shell{display:flex;flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}
.mobile-home-shell>.mobile-topbar,.mobile-home-shell>.mobile-bottom-nav{flex:none}
.mobile-home-shell>.mobile-home-screen{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.mobile-home-shell>.mobile-bottom-nav{position:relative;width:100%}
/* Move the category content a little higher and show the examples clearly. */
.mobile-home-screen .mobile-goal-card>span,.mobile-home-screen .mobile-goal-card>b,.mobile-home-screen .mobile-goal-card>em{transform:translateY(-4px);flex:none}
.mobile-home-screen .mobile-goal-card>span{margin-bottom:8px}
.mobile-home-screen .mobile-goal-card>em{font-size:12px;line-height:1.4;white-space:normal;overflow:visible;text-overflow:clip;padding-right:0}

/* Home fullness must not depend on :has() or dynamic viewport unit support. */
.mobile-home-shell{height:100vh;height:100dvh}
.mobile-home-shell>.mobile-home-screen.mobile-home-collapsed{display:flex;flex-direction:column;padding-bottom:12px}
.mobile-home-shell>.mobile-home-collapsed>.mobile-home-intro,
.mobile-home-shell>.mobile-home-collapsed>.mobile-goal-heading,
.mobile-home-shell>.mobile-home-collapsed>.mobile-goal-hint,
.mobile-home-shell>.mobile-home-collapsed>.mobile-browse-label,
.mobile-home-shell>.mobile-home-collapsed>.mobile-search,
.mobile-home-shell>.mobile-home-collapsed>.mobile-all-toggle{flex:none}
.mobile-home-shell>.mobile-home-collapsed>.mobile-goal-grid{flex:1;min-height:218px;grid-template-rows:repeat(2,minmax(104px,1fr));gap:14px;margin-top:8px}
@media(max-height:640px){.mobile-home-shell>.mobile-home-collapsed>.mobile-goal-grid{min-height:198px;grid-template-rows:repeat(2,minmax(92px,1fr));gap:10px;margin-top:4px}}
@media(min-height:641px) and (max-height:680px){.mobile-home-shell>.mobile-home-collapsed>.mobile-goal-grid{gap:10px;min-height:218px}}
