/* ============================================================================
   RG Studio Shell — a premium, Claude-style app frame for the rewrite tools.
   Left rail: brand · New · tool switcher · persistent History · account card.
   Right: slim header + a two-pane workspace (editor | results).
   Depends on module.css tokens. The rail keeps a signature deep-navy look in
   BOTH light and dark themes; the workspace follows the page theme.
   ========================================================================== */
:root{
  --rgs-side:280px;
  --rgs-rail-1:#141433; --rgs-rail-2:#0a0a1e;
  --rgs-rail-line:rgba(255,255,255,.08);
  --rgs-rail-ink:#eceafc; --rgs-rail-soft:#a7a9d6; --rgs-rail-mut:#6f719e;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
}

/* ── page becomes a two-column grid ───────────────────────────────────── */
body.rgs-body{ display:grid; grid-template-columns:var(--rgs-side) 1fr;
  min-height:100vh; overflow-x:hidden; }
body.rgs-body .topbar,body.rgs-body .m-hero{ display:none; }  /* old chrome retired */

/* boot fade — hide the page until shell.js has assembled the rail/workspace, then
   fade it in. Kills the flash of the un-wrapped layout during auto-wrap, so every
   studio opens smoothly. A safety timer in shell.js always reveals, even on error. */
html.rgs-booting body{ opacity:0; }
html.rgs-ready body{ opacity:1; transition:opacity .32s ease; }

/* ════════════════════════════ LEFT RAIL ═══════════════════════════════ */
/* the rail stretches to the full column height so its navy background always
   reaches the bottom — never an empty gap under the account, at any viewport
   size or scroll position. The content lives in a sticky inner column. */
.rgs-side{ align-self:stretch; min-height:100vh; display:flex; flex-direction:column;
  background:linear-gradient(185deg,var(--rgs-rail-1),var(--rgs-rail-2));
  border-right:1px solid var(--rgs-rail-line); color:var(--rgs-rail-ink);
  z-index:60; position:relative; }
