:where(html[data-game="lexakude"]):root{--bg: var(--lx-canvas);
  --panel: color-mix(in srgb,var(--lx-canvas) 94%,transparent);
  --panel-2: color-mix(in srgb,var(--lx-surface-inset) 96%,transparent);
  --line: color-mix(in srgb,var(--lx-reward) 28%,transparent);
  --line-strong: color-mix(in srgb,var(--lx-reward) 62%,transparent);
  --text: var(--lx-primary);
  --muted: var(--lx-reward);
  --amber: var(--lx-reward);
  --gold: var(--lx-reward);
  --green: var(--lx-success);
  --danger: var(--lx-danger);
  --shadow: color-mix(in srgb,var(--lx-canvas) 48%,transparent);
  --radius: 1.15rem;
  color-scheme: dark;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;}
html:where([data-game="lexakude"]){min-height: 100%;}
:where(html[data-game="lexakude"]) body{min-width: 18rem;
  min-height: 100dvh;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  color: var(--text);
  background:
    radial-gradient(circle at 18% 4%, color-mix(in srgb,var(--lx-danger) 13%,transparent), transparent 28rem),
    radial-gradient(circle at 86% 42%, color-mix(in srgb,var(--lx-reward) 8%,transparent), transparent 32rem),
    linear-gradient(160deg, var(--lx-canvas) 0%, var(--lx-canvas) 72%);}
:where(html[data-game="lexakude"]) input{font: inherit;}
:where(html[data-game="lexakude"]) button{color: inherit;
  -webkit-tap-highlight-color: transparent;}
:where(html[data-game="lexakude"]) button:focus-visible{outline: 3px solid color-mix(in srgb,var(--lx-reward) 80%,transparent);
  outline-offset: 3px;}
:where(html[data-game="lexakude"]) .weave-light{position: fixed;
  inset: 0;
  pointer-events: none;
  background-size: 4.8rem 4.8rem;
  animation: weave-drift 18s linear infinite;}
:where(html[data-game="lexakude"]) .game-shell{
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;}
:where(html[data-game="lexakude"]) .mode-badge{width: fit-content;
  margin: 0 auto;
  padding: .35rem .8rem;
  border: 1px solid color-mix(in srgb,var(--lx-reward) 42%,transparent);
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;}
:where(html[data-game="lexakude"]) .admin-test-panel{width: min(100%, 48rem);
  margin: 0 auto;
  padding: .75rem;
  display: grid;
  gap: .65rem;
  border: 1px solid color-mix(in srgb,var(--lx-success) 54%,transparent);
  border-radius: 1rem;
  box-shadow: inset 0 1px color-mix(in srgb,var(--lx-text-strong) 5%,transparent);}
:where(html[data-game="lexakude"]) .admin-test-panel[hidden]{display: none;}
:where(html[data-game="lexakude"]) .admin-test-heading{display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;}
:where(html[data-game="lexakude"]) .admin-test-heading span{display: block;
  color: var(--green);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .12em;}
:where(html[data-game="lexakude"]) .admin-test-heading strong{display: block;
  margin-top: .15rem;
  font-size: 1.05rem;}
:where(html[data-game="lexakude"]) .admin-current-state{padding: .5rem .7rem;
  border: 1px solid color-mix(in srgb,var(--lx-success) 38%,transparent);
  border-radius: 999px;
  color: var(--lx-success);
  background: color-mix(in srgb,var(--lx-success) 72%,transparent);
  font-weight: 900;}
:where(html[data-game="lexakude"]) .admin-state-form{display: grid;
  grid-template-columns: minmax(9rem, .7fr) minmax(12rem, 1fr) auto;
  align-items: end;
  gap: .55rem;}
:where(html[data-game="lexakude"]) .admin-state-form label{display: grid;
  gap: .28rem;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 850;}
:where(html[data-game="lexakude"]) .admin-state-form select,:where(html[data-game="lexakude"]) .admin-state-form input,:where(html[data-game="lexakude"]) .admin-state-form button{min-height: 3.15rem;
  border: 1px solid color-mix(in srgb,var(--lx-success) 42%,transparent);
  border-radius: .75rem;}
