:root{
  --bg:#101214;
  --surface:#181B20;
  --surface2:#20242A;
  --text:#F2EFE8;
  --muted:#C7CBD1;
  --gold:#D6B458;
  --gold-hover:#F0D47A;
  --line:#3A3F47;
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:18px;line-height:1.55;
}
a{color:inherit}
.header{
  min-height:76px;position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:10px clamp(18px,4vw,48px);
  background:rgba(16,18,20,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;color:var(--gold-hover)}
.brand img{width:56px;height:56px;object-fit:contain}
.nav{display:flex;gap:20px}
.nav a{text-decoration:none;color:var(--muted);font-size:16px;font-weight:700}
.nav a:hover{color:var(--gold-hover)}
.menu{display:none}
main{max-width:1180px;margin:auto;padding:0 28px 64px}
.hero{min-height:610px;display:grid;grid-template-columns:1.45fr .75fr;align-items:center;gap:42px;padding:54px 0}
.hero-logo{width:100%;max-width:400px;margin:auto}
.kicker{margin:0 0 8px;color:var(--gold);font-size:15px;font-weight:800;letter-spacing:.12em}
h1{font-size:clamp(48px,5vw,56px);line-height:1.08;margin:0 0 18px;max-width:780px}
h2{font-size:32px;line-height:1.2;margin:0 0 12px}
h3{font-size:22px;line-height:1.25;margin:0 0 10px}
.lead{max-width:780px;color:var(--muted);font-size:19px}
.dolly,.finder,.card,.trust{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)
}
.dolly{margin-top:28px;padding:24px}
.dolly h2{color:var(--gold-hover)}
.actions{display:flex;gap:12px;flex-wrap:wrap}
button,select,input{
  min-height:48px;border-radius:12px;font:inherit;font-size:17px
}
button{
  border:1px solid var(--gold);background:var(--gold);color:#171717;font-weight:800;padding:10px 18px;cursor:pointer
}
button:hover{background:var(--gold-hover)}
button.secondary{background:var(--surface2);color:var(--text);border-color:var(--line)}
button.secondary:hover{border-color:var(--gold);background:#292E35}
.finder{display:grid;grid-template-columns:.7fr 1.3fr;gap:26px;align-items:end;padding:26px;margin:0 0 24px}
.find-controls{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}
input,select{
  width:100%;padding:10px 14px;background:#111418;color:var(--text);border:1px solid var(--line)
}
input::placeholder{color:#AEB3BA}
input:focus,select:focus,button:focus{outline:3px solid rgba(240,212,122,.35);outline-offset:2px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{padding:22px}
.card p{color:var(--muted);min-height:84px}
.trust{margin-top:24px;padding:28px}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.three div{background:var(--surface2);border-radius:12px;padding:18px}
.three strong,.three span{display:block}
.three strong{font-size:18px;color:var(--gold-hover);margin-bottom:6px}
.three span{font-size:16px;color:var(--muted)}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:15px;text-align:center;padding:28px 18px}
@media(max-width:900px){
  body{font-size:17px}
  main{padding-left:22px;padding-right:22px}
  .nav{display:none}.menu{display:block;background:var(--surface2);color:var(--text);border-color:var(--line)}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:36px}
  .hero-logo{order:-1;max-width:280px}
  h1{font-size:38px}
  h2{font-size:28px}
  .finder,.find-controls{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr}
  .three{grid-template-columns:1fr}
}
@media(max-width:560px){
  main{padding-left:16px;padding-right:16px}
  .brand span{font-size:16px}
  .brand img{width:48px;height:48px}
  h1{font-size:34px}
  .grid{grid-template-columns:1fr}
  .card p{min-height:0}
}

.button-link{
  min-height:48px;border-radius:12px;font-size:17px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 18px;text-decoration:none;font-weight:800;
}
.button-link.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}
.button-link.secondary:hover{border-color:var(--gold);background:#292E35}
.subpage{max-width:1180px;margin:auto;padding:28px 28px 70px}
.breadcrumb{font-size:15px;color:var(--muted);margin:8px 0 20px}
.breadcrumb a{color:var(--gold-hover);text-decoration:none}
.lineup-hero{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:20px 0 24px}
.lineup-hero p{color:var(--muted);max-width:740px;margin:0}
.set-switcher{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.set-switcher button.active{background:var(--gold);color:#171717;border-color:var(--gold)}
.viewer{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;
}
.viewer-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.chart-frame{
  display:flex;justify-content:center;align-items:flex-start;
  background:#0b0d0f;border:1px solid var(--line);border-radius:14px;padding:14px;
  overflow:auto;
}
.chart-frame img{
  display:block;max-width:100%;height:auto;border-radius:8px;
}
.pager{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;
  margin-top:18px;
}
.pager .next{justify-self:end}
.pager .page-count{font-weight:800;color:var(--gold-hover);text-align:center}
.exit-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.freshness{
  margin-top:18px;padding:14px 16px;background:var(--surface2);
  border-radius:12px;color:var(--muted);font-size:15px;
  display:flex;gap:18px;flex-wrap:wrap
}
.freshness strong{color:var(--text)}
@media(max-width:700px){
  .subpage{padding-left:16px;padding-right:16px}
  .lineup-hero{display:block}
  .viewer-controls{grid-template-columns:1fr}
  .pager{grid-template-columns:1fr 1fr}
  .pager .page-count{grid-column:1/-1;grid-row:1}
  .pager .next{justify-self:stretch}
  .pager button{width:100%}
}

/* Rev04 — Special Ant database */
.ant-tools{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:12px;margin:0 0 18px}
.ant-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ant-card,.profile-panel,.profile-summary{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)
}
.ant-card{padding:22px}
.ant-card h2{font-size:26px;margin-top:12px}
.ant-card p{color:var(--muted)}
.ant-card-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.season-badge,.status-badge{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em}
.season-badge{background:var(--gold);color:#171717}
.status-badge{background:var(--surface2);border:1px solid var(--line);color:var(--muted)}
.status-badge.verified{border-color:#6f8d73;color:#d9efdc;background:#1a261d}
.ant-meta{font-weight:800;color:var(--gold-hover)!important}
.disabled-link{opacity:.65;cursor:default}
.empty-state{margin-top:18px;padding:20px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}
.compact-trust{margin-top:22px}
.ant-profile-hero{display:grid;grid-template-columns:1.45fr .75fr;gap:20px;align-items:stretch;margin:18px 0 22px}
.ant-profile-hero h1{margin-top:10px}
.profile-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;background:var(--line)}
.profile-summary div{background:var(--surface);padding:18px}
.profile-summary span,.profile-summary strong{display:block}
.profile-summary span{color:var(--muted);font-size:14px}
.profile-summary strong{font-size:20px;color:var(--gold-hover);margin-top:3px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.profile-panel{padding:22px}
.profile-panel.wide{grid-column:1/-1}
.profile-panel p{color:var(--muted)}
.skill-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.skill-list>div{display:flex;gap:12px;background:var(--surface2);border-radius:12px;padding:14px}
.skill-list strong,.skill-list span{display:block}
.skill-list>div>div>span{font-size:14px;color:var(--muted);margin-top:3px}
.skill-no{width:32px;height:32px;flex:0 0 32px;display:grid!important;place-items:center;border-radius:50%;background:var(--gold);color:#171717;font-weight:900}
.fact-note,.analysis-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--surface2);font-size:14px;color:var(--muted)}
.analysis-note{border-left:3px solid var(--gold)}
.evidence-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.evidence-row div{background:var(--surface2);padding:14px;border-radius:10px}
.evidence-row strong,.evidence-row span{display:block}
.evidence-row strong{color:var(--gold-hover);font-size:15px;margin-bottom:4px}
.evidence-row span{color:var(--muted);font-size:14px}
@media(max-width:800px){
  .ant-tools,.ant-directory,.ant-profile-hero,.profile-grid,.skill-list,.evidence-row{grid-template-columns:1fr}
  .profile-panel.wide{grid-column:auto}
}

/* Rev12 catalog expansion */
.catalog-stats{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.catalog-stats span{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.5rem .75rem;background:rgba(255,255,255,.035);font-size:.9rem}.catalog-stats strong{color:#fff}.queued-card{opacity:.82}.queued-card:hover{opacity:1}.ant-tools{flex-wrap:wrap}.ant-tools select,.ant-tools input{min-height:44px}


/* Rev13 — unified Special Ant profile standard */
.profile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-6px 0 18px;padding:14px 16px;background:linear-gradient(180deg,rgba(214,180,88,.08),rgba(214,180,88,.025));border:1px solid rgba(214,180,88,.32);border-radius:14px}
.profile-toolbar-status span,.profile-toolbar-status strong{display:block}.profile-toolbar-status span{font-size:12px;font-weight:900;letter-spacing:.11em;color:var(--gold)}.profile-toolbar-status strong{font-size:15px;margin-top:2px}.profile-jumps{display:flex;gap:8px;flex-wrap:wrap}.profile-jumps a{display:inline-flex;align-items:center;min-height:36px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface2);text-decoration:none;color:var(--muted);font-size:14px;font-weight:800}.profile-jumps a:hover{color:var(--gold-hover);border-color:var(--gold)}
.profile-panel[id]{scroll-margin-top:108px}.profile-panel{box-shadow:0 10px 28px rgba(0,0,0,.12)}.profile-panel .kicker+ h2{margin-top:0}.profile-summary div{min-height:92px}.profile-summary strong{line-height:1.2}.skill-list>div{border:1px solid rgba(255,255,255,.045)}
.profile-sequence{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin:24px 0 14px}.profile-sequence a{min-height:52px;display:flex;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;font-weight:800}.profile-sequence a:hover{border-color:var(--gold);background:var(--surface2)}.profile-prev{justify-content:flex-start}.profile-catalog{justify-content:center;color:var(--gold-hover)}.profile-next{justify-content:flex-end;text-align:right}
@media(max-width:760px){.profile-toolbar{display:block}.profile-jumps{margin-top:12px}.profile-jumps a{flex:1;justify-content:center}.profile-sequence{grid-template-columns:1fr 1fr}.profile-catalog{grid-column:1/-1;grid-row:1}.profile-prev,.profile-next{font-size:14px}.profile-summary div{min-height:auto}}


/* Rev14 — ant catalog scanability */
.ant-tools{grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(150px,.75fr));align-items:center}
.catalog-result-count{margin:-6px 0 14px;color:var(--muted);font-size:.9rem;text-align:right}
.ant-card{position:relative;display:flex;flex-direction:column;min-height:290px;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ant-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line)}
.ant-card[data-status="verified"]::before{background:#6f8d73}
.ant-card[data-status="limited"]::before{background:#b18a46}
.ant-card[data-status="queued"]::before{background:#636a72}
.ant-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2);box-shadow:0 14px 32px rgba(0,0,0,.2)}
.card-scanline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:12px 0 2px;flex-wrap:wrap}
.class-chip,.readiness{display:inline-flex;align-items:center;min-height:27px;padding:3px 9px;border-radius:7px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.class-chip{border:1px solid var(--line);background:rgba(255,255,255,.04);color:#e4e7e9}
.class-shooter{border-color:#8b7350;background:#241f18}
.class-carrier{border-color:#6d7f8c;background:#182128}
.class-guardian{border-color:#7b6f88;background:#211c29}
.class-unknown{color:var(--muted);border-style:dashed}
.readiness{margin-left:auto;color:var(--muted);background:transparent;border:1px solid transparent}
.readiness-verified{color:#d9efdc}
.readiness-limited{color:#ead7ab}
.readiness-queued{color:#aeb4b9}
.ant-card h2{margin-bottom:5px}
.ant-card .ant-meta{font-weight:800;color:#d8dcdf;margin-top:0}
.ant-card > p:not(.ant-meta){flex:1}
.ant-card .button-link{align-self:flex-start;margin-top:auto}
.disabled-link{opacity:.52;pointer-events:none;cursor:default}
@media(max-width:980px){.ant-tools{grid-template-columns:1fr 1fr}.catalog-result-count{text-align:left}}
@media(max-width:640px){.ant-tools{grid-template-columns:1fr}.ant-card{min-height:0}.card-scanline{align-items:flex-start}.readiness{margin-left:0}.catalog-result-count{text-align:left}}

/* Rev15 — homepage first-visit path */
.start-here{
  margin:0 0 24px;padding:28px;
  background:linear-gradient(145deg,rgba(214,180,88,.10),rgba(24,27,32,.96) 42%);
  border:1px solid rgba(214,180,88,.34);border-radius:var(--radius)
}
.start-here-copy{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:18px}
.start-here-copy h2{max-width:520px;margin-bottom:0}
.start-here-copy p:last-child{max-width:520px;margin:0;color:var(--muted);font-size:16px}
.start-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.start-path{
  min-height:150px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;
  padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(16,18,20,.72);
  text-decoration:none;transition:border-color .18s ease,transform .18s ease,background .18s ease
}
.start-path:hover{transform:translateY(-2px);border-color:var(--gold);background:var(--surface2)}
.start-path.primary-path{border-color:rgba(214,180,88,.58)}
.path-step{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#171717;font-weight:900;font-size:14px}
.start-path strong,.start-path small{display:block}
.start-path strong{font-size:19px;color:var(--gold-hover);line-height:1.25;margin:3px 0 8px}
.start-path small{font-size:14px;line-height:1.45;color:var(--muted)}
.start-path b{font-size:23px;color:var(--gold);line-height:1.2}
.featured-s3{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);font-size:14px}
.featured-s3 span{color:var(--muted);font-weight:800;margin-right:2px}
.featured-s3 a{padding:5px 9px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);text-decoration:none;color:#e4e7e9;font-weight:700}
.featured-s3 a:hover{border-color:var(--gold);color:var(--gold-hover)}
@media(max-width:900px){.start-here-copy{display:block}.start-here-copy p:last-child{margin-top:8px}.start-paths{grid-template-columns:1fr}.start-path{min-height:0}}
@media(max-width:560px){.start-here{padding:20px}.featured-s3{align-items:flex-start}.featured-s3 span{width:100%}}

/* Rev16 - functional homepage finder */
.finder-help{margin:.35rem 0 0;color:var(--muted);font-size:15px;max-width:430px}
.find-controls{grid-template-columns:minmax(0,1.35fr) minmax(180px,.8fr) auto;align-items:center}
.finder-go{min-width:76px}
.finder-result{grid-column:1/-1;min-height:28px;padding:7px 2px 0;color:var(--muted);font-size:14px}
.finder-result a{color:var(--gold-hover);font-weight:800;text-decoration:none}
.finder-result a:hover{text-decoration:underline}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.find-controls{grid-template-columns:1fr}.finder-go{width:100%}}

/* Rev17 — functional Schoolhouse and Updates */
.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 24px}
.lesson-card{position:relative;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.lesson-card h2{font-size:24px;margin:8px 0 8px}.lesson-card p{color:var(--muted);min-height:78px}.lesson-no{display:inline-grid;place-items:center;min-width:38px;height:30px;padding:0 10px;border-radius:999px;background:rgba(214,180,88,.12);border:1px solid rgba(214,180,88,.35);color:var(--gold-hover);font-size:12px;font-weight:900;letter-spacing:.08em}
.schoolhouse-next{margin-top:8px}.schoolhouse-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.schoolhouse-paths a{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);text-decoration:none}.schoolhouse-paths a:hover{border-color:var(--gold)}.schoolhouse-paths strong,.schoolhouse-paths span{display:block}.schoolhouse-paths strong{color:var(--gold-hover);margin-bottom:5px}.schoolhouse-paths span{color:var(--muted);font-size:14px}
.update-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 24px}.update-summary div{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.update-summary strong,.update-summary span{display:block}.update-summary strong{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.update-summary span{margin-top:6px;font-size:20px;font-weight:900;color:var(--gold-hover)}
.update-list{display:grid;gap:12px;margin-bottom:24px}.update-list article{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.update-list time{color:var(--gold);font-weight:800;font-size:14px}.update-list h2{font-size:22px;margin:0 0 6px}.update-list p{margin:0 0 10px;color:var(--muted)}.update-tag{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);color:#dfe3e6;font-size:12px;font-weight:800}
@media(max-width:800px){.lesson-grid,.schoolhouse-paths,.update-summary{grid-template-columns:1fr}.lesson-card p{min-height:0}.update-list article{grid-template-columns:1fr;gap:6px}}

/* Rev18 — Ask Dolly interaction hub */
.ask-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin:22px 0 24px}.ask-hero .lead{margin-bottom:0}.ask-status{min-width:220px;padding:16px 18px;border:1px solid rgba(214,180,88,.35);background:rgba(214,180,88,.07);border-radius:14px}.ask-status strong,.ask-status span{display:block}.ask-status span{color:var(--muted);font-size:14px;margin-top:3px}
.ask-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.ask-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.ask-panel:first-child{grid-row:span 2}.ask-panel label{display:block;font-weight:800;margin:12px 0 7px}.ask-panel textarea{width:100%;resize:vertical;min-height:150px;background:#0d0f12;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:14px;font:inherit}.ask-panel textarea:focus{outline:2px solid rgba(214,180,88,.45);border-color:var(--gold)}
.dolly-answer{display:none;margin-top:16px;padding:16px;border-radius:12px;background:var(--surface2);border:1px solid var(--line)}.dolly-answer.show{display:block}.dolly-answer p{color:var(--muted)}.helper-text{color:var(--muted);font-size:14px}
.upload-zone{position:relative;display:grid!important;place-items:center;text-align:center;min-height:145px;padding:22px;border:1px dashed rgba(214,180,88,.55);border-radius:14px;background:rgba(214,180,88,.035);cursor:pointer}.upload-zone:hover{background:rgba(214,180,88,.065)}.upload-zone span{color:var(--muted);font-size:14px}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.preview-item{margin:0;background:#0d0f12;border:1px solid var(--line);border-radius:10px;overflow:hidden}.preview-item img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.preview-item figcaption{padding:7px 8px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-next{margin-top:14px;padding:14px;border-left:3px solid var(--gold);background:var(--surface2);border-radius:8px}.upload-next p{margin-bottom:0;color:var(--muted)}
@media(max-width:780px){.ask-hero,.ask-grid{grid-template-columns:1fr}.ask-panel:first-child{grid-row:auto}.ask-status{min-width:0}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Rev19 — functional mobile navigation */
.menu{font:inherit;font-weight:800;padding:9px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.menu:focus-visible,.nav a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:900px){
  .header{flex-wrap:wrap;align-items:center}
  .menu{display:block;background:var(--surface2);color:var(--text);border-color:var(--line);margin-left:auto}
  .nav{display:none;order:3;width:100%;flex-direction:column;gap:0;margin-top:12px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px rgba(0,0,0,.28)}
  .nav.is-open{display:flex}
  .nav a{display:block;padding:13px 12px;border-radius:9px;color:var(--text)}
  .nav a:hover,.nav a:focus-visible{background:var(--surface2);color:var(--gold-hover)}
  body.menu-open{overflow-x:hidden}
}
@media(min-width:901px){.nav{display:flex!important}}

/* Rev250 — iPad landscape responsive navigation
   Keep touch tablets on the compact Menu treatment even when landscape width exceeds 900px. */
@media (pointer:coarse) and (max-width:1400px){
  .header{flex-wrap:wrap;align-items:center}
  .menu{display:block!important;background:var(--surface2);color:var(--text);border-color:var(--line);margin-left:auto}
  .nav{display:none!important;order:3;width:100%;flex-direction:column;gap:0;margin-top:12px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px rgba(0,0,0,.28)}
  .nav.is-open{display:flex!important}
  .nav a{display:block;padding:13px 12px;border-radius:9px;color:var(--text)}
  .nav a:hover,.nav a:focus-visible{background:var(--surface2);color:var(--gold-hover)}
  body.menu-open{overflow-x:hidden}
}


/* Rev20 — mobile Lineup Center navigation */
.lineup-mobile-jump{display:none}
.chart-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mobile-chart-count,.mobile-swipe-hint{display:none}
@media(max-width:700px){
  .set-switcher{position:sticky;top:8px;z-index:8;padding:8px;background:rgba(18,21,24,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px}
  .set-switcher button{flex:1;min-height:46px}
  .lineup-mobile-jump{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;margin:0 0 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .lineup-mobile-jump::-webkit-scrollbar{display:none}
  .lineup-mobile-jump button{flex:0 0 auto;scroll-snap-align:start;min-height:42px;padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface2);color:var(--text);font:inherit;font-weight:800;white-space:nowrap}
  .lineup-mobile-jump button.active{background:var(--gold);border-color:var(--gold);color:#171717}
  .viewer{padding:16px}
  .viewer-controls{display:none}
  .chart-heading-row h2{font-size:22px;margin:6px 0}
  .mobile-chart-count{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--gold-hover);font-weight:900}
  .mobile-swipe-hint{display:block;margin:0 0 10px;color:var(--muted);font-size:13px}
  .chart-frame{padding:8px;scroll-margin-top:88px;touch-action:pan-y}
  .chart-frame img{width:100%;max-width:none}
  .pager{position:sticky;bottom:8px;z-index:7;padding:8px;background:rgba(18,21,24,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px}
  .pager .page-count{font-size:13px}
  .pager button{min-height:46px}
  .exit-row{display:grid;grid-template-columns:1fr;gap:8px}
  .exit-row .button-link{width:100%}
}


/* Rev21 — mobile lineup chart zoom */
.chart-zoom-controls{display:none}
@media(max-width:700px){
  .chart-zoom-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 10px}
  .chart-zoom-controls button{min-width:48px;min-height:42px;padding:8px 12px}
  .chart-zoom-controls #fitBtn{min-width:70px}
  .chart-zoom-controls #zoomLabel{min-width:58px;text-align:center;font-weight:900;color:var(--gold-hover);font-variant-numeric:tabular-nums}
  .chart-frame{justify-content:flex-start;max-height:72vh;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .chart-frame.is-zoomed{touch-action:pan-x pan-y}
  .chart-frame img{min-width:100%;transition:width .18s ease}
  .chart-frame:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
}


/* Rev22 — larger lineup chart canvas / reduced surrounding chrome */
.lineup-page .subpage{max-width:1440px;padding-left:18px;padding-right:18px}
.lineup-page .viewer{padding:16px}
.lineup-page .chart-frame{padding:5px;border-radius:10px}
.lineup-page .chart-frame img{border-radius:5px}
.lineup-page .chart-heading-row h2{margin-bottom:8px}
@media(max-width:700px){
  .lineup-page .subpage{padding-left:8px;padding-right:8px}
  .lineup-page .breadcrumb{margin-left:6px;margin-right:6px;margin-bottom:12px}
  .lineup-page .lineup-hero{margin:10px 6px 14px}
  .lineup-page .set-switcher{margin-left:0;margin-right:0;margin-bottom:10px}
  .lineup-page .lineup-mobile-jump{margin-left:2px;margin-right:2px;padding-bottom:8px}
  .lineup-page .viewer{padding:8px;border-radius:12px}
  .lineup-page .chart-heading-row{padding:0 4px}
  .lineup-page .chart-heading-row h2{font-size:21px;margin:4px 0}
  .lineup-page .mobile-swipe-hint{margin:0 4px 7px;font-size:12px}
  .lineup-page .chart-zoom-controls{margin-bottom:7px}
  .lineup-page .chart-frame{padding:2px;border-radius:8px;max-height:78vh;width:100%}
  .lineup-page .chart-frame img{border-radius:4px}
  .lineup-page .pager{margin-top:10px}
  .lineup-page .freshness{margin-top:10px;padding:10px 12px}
}
@media(min-width:701px){
  .lineup-page .chart-frame{max-height:82vh}
}


/* Rev23 — dedicated mobile full-screen lineup chart mode */
.chart-focus-btn{display:none}
@media(max-width:700px){
  .chart-focus-btn{display:inline-flex;min-width:112px!important}
  body.chart-focus-mode{overflow:hidden}
  body.chart-focus-mode .header,
  body.chart-focus-mode .breadcrumb,
  body.chart-focus-mode .lineup-hero,
  body.chart-focus-mode .set-switcher,
  body.chart-focus-mode .lineup-mobile-jump,
  body.chart-focus-mode footer{display:none!important}
  body.chart-focus-mode .subpage{padding:0!important;max-width:none!important}
  body.chart-focus-mode .viewer{
    position:fixed;inset:0;z-index:1000;
    display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;
    gap:6px;margin:0;padding:8px;
    border:0;border-radius:0;background:#080a0c;
  }
  body.chart-focus-mode .viewer-controls,
  body.chart-focus-mode .exit-row,
  body.chart-focus-mode .freshness{display:none!important}
  body.chart-focus-mode .chart-heading-row{padding:0 2px}
  body.chart-focus-mode .chart-heading-row h2{font-size:18px;line-height:1.15;margin:0}
  body.chart-focus-mode .mobile-swipe-hint{margin:0 2px 2px;font-size:11px}
  body.chart-focus-mode .chart-zoom-controls{margin:0;justify-content:space-between;gap:6px}
  body.chart-focus-mode .chart-zoom-controls button{min-height:40px;padding:7px 10px}
  body.chart-focus-mode .chart-zoom-controls #fitBtn{min-width:58px}
  body.chart-focus-mode .chart-zoom-controls #zoomLabel{min-width:48px}
  body.chart-focus-mode .chart-focus-btn{margin-left:auto;min-width:118px!important}
  body.chart-focus-mode .chart-frame{
    min-height:0;max-height:none!important;height:100%;
    padding:0!important;border-radius:6px;
    align-self:stretch;overscroll-behavior:contain;
  }
  body.chart-focus-mode .chart-frame img{border-radius:3px}
  body.chart-focus-mode .pager{
    position:static;bottom:auto;margin:0;padding:5px;
    grid-template-columns:1fr auto 1fr;gap:6px;
    border-radius:10px;background:rgba(18,21,24,.96);
  }
  body.chart-focus-mode .pager .page-count{grid-column:auto;grid-row:auto;font-size:12px}
  body.chart-focus-mode .pager button{min-height:42px;padding:7px 10px}
}

/* Rev24 — landscape full-screen optimization for phones and tablets */
@media (orientation:landscape) and (max-width:1100px){
  .lineup-page .chart-focus-btn{display:inline-flex;min-width:112px!important}
  body.chart-focus-mode{overflow:hidden}
  body.chart-focus-mode .header,
  body.chart-focus-mode .breadcrumb,
  body.chart-focus-mode .lineup-hero,
  body.chart-focus-mode .set-switcher,
  body.chart-focus-mode .lineup-mobile-jump,
  body.chart-focus-mode footer{display:none!important}
  body.chart-focus-mode .subpage{padding:0!important;max-width:none!important}
  body.chart-focus-mode .viewer{
    position:fixed;inset:0;z-index:1000;
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:4px 8px;margin:0;padding:5px 7px;
    border:0;border-radius:0;background:#080a0c;
  }
  body.chart-focus-mode .viewer-controls,
  body.chart-focus-mode .exit-row,
  body.chart-focus-mode .freshness,
  body.chart-focus-mode .mobile-swipe-hint{display:none!important}
  body.chart-focus-mode .chart-heading-row{
    grid-column:1;grid-row:1;padding:0 2px;align-self:center
  }
  body.chart-focus-mode .chart-heading-row h2{font-size:16px;line-height:1.05;margin:0}
  body.chart-focus-mode .mobile-chart-count{font-size:11px;min-width:42px;padding:4px 7px}
  body.chart-focus-mode .chart-zoom-controls{
    grid-column:2;grid-row:1;margin:0;justify-content:flex-end;gap:4px;align-self:center
  }
  body.chart-focus-mode .chart-zoom-controls button{min-width:40px!important;min-height:34px;padding:5px 8px;font-size:13px}
  body.chart-focus-mode .chart-zoom-controls #fitBtn{min-width:50px!important}
  body.chart-focus-mode .chart-zoom-controls #zoomLabel{min-width:42px;font-size:12px}
  body.chart-focus-mode .chart-focus-btn{min-width:94px!important;margin-left:2px}
  body.chart-focus-mode .chart-frame{
    grid-column:1 / -1;grid-row:2;
    min-height:0;max-height:none!important;height:100%;width:100%;
    padding:0!important;border-radius:4px;
    align-self:stretch;justify-content:flex-start;overscroll-behavior:contain
  }
  body.chart-focus-mode .chart-frame img{border-radius:2px}
  body.chart-focus-mode .pager{
    grid-column:1 / -1;grid-row:3;
    position:static;bottom:auto;margin:0;padding:3px 5px;
    grid-template-columns:1fr auto 1fr;gap:6px;
    border-radius:8px;background:rgba(18,21,24,.96)
  }
  body.chart-focus-mode .pager .page-count{grid-column:auto;grid-row:auto;font-size:11px}
  body.chart-focus-mode .pager button{min-height:34px;padding:5px 10px;font-size:13px}
}
\n\n/* Rev25 — compact full-screen lineup controls */\n@media(max-width:700px){\n  body.chart-focus-mode .viewer{\n    grid-template-columns:minmax(0,1fr) auto;\n    grid-template-rows:auto minmax(0,1fr) auto;\n    gap:4px 6px;padding:5px;\n  }\n  body.chart-focus-mode .mobile-swipe-hint{display:none!important}\n  body.chart-focus-mode .chart-heading-row{grid-column:1;grid-row:1;padding:0 2px;min-width:0}\n  body.chart-focus-mode .chart-heading-row h2{font-size:15px;line-height:1.05;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n  body.chart-focus-mode .mobile-chart-count{font-size:10px;min-width:38px;padding:3px 6px}\n  body.chart-focus-mode .chart-zoom-controls{grid-column:2;grid-row:1;margin:0;justify-content:flex-end;gap:3px;align-self:center}\n  body.chart-focus-mode .chart-zoom-controls button{min-width:34px!important;min-height:32px;padding:4px 7px;font-size:12px;border-radius:7px}\n  body.chart-focus-mode .chart-zoom-controls #fitBtn{min-width:42px!important}\n  body.chart-focus-mode .chart-zoom-controls #zoomLabel{min-width:40px;font-size:11px}\n  body.chart-focus-mode .chart-focus-btn{min-width:48px!important;margin-left:1px}\n  body.chart-focus-mode .chart-frame{grid-column:1/-1;grid-row:2;height:100%;min-height:0;max-height:none!important;padding:0!important}\n  body.chart-focus-mode .pager{grid-column:1/-1;grid-row:3;position:static;margin:0;padding:3px 4px;grid-template-columns:1fr auto 1fr;gap:5px;border-radius:7px}\n  body.chart-focus-mode .pager button{min-height:32px;padding:4px 8px;font-size:12px}\n  body.chart-focus-mode .pager .page-count{grid-column:auto;grid-row:auto;font-size:11px;min-width:34px}\n}\n@media (orientation:landscape) and (max-width:1100px){\n  body.chart-focus-mode .viewer{gap:3px 5px;padding:4px 5px}\n  body.chart-focus-mode .chart-heading-row h2{font-size:14px}\n  body.chart-focus-mode .chart-zoom-controls button{min-width:32px!important;min-height:30px;padding:3px 6px;font-size:11px}\n  body.chart-focus-mode .chart-zoom-controls #fitBtn{min-width:38px!important}\n  body.chart-focus-mode .chart-zoom-controls #zoomLabel{min-width:36px;font-size:10px}\n  body.chart-focus-mode .chart-focus-btn{min-width:44px!important}\n  body.chart-focus-mode .pager{padding:2px 4px}\n  body.chart-focus-mode .pager button{min-height:30px;padding:3px 8px;font-size:11px}\n  body.chart-focus-mode .pager .page-count{font-size:10px}\n}\n\n\n/* Rev26 — tap-to-hide full-screen lineup controls */\n@media(max-width:1100px){\n  body.chart-focus-mode.chart-controls-hidden .viewer{\n    display:block!important;\n    padding:0!important;\n    width:100vw!important;\n    height:100dvh!important;\n    min-height:100dvh!important;\n    background:#080a0c!important;\n    border:0!important;\n    border-radius:0!important;\n  }\n  body.chart-focus-mode.chart-controls-hidden .chart-heading-row,\n  body.chart-focus-mode.chart-controls-hidden .chart-zoom-controls,\n  body.chart-focus-mode.chart-controls-hidden .pager{\n    display:none!important;\n  }\n  body.chart-focus-mode.chart-controls-hidden .chart-frame{\n    display:flex!important;\n    width:100vw!important;\n    height:100dvh!important;\n    max-height:none!important;\n    min-height:100dvh!important;\n    padding:0!important;\n    margin:0!important;\n    border:0!important;\n    border-radius:0!important;\n    background:#080a0c!important;\n    align-items:center!important;\n    justify-content:center!important;\n  }\n  body.chart-focus-mode.chart-controls-hidden .chart-frame.is-zoomed{\n    justify-content:flex-start!important;\n    align-items:flex-start!important;\n  }\n  body.chart-focus-mode.chart-controls-hidden .chart-frame img{\n    border-radius:0!important;\n    max-height:100dvh!important;\n    object-fit:contain!important;\n  }\n}\n

/* Rev28 — aspect-ratio-safe maximum chart fit in full-screen mode */
@media(max-width:1100px){
  body.chart-focus-mode .chart-frame{
    overflow:auto;
  }
  body.chart-focus-mode .chart-frame img{
    flex:0 0 auto;
    object-fit:contain;
    aspect-ratio:auto;
  }
}


/* Rev29 — aspect-ratio-aware Fit positioning */
@media(max-width:1100px){
  body.chart-focus-mode .chart-frame:not(.is-zoomed){
    justify-content:center;
    align-items:center;
  }
  /* Extra-tall 2:3-style charts read better from the top in portrait,
     while standard charts remain visually centered. */
  @media (orientation:portrait){
    body.chart-focus-mode:not(.chart-controls-hidden) .chart-frame.fit-extra-tall:not(.is-zoomed){
      align-items:flex-start;
      padding-top:4px!important;
    }
    body.chart-focus-mode:not(.chart-controls-hidden) .chart-frame.fit-standard:not(.is-zoomed),
    body.chart-focus-mode:not(.chart-controls-hidden) .chart-frame.fit-wide:not(.is-zoomed){
      align-items:center;
    }
  }
  /* Landscape favors true center placement regardless of chart shape. */
  @media (orientation:landscape){
    body.chart-focus-mode .chart-frame.fit-extra-tall:not(.is-zoomed),
    body.chart-focus-mode .chart-frame.fit-standard:not(.is-zoomed),
    body.chart-focus-mode .chart-frame.fit-wide:not(.is-zoomed){
      justify-content:center;
      align-items:center;
    }
  }
  body.chart-focus-mode.chart-controls-hidden .chart-frame:not(.is-zoomed){
    justify-content:center!important;
    align-items:center!important;
  }
}

/* Rev32: keep zoomed lineup panning inside the chart bounds */
.chart-frame{overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch;}
.chart-frame.is-zoomed{touch-action:pan-x pan-y;}


/* Rev33: deliberate direct-drag panning for zoomed lineup charts */
.chart-frame.is-zoomed{cursor:grab;-webkit-overflow-scrolling:auto;user-select:none;-webkit-user-select:none;}
.chart-frame.is-zoomed.is-dragging{cursor:grabbing;}
.chart-frame.is-zoomed img{pointer-events:none;-webkit-user-drag:none;}


/* Rev34: two-finger pinch zoom for the full-screen lineup viewer */
@media(max-width:1100px){
  body.chart-focus-mode .chart-frame{touch-action:none;}
  body.chart-focus-mode .chart-frame.is-pinching{cursor:zoom-in;}
  body.chart-focus-mode .chart-frame.is-pinching img{transition:none!important;}
}

@media (pointer:coarse) and (max-width:1100px){
  .lineup-page .set-switcher button,
  .lineup-page .lineup-mobile-jump button,
  .lineup-page .chart-zoom-controls button,
  .lineup-page .pager button{min-height:44px}
  body.chart-focus-mode .chart-zoom-controls button,
  body.chart-focus-mode .pager button{min-height:44px!important}
}
.lineup-page button:focus-visible,.lineup-page select:focus-visible,.lineup-page .chart-frame:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Rev81: subtle visible Reset View confirmation progress cue. */
.reset-confirm-cue{display:none;align-items:center;gap:7px;min-width:92px;color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}
.reset-confirm-cue.active{display:inline-flex}
.reset-confirm-cue-track{width:46px;height:4px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.14)}
.reset-confirm-cue-bar{display:block;width:100%;height:100%;border-radius:inherit;background:currentColor;transform-origin:left center;animation:reset-confirm-countdown 2.6s linear forwards}
@keyframes reset-confirm-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.reset-confirm-cue-bar{animation-timing-function:steps(4,end)}}

/* Rev82 — clearer compact Reset confirmation cue on small phones */
@media(max-width:480px){
  .reset-confirm-cue{gap:4px;min-width:0;font-size:.72rem;line-height:1}
  .reset-confirm-cue-label{max-width:42px;overflow:hidden;text-overflow:ellipsis}
  .reset-confirm-cue-track{width:52px;height:6px}
}
@media(max-width:380px){
  .reset-confirm-cue-label{font-size:0;max-width:0}
  .reset-confirm-cue{gap:0}
  .reset-confirm-cue-track{width:58px;height:6px}
}


/* Rev83 — compact Reset confirmation cue for landscape phones and iPad Split View. */
@media (pointer:coarse) and (orientation:landscape) and (max-width:900px) and (max-height:700px){
  .lineup-page .chart-zoom-controls{gap:5px;flex-wrap:nowrap}
  .lineup-page .reset-confirm-cue{gap:3px;min-width:0;font-size:.68rem;line-height:1;flex:0 0 auto}
  .lineup-page .reset-confirm-cue-label{font-size:0;max-width:0;overflow:hidden}
  .lineup-page .reset-confirm-cue-track{width:44px;height:5px}
  body.chart-focus-mode .reset-confirm-cue{gap:0}
  body.chart-focus-mode .reset-confirm-cue-track{width:38px;height:5px}
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:600px) and (max-height:500px){
  .lineup-page .reset-confirm-cue-track{width:36px;height:5px}
  body.chart-focus-mode .reset-confirm-cue-track{width:32px}
}


/* Rev84 — balanced compact-landscape chart controls. */
@media (pointer:coarse) and (orientation:landscape) and (max-width:900px) and (max-height:700px){
  .lineup-page .chart-zoom-controls{
    display:grid;
    grid-template-columns:44px 52px 44px 44px minmax(76px,1fr) minmax(80px,1fr) auto;
    align-items:center;
    justify-content:center;
    column-gap:clamp(3px,.8vw,7px);
    width:min(100%,620px);
    margin:0 auto 6px;
  }
  .lineup-page .chart-zoom-controls button{
    width:100%;
    min-width:0!important;
    min-height:44px;
    padding:6px 8px;
  }
  .lineup-page .chart-zoom-controls #fitBtn{min-width:0!important}
  .lineup-page .chart-zoom-controls #zoomLabel{min-width:0;text-align:center}
  .lineup-page .chart-focus-btn{min-width:0!important;margin-left:0}
  .lineup-page #resetViewBtn{min-width:0!important}

  body.chart-focus-mode .chart-zoom-controls{
    grid-template-columns:40px 46px 38px 40px minmax(52px,1fr) minmax(68px,1fr) auto;
    width:min(100%,520px);
    margin:0;
    column-gap:4px;
  }
  body.chart-focus-mode .chart-zoom-controls button{
    min-width:0!important;
    min-height:44px!important;
    padding:4px 6px;
  }
  body.chart-focus-mode .chart-zoom-controls #fitBtn,
  body.chart-focus-mode .chart-focus-btn{min-width:0!important}
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:620px) and (max-height:500px){
  .lineup-page .chart-zoom-controls{
    grid-template-columns:42px 48px 40px 42px minmax(68px,1fr) minmax(72px,1fr) auto;
    column-gap:3px;
  }
  .lineup-page .chart-zoom-controls button{padding-left:5px;padding-right:5px;font-size:11px}
  .lineup-page .chart-zoom-controls #zoomLabel{font-size:10px}
  body.chart-focus-mode .chart-zoom-controls{
    grid-template-columns:38px 44px 36px 38px minmax(48px,1fr) minmax(60px,1fr) auto;
  }
}


/* Rev85 — graceful label shortening in extremely tight landscape toolbars. */
@media (pointer:coarse) and (orientation:landscape) and (max-width:560px) and (max-height:500px){
  .lineup-page .chart-focus-btn,
  .lineup-page #resetViewBtn{
    font-size:0!important;
    white-space:nowrap;
    overflow:hidden;
  }
  .lineup-page .chart-focus-btn::after{
    content:"Full";
    font-size:11px;
    line-height:1;
  }
  body.chart-focus-mode .chart-focus-btn::after,
  .lineup-page .chart-focus-btn[aria-pressed="true"]::after{content:"Done"}
  .lineup-page #resetViewBtn::after{
    content:"Reset";
    font-size:11px;
    line-height:1;
  }
  .lineup-page #resetViewBtn[data-confirming="true"]::after{content:"Confirm"}
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:430px) and (max-height:430px){
  .lineup-page .chart-focus-btn::after,
  .lineup-page #resetViewBtn::after{font-size:10px}
  .lineup-page .chart-zoom-controls{column-gap:2px}
}


/* Rev86 — narrowest iPhone landscape toolbar balance. */
@media (pointer:coarse) and (orientation:landscape) and (max-width:500px) and (max-height:430px){
  .lineup-page .chart-zoom-controls{
    grid-template-columns:44px 44px 40px 44px minmax(48px,1fr) minmax(52px,1fr) auto;
    column-gap:2px;
    width:100%;
  }
  .lineup-page .chart-zoom-controls button{padding-left:4px;padding-right:4px}
  .lineup-page .chart-zoom-controls #zoomLabel{font-size:9px;letter-spacing:-.02em}
  .lineup-page .reset-confirm-cue-track{width:28px}
  body.chart-focus-mode .chart-zoom-controls{
    grid-template-columns:44px 44px 38px 44px minmax(44px,1fr) minmax(48px,1fr) auto;
    column-gap:2px;
    width:100%;
  }
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:400px) and (max-height:400px){
  .lineup-page .chart-zoom-controls{grid-template-columns:44px 44px 36px 44px 46px 48px auto}
  .lineup-page .chart-focus-btn::after,.lineup-page #resetViewBtn::after{font-size:9px}
  .lineup-page .reset-confirm-cue-track{width:24px}
}


/* Rev87 — narrow landscape Previous / Next navigation balance. */
@media (pointer:coarse) and (orientation:landscape) and (max-width:560px) and (max-height:500px){
  .lineup-page .pager{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:3px;
    padding:4px;
    margin-top:6px;
  }
  .lineup-page .pager button{
    min-width:0;
    min-height:44px;
    padding:4px 6px;
    font-size:0;
    white-space:nowrap;
    overflow:hidden;
  }
  .lineup-page .pager #prevBtn::after{content:"‹ Prev";font-size:11px;line-height:1}
  .lineup-page .pager #nextBtn::after{content:"Next ›";font-size:11px;line-height:1}
  .lineup-page .pager .page-count{
    min-width:42px;
    padding:0 2px;
    font-size:0;
    white-space:nowrap;
  }
  .lineup-page .pager .page-count::after{
    content:attr(data-short);
    font-size:10px;
    line-height:1;
  }
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:420px) and (max-height:420px){
  .lineup-page .pager{gap:2px;padding:3px}
  .lineup-page .pager button{padding-left:4px;padding-right:4px}
  .lineup-page .pager #prevBtn::after,
  .lineup-page .pager #nextBtn::after{font-size:10px}
  .lineup-page .pager .page-count{min-width:36px}
  .lineup-page .pager .page-count::after{font-size:9px}
}
\n\n/* Rev88 — compact chart title and counter balance for extremely narrow landscape. */\n@media (pointer:coarse) and (orientation:landscape) and (max-width:560px) and (max-height:500px){\n  body.chart-focus-mode .chart-heading-row{\n    display:flex;\n    align-items:center;\n    gap:3px;\n    min-width:0;\n    padding:0 1px;\n    overflow:hidden;\n  }\n  body.chart-focus-mode .chart-heading-row h2{\n    flex:1 1 auto;\n    min-width:0;\n    margin:0;\n    font-size:12px;\n    line-height:1;\n    white-space:nowrap;\n    overflow:hidden;\n    text-overflow:ellipsis;\n    letter-spacing:-.01em;\n  }\n  body.chart-focus-mode .mobile-chart-count{\n    flex:0 0 auto;\n    min-width:30px;\n    padding:3px 4px;\n    font-size:9px;\n    line-height:1;\n    white-space:nowrap;\n  }\n}\n@media (pointer:coarse) and (orientation:landscape) and (max-width:420px) and (max-height:420px){\n  body.chart-focus-mode .chart-heading-row{gap:2px}\n  body.chart-focus-mode .chart-heading-row h2{font-size:10px;letter-spacing:-.02em}\n  body.chart-focus-mode .mobile-chart-count{\n    min-width:26px;\n    padding:2px 3px;\n    font-size:0;\n  }\n  body.chart-focus-mode .mobile-chart-count::after{\n    content:attr(data-compact);\n    font-size:8px;\n    line-height:1;\n  }\n}\n
/* Rev89 — balanced full-screen top row during rotation and Split View resizing. */
@media (pointer:coarse) and (orientation:landscape) and (max-width:900px) and (max-height:700px){
  body.chart-focus-mode .viewer{
    grid-template-columns:minmax(108px,30%) minmax(0,1fr);
    column-gap:clamp(4px,1vw,8px);
  }
  body.chart-focus-mode .chart-heading-row{
    width:100%;
    min-width:0;
    align-self:center;
  }
  body.chart-focus-mode .chart-heading-row h2{
    min-width:0;
    max-width:100%;
  }
  body.chart-focus-mode .chart-zoom-controls{
    width:100%;
    max-width:none;
    min-width:0;
    justify-self:stretch;
  }
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:620px) and (max-height:500px){
  body.chart-focus-mode .viewer{
    grid-template-columns:minmax(82px,26%) minmax(0,1fr);
    column-gap:3px;
  }
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:440px) and (max-height:430px){
  body.chart-focus-mode .viewer{
    grid-template-columns:minmax(62px,22%) minmax(0,1fr);
    column-gap:2px;
  }
}

/* Rev90 — balanced full-screen top row for portrait iPad and narrow portrait Split View. */
@media (pointer:coarse) and (orientation:portrait) and (min-width:600px) and (max-width:1100px){
  body.chart-focus-mode .viewer{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto minmax(0,1fr) auto;
    row-gap:5px;
  }
  body.chart-focus-mode .chart-heading-row{
    grid-column:1;
    grid-row:1;
    width:100%;
    min-width:0;
    padding:0 3px;
  }
  body.chart-focus-mode .chart-heading-row h2{
    flex:1 1 auto;
    min-width:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.chart-focus-mode .mobile-chart-count{flex:0 0 auto}
  body.chart-focus-mode .chart-zoom-controls{
    grid-column:1;
    grid-row:2;
    width:100%;
    min-width:0;
    margin:0;
    justify-content:center;
    flex-wrap:nowrap;
  }
  body.chart-focus-mode .chart-frame{grid-column:1;grid-row:3}
  body.chart-focus-mode .pager{grid-column:1;grid-row:4}
}
@media (pointer:coarse) and (orientation:portrait) and (min-width:600px) and (max-width:760px){
  body.chart-focus-mode .viewer{row-gap:3px;padding:5px}
  body.chart-focus-mode .chart-heading-row h2{font-size:15px}
  body.chart-focus-mode .chart-zoom-controls{gap:3px}
  body.chart-focus-mode .chart-zoom-controls button{padding-left:7px;padding-right:7px}
}

/* Rev91 — maximize portrait iPad / Split View chart canvas while preserving aspect ratio. */
@media (pointer:coarse) and (orientation:portrait) and (min-width:600px) and (max-width:1100px){
  body.chart-focus-mode .viewer{
    padding:3px;
    row-gap:2px;
  }
  body.chart-focus-mode .chart-heading-row{
    min-height:24px;
    padding:0 2px;
  }
  body.chart-focus-mode .chart-heading-row h2{
    font-size:15px;
    line-height:1;
  }
  body.chart-focus-mode .mobile-chart-count{
    padding:2px 5px;
    font-size:10px;
    line-height:1;
  }
  body.chart-focus-mode .chart-zoom-controls{
    gap:3px;
    min-height:44px;
  }
  body.chart-focus-mode .chart-zoom-controls button{
    min-height:44px!important;
    padding-top:5px;
    padding-bottom:5px;
  }
  body.chart-focus-mode .chart-frame{
    min-height:0;
    height:100%;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    border-width:1px;
  }
  body.chart-focus-mode .pager{
    min-height:44px;
    padding:1px 3px;
    margin:0;
  }
  body.chart-focus-mode .pager button{min-height:44px!important}
}
@media (pointer:coarse) and (orientation:portrait) and (min-width:600px) and (max-width:760px){
  body.chart-focus-mode .viewer{padding:2px;row-gap:1px}
  body.chart-focus-mode .chart-heading-row{min-height:22px}
  body.chart-focus-mode .chart-heading-row h2{font-size:14px}
  body.chart-focus-mode .chart-zoom-controls{gap:2px}
  body.chart-focus-mode .pager{padding:0 2px}
}


/* Rev92 — aspect-specific portrait Fit behavior for tall versus wide charts. */
@media (pointer:coarse) and (orientation:portrait) and (min-width:600px) and (max-width:1100px){
  body.chart-focus-mode:not(.chart-controls-hidden) .chart-frame.fit-extra-tall:not(.is-zoomed){
    justify-content:center;
    align-items:flex-start;
    padding-top:0!important;
  }
  body.chart-focus-mode:not(.chart-controls-hidden) .chart-frame.fit-standard:not(.is-zoomed){
    justify-content:center;
    align-items:center;
  }
  body.chart-focus-mode:not(.chart-controls-hidden) .chart-frame.fit-wide:not(.is-zoomed){
    justify-content:center;
    align-items:center;
  }
}


/* Rev95 - smooth portrait/landscape full-screen handoff */
body.chart-focus-mode .chart-frame img{
  transition:width .18s ease,height .18s ease,opacity .12s ease;
}
body.chart-focus-mode .chart-frame.orientation-settling img{
  opacity:0;
  transition:opacity .06s linear!important;
}
@media (prefers-reduced-motion:reduce){
  body.chart-focus-mode .chart-frame img{transition:none!important;}
  body.chart-focus-mode .chart-frame.orientation-settling img{opacity:1!important;}
}


/* Rev127: Advanced 6 development assumptions */
.advanced-assumption{margin:.35rem 0 .75rem;text-align:center;font-weight:600;letter-spacing:.01em}

/* Rev129 — S6 Best-in-Slot PTP / high-investment path */
.bis-panel{margin:0 0 24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--surface2),var(--surface));box-shadow:0 14px 34px rgba(0,0,0,.18)}
.bis-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.bis-panel-head h2{margin:.2rem 0 .45rem}
.bis-panel-head p{margin:0;color:var(--muted);max-width:860px}
.bis-badge{flex:0 0 auto;border:1px solid var(--gold);color:var(--gold);font-weight:900;letter-spacing:.08em;border-radius:999px;padding:7px 10px;font-size:.78rem}
.bis-rule{margin:14px 0 18px;padding:14px 16px;border-left:4px solid var(--gold);border-radius:10px;background:rgba(255,255,255,.035);line-height:1.55}
.bis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bis-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.bis-card h3{margin:.35rem 0 .6rem;font-size:1.05rem}
.bis-card p{margin:.45rem 0;color:var(--muted);line-height:1.45}
.bis-card-kicker{font-size:.76rem;font-weight:900;letter-spacing:.08em;color:var(--gold)}
.bis-status{font-size:.9rem}
.bis-footnote{margin:16px 0 0;color:var(--muted);font-size:.92rem;line-height:1.5}
@media (max-width:800px){.bis-grid{grid-template-columns:1fr}.bis-panel{padding:16px}.bis-panel-head{display:block}.bis-badge{display:inline-block;margin-top:10px}}

/* Rev156 — maturity-chart architecture */
.maturity-panel{margin:18px 0 22px;padding:20px;border:1px solid rgba(214,180,88,.34);border-radius:18px;background:linear-gradient(180deg,rgba(214,180,88,.07),rgba(255,255,255,.015))}
.maturity-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.maturity-panel-head h2{margin:.1rem 0 .45rem}
.maturity-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border:1px solid rgba(214,180,88,.55);border-radius:999px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.08em}
.maturity-rule,.maturity-note{margin:14px 0;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface2);line-height:1.55}
.maturity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.maturity-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(17,20,24,.72)}
.maturity-card h3{margin:.25rem 0 .55rem;color:var(--gold-hover)}
.maturity-card p{margin:.45rem 0;line-height:1.55}
.maturity-card-kicker{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--gold)}
@media (max-width:800px){.maturity-grid{grid-template-columns:1fr}.maturity-panel{padding:16px}.maturity-panel-head{display:block}.maturity-badge{margin-top:10px}}


/* Rev157 — first published maturity lineup: S3–S5 Shooter PvE */
.maturity-card-active{border-color:rgba(214,180,88,.65);box-shadow:0 0 0 1px rgba(214,180,88,.08) inset}
.maturity-published{margin-top:18px;padding:16px;border:1px solid rgba(214,180,88,.5);border-radius:15px;background:rgba(7,9,12,.42)}
.maturity-published-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
.maturity-published-head h3{margin:.2rem 0;color:var(--gold-hover)}
.maturity-published-rule{padding:11px 12px;border-radius:11px;background:var(--surface2);border:1px solid var(--line);line-height:1.5}
.maturity-lineup-table{display:grid;gap:8px;margin-top:12px}
.maturity-lineup-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1.3fr;gap:8px;align-items:stretch}
.maturity-lineup-row>span{display:block;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(17,20,24,.72);line-height:1.35}
.maturity-lineup-row>span b{display:block;color:var(--gold-hover);font-size:.86em;margin-top:3px}
.maturity-lineup-row>span small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}
.maturity-lineup-header>span{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);background:rgba(214,180,88,.07)}
@media(max-width:900px){.maturity-lineup-row{grid-template-columns:1fr}.maturity-lineup-header{display:none}.maturity-lineup-row>span{padding:9px 10px}.maturity-lineup-row>span:before{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:3px}.maturity-lineup-row>span:nth-child(1):before{content:'Use'}.maturity-lineup-row>span:nth-child(2):before{content:'Front'}.maturity-lineup-row>span:nth-child(3):before{content:'Middle'}.maturity-lineup-row>span:nth-child(4):before{content:'Back'}.maturity-lineup-row>span:nth-child(5):before{content:'Evidence'}.maturity-published-head{display:block}.maturity-published-head .maturity-badge{margin-top:8px}}


/* Rev179 — visitor path system and Special Ant Life Cycle */
.rev179-hero{min-height:500px;padding-bottom:30px}
.hero-principle{display:inline-block;margin:14px 0 0;padding:9px 13px;border-left:3px solid var(--gold);background:rgba(214,180,88,.07);color:var(--gold-hover);font-weight:800}
.visitor-path,.goal-panel,.purpose-panel,.lifecycle-hero,.life-detail{margin:0 0 24px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.section-intro{margin-top:-2px;color:var(--muted)}
.visitor-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.visitor-choice{display:flex;flex-direction:column;min-height:250px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);text-decoration:none;transition:.18s ease}
.visitor-choice:hover{transform:translateY(-2px);border-color:var(--gold);background:#292e35}
.visitor-choice .choice-label{align-self:flex-start;padding:4px 9px;border-radius:999px;background:rgba(214,180,88,.10);border:1px solid rgba(214,180,88,.35);color:var(--gold-hover);font-size:12px;font-weight:900;letter-spacing:.08em}
.visitor-choice strong{margin:16px 0 8px;font-size:22px;line-height:1.25;color:var(--text)}
.visitor-choice small{flex:1;color:var(--muted);font-size:15px;line-height:1.5}.visitor-choice b{margin-top:18px;color:var(--gold-hover)}
.goal-heading{display:grid;grid-template-columns:1fr .9fr;gap:30px;align-items:end}.goal-heading>p{margin:0;color:var(--muted)}
.goal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.goal-grid a{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);text-decoration:none}.goal-grid a:hover{border-color:var(--gold)}.goal-grid strong,.goal-grid span{display:block}.goal-grid strong{color:var(--gold-hover);font-size:18px;margin-bottom:7px}.goal-grid span{color:var(--muted);font-size:14px}
.purpose-panel>p:not(.kicker){max-width:900px;color:var(--muted)}.purpose-points,.four{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.purpose-points div,.four div{padding:18px;background:var(--surface2);border-radius:12px}.purpose-points strong,.purpose-points span,.four strong,.four span{display:block}.purpose-points strong,.four strong{color:var(--gold-hover);margin-bottom:5px}.purpose-points span,.four span{color:var(--muted);font-size:15px}.evidence-four{grid-template-columns:repeat(4,1fr)}
.lifecycle-page{max-width:1120px}.lifecycle-hero h1{font-size:clamp(40px,5vw,54px)}.life-rule{margin-top:18px;padding:14px 16px;background:var(--surface2);border-left:3px solid var(--gold);border-radius:9px;color:var(--muted)}.life-rule strong{color:var(--text)}
.life-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}.life-stage{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.life-no{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#171717;font-weight:900}.life-status{margin:0 0 6px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.09em}.life-stage h2{font-size:24px}.life-stage p:not(.life-status){color:var(--muted)}.life-stage a{color:var(--gold-hover);font-weight:800;text-decoration:none}.life-stage.data{border-color:rgba(214,180,88,.42)}.life-note{display:inline-block;padding:6px 9px;border-radius:8px;background:#111418;color:var(--gold-hover);font-weight:800}
.life-detail{scroll-margin-top:100px}.life-detail p{color:var(--muted)}.life-detail.caution{border-color:rgba(214,180,88,.45);background:linear-gradient(145deg,rgba(214,180,88,.06),var(--surface) 42%)}.replacement-steps{margin:14px 0 0;padding-left:24px}.replacement-steps li{margin:7px 0;color:var(--muted)}
@media(max-width:900px){.visitor-path-grid,.goal-grid,.purpose-points,.evidence-four{grid-template-columns:1fr 1fr}.goal-heading{grid-template-columns:1fr}.life-stage-grid{grid-template-columns:1fr}}
@media(max-width:620px){.visitor-path-grid,.goal-grid,.purpose-points,.evidence-four{grid-template-columns:1fr}.visitor-choice{min-height:0}.visitor-path,.goal-panel,.purpose-panel,.lifecycle-hero,.life-detail{padding:20px}.rev179-hero{min-height:auto}}

/* Rev180 — dedicated Learning / Experienced / Browse entry paths */
.path-page{max-width:1120px}.path-hero,.path-section{margin:0 0 24px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.path-hero.compact{padding-bottom:22px}.path-hero h1{font-size:clamp(38px,5vw,56px);max-width:850px}.path-hero .lead{max-width:900px}
.path-start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}.path-start-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none}.path-start-card:hover{border-color:var(--gold);transform:translateY(-1px)}.path-start-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#171717;font-weight:900}.path-start-card strong,.path-start-card small{display:block}.path-start-card strong{color:var(--gold-hover);font-size:19px;margin-bottom:7px}.path-start-card small{color:var(--muted);font-size:15px;line-height:1.45}
.path-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.path-feature-grid>div{padding:18px;background:var(--surface2);border-radius:12px}.path-feature-grid strong{color:var(--gold-hover)}.path-feature-grid p{margin:.4rem 0 0;color:var(--muted)}.mini-life-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}.mini-life-flow span{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);font-weight:800}.mini-life-flow b{color:var(--gold)}.path-note{color:var(--muted)}
.quick-action-grid,.browse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 24px}.quick-action-grid a,.browse-grid a{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none}.quick-action-grid a:hover,.browse-grid a:hover{border-color:var(--gold);transform:translateY(-1px)}.quick-action-grid strong,.quick-action-grid span,.browse-grid strong,.browse-grid span{display:block}.quick-action-grid strong,.browse-grid strong{font-size:20px;color:var(--gold-hover);margin-bottom:7px}.quick-action-grid span,.browse-grid span{color:var(--muted);line-height:1.45}.decision-strip{border-left:4px solid var(--gold)}.status-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.status-row span{padding:14px;background:var(--surface2);border-radius:10px;color:var(--muted);font-size:14px}.status-row b{display:block;color:var(--gold-hover);margin-bottom:4px}.featured-ant-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.featured-ant-links a{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);text-decoration:none;font-weight:800}.featured-ant-links a:hover{border-color:var(--gold)}
@media(max-width:900px){.path-feature-grid,.status-row{grid-template-columns:1fr 1fr}.quick-action-grid,.browse-grid,.featured-ant-links{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.path-start-grid,.path-feature-grid,.status-row,.quick-action-grid,.browse-grid,.featured-ant-links{grid-template-columns:1fr}.path-hero,.path-section{padding:20px}}


/* Rev181 — New Ant decision page */
.new-ant-page{max-width:1120px}.new-ant-hero,.new-ant-checklist,.new-ant-decision,.new-ant-warning{margin:0 0 24px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.new-ant-hero h1{font-size:clamp(38px,5vw,56px);max-width:900px}.new-ant-hero .lead{max-width:930px}.new-ant-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}.new-ant-steps article{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.new-ant-steps article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#171717;font-weight:900}.new-ant-steps h2{font-size:23px;margin:.15rem 0 .5rem}.new-ant-steps p:not(.life-status){color:var(--muted);line-height:1.5}.new-ant-steps a{color:var(--gold-hover);font-weight:800;text-decoration:none}.new-ant-checklist{display:grid;grid-template-columns:.75fr 1.25fr;gap:26px;align-items:start}.checklist-grid{display:grid;gap:10px}.checklist-grid label{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--muted);line-height:1.4}.checklist-grid input{margin-top:3px;accent-color:var(--gold)}.decision-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.decision-cards>div{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.decision-cards strong{color:var(--gold-hover);letter-spacing:.06em}.decision-cards p{color:var(--muted);margin:.5rem 0 0}.new-ant-next{margin:18px 0 0}.new-ant-warning{border-color:rgba(214,180,88,.5);background:linear-gradient(145deg,rgba(214,180,88,.06),var(--surface) 42%)}.new-ant-warning p:not(.kicker){color:var(--muted);max-width:900px}
@media(max-width:800px){.new-ant-steps,.new-ant-checklist,.decision-cards{grid-template-columns:1fr}}@media(max-width:620px){.new-ant-hero,.new-ant-checklist,.new-ant-decision,.new-ant-warning{padding:20px}}


/* Rev192 — foundation/navigation shell alignment */
.page-tools{position:sticky;top:0;z-index:18;display:flex;justify-content:flex-end;gap:8px;max-width:1200px;margin:0 auto;padding:8px 24px;background:rgba(7,9,12,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.05)}
.page-tools a,.page-tools button{appearance:none;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--text);padding:7px 11px;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}
.page-tools a:hover,.page-tools button:hover,.page-tools a:focus-visible,.page-tools button:focus-visible{border-color:var(--gold);color:var(--gold-hover);outline:none}
.colony-page-tools{justify-content:flex-start;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.colony-page-tools a,.colony-page-tools button{flex:0 0 auto}
#roster-counts,#private-backup{scroll-margin-top:72px}
.nav a[aria-current="page"]{color:var(--gold-hover)}
@media(max-width:620px){.page-tools{padding:7px 14px}.page-tools a,.page-tools button{padding:7px 9px}}


/* Rev193 — Special Ant Directory implementation */
.directory-mode{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:26px 0;padding:22px;border:1px solid rgba(227,180,73,.45);border-radius:16px;background:#07111d}.directory-mode h2{margin:.15rem 0 .4rem}.directory-mode p{margin:.25rem 0}.view-toggle{display:flex;gap:10px;flex-wrap:wrap}.view-button{min-height:48px;padding:10px 16px;border-radius:12px;border:1px solid #b68c35;background:#0a1624;color:#fff;font-weight:700;cursor:pointer}.view-button.active,.view-button[aria-pressed="true"]{background:#e4b844;color:#111}.filter-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}.filter-actions .button-link{min-height:44px;display:inline-flex;align-items:center}.ant-portrait-placeholder{min-height:150px;margin:14px 0;border:1px dashed #6f8292;border-radius:14px;background:linear-gradient(145deg,#08111b,#101d29);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#b8c8d5}.ant-portrait-placeholder span{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}.ant-portrait-placeholder strong{color:#f0c65b;font-size:1.15rem;margin-top:6px}.ant-directory.quick-view{grid-template-columns:1fr}.ant-directory.quick-view .ant-card{display:grid;grid-template-columns:auto minmax(170px,1fr) minmax(220px,1.4fr) auto;align-items:center;gap:16px;padding:16px 18px}.ant-directory.quick-view .ant-card-top{grid-column:1}.ant-directory.quick-view .ant-portrait-placeholder{display:none}.ant-directory.quick-view .card-scanline{grid-column:2}.ant-directory.quick-view h2{grid-column:2;margin:0}.ant-directory.quick-view .ant-meta{grid-column:3;margin:0}.ant-directory.quick-view .ant-card>p:not(.ant-meta){display:none}.ant-directory.quick-view .button-link,.ant-directory.quick-view .disabled-link{grid-column:4;grid-row:1 / span 3;white-space:nowrap}.directory-guidance{margin:28px 0;padding:22px;border-left:4px solid #e4b844;background:#07111d}.directory-guidance h2{margin:.1rem 0 .5rem}@media(max-width:820px){.directory-mode{align-items:flex-start;flex-direction:column}.ant-directory.quick-view .ant-card{display:block}.ant-directory.quick-view .ant-card-top,.ant-directory.quick-view .card-scanline,.ant-directory.quick-view h2,.ant-directory.quick-view .ant-meta,.ant-directory.quick-view .button-link,.ant-directory.quick-view .disabled-link{display:flex;margin-top:10px}.ant-directory.quick-view .ant-card>p:not(.ant-meta){display:none}}


/* Rev194 — Special Ant individual profile decision standard */
.decision-box{margin:0 0 20px;padding:24px;border:1px solid rgba(228,184,68,.65);border-radius:16px;background:linear-gradient(145deg,rgba(228,184,68,.07),#07111d 42%)}
.decision-box-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.decision-box-head h2{margin:.15rem 0 0;max-width:780px}
.decision-box-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.decision-box-grid>div{padding:15px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}
.decision-box-grid span,.decision-box-grid strong{display:block}.decision-box-grid span{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.decision-box-grid strong{margin-top:6px;line-height:1.45;font-size:15px}.decision-box-grid .decision-reason{grid-column:1/-1;border-left:4px solid var(--gold)}
.profile-panel a{font-weight:800}.profile-panel .button-link{display:inline-flex}
@media(max-width:760px){.decision-box{padding:19px}.decision-box-head{display:block}.decision-box-head .status-badge{display:inline-block;margin-top:10px}.decision-box-grid{grid-template-columns:1fr}.decision-box-grid .decision-reason{grid-column:auto}}


/* Rev231 — site search */
.search-panel{margin-bottom:16px}
.site-search-form label{display:block;margin-bottom:10px}
.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
.search-help{color:var(--muted);margin:10px 0 0;font-size:15px}
.search-filters,.search-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.filter-chip,.search-chips button{min-height:40px;padding:7px 12px;font-size:14px;background:var(--surface2);color:var(--text);border-color:var(--line)}
.filter-chip.active{background:var(--gold);color:#171717;border-color:var(--gold)}
.search-summary{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}
.search-results{display:grid;gap:12px}
.search-result-card{background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:18px}
.search-result-card h3{margin:4px 0 8px}
.search-result-card h3 a{text-decoration:none;color:var(--gold-hover)}
.search-result-card p{color:var(--muted);margin:0 0 14px}
.search-result-meta span{display:inline-flex;padding:4px 9px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:800;color:var(--muted)}
@media(max-width:700px){
  .search-row{grid-template-columns:1fr}
  .search-row button{width:100%}
  .search-summary{display:block}
  .search-summary .button-link{margin-top:10px}
}


/* Rev232 — contributor guidelines */
.contributor-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.contributor-flow div{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:16px}
.contributor-flow strong,.contributor-flow span{display:block}
.contributor-flow strong{color:var(--gold-hover);margin-bottom:6px}
.contributor-flow span{color:var(--muted);font-size:15px}
@media(max-width:900px){.contributor-flow{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.contributor-flow{grid-template-columns:1fr}}


/* Rev233 — Ask Dolly guided question paths */
.ask-path-builder{margin:18px 0 24px}
.guided-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.guided-grid label>span,.guided-subpanel label>span{display:block;font-weight:800;margin-bottom:6px}
.path-choice{border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0}
.path-choice legend{font-weight:800;color:var(--gold-hover);padding:0 6px}
.path-option{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:start;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:10px;cursor:pointer}
.path-option input{width:auto;min-height:auto;margin-top:5px}
.path-option strong,.path-option span{grid-column:2}
.path-option span{color:var(--muted);font-size:15px;margin-top:3px}
.guided-subpanel{background:#111418;border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}
.guided-result{display:none;margin-top:16px}
.guided-result.show{display:block}
.guided-result-box{background:var(--surface2);border:1px solid var(--gold);border-radius:14px;padding:18px}
.guided-result-box p{color:var(--muted)}
.guided-check{display:grid;gap:4px;background:#111418;border-radius:10px;padding:14px;margin:12px 0}
.guided-check strong{color:var(--gold-hover)}
.guided-check span{color:var(--muted)}
@media(max-width:700px){.guided-grid{grid-template-columns:1fr}}

/* Rev239: account-aware My Colony and preserved handoff context */
.account-context-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(214,176,78,.45);border-radius:14px;background:rgba(214,176,78,.08)}
.account-context-banner strong{color:#e3c76d}.account-context-banner span{flex:1;min-width:220px}.account-context-banner a{font-weight:700}
.colony-private{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:16px;border:1px solid rgba(86,190,124,.45);border-radius:14px;background:rgba(86,190,124,.10)}.colony-private strong{color:#8bd6a5}.colony-private span{opacity:.9}
.colony-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.colony-account-bar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:12px;align-items:end;margin:16px 0}.colony-account-bar label,.colony-account-form label,.colony-ant-form-grid label,.colony-edit-grid label{display:grid;gap:7px}.colony-account-bar label span,.colony-account-form label span,.colony-ant-form-grid label span,.colony-edit-grid label span{font-weight:700}.colony-account-bar select,.colony-account-form input,.colony-account-form select,.colony-ant-form-grid select,.colony-ant-form-grid input,.colony-edit-grid input{width:100%}
.colony-ant-form-grid{display:grid;grid-template-columns:1.3fr .65fr .8fr auto;gap:14px;align-items:end}.colony-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.colony-stats>div{padding:18px;border:1px solid var(--line,#3a404b);border-radius:14px;background:rgba(255,255,255,.025)}.colony-stats strong{display:block;font-size:2rem;color:#e3c76d}.colony-stats span{display:block;margin-top:4px}
.colony-class-section{margin-top:22px;padding:20px;border:1px solid var(--line,#3a404b);border-radius:16px}.colony-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.colony-ant-card{padding:18px;border:1px solid var(--line,#3a404b);border-radius:14px;background:rgba(255,255,255,.025)}.colony-ant-card h4{font-size:1.3rem;margin:.65rem 0}.colony-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.colony-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.colony-action-card{display:grid;gap:8px;padding:18px;border:1px solid var(--line,#3a404b);border-radius:14px;background:rgba(255,255,255,.025);text-decoration:none;color:inherit}.colony-action-card strong{color:#e3c76d;font-size:1.12rem}.colony-action-card:hover,.colony-action-card:focus-visible{border-color:#d6b04e;background:rgba(214,176,78,.08)}.colony-action-card.is-disabled{opacity:.6}.colony-file-label{position:relative;overflow:hidden}.colony-file-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.danger-button{border-color:rgba(244,120,120,.65)!important;color:#ffb1b1!important;background:rgba(128,30,30,.18)!important}
@media(max-width:900px){.colony-ant-form-grid{grid-template-columns:1fr 1fr}.colony-ant-form-grid button{grid-column:1/-1}.colony-action-grid{grid-template-columns:1fr 1fr}.colony-roster-grid{grid-template-columns:1fr}}
@media(max-width:640px){.colony-account-bar,.colony-ant-form-grid,.colony-stats,.colony-action-grid,.colony-edit-grid{grid-template-columns:1fr}.colony-account-bar button,.colony-ant-form-grid button{width:100%}.colony-section-head{display:block}.colony-section-head .status-badge{display:inline-block;margin-top:8px}}

.guided-account-summary{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:5px;min-height:76px;justify-content:center}.guided-account-summary strong{color:var(--gold)}.guided-account-summary span{color:var(--muted);line-height:1.45}

/* Rev242 — operational square lineup-card presentation */
.lineup-card-view{margin:18px 0 22px;padding:16px;border:1px solid rgba(214,176,78,.28);border-radius:14px;background:linear-gradient(180deg,rgba(214,176,78,.055),rgba(255,255,255,.018))}
.lineup-card-view-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:12px}.lineup-card-view-head h2{margin:.1rem 0}.lineup-card-view-head p{max-width:640px;margin:0;color:var(--muted)}
.lineup-card-strip{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 2px 14px;scrollbar-width:thin}
.lineup-option-card{flex:0 0 auto;width:min(430px,88vw);scroll-snap-align:start;border:1px solid rgba(214,176,78,.32);border-radius:13px;padding:12px;background:#0b0e12;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.lineup-option-label{height:58px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:10px;overflow:hidden;border-radius:8px;background:#07090c}.lineup-option-label img{max-width:210px;max-height:56px;width:auto;height:auto;object-fit:contain;display:block}
.lineup-slot-row{display:flex;gap:10px;align-items:flex-start}.lineup-slot{min-width:0}.lineup-slot-title{display:block;text-align:center;font-size:.76rem;font-weight:700;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em}
.lineup-ant-square{position:relative;width:100px;height:100px;border:1px solid rgba(214,176,78,.28);border-radius:10px;background:#080a0c;display:flex;align-items:center;justify-content:center;overflow:hidden}.lineup-ant-square img{width:100px;height:100px;object-fit:contain!important;display:block}.native-star-row{min-height:22px;margin-top:5px;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;font-weight:800;letter-spacing:.02em;color:#ffd86c;white-space:nowrap}.native-star-row.variable{font-size:13px;color:#e8c96f}.native-star-row.assumed{color:#ffd86c}
.lineup-option-rating{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(214,176,78,.16);font-size:.78rem;color:var(--muted)}.lineup-option-rating img{height:44px;width:auto;max-width:105px;object-fit:contain;display:block}
.lineup-card-note{margin:8px 2px 0;color:var(--muted);font-size:.92rem;line-height:1.45}
@media(max-width:700px){.lineup-card-view{padding:12px;margin:14px 0 18px}.lineup-card-view-head{display:block}.lineup-card-view-head p{margin-top:6px}.lineup-option-card{width:358px;max-width:89vw;padding:10px}.lineup-slot-row{gap:8px}.lineup-ant-square,.lineup-ant-square img{width:100px;height:100px}.lineup-option-label{height:52px}.lineup-option-label img{max-height:50px}.lineup-card-strip{padding-bottom:12px}}
@media(max-width:380px){.lineup-option-card{width:340px}.lineup-slot-row{gap:6px}.lineup-ant-square,.lineup-ant-square img{width:100px;height:100px}}

/* Rev251 — square-card lineups are the primary operational view. */
.legacy-chart-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 0;padding:15px 17px;text-align:left;border-color:rgba(214,176,78,.32)}
.legacy-chart-toggle span{font-weight:800;color:var(--gold-hover)}
.legacy-chart-toggle small{font-weight:500;color:var(--muted);margin-left:auto;text-align:right}
.legacy-chart-toggle::after{content:"＋";flex:0 0 auto;font-size:1.25rem;color:var(--gold)}
.viewer.legacy-chart-open>.legacy-chart-toggle::after{content:"−"}
.viewer:not(.legacy-chart-open)>.mobile-swipe-hint,
.viewer:not(.legacy-chart-open)>.chart-zoom-controls,
.viewer:not(.legacy-chart-open)>.chart-frame,
.viewer:not(.legacy-chart-open)>.pager,
.viewer:not(.legacy-chart-open)>.chart-share-row{display:none!important}
.lineup-page .lineup-card-view{margin-top:18px}
@media (pointer:coarse) and (max-width:1400px){
  .lineup-page .lineup-card-view{margin-top:14px;padding:14px}
  .lineup-page .lineup-card-strip{scroll-padding-inline:2px}
  .lineup-page .legacy-chart-toggle{min-height:52px;padding:13px 15px}
}
@media(max-width:700px){
  .legacy-chart-toggle{align-items:flex-start;flex-wrap:wrap}
  .legacy-chart-toggle small{width:100%;margin:2px 28px 0 0;text-align:left}
}


/* Rev252 — native lineup cards: text/rating rendered as HTML, portrait tiles no longer use sliced chart labels. */
.native-lineup-card{width:min(440px,90vw);padding:14px}.native-lineup-heading{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 2px 10px;border-bottom:1px solid rgba(214,176,78,.16);margin-bottom:10px}.native-lineup-heading strong{font-size:1.05rem;color:var(--text);line-height:1.2}.native-lineup-index{display:inline-grid;place-items:center;min-width:32px;height:28px;padding:0 7px;border:1px solid rgba(214,176,78,.4);border-radius:999px;color:var(--gold);font-size:.74rem;font-weight:800}.native-lineup-slot{width:100px}.native-ant-square{background:#05080b}.native-ant-square img{object-fit:contain!important;background:#05080b}.native-ant-meta{display:flex;flex-direction:column;gap:2px;min-height:42px;padding-top:6px;text-align:center;line-height:1.15}.native-ant-meta strong{font-size:.78rem;color:var(--text);overflow-wrap:anywhere}.native-ant-meta span{font-size:.7rem;color:var(--gold);font-weight:800}.native-rating{justify-content:space-between}.native-rating strong{font-family:Georgia,serif;font-size:2rem;line-height:1;color:var(--gold-hover);letter-spacing:.02em}.native-lineup-card .lineup-slot-row{justify-content:space-between}@media(max-width:700px){.native-lineup-card{width:368px;max-width:92vw}.native-lineup-card .lineup-slot-row{gap:8px}.native-ant-meta strong{font-size:.75rem}}

/* Rev253 — original-style Special Ant cards: fit, never zoom-crop. */
.native-ant-square{width:100px!important;height:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:4px!important;background:linear-gradient(180deg,#17110d,#090a0d)!important;overflow:hidden!important}
.native-ant-square img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;transform:none!important}
.native-ant-meta{padding-top:4px!important}
.native-lineup-card{background:linear-gradient(180deg,#0d0f12,#090a0c)!important}

/* Rev253 — original-style Special Ant cards: fit, never zoom-crop. */
.native-ant-square{width:100px!important;height:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:4px!important;background:linear-gradient(180deg,#17110d,#090a0d)!important;overflow:hidden!important}
.native-ant-square img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;transform:none!important}
.native-ant-meta{padding-top:4px!important}
.native-lineup-card{background:linear-gradient(180deg,#0d0f12,#090a0c)!important}

/* Rev254 — maximum fitted original card inside the locked 100x100 slot. */
.native-ant-square{width:100px!important;height:100px!important;padding:0!important;border-radius:8px!important;background:#080a0c!important;overflow:hidden!important}
.native-ant-square img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;transform:none!important}
.native-lineup-slot{width:100px!important}

/* Rev260 — iPad touch-scroll performance + duplicate season cleanup. */
.native-ant-meta span{display:none!important}
@media (pointer:coarse) and (max-width:1400px){
  .lineup-card-strip{
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    overscroll-behavior-inline:auto!important;
    scrollbar-width:none!important;
    gap:12px!important;
  }
  .lineup-card-strip::-webkit-scrollbar{display:none!important}
  .lineup-option-card,.native-lineup-card{
    scroll-snap-align:none!important;
    box-shadow:none!important;
    contain:layout paint style;
    background:#0b0e12!important;
  }
  .lineup-card-view{background:#121419!important}
}


/* Rev261 — iPad portrait pager + reduced horizontal-scroll jank. */
@media (pointer:coarse) and (max-width:1400px){
  .lineup-card-strip{
    touch-action:pan-x pan-y!important;
    overscroll-behavior-inline:contain!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    -webkit-overflow-scrolling:touch!important;
    contain:content;
  }
  .lineup-option-card,.native-lineup-card{
    contain:layout style!important;
    box-shadow:none!important;
  }
  .native-ant-square img{image-rendering:auto}
}
@media (pointer:coarse) and (orientation:portrait) and (max-width:1400px){
  .viewer.legacy-chart-open>.pager{
    display:grid!important;
    position:sticky!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    z-index:40!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:6px!important;
    margin:8px 0 0!important;
    padding:6px!important;
    background:#121518!important;
    border:1px solid var(--line)!important;
    border-radius:12px!important;
    backdrop-filter:none!important;
  }
  .viewer.legacy-chart-open>.pager button{
    width:100%!important;min-width:0!important;min-height:46px!important;
    padding:8px 10px!important;white-space:nowrap!important;
  }
  .viewer.legacy-chart-open>.pager .page-count{
    grid-column:auto!important;grid-row:auto!important;
    min-width:72px!important;white-space:nowrap!important;font-size:12px!important;
  }
}

/* Rev266 — Full Reference Chart viewport repair on touch devices.
   In normal page mode the full chart participates in document flow; the pager
   follows the chart instead of overlaying it. Full-screen mode keeps its own viewer. */
@media (pointer:coarse) and (max-width:1400px){
  body:not(.chart-focus-mode) .viewer.legacy-chart-open>.chart-frame{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    display:block!important;
    scroll-margin-top:96px!important;
    overscroll-behavior:auto!important;
    touch-action:auto!important;
    -webkit-overflow-scrolling:auto!important;
  }
  body:not(.chart-focus-mode) .viewer.legacy-chart-open>.chart-frame img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  body:not(.chart-focus-mode) .viewer.legacy-chart-open>.pager{
    position:static!important;
    bottom:auto!important;
    z-index:auto!important;
    margin:10px 0 0!important;
  }
}


/* Rev267 — universal responsive phone/tablet pass.
   Respond to available space rather than device brand. */
html{min-height:100%;}
body{min-height:100vh;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);}
@media (max-width:700px){
  .page-tools{
    top:0;
    gap:4px;
    padding:4px max(8px,env(safe-area-inset-right,0px)) 4px max(8px,env(safe-area-inset-left,0px));
    min-height:44px;
    backdrop-filter:none;
    background:rgba(7,9,12,.96);
  }
  .page-tools a,.page-tools button{
    min-height:38px;
    padding:5px 8px;
    font-size:12px;
    border-radius:8px;
  }
  .lineup-page .subpage{
    padding-bottom:max(34px,calc(18px + env(safe-area-inset-bottom,0px)));
  }
  .lineup-page .set-switcher{
    position:static!important;
    top:auto!important;
    display:block!important;
    padding:6px!important;
    margin-bottom:10px!important;
    background:#121518!important;
    backdrop-filter:none!important;
  }
  .lineup-page .lineup-set-picker{
    display:block!important;
    margin:0!important;
  }
  .lineup-page .lineup-set-picker label{
    display:block;
    margin:0 0 4px;
    font-size:12px;
    letter-spacing:.02em;
  }
  .lineup-page .lineup-set-picker select{
    display:block;
    width:100%;
    min-height:42px;
    padding:7px 36px 7px 10px;
    font-size:16px;
  }
  .lineup-page .set-picker-help,
  .lineup-page .set-switcher>#basicBtn,
  .lineup-page .set-switcher>#advancedBtn,
  .lineup-page .set-switcher>a.button-link{
    display:none!important;
  }
  .lineup-page .lineup-hero,
  .lineup-page .lineup-goal-panel{
    scroll-margin-top:52px;
  }
  .lineup-page .viewer,
  .lineup-page .lineup-card-view,
  .lineup-page .native-lineup-card,
  .lineup-page .lineup-option-card{
    max-width:100%;
  }
  .lineup-page .pager{
    position:static!important;
    bottom:auto!important;
    margin-top:10px!important;
    padding-bottom:max(6px,env(safe-area-inset-bottom,0px));
  }
}
@media (max-width:430px){
  .lineup-page .subpage{padding-left:6px;padding-right:6px;}
  .page-tools{justify-content:center;}
  .page-tools a,.page-tools button{flex:0 1 auto;}
  .lineup-page .viewer{padding:6px;}
  .lineup-page .lineup-card-view{padding-left:0;padding-right:0;}
}
@media (max-height:760px) and (max-width:700px){
  .page-tools{min-height:40px;padding-top:2px;padding-bottom:2px;}
  .page-tools a,.page-tools button{min-height:34px;padding:4px 7px;font-size:11px;}
}
.page-tools.colony-page-tools{justify-content:flex-start}
.page-tools.colony-page-tools a,.page-tools.colony-page-tools button{flex:0 0 auto}


/* Rev269 — allow page scroll to begin on tappable ant cards. */
@media (pointer:coarse){
  .lineup-card-strip{touch-action:pan-x pan-y!important;}
  .ant-image-link,.ant-name-link,.chart-ant-hotspot{touch-action:pan-x pan-y!important;}
  .native-ant-square img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}
}

/* Rev286 — verified S2 profile imagery */
.verified-ant-photo{margin:1rem 0 0;border:1px solid rgba(212,175,55,.38);border-radius:14px;overflow:hidden;background:#080909;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.verified-ant-photo img{display:block;width:100%;max-height:460px;object-fit:cover;object-position:center}
.verified-ant-photo figcaption{padding:.55rem .8rem;color:#bfc4c7;font-size:.82rem;background:rgba(0,0,0,.58)}
.ant-card .ant-portrait-verified{display:block;position:relative;overflow:hidden;border-radius:12px;margin:.75rem 0 .65rem;border:1px solid rgba(212,175,55,.25);background:#090a0a;aspect-ratio:16/10}
.ant-card .ant-portrait-verified img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .18s ease}
.ant-card .ant-portrait-verified:hover img{transform:scale(1.025)}
.ant-card .ant-portrait-verified span{position:absolute;left:.45rem;bottom:.4rem;background:rgba(0,0,0,.7);padding:.2rem .45rem;border-radius:999px;font-size:.72rem;color:#e8d28a}

/* Rev292 - combat function colour system: text + colour, never colour alone */
.combat-role-legend{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:10px 0 12px;padding:8px 10px;border:1px solid rgba(214,176,78,.22);border-radius:12px;background:rgba(255,255,255,.018)}
.role-chip{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:3px 7px;border-radius:999px;font-size:.63rem;font-weight:850;line-height:1;letter-spacing:.02em;border:1px solid currentColor;white-space:nowrap}
.role-attack{color:#ff8a7a;background:rgba(229,83,70,.13)}
.role-healer{color:#76d693;background:rgba(63,164,96,.13)}
.role-support{color:#7ebcff;background:rgba(67,132,211,.14)}
.role-review{color:#b7bec7;background:rgba(160,170,182,.08);border-color:#6d7680}
.combat-role-row{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:5px;min-height:23px}
.native-ant-meta{min-height:70px}
@media(max-width:700px){.combat-role-legend{gap:6px;padding:7px}.role-chip{font-size:.59rem;padding:3px 6px}.native-ant-meta{min-height:72px}}


/* Rev293 - combat function is shown on the Ant portrait border, not as per-Ant text badges. */
.combat-role-legend{gap:14px}
.role-key{display:inline-flex;align-items:center;gap:7px;color:#d9dde2;font-size:.72rem;font-weight:800;white-space:nowrap}
.role-frame-sample{display:inline-block;width:20px;height:20px;border-radius:5px;background:#080a0c;border:3px solid #6d7680;box-sizing:border-box}
.role-frame-sample.role-frame-attack{border-color:#e55346}
.role-frame-sample.role-frame-healer{border-color:#3fa460}
.role-frame-sample.role-frame-support{border-color:#4384d3}
.role-frame-sample.role-frame-review{border-color:#6d7680}
.role-frame{position:relative;box-sizing:border-box!important;border:3px solid transparent!important;padding:3px!important;background:#080a0c!important}
.role-frame>img{border-radius:4px!important;background:#080a0c!important}
.role-frame-attack{border-color:#e55346!important}
.role-frame-healer{border-color:#3fa460!important}
.role-frame-support{border-color:#4384d3!important}
.role-frame-review{border-color:#6d7680!important}
.role-frame-attack-support{background:linear-gradient(#080a0c,#080a0c) padding-box,linear-gradient(135deg,#e55346 0 48%,#4384d3 52% 100%) border-box!important}
.role-frame-healer-support{background:linear-gradient(#080a0c,#080a0c) padding-box,linear-gradient(135deg,#3fa460 0 48%,#4384d3 52% 100%) border-box!important}
.role-frame-attack-healer{background:linear-gradient(#080a0c,#080a0c) padding-box,linear-gradient(135deg,#e55346 0 48%,#3fa460 52% 100%) border-box!important}
.role-frame-attack-healer-support{background:linear-gradient(#080a0c,#080a0c) padding-box,conic-gradient(from 0deg,#e55346 0 33.333%,#3fa460 33.333% 66.666%,#4384d3 66.666% 100%) border-box!important}
.ant-image-link:hover .native-ant-square.role-frame{box-shadow:0 0 0 2px rgba(230,199,111,.30)!important}
.native-ant-meta{min-height:44px!important}
@media(max-width:700px){.combat-role-legend{gap:10px}.role-key{font-size:.68rem}.role-frame-sample{width:18px;height:18px}.native-ant-meta{min-height:46px!important}}

/* Rev294 - make combat-function portrait frames unmistakable on top of the in-game gold artwork frame. */
.native-ant-square.role-frame{
  border-width:6px!important;
  border-style:solid!important;
  padding:2px!important;
  border-radius:11px!important;
  background:#080a0c!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.92),0 0 12px rgba(0,0,0,.55)!important;
}
.native-ant-square.role-frame.role-frame-attack{border-color:#e55346!important;box-shadow:0 0 0 1px #e55346,0 0 10px rgba(229,83,70,.48)!important}
.native-ant-square.role-frame.role-frame-healer{border-color:#3fa460!important;box-shadow:0 0 0 1px #3fa460,0 0 10px rgba(63,164,96,.48)!important}
.native-ant-square.role-frame.role-frame-support{border-color:#4384d3!important;box-shadow:0 0 0 1px #4384d3,0 0 10px rgba(67,132,211,.48)!important}
.native-ant-square.role-frame.role-frame-review{border-color:#6d7680!important;box-shadow:0 0 0 1px #6d7680,0 0 8px rgba(109,118,128,.35)!important}
.native-ant-square.role-frame.role-frame-attack-support{
  border-color:transparent!important;
  background:linear-gradient(#080a0c,#080a0c) padding-box,linear-gradient(135deg,#e55346 0 46%,#4384d3 54% 100%) border-box!important;
  box-shadow:-3px -3px 9px rgba(229,83,70,.30),3px 3px 9px rgba(67,132,211,.34)!important;
}
.native-ant-square.role-frame.role-frame-healer-support{
  border-color:transparent!important;
  background:linear-gradient(#080a0c,#080a0c) padding-box,linear-gradient(135deg,#3fa460 0 46%,#4384d3 54% 100%) border-box!important;
  box-shadow:-3px -3px 9px rgba(63,164,96,.30),3px 3px 9px rgba(67,132,211,.34)!important;
}
.native-ant-square.role-frame.role-frame-attack-healer{
  border-color:transparent!important;
  background:linear-gradient(#080a0c,#080a0c) padding-box,linear-gradient(135deg,#e55346 0 46%,#3fa460 54% 100%) border-box!important;
  box-shadow:-3px -3px 9px rgba(229,83,70,.30),3px 3px 9px rgba(63,164,96,.34)!important;
}
.native-ant-square.role-frame.role-frame-attack-healer-support{
  border-color:transparent!important;
  background:linear-gradient(#080a0c,#080a0c) padding-box,conic-gradient(from -30deg,#e55346 0 33.333%,#3fa460 33.333% 66.666%,#4384d3 66.666% 100%) border-box!important;
  box-shadow:0 0 11px rgba(126,188,255,.28)!important;
}

/* Rev310 — My Colony guided account creation */
.account-guide-step{padding:12px;border:2px solid transparent;border-radius:14px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.account-guide-step .step-number,.account-create-actions .step-number{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:7px;border-radius:50%;border:1px solid #8b96a3;color:#d8dee5;font-size:.82rem;font-weight:900;vertical-align:middle}
.account-guide-step.guide-active{border-color:#e4b844;background:rgba(228,184,68,.08);box-shadow:0 0 0 3px rgba(228,184,68,.12)}
.account-guide-step.guide-active .step-number,.account-create-actions button.guide-active .step-number{background:#e4b844;color:#111;border-color:#e4b844}
.account-guide-step.guide-complete .step-number{background:#2e7d4f;color:#fff;border-color:#66c184}
.account-create-actions button{display:inline-flex;align-items:center;justify-content:center}
.account-create-actions button.guide-active{box-shadow:0 0 0 3px rgba(228,184,68,.22),0 0 22px rgba(228,184,68,.18)}
@media(max-width:640px){.account-guide-step{padding:10px}.account-create-actions button{width:100%}}

/* Rev311 — persistent current-account context */
.account-context{
  display:inline-flex;align-items:center;gap:6px;min-height:42px;
  padding:7px 11px;border:1px solid var(--line);border-radius:11px;
  background:var(--surface2);text-decoration:none;white-space:nowrap;
  color:var(--muted);font-size:14px;line-height:1.15
}
.account-context:hover,.account-context:focus-visible{border-color:var(--gold);color:var(--text)}
.account-context-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.account-context-name{color:var(--gold-hover);font-size:15px}
.account-context-class{color:var(--muted);font-weight:700}
.account-context:not(.has-account) .account-context-name{color:var(--muted)}
@media(max-width:900px), (pointer:coarse) and (max-width:1400px){
  .account-context{margin-left:auto}
}
@media(max-width:560px){
  .account-context{order:3;width:100%;margin:0;justify-content:center}
  .header .nav{order:4}
}

/* Rev312 — friendly account onboarding */
.friendly-account-hero{align-items:stretch;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:28px}
.hero-copy{min-width:0}
.dolly-home-intro{display:flex;gap:10px;align-items:flex-start;margin:18px 0;padding:16px 18px;border:1px solid rgba(225,190,98,.35);border-radius:16px;background:rgba(225,190,98,.06)}
.dolly-home-intro strong{color:#efd374;white-space:nowrap}
.dolly-home-intro span{color:#d8d8dc;line-height:1.5}
.friendly-account-panel{align-self:start;border:1px solid rgba(225,190,98,.55);border-radius:20px;background:#17191d;padding:22px;box-shadow:0 14px 36px rgba(0,0,0,.22)}
.friendly-account-title{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.friendly-account-title img{width:62px;height:62px;object-fit:contain;border-radius:50%}
.friendly-account-title h2{margin:2px 0 0;font-size:1.55rem}
.friendly-account-title .kicker{margin:0}
.friendly-account-help{color:#c7c8cc;line-height:1.45;margin:0 0 16px}
#friendlyAccountForm{display:grid;gap:12px}
#friendlyAccountForm label{display:grid;gap:7px;font-weight:700}
#friendlyAccountForm label span{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
#friendlyAccountForm label b{color:#efd374;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
#friendlyAccountForm label small{font-weight:600;color:#9fa3aa}
#friendlyAccountForm input{width:100%;box-sizing:border-box}
#friendlyAccountForm button{width:100%;margin-top:4px;background:#e7c765;color:#171717;font-weight:800;border-color:#e7c765}
.friendly-welcome{font-size:1.18rem;margin:8px 0 16px}.friendly-welcome strong{color:#efd374}
.friendly-account-facts{display:grid;gap:9px;margin-bottom:16px}
.friendly-account-facts div{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.friendly-account-facts span{color:#aeb1b7}.friendly-account-facts strong{font-size:.92rem;overflow-wrap:anywhere}
@media(max-width:900px){.friendly-account-hero{grid-template-columns:1fr}.friendly-account-panel{width:100%;box-sizing:border-box}.dolly-home-intro{flex-direction:column;gap:4px}}

/* Rev313 — homepage visitor-choice action buttons: raised and highlighted */
.visitor-choice b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  min-height:52px;
  margin-top:20px;
  padding:13px 20px;
  border:1px solid #f0d57a;
  border-radius:12px;
  background:linear-gradient(180deg,#f0d57a 0%,#d6b458 100%);
  color:#171717;
  font-size:17px;
  font-weight:900;
  line-height:1.15;
  box-shadow:0 5px 0 #8e742f,0 10px 20px rgba(0,0,0,.28);
  text-shadow:none;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;
}
.visitor-choice:hover b,
.visitor-choice:focus-visible b{
  transform:translateY(-2px);
  box-shadow:0 7px 0 #8e742f,0 13px 24px rgba(0,0,0,.34);
  filter:brightness(1.05);
}
.visitor-choice:active b{
  transform:translateY(3px);
  box-shadow:0 2px 0 #8e742f,0 5px 10px rgba(0,0,0,.24);
}
.visitor-choice:focus-visible{
  outline:3px solid rgba(240,213,122,.55);
  outline-offset:3px;
}
@media(max-width:620px){
  .visitor-choice b{width:100%;align-self:stretch;}
}


/* Rev314 — My Account / security foundation */
.account-page{max-width:1280px;margin:0 auto;padding:26px 28px 56px}.account-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.account-form-stack{display:grid;gap:14px}.account-form-stack label{display:grid;gap:7px}.account-form-stack input{width:100%;box-sizing:border-box}.consent-row{grid-template-columns:auto 1fr!important;align-items:start;gap:10px!important;padding:12px;border:1px solid rgba(225,190,98,.25);border-radius:12px;background:rgba(225,190,98,.05)}.consent-row input{width:auto;margin-top:4px}.account-detail-list{display:grid;gap:0}.account-detail-list>div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.account-detail-list span{color:var(--muted)}.account-detail-list strong{overflow-wrap:anywhere}.notice-box{display:grid;gap:5px;padding:14px 16px;border:1px solid rgba(225,190,98,.36);border-radius:13px;background:rgba(225,190,98,.06);margin:12px 0}.notice-box.muted{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.03)}.notice-box span{color:var(--muted);line-height:1.45}
@media(max-width:850px){.account-management-grid{grid-template-columns:1fr}.account-page{padding:18px 16px 42px}.account-detail-list>div{grid-template-columns:110px 1fr}}


/* Rev315 — logged-in homepage state + raised account action hierarchy */
.friendly-account-actions{align-items:stretch}
.button-link.primary-raised{
  border:1px solid #f0d57a;
  background:linear-gradient(180deg,#f0d57a 0%,#d6b458 100%);
  color:#171717;
  box-shadow:0 5px 0 #8e742f,0 10px 20px rgba(0,0,0,.28);
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;
}
.button-link.primary-raised:hover,.button-link.primary-raised:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 7px 0 #8e742f,0 13px 24px rgba(0,0,0,.34);
  filter:brightness(1.05);
}
.button-link.primary-raised:active{
  transform:translateY(3px);
  box-shadow:0 2px 0 #8e742f,0 5px 10px rgba(0,0,0,.24);
}
.button-link.raised-secondary{
  box-shadow:0 4px 0 #0b0c0e,0 8px 16px rgba(0,0,0,.22);
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease;
}
.button-link.raised-secondary:hover,.button-link.raised-secondary:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 6px 0 #0b0c0e,0 11px 20px rgba(0,0,0,.28);
}
.button-link.raised-secondary:active{transform:translateY(2px);box-shadow:0 2px 0 #0b0c0e,0 4px 9px rgba(0,0,0,.22)}
.button-link.primary-raised:focus-visible,.button-link.raised-secondary:focus-visible{outline:3px solid rgba(240,213,122,.55);outline-offset:3px}
@media(max-width:620px){.friendly-account-actions .button-link{width:100%;box-sizing:border-box}}

/* Rev316 — My Colony screenshot intake + transparent account archive */
.screenshot-intake-toolbar{display:grid;grid-template-columns:minmax(220px,360px) auto;gap:14px;align-items:end;margin:18px 0}
.screenshot-intake-toolbar label:first-child{display:grid;gap:7px}.screenshot-intake-toolbar label:first-child span{font-weight:800}.screenshot-intake-toolbar select{width:100%}
.screenshot-upload-label{position:relative;overflow:hidden;justify-content:center;min-height:52px;box-sizing:border-box;cursor:pointer}
.screenshot-upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.screenshot-status-key{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.screenshot-status-key span{padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:var(--muted);font-size:.88rem}.screenshot-status-key b{color:#efd374}
.screenshot-intake-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.screenshot-intake-card{overflow:hidden;border:1px solid var(--line,#3a404b);border-radius:15px;background:rgba(255,255,255,.025)}.screenshot-intake-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#0b0d10}.screenshot-card-body{display:grid;gap:8px;padding:14px}.screenshot-card-body strong{overflow-wrap:anywhere}.screenshot-card-body small{color:var(--muted)}.screenshot-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem}
.account-lifecycle-panel{grid-column:1/-1}.account-deactivate-confirm{display:grid;gap:7px;max-width:520px;margin:16px 0}.account-deactivate-confirm span{font-weight:800}.account-deactivate-confirm input{width:100%;box-sizing:border-box}
@media(max-width:900px){.screenshot-intake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.screenshot-intake-toolbar,.screenshot-intake-grid{grid-template-columns:1fr}.screenshot-upload-label{width:100%}}


/* Rev317 — Screenshot Intake UI polish */
.screenshot-target{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 4px;padding:12px 14px;border:1px solid rgba(225,190,98,.34);border-radius:12px;background:rgba(225,190,98,.055)}
.screenshot-target span{color:var(--muted);font-weight:700}.screenshot-target strong{color:var(--gold-hover);font-size:1.05rem}
.screenshot-upload-label{font-size:1.02rem;letter-spacing:.01em;padding:12px 22px;min-width:230px}
.screenshot-upload-label.is-disabled{opacity:.46;filter:saturate(.55);transform:none!important;box-shadow:0 3px 0 #62532a,0 6px 12px rgba(0,0,0,.18)!important;cursor:not-allowed}
.screenshot-upload-label.is-disabled input{cursor:not-allowed}
@media(max-width:640px){.screenshot-target{align-items:flex-start;flex-direction:column;gap:3px}.screenshot-upload-label{min-width:0}}


/* Rev318 — Master Action Button Standard + Screenshot Upload Button Fix */
:root{
  --action-gold-top:#f0d57a;
  --action-gold-bottom:#d6b458;
  --action-gold-edge:#8e742f;
  --action-dark-edge:#0b0c0e;
}

/* Primary actions: gold, raised, unmistakably tappable. */
button:not(.secondary):not(.danger-button):not(.menu):not(.back-control),
.button-link.primary-raised,
.screenshot-upload-label:not(.is-disabled){
  border:1px solid var(--action-gold-top)!important;
  background:linear-gradient(180deg,var(--action-gold-top) 0%,var(--action-gold-bottom) 100%)!important;
  color:#171717!important;
  box-shadow:0 5px 0 var(--action-gold-edge),0 10px 20px rgba(0,0,0,.28)!important;
  font-weight:900;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,border-color .14s ease;
}
button:not(.secondary):not(.danger-button):not(.menu):not(.back-control):hover,
button:not(.secondary):not(.danger-button):not(.menu):not(.back-control):focus-visible,
.button-link.primary-raised:hover,.button-link.primary-raised:focus-visible,
.screenshot-upload-label:not(.is-disabled):hover,.screenshot-upload-label:not(.is-disabled):focus-within{
  transform:translateY(-2px);
  box-shadow:0 7px 0 var(--action-gold-edge),0 13px 24px rgba(0,0,0,.34)!important;
  filter:brightness(1.05);
}
button:not(.secondary):not(.danger-button):not(.menu):not(.back-control):active,
.button-link.primary-raised:active,
.screenshot-upload-label:not(.is-disabled):active{
  transform:translateY(3px);
  box-shadow:0 2px 0 var(--action-gold-edge),0 5px 10px rgba(0,0,0,.24)!important;
}

/* Secondary actions: dark raised surface, preserving visual hierarchy. */
button.secondary,.button-link.secondary,.button-link.raised-secondary{
  background:var(--surface2)!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 4px 0 var(--action-dark-edge),0 8px 16px rgba(0,0,0,.22)!important;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease;
}
button.secondary:hover,button.secondary:focus-visible,
.button-link.secondary:hover,.button-link.secondary:focus-visible,
.button-link.raised-secondary:hover,.button-link.raised-secondary:focus-visible{
  transform:translateY(-2px);
  border-color:var(--gold)!important;
  background:#292e35!important;
  box-shadow:0 6px 0 var(--action-dark-edge),0 11px 20px rgba(0,0,0,.28)!important;
}
button.secondary:active,.button-link.secondary:active,.button-link.raised-secondary:active{
  transform:translateY(2px);
  box-shadow:0 2px 0 var(--action-dark-edge),0 4px 9px rgba(0,0,0,.22)!important;
}

/* Destructive actions remain visually distinct and are not converted to gold. */
.danger-button{
  box-shadow:0 4px 0 #541b1b,0 8px 16px rgba(0,0,0,.22)!important;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;
}
.danger-button:hover,.danger-button:focus-visible{transform:translateY(-2px);filter:brightness(1.07)}
.danger-button:active{transform:translateY(2px);box-shadow:0 2px 0 #541b1b,0 4px 9px rgba(0,0,0,.22)!important}

/* Disabled controls are intentionally flat and subdued. */
button:disabled,button[aria-disabled="true"],.button-link[aria-disabled="true"],.screenshot-upload-label.is-disabled{
  opacity:.46!important;
  filter:saturate(.55)!important;
  transform:none!important;
  box-shadow:0 2px 0 #62532a,0 5px 10px rgba(0,0,0,.16)!important;
  cursor:not-allowed!important;
}

/* Explicit iPad/iPhone fix: the file-input label must render as a real gold button. */
.screenshot-upload-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content;
  max-width:100%;
  min-height:54px;
  border-radius:12px;
  text-decoration:none;
  -webkit-appearance:none;
  appearance:none;
}
.screenshot-upload-label:not(.is-disabled){
  background:linear-gradient(180deg,var(--action-gold-top) 0%,var(--action-gold-bottom) 100%)!important;
  border-color:var(--action-gold-top)!important;
  color:#171717!important;
}
.screenshot-upload-label.is-disabled{background:var(--surface2)!important;color:var(--muted)!important;border:1px solid var(--line)!important}

/* Navigation controls retain the quieter navigation hierarchy. */
.menu,.back-control,.page-tools a{box-shadow:none}

button:focus-visible,.button-link:focus-visible,.screenshot-upload-label:focus-within{outline:3px solid rgba(240,213,122,.55);outline-offset:3px}
@media(max-width:640px){.screenshot-upload-label{width:100%;box-sizing:border-box}}


/* Rev319 — My Colony owned-ant workflow polish */
.owned-ant-guidance{max-width:980px;margin:.4rem 0 1rem}
.owned-ant-target{margin:12px 0 18px}
.owned-ant-step{padding:10px;border:1px solid transparent;border-radius:12px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.ant-name-chooser{display:grid;gap:7px;align-self:start}
.ant-name-chooser input{width:100%;min-width:0}
.ant-name-chooser [hidden],.colony-roster-finder [hidden]{display:none!important}
.ant-name-suggestions{display:grid;gap:4px;max-height:300px;overflow-y:auto;overscroll-behavior:contain;padding:5px;border:1px solid var(--line,#3a404b);border-radius:10px;background:#11151b}
.colony-ant-form-grid .ant-name-option,.colony-roster-finder .ant-name-option{display:grid;gap:3px;grid-column:auto;width:100%;min-height:52px;padding:10px 12px;text-align:left;white-space:normal;border:1px solid transparent;border-radius:7px;background:#20242c;color:#f6f3e8;box-shadow:none}
.ant-name-option small{color:#c3c8d2;font-weight:400}
.ant-name-option:hover,.ant-name-option[aria-selected="true"]{border-color:#e4b844;background:#30302a}
.owned-ant-step .step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:7px;border:1px solid #7f8996;border-radius:50%;font-style:normal;font-weight:900}
.owned-ant-step em{font-size:.82rem;color:var(--muted);font-style:normal;font-weight:600}
.owned-ant-step.guide-active{border-color:rgba(228,184,68,.7);background:rgba(228,184,68,.055);box-shadow:0 0 0 2px rgba(228,184,68,.08)}
.owned-ant-step.guide-complete .step-number{background:#e4b844;color:#111;border-color:#e4b844}
.owned-ant-guided-grid input:disabled,.owned-ant-guided-grid select:disabled{opacity:.52;cursor:not-allowed}
@media(max-width:900px){.owned-ant-guided-grid{grid-template-columns:1fr 1fr}.owned-ant-guided-grid>label:first-child{grid-column:1/-1}.owned-ant-guided-grid button{grid-column:1/-1}}
@media(max-width:640px){.owned-ant-guided-grid{grid-template-columns:1fr}.owned-ant-guided-grid>label:first-child{grid-column:auto}}

.colony-ant-portrait{display:block;width:96px;height:96px;object-fit:cover;object-position:center;border:1px solid rgba(227,199,109,.55);border-radius:12px;margin:12px 0 8px;background:#0c1015}
.colony-ant-portrait-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);border-style:dashed}
.colony-ant-portrait-pending span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.colony-ant-portrait-pending strong{color:#e3c76d;font-size:.9rem}




/* Rev320 - screenshot-to-roster confirmation */
.screenshot-roster-review,.screenshot-roster-proposal{margin-top:1.25rem;padding:1.15rem;border:1px solid rgba(220,184,92,.42);border-radius:18px;background:rgba(10,14,18,.42)}
.pending-ant-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;margin:1rem 0}
.screenshot-proposal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem;margin:1rem 0}
.screenshot-proposal-item{padding:.85rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025)}
.screenshot-proposal-item strong,.screenshot-proposal-item span{display:block}.screenshot-proposal-item span{color:#b8bcc5;margin-top:.2rem}
.screenshot-proposal-item .proposal-view-evidence{margin-top:.7rem;min-height:44px;width:100%;text-align:center}
.removed-screenshot-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid rgba(255,255,255,.12)}
.removed-screenshot-row button{min-height:44px}
.screenshot-review-btn{margin-top:.35rem}

/* Rev321 - compact, portrait-led screenshot ant selector */
.screenshot-ant-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0;max-height:520px;overflow:auto;padding:.25rem;overscroll-behavior:contain}
.screenshot-ant-option{position:relative;display:grid;grid-template-columns:26px 64px minmax(0,1fr);gap:.75rem;align-items:center;min-height:82px;padding:.55rem .7rem;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .12s ease}
.screenshot-ant-option:active{transform:translateY(1px)}
.screenshot-ant-option.is-selected{border-color:rgba(229,191,91,.9);background:rgba(229,191,91,.10);box-shadow:0 0 0 2px rgba(229,191,91,.13),0 8px 20px rgba(0,0,0,.22)}
.screenshot-ant-option input[type="checkbox"]{-webkit-appearance:checkbox !important;appearance:auto !important;width:22px !important;min-width:22px !important;max-width:22px !important;height:22px !important;min-height:22px !important;max-height:22px !important;padding:0 !important;margin:0 !important;border:0 !important;box-shadow:none !important;accent-color:#d8b75b;flex:0 0 22px}
.screenshot-ant-review-portrait{width:64px;height:64px;object-fit:cover;object-position:center;border-radius:10px;border:1px solid rgba(227,199,109,.48);background:#0c1015}
.screenshot-ant-review-portrait.pending{display:flex;align-items:center;justify-content:center;text-align:center;color:#c4c8d0;font-size:.66rem;line-height:1.15;letter-spacing:.04em;border-style:dashed}
.screenshot-ant-option strong{display:block;font-size:1rem;line-height:1.2;color:#f4f1eb}.screenshot-ant-option small{display:block;color:#b8bcc5;margin-top:.2rem;font-size:.87rem;line-height:1.25}.screenshot-ant-option .ant-review-copy{min-width:0}
@media (max-width:820px){.screenshot-ant-checklist{grid-template-columns:1fr}.pending-ant-entry{grid-template-columns:1fr}}
@media (max-width:520px){.screenshot-ant-option{grid-template-columns:24px 54px minmax(0,1fr);min-height:72px;padding:.5rem .6rem;gap:.6rem}.screenshot-ant-review-portrait{width:54px;height:54px}}

/* Rev322 — canonical portrait registry + screenshot star capture */
.screenshot-ant-option{grid-template-columns:minmax(0,1fr) 150px}
.ant-review-select{display:grid;grid-template-columns:26px 64px minmax(0,1fr);gap:.75rem;align-items:center;min-width:0;cursor:pointer}
.ant-review-stars{display:flex;flex-direction:column;gap:.28rem;min-width:0}
.ant-review-stars>span{font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#d8b75b}
.ant-review-stars select{width:100%;min-height:44px;padding:.45rem .6rem}
.ant-review-stars select:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:720px){.screenshot-ant-option{grid-template-columns:1fr}.ant-review-stars{padding-left:calc(24px + 54px + 1.2rem)}.ant-review-select{grid-template-columns:24px 54px minmax(0,1fr)}}

/* Rev323 canonical image registry review summary */
.review-badge-stack{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.screenshot-ant-review-portrait.pending{font-size:.72rem;line-height:1.05;text-align:center;color:#c8c8c8;border-style:dashed}
@media(max-width:700px){.review-badge-stack{justify-content:flex-start}}

/* Rev339: source game tiles remain distinct from canonical portraits. */
.game-tile-guidance{margin:14px 0;color:var(--muted)}
.game-tile-label{display:block;width:max-content;max-width:100%;font-size:.72rem;letter-spacing:.02em;color:#e3c76d;margin:0 0 6px}

/* Rev341: search the currently selected Hill without changing its records. */
.colony-roster-finder{margin:20px 0;padding:16px;border:1px solid var(--line,#3a404b);border-radius:14px}
.colony-roster-finder label{display:block;font-weight:700;margin-bottom:8px}
.colony-roster-finder input{width:100%;max-width:650px}
.colony-roster-finder .ant-name-suggestions{max-width:650px;margin-top:7px}
.colony-roster-finder .helper-text{margin:8px 0 0}
#rosterGroups [hidden]{display:none!important}
.backup-inventory[hidden]{display:none!important}

/* Rev342: filter private screenshot cards by reviewed ant name or filename. */
.screenshot-finder{margin:18px 0;padding:16px;border:1px solid var(--line,#3a404b);border-radius:14px}
.screenshot-finder label{display:block;font-weight:700;margin-bottom:8px}
.screenshot-finder input{width:100%;max-width:650px}
.screenshot-finder .helper-text{margin:8px 0 0}
#screenshotIntakeGrid .screenshot-intake-card[hidden]{display:none!important}
.screenshot-viewer{width:min(96vw,1200px);max-width:none;max-height:96dvh;margin:auto;padding:16px;border:1px solid var(--line,#3a404b);border-radius:16px;background:#191c22;color:var(--text,#f6f3e9);box-shadow:0 18px 70px #000a}
.screenshot-viewer::backdrop{background:rgba(0,0,0,.86)}
.screenshot-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.screenshot-viewer-head strong{overflow-wrap:anywhere}
.screenshot-viewer-image-wrap{height:min(69dvh,900px);overflow:auto;background:#090a0c;display:grid;place-items:start center;overscroll-behavior:contain}
.screenshot-viewer-image-wrap img{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto}
.screenshot-viewer-image-wrap.is-zoomed img{max-width:none;max-height:none;width:auto;height:auto;margin:0}
.screenshot-viewer .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.screenshot-viewer p{margin:8px 0}
.screenshot-open-btn{margin:8px 0 2px}

.screenshot-open-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:10px 16px;text-decoration:none}

.game-source-amber-belly{background-image:url("assets/game-sources/amber-belly-original.jpeg");background-repeat:no-repeat;background-size:148.2% 110.3%;background-position:52% 100%}

.game-source-scarlet-jaw{background-image:url("assets/game-sources/scarlet-jaw-original.jpeg");background-repeat:no-repeat;background-size:307.2% 230.4%;background-position:49.2% 31.4%}

#antAwakeningStep[hidden]{display:none!important}

/* Rev359: one selector covers all six lineup class/activity choices. */
.viewer-controls.viewer-controls-single{grid-template-columns:1fr}

/* Rev361: source artwork fills the interior of the existing role border. */
.native-ant-square.role-frame.replacement-portrait-frame{position:relative!important;padding:0!important}
.native-ant-square.replacement-portrait-frame img{position:absolute!important;width:var(--portrait-width)!important;height:var(--portrait-height)!important;left:var(--portrait-left)!important;top:var(--portrait-top)!important;object-fit:fill!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important}
.replacement-season-badge{position:absolute;left:3px;bottom:3px;z-index:1;padding:1px 3px;font-size:11px;font-weight:800;line-height:1.2;background:rgba(11,13,15,.88);color:#e6c76f;border:1px solid #e6c76f;border-radius:3px;pointer-events:none}

/* Temporary visible build label during Rev378 verification. */
.preview-revision-banner{box-sizing:border-box;width:100%;margin:0;padding:6px 12px;background:#f3d778;color:#17140c;text-align:center;font:700 14px/1.4 system-ui,sans-serif;overflow-wrap:anywhere;}

/* Rev379: hidden state must win over directory/grid styles. */
[hidden]{display:none!important}
.rev379-panel{padding:20px;border:1px solid #a68b42;border-radius:12px;margin:18px 0;background:#142020}.rev379-panel label{display:block;margin:10px 0}.rev379-panel select,.rev379-panel input{max-width:100%;padding:8px}.rev379-panel .role-guide{line-height:1.7}

/* October 21: compact static Earth branding and consistent navigation. */
.preview-revision-banner{display:none!important}
.header{position:relative;top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 18px;padding:10px clamp(14px,3vw,40px);min-height:96px;background:#0d2023}
.header .brand{flex:0 0 auto;margin:0;min-height:76px}.header .brand img{width:144px!important;height:77px!important;object-fit:contain;animation:none!important;transform:none!important}.header .brand span{display:none}
.header .dolly-home{display:inline-flex;align-items:center;min-height:44px;color:var(--gold-hover);font-size:14px;font-weight:750;text-decoration:none;order:1}
.header .account-context{order:2;margin-left:auto;white-space:normal;flex-wrap:wrap;max-width:540px;min-width:0;font-size:13px;padding:8px 12px;gap:4px 8px}.header .account-context-label{font-size:10px}.header .account-context-name{font-size:14px}.header .account-context-class{overflow-wrap:anywhere}
.header .menu{display:inline-flex!important;order:3;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 14px;background:#153135;color:var(--text);border:1px solid #526b67}
.header .nav{display:none!important;order:4;position:static;width:100%;margin:0;padding:12px;gap:6px;border:1px solid #375354;border-radius:12px;background:#10282b;box-shadow:none}
.header .nav.is-open{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.header .nav a{display:flex;align-items:center;min-height:44px;padding:8px 12px;font-size:15px;border-radius:8px}.header .nav a[aria-current=page]{background:#254246;color:var(--gold-hover)}
.page-tools.colony-page-tools{max-width:none;width:100%;padding:8px clamp(14px,3vw,40px);gap:8px;top:0;background:#0b191d}.page-tools.colony-page-tools a,.page-tools.colony-page-tools button{min-height:44px;font-size:13px;padding:8px 12px}
@media(max-width:620px){.header{gap:8px 12px;padding:8px 14px}.header .brand img{width:126px!important;height:68px!important}.header .brand{min-height:68px}.header .dolly-home{order:1;margin-left:auto;font-size:13px}.header .menu{order:2;margin-left:0}.header .account-context{order:3;width:100%;max-width:none;margin:0;justify-content:flex-start}.header .nav{order:4}.header .nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr))}.header .nav a{font-size:14px;padding:8px}.page-tools.colony-page-tools{padding:8px 14px}}
@media(max-width:360px){.header .brand img{width:112px!important;height:60px!important}.header .dolly-home{font-size:12px}.header .menu{font-size:13px;padding:8px 10px}}

/* User-approved four-line static Earth mark: The / WORLD / of / Ants. */
.header .brand img{width:94px!important;height:94px!important}.header .brand{min-height:94px}
@media(max-width:620px){.header .brand img{width:82px!important;height:82px!important}.header .brand{min-height:82px}}
@media(max-width:360px){.header .brand img{width:76px!important;height:76px!important}.header .brand{min-height:76px}}

/* Keep page shortcuts readable on phones without sideways scrolling. */
.page-tools.colony-page-tools{flex-wrap:wrap;overflow-x:visible;white-space:normal}

/* Compact roster totals on My Colony, including narrow phone views. */
#roster-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}
#roster-counts>div{padding:10px 12px;border-radius:10px;min-width:0}
#roster-counts strong{font-size:1.35rem;line-height:1.15}
#roster-counts span{font-size:.85rem;line-height:1.25;margin-top:3px}
@media(max-width:640px){#roster-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep chooser rows at their natural height so labels never overlap. */
#antForm .owned-ant-step{min-width:0;padding:8px}
#antForm .owned-ant-step>span,#antForm .ant-name-chooser>label{font-size:.95rem;line-height:1.35}
#antForm input{min-width:0;width:100%;min-height:44px;padding:9px 11px;font-size:1rem;line-height:1.35}
.ant-name-suggestions{display:flex;flex-direction:column;gap:5px;max-height:240px}
.colony-ant-form-grid .ant-name-option,.colony-roster-finder .ant-name-option{display:flex;flex-direction:column;flex:0 0 auto;align-items:flex-start;justify-content:center;gap:3px;height:auto;min-height:58px;padding:8px 11px;line-height:1.3}
.ant-name-option strong{display:block;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.ant-name-option small{display:block;font-size:.8rem;line-height:1.3;margin:0}
@media(min-width:641px){.owned-ant-guided-grid>.ant-name-chooser{grid-column:1/-1}}
/* Match account fields to the compact owned-ant form. */
#accountForm input,#accountForm select,.colony-account-bar select{min-width:0;min-height:44px;padding:9px 11px;font-size:1rem;line-height:1.35}
#accountForm label{min-width:0;margin:0}
#accountForm .account-step{padding:8px}
#accountForm .account-step>span{font-size:.95rem;line-height:1.35}
#accountForm{gap:12px}
.colony-account-bar button,#hillLineupCards{min-height:44px;padding:9px 12px;font-size:.95rem;line-height:1.3}
@media(max-width:640px){.colony-account-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.colony-account-bar>label{grid-column:1/-1}#hillLineupCards{grid-column:1/-1;justify-content:center}}
