/* V20: explicit layout contracts. Keep the existing MASTR visual identity. */
[hidden] { display:none!important; }
html { scroll-padding-top:104px; }
body { overflow-wrap:break-word; }
:is(main,section,article,nav,header,footer,form,aside,figure) { min-width:0; }
:is(h1,h2,h3,p,li,a,button,summary) { word-break:normal; }
:is(button,a,input,select,summary):focus-visible { outline:3px solid #b9ff68; outline-offset:4px; }
.mastr-unified-header { z-index:1000!important; isolation:isolate; overflow:visible!important; }
.mastr-menu-toggle { position:relative!important; align-self:center; padding:0!important; }
.mastr-menu-toggle span { position:absolute!important; left:50%; top:50%; width:22px!important; height:2px!important; margin:0!important; transform:translate(-50%,-5px)!important; }
.mastr-menu-toggle span:last-child { transform:translate(-50%,3px)!important; }
.mastr-menu-toggle.is-open span:first-child { transform:translate(-50%,-50%) rotate(45deg)!important; }
.mastr-menu-toggle.is-open span:last-child { transform:translate(-50%,-50%) rotate(-45deg)!important; }
.mastr-unified-nav :is(a,select) { min-height:44px; }
.mastr-language-picker { min-width:0!important; }
.mastr-language-select { width:100%; min-width:0; }
.official-app-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; grid-auto-columns:minmax(0,1fr); gap:22px!important; align-items:stretch!important; }
.official-app-grid>.official-app-card { display:flex!important; flex-direction:column!important; grid-column:auto!important; grid-row:auto!important; width:100%!important; min-width:0!important; max-width:100%!important; min-height:0!important; gap:22px; padding:28px!important; }
.official-app-card>* { min-width:0!important; max-width:100%!important; flex-shrink:0!important; }
.official-app-card>p { width:100%!important; margin:0!important; font:400 18px/1.7 Arial,Helvetica,sans-serif!important; color:#dce9df!important; overflow-wrap:break-word!important; }
.official-app-card :is(.app-card-head,.app-facts) { display:flex!important; flex-wrap:wrap!important; gap:10px!important; }
.official-app-card .app-identity { display:flex!important; gap:18px!important; margin:0!important; align-items:center; }
.official-app-card .app-identity>div:last-child { min-width:0!important; }
.official-app-card .app-icon { flex:0 0 64px!important; width:64px!important; height:64px!important; }
.official-app-card .app-icon img { width:64px!important; height:64px!important; object-fit:contain; }
.official-app-card .store-button { margin-top:auto!important; width:100%; white-space:normal!important; min-height:54px; }
.app-facts span { font-size:16px!important; }
.official-app-card :is(.app-platform,.app-availability) { white-space:normal!important; font-size:14px!important; }
.apps-heading,.beta-release,.support-section { min-width:0; }
.beta-release>* { min-width:0!important; max-width:100%!important; }
.case-grid article { flex-direction:column!important; }
.token-hero h1 { overflow:visible!important; max-width:100%!important; }
.token-hero h1 :is(span,strong) { max-width:100%; }
.token-kicker,.eyebrow { white-space:normal!important; }
.wallet-open { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 18px; margin:10px 0; border:1px solid #b9ff68; border-radius:5px; background:#b9ff68; color:#071009!important; font:700 17px/1.4 Arial,Helvetica,sans-serif!important; text-decoration:none!important; }
.wallet-open:hover { background:#d4ffa9; }
.wallet-open-note { font:400 16px/1.65 Arial,Helvetica,sans-serif!important; color:#dbe8df!important; max-width:62ch; }
.support-section code,.wiki-wallet code { user-select:all; overflow-wrap:anywhere!important; word-break:break-word; white-space:normal!important; }
.mastr-support-dialog { overscroll-behavior:contain; }
@media(max-width:1380px) {
 .mastr-unified-header { grid-template-columns:minmax(0,1fr) auto!important; }
 .mastr-unified-header .mastr-menu-toggle { display:block!important; }
 .mastr-unified-header .mastr-unified-nav { position:absolute!important; top:100%!important; left:0!important; right:0!important; width:auto!important; margin:0!important; padding:18px!important; border:1px solid #41664a; background:#020b07!important; max-height:calc(100vh - 100px)!important; max-height:calc(100dvh - 100px)!important; overflow:auto!important; overscroll-behavior:contain; grid-template-columns:repeat(3,minmax(0,1fr))!important; align-items:stretch!important; box-shadow:0 18px 30px #0008; }
 .mastr-unified-nav a { display:flex; align-items:center; white-space:normal!important; }
}
@media(max-width:1100px) {
 .official-app-grid { grid-template-columns:minmax(0,1fr)!important; }
 .apps-heading,.beta-release,.support-section { grid-template-columns:minmax(0,1fr)!important; }
 .apps-heading { gap:24px!important; }
 .official-app-grid>.official-app-card { grid-column:auto!important; }
}
@media(max-width:600px) {
 .mastr-unified-header .mastr-unified-nav { grid-template-columns:repeat(2,minmax(0,1fr))!important; padding:12px!important; }
 .mastr-language-picker { grid-column:1/-1; }
 .official-app-grid>.official-app-card { padding:22px!important; }
 .official-app-card h3 { font-size:23px!important; letter-spacing:0!important; }
 .official-app-card .app-identity { gap:12px!important; }
 .official-app-card .app-icon { flex-basis:56px!important; width:56px!important; height:56px!important; }
 .official-app-card .app-icon img { width:56px!important; height:56px!important; }
}
@media(pointer:coarse),(hover:none),(max-width:1100px) {
 .official-app-grid,.case-grid,.product-grid { perspective:none!important; }
 .official-app-card,.case-grid article,.product-card { transform:none!important; transform-style:flat!important; filter:none!important; }
 .mastr-unified-header,.mastr-unified-nav { backdrop-filter:none!important; filter:none!important; }
}