:where(html[data-game="lexakude"]) .admin-state-form select,:where(html[data-game="lexakude"]) .admin-state-form input{width: 100%;
  padding: .55rem .65rem;}
:where(html[data-game="lexakude"]) .admin-state-form button{padding: .55rem .85rem;
  font-weight: 950;}
:where(html[data-game="lexakude"]) .admin-state-feedback{min-height: 1.3em;
  margin: 0;
  color: var(--lx-success);
  font-size: .78rem;}
:where(html[data-game="lexakude"]) .status-strip{display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .38rem;}
:where(html[data-game="lexakude"]) .status-strip > div{min-height: clamp(3.8rem, 8dvh, 5.15rem);
  padding: .5rem .35rem;
  display: grid;
  place-content: center;
  gap: .15rem;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: .9rem;
  background:
    linear-gradient(150deg, color-mix(in srgb,var(--lx-reward) 8%,transparent), transparent 48%),
    color-mix(in srgb,var(--lx-canvas) 92%,transparent);
  box-shadow: inset 0 1px color-mix(in srgb,var(--lx-text-strong) 4%,transparent);}
:where(html[data-game="lexakude"]) .status-strip span{color: var(--muted);
  font-size: clamp(.67rem, 2.7vw, .8rem);
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;}
:where(html[data-game="lexakude"]) .status-strip strong{color: var(--gold);
  font-size: clamp(1.18rem, 5.6vw, 1.75rem);
  line-height: 1;}
:where(html[data-game="lexakude"]) .loom::before{position: absolute;
  content: "";
  pointer-events: none;
  border: 1px solid color-mix(in srgb,var(--lx-reward) 6%,transparent);}
:where(html[data-game="lexakude"]) .board-tools{
  display: flex;
  justify-content: space-between;}
:where(html[data-game="lexakude"]) .board-tool{min-height: 3.25rem;
  padding: .65rem 1rem;
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  border: 1px solid var(--line-strong);
  border-radius: .85rem;
  color: var(--text);
  background: color-mix(in srgb,var(--lx-canvas) 92%,transparent);
  box-shadow: 0 .4rem 1rem color-mix(in srgb,var(--lx-canvas) 30%,transparent);
  font-size: 1.05rem;
  font-weight: 900;}
:where(html[data-game="lexakude"]) .board-tool-help{width: 3.25rem;
  padding: 0;
  justify-content: center;
  border-radius: 50%;
  font-size: 1.4rem;}
:where(html[data-game="lexakude"]) .weave-board{--size: 4;
  --gap: clamp(.14rem, .9vw, .35rem);
  min-width: 0;
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(var(--size), minmax(0, 1fr));
  gap: var(--gap);
  touch-action: none;
  overscroll-behavior: contain;
  user-select: none;
  overflow: hidden;}
:where(html[data-game="lexakude"]) .weave-column{min-width: 0;
  padding: 0;
  display: grid;
  grid-template-rows: repeat(var(--size), minmax(0, 1fr));
  gap: var(--gap);
  border: 0;
  border-radius: .68rem;
  background: transparent;
  cursor: grab;
  touch-action: none;
  transition: transform .16s ease, filter .16s ease;}
:where(html[data-game="lexakude"]) .weave-column:active{cursor: grabbing;}
:where(html[data-game="lexakude"]) .weave-column.dragging{z-index: 2;
  cursor: grabbing;
  transform: scale(1.025);}
:where(html[data-game="lexakude"]) .weave-column:disabled{cursor: default;
  opacity: 1;}
:where(html[data-game="lexakude"]) .weave-board.controls-disabled{cursor: wait;}
:where(html[data-game="lexakude"]) .letter-cell{min-width: 0;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb,var(--lx-reward) 30%,transparent);
  border-radius: clamp(.34rem, 1.5vw, .62rem);
  font-size: clamp(.92rem, calc(10vw / var(--size) * 2.25), 2rem);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;}
:where(html[data-game="lexakude"]) .weave-board.solved .letter-cell{
  animation: solved-pulse .55s ease both;}
:where(html[data-game="lexakude"]) .feedback{min-height: 1.45em;
  margin: .05rem 0;
  font-weight: 700;
  text-align: center;}
