/* Shared ChartWalk-derived chrome + Standard Premium Footer Modals */
:root{--cx-head:74px;--cx-foot:54px;--cx-theme:var(--codex-track,var(--track,#0b4a3d));--cx-paper:#f8f6f0;--cx-sheet:#fffdf8}
html{scroll-padding-top:calc(var(--cx-head) + 16px);scroll-padding-bottom:calc(var(--cx-foot) + 20px)}
body.codex-framed{padding-top:var(--cx-head);padding-bottom:var(--cx-foot);background-color:var(--cx-paper);background-image:linear-gradient(#f8f6f0b8,#f8f6f0b8),url('/assets/codex-hex.svg');background-size:auto,41.57px 72px;overflow-x:hidden}
.codex-frame-head{position:fixed!important;inset:0 0 auto!important;width:100%;z-index:60!important;margin:0!important;min-height:64px!important;height:auto!important;background:#f8f6f0f7!important;border-bottom:1px solid #d9dfd7;backdrop-filter:blur(12px);padding-top:max(8px,env(safe-area-inset-top))!important;padding-bottom:8px!important;box-sizing:border-box}
.codex-frame-foot{position:fixed!important;inset:auto 0 0!important;width:100%;z-index:55;margin:0!important;padding:5px max(16px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;min-height:52px;background:#fffdf8!important;border-top:1px solid #d9dfd7;box-shadow:0 -6px 24px -20px var(--cx-theme);color:#52645e!important;backdrop-filter:blur(12px);font:12px/1.5 Manrope,Arial,sans-serif!important;display:flex!important;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box}
.codex-frame-foot a,.codex-frame-foot button,.codex-frame-foot summary{appearance:none;border:0;background:transparent;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:7px;color:var(--cx-theme)!important;font:600 12px/1.3 Manrope,Arial,sans-serif!important;text-decoration:none;padding:0 10px;border-radius:8px;transition:background .15s}
.codex-frame-foot a:hover,.codex-frame-foot button:hover,.codex-frame-foot summary:hover{background:rgba(11,74,61,.07)}
.codex-frame-foot .codex-resources{margin:0!important;padding:0!important;display:flex!important;flex-direction:row!important;align-items:center;gap:12px;border:0!important;background:none!important;box-shadow:none!important;width:auto!important}
.codex-frame-foot .cx-foot-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.codex-frame-foot .cx-foot-btn svg{width:15px;height:15px;flex:none;color:var(--cx-theme)}
body.codex-framed .app-shell>header{padding-inline:clamp(16px,3vw,50px);grid-template-columns:1fr auto 1fr}
body.codex-framed .app-shell>footer{font-size:12px!important}
body.codex-framed .app-shell>footer>div{gap:18px}
body.codex-framed .app-shell .footer-brand{font-size:12px}
body.codex-framed .app-shell .workspace-nav{position:relative}
body.codex-framed :is(.study-card,.sign-card,.fc-launch,.stat,.fc-box){background-color:var(--cx-sheet);border-radius:14px;box-shadow:-4px 6px 18px -12px var(--cx-theme)}
body.codex-framed :is(.stage,.asset-media,.fc-card,.viewer,.info){background-image:none}
body.codex-framed [id]{scroll-margin-top:calc(var(--cx-head) + 14px);scroll-margin-bottom:calc(var(--cx-foot) + 14px)}
.app-shell{--cx-theme:var(--track)}
html[data-codex-track="step1"]{--cx-theme:#0c2a4c}
.app-shell>.mobile-nav{background:#fffdf8!important}

/* Standard Premium Popup Modal for Footer Links (Credits, Updates, Report an error, Support) */
dialog.cx-premium-modal{border:1.5px solid var(--cx-theme,#0b4a3d);border-radius:22px;padding:0;max-width:600px;width:calc(100vw - 28px);max-height:min(86dvh,720px);background:#fffefa;color:#132e30;box-shadow:-5px 7px 0 var(--cx-theme,#0b4a3d),0 24px 60px rgba(11,34,27,.24);font-family:Manrope,Arial,sans-serif;overflow:hidden;margin:auto}
dialog.cx-premium-modal:not([open]){display:none!important}
dialog.cx-premium-modal[open]{display:flex!important;flex-direction:column}
dialog.cx-premium-modal::backdrop{background:rgba(11,30,25,.54);backdrop-filter:blur(5px)}
.cx-pm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 24px 16px;border-bottom:1px solid #dde4de;background:#f8f6f0}
.cx-pm-brand{display:flex;align-items:center;gap:8px;margin-bottom:6px;font:700 11px/1.2 Manrope,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--cx-theme,#0b4a3d)}
.cx-pm-brand svg{width:16px;height:16px;flex:none}
.cx-pm-title{margin:0;font:400 30px/1.08 'Instrument Serif',Georgia,serif;color:#132e30;letter-spacing:-.01em}
.cx-pm-close{appearance:none;border:1px solid #c5d2cb;background:#fffefa;color:#132e30;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:10px;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}
.cx-pm-close:hover{background:#edf4ef;color:var(--cx-theme,#0b4a3d)}
.cx-pm-body{padding:20px 24px 24px;overflow-y:auto;display:grid;gap:14px;font:400 13.5px/1.65 Manrope,Arial,sans-serif;color:#334a43}
.cx-pm-card{background:#f8f6f0;border:1px solid #d9e1db;border-left:3px solid var(--cx-theme,#0b4a3d);border-radius:12px;padding:14px 16px}
.cx-pm-card h4{margin:0 0 6px;font:700 12px/1.3 Manrope,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--cx-theme,#0b4a3d)}
.cx-pm-card p{margin:0;font:400 13px/1.6 Manrope,Arial,sans-serif;color:#334a43}
.cx-pm-card p+p{margin-top:8px}
.cx-pm-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#e5f0ec;color:#0b4a3d;font:700 10.5px/1.4 Manrope,Arial,sans-serif;margin-right:6px}
.cx-pm-form{display:grid;gap:12px}
.cx-pm-field{display:grid;gap:5px}
.cx-pm-field label{font:700 11.5px/1.3 Manrope,Arial,sans-serif;color:#132e30}
.cx-pm-field input,.cx-pm-field select,.cx-pm-field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #b5c4ba;border-radius:10px;background:#fff;color:#132e30;font:400 14px/1.45 Manrope,Arial,sans-serif}
.cx-pm-field textarea{min-height:92px;resize:vertical}
.cx-pm-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:6px;flex-wrap:wrap}
.cx-pm-btn{appearance:none;border:1.5px solid var(--cx-theme,#0b4a3d);border-radius:10px;min-height:42px;padding:9px 18px;font:700 13px/1.2 Manrope,Arial,sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.cx-pm-btn.pri{background:var(--cx-theme,#0b4a3d);color:#fff!important}
.cx-pm-btn.ghost{background:#fff;color:var(--cx-theme,#0b4a3d)!important}
.cx-pm-status{padding:10px 12px;border-radius:10px;font:600 12.5px/1.45 Manrope,Arial,sans-serif;display:none}
.cx-pm-status.ok{display:block;background:#e6f4ee;color:#0b4a3d;border:1px solid #9fd4be}
.cx-pm-status.err{display:block;background:#fce8e6;color:#9c2b23;border:1px solid #f1b3ad}

@media(max-width:600px){
  .app-shell>.codex-frame-foot{display:none!important}
  .codex-frame-head{min-height:58px!important}
  .codex-frame-head .codex-guide-support{display:none}
  .codex-frame-foot{gap:4px;padding-inline:10px!important;min-height:50px!important;flex-wrap:nowrap!important;justify-content:space-between}
  .codex-frame-foot a,.codex-frame-foot button{padding:0 6px;font-size:11px!important;min-height:42px;gap:4px}
  .codex-frame-foot .codex-resources{gap:4px!important}
  .codex-frame-foot .codex-utility{width:16px!important;height:16px!important}
  .codex-frame-foot .cx-foot-long{display:none}
  .codex-frame-foot .cx-foot-short{display:inline}
  dialog.cx-premium-modal{width:calc(100vw - 18px);max-height:90dvh;border-radius:18px}
  .cx-pm-head{padding:16px 16px 12px}
  .cx-pm-title{font-size:25px}
  .cx-pm-body{padding:14px 16px 18px}
}
@media(min-width:601px){
  .codex-frame-foot .cx-foot-short{display:none}
}
@media(orientation:landscape) and (max-height:500px){.codex-frame-head{min-height:52px!important;padding-block:4px!important}.codex-frame-foot{min-height:48px!important;padding-block:2px!important}}
@media print{body.codex-framed{padding:0!important;background:white!important}.codex-frame-head,.codex-frame-foot,dialog.cx-premium-modal{display:none!important}html{scroll-padding:0}}
