/* MamlaBari V18: touch-first responsive refinement. Loaded after earlier theme layers. */
@media screen and (max-width: 800px){
 html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
 body{max-width:100%;overflow-x:clip}
 img,video,canvas,svg{max-width:100%}
 :where(main,section,article,header,footer,nav,form,fieldset){min-width:0}
 :where(h1,h2,h3,p,small,label,blockquote){overflow-wrap:break-word}
 :where(button,a,input,select,textarea){touch-action:manipulation}
 :where(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important;max-width:100%;min-width:0}
 :where(button,[role=button]){min-height:42px}
 :where(dialog){max-height:calc(100dvh - 18px);overscroll-behavior:contain}
 :where(dialog:not([open])){display:none}
 :where(.jr-form,.dialog-in,.paper){min-width:0}
 :where(.jr-form,.dialog-in) input:not([type=checkbox]),:where(.jr-form,.dialog-in) select,:where(.jr-form,.dialog-in) textarea{width:100%}
 :where(a,button,input,textarea,select):focus-visible{outline:3px solid #25876e;outline-offset:2px}
}
@media screen and (max-width: 540px){
 /* Home: readable actions, navigation, case forms and topic buttons */
 html[data-page="index"] .nav-shell{min-width:0}
 html[data-page="index"] #mobileNav.mobile-nav:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px max(12px,env(safe-area-inset-right))}
 html[data-page="index"] #mobileNav.mobile-nav a,
 html[data-page="index"] #mobileNav.mobile-nav button{display:flex;min-height:46px;align-items:center;font-size:13px!important;padding:9px 10px;line-height:1.5;overflow-wrap:anywhere}
 html[data-page="index"] .hero .hero-actions>*{font-size:14px!important;line-height:1.5;min-height:48px}
 html[data-page="index"] .hero-copy>p{line-height:1.8!important}
 html[data-page="index"] .topic-card{min-height:124px;padding:12px 13px}
 html[data-page="index"] .topic-card strong{font-size:14px}
 html[data-page="index"] .topic-card small{font-size:12px}
 html[data-page="index"] .mb15-more>summary{min-height:64px!important}
 html[data-page="index"] dialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;margin:auto}
 html[data-page="index"] dialog button{min-height:44px}
 html[data-page="index"] .cases-grid>*{min-width:0}
 /* Jontar Ray: readable cards, usable multi-case votes and a compact modal */
 html[data-page="jontar-ray"] .jr-shell{width:calc(100% - 28px)}
 html[data-page="jontar-ray"] .jr-topinner{column-gap:8px;row-gap:2px;min-height:70px;padding-block:8px}
 html[data-page="jontar-ray"] .jr-brand{font-size:21px;gap:7px}
 html[data-page="jontar-ray"] .jr-brand img{width:32px;height:32px}
 html[data-page="jontar-ray"] .jr-top nav{flex-wrap:nowrap;gap:15px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0;margin:0;min-width:0}
 html[data-page="jontar-ray"] .jr-top nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:43px;font-size:13px;white-space:nowrap}
 html[data-page="jontar-ray"] .jr-top nav::-webkit-scrollbar{display:none}
 html[data-page="jontar-ray"] .jr-hero-inner{padding:31px 0 33px}
 html[data-page="jontar-ray"] .jr-hero h1{font-size:clamp(38px,10vw,52px);line-height:1.36}
 html[data-page="jontar-ray"] .jr-seal{display:none}
 html[data-page="jontar-ray"] .jr-lead{font-size:15px;line-height:1.85;margin:7px 0 21px}
 html[data-page="jontar-ray"] .jr-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 html[data-page="jontar-ray"] .jr-hero-actions>*{min-height:46px;font-size:13px;padding:9px 10px;text-align:center}
 html[data-page="jontar-ray"] .jr-section-top{margin:28px 0 15px;flex-wrap:wrap;align-items:start}
 html[data-page="jontar-ray"] .jr-section-top h2{font-size:clamp(25px,7vw,32px)}
 html[data-page="jontar-ray"] .jr-controls{gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-page="jontar-ray"] .jr-controls input,html[data-page="jontar-ray"] .jr-controls select{min-height:47px}
 html[data-page="jontar-ray"] .jr-card{padding:16px 14px;gap:11px}
 html[data-page="jontar-ray"] .jr-card h3{font-size:21px;line-height:1.45}
 html[data-page="jontar-ray"] .jr-card .story{font-size:15px;line-height:1.7;min-height:0}
 html[data-page="jontar-ray"] .jr-choice{min-height:45px;padding:10px 11px;font-size:14px}
 html[data-page="jontar-ray"] .jr-cardfoot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 html[data-page="jontar-ray"] .jr-cardfoot .jr-count{grid-column:1/-1;margin:0}
 html[data-page="jontar-ray"] .jr-cardfoot .jr-btn{min-height:44px;font-size:13px;padding:9px 5px;white-space:normal;text-align:center}
 html[data-page="jontar-ray"] .jr-cardfoot .jr-btn.main{grid-column:1/-1}
 html[data-page="jontar-ray"] .jr-explain{margin-top:30px;margin-bottom:32px;padding:20px 16px}
 html[data-page="jontar-ray"] .jr-batch{bottom:max(8px,env(safe-area-inset-bottom));margin-inline:8px;flex-wrap:wrap;padding:12px;gap:8px}
 html[data-page="jontar-ray"] .jr-batch>div{display:grid;grid-template-columns:1fr 1fr;width:100%}
 html[data-page="jontar-ray"] .jr-batch .jr-btn{min-height:44px;white-space:normal}
 html[data-page="jontar-ray"] .jr-dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:12px}
 html[data-page="jontar-ray"] .jr-form{padding:18px 15px 22px}
 html[data-page="jontar-ray"] .jr-form h2{font-size:25px;line-height:1.4}
 html[data-page="jontar-ray"] .jr-form label{font-size:14px}
 html[data-page="jontar-ray"] .jr-form-grid,html[data-page="jontar-ray"] .jr-options{grid-template-columns:minmax(0,1fr)}
 html[data-page="jontar-ray"] .jr-form input:not([type=checkbox]),html[data-page="jontar-ray"] .jr-form textarea,html[data-page="jontar-ray"] .jr-form select{min-height:45px}
 html[data-page="jontar-ray"] .jr-detail{padding:20px 15px}
 html[data-page="jontar-ray"] .jr-detail h2{font-size:23px;line-height:1.5}
 /* 3D courtroom and hearing controls */
 html[data-page="court"] .container{width:calc(100% - 22px)}
 html[data-page="court"] .paper{padding:18px 14px}
 html[data-page="court"] .paper-hd{align-items:flex-start;flex-wrap:wrap}
 html[data-page="court"] .court-grid{gap:13px}
 html[data-page="court"] .action-row>*{flex:1 1 auto;min-height:44px}
 html[data-page="court"] .invite-grid button,html[data-page="court"] .sharing button,html[data-page="court"] .doc-btn{min-height:44px}
 html[data-page="court"] .recordhead{flex-wrap:wrap}
 html[data-page="court"] .turn-now{font-size:16px;padding:15px}
 html[data-page="court"] .mm3d-shell{margin-top:8px}
 html[data-page="court"] .mm3d-viewport{height:clamp(395px,122vw,485px)}
 html[data-page="court"] .mm3d-nav button{min-height:40px;font-size:11px;min-width:72px;padding:8px 10px}
 html[data-page="court"] .mm3d-bottom .mm3d-alt{min-height:40px}
 html[data-page="court"] .stage-track{scroll-snap-type:x proximity}
 html[data-page="court"] .stage-track .step{scroll-snap-align:start;flex:0 0 38px}
 /* 3D standalone exploration: 2 x 2 navigation, no tiny broken links */
 html[data-page="3d-demo"] .mb-demo-shell{padding:16px 12px 34px}
 html[data-page="3d-demo"] .mb-demo-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 html[data-page="3d-demo"] .mb-demo-top a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:7px 8px;border:1px solid #d9c4a5;border-radius:9px;background:#fff9ec;line-height:1.45;font-size:13px;overflow-wrap:anywhere}
 html[data-page="3d-demo"] .mb-demo-shell h1{font-size:clamp(25px,7vw,32px);line-height:1.5;margin:20px 0 8px}
 html[data-page="3d-demo"] .mb-demo-shell p{font-size:14px;line-height:1.75}
 html[data-page="3d-demo"] .mm3d-viewport{height:clamp(395px,120vw,485px)}
 html[data-page="3d-demo"] .mm3d-nav button{min-height:42px;min-width:70px;font-size:11px;padding:8px 9px}
 html[data-page="3d-demo"] .mm3d-alt{min-height:40px}
 html[data-page="3d-demo"] .mb-demo-explainer{padding:14px 13px}
 /* News, notices and printed newspaper: comfortable mobile editing tools */
 html[data-page="g-news"] .gn-toolbar{padding:12px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 html[data-page="g-news"] .gn-toolbar>a{display:flex;align-items:center;min-height:36px}
 html[data-page="g-news"] .gn-toolbar>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
 html[data-page="g-news"] .gn-toolbar button{min-height:44px;font-size:13px;white-space:normal;line-height:1.4}
 html[data-page="g-news"] .gn-paper{margin:9px 8px 26px;padding:16px 14px}
 html[data-page="g-news"] .gn-title{font-size:clamp(25px,7.5vw,33px);line-height:1.5}
 html[data-page="g-news"] .gn-brand{font-size:clamp(37px,10vw,50px);line-height:1.45}
 html[data-page="g-news"] .gn-topline,html[data-page="g-news"] .gn-date,html[data-page="g-news"] .gn-footer{gap:7px;flex-wrap:wrap;font-size:10px}
 html[data-page="g-news"] .gn-columns{columns:1;font-size:14px;line-height:1.85}
 html[data-page="g-news"] .gn-editor{grid-template-columns:1fr;padding:12px}
 html[data-page="news"],html[data-page="notice"]{scroll-padding-top:0}
 html[data-page="news"] .toolbar,html[data-page="notice"] .toolbar{display:grid;grid-template-columns:1fr;align-items:start;padding:10px 12px;gap:8px}
 html[data-page="news"] .toolbar .actions,html[data-page="notice"] .toolbar .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
 html[data-page="news"] .toolbar button,html[data-page="notice"] .toolbar button{min-height:44px;white-space:normal;line-height:1.4}
 html[data-page="news"] .paper,html[data-page="notice"] .paper{padding:22px 15px;margin:12px auto 30px;width:calc(100% - 16px)}
 html[data-page="news"] .masthead h1,html[data-page="notice"] .masthead h1{font-size:clamp(30px,8vw,38px)}
 html[data-page="news"] .headline,html[data-page="notice"] .notice-title{font-size:clamp(25px,7.4vw,30px)}
 html[data-page="newspaper"] .np-library-grid{grid-template-columns:minmax(0,1fr)}
 html[data-page="newspaper"] .np-library-nav{flex-wrap:wrap;gap:9px}
 html[data-page="newspaper"] .np-library-head h1{font-size:clamp(35px,10vw,50px)}
 html[data-page="newspaper"] .np-library-item{padding:15px 8px}
 /* General explanation / private cabinet / walkthrough */
 html[data-page="workflow"] .w-top .w-shell{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap}
 html[data-page="workflow"] .w-top a{display:flex;align-items:center;min-height:42px;font-size:13px}
 html[data-page="workflow"] .w-shell{width:calc(100% - 26px)}
 html[data-page="workflow"] .w-hero{padding-block:25px}
 html[data-page="workflow"] .w-block{padding:21px 15px;margin:18px 0}
 html[data-page="workflow"] .w-tabs a{padding:15px;min-height:74px}
 html[data-page="workflow"] .w-steps li{font-size:15px;line-height:1.75}
 html[data-page="workflow"] .w-actions a{min-height:44px;display:inline-flex;align-items:center;text-align:center}
 html[data-page="cabinet"] header{padding:11px 13px;flex-wrap:wrap;align-items:center}
 html[data-page="cabinet"] header nav{gap:12px;flex-wrap:wrap}
 html[data-page="cabinet"] header a{min-height:36px;display:inline-flex;align-items:center}
 html[data-page="cabinet"] main{padding:16px 13px 35px}
 html[data-page="cabinet"] .card{padding:17px 15px}
 html[data-page="cabinet"] .card button{min-height:44px}
 html[data-page="demo"] header{padding:11px 12px;flex-wrap:wrap;align-items:center}
 html[data-page="demo"] header nav{flex-wrap:wrap;gap:11px}
 html[data-page="demo"] header a{min-height:38px;display:inline-flex;align-items:center}
 html[data-page="demo"] .hero{padding:27px 8px 19px}
 html[data-page="demo"] .pick{min-height:75px}
 html[data-page="demo"] .step-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:10px;scroll-snap-type:x proximity}
 html[data-page="demo"] .step-tabs button{flex:0 0 auto;scroll-snap-align:start;min-height:42px}
 html[data-page="demo"] .buttons button{min-height:44px;flex:1 1 90px}
 html[data-page="rules"] .rules-shell,html[data-page="rules"] main{max-width:100%}
}
@media screen and (max-width:360px){
 html[data-page="jontar-ray"] .jr-hero-actions{grid-template-columns:1fr}
 html[data-page="jontar-ray"] .jr-hero-inner{padding-block:26px 28px}
 html[data-page="jontar-ray"] .jr-card{padding:14px 12px}
 html[data-page="jontar-ray"] .jr-section-top h2{font-size:25px}
 html[data-page="index"] .hero .hero-copy h1{font-size:clamp(32px,10.5vw,39px)!important}
 html[data-page="court"] .invite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-page="court"] .mm3d-top{left:7px;right:7px;top:7px}
 html[data-page="court"] .mm3d-badge{font-size:10px;padding:6px}
 html[data-page="newspaper"] .np-brand{font-size:31px}
}
@media (prefers-reduced-motion:reduce){
 .jr-hero:after,.mm3d-pin{transition:none!important}
}
/* Repair inherited broad input rule in the case detail dialog.
   Without this, radio controls take 100% width and squeeze the option text into a 0px column. */
.jr-detail .jr-choice{display:flex;align-items:center;gap:11px;min-height:46px;height:auto}
.jr-detail .jr-choice input[type="radio"]{display:block!important;flex:0 0 19px!important;width:19px!important;max-width:19px!important;min-width:19px!important;height:19px!important;margin:0!important;padding:0!important;box-sizing:border-box}
.jr-detail .jr-choice span{display:block;flex:1 1 auto;min-width:0;width:auto;overflow-wrap:break-word;line-height:1.65}