:where(html[data-game="lexakude"]) .column-shifters{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;}
:where(html[data-game="lexakude"]) .column-shifters button,:where(html[data-game="lexakude"]) .game-actions button,:where(html[data-game="lexakude"]) .primary-button,:where(html[data-game="lexakude"]) .secondary-button{min-height: 3.2rem;
  padding: .65rem .7rem;
  border: 1px solid var(--line-strong);
  border-radius: .82rem;
  color: var(--text);
  background:
    linear-gradient(160deg, color-mix(in srgb,var(--lx-reward) 16%,transparent), transparent 48%),
    color-mix(in srgb,var(--lx-surface-inset) 96%,transparent);
  box-shadow: inset 0 1px color-mix(in srgb,var(--lx-text-strong) 6%,transparent);
  font-weight: 850;}
:where(html[data-game="lexakude"]) .column-shifters button{display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;}
:where(html[data-game="lexakude"]) .shift-arrow{
  font-size: 1.45em;
  line-height: 1;}
:where(html[data-game="lexakude"]) .column-shifters button:active,:where(html[data-game="lexakude"]) .game-actions button:active,:where(html[data-game="lexakude"]) .primary-button:active,:where(html[data-game="lexakude"]) .secondary-button:active{transform: translateY(1px);}
:where(html[data-game="lexakude"]) .column-shifters > span{min-width: 5.4rem;
  color: var(--gold);
  font-size: .82rem;
  font-weight: 900;
  text-align: center;}
:where(html[data-game="lexakude"]) .game-actions{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));}
:where(html[data-game="lexakude"]) .game-actions button{min-width: 0;}
:where(html[data-game="lexakude"]) button:disabled{cursor: not-allowed;}
:where(html[data-game="lexakude"]) .modal{width: min(calc(100% - 1rem), 36rem);
  max-height: calc(100dvh - 1rem);
  padding: clamp(.85rem, 3.4vw, 1.3rem);
  border: 1px solid var(--line-strong);
  border-radius: 1.2rem;
  overflow: auto;}
:where(html[data-game="lexakude"]) .modal::backdrop{
  backdrop-filter: blur(6px);}
:where(html[data-game="lexakude"]) .modal-header{display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;}
:where(html[data-game="lexakude"]) .modal h2{margin: .1rem 0 .85rem;
  font-size: clamp(1.35rem, 6vw, 2rem);}
:where(html[data-game="lexakude"]) .tier-modal-header{margin-bottom: 1rem;}
:where(html[data-game="lexakude"]) .tier-modal-header h2{margin-bottom: .55rem;}
:where(html[data-game="lexakude"]) .tier-overall{margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem;
  text-transform: uppercase;
  letter-spacing: .08em;}
:where(html[data-game="lexakude"]) .tier-overall > span:first-child{flex-basis: 100%;
  font-size: .78rem;
  font-weight: 850;}
:where(html[data-game="lexakude"]) .tier-overall strong{
  font-size: clamp(2.5rem, 8vw, 4.5rem);
  line-height: .9;}
:where(html[data-game="lexakude"]) .tier-overall > span:last-child{font-size: 1.05rem;}
:where(html[data-game="lexakude"]) .eyebrow{
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;}

:where(html[data-game="lexakude"]) .tier-grid{display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;}
















:where(html[data-game="lexakude"]) .help-content{display: grid;
  gap: .85rem;}
:where(html[data-game="lexakude"]) .rule-row{display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: .6rem;
  align-items: start;}
:where(html[data-game="lexakude"]) .rule-row > span{width: 2.2rem;
  height: 2.2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--lx-surface-inset);
  background: var(--amber);
  font-weight: 950;}
:where(html[data-game="lexakude"]) .rule-row p{margin: .25rem 0 0;
  line-height: 1.55;}
:where(html[data-game="lexakude"]) .primary-button{
  border-color: var(--lx-reward);}
:where(html[data-game="lexakude"]) .complete-modal{text-align: center;}

:where(html[data-game="lexakude"]) .earned-stars{margin: .1rem 0 .75rem;
  color: var(--gold);
  font-size: clamp(1.75rem, 9vw, 2.7rem);
  letter-spacing: .14em;}
