/* SignalCore v12 — mobile-first compatibility layer, loaded after feature modules.
   Touch-friendly layouts intentionally retain scrollable DAW timelines and mixers. */
:root{--sc12-touch:44px;--sc12-inset:env(safe-area-inset-bottom,0px)}
html{min-width:0;max-width:100%;-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{min-width:0;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
[hidden]{display:none!important}
img,video,canvas,svg{max-width:100%}
img,video{height:auto}
input,textarea,select,button{max-width:100%}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a,select,input[type='checkbox'],input[type='radio']{touch-action:manipulation}
:focus-visible{outline:2px solid #74e8c9!important;outline-offset:3px}
.sc12-skip{position:fixed;top:-90px;left:12px;z-index:500;background:#0d302c;color:#fff;border-radius:8px;padding:12px;transition:top .12s}
.sc12-skip:focus{top:12px}
.sc12-menu-head,.sc12-menu-close,.sc12-nav-shade,.sc12-dock,.sc12-board-move{display:none}
.sc12-nav-shade{position:fixed;inset:0;background:#020d14c9;border:0;z-index:98;cursor:pointer}
.sc12-upload-status{background:#112b31;border:1px solid #397368;border-radius:12px;padding:14px;margin-top:10px;display:grid;gap:10px;color:#d4f9ec;font-size:.85rem}
.sc12-upload-status progress{width:100%;height:13px;accent-color:#00c49d}
.sc12-upload-status button{justify-self:start;border:1px solid #648178;background:#17343b;padding:10px 14px;color:white;border-radius:8px}
.sc12-record-download{display:inline-block;margin-top:10px;color:#8cf1d0;text-decoration:underline;text-underline-offset:3px}
.sc12-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:17px 0}
.sc12-admin-grid>div{border:1px solid #315062;background:#132532;padding:17px;border-radius:12px;min-width:0}
.sc12-admin-grid strong,.sc12-admin-grid small{display:block;overflow-wrap:anywhere}
.sc12-admin-grid strong{font-size:1.05rem;margin-top:6px}
.sc12-admin-grid small{color:#a3bfca}
.sc12-admin-grid span{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:#9ab0b9}
.workspace,.main,.production-host,.scn-app,.pv5-page,.sc11,.aim-shell,.aim-library,.aim-create{min-width:0}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:600px}
.main h1,.main h2,.main h3,.panel,form,textarea,td,.sc11-card,.scn-card{overflow-wrap:anywhere}
@media (max-width:1050px){
 .topbar{position:sticky;top:0;z-index:110;isolation:isolate}
 .mobile-toggle{display:inline-grid!important;place-items:center;min-width:var(--sc12-touch);min-height:var(--sc12-touch);border-radius:12px;border:1px solid #46635e;background:#193238;color:#edf9f5;cursor:pointer;margin-left:auto}
 .sc12-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;color:#effff9}
 .sc12-menu-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #41615d;border-radius:10px;background:#20383e;color:white;cursor:pointer}
 .topbar .topnav{display:flex!important;visibility:hidden;pointer-events:none;opacity:0;transform:translateX(102%);transition:transform .24s ease,opacity .24s ease,visibility .24s;position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;z-index:120!important;width:min(90vw,370px)!important;max-width:370px!important;min-width:0!important;max-height:100dvh!important;margin:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(22px + var(--sc12-inset))!important;border:0!important;border-left:1px solid #33544e!important;border-radius:0!important;background:#0e1d26!important;box-shadow:-20px 0 70px #000b!important}
 .topbar .topnav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateX(0)}
 .topnav>a{display:flex;align-items:center;min-height:46px;padding:11px 13px!important;border-radius:10px;font-size:14px}
 .topnav>a[aria-current="page"]{color:#b7ffe4;background:#193d37}
 .topnav form.inline,.topnav .nav-logout{width:100%;min-height:46px;text-align:left}
 .sc12-nav-shade:not([hidden]){display:block}
 body.sc12-menu-open{overflow:hidden;touch-action:none}
 .workspace{grid-template-columns:minmax(0,1fr)}
 .main{width:100%;padding:24px clamp(12px,3vw,30px)}
 .sidebar{scrollbar-width:thin;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .side-link{min-height:44px;display:flex;align-items:center}
 .hero,.pro-landing{grid-template-columns:minmax(0,1fr)!important}
 .pro-heading{flex-wrap:wrap}
 .sr3-workspace-tabs{display:flex;max-width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}
 .sr3-workspace-tabs .sr3-tab{flex:0 0 auto;min-height:44px}
 .sr3-commandbar{display:block}
 .sr3-command-actions{margin:9px 0;flex-wrap:wrap}
 .sr3-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pro-body{grid-template-columns:minmax(0,1fr)}
 .pro-side{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pro-timeline-scroll,.sr3-mixer-scroll{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x pan-y}
 .pro-timeline-content{width:max-content;min-width:100%}
 .sr3-mixer{width:max-content;max-width:none}
 .scn-grid-3,.scn-grid-2,.sc11-grid,.pv5-grid,.pv5-grid-ai,.pv5-grid-sound,.pv5-grid-direction{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 .topbar{height:67px;padding:0 12px}
 .signalcore-emblem{width:39px;height:39px}.signalcore-emblem img{width:37px;height:37px}
 .signalcore-lockup .signalcore-name{font-size:1.1rem}.signalcore-lockup small{font-size:.57rem}
 .workspace .main{padding:17px 12px calc(96px + var(--sc12-inset))!important}
 .workspace{display:flex!important;flex-direction:column}
 .sidebar{flex-wrap:nowrap;overflow-x:auto;max-width:100vw;scrollbar-width:none;padding:8px 12px!important;min-height:58px}
 .sidebar::-webkit-scrollbar{display:none}
 .sidebar .side-link{flex:0 0 auto;border:1px solid #25413f;border-radius:11px;padding:7px 11px}
 .sidebar .selected{background:#1b4540}
 .page-top h1{font-size:clamp(1.55rem,6vw,2.35rem);line-height:1.13}
 .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
 .stat-card{min-width:0;padding:13px}.stat-card strong{font-size:clamp(1.2rem,5vw,1.85rem)}
 .board{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;max-width:100%}
 .board-column{scroll-snap-align:start;flex:0 0 min(83vw,340px)}
 .song-tile{touch-action:pan-y}
 .song-tile[draggable]{-webkit-user-drag:none}
 .sc12-board-move{display:block;margin:9px 3px 2px;padding:8px 10px;border:1px solid #375c56;border-radius:10px;background:#183b38;color:#dcfff0;font:inherit;font-size:12px;width:calc(100% - 6px)}
 .sc12-board-move-label{font-size:11px;color:#a3c8bd;margin-left:7px}
 .sr3-pane{padding:13px;min-height:0}.sr3-section-head{gap:12px;padding-bottom:12px}
 .sr3-master-grid,.sr3-session-grid{grid-template-columns:minmax(0,1fr)}
 .sr3-overview>div{padding:11px}.sr3-stem-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sr3-inline-form,.sr3-marker-form{grid-template-columns:minmax(0,1fr)}
 .sr3-marker-form>*,.sr3-inline-form>*{width:100%}
 .pro-side{grid-template-columns:minmax(0,1fr)}
 .pro-transport{padding:12px}.pro-transport-buttons{flex-wrap:wrap}
 .pro-clock{font-size:clamp(1.1rem,5vw,1.8rem)}
 .pro-track-row .pro-track-label{position:sticky;left:0;z-index:2}
 .scn-grid-3,.scn-grid-2,.sc11-grid,.sc11-duo,.pv5-grid,.pv5-grid-ai,.pv5-grid-sound,.pv5-grid-direction{grid-template-columns:minmax(0,1fr)!important}
 .scn-app,.pv5-page,.sc11{width:100%;padding-inline:0;overflow-wrap:anywhere}
 .scn-top,.scn-tool-row,.scn-section-head,.scn-version,.sc11-hero,.sc11-buttons,.sc11-filters,.pv5-buttons{flex-wrap:wrap}
 .scn-tool-row>*{max-width:100%;min-height:44px}
 .scn-tabs,.pv5-tabbar,.admin-tabs{overflow-x:auto;max-width:100%;display:flex;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}
 .scn-tabs>*,.pv5-tabbar>*,.admin-tabs>*{flex:0 0 auto;min-height:44px}
 .scn-step-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .scn-step-grid{min-width:620px}
 .sc11-card{padding:13px}.sc11-main{min-width:0}
 .aim-shell{height:auto!important;min-height:0!important;max-width:100vw}
 .aim-rail{top:66px!important}
 .aim-create,.aim-library{padding:16px 12px 25px!important}
 .aim-player:not([hidden]){height:auto;min-height:88px;bottom:0;padding:9px 12px calc(10px + var(--sc12-inset));flex-wrap:wrap;gap:8px}
 .aim-player-cover{width:36px;height:36px}.aim-player-info{min-width:95px}.aim-player #aim-seek{flex:1 1 45%;min-width:60px}
 .aim-player .aim-vol-label{display:none}
 .sc12-dock{position:fixed;bottom:0;left:0;right:0;z-index:86;display:flex;align-items:stretch;justify-content:space-around;border-top:1px solid #2e514b;background:#0d2026f5;backdrop-filter:blur(16px);padding:5px 6px calc(5px + var(--sc12-inset));box-shadow:0 -8px 24px #0007}
 .sc12-dock a,.sc12-dock button{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;min-height:52px;flex:1;min-width:0;border:0;background:none;color:#a7c3c2;text-decoration:none;font:600 11px system-ui}
 .sc12-dock a[aria-current="page"]{color:#75f4d1}
 .sc12-dock span{font-size:20px;line-height:1.3}
 body.ai-page .sc12-dock{display:none}
 body.ai-page .aim-inspector{top:67px;bottom:0}
 body.ai-page .aim-library{padding-bottom:132px!important}
 .sc12-admin-grid{grid-template-columns:minmax(0,1fr)}
 .modal{max-height:calc(100dvh - 30px);overflow-y:auto;width:calc(100vw - 24px);padding:22px 16px}
 .footer{padding-bottom:calc(87px + var(--sc12-inset))}
 .auth-shell{margin:12px}.auth-panel{padding:24px 18px}
 .topnav{overscroll-behavior-y:contain}
 input,select,textarea{font-size:16px!important} /* prevent iOS focus-zoom */
}
@media(max-width:420px){.brand{min-width:0!important}.signalcore-lockup .signalcore-name{font-size:1.01rem}.stat-grid{gap:7px}.sr3-overview strong{font-size:1.05rem}.sr3-metrics{grid-template-columns:minmax(0,1fr)}.aim-row{gap:9px;padding:9px}.aim-row-actions{flex-wrap:wrap}}
@media(max-height:480px) and (orientation:landscape){.sc12-dock{display:none}.workspace .main{padding-bottom:28px!important}.topbar .topnav{padding-top:12px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
