/*
 * Commonweave system interface v157
 *
 * Translates the proven inner-screen component language from the pre-v151
 * software into the current Working Campus and Living School markup.
 * This file contains no cabinet frame, bezel, screen aperture, calibration,
 * scene renderer, aspect ratio, iframe, or physical-device geometry.
 */

/* Commonweave Working Campus: historical civic-console palette and components. */
html[data-commonweave-system="commonweave"]{
  --bg:#07162f;
  --panel:#0b2242;
  --panel2:#102b4d;
  --ink:#f7e8bd;
  --muted:#b7d7de;
  --mint:#74e4df;
  --pink:#ad7aff;
  --gold:#e6c16d;
  --line:#ffffff24;
}
html[data-commonweave-system="commonweave"] body{
  background:var(--bg);
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
}
html[data-commonweave-system="commonweave"] .app{
  background:
    radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--mint) 18%,transparent),transparent 38rem),
    linear-gradient(180deg,color-mix(in srgb,var(--panel) 95%,#000),var(--bg));
}
html[data-commonweave-system="commonweave"] .app:before{
  opacity:.12;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(#000,transparent 85%);
}
html[data-commonweave-system="commonweave"] .top{
  padding:8px 4px 14px;
  border-bottom:1px solid color-mix(in srgb,var(--mint) 55%,transparent);
}
html[data-commonweave-system="commonweave"] .brand b,
html[data-commonweave-system="commonweave"] .guide-head h1,
html[data-commonweave-system="commonweave"] .card h2,
html[data-commonweave-system="commonweave"] .path h3,
html[data-commonweave-system="commonweave"] .next strong,
html[data-commonweave-system="commonweave"] .library h3{
  font-family:Georgia,"Times New Roman",serif;
}
html[data-commonweave-system="commonweave"] .brand small,
html[data-commonweave-system="commonweave"] .message small{
  color:var(--mint);
  font-weight:900;
  letter-spacing:.13em;
}
html[data-commonweave-system="commonweave"] .pill,
html[data-commonweave-system="commonweave"] .btn,
html[data-commonweave-system="commonweave"] .bottom button{
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--panel2) 88%,transparent);
  color:var(--ink);
  font-weight:800;
}
html[data-commonweave-system="commonweave"] .pill.active,
html[data-commonweave-system="commonweave"] .btn.primary,
html[data-commonweave-system="commonweave"] .bottom button.active{
  border-color:var(--mint);
  background:color-mix(in srgb,var(--mint) 11%,var(--panel));
  color:var(--mint);
}
html[data-commonweave-system="commonweave"] .pill:hover,
html[data-commonweave-system="commonweave"] .pill:focus-visible,
html[data-commonweave-system="commonweave"] .btn:hover,
html[data-commonweave-system="commonweave"] .btn:focus-visible,
html[data-commonweave-system="commonweave"] .realm-node:hover,
html[data-commonweave-system="commonweave"] .realm-node:focus-visible{
  outline:none;
  border-color:var(--mint);
  box-shadow:0 0 14px color-mix(in srgb,var(--mint) 38%,transparent);
}
html[data-commonweave-system="commonweave"] .realm-node{
  min-height:150px;
  border:1px solid color-mix(in srgb,var(--accent) 52%,transparent);
  border-radius:15px;
  background:linear-gradient(135deg,var(--panel2),var(--panel));
  box-shadow:none;
}
html[data-commonweave-system="commonweave"] .realm-node:nth-child(2n){
  border-color:color-mix(in srgb,var(--accent) 62%,transparent);
}
html[data-commonweave-system="commonweave"] .realm-node small{
  color:var(--accent);
  font-weight:900;
}
html[data-commonweave-system="commonweave"] .realm-node strong{
  font-family:Georgia,"Times New Roman",serif;
}
html[data-commonweave-system="commonweave"] .guide,
html[data-commonweave-system="commonweave"] .work{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  backdrop-filter:none;
}
html[data-commonweave-system="commonweave"] .guide-head,
html[data-commonweave-system="commonweave"] .guide-foot,
html[data-commonweave-system="commonweave"] .work-head{
  border-color:var(--line);
  background:color-mix(in srgb,var(--panel2) 56%,var(--panel));
}
html[data-commonweave-system="commonweave"] .message{
  border-radius:10px;
  background:var(--panel2);
}
html[data-commonweave-system="commonweave"] .message.user{
  background:color-mix(in srgb,var(--mint) 11%,var(--panel));
}
html[data-commonweave-system="commonweave"] .card{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
}
html[data-commonweave-system="commonweave"] .field input,
html[data-commonweave-system="commonweave"] .field select,
html[data-commonweave-system="commonweave"] .field textarea{
  border:1px solid var(--line);
  border-radius:9px;
  background:#0005;
  color:var(--ink);
}
html[data-commonweave-system="commonweave"] .path{
  border:1px solid var(--line);
  border-left:4px solid var(--accent);
  border-radius:14px;
  background:var(--panel2);
}
html[data-commonweave-system="commonweave"] .next{
  border:1px solid color-mix(in srgb,var(--mint) 58%,transparent);
  border-radius:14px;
  background:color-mix(in srgb,var(--mint) 11%,var(--panel));
}
html[data-commonweave-system="commonweave"] .bottom{
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--bg) 94%,transparent);
}
html[data-commonweave-system="commonweave"] dialog{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  color:var(--ink);
}