:where(html[data-game="lexakude"]) .complete-stats{display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;}
:where(html[data-game="lexakude"]) .complete-stat{min-height: 4.8rem;
  padding: .55rem .35rem;
  display: grid;
  place-content: center;
  gap: .15rem;
  border: 1px solid var(--line);
  border-radius: .85rem;
  background: color-mix(in srgb,var(--lx-surface-inset) 86%,transparent);}
:where(html[data-game="lexakude"]) .complete-stat span{color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;}
:where(html[data-game="lexakude"]) .complete-stat strong{color: var(--gold);
  font-size: clamp(1.1rem, 5vw, 1.55rem);}
:where(html[data-game="lexakude"]) .completion-actions{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;}

@keyframes weave-drift{to {
    background-position: 4.8rem 4.8rem, -4.8rem 4.8rem;
  }}
@keyframes solved-pulse{50% {
    transform: scale(1.035);
    box-shadow: 0 0 1rem color-mix(in srgb,var(--lx-success) 30%,transparent);
  }}
@media (orientation: landscape) and (max-height: 38rem){:where(html[data-game="lexakude"]) .game-shell{min-height: auto;}
:where(html[data-game="lexakude"]) .status-strip > div{min-height: 3.35rem;}
:where(html[data-game="lexakude"]) .loom{padding-top: 3.25rem;}
:where(html[data-game="lexakude"]) .weave-board{width: min(100%, 72dvh, 32rem);}}
@media (min-width: 48rem){:where(html[data-game="lexakude"]) .game-shell{padding-top: 1rem;}
:where(html[data-game="lexakude"]) .status-strip{width: min(100%, 44rem);
    align-self: center;}
:where(html[data-game="lexakude"]) .loom{width: min(100%, 48rem);
    align-self: center;}}
