/* 1NFINIT3 GLASS WORLD V23 — front-facing stack
   Persistent live world + clear glass work surfaces. No OAIQO crossover. */
:root{
  --v23-panel:rgba(232,240,240,.12);
  --v23-panel-strong:rgba(232,240,240,.18);
  --v23-line:rgba(255,255,255,.34);
  --v23-line-soft:rgba(255,255,255,.18);
  --v23-text:#f8fbfb;
  --v23-muted:rgba(248,251,251,.66);
  --v23-dim:rgba(248,251,251,.46);
  --v23-gold:#d7a127;
  --v23-ok:#68d391;
  --v23-warn:#ffcc66;
  --v23-danger:#ff7979;
  --v23-shadow:0 22px 70px rgba(0,0,0,.18);
  --v23-ease:cubic-bezier(.22,.82,.26,1);
}
html[data-v22-world="fullday"]{
  --v23-panel:rgba(255,255,255,.34);
  --v23-panel-strong:rgba(255,255,255,.50);
  --v23-line:rgba(62,66,62,.18);
  --v23-line-soft:rgba(62,66,62,.10);
  --v23-text:#171a18;
  --v23-muted:rgba(23,26,24,.62);
  --v23-dim:rgba(23,26,24,.42);
  --v23-shadow:0 22px 70px rgba(38,43,40,.12);
}
html[data-v22-world="night"]{
  --v23-panel:rgba(17,20,28,.28);
  --v23-panel-strong:rgba(17,20,28,.40);
  --v23-line:rgba(255,255,255,.16);
  --v23-line-soft:rgba(255,255,255,.09);
  --v23-text:#f7f5ef;
  --v23-muted:rgba(247,245,239,.62);
  --v23-dim:rgba(247,245,239,.42);
}

/* Persistent routed surface */
.v23-route-layer{
  position:absolute;
  z-index:23;
  inset:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:clamp(92px,12vh,132px) max(18px,5vw) max(88px,9vh);
  color:var(--v23-text);
  opacity:0;
  transform:translateY(8px) scale(.995);
  pointer-events:none;
  transition:opacity .25s ease,transform .32s var(--v23-ease);
  scrollbar-width:none;
}
.v23-route-layer::-webkit-scrollbar{display:none}
.v23-route-layer.is-active{opacity:1;transform:none;pointer-events:auto}
.v23-route-shell{width:min(1120px,100%);margin:0 auto}
.v23-route-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin:0 0 22px}
.v23-kicker{margin:0 0 7px;font-size:11px;font-weight:760;letter-spacing:.18em;text-transform:uppercase;color:var(--v23-muted)}
.v23-route-head h1{margin:0;font-size:clamp(34px,5vw,68px);line-height:.98;letter-spacing:-.055em;font-weight:760}
.v23-route-lede{max-width:720px;margin:12px 0 0;font-size:clamp(14px,1.7vw,18px);line-height:1.45;color:var(--v23-muted)}
.v23-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.v23-glass{
  border:1px solid var(--v23-line);
  background:var(--v23-panel);
  backdrop-filter:blur(28px) saturate(138%);
  -webkit-backdrop-filter:blur(28px) saturate(138%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),var(--v23-shadow);
}
.v23-button,.v23-segment button,.v23-tab,.v23-row-action{
  appearance:none;border:1px solid var(--v23-line);background:var(--v23-panel);color:var(--v23-text);
  min-height:38px;padding:8px 13px;border-radius:999px;font:inherit;font-size:12px;font-weight:690;
  backdrop-filter:blur(18px) saturate(128%);-webkit-backdrop-filter:blur(18px) saturate(128%);
  cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;
}
.v23-button.primary{background:rgba(215,161,39,.22);border-color:rgba(244,211,129,.42)}
.v23-button:focus-visible,.v23-tab:focus-visible,.v23-segment button:focus-visible,.v23-row-action:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.v23-button[disabled],.v23-row-action[disabled]{opacity:.45;cursor:not-allowed}

.v23-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.v23-card{grid-column:span 4;border-radius:24px;padding:18px;min-height:154px;position:relative;overflow:hidden}
.v23-card.wide{grid-column:span 8}.v23-card.full{grid-column:1/-1}.v23-card.half{grid-column:span 6}
.v23-card h2,.v23-card h3{margin:0;color:var(--v23-text);letter-spacing:-.025em}.v23-card h2{font-size:19px}.v23-card h3{font-size:15px}
.v23-card p{margin:8px 0 0;color:var(--v23-muted);font-size:13px;line-height:1.48}
.v23-card .v23-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.v23-stat{font-size:30px;font-weight:750;letter-spacing:-.045em;margin-top:13px}
.v23-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px;font-size:11px;color:var(--v23-muted)}
.v23-dot{width:7px;height:7px;border-radius:50%;background:var(--v23-dim);display:inline-block}.v23-dot.ok{background:var(--v23-ok)}.v23-dot.warn{background:var(--v23-warn)}.v23-dot.danger{background:var(--v23-danger)}

