:root {
  color-scheme: dark;
  --lb-night: #04111f;
  --lb-deep: #061b2c;
  --lb-ink: #09273a;
  --lb-panel: rgba(4, 31, 42, .94);
  --lb-panel-2: rgba(3, 22, 34, .96);
  --lb-line: rgba(88, 213, 231, .48);
  --lb-text: #f8f1dc;
  --lb-muted: #b6d6db;
  --lb-aqua: #67ecf3;
  --lb-gold: #ffc95e;
  --lb-copper: #b56422;
  --lb-wood: #5e2c12;
  --lb-danger: #ff8176;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
.lb-page [hidden] { display: none !important; }

html { min-width: 320px; background: var(--lb-night); scroll-behavior: smooth; }

body {
  min-height: 100vh;
  margin: 0;
  color: var(--lb-text);
  background:
    radial-gradient(circle at 17% 1%, rgba(56, 155, 177, .18), transparent 30rem),
    radial-gradient(circle at 88% 22%, rgba(39, 98, 158, .19), transparent 34rem),
    linear-gradient(180deg, #061728 0, #03111e 56%, #020b13 100%);
}

button, a { font: inherit; }
a { color: #8ef4fb; text-underline-offset: .2em; }
a:hover { color: #fff3bb; }

.lb-skip {
  position: fixed;
  z-index: 100;
  left: 1rem;
  top: -5rem;
  padding: .75rem 1rem;
  border-radius: .5rem;
  background: #fff;
  color: #00111e;
  font-weight: 800;
}
.lb-skip:focus { top: 1rem; }

.lb-nav,
.lb-site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(1500px, calc(100% - 2rem));
  margin: 0 auto;
  color: var(--lb-muted);
}

.lb-nav { min-height: 3rem; font-size: .9rem; }
.lb-nav a { text-decoration: none; font-weight: 700; }
.lb-nav span { letter-spacing: .13em; text-transform: uppercase; font-size: .72rem; }

main { width: 100%; }

.lb-island {
  width: min(1500px, calc(100% - 1rem));
  margin: 0 auto;
  padding: .55rem;
  border: 1px solid rgba(94, 219, 239, .2);
  border-radius: 1.25rem;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(145deg, rgba(12, 44, 61, .97), rgba(2, 18, 30, .99));
  box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, .48), inset 0 1px rgba(255, 255, 255, .07);
}

.lb-sign {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.7rem, 2vw, 2rem);
  width: min(42rem, calc(100% - 1rem));
  min-height: 4.75rem;
  margin: -.2rem auto .35rem;
  padding: .45rem 2rem .55rem;
  text-align: center;
  border: 2px solid #d48a35;
  border-radius: .45rem 1.3rem .5rem 1.2rem / .85rem .5rem 1rem .55rem;
  color: #fff3c9;
  background:
    linear-gradient(100deg, transparent 0 10%, rgba(255,255,255,.05) 10.3% 10.8%, transparent 11% 64%, rgba(255,255,255,.035) 64.4% 65%, transparent 65.3%),
    linear-gradient(#6f3216, #3d1a0d 65%, #2b1109);
  box-shadow: inset 0 0 0 3px rgba(34, 12, 5, .58), inset 0 0 1.4rem rgba(0,0,0,.46), 0 .4rem 1.1rem rgba(0,0,0,.38);
}

.lb-sign::before,
.lb-sign::after {
  content: "";
  position: absolute;
  top: 50%;
  width: .66rem;
  height: .66rem;
  border-radius: 50%;
  border: 1px solid #f6c470;
  background: radial-gradient(circle at 35% 32%, #fff0a0 0 8%, #b46b20 32%, #49200b 70%);
  box-shadow: 0 1px 4px #000;
  transform: translateY(-50%);
}
.lb-sign::before { left: .65rem; }
.lb-sign::after { right: .65rem; }
.lb-sign > span { color: #ffc966; font-size: 1.45rem; filter: drop-shadow(0 2px 1px #170805); }
.lb-sign h1 { margin: -.05rem 0 0; font: 800 clamp(1.35rem, 3vw, 2.1rem)/1 Georgia, serif; letter-spacing: .035em; text-shadow: 0 2px 0 #160a05, 0 0 .8rem rgba(255,213,111,.2); }
.lb-sign p { margin: .1rem 0 0; color: #efd4a0; font: 700 .84rem/1.15 Georgia, serif; letter-spacing: .17em; text-transform: uppercase; }
.lb-sign .lb-eyebrow { margin: 0 0 .3rem; color: #89eff7; font: 700 .64rem/1 system-ui, sans-serif; letter-spacing: .21em; }

.lb-eyebrow { margin: 0 0 .35rem; color: var(--lb-aqua); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.lb-season-strip {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .3rem 1.2rem;
  min-height: 1.75rem;
  padding: .25rem 1rem;
  color: #c4e2e4;
  font-size: .73rem;
  letter-spacing: .025em;
}
.lb-season-strip span + span::before { content: "◆"; margin-right: 1.2rem; color: #cb923e; font-size: .58rem; }

.lb-game-grid {
  display: grid;
  grid-template-columns: minmax(10.8rem, .72fr) minmax(32rem, 3.65fr) minmax(13rem, .9fr);
  align-items: start;
  gap: .6rem;
}

.lb-panel {
  position: relative;
  overflow: hidden;
  min-width: 0;
  border: 2px solid #9c632b;
  border-radius: .65rem;
  color: #f7efda;
  background:
    repeating-linear-gradient(5deg, transparent 0 5px, rgba(255,255,255,.012) 6px 7px),
    radial-gradient(ellipse at 30% 10%, rgba(35, 91, 96, .25), transparent 60%),
    linear-gradient(145deg, #062e35, #031e29 62%, #021721);
  box-shadow: inset 0 0 0 2px rgba(20,7,2,.58), inset 0 0 1.8rem rgba(0,0,0,.38), 0 .5rem 1.4rem rgba(0,0,0,.3);
}
.lb-panel::before,
.lb-panel::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: .48rem;
  height: .48rem;
  border: 1px solid #ffc45d;
  border-radius: 50%;
  background: #7b3b0c;
  box-shadow: inset 1px 1px #eeb35a, 0 1px 3px #000;
}
.lb-panel::before { top: .42rem; left: .42rem; }
.lb-panel::after { right: .42rem; bottom: .42rem; }

.lb-score-panel { padding: 1rem .75rem .8rem; }
.lb-score-block { padding: .15rem 0 .7rem; text-align: center; border-bottom: 1px solid rgba(151,229,230,.2); }
.lb-score-block span,
.lb-stat-pair span,
.lb-progress-block span { display: block; color: #a8d3d3; font: 700 .67rem/1.25 system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.lb-score-block strong { display: block; margin-top: .12rem; color: #fff4c7; font: 800 clamp(1.75rem, 2.8vw, 2.65rem)/1 Georgia, serif; font-variant-numeric: tabular-nums; text-shadow: 0 0 .8rem rgba(255,196,73,.27), 0 2px #10100b; }
.lb-round-label {
  display: inline-block;
  margin-top: .42rem;
  padding: .22rem .52rem;
  border: 1px solid rgba(255,210,104,.7);
  border-radius: 999px;
  color: #ffe49a;
  background: rgba(67,31,8,.72);
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 0 .65rem rgba(242,172,55,.12);
  font: 800 .64rem/1.1 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.lb-score-block.lb-best { padding: .55rem 0; }
.lb-score-block.lb-best strong { font-size: 1.35rem; }
.lb-stat-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .2rem; padding: .6rem 0; text-align: center; border-bottom: 1px solid rgba(151,229,230,.2); }
.lb-stat-pair > div + div { border-left: 1px solid rgba(151,229,230,.18); }
.lb-stat-pair strong { display: block; min-height: 1.7rem; margin-top: .2rem; color: var(--lb-aqua); font: 800 1.2rem/1.25 Georgia, serif; letter-spacing: .07em; }
.lb-stat-pair #lbLives { color: #fff0b2; font-size: 1rem; letter-spacing: .15em; }
.lb-stat-pair #lbLives span { display: inline; color: inherit; font: inherit; letter-spacing: inherit; }
.lb-stat-pair #lbLives .is-lost { color: #627478; }
.lb-progress-block { padding: .65rem 0; }
.lb-progress-block > div:first-child { display: flex; justify-content: space-between; align-items: center; }
.lb-progress-block > div:first-child strong { color: #fff0c0; font-size: .78rem; }
.lb-progress { overflow: hidden; height: .48rem; margin-top: .42rem; border: 1px solid #546865; border-radius: 999px; background: #020b10; box-shadow: inset 0 1px 4px #000; }
.lb-progress span { width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1abac9, #8efff4, #ffd162); box-shadow: 0 0 .55rem #41e5ef; transition: width .28s ease; }

.lb-legend { padding-top: .2rem; }
.lb-legend h2 { margin: .35rem 0 .45rem; color: #ffdc8b; font: 700 1.05rem/1.1 Georgia, serif; text-align: center; }
.lb-legend p { display: grid; grid-template-columns: 1rem 1fr auto; gap: .38rem; align-items: center; margin: .35rem 0; color: #cfdfdb; font-size: .7rem; }
.lb-legend p strong { color: #fff3c8; font-variant-numeric: tabular-nums; }
.lb-legend i { display: block; width: .75rem; height: .58rem; border-radius: .15rem; box-shadow: 0 1px 2px #000; }
.lb-legend .is-stone { background: linear-gradient(135deg, #adaca3, #4c5756); border: 1px solid #c8c0a8; }
.lb-legend .is-shell { border-radius: 50% 50% 48% 48%; background: radial-gradient(circle at 40% 20%, #fff6d8, #df8d77 47%, #783836); border: 1px solid #ffd9b2; }
.lb-legend .is-chest { background: linear-gradient(#8a451a 45%, #e4a62e 47% 57%, #54230d 59%); border: 1px solid #f8cb5b; }
.lb-small-note { margin: .7rem 0 .1rem; color: #91b9ba; font: italic .66rem/1.35 Georgia, serif; text-align: center; }

.lb-board-column { min-width: 0; }
.lb-board-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: .35rem solid #3a1a0c;
  border-radius: .65rem;
  background: #02111c;
  box-shadow: 0 0 0 2px #b16d2b, 0 0 0 3px #2c1409, 0 .85rem 2.3rem rgba(0,0,0,.55), inset 0 0 1rem #000;
}
.lb-board-wrap::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: .25rem;
  pointer-events: none;
  border: 1px solid rgba(255,224,145,.25);
  border-radius: .3rem;
  box-shadow: inset 0 0 2.5rem rgba(0,0,0,.42);
}
#lbBoard { display: block; width: 100%; height: 100%; outline: 0; touch-action: none; cursor: default; background: #031725; }
#lbBoard:focus-visible { box-shadow: inset 0 0 0 4px #76f4ff, inset 0 0 1.2rem #76f4ff; }

.lb-overlay {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(.6rem, 3vw, 2rem);
  overflow: auto;
  overscroll-behavior: contain;
  background: radial-gradient(circle at 50% 45%, rgba(3,29,43,.25), rgba(1,8,16,.82));
  backdrop-filter: blur(2px);
}
.lb-overlay[hidden] { display: none; }
.lb-overlay-card {
  width: min(31rem, 94%);
  padding: clamp(1rem, 3.2vw, 2rem);
  border: 1px solid rgba(110, 236, 244, .52);
  border-radius: .9rem;
  text-align: center;
  background: linear-gradient(145deg, rgba(4,39,50,.95), rgba(2,16,29,.97));
  box-shadow: 0 1.2rem 3rem rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.08);
}
.lb-overlay-card h2 { margin: .25rem 0 .65rem; color: #fff2c4; font: 800 clamp(1.3rem, 3.5vw, 2rem)/1.08 Georgia, serif; text-shadow: 0 2px #100807; }
.lb-overlay-card p:not(.lb-eyebrow) { margin: .4rem auto 1rem; max-width: 29rem; color: #c7e2df; font-size: clamp(.76rem, 1.6vw, .92rem); line-height: 1.55; }
.lb-overlay.is-round-transition {
  background:
    radial-gradient(circle at 68% 25%, rgba(246,243,204,.32), transparent 9%),
    radial-gradient(circle at 50% 45%, rgba(11,84,99,.32), rgba(1,8,16,.88));
}
.lb-overlay.is-round-transition .lb-overlay-card {
  border-color: #ffd56e;
  background: linear-gradient(145deg, rgba(8,58,67,.97), rgba(25,20,31,.98));
  box-shadow: 0 1.2rem 3rem rgba(0,0,0,.64), inset 0 1px rgba(255,255,255,.12), 0 0 2.2rem rgba(255,201,77,.2);
  animation: lb-moon-awakes 1.6s ease-out both;
}
.lb-overlay.is-round-transition .lb-overlay-card::before {
  content: "☾  ☾";
  display: block;
  margin-bottom: .35rem;
  color: #fff1b0;
  font: 800 clamp(1.25rem, 3.2vw, 2rem)/1 Georgia, serif;
  letter-spacing: .45em;
  text-indent: .45em;
  text-shadow: 0 0 1rem #ffe19b;
}
.lb-overlay.is-round-transition .lb-overlay-card h2 { color: #fff0aa; text-shadow: 0 2px #351800, 0 0 1.2rem rgba(255,222,129,.45); }
.lb-overlay.is-round-transition .lb-overlay-card button { display: none; }
@keyframes lb-moon-awakes {
  0% { opacity: 0; transform: scale(.9); }
  22%, 82% { opacity: 1; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.015); }
}
.lb-overlay-card button,
.lb-controls button {
  min-height: 2.35rem;
  padding: .52rem .95rem;
  border: 1px solid #5fcbd6;
  border-radius: .55rem;
  color: #eaffff;
  background: linear-gradient(#0b4050, #062638);
  font-weight: 800;
  cursor: pointer;
  box-shadow: inset 0 1px rgba(255,255,255,.09), 0 2px 5px rgba(0,0,0,.32);
}
.lb-overlay-card button + button { margin-left: .45rem; }
.lb-overlay-card button.lb-primary { border-color: #efb756; color: #241000; background: linear-gradient(#ffe48e, #d88b29); text-shadow: 0 1px rgba(255,255,255,.4); }
button:hover:not(:disabled) { filter: brightness(1.15); }
button:focus-visible { outline: 3px solid #78eff9; outline-offset: 2px; }
button:disabled { opacity: .52; cursor: wait; }

.lb-combo-flash {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 39%;
  opacity: 0;
  pointer-events: none;
  color: #fff4ad;
  font: 900 clamp(1rem, 4vw, 2.4rem)/1 Georgia, serif;
  text-align: center;
  text-shadow: 0 2px #351400, 0 0 1.2rem #32eaff;
  transform: translate(-50%, 1rem) scale(.88);
}
.lb-combo-flash.is-visible { animation: lb-flash .8s cubic-bezier(.2,.8,.2,1) both; }
@keyframes lb-flash { 0% { opacity: 0; transform: translate(-50%,1.4rem) scale(.7); } 20%,70% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,-1.5rem) scale(1.08); } }

.lb-instructions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .35rem 1.25rem;
  padding: .6rem .4rem .18rem;
  color: #acd1d4;
  font-size: .7rem;
}
kbd { display: inline-grid; min-width: 1.35rem; min-height: 1.25rem; place-items: center; margin: 0 .08rem; border: 1px solid #668b91; border-bottom-width: 2px; border-radius: .25rem; color: #efffff; background: #092b38; font: 700 .68rem/1 monospace; }

.lb-rankings { padding: .8rem .68rem .7rem; }
.lb-rankings section + section { margin-top: .75rem; padding-top: .65rem; border-top: 1px solid rgba(148,218,220,.23); }
.lb-rankings h2 { margin: 0; color: #ffe3a0; font: 700 1.08rem/1.1 Georgia, serif; text-align: center; }
.lb-rankings section > p { margin: .18rem 0 .52rem; color: #91babc; font: italic .64rem/1.2 Georgia, serif; text-align: center; }
.lb-rank-list { display: grid; gap: .08rem; margin: 0; padding: 0; list-style: none; counter-reset: lb-rank; }
.lb-rank-list li { display: grid; grid-template-columns: 1.25rem minmax(0,1fr) auto; gap: .35rem; align-items: center; min-height: 1.35rem; padding: .08rem .18rem; border-bottom: 1px dotted rgba(143,201,203,.28); font: .7rem/1.15 Georgia, serif; }
.lb-rank-list li > span:first-child {
  display: grid;
  min-width: 1.15rem;
  place-items: center;
  color: #ffe4a3;
  font-family: Inter, ui-sans-serif, system-ui, "Segoe UI", sans-serif;
  font-size: .76rem;
  font-weight: 800;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1;
  text-align: center;
  text-shadow: 0 1px 2px #001018;
}
.lb-rank-list li > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-rank-list li strong {
  color: #fff5d4;
  font-family: Inter, ui-sans-serif, system-ui, "Segoe UI", sans-serif;
  font-size: .76rem;
  font-weight: 800;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1;
  text-shadow: 0 1px 2px #001018;
}
.lb-rank-list li.is-me { border-radius: .2rem; color: #fff6ce; background: rgba(51,207,221,.17); box-shadow: inset 2px 0 var(--lb-aqua); }
.lb-rank-list li:nth-child(1) > span:first-child { color: #ffd259; }
.lb-rank-list li:nth-child(2) > span:first-child { color: #e0eef2; }
.lb-rank-list li:nth-child(3) > span:first-child { color: #e6a673; }
.lb-prizes { display: flex; flex-wrap: wrap; justify-content: center; gap: .18rem .35rem; margin: .35rem 0 .4rem; padding: .38rem .2rem; border: 1px solid rgba(221,173,85,.35); border-radius: .35rem; background: rgba(1,11,18,.3); font-size: .58rem; text-transform: uppercase; }
.lb-prizes span { color: #d8e4df; }
.lb-prizes span:first-child { color: #ffdc73; }
.lb-prizes span:nth-child(3) { color: #e6aa7c; }
.lb-prizes b { font-size: .7rem; }
.lb-prizes small { flex-basis: 100%; color: #8fb6b6; text-align: center; font-size: .52rem; letter-spacing: .05em; }
.lb-prizes.is-preview span { opacity: .58; }
.lb-prizes.is-preview small { color: #ffd080; }

.lb-controls { display: flex; align-items: center; justify-content: space-between; gap: .6rem 1rem; padding: .65rem .55rem .1rem; }
.lb-message { margin: 0; color: #d5eeee; font-size: .78rem; }
.lb-controls > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.lb-controls button { min-height: 2rem; padding: .38rem .65rem; font-size: .7rem; }

.lb-stats { display: grid; grid-template-columns: 1.4fr 2fr; gap: 1rem; align-items: center; margin-top: .65rem; padding: 1rem; border: 1px solid rgba(111,208,220,.35); border-radius: .75rem; background: rgba(1,14,24,.75); }
.lb-stats h2 { margin: 0; font: 700 1.35rem Georgia, serif; }
.lb-stats p { margin: .35rem 0 0; color: var(--lb-muted); font-size: .78rem; }
.lb-stats dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; margin: 0; }
.lb-stats dl div { padding: .55rem; border: 1px solid rgba(108,202,212,.22); border-radius: .45rem; text-align: center; background: rgba(11,51,62,.48); }
.lb-stats dt { color: #a9ced0; font-size: .63rem; text-transform: uppercase; }
.lb-stats dd { margin: .15rem 0 0; color: #fff1be; font: 700 1.15rem Georgia, serif; }

.lb-point-guide {
  margin-top: 1rem;
  padding: clamp(.85rem, 2vw, 1.5rem);
  border: 1px solid rgba(111,208,220,.35);
  border-radius: .8rem;
  background: radial-gradient(ellipse at 95% 0, rgba(43,112,124,.15), transparent 55%), rgba(1,14,24,.82);
  box-shadow: inset 0 1px rgba(255,255,255,.04);
}
.lb-guide-heading { margin-bottom: 1.15rem; }
.lb-guide-heading h2 { margin: 0; color: #fff0bd; font: 700 clamp(1.35rem, 2.3vw, 1.75rem)/1.2 Georgia, serif; }
.lb-guide-heading > p:last-child { margin: .45rem 0 0; color: var(--lb-muted); font-size: .88rem; line-height: 1.5; }
.lb-target-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.lb-target-card {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: .65rem .5rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid rgba(213,170,87,.4);
  border-radius: .6rem;
  background: linear-gradient(135deg, rgba(18,63,70,.65), rgba(4,28,40,.8));
}
.lb-point-guide h3 { margin: 0; color: #ffe3a0; font: 700 1.16rem/1.25 Georgia, serif; }
.lb-piece-display { border-radius: 50%; background: radial-gradient(ellipse, rgba(115,200,201,.17), transparent 70%); }
.lb-guide-piece { display: block; width: 140px; height: auto; max-width: 100%; aspect-ratio: 7 / 4; }
.lb-hit-value { margin: .35rem 0 0; color: var(--lb-muted); font-size: .76rem; line-height: 1.5; }
.lb-hit-value strong { display: block; color: #fff3bd; font: 800 1.9rem/1.15 Inter, ui-sans-serif, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.lb-target-total { grid-column: 1 / -1; margin: 0; padding-top: .7rem; border-top: 1px solid rgba(126,191,195,.2); color: var(--lb-muted); font-size: .78rem; line-height: 1.55; }
.lb-target-total strong { color: #e4eeea; }
.lb-bonus-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: .8rem; }
.lb-bonus-cards article { min-width: 0; padding: clamp(.9rem, 1.5vw, 1.25rem); border: 1px solid rgba(109,207,219,.25); border-radius: .6rem; background: rgba(10,41,52,.5); }
.lb-bonus-cards article > p:not(.lb-eyebrow) { margin: .7rem 0 0; color: #c4dddc; font-size: .84rem; line-height: 1.6; }
.lb-bonus-cards strong { color: #f8f0d8; }
.lb-combo-steps { display: flex; align-items: center; gap: .55rem; margin-top: .9rem; }
.lb-combo-steps span,
.lb-combo-steps strong { padding: .42rem .6rem; border: 1px solid rgba(96,220,226,.35); border-radius: .4rem; color: #b9ffff; background: #062a36; font-size: 1rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.lb-combo-steps i { color: #8db7b8; font-style: normal; }
.lb-combo-steps strong { color: #ffe194; border-color: #a07832; background: #362a13; }
.lb-bonus-cards article > .lb-guide-example { padding-top: .7rem; border-top: 1px solid rgba(126,191,195,.18); }
.lb-bonus-cards article > .lb-guide-note { color: #9ebfc2; font-size: .78rem; }
.lb-bonus-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: .9rem 0 0; }
.lb-bonus-values > div { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .65rem .35rem; border: 1px solid rgba(222,178,88,.3); border-radius: .4rem; background: rgba(49,35,15,.4); text-align: center; }
.lb-bonus-values dt { color: #e1d5ba; font-size: .73rem; line-height: 1.4; }
.lb-bonus-values dd { order: -1; margin: 0; color: #ffe194; font: 800 1.45rem/1.2 Inter, ui-sans-serif, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.lb-moon-guide { display: flex; align-items: center; gap: 1rem; margin-top: .95rem; padding: .75rem 1rem; border-left: 2px solid #c29544; border-radius: .2rem .5rem .5rem .2rem; background: rgba(89,65,24,.15); }
.lb-moon-guide > span { flex: 0 0 auto; color: #ffe4a0; font: 700 1.75rem Georgia, serif; white-space: nowrap; text-shadow: 0 0 1rem rgba(255,212,118,.28); }
.lb-moon-guide p { margin: 0; color: #c9d7d4; font-size: .8rem; line-height: 1.6; }
.lb-moon-guide strong { color: #ffe3a0; }

.lb-information {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  width: min(1420px, calc(100% - 2rem));
  margin: 1.2rem auto 2rem;
}
.lb-information article { padding: clamp(1rem, 2vw, 1.45rem); border: 1px solid rgba(104,207,218,.22); border-radius: .8rem; color: #c9dddd; background: rgba(3,23,36,.75); box-shadow: inset 0 1px rgba(255,255,255,.035); }
.lb-information h2 { margin: 0 0 .65rem; color: #fff0bd; font: 700 1.22rem/1.2 Georgia, serif; }
.lb-information p,
.lb-information li { font-size: .86rem; line-height: 1.62; }
.lb-information p { margin: .65rem 0 0; }
.lb-information ol { padding-left: 1.3rem; }
.lb-information li + li { margin-top: .45rem; }
.lb-site-footer { min-height: 3.5rem; border-top: 1px solid rgba(123,206,215,.13); font-size: .75rem; }
.lb-site-footer span { margin-right: auto; }

.is-embed .lb-nav,
.is-embed .lb-information,
.is-embed .lb-site-footer { display: none; }
.is-embed .lb-island { width: 100%; min-height: 100vh; border: 0; border-radius: 0; }
.is-embed .lb-sign { margin-top: 0; }

@media (max-width: 1120px) {
  .lb-game-grid { grid-template-columns: 10rem minmax(28rem, 1fr); }
  .lb-rankings { grid-column: 1 / -1; display: grid; grid-template-columns: .62fr 1.6fr; gap: 1rem; }
  .lb-rankings section + section { margin: 0; padding: 0 0 0 1rem; border-top: 0; border-left: 1px solid rgba(148,218,220,.23); }
  .lb-season-ranking .lb-rank-list { grid-template-columns: 1fr 1fr; column-gap: 1rem; }
  .lb-information { grid-template-columns: 1fr 1fr; }
  .lb-information article:last-child { grid-column: 1 / -1; }
  .lb-target-card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .lb-hit-value strong { display: inline; margin-right: .2rem; }
}

@media (max-width: 720px) {
  .lb-nav { width: calc(100% - 1rem); font-size: .75rem; }
  .lb-nav span { display: none; }
  .lb-island { width: 100%; padding: .35rem; border-width: 0; border-radius: 0; }
  .lb-sign { min-height: 3.8rem; padding-inline: 1.5rem; }
  .lb-sign > span { display: none; }
  .lb-sign h1 { font-size: 1.25rem; }
  .lb-sign p { font-size: .66rem; }
  .lb-season-strip { gap: .2rem .5rem; font-size: .62rem; }
  .lb-season-strip span + span::before { margin-right: .5rem; }
  .lb-game-grid { display: flex; flex-direction: column; }
  .lb-board-column { order: 1; width: 100%; }
  .lb-score-panel { order: 2; width: 100%; display: grid; grid-template-columns: .9fr 1fr 1fr; gap: .45rem; align-items: center; padding: .55rem .65rem; }
  .lb-score-panel .lb-score-block,
  .lb-score-panel .lb-stat-pair { padding: 0; border: 0; }
  .lb-score-panel .lb-score-block strong { font-size: 1.4rem; }
  .lb-score-panel .lb-best,
  .lb-score-panel .lb-progress-block { display: none; }
  .lb-score-panel .lb-legend { grid-column: 1 / -1; display: flex; justify-content: center; gap: .75rem; padding: 0; }
  .lb-legend h2,
  .lb-small-note { display: none; }
  .lb-legend p { display: flex; margin: 0; }
  .lb-rankings { order: 3; width: 100%; grid-template-columns: 1fr; }
  .lb-rankings section + section { margin-top: .6rem; padding: .6rem 0 0; border-top: 1px solid rgba(148,218,220,.23); border-left: 0; }
  .lb-season-ranking .lb-rank-list { grid-template-columns: 1fr 1fr; column-gap: .65rem; }
  .lb-controls { flex-direction: column; align-items: stretch; }
  .lb-controls > div { justify-content: stretch; }
  .lb-controls button { flex: 1; }
  .lb-message { text-align: center; }
  .lb-instructions { font-size: .62rem; }
  .lb-information { display: block; width: calc(100% - 1rem); margin-top: .7rem; }
  .lb-information article + article { margin-top: .6rem; }
  .lb-stats { grid-template-columns: 1fr; }
  .lb-target-cards, .lb-bonus-cards { grid-template-columns: 1fr; }
  .lb-target-card { grid-template-columns: 140px minmax(0, 1fr); justify-items: stretch; text-align: left; }
  .lb-hit-value strong { display: block; margin-right: 0; }
  .lb-site-footer { width: calc(100% - 1rem); flex-wrap: wrap; padding-block: .75rem; }
}

@media (max-width: 430px) {
  .lb-season-strip span:nth-child(2) { display: none; }
  .lb-season-strip span:last-child::before { display: none; }
  .lb-board-wrap { border-width: .24rem; border-radius: .35rem; }
  .lb-overlay-card { padding: .8rem; }
  .lb-overlay-card h2 { font-size: 1.12rem; }
  .lb-overlay-card p:not(.lb-eyebrow) { margin-bottom: .6rem; font-size: .68rem; line-height: 1.35; }
  .lb-overlay-card button { min-height: 2rem; padding: .38rem .55rem; font-size: .72rem; }
  .lb-season-ranking .lb-rank-list { grid-template-columns: 1fr; }
  .lb-instructions span:nth-child(2),
  .lb-instructions span:nth-child(3) { display: none; }
  .lb-stats dl { grid-template-columns: 1fr 1fr; }
  .lb-target-card { grid-template-columns: 100px minmax(0, 1fr); padding: .7rem; }
  .lb-guide-piece { width: 100px; }
  .lb-combo-steps { gap: .3rem; }
  .lb-combo-steps span, .lb-combo-steps strong { padding: .35rem .42rem; font-size: .9rem; }
  .lb-bonus-values { grid-template-columns: 1fr; }
  .lb-bonus-values > div { flex-direction: row; justify-content: flex-start; gap: .8rem; padding: .5rem .65rem; text-align: left; }
  .lb-bonus-values dd { min-width: 4rem; font-size: 1.25rem; }
  .lb-bonus-values dt { font-size: .8rem; }
  .lb-moon-guide { gap: .7rem; padding: .7rem; }
  .lb-moon-guide > span { font-size: 1.25rem; }
}

@media (max-width: 360px) {
  .lb-overlay { padding: .2rem; place-items: safe center; }
  .lb-overlay-card { width: 98%; padding: .35rem .45rem; border-radius: .55rem; }
  .lb-overlay-card .lb-eyebrow { display: none; }
  .lb-overlay-card h2 { margin: .05rem 0 .25rem; font-size: .92rem; line-height: 1.03; }
  .lb-overlay-card p:not(.lb-eyebrow) { margin: .15rem auto .3rem; font-size: .58rem; line-height: 1.18; }
  .lb-overlay-card button { min-height: 1.7rem; padding: .22rem .4rem; font-size: .64rem; }
  .lb-overlay-card button + button { margin-left: .2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

@media (forced-colors: active) {
  .lb-panel, .lb-board-wrap, .lb-overlay-card, .lb-point-guide, .lb-target-card, .lb-bonus-cards article { border: 2px solid CanvasText; }
  .lb-progress span { background: Highlight; }
}