@media (max-width: 22rem){:where(html[data-game="lexakude"]) .game-shell{padding-inline: .35rem;}
:where(html[data-game="lexakude"]) .status-strip{gap: .25rem;}
:where(html[data-game="lexakude"]) .status-strip > div{padding-inline: .15rem;}
:where(html[data-game="lexakude"]) .loom{padding-inline: .3rem;}
:where(html[data-game="lexakude"]) .game-actions,:where(html[data-game="lexakude"]) .column-shifters{gap: .3rem;}}
@media (orientation: portrait), (max-width: 47.99rem){:where(html[data-game="lexakude"]) .game-shell{width: 100%;
    min-height: auto;
    padding: .42rem .28rem max(.7rem, env(safe-area-inset-bottom));
    gap: .48rem;}
:where(html[data-game="lexakude"]) .mode-badge{padding: .5rem 1rem;
    font-size: .92rem;}
:where(html[data-game="lexakude"]) .admin-test-panel{width: 100%;
    padding: .7rem;}
:where(html[data-game="lexakude"]) .admin-test-heading strong{font-size: 1.2rem;}
:where(html[data-game="lexakude"]) .admin-current-state{font-size: 1rem;}
:where(html[data-game="lexakude"]) .admin-state-form{grid-template-columns: 1fr;}
:where(html[data-game="lexakude"]) .admin-state-form label{font-size: .95rem;}
:where(html[data-game="lexakude"]) .admin-state-form select,:where(html[data-game="lexakude"]) .admin-state-form input,:where(html[data-game="lexakude"]) .admin-state-form button{min-height: 4rem;
    font-size: 1.08rem;}
:where(html[data-game="lexakude"]) .admin-state-feedback{font-size: .92rem;}
:where(html[data-game="lexakude"]) .status-strip{width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .38rem;}
:where(html[data-game="lexakude"]) .status-strip > div{min-height: clamp(5.2rem, 10.5dvh, 7rem);
    padding: .7rem .3rem;
    border-width: 1.5px;}
:where(html[data-game="lexakude"]) .status-strip span{font-size: clamp(.9rem, 3.8vw, 1.18rem);}
:where(html[data-game="lexakude"]) .status-strip strong{font-size: clamp(2rem, 8.4vw, 2.8rem);}
:where(html[data-game="lexakude"]) .loom{width: 100%;
    min-height: 0;
    padding: 5.35rem .28rem .7rem;
    flex: 0 0 auto;
    gap: .62rem;}
:where(html[data-game="lexakude"]) .board-tools{top: .55rem;
    left: .55rem;
    right: .55rem;}
:where(html[data-game="lexakude"]) .board-tool{min-height: 4.35rem;
    padding: .8rem 1.2rem;
    border-width: 1.5px;
    font-size: clamp(1.22rem, 5vw, 1.5rem);}
:where(html[data-game="lexakude"]) .board-tool-help{width: 4.35rem;
    padding: 0;
    font-size: clamp(1.75rem, 7vw, 2.15rem);}
:where(html[data-game="lexakude"]) .weave-board{width: min(100%, 46rem);
    max-width: 100%;
    padding: clamp(.35rem, 1.4vw, .7rem);}
:where(html[data-game="lexakude"]) .letter-cell{font-size: clamp(
      1rem,
      calc(15vw / var(--size) * 2.25),
      3rem
    );}
:where(html[data-game="lexakude"]) .feedback{min-height: 2em;
    margin: .05rem .3rem;
    font-size: clamp(1.05rem, 4.35vw, 1.35rem);}
:where(html[data-game="lexakude"]) .column-shifters{width: min(100%, 46rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;}
:where(html[data-game="lexakude"]) .column-shifters > span{grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    font-size: 1.08rem;}
:where(html[data-game="lexakude"]) .column-shifters button,:where(html[data-game="lexakude"]) .game-actions button,:where(html[data-game="lexakude"]) .primary-button,:where(html[data-game="lexakude"]) .secondary-button{border-width: 1.5px;}
:where(html[data-game="lexakude"]) .column-shifters button{min-height: clamp(6.5rem, 15dvh, 8.5rem);
    border-radius: 1.15rem;
    font-size: clamp(1.58rem, 6.4vw, 2.05rem);
    font-weight: 950;}
:where(html[data-game="lexakude"]) .shift-arrow{font-size: clamp(2.55rem, 10vw, 3.6rem);}
:where(html[data-game="lexakude"]) .game-actions{width: min(100%, 46rem);
    gap: .5rem;}
:where(html[data-game="lexakude"]) .game-actions button{min-height: clamp(5.2rem, 10dvh, 6.4rem);
    border-radius: 1rem;
    font-size: clamp(1.08rem, 4.5vw, 1.4rem);}
:where(html[data-game="lexakude"]) #helpDialog{width: calc(100% - .35rem);
    max-width: none;
    max-height: calc(100dvh - .35rem);
    padding:
      max(1.1rem, env(safe-area-inset-top))
      .9rem
      max(1.1rem, env(safe-area-inset-bottom));
    border-radius: 1.1rem;}
:where(html[data-game="lexakude"]) #helpDialog .modal-header{gap: .65rem;}
:where(html[data-game="lexakude"]) #helpDialog .eyebrow{font-size: clamp(.9rem, 3.8vw, 1.08rem);}
:where(html[data-game="lexakude"]) #helpDialog h2{margin-top: .2rem;
    font-size: clamp(2rem, 8vw, 3rem);
    line-height: 1.05;}

:where(html[data-game="lexakude"]) #helpDialog .help-content{gap: 1rem;}
:where(html[data-game="lexakude"]) #helpDialog .rule-row{grid-template-columns: 3rem 1fr;
    gap: .85rem;}
:where(html[data-game="lexakude"]) #helpDialog .rule-row > span{width: 3rem;
    height: 3rem;
    font-size: 1.25rem;}
:where(html[data-game="lexakude"]) #helpDialog .rule-row p{margin-top: .1rem;
    font-size: clamp(1.12rem, 4.6vw, 1.4rem);
    line-height: 1.55;}
:where(html[data-game="lexakude"]) #helpDialog .primary-button{min-height: 4.6rem;
    font-size: clamp(1.18rem, 4.8vw, 1.45rem);}
:where(html[data-game="lexakude"]) .tier-modal-header h2{font-size: clamp(1.8rem, 7.4vw, 3.2rem);
    white-space: nowrap;}
