/* Nocturne: the evening edition of the field studio. Loaded last; overrides the paper palette
   and styles the garden game layer. The flat-mode class keeps the 2D fallback legible. */
.choir-page{--paper:#0c1412;--light:#16211e;--ink:#ece5d0;--muted:#94a398;--rule:#26332f;--moss:#86c29c;--copper:#e39a62;--soft:#1b2824;--glass:rgba(12,20,18,.72);color-scheme:dark}
.choir-page{background:radial-gradient(ellipse at 50% -10%,#1b2a25 0,transparent 60%),var(--paper)}
.choir-page .primary{background:linear-gradient(180deg,#9fd3ae,#6fae86);color:#0b1411;border-color:#86c29c;font-weight:600}
.choir-page .primary:hover{background:linear-gradient(180deg,#b4e0c0,#80bf95)}
.choir-page button:hover,.choir-page .file-label:hover{background:#1f2e29;border-color:var(--moss)}
.choir-page kbd{border-color:#3b4a44;color:var(--muted)}
.loader{background:radial-gradient(ellipse at 50% 40%,#18261f,var(--paper) 70%)}
.main-menu{background:radial-gradient(ellipse at 72% 48%,#17302a 0,transparent 55%),radial-gradient(ellipse at 10% 100%,#1c1a12 0,transparent 50%),var(--paper)}
.menu-copy h1{text-shadow:0 0 60px rgba(134,194,156,.15)}
.menu-copy h1 em{color:var(--moss)}
.menu-specimen canvas{border-radius:6px;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px #22302b}
.specimen-stage{background:#050b0a}
.stage-top>span:last-child,.stage-hint,.stage-caption p{color:#9fb0a5}
.stage-caption h1{text-shadow:0 2px 20px #000}
.stage-caption button{background:rgba(14,22,20,.8);backdrop-filter:blur(6px)}
.inspector{background:#0f1917}
.panel-tabs{background:#101b18}
.panel-tabs button[aria-selected=true]{background:#17231f;color:var(--moss)}
.choir-deck{background:linear-gradient(180deg,#0f1816,#0b1210)}
.slot-button[aria-pressed=true]{background:#18251f}
.choir-page .step{border-color:#26342f;background:#121c19}
.choir-page .step:nth-child(4n+1){border-left-color:#4a5d55}
.choir-page .step[aria-pressed=true]{background:var(--moss);border-color:var(--moss);box-shadow:0 0 12px rgba(134,194,156,.35)}
.choir-page .step[aria-pressed=true].playhead{background:var(--copper);border-color:var(--copper);box-shadow:0 0 16px rgba(227,154,98,.6)}
.choir-page dialog{box-shadow:0 25px 100px #000c}
.choir-page dialog::backdrop{background:#030807aa}
.toast{background:#ece5d0;color:#0c1412}
.flat-mode .specimen-stage,.flat-mode .menu-specimen canvas{background:#eeece3}

/* Wild calls and crossbreeding in the studio */
.wild-calls{margin-top:20px;border-top:1px solid var(--rule);padding-top:14px}
.wild-calls ul,.listen-chips{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px}
.wild-calls li{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:11px;padding:6px 8px;background:var(--light);border:1px solid var(--rule);border-radius:4px}
.wild-calls .dot{width:8px;height:8px;border-radius:50%;background:var(--rarity);box-shadow:0 0 8px var(--rarity)}
.wild-calls small{color:var(--muted);font:10px monospace;margin-left:4px}
.wild-calls b{font-weight:500;font-size:10px}
.wild-calls li.good b{color:var(--moss)}.wild-calls li.bad b{color:#c98277}
.crossbreed{margin-top:22px;border-top:1px solid var(--rule);padding-top:16px}
.crossbreed .eyebrow{color:#c38bff}

/* Garden */
.choir-page .garden{background:#05090a}
.choir-page .garden-header{background:#0b1311;border-color:#1c2824}
.garden-tally{display:block;font:10px monospace;color:var(--muted);letter-spacing:.06em;margin-top:2px}
.choir-page .garden-stage{background:#101a26}
.choir-page .garden-caption{color:#f4ecd4;text-shadow:0 1px 12px #000}
.choir-page .garden-caption .eyebrow{color:#cfc6ad}
.garden-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.scene-label{position:absolute;left:0;top:0;white-space:nowrap;font:11px/1 system-ui,sans-serif;padding:4px 8px;border-radius:20px;background:rgba(8,14,12,.6);color:#f1ead4;border:1px solid rgba(255,255,255,.12);will-change:transform}
.scene-label.wild{border-color:currentColor}
.scene-label.common{color:#f0b35a}.scene-label.uncommon{color:#63d2e0}.scene-label.rare{color:#c38bff}.scene-label.legendary{color:#ff7fa8}
.choir-page .garden-stage canvas.garden-map{position:absolute;right:18px;top:18px;width:118px;height:118px;pointer-events:none;cursor:default}
.garden-listen{position:absolute;right:18px;bottom:18px;width:min(340px,calc(100% - 36px));padding:14px 16px;border-radius:10px;background:var(--glass);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.4);--rarity:#f0b35a}
.garden-listen[data-state=listening],.garden-listen[data-state=friend]{border-color:color-mix(in srgb,var(--rarity) 45%,transparent)}
.listen-idle{font-size:12px;line-height:1.55;color:#cfd6cf}
.listen-idle strong{display:block;font:17px Georgia;color:var(--ink);margin-bottom:4px}
.listen-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.listen-head strong{font:20px/1.2 Georgia;flex:1 1 auto}
.listen-head .rarity{order:-1;flex-basis:100%;font:10px monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--rarity)}
.listen-head .call{font:11px monospace;color:var(--muted)}
.listen-meter{height:6px;border-radius:6px;background:rgba(255,255,255,.08);margin:10px 0;overflow:hidden}
.listen-meter i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--rarity) 60%,#fff),var(--rarity));box-shadow:0 0 12px var(--rarity);transition:width .25s}
.listen-chips{grid-template-columns:1fr 1fr}
.listen-chips li{display:flex;justify-content:space-between;gap:6px;font-size:10px;padding:5px 7px;border-radius:4px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.listen-chips li.good{border-color:rgba(134,194,156,.5)}.listen-chips li.good b{color:var(--moss)}
.listen-chips li.bad b{color:#c98277;font-weight:400}
.listen-chips li.resting{opacity:.62}
.listen-chips span{font-family:monospace}
.listen-hint{font-size:11px;line-height:1.5;margin-top:9px!important;color:#cfd6cf}
.choir-page .garden-performers{background:#0b1311;border-color:#1c2824}
.choir-page .garden-performer{border-left:3px solid hsl(var(--hue,140) 50% 55%)}
.choir-page .garden-performer.singing,.choir-page .garden-performer.struck{background:hsl(var(--hue,140) 35% 18%);border-left-color:hsl(var(--hue,140) 80% 70%)}
.choir-page .garden-footer{background:#0b1311;border-color:#1c2824}
.choir-page .garden-pad button,.choir-page .garden-turn button[data-walk]{background:#15201d}
.choir-page .garden-touch-hint{background:rgba(8,14,12,.6);color:#cfd6cf}

/* Field journal */
.journal-dialog{width:760px!important;max-width:min(760px,calc(100vw - 24px))!important}
.journal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:16px}
.journal-card{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:10px;border-radius:6px;background:var(--soft);border:1px solid var(--rule);--rarity:#f0b35a}
.journal-card.friend{border-color:color-mix(in srgb,var(--rarity) 55%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--rarity) 18%,transparent)}
.journal-card canvas{width:84px;height:68px;border-radius:4px}
.journal-card .rarity{font:9px monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--rarity)}
.journal-card strong{display:block;font:15px Georgia;margin:2px 0}
.choir-page .journal-card p{font-size:10px;line-height:1.5;color:var(--muted)}
.journal-card button{font-size:10px;min-height:30px;padding:3px 8px;margin-top:5px}

@media(max-width:650px){.choir-page .garden-stage canvas.garden-map{width:84px;height:84px;right:12px;top:12px}.garden-listen{right:10px;bottom:10px;width:calc(100% - 20px);padding:10px 12px}.listen-head strong{font-size:16px}.listen-chips{grid-template-columns:1fr 1fr}}
@media(max-height:560px){.garden-listen .listen-chips,.garden-listen .listen-hint{display:none}}
@media(prefers-reduced-motion:reduce){.listen-meter i{transition:none}}
@media(max-width:650px){.choir-page .garden-touch-hint{display:none}.listen-hint{font-size:10px}}
/* 2D fallback keeps its paper stage, so its captions go back to ink. */
.flat-mode .stage-caption h1,.flat-mode .stage-caption p,.flat-mode .stage-hint,.flat-mode .stage-top span,.flat-mode .choir-page .garden-caption,.flat-mode.choir-page .garden-caption{color:#253b34;text-shadow:0 1px 5px #f4f1dc}
.flat-mode .stage-caption button{background:#faf8f0e8;color:#253b34}
.garden-slot{display:flex;min-width:0;gap:2px}
.garden-slot .garden-performer{flex:1}
.choir-page .garden-slot .garden-face{min-width:40px;padding:0;border-color:transparent;color:var(--muted);font-size:16px}
.choir-page .garden-performer{border-left:3px solid hsl(var(--hue,140) 50% 55%)}

/* ——— Evening edition main menu ——— */
.main-menu{position:relative;isolation:isolate;overflow:hidden;background:#04090a}
.main-menu .menu-backdrop{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.menu-veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(4,9,10,.88) 0,rgba(4,9,10,.55) 34%,rgba(4,9,10,0) 58%),linear-gradient(0deg,rgba(4,9,10,.9) 0,rgba(4,9,10,0) 32%),linear-gradient(180deg,rgba(4,9,10,.6) 0,rgba(4,9,10,0) 18%)}
.main-menu .menu-header{border-bottom-color:rgba(255,255,255,.08)}
.main-menu .menu-layout{grid-template-columns:minmax(0,560px) 1fr;padding:32px 0 12px;align-items:center}
.menu-copy h1{font-size:clamp(84px,10vw,168px);line-height:.84;margin:22px 0 26px}
.menu-copy h1 .title-wild{display:inline-block;background:linear-gradient(100deg,#f3ead2 20%,#fff 40%,#f3ead2 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s ease-in-out infinite}
.menu-copy h1 .title-choir{display:inline-block;background:linear-gradient(100deg,#86c29c,#9fd8e6 35%,#c9a7ff 60%,#86c29c);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 11s linear infinite;filter:drop-shadow(0 0 28px rgba(134,194,156,.35))}
@keyframes shimmer{0%{background-position:0% 0}50%{background-position:100% 0}100%{background-position:0% 0}}
.menu-lead{font:clamp(22px,2.2vw,30px)/1.22 Georgia;color:#f3ead2}
.main-menu .menu-description{max-width:430px;color:#b6c2b8!important}
.menu-actions #menu-listen{border-color:rgba(159,216,230,.5);color:#cfeef4;background:rgba(99,210,224,.08)}
.menu-actions #menu-listen[aria-pressed=true]{background:rgba(99,210,224,.22);box-shadow:0 0 24px rgba(99,210,224,.35)}
.main-menu .menu-links{gap:20px;flex-wrap:wrap}
.main-menu .menu-links .menu-note{margin:0!important;font-size:11px;color:var(--muted)}
.menu-figure{justify-self:end;align-self:end;margin:0 0 8px!important;display:grid;gap:3px;text-align:right;font:10px/1.3 ui-monospace,monospace;letter-spacing:.14em;color:#b6c2b8}
.menu-figure strong{font:italic 22px/1.1 Georgia;letter-spacing:0;color:#f3ead2}
.menu-figure em{font-style:normal;color:#86c29c}
.menu-bottom{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:end;padding:0 0 22px;position:relative}
.menu-choir{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.choir-page .menu-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:center;text-align:left;padding:9px 10px;border-radius:10px;background:rgba(10,18,16,.62);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(8px);transition:transform .2s,border-color .2s,box-shadow .2s;min-height:0}
.choir-page .menu-card:hover{transform:translateY(-3px);border-color:hsl(var(--hue) 60% 60%);background:rgba(16,28,24,.8)}
.menu-card.active{border-color:hsl(var(--hue) 45% 45%)}
.menu-card.singing{box-shadow:0 0 0 1px hsl(var(--hue) 80% 70%),0 0 26px hsl(var(--hue) 80% 55% / .45)}
.menu-card canvas{width:62px;height:48px;border-radius:6px}
.menu-card .card-text{min-width:0;display:grid;gap:1px}
.menu-card small{font:9px ui-monospace,monospace;letter-spacing:.08em;color:#9fb0a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-card strong{font:15px Georgia;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-card svg{width:100%;height:30px}
.menu-garden{display:grid;gap:4px;align-content:center;padding:12px 16px;border-radius:10px;background:linear-gradient(135deg,rgba(195,139,255,.12),rgba(99,210,224,.08));border:1px solid rgba(195,139,255,.25)}
.menu-garden .eyebrow{color:#c9a7ff!important}
.menu-garden strong{font:15px/1.3 Georgia;font-weight:400}
.menu-garden button{justify-self:start;color:#cfeef4}
.main-menu .menu-footer{display:none}

/* Melody drawings (studio strip, cards, offspring) */
.contour{fill:none;stroke:hsl(var(--hue,140) 45% 62% / .45);stroke-width:1.6}
svg circle.on{fill:hsl(var(--hue,140) 70% 68%)}
svg circle.off{fill:rgba(255,255,255,.18)}
svg line.beat{stroke:rgba(255,255,255,.07)}
.melody-strip{margin-top:16px}
.melody-strip svg{width:100%;height:64px;display:block;margin-top:6px;background:rgba(255,255,255,.025);border-radius:6px}
.melody-strip .small-note{margin-top:6px}
.offspring-melody{width:100%;height:26px;display:block;margin-top:4px}
.choir-page .sound-facts{grid-template-columns:1.3fr 1fr .8fr}
.choir-page .sound-facts strong{font-size:17px}

/* Steps show where the melody sits */
.choir-page .step{overflow:hidden}
.choir-page .step i{position:absolute;left:18%;right:18%;height:3px;border-radius:2px;bottom:calc(3px + var(--pitch,.5) * 15px);background:hsl(var(--hue,140) 40% 60% / .28)}
.choir-page .step[aria-pressed=true] i{background:rgba(8,16,14,.55)}
.slot-button .slot-inst{margin-left:auto;font:9px ui-monospace,monospace;color:var(--muted);white-space:nowrap}
.choir-page .choir-row{grid-template-columns:28px 200px minmax(0,1fr)}

/* Key controls */
.key-label{display:flex;gap:6px;align-items:center;font-size:9px;letter-spacing:.07em}
.choir-page .key-label select{width:auto;min-height:34px;padding:4px 6px;font-size:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.choir-page .transport{flex-wrap:wrap;justify-content:flex-end}
.garden-key{display:flex;gap:4px;align-items:center;padding-right:6px;border-right:1px solid var(--rule)}
.listen-call{font-size:11px;margin-top:6px!important;color:#cfd6cf}
.listen-call b{font:12px ui-monospace,monospace;color:var(--ink)}
.listen-call em{color:var(--rarity);font-style:normal}

@media(max-width:1100px){.menu-bottom{grid-template-columns:1fr}.menu-choir{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .menu-veil{background:linear-gradient(0deg,rgba(4,9,10,.94) 0,rgba(4,9,10,.7) 45%,rgba(4,9,10,.1) 75%,rgba(4,9,10,.35) 100%)}
  .main-menu .menu-layout{grid-template-columns:1fr;padding-top:34vh}
  .menu-figure{position:absolute;top:84px;right:22px;margin:0!important}
  .menu-copy h1{font-size:clamp(64px,19vw,110px)}
  .choir-page .choir-row{grid-template-columns:28px 146px minmax(0,1fr)}
  .slot-button .slot-inst{display:none}
}
@media(max-width:650px){.garden-key{border-right:0;width:100%}.menu-choir{grid-template-columns:1fr 1fr}.choir-page .menu-card{grid-template-columns:44px minmax(0,1fr)}.menu-card canvas{width:44px;height:36px}}
@media(prefers-reduced-motion:reduce){.menu-copy h1 .title-wild,.menu-copy h1 .title-choir{animation:none}}

/* ——— Cinematic entrance ——— */
.garden-letterbox,.garden-fade,.garden-title,.watch-hud{pointer-events:none}
.garden-letterbox::before,.garden-letterbox::after{content:"";position:absolute;left:0;right:0;height:0;background:#000;z-index:4;transition:height .9s cubic-bezier(.6,0,.2,1)}
.garden-letterbox::before{top:0}.garden-letterbox::after{bottom:0}
.garden.intro .garden-letterbox::before,.garden.intro .garden-letterbox::after{height:11%}
.garden-fade{position:absolute;inset:0;background:#000;opacity:0;z-index:3}
.garden-title{position:absolute;left:0;right:0;top:34%;z-index:5;text-align:center;color:#f3ead2;opacity:0}
.garden-title .eyebrow{letter-spacing:.4em!important;color:#cfc6ad!important}
.choir-page .garden-title h2{font:italic clamp(40px,7vw,96px)/1 Georgia;letter-spacing:-.02em;margin:10px 0 12px;text-shadow:0 4px 40px rgba(0,0,0,.6)}
.garden-title p{font:13px/1.5 ui-monospace,monospace;letter-spacing:.06em;color:#dfe7de}
.garden-title small{display:block;margin-top:18px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45)}
@keyframes title-card{0%{opacity:0;transform:translateY(8px)}10%{opacity:0}22%{opacity:1;transform:none}55%{opacity:1}72%{opacity:0}100%{opacity:0}}
.garden.intro .garden-header,.garden.intro .garden-performers,.garden.intro .garden-footer{display:none}
.garden.intro .garden-listen,.garden.intro .garden-map,.garden.intro .garden-caption,.garden.intro .garden-labels,.garden.intro .garden-touch-hint{opacity:0;pointer-events:none}
.garden .garden-header,.garden .garden-performers,.garden .garden-footer,.garden .garden-listen,.garden .garden-caption{transition:opacity .8s}

/* ——— Watch mode: only the garden, a caption and a waveform ——— */
.garden.watch .garden-header,.garden.watch .garden-performers,.garden.watch .garden-footer,.garden.watch .garden-listen,.garden.watch .garden-caption,.garden.watch .garden-labels,.garden.watch .garden-touch-hint,.choir-page .garden.watch .garden-stage canvas.garden-map{display:none}
.watch-hud{position:absolute;inset:auto 0 0 0;z-index:6;display:none;justify-content:space-between;align-items:flex-end;gap:16px;padding:22px 26px 26px;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}
.garden.watch .watch-hud{display:flex}
.garden.watch.intro .watch-hud{display:none}
.watch-caption{display:grid;gap:4px;color:#f3ead2;text-shadow:0 2px 12px #000}
.watch-caption .eyebrow{color:#cfc6ad!important}
.watch-caption strong{font:italic 24px/1.2 Georgia;font-weight:400}
.watch-controls{display:flex;gap:8px;pointer-events:auto;opacity:0;transition:opacity .5s}
.garden.hud-awake .watch-controls{opacity:1}
.choir-page .watch-controls button{background:rgba(8,14,12,.6);backdrop-filter:blur(6px);color:#f3ead2;border-color:rgba(255,255,255,.2)}
.garden.watch .garden-stage canvas#garden-canvas{cursor:default}
.garden.watch:not(.hud-awake) .garden-stage{cursor:none}

/* Waveform ribbon */
.choir-page .garden-stage canvas.garden-scope{position:absolute;left:18px;bottom:40px;width:min(320px,40%);height:54px;pointer-events:none;opacity:.85;border-radius:6px;background:rgba(6,10,9,.35)}
.choir-page .garden.watch .garden-stage canvas.garden-scope{left:50%;transform:translateX(-50%);bottom:26px;width:min(520px,60%);height:64px;background:transparent;z-index:6}
.choir-page .garden.intro .garden-stage canvas.garden-scope{opacity:0}
.garden-actions #garden-watch[aria-pressed=true]{background:rgba(99,210,224,.18)}
@media(max-width:650px){.choir-page .garden-stage canvas.garden-scope{display:none}.choir-page .garden.watch .garden-stage canvas.garden-scope{display:block;width:70%;bottom:84px}.watch-hud{flex-direction:column;align-items:flex-start}.watch-controls{opacity:1}}

/* Studio mix scope */
.studio-scope{margin:0 12px 0 auto;display:grid;gap:3px;justify-items:end}
.studio-scope canvas{width:clamp(180px,20vw,300px);height:46px;border-radius:6px;background:rgba(0,0,0,.28);border:1px solid var(--rule)}
.studio-scope figcaption{font:9px ui-monospace,monospace;letter-spacing:.05em;color:var(--muted)}
.studio-scope figcaption.hot{color:#ff8a6a}
.menu-garden-links{display:flex;gap:16px;flex-wrap:wrap}
.menu-garden-links button{color:#cfeef4}
@media(max-width:900px){.studio-scope{display:none}}
@media(max-width:650px){
  .choir-page .garden-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .choir-page .garden-key{display:contents}
  .choir-page .garden-key .key-label{font-size:0;gap:0}
  .choir-page .garden-key .key-label select{width:100%;min-height:36px;font-size:12px}
  .choir-page .garden-key .key-label:first-child{grid-column:1;grid-row:1}
  .choir-page .garden-key .key-label:last-child{grid-column:2 / span 2;grid-row:1}
  .choir-page .garden-actions #garden-watch{grid-column:4;grid-row:1}
  .choir-page .garden-actions button{min-height:36px;padding:4px 3px;font-size:11px;line-height:1.15}
  .choir-page .garden-actions kbd,.garden-tally{display:none}
}
.choir-page .garden.watch #garden-canvas:focus-visible,.choir-page .garden.intro #garden-canvas:focus-visible{outline:none}
.garden-actions #garden-stones[aria-pressed=false]{opacity:.6}
@media(max-width:650px){.choir-page .garden-actions #garden-stones{display:none}}
.choir-page .garden-slot .garden-rest{min-width:34px;padding:0;border-color:transparent;color:var(--muted);font-size:15px}
.garden-slot.rested .garden-performer{opacity:.5}
.garden-slot.rested .garden-rest{color:var(--moss)}

/* Collection and a garden of any size */
.choir-page .garden-performers.crowded,.choir-page .garden-performers{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-snap-type:x proximity}
.choir-page .garden-performers .garden-slot{flex:1 0 220px;max-width:340px;scroll-snap-align:start}
.choir-page .garden-performers.crowded .garden-slot{flex:0 0 228px}
.choir-page .garden-slot .garden-out{min-width:30px;padding:0;border-color:transparent;color:var(--muted);font-size:17px}
.choir-page .garden-slot .garden-out:hover{color:#ff9a7a}
.garden-slot.waiting .garden-performer{opacity:.62}
.choir-page .garden-add{flex:0 0 132px;position:sticky;left:0;z-index:2;background:#0b1311!important;display:grid;align-content:center;text-align:left;padding:4px 12px;border:1px dashed rgba(214,200,160,.35);background:transparent;color:#f0e6c8}
.choir-page .garden-add strong{font-size:12px;font-weight:600}.choir-page .garden-add span{font-size:10px;color:var(--muted)}
.choir-page .garden-add:hover{border-style:solid;background:rgba(255,255,255,.04)}
.roster-heading{font:600 11px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px}
.roster-list{list-style:none;margin:10px 0 16px;padding:0;display:grid;gap:6px}
.roster-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:var(--soft);border:1px solid var(--rule);border-left:3px solid hsl(var(--hue,140) 50% 55%)}
.roster-list li div{min-width:0}.roster-list strong{display:block;font:15px Georgia}.roster-list span{font-size:11px;color:var(--muted)}
.roster-list li.empty{border-left-color:var(--rule);font-size:13px;color:var(--muted)}
.roster-list button[aria-pressed="true"],.collection-card button[aria-pressed="true"]{color:var(--moss,#8fc79a);border-color:currentColor}
.choir-page dialog.collection-dialog{width:880px!important;max-width:calc(100vw - 24px)!important}
.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:6px 0 16px}
.collection-card{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:10px;border-radius:6px;background:var(--soft);border:1px solid var(--rule);border-left:3px solid hsl(var(--hue,140) 50% 55%)}
.collection-card.flying{box-shadow:0 0 18px hsl(var(--hue,140) 60% 50% / .18)}
.collection-card canvas{width:84px;height:68px;border-radius:4px}
.collection-card strong{display:block;font:15px Georgia;margin:2px 0}.collection-card p{margin:0;font-size:11px;color:var(--muted)}
.collection-card svg{width:100%;height:30px;display:block;margin:4px 0}
.collection-card .card-actions{display:flex;flex-wrap:wrap;gap:4px}
.collection-card .card-actions button{padding:4px 7px;font-size:11px;min-height:30px}
.collection-card .release{color:var(--muted)}.collection-card .release[data-sure="1"]{color:#ff9a7a;border-color:currentColor}
.park-actions{margin-bottom:6px}
#collection-count{display:inline-block;min-width:1.6em;padding:0 5px;margin-left:4px;border-radius:9px;background:rgba(255,255,255,.08);font-size:11px}
@media(max-width:650px){.choir-page .garden-performers .garden-slot,.choir-page .garden-performers.crowded .garden-slot{flex-basis:78vw}.collection-grid{grid-template-columns:1fr}}
.choir-page .garden.intro .garden-performers,.choir-page .garden.watch .garden-performers{display:none}
