#tc-posture-app{
    --tc-plum:#271A2B; --tc-plum-800:#362337; --tc-parchment:#F7F1E4; --tc-parchment-2:#EFE6D3;
    --tc-ink:#241726; --tc-cream:#FBF6EC; --tc-berry:#A8506B; --tc-berry-light:#C87F92;
    --tc-gold:#C9963F; --tc-gold-light:#E0B96B; --tc-sage:#7E8C6A; --tc-line:rgba(36,23,38,.14);
    --tc-primary:#1a7efb; --tc-primary-light:#5fa3ff; --tc-primary-dark:#0f5fd1;
    --tc-display:'Fraunces',Georgia,serif; --tc-body:'Work Sans',-apple-system,sans-serif; --tc-mono:'Space Mono',monospace;
    background:var(--tc-parchment); color:var(--tc-ink); font-family:var(--tc-body); line-height:1.6;
    border-radius:6px; overflow:hidden; margin:0 0 32px;
  }
  .tcPopupTitle{
      color: #fff!important;
  }
  #tc-posture-app *{box-sizing:border-box;}
  #tc-posture-app .tc-wrap{max-width:980px;margin:0 auto;padding:0 24px;}
  #tc-posture-app .tc-top{background:var(--tc-plum);color:var(--tc-cream);padding:40px 0 30px;}
  #tc-posture-app .tc-eyebrow{font-family:var(--tc-mono);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--tc-primary-light);}
  #tc-posture-app .tc-top h2{font-size:clamp(1.4rem,3vw,2rem);margin:10px 0 8px;color:var(--tc-cream);}
  #tc-posture-app .tc-top p{color:rgba(251,246,236,.82);max-width:640px;margin:0;font-size:.96rem;}
  #tc-posture-app .tc-disclaimer{background:var(--tc-plum-800);color:rgba(251,246,236,.85);font-family:var(--tc-mono);font-size:.7rem;text-align:center;padding:8px 16px;}
  #tc-posture-app .tc-panel{background:var(--tc-cream);border:1px solid var(--tc-line);border-radius:6px;padding:26px;margin:28px 0;}
  #tc-posture-app .tc-panel h3{font-size:1.1rem;margin-bottom:14px;}
  #tc-posture-app .tc-field-row{margin-bottom:18px;}
  #tc-posture-app .tc-field-row label{display:block;font-family:var(--tc-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tc-primary);margin-bottom:6px;}
  #tc-posture-app .tc-field-row input:invalid{box-shadow:none;}
  #tc-posture-app .tc-field-row .tc-error{color:var(--tc-berry);font-size:.8rem;margin-top:8px;min-height:18px;}
  #tc-posture-app .tc-leadNote{font-size:.82rem;color:#7a6a78;margin:0 0 18px;}
  #tc-posture-app .tc-field-row input[type=text]{width:100%;max-width:360px;padding:9px 12px;border:1px solid var(--tc-line);border-radius:4px;font-family:var(--tc-body);font-size:.92rem;background:#fff;color:var(--tc-ink);}
  #tc-posture-app .tc-tabs{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
  #tc-posture-app .tc-tab-btn{font-family:var(--tc-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;padding:9px 18px;border:1px solid var(--tc-line);border-radius:20px;background:transparent;cursor:pointer;color:var(--tc-ink);}
  #tc-posture-app .tc-tab-btn.active{background:var(--tc-primary);color:#fff;border-color:var(--tc-primary);}
  #tc-posture-app .tc-tab-btn.tc-mode.active{background:var(--tc-primary);color:#fff;border-color:var(--tc-primary);}
  #tc-posture-app .tc-mode-panel{display:none;}
  #tc-posture-app .tc-mode-panel.active{display:block;}
  #tc-posture-app .tc-upload-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
  #tc-posture-app input[type=file]{font-family:var(--tc-body);font-size:.88rem;}
  #tc-posture-app .tc-btn{font-family:var(--tc-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;padding:11px 22px;border-radius:4px;border:none;background:var(--tc-primary);color:#fff;cursor:pointer;font-weight:700;}
  #tc-posture-app .tc-btn:hover:not(:disabled){background:var(--tc-primary-dark);}
  #tc-posture-app .tc-btn:disabled{opacity:.5;cursor:not-allowed;}
  #tc-posture-app .tc-btn.tc-secondary{background:transparent;border:1px solid var(--tc-primary);}
  #tc-posture-app .tc-btn.tc-pulseHint{animation:tc-pulseHintBtn 1.1s ease-in-out infinite;}
  @keyframes tc-pulseHintBtn{0%,100%{box-shadow:0 0 0 0 rgba(26,126,251,.45);}50%{box-shadow:0 0 0 8px rgba(26,126,251,0);}}
  #tc-posture-app .tc-btn.tc-danger{background:var(--tc-berry);color:#000;}
  #tc-posture-app .tc-userTypeBtns{display:flex;gap:12px;flex-wrap:wrap;}
  #tc-posture-app .tc-canvas-wrap{position:relative;margin-top:20px;max-width:480px;}
  #tc-posture-app canvas{width:100%;border-radius:4px;border:1px solid var(--tc-line);background:#000;display:block;}
  #tc-posture-app video{display:none;}
  #tc-posture-app .tc-live-badge{position:absolute;top:10px;left:10px;background:var(--tc-primary);color:#fff;font-family:var(--tc-mono);font-size:.66rem;text-transform:uppercase;padding:5px 10px;border-radius:12px;display:none;align-items:center;gap:6px;}
  #tc-posture-app .tc-live-badge.on{display:inline-flex;}
  #tc-posture-app .tc-live-badge .tc-dot{width:7px;height:7px;border-radius:50%;background:#fff;animation:tc-pulse 1.2s infinite;}
  @keyframes tc-pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
  #tc-posture-app .tc-live-controls{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;}
  #tc-posture-app .tc-status{font-family:var(--tc-mono);font-size:.78rem;color:var(--tc-primary);margin-top:12px;min-height:20px;}
  #tc-posture-app .tc-hint{font-size:.78rem;color:#7a6a78;margin-top:14px;}
  #tc-posture-app .tc-row{display:grid;grid-template-columns:130px 1fr 90px;gap:10px;padding:12px 0;border-top:1px solid var(--tc-line);align-items:center;font-size:.88rem;}
  #tc-posture-app .tc-row:first-child{border-top:none;}
  #tc-posture-app .tc-region{font-family:var(--tc-mono);font-size:.7rem;text-transform:uppercase;color:var(--tc-primary);}
  #tc-posture-app .tc-badge{font-family:var(--tc-mono);font-size:.64rem;text-transform:uppercase;padding:4px 8px;border-radius:10px;text-align:center;white-space:nowrap;}
  #tc-posture-app .tc-badge.high{background:rgba(126,140,106,.2);color:#4c5940;}
  #tc-posture-app .tc-badge.med{background:rgba(201,150,63,.22);color:#7a5a1f;}
  #tc-posture-app .tc-badge.low{background:rgba(168,80,107,.18);color:var(--tc-berry);}
  #tc-posture-app .tc-suggestionsHeading{font-size:1rem;margin:24px 0 10px;}
  #tc-posture-app #tc-suggestions{margin:0;padding-left:20px;font-size:.88rem;}
  #tc-posture-app #tc-suggestions li{margin-bottom:8px;}
  #tc-posture-app .tc-downloadRow{margin-top:22px;}
  #tc-posture-app .tc-note{font-size:.8rem;color:#7a6a78;margin-top:6px;}

  /* Guided live-capture step tracker */
  #tc-posture-app .tc-guideSteps{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;}
  #tc-posture-app .tc-guideStep{display:flex;align-items:center;gap:6px;font-family:var(--tc-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;padding:7px 12px;border-radius:20px;border:1px solid var(--tc-line);color:#7a6a78;background:transparent;transition:background .25s,color .25s,border-color .25s;}
  #tc-posture-app .tc-guideStep .tc-guideDot{width:8px;height:8px;border-radius:50%;background:var(--tc-line);display:inline-block;flex-shrink:0;}
  #tc-posture-app .tc-guideStep.active{border-color:var(--tc-primary);color:var(--tc-primary);}
  #tc-posture-app .tc-guideStep.active .tc-guideDot{background:var(--tc-primary);animation:tc-pulse 1.2s infinite;}
  #tc-posture-app .tc-guideStep.done{background:rgba(126,140,106,.2);border-color:var(--tc-sage);color:#4c5940;}
  #tc-posture-app .tc-guideStep.done .tc-guideDot{background:var(--tc-sage);animation:none;}

  /* Live instruction banner + hold-to-confirm progress bar */
  #tc-posture-app .tc-instructionBar{margin-top:16px;}
  #tc-posture-app .tc-instructionText{font-family:var(--tc-display);font-size:1.02rem;color:var(--tc-ink);background:var(--tc-parchment-2);border:1px solid var(--tc-line);border-radius:6px;padding:14px 16px;text-align:center;}
  #tc-posture-app .tc-holdProgress{height:6px;background:var(--tc-line);border-radius:3px;margin-top:8px;overflow:hidden;}
  #tc-posture-app .tc-holdProgressFill{height:100%;width:0%;background:var(--tc-sage);transition:width .08s linear;}
  #tc-posture-app .tc-liveDebug{font-family:var(--tc-mono);font-size:.68rem;color:#9c8a97;margin-top:8px;min-height:14px;}

  /* Multi-section report (front / left / back / right) */
  #tc-posture-app .tc-reportSection{margin-bottom:10px;}
  #tc-posture-app .tc-reportSection h4{font-family:var(--tc-mono);text-transform:uppercase;font-size:.78rem;letter-spacing:.05em;color:var(--tc-primary);margin:0;padding-top:18px;border-top:1px solid var(--tc-line);}
  #tc-posture-app .tc-reportSection:first-child h4{border-top:none;padding-top:0;}
  #tc-posture-app .tc-reportSection .tc-viewNote{font-size:.76rem;color:#7a6a78;margin:2px 0 4px;}
  @media (max-width:600px){
    #tc-posture-app .tc-row{grid-template-columns:1fr;gap:4px;}
    #tc-posture-app .tc-region{margin-top:6px;}
  }