/* Phone edition: shared content, a dedicated touch/reading layout (360–430px targets). */
.dialog-toolbar,.dialog-body{display:contents}.dialog-toolbar>span{display:none}.mobile-toc{display:none}
@media(max-width:600px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:92px}
  body{font-size:15px;overflow-wrap:break-word}
  main,section,article,.profile-welcome,.support-copy,.resource-hero>div,.article-prose,.resource-card{min-width:0}
  .wrap,.article-wrap{width:calc(100% - 36px)}
  .site-header{position:sticky;top:0;height:74px;z-index:50;background:var(--bg)}
  .site-header:before{content:"";position:absolute;inset:0 -18px;background:var(--bg);border-bottom:1px solid #eceeea;z-index:-1}
  .brand{min-height:44px;font-size:19px}.brand small{font-size:10px;letter-spacing:1.8px}
  .menu-toggle{width:48px;height:48px;border-radius:9px;margin-right:-5px}
  .menu-toggle:active{background:#edf5fa}
  .site-header nav{top:73px;left:-18px;right:-18px;padding:12px 20px 20px;max-height:calc(100vh - 90px);max-height:calc(100svh - 90px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:3px}
  .site-header nav>a{display:flex;align-items:center;min-height:48px;font-size:15px;padding:11px 13px;border-radius:8px;color:#546f84}
  .site-header nav>a:active{background:#edf5fa}
  .site-header .nav-support{min-height:48px;width:100%;font-size:14px;justify-content:center;gap:10px;margin-top:9px}
  .brand-banner{width:calc(100% - 24px);margin-top:9px}
  .brand-banner img{width:100%;height:auto;aspect-ratio:5/4;object-fit:contain}
  .profile-intro{padding-top:25px;padding-bottom:29px}.hello{font-size:11px}.profile-tags{font-size:11px;line-height:1.7}
  .profile-welcome>p,.section-intro{font-size:14px;line-height:1.85;color:#70808d}
  .hero-actions{gap:15px;flex-wrap:wrap}.hero-actions .button,.button{min-height:48px;font-size:14px;padding:12px 18px;gap:20px}
  .text-link{min-height:44px;font-size:13px;padding:8px 4px}
  .section-kicker{font-size:11px}.section{padding-block:45px}.section-heading{margin-bottom:22px}
  .filters{gap:7px}.filter{flex:1;min-height:44px;padding:10px 8px;font-size:13px;white-space:nowrap}
  .project-cover figcaption{font-size:10px;line-height:1.7;padding:9px 13px}
  .project-body{padding:23px 23px}.project-body .project-name{font-size:22px;line-height:1.5}
  .project-body>p{font-size:14px;line-height:1.9;color:#708292}.badge{font-size:11px;line-height:1.5}.tags>span{font-size:11px;padding:6px 8px}
  .development-link{font-size:13px;min-height:44px;line-height:1.7;padding-block:9px;flex-wrap:wrap;gap:5px}
  .project-bottom{gap:10px;padding-top:20px}.project-status-note{font-size:11px;line-height:1.8;min-width:0;flex:1}
  .project-detail{min-height:44px;min-width:104px;font-size:13px;justify-content:space-between;padding:10px 12px;border-radius:7px;background:#f2f7fb;gap:12px}
  .future-project{padding:23px 20px}.future-label{font-size:10px}.future-project h3{font-size:18px}.future-project p{font-size:13px;line-height:1.85}.future-project>.project-detail{font-size:12px;padding:10px 12px;margin-left:53px}
  .about-copy>.about-lead{font-size:17px;line-height:1.8}.about-copy>p{font-size:14px;line-height:1.95}.about-copy>.about-note{font-size:11px;line-height:1.8}.account-link{min-height:44px;font-size:13px;align-items:center;line-height:1.7}
  .download-row{gap:11px;padding-block:21px}.download-title h3{font-size:14px}.download-title p{font-size:12px;line-height:1.8}.download-row>[data-project-action]{margin-left:47px;flex-basis:calc(100% - 47px)}
  .download-active,.download-disabled{min-height:44px;font-size:12px;line-height:1.6;padding:10px 14px;max-width:100%;gap:25px}.download-note{font-size:11px;line-height:1.9}
  .support-card{padding:25px 21px;gap:18px}.support-copy{flex-basis:calc(100% - 84px)}.support-copy .section-kicker{font-size:10px;line-height:1.8}.support-card h2{font-size:21px;line-height:1.5}
  .support-copy>p{font-size:13px;line-height:1.85}.support-copy>small{font-size:11px;line-height:1.8;color:#947451}.support-card>.button{min-height:48px;margin-left:84px;font-size:14px;padding:11px 18px}
  .footer-right{gap:10px}.site-footer p,.footer-right>p{font-size:10px;line-height:1.8}.footer-right>a,.social-link{min-height:44px;display:flex;align-items:center;font-size:12px}.footer-identity{min-height:44px}.footer-brand{font-size:17px}
  .knowledge-heading>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.home-log .log-date{font-size:11px;line-height:1.8}.home-log p{font-size:14px;line-height:1.9}.home-log>a{min-height:44px;font-size:13px}.home-resources>a{min-height:88px;padding:18px 20px}.home-resources strong{font-size:15px}.home-resources small{font-size:12px;line-height:1.8}
  /* Native dialogs keep their own scroll area and a reachable close control. */
  .modal{width:calc(100% - 24px);max-width:430px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;border-radius:15px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:auto}
  .dialog-toolbar{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:58px;padding:5px 12px 5px 21px;background:#fffdf8;border-bottom:1px solid #ece8e1}
  .dialog-toolbar>span{display:block;font-size:13px;color:#8c7a63;line-height:1.7}
  .dialog-toolbar>.close-dialog{position:static;display:flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;font-size:30px;border-radius:50%;background:#f3eee5;color:#87755f;padding:0;line-height:1}
  .dialog-body{display:block;padding:21px 20px 25px;padding-bottom:max(25px,env(safe-area-inset-bottom));min-width:0}
  .modal h2{font-size:25px;line-height:1.5;padding:0;overflow-wrap:anywhere}.modal .eyebrow{font-size:11px;line-height:1.8}.modal-lead{font-size:14px;line-height:1.95}.modal .muted{font-size:13px;line-height:1.8}.project-notice h3{font-size:13px}.project-notice p{font-size:12px;line-height:1.9}
  .support-dialog-avatar{margin-top:0;gap:12px}.support-dialog-avatar>img{width:50px;height:50px}.support-dialog-avatar>.eyebrow{font-size:11px;line-height:1.8}
  .payment-tabs{position:sticky;top:58px;z-index:4;background:#fffdf8;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:18px;padding-top:4px}.payment-tabs button{font-size:14px;min-height:48px;padding:11px 8px}
  .payment-content{padding-top:20px;min-width:0;align-items:center}.payment-qr-link{width:100%;max-width:300px;min-width:0}.payment-content .payment-qr-link>img{width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;padding:0;touch-action:auto}
  .payment-image-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;width:100%;margin:18px 0 15px}.payment-image-actions>a{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:13px;padding:11px 8px;line-height:1.6}
  .payment-content p{font-size:12px;line-height:1.9;color:#7d8a94}.payment-content>.payment-mobile-hint{font-size:12px;line-height:1.8;margin-top:10px;color:#7d8a94}.payment-disclaimer{font-size:11px;line-height:1.9;color:#83909a}
  /* Readable article measure and optional contents, without tiny side-by-side text. */
  .article-wrap{margin-top:19px}.breadcrumbs{font-size:11px;gap:8px;margin-bottom:24px}.breadcrumbs>a{min-height:32px;display:flex;align-items:center}.article-header h1{font-size:30px;line-height:1.45}.article-header>p{font-size:15px;line-height:1.9}.article-category{font-size:11px}.article-byline{font-size:10px;gap:8px;line-height:1.9}
  .article-cover>figcaption{font-size:10px;line-height:1.8}.reading-layout{display:block}.article-toc{display:none}.mobile-toc{display:block;border:1px solid #dae7f0;border-radius:10px;background:#f1f7fb;margin:0 0 29px;padding:0 15px;min-width:0}
  .mobile-toc>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:52px;padding:10px 1px;font-size:14px;line-height:1.8;color:#527c9a;cursor:pointer}.mobile-toc>summary::-webkit-details-marker{display:none}.mobile-toc>summary:after{content:"＋";font-size:21px;color:#8aadc6}.mobile-toc[open]>summary:after{content:"－"}.mobile-toc>div{display:flex;flex-direction:column;padding-bottom:13px}.mobile-toc a{font-size:13px;line-height:1.7;min-height:44px;display:flex;align-items:center;padding:10px 2px;border-top:1px solid #e1ebf2;color:#6b8ba3}
  .article-prose{font-size:16px;line-height:1.95;color:#536d82}.article-prose h2{font-size:23px;line-height:1.55;margin-bottom:18px}.article-prose h3{font-size:18px;line-height:1.7}.article-prose p{margin-bottom:19px}.article-prose>section{scroll-margin-top:95px;margin-bottom:38px}.article-prose ul,.article-prose ol{padding-left:22px}.article-prose li{margin-bottom:15px}
  .article-prose .date-context{font-size:13px;line-height:1.8}.reader-note{padding:17px 18px}.reader-note>strong{font-size:14px;line-height:1.8}.reader-note>p{font-size:14px;line-height:1.9}.reading-cards h3{font-size:17px;line-height:1.7}.reading-cards p{font-size:14px;line-height:1.9}
  .article-actions{width:100%;gap:12px}.article-actions .button{min-height:48px;font-size:14px;max-width:100%;white-space:normal;text-align:left;line-height:1.7}.article-actions>a:not(.button){display:flex;align-items:center;min-height:44px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.article-prose .source-note{font-size:12px;line-height:1.9}
  .faq-item>summary{min-height:56px;font-size:16px;line-height:1.7;padding-block:18px;gap:15px}.faq-item>div>p{font-size:15px;line-height:1.95;color:#677f92}.faq-item>div{padding-right:3px;padding-bottom:20px}.qa-gallery{grid-template-columns:minmax(0,1fr);gap:23px}.qa-gallery figcaption{font-size:12px;line-height:1.8;margin-top:10px}
  .copy-toolbar{padding:10px 12px;gap:9px}.copy-toolbar>span{font-size:12px}.copy-toolbar>button{min-height:44px;min-width:100px;font-size:13px;padding:10px 12px}.feedback-template{font-size:13px;line-height:2;padding:19px 15px;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.article-prose .copy-status{font-size:12px;line-height:1.8}
  .log-source{font-size:12px;line-height:1.8}.log-source>a{min-height:44px;display:flex;align-items:center}.related-reading>h2{font-size:18px}.related-reading a{padding:18px 20px;min-height:90px}.related-reading a>span{font-size:15px}.related-reading small{font-size:12px;line-height:1.8}.video-list>a{font-size:15px;line-height:1.8;min-height:62px;padding:17px}.video-list>a>span{flex-shrink:0}.article-prose .video-description{font-size:13px;line-height:1.9}
  /* iOS input stays >=16px; category buttons form a comfortable 2x2 grid. */
  .resource-hero{gap:13px;align-items:start}.resource-hero h1{font-size:32px}.resource-hero .section-kicker{font-size:10px}.resource-hero>div>p:last-child{font-size:14px;line-height:1.85}.resource-hero>img{width:62px;height:62px;flex-shrink:0;margin-top:27px}
  .resource-search{width:100%;min-height:52px;padding:11px 14px}.resource-search input{font-size:16px;line-height:1.6;min-width:0}.resource-search input::placeholder{font-size:14px}.resource-toolbar{gap:15px}.resource-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%}.resource-filters>button{min-height:44px;font-size:13px;line-height:1.7;padding:10px 12px}
  .resource-count{font-size:12px;margin-block:19px 15px}.resource-grid{grid-template-columns:minmax(0,1fr);gap:17px}.resource-card{padding:24px}.resource-category{font-size:11px}.resource-card h2{font-size:22px;line-height:1.5}.resource-card>p{font-size:14px;line-height:1.9;color:#788d9d}.resource-read{min-height:48px;font-size:13px;padding-top:11px}.resource-bottom-note{font-size:12px;line-height:1.85;padding:17px}.resource-bottom-note a{overflow-wrap:anywhere}.resource-empty h2{font-size:20px}.resource-empty p{font-size:14px;line-height:1.8}.resource-empty>button{min-height:48px;font-size:13px;padding:11px 18px}
  .noscript-note{font-size:13px;line-height:1.9}.noscript-note a{overflow-wrap:anywhere}
}
@media(max-width:374px){.profile-identity h1{font-size:27px}.profile-identity>img{width:60px;height:60px}.profile-identity{gap:13px}.support-card{padding-inline:20px}.support-avatar{width:56px;height:56px}.support-copy{flex-basis:calc(100% - 74px)}.support-card>.button{margin-left:74px}.resource-hero>img{width:52px;height:52px}.resource-hero>div>p:last-child{font-size:13px}.article-header h1{font-size:28px}.project-bottom{flex-wrap:wrap}.project-status-note{min-width:130px}.payment-image-actions>a{font-size:12px}}

@media(max-width:600px){.platform-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;margin-top:15px}.platform-pair>.platform-link{width:100%;min-width:0;min-height:48px;padding:11px 16px;font-size:14px;gap:12px}.hero-platforms{margin-top:0;flex-basis:100%}.hero-platforms>.platform-link{min-height:46px;font-size:13px}.article-prose .platform-pair>.platform-link{font-size:14px}.article-actions>.platform-pair{width:100%;margin-top:3px}.log-source>a{white-space:normal}#social-links{gap:20px;flex-wrap:wrap}#social-links>.social-link{min-height:44px;font-size:13px;gap:7px}}