:where(html[data-game="lexakude"]) .tier-overall > span:first-child{font-size: .92rem;}
:where(html[data-game="lexakude"]) .tier-overall strong{font-size: clamp(3rem, 14vw, 5.2rem);}
:where(html[data-game="lexakude"]) .tier-grid{grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;}





}
@media (max-width: 22rem){:where(html[data-game="lexakude"]) .tier-grid{grid-template-columns: 1fr;}}

html[data-game="lexakude"]{color-scheme:var(--lx-color-scheme,dark);
  --bg:var(--lx-canvas);
  --panel:var(--lx-surface-deep);
  --panel-2:var(--lx-surface-inset);
  --line:var(--lx-border);
  --line-strong:var(--lx-border-strong);
  --text:var(--lx-text);
  --muted:var(--lx-text-muted);
  --amber:var(--lx-primary);
  --gold:var(--lx-reward);
  --green:var(--lx-success);
  --danger:var(--lx-danger);
  --shadow:var(--lx-shadow-panel);
  --radius:var(--lx-radius-panel,24px);
  font-family:var(--lx-font);}
html[data-game="lexakude"],html[data-game="lexakude"] body.lexakude-page{min-width:320px;
  background:var(--lx-page-background)!important;}
html[data-game="lexakude"] body.lexakude-page{display:flex;
  flex-direction:column;}
html[data-game="lexakude"] .weave-light{z-index:0;
  opacity:.35;
  background-image:
    linear-gradient(90deg,transparent 49.7%,var(--lx-secondary-a05) 50%,transparent 50.3%),
    linear-gradient(0deg,transparent 49.7%,var(--lx-primary-a05) 50%,transparent 50.3%);}
html[data-game="lexakude"] .game-shell{position:relative;
  z-index:1;}
html[data-game="lexakude"] .game-shell{width:min(100%,1180px);
  min-height:calc(100dvh - var(--lx-service-header-height,128px));
  margin:0 auto;
  padding:18px 7px max(28px,env(safe-area-inset-bottom));
  gap:12px;}
html[data-game="lexakude"] .mode-badge{color:var(--lx-success-text);
  border-color:var(--lx-success-a55);
  background:var(--lx-success-surface);}
html[data-game="lexakude"] .admin-test-panel{color:var(--lx-success-text);
  border-color:var(--lx-success-a55);
  background:var(--lx-success-surface);}
html[data-game="lexakude"] .admin-state-form select,html[data-game="lexakude"] .admin-state-form input,html[data-game="lexakude"] .admin-state-form button{color:var(--lx-text);
  border-color:var(--lx-border);
  background:var(--lx-control-surface);}
html[data-game="lexakude"] .loom{position:relative;
  min-height:0;
  padding:12px;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:center;
  gap:12px;
  overflow:visible;
  border:1.5px solid var(--lx-border);
  border-radius:var(--lx-radius-panel,24px);
  background:var(--lx-panel-background);
  box-shadow:var(--lx-panel-shadow);}
html[data-game="lexakude"] .loom::before{inset:8px;
  border-color:var(--lx-border-subtle);
  border-radius:calc(var(--lx-radius-panel,24px) - 8px);}
html[data-game="lexakude"] .board-tools{position:relative!important;
  z-index:5;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  pointer-events:auto!important;}
html[data-game="lexakude"] .board-tool{pointer-events:auto;}



html[data-game="lexakude"] .weave-board{width:min(100%,58dvh,700px);
  padding:clamp(7px,1.7vw,14px);
  border:1.5px solid var(--lx-border-strong);
  border-radius:20px;
  background:
    linear-gradient(var(--lx-highlight-a05),transparent),
    var(--lx-surface-deep);
  box-shadow:inset 0 0 32px var(--lx-shadow-panel),var(--lx-card-shadow);}
html[data-game="lexakude"] .weave-column.selected{filter:drop-shadow(0 0 12px var(--lx-secondary-a72));}
html[data-game="lexakude"] .weave-column.dragging{filter:drop-shadow(0 0 18px var(--lx-primary-a38));}
html[data-game="lexakude"] .letter-cell{color:var(--lx-text-strong);
  border-color:var(--lx-border);
  background:var(--lx-letter-background);
  box-shadow:inset 0 1px 0 var(--lx-highlight-a08),0 6px 12px var(--lx-shadow-tile);
  font-family:var(--lx-font);}