/* Living School: pre-v151 learning-console language on the current v151 engine. */
html[data-living-school-cabinet="v151"]{
  color-scheme:dark;
  --ls-bg:#041b17;
  --ls-panel:#082a22;
  --ls-panel2:#0b352a;
  --ls-ink:#f5e8ba;
  --ls-muted:#c8c59f;
  --ls-accent:#8ecf70;
  --ls-accent2:#7dc8d8;
  --ls-gold:#dcbf6a;
  --ls-line:#ffffff24;
  --ls-ok:#62e6a7;
  --ls-warn:#ffd36d;
  --ls-danger:#ff796d;
}
html[data-living-school-cabinet="v151"],
html[data-living-school-cabinet="v151"] body{
  background:var(--ls-bg);
  color:var(--ls-ink);
  font-family:Georgia,"Times New Roman",serif;
}
html[data-living-school-cabinet="v151"] .ls-app{
  background:
    radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--ls-accent) 18%,transparent),transparent 38rem),
    linear-gradient(180deg,color-mix(in srgb,var(--ls-panel) 95%,#000),var(--ls-bg));
}
html[data-living-school-cabinet="v151"] .ls-header{
  padding:7px 10px;
  border-bottom:1px solid color-mix(in srgb,var(--ls-accent) 55%,transparent);
  background:var(--ls-panel);
  box-shadow:none;
}
html[data-living-school-cabinet="v151"] .ls-round{
  width:40px;
  height:40px;
  border:1px solid var(--ls-line);
  border-radius:12px;
  background:color-mix(in srgb,var(--ls-panel2) 88%,transparent);
  color:var(--ls-ink);
}
html[data-living-school-cabinet="v151"] .ls-title small{
  color:var(--ls-accent);
  font-weight:900;
  letter-spacing:.13em;
}
html[data-living-school-cabinet="v151"] .ls-title strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,4vw,1.35rem);
}
html[data-living-school-cabinet="v151"] .ls-progress{
  color:var(--ls-muted);
}
html[data-living-school-cabinet="v151"] .ls-progress i{
  border:1px solid var(--ls-line);
  background:#0006;
}
html[data-living-school-cabinet="v151"] .ls-progress b{
  background:linear-gradient(90deg,var(--ls-accent),var(--ls-accent2));
  box-shadow:0 0 12px var(--ls-accent);
}
html[data-living-school-cabinet="v151"] .ls-stage{
  overflow:auto;
  background:transparent!important;
}
html[data-living-school-cabinet="v151"] .ls-scene-art{
  display:none;
}
html[data-living-school-cabinet="v151"] .ls-room{
  position:relative;
  inset:auto;
  min-height:100%;
  padding:clamp(12px,2.5vw,24px);
  align-content:start;
  gap:14px;
}
html[data-living-school-cabinet="v151"] .ls-heading{
  max-width:none;
  margin:0;
  padding:clamp(16px,3vw,30px);
  border:1px solid color-mix(in srgb,var(--ls-accent) 65%,transparent);
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ls-panel2) 92%,transparent),color-mix(in srgb,var(--ls-panel) 94%,transparent));
  box-shadow:inset 0 0 35px color-mix(in srgb,var(--ls-accent) 7%,transparent),0 0 20px color-mix(in srgb,var(--ls-accent) 12%,transparent);
}
html[data-living-school-cabinet="v151"] .ls-heading small{
  display:block;
  color:var(--ls-accent);
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
html[data-living-school-cabinet="v151"] .ls-heading h1{
  margin:.12em 0 .2em;
  color:var(--ls-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,6vw,3.5rem);
  line-height:1.03;
}
html[data-living-school-cabinet="v151"] .ls-heading p{
  color:var(--ls-muted);
  line-height:1.55;
  font-size:clamp(.78rem,2.6vw,.96rem);
}
html[data-living-school-cabinet="v151"] .ls-objects{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}
html[data-living-school-cabinet="v151"] .ls-object,
html[data-living-school-cabinet="v151"] .ls-object[data-kind]{
  min-height:112px;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--ls-accent) 52%,transparent);
  border-radius:15px;
  clip-path:none;
  background:linear-gradient(135deg,var(--ls-panel2),var(--ls-panel));
  color:var(--ls-ink);
  box-shadow:none;
}
html[data-living-school-cabinet="v151"] .ls-object:nth-child(2n){
  border-color:color-mix(in srgb,var(--ls-accent2) 55%,transparent);
}
html[data-living-school-cabinet="v151"] .ls-object>span{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 0 10px;
  border:1px solid currentColor;
  border-radius:50%;
  color:var(--ls-accent);
  font-size:1.55rem;
  box-shadow:inset 0 0 14px color-mix(in srgb,var(--ls-accent) 18%,transparent);
}
html[data-living-school-cabinet="v151"] .ls-object:nth-child(2n)>span{
  color:var(--ls-accent2);
}
html[data-living-school-cabinet="v151"] .ls-object b{
  color:var(--ls-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,3.1vw,1.45rem);
}
html[data-living-school-cabinet="v151"] .ls-object small{
  margin-top:5px;
  color:var(--ls-muted);
  line-height:1.35;
}
html[data-living-school-cabinet="v151"] .ls-object.is-next:after{
  border:1px solid var(--ls-accent);
  background:color-mix(in srgb,var(--ls-accent) 11%,var(--ls-panel));
  color:var(--ls-accent);
}
html[data-living-school-cabinet="v151"] .ls-moss,
html[data-living-school-cabinet="v151"] .ls-compass{
  position:fixed;
  z-index:12;
  bottom:calc(66px + env(safe-area-inset-bottom));
  top:auto;
  border:1px solid var(--ls-line);
  border-radius:12px;
  background:color-mix(in srgb,var(--ls-panel2) 94%,transparent);
  color:var(--ls-ink);
  box-shadow:0 8px 20px #0008;
}
html[data-living-school-cabinet="v151"] .ls-moss{
  left:10px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
}
html[data-living-school-cabinet="v151"] .ls-moss span{
  width:30px;
  height:30px;
  border:1px solid var(--ls-accent);
  border-radius:50%;
  background:color-mix(in srgb,var(--ls-accent) 10%,var(--ls-panel));
  color:var(--ls-accent);
}
html[data-living-school-cabinet="v151"] .ls-moss b{
  padding:0;
  background:transparent;
}
html[data-living-school-cabinet="v151"] .ls-compass{
  right:10px;
  width:46px;
  height:46px;
  border-color:var(--ls-accent2);
  background:color-mix(in srgb,var(--ls-accent2) 12%,var(--ls-panel));
  color:var(--ls-accent2);
  box-shadow:0 8px 20px #0008;
}
html[data-living-school-cabinet="v151"] .ls-tray{
  gap:5px;
  padding:7px 9px;
  border-top:1px solid var(--ls-line);
  background:linear-gradient(transparent,var(--ls-bg) 16%),var(--ls-bg);
}
html[data-living-school-cabinet="v151"] .ls-tray button{
  border:1px solid var(--ls-line);
  border-radius:12px;
  background:color-mix(in srgb,var(--ls-panel2) 88%,transparent);
  color:var(--ls-ink);
  font-weight:800;
}
html[data-living-school-cabinet="v151"] .ls-tray button[aria-current="page"]{
  border-color:var(--ls-accent);
  background:color-mix(in srgb,var(--ls-accent) 11%,var(--ls-panel));
  color:var(--ls-accent);
}
html[data-living-school-cabinet="v151"] .ls-round:hover,
html[data-living-school-cabinet="v151"] .ls-round:focus-visible,
html[data-living-school-cabinet="v151"] .ls-object:hover,
html[data-living-school-cabinet="v151"] .ls-object:focus-visible,
html[data-living-school-cabinet="v151"] .ls-tray button:hover,
html[data-living-school-cabinet="v151"] .ls-tray button:focus-visible,
html[data-living-school-cabinet="v151"] .ls-moss:hover,
html[data-living-school-cabinet="v151"] .ls-moss:focus-visible,
html[data-living-school-cabinet="v151"] .ls-compass:hover,
html[data-living-school-cabinet="v151"] .ls-compass:focus-visible{
  outline:none;
  border-color:var(--ls-accent);
  box-shadow:0 0 14px color-mix(in srgb,var(--ls-accent) 38%,transparent);
}
html[data-living-school-cabinet="v151"] dialog{
  color:var(--ls-ink);
}
html[data-living-school-cabinet="v151"] dialog::backdrop{
  background:#020705d9;
  backdrop-filter:blur(4px);
}
html[data-living-school-cabinet="v151"] .ls-instrument{
  border:1px solid color-mix(in srgb,var(--ls-accent) 52%,transparent);
  border-radius:14px;
  background:linear-gradient(135deg,var(--ls-panel2),var(--ls-panel));
  color:var(--ls-ink);
  box-shadow:0 24px 80px #000d;
}
html[data-living-school-cabinet="v151"] .ls-instrument h2,
html[data-living-school-cabinet="v151"] .ls-instrument h3{
  color:var(--ls-ink);
  font-family:Georgia,"Times New Roman",serif;
}
html[data-living-school-cabinet="v151"] .ls-close,
html[data-living-school-cabinet="v151"] .ls-primary,
html[data-living-school-cabinet="v151"] .ls-secondary,
html[data-living-school-cabinet="v151"] .ls-danger{
  border:1px solid var(--ls-line);
  border-radius:9px;
  background:var(--ls-panel2);
  color:var(--ls-ink);
}
html[data-living-school-cabinet="v151"] .ls-primary{
  border-color:var(--ls-accent);
  color:var(--ls-accent);
  background:color-mix(in srgb,var(--ls-accent) 11%,var(--ls-panel));
}
html[data-living-school-cabinet="v151"] .ls-secondary{
  border-color:var(--ls-gold);
  color:var(--ls-gold);
  background:color-mix(in srgb,var(--ls-gold) 11%,var(--ls-panel));
}
html[data-living-school-cabinet="v151"] .ls-danger{
  border-color:var(--ls-danger);
  color:var(--ls-danger);
  background:color-mix(in srgb,var(--ls-danger) 11%,var(--ls-panel));
}
html[data-living-school-cabinet="v151"] .ls-form label{
  color:var(--ls-muted);
}
html[data-living-school-cabinet="v151"] .ls-form input,
html[data-living-school-cabinet="v151"] .ls-form textarea,
html[data-living-school-cabinet="v151"] .ls-form select{
  border:1px solid var(--ls-line);
  border-radius:9px;
  background:#0005;
  color:var(--ls-ink);
}
html[data-living-school-cabinet="v151"] .ls-card,
html[data-living-school-cabinet="v151"] .ls-callout,
html[data-living-school-cabinet="v151"] .ls-room-grid button{
  border:1px solid var(--ls-line);
  border-radius:12px;
  background:var(--ls-panel2);
  color:var(--ls-ink);
}
html[data-living-school-cabinet="v151"] .ls-card p,
html[data-living-school-cabinet="v151"] .ls-muted{
  color:var(--ls-muted);
}
html[data-living-school-cabinet="v151"] .ls-receipt,
html[data-living-school-cabinet="v151"] .ls-code{
  border:1px solid var(--ls-line);
  background:#02070599;
  color:#dff2d4;
}
html[data-living-school-cabinet="v151"] .ls-drawer{
  border-left:1px solid var(--ls-accent);
  background:var(--ls-panel);
  color:var(--ls-ink);
}
html[data-living-school-cabinet="v151"] .ls-drawer button{
  border:1px solid var(--ls-line);
  background:var(--ls-panel2);
  color:var(--ls-ink);
}
html[data-living-school-cabinet="v151"] .ls-toast{
  border:1px solid var(--ls-accent);
  background:#020705e8;
  color:#fff;
}

@media(max-width:700px){
  html[data-living-school-cabinet="v151"] .ls-objects{grid-template-columns:1fr}
  html[data-living-school-cabinet="v151"] .ls-object{min-height:98px}
}

@media(prefers-reduced-motion:reduce){
  html[data-commonweave-system="commonweave"] *,
  html[data-living-school-cabinet="v151"] *{
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
