/* Webapp 1.6: presentazione mobile separata dal motore originale. */
.mobile-only{display:none}
@media(max-width:820px){
 html,body{height:100%;height:100dvh;min-height:0;overflow:hidden}
 body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
 .top{height:auto;min-height:56px;flex-shrink:0;padding:10px 12px;gap:8px 12px;flex-wrap:wrap}
 .top .brand{font-size:16px}.top .brand img{width:28px;height:28px}
 .top .tabs{height:40px;order:3;width:100%;justify-content:flex-start}
 .top .tabs button{min-height:40px;padding-inline:12px}
 .top .chips{gap:6px;margin-left:auto;flex-wrap:wrap}
 .top .chip{display:none}.top .iconbtn{width:40px;height:40px}
 .top select{font-size:16px;min-height:40px;width:auto;max-width:90px}
 .mobile-only{display:block}
 #mobile-intro{padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;max-height:32dvh;overflow:auto;font-size:13px;line-height:1.5}
 #mobile-intro strong{color:var(--accent);font-size:15px}
 #mobile-intro p{margin:6px 0}#mobile-engine-status{color:var(--muted)}
 #mobile-intro summary{cursor:pointer;padding:8px 0;color:var(--accent);min-height:40px}
 #mobile-legal{color:var(--muted);font-size:12px;text-underline-offset:3px}
 #mobile-intro:has(details[open]){max-height:55dvh}
 .mobile-example-body{padding-block:12px;font-size:15px}
 .mobile-example-body h2{font-size:19px;margin:0 0 12px}.mobile-example-body h3{font-size:14px;margin:20px 0 8px}
 .mobile-example-text{border-left:2px solid var(--accent);padding:12px;overflow-wrap:anywhere;background:var(--bg)}
 .work{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1}
 .work>.center{flex:1;min-height:0;width:100%;overflow:hidden}
 .work>.docs,.work>.side{display:none}
 .stage{padding:12px;min-height:0;overflow:auto;overscroll-behavior:contain}
 .hero{margin:20px auto 0;padding:0 0 24px;max-width:100%}
 .hero-title{font-size:27px;line-height:1.25}.hero-sub{font-size:15px}
 .hero-cta{gap:12px;margin-bottom:24px}.hero-cta .btn{padding:12px 16px;min-height:44px}
 .steps{grid-template-columns:1fr;gap:12px}.step{padding:14px;border-radius:4px}
 .pairs{font-size:12px;max-width:100%;overflow-wrap:anywhere}
 .toolbar{padding:10px;gap:8px;flex-shrink:0;max-height:160px;overflow:auto}
 .toolbar .group{flex-wrap:wrap}.toolbar button{min-height:40px;font-size:12px}
 .textview{padding:16px;max-width:100%;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
 .pagewrap{max-width:100%}.overlay.manual{touch-action:none}
 #mobile-bar{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:6px;position:fixed;bottom:0;left:0;right:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line)}
 #mobile-bar button,#mobile-bar a{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;line-height:1.25;border:1px solid var(--line);border-radius:4px;padding:6px;text-decoration:none;color:var(--text);background:var(--card)}
 #mobile-bar .primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
 #mobile-bar [aria-expanded=true]{border-color:var(--accent);color:var(--accent)}
 body[data-mobile-panel=docs] .work:not([hidden])>.docs,body[data-mobile-panel=controls] .work:not([hidden])>.side{display:flex;position:fixed;inset:110px 0 calc(74px + env(safe-area-inset-bottom,0px));z-index:61;border:1px solid var(--line);overflow:auto;background:var(--panel);padding-top:42px;box-shadow:0 0 0 100vmax #0008}
 #mobile-panel-close:not([hidden]){position:fixed;top:116px;right:12px;z-index:62;min-width:70px;min-height:36px;background:var(--card)}
 .doclist{overflow:auto;min-height:120px}.side .entities{overflow:auto;min-height:120px;flex:none}
 .side .actions{display:grid;grid-template-columns:1fr 1fr}.side button{min-height:40px}
 .side .row{flex-wrap:wrap}.side .sw{width:32px;height:32px}.side input,.side select{font-size:16px}
 .side .addform{flex-wrap:wrap}.side .addform input{flex:1;min-width:160px}
 .restore{display:flex;flex-direction:column;overflow:auto;min-width:0}
 .restore .rmap{overflow:visible;flex:none;border:0;border-bottom:1px solid var(--line)}
 .restore .rwork{flex:none}.rpanes{grid-template-columns:1fr;padding:12px}.rpanes textarea{font-size:16px;min-height:180px}
 .row2{flex-wrap:wrap;gap:12px}
 .modal{padding:12px}.modal-card,.dlg.wiz,.dlg{width:100%;max-width:100%;max-height:calc(100dvh - 100px);overflow:auto;min-width:0;border-radius:6px}
 .wiz-row{flex-wrap:wrap;gap:12px}.wiz-row>div{min-width:0}.wiz-sample{white-space:pre-wrap;overflow-wrap:anywhere}.dlg-actions{flex-wrap:wrap}
 .settings{grid-template-columns:1fr;overflow:auto}.settings .snav{display:flex;flex-wrap:wrap;gap:6px;border-right:0}.settings .sbody{padding:12px;overflow:visible}
 .field{grid-template-columns:1fr;gap:8px}.checks{grid-template-columns:1fr}.models{font-size:12px;table-layout:fixed;overflow-wrap:anywhere}
 .document-modal{width:calc(100vw - 24px)}.document-modal>header,.document-modal>footer,.document-modal-body{padding:14px}
 .privacy-strip{flex-shrink:0;padding:6px 12px;font-size:11px}.privacy-strip span{min-width:0}.privacy-strip small{white-space:normal}
 .mobile-app-unavailable #mobile-add,.mobile-app-unavailable #mobile-bar button[data-mobile-panel]{opacity:.5}
}

@media(max-width:820px){
 .top{padding:8px 12px;gap:4px 8px;min-height:48px}
 .top .brand{width:auto;flex:1}.brandtext small{display:none}.top .brandtext b{font-size:14px}
 .top .chips{flex-wrap:nowrap;gap:4px}.top #open-log{display:none}
 .top #theme-toggle{padding:6px;width:36px;height:36px;min-height:36px;border:1px solid var(--line)}
 .top #theme-toggle-label{display:none}.top .iconbtn{width:36px;height:36px}
 .top .language-switch{font-size:13px;min-width:72px;min-height:36px;max-width:80px;padding:6px}
 .top .tabs{height:36px}.top .tabs button{min-height:36px;padding-inline:10px;font-size:13px}
 #mobile-intro{padding:8px 12px;font-size:12px;max-height:100px}
 #mobile-intro strong{font-size:13px}#mobile-intro p{margin:4px 0 0}
 #hero{margin:16px auto 0;text-align:center}
 #hero>h1,#hero>.hero-sub,#hero>.hero-cta,#hero>.steps,#hero>.pairs{display:none}
 .mobile-document-icon{width:72px;height:90px;fill:none;stroke:var(--accent);stroke-width:2;margin-bottom:16px}
 #mobile-placeholder h2{font-size:23px;margin:0 0 12px;color:var(--text)}
 #mobile-placeholder>p{font-size:14px;color:var(--muted);line-height:1.6;max-width:32ch;margin:0 auto 20px}
 #mobile-placeholder summary{padding:12px;color:var(--accent);cursor:pointer;min-height:44px}
 .mobile-example-body{text-align:left;padding:16px 0}.mobile-example-body p{font-size:14px;line-height:1.6}
 .privacy-strip>span{display:none}.privacy-strip{padding:7px 12px;gap:8px 16px;min-height:34px}
 .privacy-strip small{margin-left:auto}
 body[data-mobile-panel=docs] .work:not([hidden])>.docs,body[data-mobile-panel=controls] .work:not([hidden])>.side{top:92px}
 #mobile-panel-close:not([hidden]){top:98px}
}