html[data-game="lexakude"] .weave-column.selected .letter-cell{color:var(--lx-on-accent);
  border-color:var(--lx-border-reward);
  background:var(--lx-active-tab-background);
  box-shadow:0 0 0 3px var(--lx-reward-a20),0 0 22px var(--lx-primary-a38);}
html[data-game="lexakude"] .weave-board.solved .letter-cell{color:var(--lx-success-text);
  border-color:var(--lx-success-a55);
  background:linear-gradient(150deg,var(--lx-success),var(--lx-success-surface));}
html[data-game="lexakude"] .feedback{color:var(--lx-text-muted);
  font-size:24px;}
html[data-game="lexakude"] .column-shifters,html[data-game="lexakude"] .game-actions{width:min(100%,700px);
  gap:10px;}
html[data-game="lexakude"] .column-shifters button,html[data-game="lexakude"] .game-actions button,html[data-game="lexakude"] .secondary-button{min-height:72px;
  border:2px solid var(--lx-border-strong);
  border-radius:16px;
  color:var(--lx-text);
  background:var(--lx-action-surface);
  box-shadow:var(--lx-card-shadow);
  font-size:25px;
  font-weight:900;}
html[data-game="lexakude"] .column-shifters button{font-size:27px;}
html[data-game="lexakude"] .shift-arrow,html[data-game="lexakude"] .column-shifters>span{color:var(--lx-reward);}
html[data-game="lexakude"] .column-shifters>span{min-width:150px;
  font-size:22px;}
html[data-game="lexakude"] .primary-button{min-height:72px;
  border:2px solid var(--lx-border-reward);
  border-radius:16px;
  color:var(--lx-on-accent);
  background:var(--lx-primary-action-background);
  box-shadow:var(--lx-card-shadow);
  font-size:27px;
  font-weight:900;}
html[data-game="lexakude"] button:disabled{opacity:.45;}
html[data-game="lexakude"] .modal{color:var(--lx-text);
  border-color:var(--lx-border-strong);
  background:var(--lx-modal-background);
  box-shadow:var(--lx-shadow-modal);}
html[data-game="lexakude"] .modal::backdrop{background:var(--lx-overlay);}
html[data-game="lexakude"] #helpDialog{width:min(880px,calc(100vw - 32px));max-width:880px;}
html[data-game="lexakude"] .eyebrow{color:var(--lx-primary);}


html[data-game="lexakude"] .tier-overall{color:var(--lx-text-muted);}
html[data-game="lexakude"] .tier-overall strong{color:var(--lx-reward);font-family:var(--lx-font);}









html[data-game="lexakude"] .rule-row>span{color:var(--lx-on-accent);background:var(--lx-reward);}
html[data-game="lexakude"] .rule-row p{color:var(--lx-text-muted);font-size:25px;}
html[data-game="lexakude"] .complete-modal .completion-mascot img{object-position:center bottom;}
html[data-game="lexakude"] .complete-modal .complete-summary{min-height:30px;}
html[data-game="lexakude"].compact-mode .game-shell{padding-inline:4px!important;}
html[data-game="lexakude"].compact-mode .loom{padding:8px!important;}

