.twin-portrait-workspace { display:grid; grid-template-columns:minmax(320px,1fr) minmax(340px,1fr); align-items:start; gap:24px; margin-top:12px; }
.twin-portrait-workspace [hidden] { display:none !important; }
.twin-back-to-avatar { display:none; }
.twin-portrait-workspace .digital-stage { height:clamp(480px,calc(100dvh - 230px),640px); min-height:480px; border-radius:8px; }
.twin-portrait-workspace .digital-stage-copy { padding:24px; pointer-events:none; }
.twin-portrait-workspace .digital-stage-copy h3 { font-size:28px; line-height:1.2; margin:8px 0; }
.twin-portrait-workspace .digital-stage-copy p:not(.eyebrow) { color:#c2dcd5; font-size:13px; margin:0; }
.twin-portrait-workspace .digital-avatar { top:95px; bottom:auto; height:calc(100% - 95px); width:100%; }
.twin-portrait-workspace .dh-avatar-rig { height:100%; }
.twin-portrait-workspace .dh-portrait { height:100%; max-width:100%; object-fit:contain; }
.twin-portrait-workspace .dh-hotspot-layer { inset:0; width:100%; height:100%; transform:none; pointer-events:none; }
.twin-portrait-workspace .dh-hotspot { opacity:1; visibility:visible; pointer-events:auto; display:inline-flex; align-items:center; gap:7px; padding:10px 12px; border-radius:8px; background:#133e3ee8; border:1px solid #70b6ab; color:#f3ffff; font-size:13px; box-shadow:0 4px 18px #001e2855; transform:none; transition:background .2s,box-shadow .2s; }
.twin-portrait-workspace .dh-hotspot svg { width:17px; height:17px; }
.twin-portrait-workspace .dh-hotspot:hover,.twin-portrait-workspace .dh-hotspot.active { background:#176f63; box-shadow:0 0 0 3px #90edda30; }
.twin-portrait-workspace .twin-profile { left:16px; top:33%; }
.twin-portrait-workspace .twin-thinking { right:16px; top:33%; }
.twin-portrait-workspace .twin-personality { left:16px; top:52%; }
.twin-portrait-workspace .twin-consumption { right:16px; top:52%; }
.twin-portrait-workspace .twin-expression { left:16px; top:71%; }
.twin-portrait-workspace .twin-experiences { right:16px; top:71%; }
.twin-stage-actions { position:absolute; z-index:40; bottom:16px; left:16px; right:16px; display:flex; justify-content:center; gap:8px; }
.twin-stage-actions button { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:1px solid #83b4ac; background:#082b30ef; color:#fff; border-radius:6px; min-height:42px; padding:8px 12px; font-size:13px; }
.twin-stage-actions button.active,.twin-stage-actions button:hover { background:#176f63; }
.twin-stage-actions svg { width:16px; height:16px; flex-shrink:0; }
.twin-portrait-workspace button:focus-visible { outline:3px solid #e9b440; outline-offset:3px; }
.twin-portrait-workspace .dh-panel { height:clamp(480px,calc(100dvh - 230px),640px); overflow:auto; min-width:0; border:0; border-radius:0; box-shadow:none; background:transparent; padding:0 2px; display:block; scroll-margin-top:80px; }
.twin-portrait-workspace .dh-panel h3 { font-size:20px; line-height:1.4; margin:0 0 16px; }
.twin-portrait-workspace .tg-tabs { margin:0 0 20px; position:sticky; top:0; background:#f7f9f8; z-index:2; }
.twin-portrait-workspace .tg-tabs button { white-space:normal; font-size:13px; padding:14px 10px; }
.twin-portrait-workspace .tg-center .tg-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; overflow:visible; }
.twin-portrait-workspace .tg-center .tg-tabs button { flex:1; }
.tg-core-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin:0; }
.tg-core-summary>div { padding:12px 0; border-bottom:1px solid #dce6e2; min-width:0; }
.tg-core-summary dt { font-size:12px; color:#71847b; margin-bottom:6px; }
.tg-core-summary dd { font-size:14px; color:#24473a; margin:0; overflow-wrap:anywhere; white-space:pre-wrap; line-height:1.6; }
.tg-section-label { font-size:12px; color:#688175; margin:24px 0 6px; }
.tg-dialog [hidden] { display:none !important; }
.tg-choice-field { min-width:0; }
.tg-material-status { display:block; color:#71847b; font-size:12px; font-weight:400; margin-top:4px; }
.tg-choice-field [data-choice-custom] { padding:12px; background:#f3f7f5; border-radius:6px; }
.twin-portrait-workspace .tg-panel-title { align-items:flex-start; gap:12px; }
.twin-portrait-workspace .tg-panel-title h3 { font-size:18px; margin-bottom:6px; }
.twin-portrait-workspace .tg-panel-title p { font-size:13px; line-height:1.6; }
.twin-portrait-workspace .tg-panel-title button { flex-shrink:0; font-size:12px; }
.twin-portrait-workspace .tg-modules { grid-template-columns:1fr; gap:8px; }
.twin-portrait-workspace .tg-module { border-radius:6px; min-height:68px; }
.twin-appearance-fields { display:grid; gap:20px; }
.twin-appearance-fields label { display:grid; gap:8px; font-size:13px; }
.twin-appearance-fields input,.twin-appearance-fields select { width:100%; min-height:44px; }
.twin-portrait-workspace .dh-form-card { border:0; padding:20px 0; background:transparent; }
.twin-portrait-workspace .dh-chat { border:0; padding:0; border-radius:0; background:transparent; }
.twin-portrait-workspace .dh-chat-log { height:390px; border-radius:6px; background:#eef5f2; padding:16px; }
.twin-portrait-workspace .dh-voice-row { flex-wrap:wrap; }
.twin-portrait-workspace .dh-chat-input input { min-width:0; }
.twin-growth-below { margin-top:36px; padding-top:28px; border-top:1px solid #d7e2dd; scroll-margin-top:80px; }
.twin-growth-below .tg-header { min-height:0; padding:0; background:transparent; border:0; }
.twin-growth-below .tg-header h2 { font-size:23px; margin:8px 0; }
.twin-growth-below .tg-header p { max-width:760px; }
.twin-growth-below .tg-growth-details { border-top:1px solid #d7e2dd; padding-top:24px; margin-top:24px; }
@media (max-width:1100px) and (min-width:901px) {
  .twin-portrait-workspace { grid-template-columns:minmax(300px,.9fr) minmax(320px,1fr); gap:16px; }
  .twin-portrait-workspace .tg-panel-title { flex-wrap:wrap; }
}
@media (max-width:900px) {
  .twin-back-to-avatar { display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:#176f63; padding:10px 0; margin-bottom:10px; font-size:13px; }
  .twin-back-to-avatar svg { width:16px; height:16px; }
  .twin-portrait-workspace .digital-stage { scroll-margin-top:20px; }
  .twin-portrait-workspace { grid-template-columns:minmax(0,1fr); gap:24px; }
  .twin-portrait-workspace .digital-stage { height:520px; min-height:520px; }
  .twin-portrait-workspace .digital-avatar { top:70px; height:450px; }
  .twin-portrait-workspace .dh-portrait { height:450px; }
  .twin-portrait-workspace .digital-stage-copy { padding:18px; }
  .twin-portrait-workspace .digital-stage-copy h3 { font-size:24px; }
  .twin-portrait-workspace .digital-stage-copy p:not(.eyebrow) { display:none; }
  .twin-portrait-workspace .twin-profile,.twin-portrait-workspace .twin-personality,.twin-portrait-workspace .twin-expression { left:12px; }
  .twin-portrait-workspace .twin-thinking,.twin-portrait-workspace .twin-consumption,.twin-portrait-workspace .twin-experiences { right:12px; }
  .twin-portrait-workspace .dh-panel { height:auto; min-height:360px; max-height:none; overflow:visible; }
  .twin-portrait-workspace .tg-tabs { position:static; }
  .twin-portrait-workspace .tg-modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .twin-portrait-workspace .digital-stage { height:475px; min-height:475px; }
  .twin-portrait-workspace .digital-avatar,.twin-portrait-workspace .dh-portrait { height:405px; }
  .twin-portrait-workspace .dh-hotspot { font-size:12px; gap:5px; padding:9px; }
  .twin-stage-actions { gap:6px; left:10px; right:10px; bottom:12px; }
  .twin-stage-actions button { padding:8px; font-size:12px; flex:1; }
  .twin-portrait-workspace .tg-modules { grid-template-columns:1fr; }
  .twin-portrait-workspace .tg-panel-title { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  .twin-portrait-workspace *, .twin-portrait-workspace *::before, .twin-portrait-workspace *::after { animation:none !important; transition:none !important; }
}