.v23-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.v23-searchbox{flex:1 1 220px;display:flex;align-items:center;gap:8px;min-height:40px;border-radius:20px;padding:0 13px}
.v23-searchbox input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--v23-text);font:inherit;font-size:13px}.v23-searchbox input::placeholder{color:var(--v23-dim)}
.v23-segment{display:inline-flex;border:1px solid var(--v23-line);background:var(--v23-panel);padding:3px;border-radius:999px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.v23-segment button{border:0;background:transparent;min-height:32px;padding:6px 11px}.v23-segment button[aria-pressed="true"]{background:var(--v23-panel-strong);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}

.v23-list{border-radius:26px;overflow:hidden}
.v23-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-height:68px;padding:13px 16px;border-bottom:1px solid var(--v23-line-soft)}
.v23-row:last-child{border-bottom:0}.v23-row-main{min-width:0}.v23-row-title{font-size:14px;font-weight:700;color:var(--v23-text)}.v23-row-copy{margin-top:4px;font-size:12px;color:var(--v23-muted);white-space:normal}.v23-row-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v23-badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 8px;border:1px solid var(--v23-line);border-radius:999px;font-size:10px;font-weight:720;color:var(--v23-muted)}

.v23-tabs{display:flex;gap:6px;overflow:auto;padding:0 0 10px;scrollbar-width:none}.v23-tabs::-webkit-scrollbar{display:none}.v23-tab{flex:0 0 auto}.v23-tab[aria-selected="true"]{background:var(--v23-panel-strong);color:var(--v23-text)}
.v23-tabpanel[hidden]{display:none!important}

/* Studio */
.v23-studio{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px;min-height:560px}
.v23-studio-nav{border-radius:26px;padding:10px;align-self:stretch}.v23-studio-nav button{width:100%;min-height:42px;text-align:left;border:0;background:transparent;color:var(--v23-text);border-radius:14px;padding:0 12px;font:inherit;font-size:13px;font-weight:680}.v23-studio-nav button[aria-selected="true"]{background:var(--v23-panel-strong)}
.v23-studio-main{border-radius:26px;padding:14px;display:grid;grid-template-rows:auto 1fr;gap:12px}.v23-previewbar{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap}.v23-canvas{border:1px solid var(--v23-line-soft);border-radius:22px;min-height:420px;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025));display:grid;place-items:center;overflow:hidden;position:relative}.v23-canvas-device{width:min(92%,760px);height:min(84%,390px);border:1px solid var(--v23-line);border-radius:24px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:var(--v23-muted);box-shadow:var(--v23-shadow);transition:.28s var(--v23-ease)}.v23-canvas[data-device="phone"] .v23-canvas-device{width:210px;height:390px;border-radius:34px}.v23-canvas[data-device="tablet"] .v23-canvas-device{width:480px;height:360px}.v23-canvas[data-device="desktop"] .v23-canvas-device{width:min(94%,780px);height:380px}

/* Settings and forms */
.v23-form{display:grid;gap:12px}.v23-field{display:grid;gap:6px}.v23-field label{font-size:11px;font-weight:720;color:var(--v23-muted)}.v23-field input,.v23-field select,.v23-field textarea{width:100%;border:1px solid var(--v23-line);background:rgba(255,255,255,.055);color:var(--v23-text);border-radius:16px;min-height:42px;padding:9px 11px;font:inherit;outline:0}.v23-field textarea{min-height:110px;resize:vertical}.v23-field input:focus,.v23-field select:focus,.v23-field textarea:focus{border-color:rgba(255,255,255,.65)}
.v23-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--v23-line-soft)}.v23-setting:last-child{border-bottom:0}.v23-setting strong{font-size:13px}.v23-setting small{display:block;color:var(--v23-muted);font-size:11px;margin-top:4px;line-height:1.4}
.v23-toggle{width:44px;height:25px;border-radius:999px;border:1px solid var(--v23-line);background:rgba(0,0,0,.12);padding:2px;cursor:pointer}.v23-toggle::after{content:"";display:block;width:19px;height:19px;border-radius:50%;background:currentColor;transform:translateX(0);transition:transform .2s ease}.v23-toggle[aria-pressed="true"]::after{transform:translateX(17px)}