@media (max-width:720px){


html[data-game="lexakude"] .column-shifters>span{min-width:130px;}}
@media (max-width:560px){html[data-game="lexakude"] .board-tools{gap:8px!important;}
html[data-game="lexakude"] :is(.board-tool,.tool-button){padding-inline:14px!important;font-size:27px!important;}



html[data-game="lexakude"] .column-shifters>span{min-width:110px;font-size:19px;}
html[data-game="lexakude"] .column-shifters button,html[data-game="lexakude"] .game-actions button{font-size:22px;}}
html[data-game="lexakude"][data-lexakude-player-ui="board"]{--lexakude-shell-width:900px;
  --lexakude-board-width:700px;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .status-strip{width:min(100%,var(--lexakude-shell-width))!important;
  align-self:center!important;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .loom{width:min(100%,var(--lexakude-shell-width));
  align-self:center;
  padding:12px 14px 18px;
  gap:14px;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .board-tools{width:min(100%,var(--lexakude-board-width));
  margin:0 auto 2px!important;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .board-tool{min-width:0!important;}

html[data-game="lexakude"][data-lexakude-player-ui="board"] .weave-board{width:min(100%,var(--lexakude-board-width));
  margin-inline:auto;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .feedback{width:min(100%,var(--lexakude-board-width));
  min-height:54px;
  margin:0 auto;
  padding:8px 14px;
  display:grid;
  place-items:center;
  border:1px solid var(--lx-border-subtle);
  border-radius:14px;
  background:var(--lx-primary-a09);
  line-height:1.25;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .column-shifters{width:min(100%,var(--lexakude-board-width));
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .column-shifters>span{grid-column:1/-1;
  grid-row:1;
  min-width:0;
  min-height:42px;
  padding:7px 16px;
  display:grid;
  place-items:center;
  border:1px solid var(--lx-border);
  border-radius:999px;
  color:var(--lx-reward);
  background:var(--lx-label-surface);
  font-size:22px;
  line-height:1;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .column-shifters button{min-height:86px;
  font-size:27px;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .game-actions{width:min(100%,var(--lexakude-board-width));
  margin-inline:auto;
  gap:10px;}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .game-actions button{min-height:76px;
  padding-inline:10px;
  font-size:24px;}

@media (max-width:760px){}
@media (max-width:520px){}
@media (orientation:landscape) and (max-height:700px){html[data-game="lexakude"][data-lexakude-player-ui="board"] .weave-board{width:min(100%,66dvh,620px);}
html[data-game="lexakude"][data-lexakude-player-ui="board"] .column-shifters button,html[data-game="lexakude"][data-lexakude-player-ui="board"] .game-actions button{min-height:62px;}}

/* Pelikohtainen työpöytä/tabletti-asettelu; siirretty pois yhteisestä UI-kerroksesta. */
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom{display:grid!important;grid-template-columns:minmax(620px,1.3fr) minmax(360px,.7fr)!important;grid-template-rows:auto auto auto 1fr!important;gap:16px 22px!important;align-items:start!important;}
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom>.sr-only{position:absolute!important;}
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom>.board-tools{grid-column:1/-1!important;}
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom>.weave-board{grid-column:1!important;grid-row:2/6!important;width:min(100%,760px)!important;}
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom>.feedback{grid-column:2!important;grid-row:2!important;width:100%!important;}
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom>.column-shifters{grid-column:2!important;grid-row:3!important;width:100%!important;}
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom>.game-actions{grid-column:2!important;grid-row:4!important;width:100%!important;grid-template-columns:1fr!important;}

/* Game-owned rules relocated from the former shared override layer. */
@media (min-width:0px){
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom{
    flex:1 1 auto!important;
    min-height:0!important;
    height:100%!important;
    width:100%!important;
    padding:8px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 340px!important;
    grid-template-rows:auto auto auto 1fr!important;
    gap:9px 14px!important;
    align-items:start!important;
    overflow:hidden!important;
  }

html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom>.weave-board{
    width:min(100%,620px,calc(100dvh - 250px))!important;
    max-height:100%!important;
    align-self:start!important;
    justify-self:center!important;
  }

html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .column-shifters{gap:7px!important;}

html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .column-shifters button{min-height:40px!important;font-size:14px!important;}
}

@media (max-height:820px){
html[data-responsive-layout="adaptive"][data-layout-mode="desktop"][data-game="lexakude"] .loom>.weave-board{max-width:500px!important;}
}

html[data-game="lexakude"] .weave-board[data-size="3"]{--size:3;}
html[data-game="lexakude"] .weave-board[data-size="4"]{--size:4;}
html[data-game="lexakude"] .weave-board[data-size="5"]{--size:5;}
html[data-game="lexakude"] .weave-board[data-size="6"]{--size:6;}
html[data-game="lexakude"] .weave-board[data-size="7"]{--size:7;}
html[data-game="lexakude"] .weave-board[data-size="8"]{--size:8;}
html[data-game="lexakude"] .weave-board[data-size="9"]{--size:9;}
html[data-game="lexakude"] .weave-board[data-size="10"]{--size:10;}
