/* Chapter-specific layout; all typography, cards, controls and completion use global tokens. */
#baidi-panel {position:absolute;inset:0;display:grid;place-items:center;z-index:var(--ui-z-modal);background:var(--ui-backdrop);color:var(--ui-ivory);}
.baidi-content {width:94%;max-height:94%;padding:2.5%;overflow:auto;text-align:center;}
.baidi-content h2 {font:600 var(--ui-h2)/1.5 var(--ui-font-title);color:var(--ui-ivory);margin:0 0 12px;}
.baidi-content p {font:500 var(--ui-body)/1.6 var(--ui-font-body);}
.baidi-content header small {color:var(--ui-gold);letter-spacing:.18em;}
#baidi-panel.cinematic-viewer {background:#1027241f;backdrop-filter:none;}
#baidi-panel.cinematic-viewer .baidi-content {position:absolute;inset:0;width:100%;height:100%;max-height:none;padding:0 4% 3%;overflow:auto;background:transparent;border:0;box-shadow:none;animation:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:12px;}
#baidi-video,.baidi-scene {position:absolute;inset:3% 4%;width:92%;height:94%;object-fit:contain;background:transparent;}
.baidi-caption {position:absolute;bottom:3%;left:50%;transform:translateX(-50%);max-width:80%;width:max-content;padding:10px 18px;background:#14332fc4;color:var(--ui-ivory);border:1px solid var(--ui-line);border-radius:var(--ui-radius);font:500 var(--ui-body)/1.5 var(--ui-font-body);margin:0;}
#baidi-panel.cinematic-viewer .baidi-caption {position:relative;bottom:auto;left:auto;transform:none;max-width:90%;width:auto;order:2;flex-shrink:0;}
#baidi-panel.cinematic-viewer [data-baidi] {position:relative;order:1;flex-shrink:0;}
/* One chapter CTA system, using the shared UI palette and interaction states. */
#stage.baidi-active {--baidi-cta-size:clamp(24px,2.2cqw,30px);--baidi-cta-width:clamp(220px,24cqw,320px);}
#stage.baidi-active :is(.baidi-primary-cta,#interact.prompt-primary,#interact-hint.prompt-primary) {box-sizing:border-box;min-height:56px;min-width:var(--baidi-cta-width);max-width:92%;padding:16px 28px;font:600 var(--baidi-cta-size)/1.4 var(--ui-font-body);color:var(--ui-ivory);background:var(--ui-ink);border:1px solid var(--ui-gold);border-radius:var(--ui-radius);box-shadow:var(--ui-inset),0 4px 12px #10221b44;cursor:pointer;transition:background var(--ui-fast),border-color var(--ui-fast),box-shadow var(--ui-fast);}
#stage.baidi-active :is(.baidi-primary-cta,#interact.prompt-primary):not(:disabled):hover {background:#27594e;border-color:#ead39a;box-shadow:var(--ui-inset),var(--ui-glow);}
#stage.baidi-active :is(.baidi-primary-cta,#interact.prompt-primary):focus-visible {outline:3px solid var(--ui-focus);outline-offset:4px;}
#stage.baidi-active :is(.baidi-primary-cta,#interact.prompt-primary):not(:disabled):active {filter:brightness(.92);}
#stage.baidi-active .baidi-primary-cta:disabled {opacity:.45;cursor:default;}
#stage.baidi-active #market-choice .answer-card {min-height:64px;padding:16px 24px;}
#stage.baidi-active #market-choice .ui-card-label {font-size:var(--baidi-cta-size);}
#stage.baidi-active :is(.baidi-memory-card,.baidi-slot):focus-visible {outline:3px solid var(--ui-focus);outline-offset:3px;}
.baidi-document {height:100px;max-width:30%;object-fit:contain;float:left;margin-right:15px;}
.baidi-recollection {display:flex;justify-content:center;gap:10px;margin:0 0 10px;}
.baidi-recollection img {width:18%;height:80px;object-fit:contain;border:1px solid var(--ui-line);background:#183d36;}
.baidi-matching {display:grid;grid-template-columns:1fr 1.1fr;gap:24px;}
.baidi-memory-deck {display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center;}
#stage .baidi-memory-card {min-height:0;padding:8px;touch-action:none;position:relative;}
.baidi-memory-card img {width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;pointer-events:none;}
#stage .baidi-memory-card .ui-card-label {font-size:var(--ui-body);padding:3px;}
.baidi-memory-card.card-matched {opacity:.25;}
.baidi-slots {display:grid;gap:10px;}
#stage .baidi-slot {display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:80px;padding:12px 16px;background:#173a36e6;color:var(--ui-ivory);border:1px dashed var(--ui-line);font:600 var(--ui-body)/1.5 var(--ui-font-title);text-align:left;box-shadow:var(--ui-inset);}
.baidi-slot .slot-image {font:500 var(--ui-small)/1.4 var(--ui-font-body);color:var(--ui-muted);min-width:27%;}
.baidi-slot img {width:100px;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--ui-line);}
#stage .baidi-slot.drop-ready,#stage .baidi-slot.matched {border-style:solid;border-color:var(--ui-gold);box-shadow:var(--ui-glow);}
.baidi-match-feedback {min-height:1.5em;margin:12px 0 0!important;color:var(--ui-gold);}
#baidi-panel :is(.ui-literary,.ui-info) {max-width:860px;margin:auto;padding:4%;background:linear-gradient(125deg,var(--ui-paper),#e5e4d4);color:var(--ui-paper-text);border:1px solid var(--ui-line);box-shadow:var(--ui-shadow);}
#stage #baidi-panel :is(.ui-literary,.ui-info) :is(h2,p,small) {color:var(--ui-paper-text);}
#baidi-panel .finale-poem {margin:22px auto;}
#baidi-panel .finale-poem p {font:600 var(--ui-body-large)/1.9 var(--ui-font-title);letter-spacing:.12em;margin:8px 0;}
#baidi-panel .ui-info p {line-height:1.9;text-align:left;margin:20px auto;}
#baidi-panel .ui-completion {margin:auto;}
#baidi-fade {position:absolute;inset:0;z-index:65;background:#000;pointer-events:auto;}
#baidi-river-caption {z-index:14;pointer-events:none;}
#baidi-river-caption.baidi-poetry-moment {top:16%;bottom:auto;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;box-sizing:border-box;padding:10px 38px 12px;border:0;border-radius:50% / 14px;background:linear-gradient(90deg,#f5efdd00,#f5efdded 12%,#f5efddf5 50%,#f5efdded 88%,#f5efdd00);color:#183e38;font:600 clamp(34px,3.2cqw,52px)/1.45 var(--ui-font-title);letter-spacing:.13em;text-align:center;white-space:nowrap;text-shadow:0 1px 0 #fff9e6;box-shadow:none;pointer-events:none;}
#baidi-river-caption.baidi-poetry-moment::before,#baidi-river-caption.baidi-poetry-moment::after {content:'';position:absolute;left:14%;right:14%;height:1px;background:linear-gradient(90deg,transparent,#95855499,transparent);}
#baidi-river-caption.baidi-poetry-moment::before {top:3px;}
#baidi-river-caption.baidi-poetry-moment::after {bottom:4px;}
.baidi-ape {position:absolute;top:30%;z-index:14;pointer-events:none;color:#fff1cd;background:#173d3680;border-bottom:1px solid var(--ui-line);padding:6px 12px;font:500 var(--ui-small)/1.5 var(--ui-font-body);transition:opacity .6s;}
#baidi-ape-left {left:8%;}#baidi-ape-right {right:8%;}
.baidi-boat-active #dash,.baidi-boat-active #momo-bubble {display:none!important;}
.prologue-active :is(#baidi-panel,#baidi-fade,#baidi-river-caption,#baidi-ape-left,#baidi-ape-right) {display:none!important;}
.chapter-list:has([data-ui-theme="river"]) {grid-template-columns:repeat(3,minmax(0,1fr));}
.chapter-list article[data-ui-theme="river"] {--ui-accent-soft:#b8c7b52a;--ui-stamp:#8c8156;}
@media(max-width:1100px),(max-height:700px) {
  .baidi-matching {gap:14px;}.baidi-memory-deck{gap:8px;}
  #stage .baidi-slot {min-height:62px;font-size:18px;padding:8px 10px;}.baidi-slot img{width:80px;}
  .baidi-content{padding:2%;}.baidi-content header p{font-size:16px;margin:5px;}
}
@media(max-width:650px) and (orientation:portrait) {
  #baidi-panel{position:fixed;inset:0;}.baidi-content{width:96%;max-height:96%;}
  .baidi-matching{grid-template-columns:1fr;}.baidi-memory-deck{grid-template-columns:repeat(4,1fr);}
  #stage .baidi-memory-card .ui-card-label{font-size:14px;}.baidi-slot .slot-image{min-width:22%;}
  .chapter-list:has([data-ui-theme="river"]){grid-template-columns:1fr;}
}

.baidi-boat-active #task {font:600 clamp(17px,1.6cqw,23px)/1.5 var(--ui-font-body);max-width:86%;padding:9px 15px;background:#14332fe8;border:1px solid var(--ui-line);box-shadow:var(--ui-glow);letter-spacing:.03em;}
.baidi-boat-active .location {display:none;}