/* Support */
.v23-support-hero{border-radius:28px;padding:20px;margin-bottom:12px}.v23-support-search{display:flex;align-items:center;gap:10px;border:1px solid var(--v23-line);background:rgba(255,255,255,.055);border-radius:22px;padding:0 14px;min-height:48px;margin-top:14px}.v23-support-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--v23-text);font:inherit}.v23-faq details{border-bottom:1px solid var(--v23-line-soft);padding:0}.v23-faq details:last-child{border-bottom:0}.v23-faq summary{list-style:none;cursor:pointer;padding:15px 0;font-size:13px;font-weight:690}.v23-faq summary::-webkit-details-marker{display:none}.v23-faq details p{margin:-4px 0 16px;color:var(--v23-muted)}

/* Account side menu */
.v23-account-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px}.v23-account-menu{border-radius:26px;padding:9px;height:max-content;position:sticky;top:102px}.v23-account-menu a{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 11px;border-radius:13px;color:var(--v23-text);text-decoration:none;font-size:12px;font-weight:660}.v23-account-menu a[aria-current="page"],.v23-account-menu a:hover{background:var(--v23-panel-strong)}

.v23-empty{display:grid;place-items:center;min-height:260px;text-align:center;padding:30px}.v23-empty-mark{width:58px;height:58px;opacity:.25;background:currentColor;-webkit-mask:url('/assets/brand/1nfinit3/1nfinit3-master-symbol-transparent.svg') center/contain no-repeat;mask:url('/assets/brand/1nfinit3/1nfinit3-master-symbol-transparent.svg') center/contain no-repeat}.v23-empty h2{margin:13px 0 0}.v23-empty p{max-width:440px}

.v23-toast{position:fixed;z-index:100;left:50%;bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));transform:translate(-50%,18px);opacity:0;pointer-events:none;min-width:220px;max-width:min(90vw,440px);padding:11px 14px;border-radius:18px;border:1px solid var(--v23-line);background:rgba(20,28,30,.76);color:#fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:12px;text-align:center;transition:.22s ease}.v23-toast.on{opacity:1;transform:translate(-50%,0)}

