/* Mobile/PWA geometry overrides; desktop artwork and business rules are untouched. */
.foot-mobile-directory,.foot-mobile-legal,.foot-mobile-mark,.foot-mobile-tagline,.pwa-status-shield{display:none}
.support-mobile-description{margin:0;border:0;padding:0}
.support-mobile-description>summary{display:none}
@media(max-width:767px){
 .foot{display:flex!important;flex-direction:column!important;align-items:stretch;gap:0!important;padding:28px 20px calc(24px + env(safe-area-inset-bottom,0px))!important}
 .foot::before{display:none!important}
 .foot .foot-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin:0 0 24px}
 .foot .foot-brand strong{font-size:28px;letter-spacing:.08em;line-height:1.2}
 .foot .foot-brand span{max-width:100%;font-size:11px;letter-spacing:.04em;line-height:1.6}
 .foot .foot-brand>span:not(.foot-mobile-tagline){display:none}
 .foot .foot-brand>.foot-mobile-tagline{display:block}
 .foot .foot-mobile-mark{display:block;width:44px;height:44px;object-fit:contain}
 .foot .foot-directory,.foot .foot-legal{display:none!important}
 .foot .foot-mobile-directory{display:block;width:100%;border-top:1px solid #343832}
 .foot-mobile-directory details{border-bottom:1px solid #343832}
 .foot-mobile-directory summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:8px 4px;color:#dfd9ca;font:500 14px/1.5 system-ui;cursor:pointer;list-style:none}
 .foot-mobile-directory summary::-webkit-details-marker{display:none}
 .foot-mobile-directory summary::after{content:"＋";color:#dfae68;font-size:20px;font-weight:400}
 .foot-mobile-directory details[open]>summary::after{content:"−"}
 .foot-mobile-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:0 4px 12px}
 .foot-mobile-links a{display:flex;align-items:center;min-height:44px;min-width:0;color:#b9b5aa;font-size:13px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
 .foot-mobile-directory :is(a,summary):focus-visible{outline:2px solid #e4b56c;outline-offset:2px}
 .foot .foot-mobile-legal{display:block;text-align:center;margin-top:20px;color:#93978e;font-size:11px;line-height:1.7}
 .foot-mobile-legal p{margin:0 auto;max-width:40ch}.foot-mobile-legal p+p{margin-top:8px}
 html{scroll-padding-top:16px}
 body{padding-bottom:env(safe-area-inset-bottom,0px)!important}
 body:has(.pwa-invite){padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
 main :is(.wrap,.info-copy,.publication-state,.source-callout-inner>div,.license-list article,.manual-status>*,.account-section-head>*,.release-overview){min-width:0;box-sizing:border-box}
 main :is(p,li,dd,code,.account-record){overflow-wrap:anywhere}
 main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important;min-height:48px;max-width:100%;box-sizing:border-box}
 main textarea{min-height:112px}
 main :is(.btn-solid,.btn-ghost,summary,.info-actions a,.supporters-link,.support-honor-copy a,.custom-wish-link a,.rewards-recovery a,.rewards-legal-strip a,.wish-filters button,.wish-sort button){min-height:44px;box-sizing:border-box}
 main .section{padding-top:36px!important;padding-bottom:40px!important}
 main .help-section{padding-top:36px!important;padding-bottom:40px!important}
 main :is(.blog-index-hero,.page-hero.depot-hero){min-height:0!important;padding-top:38px!important;padding-bottom:32px!important}
 main .blog-index-hero h1{font-size:clamp(32px,10vw,42px)!important;line-height:1.2}
 main .blog-index-hero-grid{gap:20px!important}
 main :is(.info-hero,.manual-hero,.help-hero,.article-hero,.v2-page-hero){min-height:0!important;padding-top:38px!important;padding-bottom:28px!important}
 main :is(.info-hero,.manual-hero,.help-hero,.article-hero,.v2-page-hero) h1{font-size:clamp(30px,8.5vw,40px)!important;line-height:1.2;overflow-wrap:anywhere}
 main :is(.info-copy h2,.license-list h2,.manual-section h2){font-size:clamp(24px,7vw,32px)!important;line-height:1.3}
 .publication-layout{grid-template-columns:minmax(0,1fr)!important;gap:22px!important}
 .publication-layout :is(.info-copy,.publication-state){width:100%;min-width:0!important}
 .source-callout-inner{padding:22px 18px!important;gap:20px!important}
 .source-callout-inner>div{width:100%;min-width:0!important}
 .info-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 .info-actions a{display:flex;align-items:center;padding:12px 14px;font-size:14px!important;border:1px solid #4b504c}
 .manual-status{grid-template-columns:minmax(0,1fr)!important;gap:12px;padding:18px}
 .manual-status code{white-space:normal;overflow-wrap:anywhere}
 .license-list{grid-template-columns:minmax(0,1fr)!important}
 .license-list article{min-width:0!important;padding:22px 18px!important}
 .license-list article header{grid-template-columns:minmax(0,1fr)!important}
 .account-auth-panel>.account-section-head,.account-panel-head{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:10px!important}
 .account-auth-panel>.account-section-head :is(h2,p){margin:0!important;max-width:none;word-break:normal}
 .account-form select{width:100%;padding:12px!important;border:1px solid var(--account-line)}
 .account-page .member-points{flex-direction:column;align-items:stretch;gap:16px}
 .member-points>div{min-width:0}.account-page .member-points .btn-solid{width:100%;min-width:0}
 .account-page .account-shell{padding-top:20px!important}
 .account-page .account-sidebar nav{scroll-padding-inline:12px}
 .account-page .account-record :is(p,strong){overflow-wrap:anywhere}
 .wish-row{grid-template-columns:minmax(0,1fr)!important;padding:18px 16px!important;gap:16px}
 .wish-copy{min-width:0}.wish-copy h3{font-size:25px;line-height:1.3}
 .wish-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}
 .wish-vote{min-width:0!important;min-height:48px;padding:10px 6px!important;font-size:11px;letter-spacing:.04em;box-sizing:border-box}
 .v2-home .update-row{grid-template-columns:minmax(0,1fr) 44px!important;gap:10px!important;padding:20px 0!important}
 .v2-home .update-row time{grid-column:1/-1;min-width:0}
 .v2-home .update-row>div{min-width:0}.v2-home .update-row>a{width:44px;height:44px}
 .platform-redesign.command-downloads .depot>[data-release-row]{grid-template-rows:auto auto auto auto auto!important}
 .platform-redesign.command-downloads .depot>[data-release-row]>.release-overview{height:auto!important;min-height:0!important;padding-bottom:20px!important}
 .platform-redesign.command-downloads .depot>[data-release-row]>.release-identity{align-items:flex-start!important;flex-wrap:wrap;padding:18px 18px 0!important;gap:8px!important}
 .platform-redesign.command-downloads .release-identity h2{font-size:22px!important;flex:1 1 180px}
 .platform-redesign.command-downloads .depot>[data-release-row]>.release-primary-actions{align-self:auto!important;grid-template-columns:minmax(0,1fr)!important;padding:0 18px 18px!important}
 .platform-redesign.command-downloads .release-primary-actions a{min-height:48px!important;font-size:15px!important}
 .platform-redesign.command-downloads .release-secondary[open]>.release-secondary-content{max-height:58dvh!important;padding:16px!important}
 .release-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;gap:12px!important}
 .release-toolbar label{min-width:0!important;width:100%}
 .release-toolbar :is(input,select){width:100%!important}
 .testing-channel-card{min-width:0;padding:18px!important}
 .testing-channel-heading{flex-wrap:wrap;gap:8px}
 .testing-project-identity h2{font-size:23px!important}
 .testing-policy{padding:20px 18px!important}
 .testflight-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 32px)!important;padding:20px 16px!important;box-sizing:border-box;overflow:auto}
 .testflight-form :is(.testflight-form-grid,.testflight-fields){grid-template-columns:minmax(0,1fr)!important}
 .testflight-form header{padding-right:30px}
 .testflight-form header h2{font-size:24px;line-height:1.25}
 .testflight-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important;min-height:48px!important;max-width:100%;box-sizing:border-box}
 .testflight-form .testflight-fields{padding:16px 0!important}
 .testflight-form .testflight-capacity{padding:16px 0!important}
 .testflight-form .testflight-close{min-width:44px;min-height:44px}
 .wallpaper-dialog{box-sizing:border-box;max-height:calc(100dvh - 24px)}
 .wallpaper-card-info{align-items:flex-start;gap:12px}
 .wallpaper-card-info>div{min-width:0}
 .wallpaper-card-info>a{min-height:44px;display:flex;align-items:center}
 .project-detail-tabs{scroll-padding-inline:16px}
 .project-detail-hero>div{min-width:0}
 .page-support-banner .support-channel-select select,.page-support-banner .support-claim-form :is(input:not([type=checkbox]),select,textarea){font-size:16px!important;min-height:48px!important}
 .page-support-banner .support-amount-options span{min-height:44px;display:flex;align-items:center;justify-content:center}
 .page-support-banner .support-description{font-size:14px;line-height:1.7}
 .nav-account-menu-panel .pwa-menu-install{min-height:48px}
 .foot{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))!important}
}
/* Phone layouts use their own content flow, without desktop grid tracks or art gutters. */
@media(max-width:767px){
 .platform-redesign .testing-hero{padding:28px 0 24px!important;min-height:0!important}
 .platform-redesign .testing-hero h1{font-size:32px!important;line-height:1.2;margin:8px 0 12px!important}
 .platform-redesign .testing-hero p{font-size:14px!important;line-height:1.7;margin:0!important}
 .platform-redesign .page-support-banner{margin:0!important;padding:20px 0!important}
 .platform-redesign .page-support-banner>.wrap{width:calc(100% - 28px)!important;margin:0 14px!important;padding:18px!important;border-left-width:1px!important}
 .platform-redesign .page-support-banner>.wrap::before{width:110px;height:100px;background-size:auto 120px;background-position:left center;mask-image:linear-gradient(90deg,#000,transparent);opacity:.7}
 .platform-redesign .page-support-banner .support-card{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 .platform-redesign .page-support-banner .support-copy{display:grid!important;grid-template-columns:1fr 1fr;column-gap:10px;padding:0!important;align-self:start}
 .platform-redesign .page-support-banner .support-copy>:is(.support-kicker,h2,.support-mobile-description[open]){grid-column:1/-1}
 .platform-redesign .page-support-banner .support-kicker{padding-left:62px!important;font-size:10px!important;letter-spacing:1px}
 .platform-redesign main .page-support-banner h2{padding-left:62px;font-size:22px!important;margin:5px 0 8px!important;min-height:29px}
 .platform-redesign .page-support-banner .support-description p{font-size:13px!important;line-height:1.65;margin:0 0 8px!important}
 .platform-redesign .page-support-banner .support-note{font-size:12px!important;line-height:1.65;margin:10px 0 2px!important}
 .platform-redesign .page-support-banner .support-mobile-description>summary{display:flex;align-items:center;list-style:none;cursor:pointer}
 .support-mobile-description>summary::-webkit-details-marker{display:none}
 .support-mobile-description>summary::after{content:'';width:6px;height:6px;border-right:1px solid #d8b875;border-bottom:1px solid #d8b875;transform:rotate(45deg);margin-left:2px;margin-top:-3px}
 .support-mobile-description[open]>summary::after{transform:rotate(225deg);margin-top:3px}
 .platform-redesign .page-support-banner .support-mobile-description[open]{padding-bottom:8px}
 .platform-redesign .page-support-banner .supporters-link{display:inline-flex;align-items:center;align-self:start}
 .platform-redesign .page-support-banner :is(.support-mobile-description>summary,.supporters-link){justify-content:center;gap:7px;min-height:44px;margin:6px 0 0!important;padding:8px 5px!important;border:1px solid #ad9159;border-radius:5px;background:linear-gradient(135deg,#2c2921,#151614 70%);box-shadow:inset 0 0 0 2px #141513,inset 0 0 0 3px #8f794044;color:#efe3c8!important;font-size:12px!important;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}
 .platform-redesign .page-support-banner :is(.support-mobile-description>summary,.supporters-link):is(:hover,:active){background:linear-gradient(135deg,#493a24,#201e18);border-color:#e2be75}
 .platform-redesign .page-support-banner :is(.support-mobile-description>summary,.supporters-link):focus-visible{outline:2px solid #efd498;outline-offset:3px}
 .platform-redesign .page-support-banner .support-mobile-description>summary::before{content:'i';display:grid;place-items:center;width:17px;height:17px;border:1px solid #d9b878;border-radius:50%;color:#d9b878;font:bold 13px Georgia,serif;flex-shrink:0}
 .platform-redesign .page-support-banner .supporters-link::before{content:'';width:20px;height:20px;flex-shrink:0;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9b878' stroke-width='1.3'%3E%3Cpath d='M10 21C2 17 2 8 7 3M14 21c8-4 8-13 3-18'/%3E%3Cpath d='M5 7 2 4m2 8L1 9m5 8-4-2m6 4-1-5M19 7l3-3m-2 8 3-3m-5 8 4-2m-6 4 1-5' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}
 .platform-redesign.command-downloads .downloads-v2-hero{display:none!important}
 .platform-redesign .page-support-banner .support-fixed-payment{grid-template-columns:minmax(0,1fr) minmax(120px,.95fr)!important;grid-template-rows:auto auto!important;gap:10px 12px!important;border-top:1px solid #78633c66!important;padding-top:12px!important}
 .platform-redesign .page-support-banner .support-channel-select{grid-column:1/-1!important;grid-row:auto!important;font-size:12px}
 .platform-redesign .page-support-banner .support-channel-select:not(:has(.support-gift-summary:not([hidden]))){display:none!important}
 .platform-redesign .page-support-banner .support-amount-options{grid-column:1!important;grid-row:auto!important;margin:0!important;min-width:0;flex-direction:column;gap:6px}
 .platform-redesign .page-support-banner .support-amount-options legend{font-size:11px;line-height:1.5;margin-bottom:6px}
 .platform-redesign .page-support-banner .support-amount-options label > span{font-size:14px;min-height:44px;padding:5px;flex-direction:row-reverse;justify-content:center;gap:6px;text-align:center}
 .platform-redesign .page-support-banner .support-amount-options .support-gift-amount{font-size:9px;white-space:normal;margin-top:0;line-height:1.4;text-align:center;max-width:76px}
 .platform-redesign .page-support-banner .support-amount-options .support-gift-bonus{font-size:9px;line-height:1.3}
 .platform-redesign .page-support-banner .support-fixed-payment .support-qr{grid-column:2!important;grid-row:1!important;align-self:center;justify-self:center;width:100%!important;max-width:160px;padding:6px!important}
 .platform-redesign .page-support-banner .support-fixed-payment:has(.support-gift-summary:not([hidden])) .support-qr{grid-row:2!important}
 .platform-redesign .page-support-banner .support-paid-button{grid-column:1/-1!important;grid-row:auto!important;order:5;width:100%;min-height:44px;font-size:13px;padding:10px}
 .platform-redesign .page-support-banner.support-strip-ready .support-claim[open]{padding:16px!important;margin:0!important}
 .platform-redesign .library-grid,.platform-redesign .library-grid:not([data-view="list"]){grid-template-columns:minmax(0,1fr)!important;gap:18px}
 .platform-redesign .library-grid .library-card{display:flex!important;flex-direction:column;grid-column:auto!important;min-height:0}
 .platform-redesign .library-grid .library-card .library-poster{width:100%;aspect-ratio:2.15/1;align-self:stretch}
 .platform-redesign .library-grid .library-card .library-card-body{display:flex;flex-direction:column;align-items:stretch;flex:0 0 auto;gap:12px;padding:16px!important;min-height:0}
 .platform-redesign .library-grid .library-card h2{order:0;min-height:0;margin:0;font-size:23px!important;line-height:1.3}
 .platform-redesign .library-brand-prefix{font-size:11px;line-height:1.4;margin-bottom:4px}
 .platform-redesign .library-card .library-platforms{order:1;gap:6px;margin:0}
 .platform-redesign .library-card .library-platforms span{font:12px/1.4 system-ui,sans-serif;padding:4px 8px;border:1px solid #3b454a;border-radius:3px;background:#20262a}
 .platform-redesign .library-card .library-card-meta{order:2;margin:0}
 .platform-redesign .library-card .library-card-actions{order:3;display:grid;grid-template-columns:minmax(0,1fr);align-self:stretch;width:100%;margin:0}
 .platform-redesign .library-card .library-card-actions a{width:100%;min-height:48px;font-size:15px;box-sizing:border-box}
 .platform-redesign .library-card .library-details{order:4;width:100%;margin:0;border-top:1px solid #384146}
 .platform-redesign .library-card .library-details summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 0 0;font-size:12px;list-style:none}
 .platform-redesign .library-details summary::-webkit-details-marker{display:none}
 .platform-redesign .library-details summary::before{content:'＋';font-size:16px;color:#cba769}
 .platform-redesign .library-details[open] summary::before{content:'−'}
 .platform-redesign .library-detail-links .library-action{flex:1 1 130px;min-height:44px;font-size:12px}
}
@media(max-width:380px){
 .article-facts{grid-template-columns:minmax(0,1fr)!important}
 .platform-redesign .library-card-body{padding:16px!important}
 .platform-redesign .library-card-actions{grid-column:1/-1!important;grid-row:auto!important}
 .platform-redesign .library-card-actions a{width:100%}
}
@media(display-mode:standalone) and (max-width:767px){
 .pwa-status-shield{display:block;position:fixed;top:0;left:0;right:0;height:var(--mobile-safe-top,env(safe-area-inset-top,0px));background:var(--platform-bg,#101214);z-index:1000;pointer-events:none}
 #nav{padding-top:var(--mobile-safe-top,env(safe-area-inset-top,0px))!important}
 .platform-redesign #nav{height:calc(128px + var(--mobile-safe-top,env(safe-area-inset-top,0px)))!important;min-height:calc(128px + var(--mobile-safe-top,env(safe-area-inset-top,0px)))!important}
 .testflight-dialog{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)!important}
}
