/* Responsive layout; shared colors and desktop surfaces live in theme.css. */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&family=Unbounded:wght@400;500;600&display=swap');
.mp-marker{display:none}
@media (max-width:1024px) and (orientation:portrait), (max-width:1024px) and (max-height:600px) {
 body.mp-active{padding-top:116px}
 body:not(.mp-active)>header{background:#eff3f6;color:#192d3b;flex-wrap:wrap;padding:16px}
 body:not(.mp-active)>header h1{font-family:'Unbounded',sans-serif}
 body:not(.mp-active) main{padding:16px}
 body:not(.mp-active) .card{background:#f2f6f8;border:1px solid #fff;box-shadow:var(--mp-shadow);color:#192d3b}
 body:not(.mp-active) .row{flex-direction:column;align-items:stretch;gap:8px}
 body:not(.mp-active) .row label{width:100%}
 body:not(.mp-active) :is(input,select,textarea){background:#e9eff3;color:#192d3b;font-size:16px;min-height:44px;min-width:0}
 body:not(.mp-active) button,body:not(.mp-active) a{min-height:44px;min-width:44px}
 body.mp-active>header{position:fixed;inset:0 0 auto;height:64px;padding:calc(10px + env(safe-area-inset-top)) 76px 10px 18px;gap:8px;background:#f1f5f8f5;border:0;box-shadow:0 2px 15px #152d3b12;flex-wrap:nowrap;z-index:30}
 body.mp-active>header h1,body.mp-active>header .brand{font:600 15px 'Unbounded',sans-serif;letter-spacing:1px;color:#192d3b;background:none;-webkit-text-fill-color:initial}
 body.mp-active>header>.sub,body.mp-active>header>.tag{display:none}
 .mp-pagetitle{position:fixed;left:18px;top:76px;display:flex;align-items:center;gap:9px;font:500 14px 'Unbounded',sans-serif;z-index:31;pointer-events:none}
 .mp-pagetitle svg{width:22px;height:22px;color:var(--acc)}
 .mp-menudock{position:fixed;right:max(12px,env(safe-area-inset-right));top:calc(8px + env(safe-area-inset-top));z-index:32}
 body.mp-active main{padding:12px 82px 32px 16px;max-width:none;width:100%;min-width:0}
 body.mp-active .grid{display:flex!important;flex-direction:column;gap:0!important;min-width:0}
 body.mp-active .grid>div:empty{display:none}
 body.mp-active .card{padding:20px 16px;margin-bottom:24px;border-radius:20px;background:#f2f6f8;border:1px solid #fff;box-shadow:var(--mp-shadow);backdrop-filter:none;min-width:0;max-width:100%}
 body.mp-active h2{font:500 13px/1.5 'Unbounded',sans-serif;letter-spacing:0;text-transform:none;color:var(--txt);margin-bottom:18px}
 body.mp-active h3{font-size:14px;color:var(--txt)}
 body.mp-active .row{display:flex!important;flex-direction:column;align-items:stretch;gap:8px;margin:16px 0;min-width:0}
 body.mp-active .row>*{width:100%!important;max-width:100%;min-width:0!important;flex:auto!important}
 body.mp-active .row label{font-size:13px;width:auto;font-weight:600}
 body.mp-active button,body.mp-active input,body.mp-active select,body.mp-active textarea,body.mp-active summary,body.mp-active a{min-height:44px!important;min-width:44px!important;max-width:100%;font-family:'Space Grotesk',sans-serif;touch-action:manipulation}
 body.mp-active button{font-size:14px;padding:10px 14px;background:var(--mp-blue);color:#102c3c;border-radius:12px;box-shadow:3px 3px 9px #cbd6df,-3px -3px 9px #fff;line-height:1.35;white-space:normal}
 body.mp-active button.ghost,body.mp-active button.secondary{background:#edf3f6;color:var(--txt);border:1px solid #c6d6e0;box-shadow:none}
 body.mp-active button:hover{transform:none;filter:none}
 body.mp-active button:active{background:#d2e9f3;box-shadow:inset 3px 3px 8px #b8cbd6}
 body.mp-active button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
 body.mp-active :is(button,input,select,textarea,a,summary):focus-visible{outline:3px solid #007fae;outline-offset:3px}
 body.mp-active input,body.mp-active select,body.mp-active textarea{font-size:16px;color:var(--txt);background:#e9eff3;padding:12px;border:1px solid #c5d3dc;border-radius:10px;box-shadow:inset 2px 2px 5px #d1dce4;min-width:0}
 body.mp-active input[type=checkbox],body.mp-active input[type=radio]{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:none!important;accent-color:#007fae;box-shadow:none}
 body.mp-active input[type=range]{padding:0;box-shadow:none;accent-color:#007fae;min-height:44px}
 body.mp-active input[type=color]{padding:4px}
 body.mp-active .note,body.mp-active .tip,body.mp-active .stub{font-size:13px!important;line-height:1.55}
 body.mp-active .item,body.mp-active .mesh{background:#f8fafb;border-color:#d1dce4;padding:16px;overflow-wrap:anywhere}
 body.mp-active .item button,body.mp-active .card>button,body.mp-active .plsec>button{margin:4px 4px 4px 0}
 body.mp-active pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
 body.mp-active table{width:100%;table-layout:fixed}body.mp-active td,body.mp-active th{overflow-wrap:anywhere}
 body.mp-active .mh{flex-wrap:wrap;gap:8px}
 body.mp-active .badge{font-size:11px;line-height:1.5}
 body.mp-active #toasts{left:12px;right:12px;bottom:16px;max-width:none}
 .mp-rail{position:fixed;top:124px;right:max(10px,env(safe-area-inset-right));bottom:160px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;scrollbar-width:none;padding:4px;z-index:25;width:64px}
 body.mp-active .mp-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;min-height:52px;flex:none;padding:8px 4px;border:1px solid #fff;background:#f2f6f8;color:#203f51;box-shadow:3px 3px 9px #152d3b1c,-3px -3px 9px #ffffff40;border-radius:14px;gap:4px}
 .mp-icon svg{width:22px;height:22px;flex:none}.mp-raillabel{font-size:9px;line-height:1.1;font-weight:600;max-width:50px;overflow-wrap:normal}
 body.mp-active .mp-sheet{padding:0;border:1px solid #fff;border-radius:26px 26px 0 0;background:#eff3f6;color:var(--txt);box-shadow:0 -12px 50px #09243836;position:fixed;inset:auto 0 0;width:100%;max-width:720px;max-height:82dvh;margin:0 auto;overflow:hidden}
 .mp-sheet::backdrop{background:#071c2c73;backdrop-filter:blur(3px)}
 .mp-sheet[open]{display:flex;flex-direction:column;animation:mp-enter .18s ease-out}
 .mp-sheethead{position:relative;display:flex;align-items:center;gap:16px;padding:22px 18px 12px;border-bottom:1px solid #cedae2;flex:none;touch-action:pan-x}
 body.mp-active .mp-sheethead h2{margin:0;flex:1;font-size:15px}.mp-sheethead .mp-icon{width:44px;min-height:44px;border:0;box-shadow:none;background:transparent}
 .mp-grip{position:absolute;left:calc(50% - 20px);top:8px;width:40px;height:4px;border-radius:4px;background:#aabecb}
 .mp-sheetbody{padding:18px 18px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;min-height:0}
 body.mp-active .mp-sheetbody .card{box-shadow:none;border:0;background:transparent;padding:0;margin:0}
 body.mp-active .mp-edge{inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:min(88vw,440px);border-radius:24px 0 0 24px}
 .mp-navigation #nav{display:grid!important;grid-template-columns:1fr 1fr;padding:0;position:static;background:none;gap:8px;overflow:visible;backdrop-filter:none}
 body.mp-active .mp-navigation #nav button{min-height:48px;text-align:left;border:1px solid #cfdae2;background:#e8eff3;color:#284657;box-shadow:none}
 body.mp-active .mp-navigation #nav button.on{background:#00bfff;color:#102c3c;border-color:#00bfff}
 .mp-navigation a,.mp-navigation #acctslot{display:flex;align-items:center;margin-top:16px;color:var(--acc);gap:10px;flex-wrap:wrap}
 body.mp-active #devbar{flex-wrap:wrap}
 body.mp-active .mp-jump{display:block;width:100%;margin-bottom:8px;text-align:left;background:#e3eef4;box-shadow:none}
 .mp-help{line-height:1.5;margin-top:0}
 body.mp-placement{padding:0;overflow:hidden;height:100dvh;background:#1a1d21}
 body.mp-placement main{padding:0;position:fixed;inset:0;height:100dvh}
 body.mp-placement>header{background:#f3f7f9eb;box-shadow:0 4px 20px #0002}
 body.mp-placement .mp-pagetitle{top:82px;color:#f1f7fa;font-size:12px;text-shadow:0 1px 4px #000}
 body.mp-placement .mp-pagetitle svg{color:#00bfff}
 body.mp-placement .pllayout{display:block;height:100dvh;min-height:0;gap:0}
 body.mp-placement .plview{height:100dvh;min-height:0;position:absolute;inset:0}
 body.mp-placement .plview canvas#view{width:100%!important;height:100%!important;border:0;border-radius:0}
 body.mp-placement .plpanel{display:none}
 body.mp-placement .pl-hud{top:auto;bottom:166px;left:18px;right:auto;font-size:9px;color:#b7cbd7;max-width:calc(100% - 90px)}
 .mp-sitecaption{position:fixed;top:108px;left:18px;max-width:calc(100% - 104px);color:#b5cad7;font:12px 'Space Grotesk',sans-serif;z-index:24;pointer-events:none}
 body.mp-active .mp-transform{position:fixed;left:50%;bottom:calc(62px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;width:calc(100% - 32px);max-width:430px;padding:8px;border:1px solid #ffffff70;border-radius:18px;background:#f1f6f9f2;box-shadow:0 8px 32px #071c2c35;z-index:24}
 body.mp-active .mp-transform button{padding:8px;min-height:44px;min-width:44px;font-size:12px;flex:1;box-shadow:none;white-space:nowrap;background:#e5edf2;color:#294858;border:1px solid #c4d6e0;border-radius:10px}
 body.mp-active .mp-transform button.on{background:#00bfff;color:#102c3c;border-color:#00bfff}
 body.mp-active .mp-loghandle{position:fixed;left:50%;bottom:env(safe-area-inset-bottom);transform:translateX(-50%);width:160px;min-height:52px;border-radius:16px 16px 0 0;display:flex;flex-direction:row;gap:8px;font-size:12px;z-index:24;touch-action:none}
 body.mp-active #layerspanel,body.mp-active #logdock,body.mp-active #xyzstrip{display:block;position:static!important;inset:auto!important;width:100%!important;height:auto;max-width:100%!important;padding:0;border:0;background:transparent;overflow:visible;color:var(--txt)}
 body.mp-active #layerrows>div[onclick]{min-height:52px;gap:8px!important}
 body.mp-active #layerrows button{min-width:44px!important;min-height:44px!important}
 body.mp-active #xyzstrip{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:8px;font-size:14px}
 body.mp-active #xyzstrip input{width:100%!important}body.mp-active #xyzmode{grid-column:1/-1}
 body.mp-active #xyzstrip .tip{grid-column:1/-1}
 body.mp-active #log{max-height:48dvh!important;font:12px/1.6 'JetBrains Mono',monospace;color:#35556a;overflow-wrap:anywhere}
 body.mp-active .plsec{border:0;background:transparent;padding:0 0 22px;margin:0 0 24px;border-bottom:1px solid #ccd8e0}
 body.mp-active .pl-tools,body.mp-active .vpnav{position:static!important;max-width:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin:20px 0}
 body.mp-active .vpnav button{min-width:44px;min-height:44px;background:#e5eef4;color:#294858;box-shadow:none;touch-action:manipulation}
 body.mp-active .vpnav .hint{color:#516674;font-size:12px}
 body.mp-active .vtabs{flex-wrap:wrap}
 body.mp-active .vtabs .vtab{background:#e5edf2;color:#294858;border:1px solid #b7cbd7;box-shadow:none}
 body.mp-active .vtabs .vtab.on{background:#00bfff;color:#102c3c;border-color:#00bfff}
 body.mp-active #view{max-width:100%;height:48dvh}
 body.mp-active .mp-sheetbody #view{height:35dvh}
 body.mp-live .workspace{display:block;margin-top:20px}
 body.mp-live main{padding-top:8px}body.mp-live main>h1{font:500 clamp(24px,6vw,38px)/1.25 'Unbounded',sans-serif;letter-spacing:-1px}
 body.mp-live .stage{background:#f6f9fb;border-radius:18px;border-color:#cedbe4;overflow:hidden;box-shadow:var(--mp-shadow)}
 body.mp-live #sceneCanvas{background:#172630;width:100%;height:40dvh}
 body.mp-live .stagehead{padding:16px;flex-wrap:wrap}body.mp-live dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}
 body.mp-live dd{margin:8px 0 0;color:var(--txt)}body.mp-live aside{border:0;padding:0}
 body.mp-live .detail{padding:0}body.mp-live .status{color:var(--warn)}
 @media(max-width:600px) and (orientation:portrait){body.mp-active .mp-transform{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}body.mp-active .mp-transform>.mp-icon{width:auto;grid-column:span 2}}
 @media(min-width:700px){body.mp-active main{padding-left:32px;padding-right:108px}.mp-rail{right:22px;width:68px}.mp-pagetitle,.mp-sitecaption{left:32px}body.mp-active .card{padding:28px}.mp-sheetbody{padding:24px 28px 32px}body.mp-placement main{padding:0}.mp-transform{max-width:520px!important}}
 @media(orientation:landscape){body.mp-active{padding-top:86px}.mp-pagetitle{top:72px;font-size:11px}.mp-rail{top:76px;bottom:64px;right:8px}.mp-sitecaption{top:98px}.mp-sheet{max-height:92dvh!important}.mp-transform{bottom:12px!important;max-width:480px!important}.mp-loghandle{left:18px!important;transform:none!important;width:52px!important}.mp-loghandle span{display:none}.mp-placement .pl-hud{bottom:80px}.mp-placement .mp-pagetitle{top:76px}.mp-placement .mp-rail{bottom:76px}}
 @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
 @keyframes mp-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
}