/* When a route surface is active, hide home-only pieces but keep world/top controls alive. */
html[data-v23-route-active="true"] #workspace,
html[data-v23-route-active="true"] #composerDock,
html[data-v23-route-active="true"] .v22-quick{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
html[data-v23-route-active="true"] .entrance-state::before{display:none!important}

@media(max-width:900px){
  .v23-route-layer{padding:98px 18px 88px}
  .v23-route-head{grid-template-columns:1fr}.v23-head-actions{justify-content:flex-start}
  .v23-card,.v23-card.wide,.v23-card.half{grid-column:span 6}
  .v23-studio{grid-template-columns:1fr}.v23-studio-nav{display:flex;overflow:auto;gap:4px;padding:5px}.v23-studio-nav button{width:auto;flex:0 0 auto;padding:0 12px}
  .v23-account-layout{grid-template-columns:1fr}.v23-account-menu{position:static;display:flex;overflow:auto;gap:4px;padding:5px}.v23-account-menu a{flex:0 0 auto}
}
@media(max-width:620px){
  .v23-route-layer{padding:92px 12px 78px}
  .v23-route-shell{width:100%}.v23-route-head{margin-bottom:14px}.v23-route-head h1{font-size:36px}.v23-route-lede{font-size:13px}
  .v23-grid{gap:8px}.v23-card,.v23-card.wide,.v23-card.half,.v23-card.full{grid-column:1/-1;border-radius:21px;padding:15px;min-height:132px}
  .v23-list{border-radius:22px}.v23-row{min-height:62px;padding:12px}.v23-row-side{gap:5px}.v23-row-action{min-height:32px;padding:6px 9px;font-size:10px}
  .v23-toolbar{gap:6px}.v23-button{min-height:35px;font-size:11px}
  .v23-canvas{min-height:370px}.v23-canvas[data-device="phone"] .v23-canvas-device{height:340px;width:184px}.v23-canvas[data-device="tablet"] .v23-canvas-device{width:94%;height:310px}
  .v23-account-menu{margin:0 -3px}.v23-tabs{margin-right:-12px}
}
@media(prefers-reduced-motion:reduce){.v23-route-layer,.v23-canvas-device,.v23-toast{transition-duration:.01ms!important}}


/* QALS Q accessibility: coarse-pointer targets remain at least 44 CSS px
   without changing the desktop visual scale. */
@media (pointer:coarse){
  .v23-button,
  .v23-segment button,
  .v23-row-action,
  .v23-studio-nav button,
  .v23-account-menu a,
  .v23-support-search button,
  .v23-toggle{
    min-width:44px;
    min-height:44px;
  }
}


/* RED20 secondary-surface interaction qualification */
body.rc21-page-root .v23-button,
body.rc21-page-root .v23-segment button,
body.rc21-page-root .v23-tab,
body.rc21-page-root .v23-row-action,
body.rc21-page-root .rc21-actions a,
body.rc21-page-root .rc21-actions button{min-height:44px}
body.rc21-page-root .v23-toggle{position:relative}
body.rc21-page-root .v23-toggle::before{
  content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;
  transform:translate(-50%,-50%);border-radius:999px;background:transparent
}
body.rc21-page-root .v23-button[aria-disabled="true"],
body.rc21-page-root .v23-row-action[aria-disabled="true"]{opacity:.52}
@media(prefers-reduced-motion:reduce){
  body.rc21-page-root .v23-toggle::after,
  body.rc21-page-root .v23-toast{transition:none!important}
}


/* 1NFINIT3 V23.4 — DEEP-WORK SPACING
   Work / Projects / Library / Scheduled / Connections should read as calm,
   persistent workspaces instead of dense card catalogs.
*/
.v23-route-layer{
  padding:clamp(112px,14vh,156px) max(24px,6vw) max(110px,11vh)!important;
}
.v23-route-shell{width:min(1180px,100%)!important}
.v23-route-head{
  gap:24px!important;
  margin-bottom:32px!important;
}
.v23-route-head h1{
  font-size:clamp(42px,5.8vw,76px)!important;
  line-height:.98!important;
}
.v23-route-lede{
  margin-top:16px!important;
  max-width:760px!important;
  line-height:1.62!important;
}
.v23-head-actions{gap:10px!important}
.v23-toolbar{
  gap:12px!important;
  margin-bottom:22px!important;
}
.v23-button,.v23-segment button,.v23-tab,.v23-row-action{
  min-height:44px!important;
  padding:10px 15px!important;
}
.v23-searchbox{
  min-height:48px!important;
  padding:0 15px!important;
  border-radius:22px!important;
}
.v23-grid{
  gap:18px!important;
}
.v23-card{
  min-height:174px!important;
  padding:24px!important;
  border-radius:28px!important;
}
.v23-card p{
  margin-top:10px!important;
  line-height:1.6!important;
}
.v23-card .v23-card-actions{
  margin-top:20px!important;
  gap:10px!important;
}
.v23-list{border-radius:30px!important}
.v23-row{
  min-height:78px!important;
  padding:17px 20px!important;
  gap:18px!important;
}
.v23-row-copy{
  margin-top:6px!important;
  line-height:1.5!important;
}
.v23-row-side{gap:10px!important}
.v23-empty{
  min-height:320px!important;
  padding:42px!important;
}
.v23-empty h2{margin-top:18px!important}
.v23-empty p{line-height:1.62!important}
.v23-tabs{gap:9px!important;padding-bottom:16px!important}
.v23-studio{gap:18px!important}
.v23-studio-nav{padding:13px!important;border-radius:28px!important}
.v23-studio-main{padding:20px!important;gap:18px!important;border-radius:28px!important}
.v23-account-layout{gap:18px!important}
.v23-account-menu{padding:12px!important;border-radius:28px!important}
.v23-support-hero{padding:28px!important;margin-bottom:18px!important}
.v23-form{gap:16px!important}
.v23-setting{padding:18px 0!important}

@media(max-width:900px){
  .v23-route-layer{padding:112px 22px 106px!important}
  .v23-route-head{margin-bottom:28px!important}
  .v23-grid{gap:16px!important}
  .v23-card,.v23-card.wide,.v23-card.half{grid-column:span 6}
}
@media(max-width:620px){
  .v23-route-layer{
    padding:112px 18px 104px!important;
  }
  .v23-route-head{margin-bottom:28px!important}
  .v23-route-head h1{
    font-size:clamp(38px,11vw,52px)!important;
    line-height:1!important;
  }
  .v23-route-lede{
    margin-top:16px!important;
    font-size:14px!important;
    line-height:1.66!important;
  }
  .v23-toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin-bottom:24px!important;
  }
  .v23-searchbox,.v23-button{
    width:100%!important;
  }
  .v23-grid{gap:16px!important}
  .v23-card,.v23-card.wide,.v23-card.half,.v23-card.full{
    min-height:152px!important;
    padding:22px!important;
    border-radius:26px!important;
  }
  .v23-list{border-radius:28px!important}
  .v23-row{
    grid-template-columns:1fr!important;
    min-height:96px!important;
    padding:18px!important;
    gap:13px!important;
  }
  .v23-row-side{
    justify-content:flex-start!important;
  }
  .v23-row-action{min-height:44px!important}
  .v23-empty{
    min-height:300px!important;
    padding:36px 24px!important;
  }
  .v23-studio-main{padding:16px!important}
  .v23-tabs{margin-right:-18px!important;padding-right:18px!important}
}
