/* Hero presentation. Desktop checkpoint 1 below replaces the rejected composition.
   Lower Overview modules and the actual world renderer are deliberately untouched. */
.ov-workspace-hero {
  display:grid;grid-template-columns:minmax(255px,.7fr) minmax(0,1.65fr);align-items:center;gap:0;
  position:relative;min-height:610px;margin:0 0 48px;isolation:isolate;
}
.ov-workspace-hero .desk-heading { align-self:center;display:block;margin:0;position:relative;z-index:2; }
.ov-workspace-hero .desk-kicker { font:700 13px/1.5 'Nunito Sans',sans-serif;text-transform:none;letter-spacing:.02em;color:var(--text-muted); }
.ov-workspace-hero .desk-heading h1 { font-size:clamp(48px,4.5vw,64px)!important;line-height:1.02;max-width:440px;margin:16px 0 20px;display:block;letter-spacing:-.02em!important; }
.glass-hero-copy>p { font-size:16px;line-height:1.75;margin:0;color:var(--text-secondary); }
.glass-hero-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:28px; }
.glass-hero-actions .tw-button { font:800 14px/1.3 'Nunito Sans',sans-serif;white-space:nowrap; }
.ov-workspace-hero .desk-office { position:relative;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;display:block;min-width:0; }
.ov-workspace-hero .desk-office #tw-office { height:610px;min-height:0;background:transparent;flex:none;overflow:visible; }
.ov-workspace-hero .desk-office #tw-office canvas { mask-image:radial-gradient(ellipse 85% 78% at 50% 52%,black 60%,transparent 100%); }
.glass-world-status { position:absolute;top:22px;right:18px;z-index:2;display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:var(--radius-control);font-size:13px;color:var(--text-primary);pointer-events:none; }
.glass-world-status i { width:6px;height:6px;border-radius:50%;background:var(--positive); }
.glass-world-status span { padding-left:10px;border-left:1px solid var(--glass-border);font-size:12px;color:var(--text-muted); }
.ov-workspace-hero #tw-office .ob {
  background:var(--glass-fill-2)!important;border:1px solid var(--glass-border-highlight)!important;border-radius:var(--radius-control)!important;
  box-shadow:var(--glass-edge),var(--shadow-soft)!important;color:var(--text-primary)!important;padding:9px 11px!important;
  transition:background var(--motion-duration) ease,box-shadow var(--motion-duration) ease;
}
.ov-workspace-hero #tw-office .ob:hover { background:var(--glass-fill-hover)!important;box-shadow:var(--shadow-elevated)!important;transform:translate(-50%,-50%) scale(1.01); }
.ov-workspace-hero #tw-office .ob:active { transform:translate(-50%,-50%) scale(.99); }
.ov-workspace-hero #tw-office .ob-t b { font:800 13px/1.3 'Nunito Sans',sans-serif;color:var(--text-primary);text-transform:none; }
.ov-workspace-hero #tw-office .ob-t small { display:none; }
.ov-workspace-hero #tw-office .ob-no { background:transparent!important;border:0!important;color:var(--text-secondary);box-shadow:none;padding:0; }
.ov-workspace-hero #tw-office .ob-no .tw-icon { width:18px;height:18px; }
@media(min-width:901px) and (max-width:1300px) {
  .ov-workspace-hero { grid-template-columns:minmax(240px,.75fr) minmax(0,1.5fr);min-height:550px; }
  .ov-workspace-hero .desk-office #tw-office { height:550px; }
  .glass-world-status { right:8px; }
  .glass-world-status span { display:none; }
  .glass-hero-actions { flex-direction:column;align-items:flex-start; }
}
@media(max-width:900px) {
  .ov-workspace-hero { display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:24px;margin-bottom:36px; }
  .ov-workspace-hero .desk-heading { align-self:stretch; }
  .ov-workspace-hero .desk-heading h1 { max-width:600px;font-size:48px!important; }
  .ov-workspace-hero .desk-office #tw-office { height:440px; }
  .glass-world-status { top:0;right:10px; }
}
@media(max-width:500px) {
  .ov-workspace-hero .desk-heading h1 { font-size:46px!important;max-width:330px;margin:12px 0 16px; }
  .glass-hero-copy>p { font-size:15px; }
  .glass-hero-actions { margin-top:22px;gap:8px; }
  .glass-hero-actions .tw-button { padding:11px 14px; }
  .ov-workspace-hero .desk-office { margin-inline:-12px; }
  .ov-workspace-hero .desk-office #tw-office { height:380px; }
  .glass-world-status { top:3px;right:12px;padding:8px 10px;font-size:12px; }
  .glass-world-status span { display:none; }
  .ov-workspace-hero #tw-office .ob { padding:7px!important; }
  .ov-workspace-hero #tw-office .ob-t b { font-size:12px; }
}

