/* Lineglide milestone worlds. Scoped so LabNivo's shared header stays untouched. */
body.ao-page[data-ao-theme="aurora"]{
  --tg-page:radial-gradient(ellipse at 84% 6%,#d5f4ed 0%,transparent 48%),#f2f9f7;
  --tg-frame:linear-gradient(143deg,#1f555c,#102c45 48%,#0b1b37);
  --tg-board:radial-gradient(ellipse at 52% 8%,#318d8666,transparent 70%),linear-gradient(155deg,#123f4a,#0b203c);
  --tg-border:#66bea9;--tg-accent:#7de8d0;--tg-primary:#85f5d3;--tg-primary-ink:#0b353b;
  --tg-card:linear-gradient(145deg,#ecfffb,#d9f5f5);--tg-ink:#24665f;--tg-track:#7addd0;
  --tg-halo:radial-gradient(ellipse at 42% 4%,#52ffcc46,transparent 68%);
}
body.ao-page[data-ao-theme="porcelain"]{
  --tg-page:radial-gradient(ellipse at 85% 8%,#e6e3ff,transparent 51%),#f9fbfd;
  --tg-frame:linear-gradient(140deg,#fdfdff,#d9e4f0 57%,#c5d7e6);
  --tg-board:radial-gradient(circle at 46% 18%,#fff,#deebf4 83%);
  --tg-border:#bdcfe4;--tg-accent:#365a91;--tg-primary:#426a9c;--tg-primary-ink:#fff;
  --tg-card:linear-gradient(147deg,#fff,#e5edf7);--tg-ink:#324d77;--tg-track:#7eafd3;
  --tg-halo:radial-gradient(circle at 45% 15%,#fff9,transparent 72%);
}
body.ao-page[data-ao-theme="ember"]{
  --tg-page:radial-gradient(circle at 80% 3%,#fcebdc,transparent 52%),#fcf7f0;
  --tg-frame:linear-gradient(143deg,#4b3b3c,#241e2d 54%,#171827);
  --tg-board:radial-gradient(circle at 55% 10%,#9a4d354f,transparent 64%),linear-gradient(170deg,#312a35,#171c2b);
  --tg-border:#bb8065;--tg-accent:#f4b079;--tg-primary:#ffc38d;--tg-primary-ink:#432b27;
  --tg-card:linear-gradient(145deg,#fff3e6,#f5e3dc);--tg-ink:#895443;--tg-track:#ef986d;
  --tg-halo:radial-gradient(circle at 45% 0%,#ff9d4d35,transparent 65%);
}
body.ao-page[data-ao-theme="prism"]{
  --tg-page:radial-gradient(circle at 85% 5%,#e8e1ff,transparent 50%),#f7f8ff;
  --tg-frame:linear-gradient(146deg,#2b305b,#151b42 54%,#101731);
  --tg-board:radial-gradient(circle at 30% 0%,#b48aee35,transparent 55%),radial-gradient(circle at 83% 89%,#6adcd52e,transparent 56%),#131c3c;
  --tg-border:#ac9bdb;--tg-accent:#dbbbff;--tg-primary:#d9b8ff;--tg-primary-ink:#31265e;
  --tg-card:linear-gradient(125deg,#f3e9ff,#e6efff 56%,#def9f6);--tg-ink:#6954a1;--tg-track:#b8a0ff;
  --tg-halo:conic-gradient(from 145deg at 57% 14%,#b89eff2a,#7cf4d52a,#f8bbda2a,#b89eff2a);
}
body.ao-page[data-ao-theme="verdant"]{
  --tg-page:radial-gradient(circle at 84% 10%,#e0f3df,transparent 54%),#f6faf4;
  --tg-frame:linear-gradient(148deg,#275c52,#173a42 57%,#112c38);
  --tg-board:radial-gradient(circle at 30% 2%,#48a8793c,transparent 63%),linear-gradient(160deg,#19483d,#142c35);
  --tg-border:#78bc9b;--tg-accent:#b8e6b0;--tg-primary:#b6edbd;--tg-primary-ink:#1c4e41;
  --tg-card:linear-gradient(145deg,#f0ffea,#e1f4e7);--tg-ink:#3f785b;--tg-track:#96d8b2;
  --tg-halo:radial-gradient(ellipse at 35% 0%,#9effa028,transparent 65%);
}
body.ao-page[data-ao-theme="celestial"]{
  --tg-page:radial-gradient(circle at 87% 3%,#dedfff,transparent 48%),#f5f6ff;
  --tg-frame:linear-gradient(151deg,#292f61,#171a3f 53%,#10112b);
  --tg-board:radial-gradient(circle at 21% 19%,#c3aeff30 1px,transparent 3px),radial-gradient(circle at 77% 63%,#e8e2ff40 1px,transparent 3px),radial-gradient(circle at 55% 0%,#7876cf4a,transparent 72%),#161b43;
  --tg-border:#888cc4;--tg-accent:#d0c5ff;--tg-primary:#c9c8ff;--tg-primary-ink:#27294c;
  --tg-card:linear-gradient(145deg,#eeedff,#e4eafa);--tg-ink:#6564a0;--tg-track:#a9a4ee;
  --tg-halo:radial-gradient(ellipse at 50% 0%,#e4ccff29,transparent 66%);
}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]){background:var(--tg-page);transition:background .38s}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-workspace{
  background:linear-gradient(150deg,#ffffffc9,#ffffff7f);border:1px solid color-mix(in srgb,var(--tg-border),white 63%);
  box-shadow:0 15px 60px #26355a0b;border-radius:27px;padding:15px;
}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-canvas-frame{
  background:var(--tg-frame);border-color:var(--tg-border);box-shadow:0 20px 60px #172b3940,inset 0 1px 0 #ffffff45;
}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-canvas-frame::before{
  background:var(--tg-halo);inset:-15% -12% auto;left:-12%;width:124%;height:95%;opacity:.9;
}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-board-container{
  background:var(--tg-board);border:1px solid color-mix(in srgb,var(--tg-border),transparent 30%);
  box-shadow:inset 0 0 48px #07101a29,0 1px 0 #ffffff33;
}
body.ao-page[data-ao-theme="porcelain"] .ao-board-container{box-shadow:inset 0 0 35px #96b0ca36,0 2px 14px #839eb230}
body.ao-page[data-ao-theme="porcelain"] .ao-board-head,body.ao-page[data-ao-theme="porcelain"] .ao-board-head span:last-child{color:#465e80}
body.ao-page[data-ao-theme="porcelain"] .ao-board-head .live::before{background:#4aab9b;box-shadow:0 0 9px #4aab9b}
body.ao-page[data-ao-theme="porcelain"] .ao-arrow .arrow-glow{stroke-opacity:.09}
body.ao-page[data-ao-theme="porcelain"] .ao-arrow .arrow-stroke,body.ao-page[data-ao-theme="porcelain"] .ao-arrow .arrow-head{filter:drop-shadow(0 2px 2px #7088a54d)}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-level-track span{background:linear-gradient(90deg,var(--tg-border),var(--tg-track),var(--tg-accent))}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) #ao-next-reward{color:var(--tg-ink)}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-toolbuttons button,
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-settings-trigger,
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-stageselect select{
  border-color:color-mix(in srgb,var(--tg-border),white 50%);background-color:#fffc;color:var(--tg-ink);
}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-rewards .ao-reward,
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-mode[aria-pressed="true"]{
  background:var(--tg-card);border-color:var(--tg-border);color:var(--tg-ink);
}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-reward-caption{color:var(--tg-ink)}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-reward-badge{
  background:var(--tg-primary);color:var(--tg-primary-ink);border-color:#ffffffcf;
}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-outcome button:not(.secondary),
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-paused button,
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-actions button:first-child{
  background:var(--tg-primary);color:var(--tg-primary-ink);border-color:var(--tg-border);
}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-settings-sheet{background:linear-gradient(155deg,#fff,var(--tg-card));border-left:4px solid var(--tg-border)}
body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-settings-head h2{color:var(--tg-ink)}
body.ao-page[data-ao-theme="aurora"] .ao-canvas-frame::before{animation:ao-northern-drift 8s ease-in-out infinite alternate}
body.ao-page[data-ao-theme="prism"] .ao-canvas-frame::before{animation:ao-prism-drift 13s ease-in-out infinite alternate}
body.ao-page[data-ao-theme="celestial"] .ao-canvas-frame::before{animation:ao-northern-drift 14s ease-in-out infinite alternate}
body.ao-page[data-ao-theme="ember"] .ao-arrow.is-leaving .arrow-glow{stroke-opacity:.3}
body.ao-page[data-ao-theme="prism"] .ao-arrow .arrow-shine{stroke-opacity:.52}
@keyframes ao-northern-drift{from{transform:translateX(-4%) rotate(-4deg)}to{transform:translateX(8%) rotate(5deg)}}
@keyframes ao-prism-drift{from{transform:rotate(-6deg);opacity:.6}to{transform:rotate(6deg);opacity:1}}
/* Settings — compact swatches rather than a player dashboard. */
.ao-themes-intro{margin:0 0 12px;color:#6c7891;font-size:.81rem;line-height:1.5}
.ao-theme-auto{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 12px;cursor:pointer;font-size:.82rem;font-weight:740;color:#394563}
.ao-theme-auto input,.ao-theme-effects input{width:19px;height:19px;accent-color:#7061cc;flex:0 0 auto}
.ao-theme-effects{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0;color:#65718a;font-size:.79rem;cursor:pointer}
.ao-theme-collection{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ao-theme-option{display:flex;flex-direction:column;text-align:left;gap:5px;min-width:0;padding:7px 8px 9px;
  border:1px solid #dfe3ee;background:#fff;border-radius:14px;color:#35405d;cursor:pointer;font:inherit;
  box-shadow:0 3px 9px #1b294014;transition:border-color .2s,transform .2s,box-shadow .2s}
.ao-theme-option:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1b29401c}
.ao-theme-option[aria-pressed="true"]{border:2px solid #8271de;padding:6px 7px 8px;box-shadow:0 0 0 2px #8072db26}
.ao-theme-option .ao-theme-swatch{display:flex;align-items:center;justify-content:center;gap:8px;
  height:54px;border-radius:9px;position:relative;overflow:hidden;border:1px solid #ffffff50}
.ao-theme-swatch::before{content:"";position:absolute;inset:-24%;background:linear-gradient(135deg,#fff4,transparent 55%,#fff1);transform:rotate(12deg)}
.ao-theme-swatch span{position:relative;width:23px;height:7px;border-radius:9px;background:var(--sw-arrow,#af9cff);box-shadow:0 1px 1px #0003,0 0 11px var(--sw-arrow,#af9cff);transform:rotate(-22deg)}
.ao-theme-swatch span::after{content:"";position:absolute;right:-2px;top:-4px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid var(--sw-arrow,#af9cff)}
.ao-theme-option[data-theme-id="original"] .ao-theme-swatch{background:linear-gradient(145deg,#26365f,#0d1630);--sw-arrow:#a692ff}
.ao-theme-option[data-theme-id="aurora"] .ao-theme-swatch{background:linear-gradient(135deg,#206d6d,#123951,#0a203d);--sw-arrow:#79ffda}
.ao-theme-option[data-theme-id="porcelain"] .ao-theme-swatch{background:linear-gradient(135deg,#fff,#d8e8f2);--sw-arrow:#446c9c}
.ao-theme-option[data-theme-id="ember"] .ao-theme-swatch{background:linear-gradient(135deg,#51403d,#241e2e);--sw-arrow:#ffb17d}
.ao-theme-option[data-theme-id="prism"] .ao-theme-swatch{background:linear-gradient(135deg,#32365f,#122347,#574377);--sw-arrow:#f3bbff}
.ao-theme-option[data-theme-id="verdant"] .ao-theme-swatch{background:linear-gradient(135deg,#286458,#153943);--sw-arrow:#aff6b9}
.ao-theme-option[data-theme-id="celestial"] .ao-theme-swatch{background:radial-gradient(circle at 23% 27%,#fff9 1px,transparent 2px),linear-gradient(145deg,#302e63,#131533);--sw-arrow:#cac2ff}
.ao-theme-option .ao-theme-name{font-size:.87rem;font-weight:820;line-height:1.2}
.ao-theme-option .ao-theme-state{font-size:.68rem;color:#68748e;line-height:1.25}
.ao-theme-option.is-locked{opacity:.8}
.ao-theme-option.is-locked .ao-theme-swatch{filter:saturate(.7)}
.ao-theme-option .ao-theme-state.is-active{color:#3d8274;font-weight:780}
.ao-theme-award[hidden]{display:none!important}
.ao-theme-award{margin:6px 0 2px;width:min(270px,100%);border:1px solid #ffffff66;
  background:linear-gradient(140deg,#ffffff2e,#d5c3ff1c);border-radius:12px;padding:7px 10px;
  color:#fff;box-shadow:0 4px 20px #0002}
.ao-theme-award .ao-award-icon{font-size:1.3rem;line-height:1.2;color:#fff0b5}
.ao-theme-award .ao-award-name{display:block;font-size:.98rem;font-weight:860;letter-spacing:.01em}
.ao-theme-award .ao-award-copy{display:block;font-size:.72rem;line-height:1.4;color:#e5e5ff}
body.ao-page.ao-reduce-effects .ao-canvas-frame::before{animation:none!important}
body.ao-page.ao-reduce-effects .ao-arrow.is-hinted .arrow-glow{animation:none!important;stroke-opacity:.6}
body.ao-page.ao-reduce-effects .ao-level-track span{transition:none!important}
@media(max-width:850px){
  body.ao-page[data-ao-theme]:not([data-ao-theme="original"]) .ao-workspace{padding:5px;border-radius:15px}
  .ao-theme-collection{gap:8px}
  .ao-theme-option .ao-theme-swatch{height:48px}
}
@media(max-width:430px){.ao-theme-award{padding:5px 7px}.ao-theme-award .ao-award-icon{display:none}}
@media(prefers-reduced-motion:reduce){
  body.ao-page .ao-canvas-frame::before{animation:none!important}
  .ao-theme-option{transition:none!important}
  .ao-theme-option:hover{transform:none}
}

/* v0.22 — milestone path; clear, tactile, and theme-aware, without adding
   another bulky card to the mobile game HUD. Markers are visual only. */
body.ao-page .ao-level-reward-top{display:flex;align-items:baseline;gap:12px;margin-bottom:5px}
body.ao-page #ao-progress-heading{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tg-ink,#5c6290);font-weight:800;letter-spacing:.002em}
body.ao-page #ao-next-reward{flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--tg-ink,#6c5bbb)}
body.ao-page .ao-progress-track-shell{position:relative;margin:0 10px;padding:4px 0 19px}
body.ao-page .ao-level-track{
  height:10px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,#d9dce7,#eef0f7 60%,#f9faff);
  border:1px solid #c9cfdf;border-radius:99px;
  box-shadow:inset 0 2px 5px #242d5340,0 1px 0 #fff;
}
body.ao-page .ao-level-track #ao-level-fill{
  position:relative;display:block;height:100%;
  border-radius:99px;
  background:linear-gradient(90deg,var(--tg-border,#706bc7),var(--tg-track,#9180ea) 65%,var(--tg-accent,#80e9d5));
  box-shadow:inset 0 1px 0 #fff9,0 0 11px var(--tg-track,#8978ea);
  transition:width .32s ease;
}
body.ao-page .ao-level-track #ao-level-fill::after{
  content:"";position:absolute;inset:0 0 47%;border-radius:inherit;
  background:linear-gradient(180deg,#fff9,#fff0);pointer-events:none
}
body.ao-page .ao-milestone-markers{position:absolute;inset:4px 0 auto;height:10px;pointer-events:none}
body.ao-page .ao-milestone-marker{
  position:absolute;left:var(--ao-milestone-x);top:50%;
  width:17px;height:17px;transform:translate(-50%,-50%);
  border-radius:50%;border:3px solid #fff;
  background:linear-gradient(140deg,#bfc7d9,#e4eaf4);
  box-shadow:0 1px 4px #23305051,inset 0 1px 2px #fff;
  transition:background .2s,box-shadow .2s;
}
body.ao-page .ao-milestone-marker[data-state="earned"]{
  background:linear-gradient(140deg,var(--tg-accent,#d0a7ff),var(--tg-primary,#8b87ed));
  box-shadow:0 0 0 2px var(--tg-track,#9b88eb),0 0 12px var(--tg-track,#9b88eb),inset 0 1px 1px #fff9;
}
body.ao-page .ao-milestone-marker::after{
  position:absolute;top:16px;left:50%;transform:translateX(-50%);
  font-size:.59rem;line-height:1;font-weight:780;letter-spacing:.02em;color:#8590a5
}
body.ao-page .ao-milestone-marker[data-state="earned"]::after{color:var(--tg-ink,#7264aa)}
body.ao-page #ao-milestone-25::after{content:"25"}
body.ao-page #ao-milestone-50::after{content:"50"}
body.ao-page #ao-milestone-100::after{content:"100"}
body.ao-page #ao-milestone-200::after{content:"200"}
body.ao-page[data-ao-theme="porcelain"] .ao-level-track{
  background:linear-gradient(180deg,#bfcfdf,#e2edf7 66%,#fff);
  border-color:#a2b5cf
}
body.ao-page.ao-reduce-effects .ao-level-track #ao-level-fill{transition:none!important}
@media(max-width:850px){
  body.ao-page .ao-progress-track-shell{padding:3px 0 2px;margin:0 9px}
  body.ao-page .ao-level-track{height:9px}
  body.ao-page .ao-milestone-markers{top:3px;height:9px}
  body.ao-page .ao-milestone-marker{width:15px;height:15px;border-width:2.5px}
  body.ao-page .ao-milestone-marker::after{display:none}
  body.ao-page .ao-level-reward-top{gap:7px;margin-bottom:6px}
}
@media(max-width:390px){
  body.ao-page #ao-progress-heading{font-size:.61rem}
  body.ao-page #ao-next-reward{font-size:.62rem}
}
@media(prefers-reduced-motion:reduce){
  body.ao-page .ao-milestone-marker,body.ao-page .ao-level-track #ao-level-fill{transition:none!important}
}

body.ao-page #ao-milestone-current::after{content:attr(data-label)}