/* accent aurora bleeding from the top, tinted by the tool's --ac */
.rgs-side::before{ content:""; position:absolute; inset:0 0 auto 0; height:200px;
  background:radial-gradient(120% 100% at 15% 0%,
    color-mix(in srgb,var(--ac,#5b5bf0) 42%,transparent),transparent 70%);
  opacity:.55; pointer-events:none; z-index:0; }
/* sticky inner column — one viewport tall, keeps the account pinned at the
   bottom of the screen while the rail background fills the whole column. */
.rgs-side-in{ position:sticky; top:0; height:100vh; display:flex; flex-direction:column;
  z-index:1; }
.rgs-side-in > *{ position:relative; }

/* brand — links back to home */
.rgs-brand{ display:flex; align-items:center; gap:.6rem; padding:1.1rem 1.15rem .7rem;
  text-decoration:none; cursor:pointer; transition:opacity .18s, transform .18s; }
.rgs-brand:hover{ opacity:.82; }
.rgs-brand:active{ transform:scale(.98); }
.rgs-brand .mk{ width:44px; height:30px; flex:none;
  background:url(/assets/logo-mark-dark.png) left center/contain no-repeat; }
.rgs-brand .wm{ font-family:var(--disp); font-weight:600; font-size:1.12rem;
  letter-spacing:-.02em; display:inline-flex; align-items:baseline; }
.rgs-brand .wm .w1{ color:#fff; } .rgs-brand .wm .w2{ font-weight:800;
  background:linear-gradient(95deg,#ffb059,#ff6fae 48%,#b18bff);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.rgs-brand .wm .d{ font-size:.5em; font-weight:800; letter-spacing:.06em; margin-left:.3em;
  color:#fff; background:linear-gradient(95deg,#c4399a,#5b5bf0); padding:.2em .42em;
  border-radius:6px; transform:translateY(-.12em); }

/* New session */
.rgs-new{ margin:.35rem .9rem .55rem; display:flex; align-items:center; gap:.55rem;
  padding:.7rem .9rem; border-radius:12px; cursor:pointer; font-family:var(--disp);
  font-weight:600; font-size:.9rem; color:#fff; border:none; text-align:left; width:calc(100% - 1.8rem);
  background:linear-gradient(100deg,var(--ac,#5b5bf0),color-mix(in srgb,var(--ac,#5b5bf0) 40%,#c4399a));
  box-shadow:0 10px 24px -12px color-mix(in srgb,var(--ac,#5b5bf0) 90%,#000); transition:.2s; }
.rgs-new:hover{ transform:translateY(-1px); filter:brightness(1.07); }
.rgs-new .pl{ font-size:1.05rem; line-height:1; margin-top:-1px; }

/* switcher */
.rgs-nav{ padding:.2rem .55rem .5rem; display:flex; flex-direction:column; gap:2px; }
.rgs-navlbl{ font-family:var(--mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rgs-rail-mut); padding:.5rem .6rem .3rem; }
.rgs-nav a{ display:flex; align-items:center; gap:.6rem; padding:.52rem .6rem; border-radius:9px;
  font-size:.88rem; font-weight:500; color:var(--rgs-rail-soft); transition:.15s; }
.rgs-nav a .ic{ width:20px; text-align:center; opacity:.9; font-size:.95rem; }
.rgs-nav a:hover{ background:rgba(255,255,255,.07); color:#fff; }
.rgs-nav a.on{ background:rgba(255,255,255,.11); color:#fff;
  box-shadow:inset 2px 0 0 var(--ac,#5b5bf0); }
/* "PRO" / "PRO MAX" tag on a gated tab — pushed to the row's right edge */
.rgs-nav a .ptag{ margin-left:auto; font-family:var(--mono,ui-monospace,monospace); font-size:.5rem;
  font-weight:700; letter-spacing:.07em; padding:.12rem .4rem; border-radius:999px; color:#4a3608;
  background:linear-gradient(100deg,#fbe6b4,#f0c874); line-height:1; white-space:nowrap; flex:none; }
.rgs-nav a .ptag.max{ color:#fff; background:linear-gradient(100deg,#8a5cf6,#c4399a); }

/* history */
.rgs-hist{ flex:1; min-height:0; display:flex; flex-direction:column;
  border-top:1px solid var(--rgs-rail-line); margin-top:.3rem; padding-top:.4rem; }
.rgs-hist-head{ display:flex; align-items:center; justify-content:space-between;
  padding:.4rem .95rem .35rem; }
.rgs-hist-head span{ font-family:var(--mono); font-size:.64rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--rgs-rail-mut); }
.rgs-hist-clear{ background:none; border:none; cursor:pointer; color:var(--rgs-rail-mut);
  font-size:.7rem; font-family:var(--disp); font-weight:600; padding:.15rem .35rem; border-radius:6px; transition:.15s; }
.rgs-hist-clear:hover{ color:#ff8fae; background:rgba(255,255,255,.06); }
.rgs-hist-list{ overflow-y:auto; padding:.15rem .6rem .6rem; display:flex; flex-direction:column; gap:2px;
  scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.16) transparent; }
.rgs-hist-list::-webkit-scrollbar{ width:8px; }
.rgs-hist-list::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.14); border-radius:8px; }
.rgs-hrow{ position:relative; padding:.5rem .6rem; border-radius:9px; cursor:pointer; transition:.15s; }
.rgs-hrow:hover{ background:rgba(255,255,255,.08); }
.rgs-hrow .ht{ font-size:.83rem; font-weight:600; color:#eceafc; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; }
.rgs-hrow .hp{ font-size:.74rem; color:var(--rgs-rail-soft); line-height:1.35; margin-top:.12rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; opacity:.85; }
.rgs-hrow .hm{ font-family:var(--mono); font-size:.62rem; color:var(--rgs-rail-mut); margin-top:.22rem; }
.rgs-hrow .hx{ position:absolute; top:.35rem; right:.35rem; opacity:0; border:none; cursor:pointer;
  background:rgba(255,255,255,.08); color:var(--rgs-rail-soft); width:20px; height:20px; border-radius:6px;
  font-size:.8rem; line-height:1; transition:.15s; }
.rgs-hrow:hover .hx{ opacity:1; } .rgs-hrow .hx:hover{ background:#c4399a; color:#fff; }
.rgs-hist-empty{ padding:1.1rem .95rem; color:var(--rgs-rail-mut); font-size:.78rem; line-height:1.6; }
.rgs-hist-empty b{ color:var(--rgs-rail-soft); font-weight:600; }

/* account card (bottom-left, Claude style) */
.rgs-acct{ border-top:1px solid var(--rgs-rail-line); padding:.7rem .75rem .85rem; position:relative; }
.rgs-usage{ padding:.15rem .3rem .55rem; }
.rgs-usage .u-top{ display:flex; justify-content:space-between; align-items:baseline;
  font-size:.72rem; color:var(--rgs-rail-soft); margin-bottom:.35rem; }
.rgs-usage .u-top b{ color:#fff; font-family:var(--disp); font-weight:700; }
.rgs-usage .u-bar{ height:6px; border-radius:6px; background:rgba(255,255,255,.12); overflow:hidden; }
.rgs-usage .u-bar i{ display:block; height:100%; border-radius:6px;
  background:linear-gradient(90deg,#ffb059,#ff6fae,#8f7bff); transition:width .7s cubic-bezier(.2,.8,.2,1); }
.rgs-usage .u-reset{ font-family:var(--mono); font-size:.6rem; color:var(--rgs-rail-mut); margin-top:.3rem; }
.rgs-who{ display:flex; align-items:center; gap:.6rem; padding:.4rem .45rem; border-radius:12px;
  cursor:pointer; transition:.15s; user-select:none; }
.rgs-who:hover{ background:rgba(255,255,255,.07); }
.rgs-av{ width:34px; height:34px; flex:none; border-radius:50%; display:grid; place-items:center;
  font-family:var(--disp); font-weight:700; font-size:.92rem; color:#fff;
  background:linear-gradient(135deg,#7b4fc4,#5b5bf0); box-shadow:0 4px 12px -4px rgba(0,0,0,.6); }
.rgs-who .meta{ flex:1; min-width:0; line-height:1.2; }
.rgs-who .meta b{ display:block; font-size:.86rem; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rgs-who .meta small{ font-size:.71rem; color:var(--rgs-rail-soft); }
.rgs-who .cv{ color:var(--rgs-rail-mut); font-size:.7rem; }
.rgs-badge{ font-family:var(--disp); font-weight:700; font-size:.58rem; letter-spacing:.04em;
  text-transform:uppercase; padding:.12rem .4rem; border-radius:5px; color:#0d0d24;
  background:linear-gradient(95deg,#ffce7a,#ffb059); }
/* account popover */
.rgs-menu{ position:absolute; left:.75rem; right:.75rem; bottom:calc(100% - .3rem);
  background:#1b1b40; border:1px solid var(--rgs-rail-line); border-radius:14px; padding:.4rem;
  box-shadow:0 26px 60px -22px rgba(0,0,0,.8); display:none; flex-direction:column; z-index:80; }
.rgs-acct.open .rgs-menu{ display:flex; }
.rgs-menu .mh{ padding:.45rem .6rem .55rem; font-size:.72rem; color:var(--rgs-rail-mut);
  border-bottom:1px solid var(--rgs-rail-line); margin-bottom:.25rem; word-break:break-all; }
.rgs-menu a,.rgs-menu button{ text-align:left; background:none; border:none; cursor:pointer;
  font-family:var(--body); padding:.5rem .6rem; border-radius:9px; font-size:.85rem; font-weight:500;
  color:var(--rgs-rail-ink); transition:.12s; }
.rgs-menu a:hover,.rgs-menu button:hover{ background:rgba(255,255,255,.08); }
.rgs-menu .up{ color:#ffce7a; font-weight:700; margin-top:.15rem; border-top:1px solid var(--rgs-rail-line);
  border-radius:0 0 9px 9px; }

/* ════════════════════════════ MAIN ════════════════════════════════════ */
.rgs-main{ min-width:0; display:flex; flex-direction:column; background:var(--bg); }
.rgs-top{ position:sticky; top:0; z-index:30; display:flex; align-items:center; gap:.9rem;
  padding:.7rem clamp(1rem,3vw,2rem); background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:saturate(160%) blur(12px); border-bottom:1px solid var(--line); }
.rgs-burger{ display:none; background:none; border:1px solid var(--line); border-radius:9px;
  width:38px; height:38px; cursor:pointer; color:var(--ink-soft); font-size:1.1rem; }
.rgs-crumb{ display:flex; align-items:center; gap:.55rem; font-family:var(--disp); font-weight:600;
  font-size:.9rem; color:var(--ink); }
.rgs-crumb .ic{ display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:#fff;
  font-size:.95rem; background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 55%,#1b1b50)); }
.rgs-crumb small{ font-family:var(--mono); font-weight:400; font-size:.68rem; color:var(--muted);
  letter-spacing:.06em; text-transform:uppercase; }
.rgs-top-r{ margin-left:auto; display:flex; align-items:center; gap:.5rem; }
.rgs-top-r a{ font-family:var(--disp); font-weight:600; font-size:.8rem; color:var(--ink-soft);
  padding:.45rem .8rem; border-radius:9px; transition:.15s; }
.rgs-top-r a:hover{ background:var(--line-2); color:var(--navy); }
.rgs-theme{ background:none; border:1px solid var(--line); border-radius:9px; width:38px; height:38px;
  cursor:pointer; color:var(--ink-soft); font-size:1rem; transition:.15s; }
.rgs-theme:hover{ border-color:var(--ac); color:var(--ac); }

/* compact hero */
.rgs-hero{ padding:clamp(1.3rem,3vw,2.2rem) clamp(1rem,3vw,2rem) .4rem; max-width:1180px;
  width:100%; margin:0 auto; }
.rgs-eyebrow{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--disp);
  font-weight:600; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ac);
  background:var(--ac-soft); padding:.34rem .8rem; border-radius:30px; }
.rgs-hero h1{ font-family:var(--disp); font-weight:600; font-size:clamp(1.5rem,3vw,2.15rem);
  letter-spacing:-.02em; line-height:1.1; margin:.7rem 0 .4rem; color:var(--ink); }
.rgs-hero p{ max-width:72ch; color:var(--ink-soft); font-size:.98rem; }

/* adaptive workspace — the editor spreads full-width until there's a result,
   then the view splits into a two-pane workstation (editor | results). */
.rgs-work{ max-width:1240px; width:100%; margin:0 auto;
  padding:1rem clamp(1rem,3vw,2rem) 3.5rem; display:grid; gap:1.5rem;
  grid-template-columns:1fr; align-items:start; transition:max-width .3s ease; }
.rgs-work:not(.has-output){ max-width:920px; }
.rgs-work:not(.has-output) .output{ display:none; }        /* no empty box while writing */
.rgs-work.has-output{ grid-template-columns:minmax(0,.92fr) minmax(0,1.12fr); }
.rgs-work.has-output .panel{ position:sticky; top:74px; }
.rgs-work .output{ min-height:60vh; }
@media(max-width:1080px){
  .rgs-work.has-output{ grid-template-columns:1fr; }
  .rgs-work.has-output .panel{ position:static; }
}

/* ── premium writing surface ─────────────────────────────────────────── */
.rgs-work .panel{ padding:clamp(1.4rem,2.6vw,2.1rem); border-radius:20px; }
.rgs-work .panel h2{ text-align:left; font-size:1.22rem; }
.rgs-work .panel > .hint{ text-align:left; margin-bottom:1.1rem; }
.rgs-work .panel .btn-primary{ max-width:none; width:100%; margin:.7rem 0 0;
  padding:.95rem 1.4rem; font-size:1rem; border-radius:13px; }
.rgs-work .dropzone{ padding:.95rem 1rem; border-radius:13px; }
.rgs-work .panel .field{ margin-bottom:1.15rem; }
.rgs-work .panel .row{ gap:1rem; }
/* the star: a roomy, comfortable text box */
.rgs-work textarea#text{ min-height:clamp(230px,34vh,400px); font-size:1.04rem;
  line-height:1.75; padding:1.1rem 1.25rem; border-radius:14px; }
.rgs-work textarea#text:focus{ box-shadow:0 0 0 4px var(--ac-soft); }
.rgs-work .meta-line{ margin-top:.65rem; font-size:.74rem; }
/* while the editor is centered & wide, let the text box breathe even more */
.rgs-work:not(.has-output) textarea#text{ min-height:clamp(280px,42vh,480px); }

/* ── responsive rail (drawer) ───────────────────────────────────────── */
.rgs-scrim{ display:none; position:fixed; inset:0; background:rgba(6,6,20,.5); backdrop-filter:blur(2px);
  z-index:55; }
@media(max-width:900px){
  body.rgs-body{ grid-template-columns:1fr; }
  .rgs-side{ position:fixed; left:0; top:0; width:min(86vw,300px); height:100dvh; min-height:0;
    transform:translateX(-102%);
    transition:transform .28s cubic-bezier(.3,.8,.3,1); box-shadow:0 0 60px -10px rgba(0,0,0,.6); }
  /* inside the fixed drawer the inner column just fills it — no sticky needed */
  .rgs-side-in{ position:static; height:100%; }
  body.rgs-open .rgs-side{ transform:none; }
  body.rgs-open .rgs-scrim{ display:block; }
  .rgs-burger{ display:grid; place-items:center; }
}

/* ════════════════════ PREMIUM PASS — editorial & calm ═════════════════════
   One bold move: a personalised, time-aware serif greeting (the signature).
   Everything else gets quieter — single-hue accents, softer rail, more air. */

/* the signature: a warm masthead greeting that makes the workspace theirs */
.rgs-hero{ padding-top:clamp(1.7rem,3.6vw,2.9rem); }
.rgs-greet{ font-family:var(--serif); font-weight:400; font-size:clamp(1.55rem,3vw,2.3rem);
  letter-spacing:-.012em; line-height:1.08; color:var(--ink); margin:0 0 1.15rem;
  opacity:0; transform:translateY(7px); animation:rgsGreet .6s cubic-bezier(.2,.8,.2,1) forwards; }
.rgs-greet b{ font-weight:600; font-style:normal;
  background:linear-gradient(92deg,var(--ac),color-mix(in srgb,var(--ac) 55%,#c4399a));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.rgs-greet .sub{ display:block; font-family:var(--body); font-size:.9rem; font-weight:400;
  letter-spacing:0; color:var(--muted); margin-top:.4rem; }
@keyframes rgsGreet{ to{ opacity:1; transform:none; } }

/* eyebrow reads as a quiet section label; title stays the informative masthead */
.rgs-hero .rgs-eyebrow{ font-size:.68rem; letter-spacing:.14em; padding:.32rem .75rem;
  background:transparent; border:1px solid color-mix(in srgb,var(--ac) 30%,transparent); }
.rgs-hero h1{ font-weight:600; letter-spacing:-.02em; margin:.75rem 0 .5rem; }
.rgs-hero p{ font-size:.96rem; color:var(--ink-soft); }

/* calmer rail: a single restrained accent, not a rainbow */
.rgs-side::before{ opacity:.38; }
.rgs-new{ background:linear-gradient(180deg,
    color-mix(in srgb,var(--ac) 84%,#ffffff), var(--ac));
  box-shadow:0 9px 22px -13px color-mix(in srgb,var(--ac) 88%,#000),
    inset 0 1px 0 rgba(255,255,255,.28); }
.rgs-av{ background:linear-gradient(140deg,var(--ac),
    color-mix(in srgb,var(--ac) 52%,#0a0a1e)); }
.rgs-usage .u-bar i{ background:linear-gradient(90deg,
    color-mix(in srgb,var(--ac) 68%,#ffffff), var(--ac)); }
.rgs-hist-clear:hover,.rgs-hrow .hx:hover{ background:color-mix(in srgb,var(--ac) 70%,#000); }

/* multi-mode studios (originality, editor, integrity, review …) carry their own
   floating mode dock (.os-tabs). Hidden under the shell so each studio reads as
   one clean, single-purpose tool; the studio's default mode stays active. */
.rgs-body .os-tabs{ display:none !important; }

/* ════════════ TOOL LAUNCHER — "All 30 tools" summons this overlay ═══════════
   A cinematic, in-place launcher: a cursor flashlight reveals your tools in the
   dark, instant search, keyboard nav, 3D-tilt cards. Always dark, self-contained. */
.rgs-launch{ position:fixed; inset:0; z-index:2000; display:none;
  --lmx:50vw; --lmy:42vh;
  font-family:var(--body); }
.rgs-launch.open{ display:block; }
.rgs-launch-scrim{ position:absolute; inset:0; background:rgba(7,7,15,.78);
  backdrop-filter:saturate(140%) blur(12px); animation:lFade .28s ease; }
@keyframes lFade{ from{opacity:0} to{opacity:1} }
.rgs-launch-panel{ position:relative; z-index:1; height:100%; display:flex; flex-direction:column;
  max-width:1200px; margin:0 auto; padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,2.4rem) 0;
  animation:lRise .4s cubic-bezier(.2,.8,.2,1); }
@keyframes lRise{ from{opacity:0; transform:translateY(20px) scale(.99)} to{opacity:1;transform:none} }

/* header (always above the fog) */
.rgs-launch-top{ position:relative; z-index:6; display:flex; align-items:center; gap:.9rem; margin-bottom:1.1rem; }
.rgs-launch-eye{ font-family:var(--mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase;
  color:#8a90b8; white-space:nowrap; }
.rgs-launch-search{ flex:1; position:relative; }
.rgs-launch-search input{ width:100%; background:rgba(22,22,40,.8); border:1px solid rgba(150,160,220,.22);
  border-radius:14px; padding:.85rem 1rem .85rem 2.7rem; color:#eef0ff; font-family:var(--body); font-size:1.05rem;
  outline:none; transition:border-color .2s, box-shadow .2s; }
.rgs-launch-search input::placeholder{ color:#6b7099; }
.rgs-launch-search input:focus{ border-color:#8b6bd6; box-shadow:0 0 0 3px rgba(139,107,214,.28); }
.rgs-launch-search .mag{ position:absolute; left:.95rem; top:50%; transform:translateY(-50%); color:#8a90b8; font-size:1rem; }
.rgs-launch-count{ font-family:var(--mono); font-size:.78rem; color:#8a90b8; white-space:nowrap; }
.rgs-launch-x{ flex:none; width:42px; height:42px; border-radius:12px; border:1px solid rgba(150,160,220,.22);
  background:rgba(22,22,40,.8); color:#a6abcf; font-size:1.3rem; cursor:pointer; transition:.15s; }
.rgs-launch-x:hover{ color:#fff; border-color:#8b6bd6; }

.rgs-launch-scroll{ position:relative; flex:1; overflow:auto; padding-bottom:2rem;
  scrollbar-width:thin; scrollbar-color:rgba(150,160,220,.25) transparent; }
.rgs-launch-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(238px,1fr)); gap:.65rem;
  position:relative; z-index:1; }

/* the cursor flashlight — darkens everything except a soft circle at the cursor */
.rgs-launch-fog{ position:fixed; inset:0; z-index:4; pointer-events:none;
  background:radial-gradient(circle 250px at var(--lmx) var(--lmy),
    transparent 0%, transparent 32%, rgba(7,7,15,.62) 74%);
  transition:opacity .25s ease; }
.rgs-launch.searching .rgs-launch-fog{ opacity:0; }

/* a tool card */
.rgs-lc{ position:relative; z-index:1; display:flex; align-items:center; gap:.75rem; text-decoration:none;
  border:1px solid rgba(150,160,220,.16); border-radius:15px; padding:.8rem .85rem;
  background:linear-gradient(150deg, color-mix(in srgb,var(--fc) 13%, rgba(18,18,34,.72)), rgba(14,14,26,.72));
  transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .2s, border-color .2s;
  opacity:0; animation:lcIn .4s ease forwards; animation-delay:calc(var(--i,0)*.012s);
  transform-style:preserve-3d; will-change:transform; }
@keyframes lcIn{ to{ opacity:1; } }
@media(prefers-reduced-motion:reduce){ .rgs-lc{ animation:none; opacity:1; } }
.rgs-lc-sym{ flex:none; width:44px; height:44px; border-radius:11px; display:grid; place-items:center;
  font-family:var(--disp); font-weight:700; font-size:1.05rem; color:#fff;
  background:linear-gradient(150deg,var(--fc), color-mix(in srgb,var(--fc) 55%,#0a0a16));
  box-shadow:0 6px 16px -8px var(--fc); }
.rgs-lc-txt{ min-width:0; display:flex; flex-direction:column; gap:.12rem; }
.rgs-lc-txt b{ font-size:.94rem; color:#eef0ff; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rgs-lc-txt small{ font-size:.76rem; color:#9298c0; line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rgs-lc-fam{ position:absolute; top:.6rem; right:.7rem; font-family:var(--mono); font-size:.56rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--fc); opacity:.7; }
.rgs-lc:hover, .rgs-lc.sel{ border-color:var(--fc); z-index:3;
  box-shadow:0 20px 40px -18px color-mix(in srgb,var(--fc) 85%,#000), 0 0 0 1px var(--fc); }
.rgs-lc.sel{ outline:2px solid var(--fc); outline-offset:2px; }
.rgs-lc.hide{ display:none; }
.rgs-launch-empty{ grid-column:1/-1; text-align:center; color:#6b7099; font-family:var(--mono);
  font-size:.9rem; padding:3rem 1rem; }
@media(max-width:560px){ .rgs-launch-eye{ display:none; } }

/* embedded inside the merged workspace iframe → drop the shell entirely */
.rg-embed .rgs-side,.rg-embed .rgs-top,.rg-embed .rgs-scrim{ display:none!important; }
.rg-embed body.rgs-body,html.rg-embed body.rgs-body{ grid-template-columns:1fr; }
.rg-embed .rgs-work .panel{ position:static; }