/* CHECKPOINT 1 — reference-led desktop composition, pending visual approval. */
@media(min-width:901px) {
  :root {
    --spatial-base:#0b1724;
    --spatial-cool:#7596b94d;
    --spatial-warm:#ccb78e33;
    --spatial-shadow:#030b14b3;
    --spatial-fill:#2b435a59;
    --spatial-edge:#e7f4ff80;
    --spatial-rim:#b1c9df38;
    --spatial-ink:#142237;
    --spatial-pearl:#e7eefc;
    --spatial-specular:linear-gradient(127deg,#ffffff61 0%,#dcecff18 18%,#ffffff00 37%,#e5f3ff0d 68%,#e5f3ff2e 100%);
    --spatial-reflection:linear-gradient(128deg,transparent 30%,#dfefff10 31%,#ebf5ff05 43%,transparent 44%);
    --spatial-depth:inset 0 1px 0 #ffffff4d,inset 1px 0 0 #e3f4ff21,inset 0 -1px 0 #020d1e80,0 14px 35px #02091640,0 2px 5px #02091633;
    --rail:230px;
  }
  body {
    background:radial-gradient(ellipse 48% 530px at 86% 4%,var(--spatial-warm),transparent 76%),radial-gradient(ellipse 75% 630px at 65% 200px,var(--spatial-cool),transparent 76%),radial-gradient(ellipse 24% 65% at 2% 38%,#6087a22b,transparent 80%),linear-gradient(150deg,#1c2e40 0%,var(--spatial-base) 46%,#070f19 100%)!important;
  }
  body::before {
    content:'';display:block!important;position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23g)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  }
  /* One material, with local fill variables for pearl and smoked variants. */
  .spatial-glass {
    background:var(--spatial-reflection),var(--spatial-specular),var(--spatial-local-fill,var(--spatial-fill));
    border:1px solid var(--spatial-rim);border-top-color:var(--spatial-edge);border-left-color:var(--spatial-edge);
    box-shadow:var(--spatial-depth);backdrop-filter:blur(16px) saturate(125%);
  }
  .tw-shell { padding:20px 26px 0 calc(var(--rail) + 42px); }
  .tw-header.spatial-glass {
    top:16px;bottom:16px;left:12px;width:var(--rail);height:calc(100dvh - 32px);padding:26px 16px 20px;gap:28px;
    border-radius:22px;background:var(--spatial-reflection),var(--spatial-specular),#182f4361;box-shadow:var(--spatial-depth);
  }
  .tw-header .tw-brand { font-size:25px;padding:0 4px;gap:9px; }
  .tw-header .tw-brand .tw-mark { width:31px;height:35px;background:var(--accent-primary);box-shadow:inset 0 1px #ffffffa6,0 3px 12px #040e2159; }
  .tw-header nav { gap:12px;margin:4px 0 0; }
  .tw-header nav a { height:51px;padding:12px 14px;gap:15px;border-radius:13px;font-size:15px;color:#e2eaf5;font-weight:650; }
  .tw-header nav a>.tw-icon { width:23px;height:23px; }
  .tw-header nav a.active,.tw-header nav a.active:hover {
    color:var(--spatial-ink);background:var(--spatial-reflection),linear-gradient(120deg,#fffffff2,#d8e4f6b8 56%,#b7cbe3bf);
    border:1px solid #f2f8ffbf;box-shadow:inset 0 1px #ffffff,0 3px 14px #c3dcfa21,0 8px 18px #050d2426;filter:none;
  }
  .tw-header nav a.active>.tw-icon { color:var(--spatial-ink); }
  .tw-header .tw-system { padding:16px 12px;margin-top:auto;margin-bottom:-12px;background:linear-gradient(140deg,#90bad51c,#16283821);border:1px solid #b6d2e614;border-radius:13px;color:#becfdf; }
  .tw-header .tw-system span { font-size:12px;line-height:1.55; }
  .tw-header #tw-wallet.spatial-glass { --spatial-local-fill:#51678033;background:var(--spatial-reflection),var(--spatial-specular),var(--spatial-local-fill);border-color:var(--spatial-rim);border-top-color:var(--spatial-edge);box-shadow:var(--spatial-depth);min-height:58px;border-radius:14px; }
  .ov-workspace-hero { display:block;height:585px;min-height:0;margin:0 0 12px;isolation:isolate; }
  .ov-workspace-hero::before {
    content:'';position:absolute;inset:-20px -26px -15px -24px;pointer-events:none;z-index:-1;
    background:linear-gradient(118deg,transparent 14%,#c9e4ff0c 18%,transparent 25%,transparent 61%,#d9e9f513 67%,transparent 73%),radial-gradient(ellipse at 69% 46%,#aac3db21,transparent 65%);
  }
  .ov-workspace-hero::after { content:'';position:absolute;right:7%;bottom:36px;width:55%;height:65px;border-radius:50%;background:#010a1b50;filter:blur(24px);z-index:-1;pointer-events:none; }
  .ov-workspace-hero .desk-heading { position:absolute;left:6px;top:65px;width:410px;z-index:3; }
  .ov-workspace-hero .desk-kicker { display:flex;align-items:center;gap:9px;font:700 11px/1.4 'Nunito Sans',sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#c0d4e7; }
  .ov-workspace-hero .desk-kicker .tw-icon { width:14px;height:14px; }
  .ov-workspace-hero .desk-heading h1 { font-family:'Outfit',sans-serif!important;font-size:80px!important;line-height:.98;text-transform:none!important;letter-spacing:-.055em!important;margin:18px 0 20px;max-width:none;text-shadow:0 3px 22px #09152340!important; }
  .ov-workspace-hero h1>span { display:block;font-weight:300;letter-spacing:-.05em; }
  .ov-workspace-hero h1>strong { display:block;font-weight:600;letter-spacing:-.055em; }
  .glass-hero-copy>p { color:#c3d3e7;font-size:17px;line-height:1.5;font-weight:400;max-width:300px; }
  .glass-hero-actions { gap:12px;margin-top:25px;flex-direction:row;align-items:center; }
  .glass-hero-actions .tw-button { min-height:50px;padding:12px 21px;border-radius:18px;gap:10px;font:600 14px/1.3 'Nunito Sans',sans-serif; }
  .glass-hero-actions .tw-button:not(.primary) { background:var(--spatial-reflection),var(--spatial-specular),#233a5180;border-color:var(--spatial-rim);border-top-color:var(--spatial-edge);box-shadow:var(--spatial-depth); }
  .glass-hero-actions .tw-button.primary { background:var(--spatial-reflection),linear-gradient(145deg,#ffffff,#e1eaff 53%,#afc5e6);color:var(--spatial-ink);border:1px solid #f4f8ff;box-shadow:inset 0 2px 2px #ffffffcc,inset 0 -2px 3px #90a6c54d,0 6px 18px #c9ddff26,0 12px 24px #030b222e; }
  .glass-hero-actions .tw-icon { width:20px;height:20px; }
  .ov-workspace-hero .desk-office { position:absolute;left:232px;right:-12px;top:-16px;height:600px; }
  .ov-workspace-hero .desk-office #tw-office { height:600px;min-height:0;background:transparent; }
  .ov-workspace-hero .desk-office #tw-office canvas { mask-image:none;filter:drop-shadow(0 24px 24px #000b1926); }
  .glass-world-status.spatial-glass { top:20px;right:18px;padding:11px 16px;border-radius:18px;gap:12px;color:#edf5ff;font-size:14px; }
  .glass-world-status i { width:11px;height:11px;box-shadow:0 0 0 5px #8bd5b215; }
  .glass-world-status span { display:block;border:0;padding:3px 0 0;color:#bdcede;font-size:11px; }
  .ov-workspace-hero #tw-office .ob.spatial-glass { background:var(--spatial-reflection),var(--spatial-specular),#213a52a6!important;border:1px solid var(--spatial-rim)!important;border-top-color:var(--spatial-edge)!important;border-radius:13px!important;box-shadow:var(--spatial-depth)!important;padding:11px 13px!important; }
  .ov-workspace-hero #tw-office .ob-t b { font-size:13px;font-weight:650; }
  .ov-workspace-hero #tw-office .ob-t small { display:block;font:400 10px/1.35 'Nunito Sans',sans-serif;color:#b7cde3; }
  .ov-workspace-hero #tw-office .ob-no { margin-right:4px; }
}
