*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{color:#f4e8c6;background:#061c2b;font-family:"Microsoft YaHei","PingFang SC",sans-serif}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid #ffe5a3;outline-offset:4px}.ambient-art{position:fixed;inset:-45px;background:linear-gradient(90deg,rgba(2,20,34,.75),rgba(3,24,37,.28),rgba(2,20,34,.75)),url('/assets/map-performance/atlas-18b3864fd576.webp') center/cover;filter:blur(22px);opacity:.8;pointer-events:none}.atlas-shell{position:relative;width:100%;height:100%;isolation:isolate;background:linear-gradient(0deg,rgba(2,16,27,.45),transparent 18%,transparent 80%,rgba(2,17,29,.4))}.world-heading{pointer-events:none;position:absolute;z-index:8;left:50%;top:22px;transform:translateX(-50%);display:flex;gap:20px;align-items:center;text-align:center;white-space:nowrap;text-shadow:0 2px 7px #082235,0 0 22px #082235}.world-heading h1{font-family:KaiTi,STKaiti,serif;font-size:38px;font-weight:400;letter-spacing:.32em;margin:5px -.32em 0 0;color:#fff0bf}.world-heading p{margin:0;font-size:11px;letter-spacing:.3em;color:#e0cd9b}.heading-rule{height:1px;width:62px;background:linear-gradient(90deg,transparent,#c8a75e);position:relative}.heading-rule:last-child{transform:rotate(180deg)}.heading-rule:after{content:'◇';position:absolute;right:-5px;top:-9px;font-size:13px;color:#d8bf83}.view-tools{position:absolute;z-index:12;right:25px;top:26px;display:flex;gap:6px;align-items:center}.view-tools button{border:1px solid #b6a47455;background:#0b2837dd;color:#ebddba;backdrop-filter:blur(12px);border-radius:20px;padding:9px 12px;font-size:12px;box-shadow:0 4px 20px #02152244}.view-tools button:hover,.view-tools button[aria-pressed=true]{border-color:#e4c575;color:#fff2c9;background:#234849ee}.zoom-tools{display:flex;gap:4px}.zoom-tools button{font-size:18px;width:33px;height:33px;padding:0}.map-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.map-viewport.dragging{cursor:grabbing}.map-world{position:absolute;left:0;top:0;width:1000px;height:1776.83px;transform-origin:0 0;will-change:transform}.atlas-art{width:100%;height:100%;display:block;pointer-events:none;box-shadow:0 0 90px #020c15aa;user-select:none}.map-world:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px #05253b55}.map-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.episode-glow{stroke:#ffe4a5;stroke-width:6;opacity:.25;fill:none;filter:url(#route-glow)}.episode-line{stroke:url(#trail-gold);stroke-width:1.9;stroke-dasharray:5 6;opacity:.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.active-line{stroke:#dcfaff;stroke-width:2.8;stroke-dasharray:7 7;fill:none;opacity:.9;stroke-linecap:round;stroke-linejoin:round}.region-pin{position:absolute;z-index:3;padding:0;display:flex;flex-direction:column;align-items:center;border:0;color:#f8e7b5;background:transparent;transform-origin:50% 50%;transform:translate(-50%,-50%) scale(var(--marker-scale,1));white-space:nowrap;filter:drop-shadow(0 2px 4px #041522);user-select:none;transition:filter .2s}.pin-jewel{font-size:15px;line-height:23px;width:24px;height:24px;border-radius:50%;display:block;border:1px solid #e9ce8cbb;background:linear-gradient(135deg,#203f48ed,#102b3ce8);color:#fff0bd;box-shadow:0 0 0 3px #0b273c66,inset 0 0 8px #e9cc6c22}.pin-name{font-family:KaiTi,STKaiti,serif;font-size:17px;letter-spacing:.12em;line-height:24px;padding:1px 10px 0;border-radius:5px;background:linear-gradient(90deg,transparent,#082333dc 20%,#082333dc 80%,transparent);text-shadow:0 1px 2px #071927}.pin-category{font-size:9px;letter-spacing:.18em;color:#e8debf;line-height:16px;text-shadow:0 1px 3px #051b2a;padding:0 7px;background:#082333a8;border-radius:0 0 9px 9px}.region-pin.selected .pin-jewel,.region-pin.current .pin-jewel{background:linear-gradient(135deg,#9c7a43,#274544);box-shadow:0 0 0 3px #e5c97c33,0 0 22px #f9d78e55;border-color:#fff0b8}.region-pin:hover{filter:drop-shadow(0 0 7px #f5d590);z-index:5}.region-pin:hover .pin-name{color:#fff9de}.shijie{position:absolute;z-index:6;width:70px;height:94px;transform-origin:50% 94%;pointer-events:none;filter:drop-shadow(0 4px 5px #031c37a0)}.shijie svg{width:100%;height:100%;overflow:visible}.host-tag{position:absolute;left:50%;top:98%;transform:translateX(-50%);font-size:10px;letter-spacing:.25em;color:#fff4cd;text-shadow:0 1px 3px #092535;white-space:nowrap}.shijie[data-mode=celestial-travel]{filter:drop-shadow(0 0 9px #a8dff9)}.shijie[data-mode=celestial-travel]:after{content:'✧';position:absolute;left:50%;bottom:5%;transform:translateX(-50%);color:#d5f4ff;font-size:42px;opacity:.7}.journey-status{position:absolute;z-index:9;left:50%;top:120px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 36px);padding:8px 15px;background:linear-gradient(90deg,transparent,#062335d4 14%,#062335d4 86%,transparent);color:#fff0ce;font-size:11px;letter-spacing:.1em;white-space:nowrap;pointer-events:none;text-shadow:0 1px 3px #031727}.status-star{font-size:18px;color:#f2d38b}.destination-card{position:absolute;z-index:11;width:284px;left:25px;bottom:80px;border:1px solid #d7be7a77;border-radius:14px;background:linear-gradient(160deg,#153d45f5,#0b2435f7);backdrop-filter:blur(18px);box-shadow:0 10px 45px #02111b77;overflow:hidden;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .23s,transform .23s}.destination-card.open{opacity:1;transform:translateY(0);pointer-events:auto}.close-card{position:absolute;z-index:2;right:7px;top:6px;border:0;background:#092132b3;color:#f4e5b9;border-radius:50%;font-size:20px;width:25px;height:25px;line-height:22px}.destination-preview{height:132px;background-position:center;background-size:cover;position:relative}.destination-preview:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#143741,transparent 65%)}.destination-copy{padding:0 19px 17px}.eyebrow{margin:0 0 6px;font-size:10px;letter-spacing:.24em;color:#c9b37d}.destination-copy h2{font-family:KaiTi,STKaiti,serif;font-size:26px;letter-spacing:.12em;font-weight:400;color:#fff0c7;margin:0 0 9px}.destination-description{font-size:12px;line-height:1.9;color:#dfdfd0;margin:0 0 10px}.destination-event{font-size:10px;line-height:1.8;color:#abbfc1;margin:0 0 14px}.journey-button{width:100%;padding:10px 13px;border:1px solid #d6bd7b;border-radius:5px;background:linear-gradient(100deg,#d8c292,#ad925d);color:#14323a;font-size:12px;letter-spacing:.12em;display:flex;justify-content:space-between}.journey-button:hover{background:#f1d79f}.journey-button:disabled{cursor:default;opacity:.7}.episode-guide{z-index:9;position:absolute;bottom:23px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;color:#eee1bb;font-size:11px;white-space:nowrap;background:linear-gradient(90deg,transparent,#062333dc 12%,#062333dc 88%,transparent);padding:10px 24px;border-top:1px solid #c8ad6c66;border-bottom:1px solid #c8ad6c33}.episode-guide strong{font-weight:400;color:#f8d98e;letter-spacing:.14em}.episode-guide i{font-style:normal;color:#b9a274}.small-star{color:#ecd291}.map-hint{position:absolute;z-index:8;right:28px;bottom:22px;font-size:10px;letter-spacing:.15em;color:#c4c7bc;opacity:.7;pointer-events:none}.export-mode .ambient-art{display:none}.export-mode .world-heading{top:3%;gap:18px}.export-mode .world-heading h1{font-size:43px}.export-mode .world-heading p{font-size:12px}.export-mode .world-heading .heading-rule{width:60px}.export-mode .view-tools,.export-mode .journey-status,.export-mode .destination-card,.export-mode .map-hint,.export-mode .shijie{display:none}.export-mode .atlas-shell{background:none}.export-mode .region-pin{pointer-events:none;filter:drop-shadow(0 2px 3px #0a2743)}.export-mode .pin-jewel{font-size:13px;width:22px;height:22px;line-height:21px;background:#0d3544b3}.export-mode .pin-name{font-size:25px;letter-spacing:.12em;line-height:34px;padding:1px 12px;color:#ffebae;background:linear-gradient(90deg,transparent,#0b2c3bd0 20%,#0b2c3bd0 80%,transparent)}.export-mode .pin-category{font-size:12px;line-height:21px;letter-spacing:.2em;background:#082536aa}.export-mode .episode-guide{bottom:3%;font-size:13px;padding:12px 30px;letter-spacing:.1em;background:#092a3bd9}.export-mode .map-world:after{box-shadow:inset 0 0 30px #05253b33}
@media(max-width:700px){.world-heading{top:15px;gap:12px}.world-heading h1{font-size:28px}.world-heading p{font-size:9px}.heading-rule{width:30px}.view-tools{top:auto;bottom:73px;right:13px;flex-direction:column;align-items:flex-end}.view-tools button{padding:8px 11px;font-size:10px}.zoom-tools{display:none}.journey-status{top:93px;font-size:10px;padding:6px 12px}.episode-guide{bottom:14px;gap:6px;padding:9px 15px;font-size:9px;max-width:96vw}.map-hint{display:none}.destination-card{left:12px;bottom:74px;width:236px}.destination-preview{height:90px}.destination-copy{padding:0 14px 13px}.destination-copy h2{font-size:23px}.destination-description{font-size:11px;line-height:1.7}.destination-event{display:none}.journey-button{font-size:11px}.pin-name{font-size:14px;line-height:21px}.pin-category{font-size:8px;line-height:13px}.pin-jewel{width:21px;height:21px;line-height:20px;font-size:13px}.shijie{width:55px;height:77px}.export-mode .world-heading h1{font-size:40px}}
/* Readable labels and a small host preserve the painted buildings and paths. */
.shijie{width:52px;height:70px}
.pin-category{font-size:11px;line-height:18px;letter-spacing:.1em}
@media(max-width:700px){
  .shijie{width:44px;height:60px}
  .pin-category{font-size:11px;line-height:18px;letter-spacing:.08em}
  .zoom-tools{display:flex;gap:5px}
  .zoom-tools button{width:44px;height:44px;min-width:44px;padding:0;font-size:21px}
}

/* Painted character assets retain the approved face, braid and silk detail. */
.shijie.painted-host{width:74px;height:116px;filter:drop-shadow(0 3px 4px #041a2b77)}
.painted-host #host-sprite{display:block;width:100%;height:100%;overflow:visible;transform:scaleX(var(--facing-x,1));transform-origin:50% 94%;filter:none}
.painted-host .host-shadow{position:absolute;width:34%;height:5%;left:33%;top:92%;border-radius:50%;background:#08253a55;filter:blur(2px)}
.painted-host #floating-orb{position:absolute;width:34px;height:34px;left:-5px;top:38%;object-fit:contain;filter:drop-shadow(0 0 4px #c2bafc77);pointer-events:none;user-select:none}
@media(max-width:700px){.shijie.painted-host{width:62px;height:97px}.painted-host #floating-orb{width:29px;height:29px;left:-4px}}

/* Keep touch controls separate from the destination sheet, including narrow phones. */
@media(max-width:700px){
  .ambient-art{inset:0;background:radial-gradient(ellipse at 50% 36%,#123b47,#061c2b 72%);filter:none;opacity:1}
  .view-tools button{backdrop-filter:none;-webkit-backdrop-filter:none}
  .world-heading{top:calc(15px + env(safe-area-inset-top,0px))}
  .view-tools{top:calc(76px + env(safe-area-inset-top,0px));bottom:auto;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));flex-direction:row;align-items:center;justify-content:center;gap:6px}
  .view-tools button{min-height:44px;padding:8px 10px;font-size:11px}
  .view-tools .zoom-tools button{width:44px;height:44px;padding:0;font-size:21px}
  .journey-status{top:calc(128px + env(safe-area-inset-top,0px));max-width:calc(100% - 24px);white-space:normal;justify-content:center;text-align:center;line-height:1.6}
  .destination-card{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(66px + env(safe-area-inset-bottom,0px));width:auto;max-height:calc(100vh - 230px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 230px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .close-card{width:44px;height:44px;right:4px;top:4px;line-height:40px;font-size:26px}
  .journey-button{min-height:44px;align-items:center}
  .episode-guide{bottom:calc(14px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 24px);padding-right:12px;padding-left:12px}
}
@media(min-width:701px) and (max-height:560px){
  .destination-card{left:max(25px,env(safe-area-inset-left,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 130px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 130px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .destination-preview{height:80px}
  .close-card{width:44px;height:44px;right:4px;top:4px;line-height:40px;font-size:26px}
  .journey-button{min-height:44px;align-items:center}
  .view-tools{right:max(25px,env(safe-area-inset-right,0px))}
}

/* The atlas opens a portrait scene with native category controls. */
.map-lines{visibility:hidden}.view-tools button{min-width:44px;min-height:44px}.zoom-tools button{width:44px;height:44px}
.atlas-footer{position:absolute;z-index:9;left:50%;bottom:max(22px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;gap:18px;align-items:center;padding:11px 25px;border-top:1px solid #c8ad6c66;border-bottom:1px solid #c8ad6c33;background:linear-gradient(90deg,transparent,#062333e6 14%,#062333e6 86%,transparent);color:#f1e2bb;font-size:12px;letter-spacing:.13em;white-space:nowrap;pointer-events:none}.atlas-footer>span{color:#ceb277;font-size:10px}
.npc-scene [hidden],.npc-scene[hidden]{display:none!important}
.npc-scene{--scene-gold:#d5b879;position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#020e19d9;backdrop-filter:blur(18px);overscroll-behavior:contain}
.scene-dialog{position:relative;isolation:isolate;width:min(510px,100%);height:calc(100dvh - 40px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#998154 #061e2b;border:1px solid #b89c6270;border-radius:16px;background:radial-gradient(ellipse at 50% 40%,#163b48,#061e2b 65%);box-shadow:0 25px 100px #0009,0 0 0 5px #d3b77408}
.scene-toolbar{position:sticky;z-index:10;top:0;display:grid;grid-template-columns:102px minmax(0,1fr) 44px;align-items:center;gap:9px;height:76px;margin-bottom:-76px;padding:12px 16px;background:linear-gradient(#03141ff2,#061c2bbb 70%,transparent)}
.scene-toolbar h2{margin:0;color:#ffe5a5;font-family:KaiTi,STKaiti,serif;font-size:30px;font-weight:400;letter-spacing:.055em;text-align:center;white-space:nowrap;text-shadow:0 2px 8px #000,0 0 20px #f0c56745}
.scene-close,.scene-replay,.category-back{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid #d7bb7aa8;background:#061d29e6;color:#f7e5b7;box-shadow:inset 0 0 0 3px #d7bb7a13;font-size:12px;letter-spacing:.06em}
.scene-close{border-radius:4px;clip-path:polygon(7% 0,93% 0,100% 25%,100% 75%,93% 100%,7% 100%,0 75%,0 25%)}.scene-close>span{font-size:21px}.scene-replay{width:44px;padding:10px;border-radius:50%}.scene-replay svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.scene-replay svg path:first-child{fill:#f3deb033}.scene-close:hover,.scene-replay:hover,.category-back:hover{background:#25414b;border-color:#ffe4aa}.npc-scene[data-muted="true"] .scene-replay{opacity:.65}.npc-scene[data-voice="playing"] .scene-replay{box-shadow:0 0 16px #edcf7755,inset 0 0 0 3px #d7bb7a22}
.scene-portrait-wrap{position:relative;height:clamp(300px,43dvh,430px);min-width:0;overflow:hidden;background:#102c38}
.npc-portrait{position:absolute;top:49px;left:0;display:block;width:100%;height:calc(100% + 24px);object-fit:cover;object-position:center top;user-select:none}
.scene-portrait-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#082531 0%,#08253108 17%,transparent 75%,#04182433);pointer-events:none}
.npc-scene[data-image-state="loading"] .scene-portrait-wrap::before{content:'正在抵达…';position:absolute;z-index:2;bottom:30px;left:50%;transform:translateX(-50%);padding:9px 16px;border:1px solid #d6bb7140;border-radius:20px;background:#08202ee6;color:#ecd9ad;font-size:12px;letter-spacing:.12em}
.scene-copy{position:relative;margin-top:-17px;z-index:2;padding:0 16px 13px;background:linear-gradient(#08253100,#082531 90px,#061d2b)}
.scene-introduction{text-align:center}.scene-eyebrow{margin:0 0 5px;color:#b9aa7c;font-size:9px;line-height:1.5;letter-spacing:.18em}.scene-role{display:table;position:relative;margin:0 auto 9px;min-width:157px;padding:7px 20px;color:#ffe8b0;border:1px solid #d8bb7c;outline:1px solid #c5a76b66;outline-offset:3px;background:linear-gradient(135deg,#0d2c37,#031723);font-family:KaiTi,STKaiti,serif;font-size:21px;letter-spacing:.15em;box-shadow:0 3px 16px #0007}.scene-role::before,.scene-role::after{content:'◇';position:absolute;top:8px;font-size:16px;color:#bda366}.scene-role::before{left:-10px}.scene-role::after{right:-10px}
.scene-greeting{margin:0;padding:7px 9px 14px;border-bottom:1px solid #bda56555;color:#f2ebdd;font-family:KaiTi,STKaiti,serif;font-size:17px;line-height:1.7;letter-spacing:.025em;text-wrap:pretty}
.category-heading{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 14px;color:#f8e2ad;font-family:KaiTi,STKaiti,serif;font-size:25px;font-weight:400;letter-spacing:.14em}.category-heading>span{position:relative;display:flex;align-items:center;gap:10px;flex:1;color:#c9b171;font-size:17px}.category-heading>span::before{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#b89a59)}.category-heading>span:last-child{transform:scaleX(-1)}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.category-card{position:relative;isolation:isolate;display:block;min-width:0;min-height:153px;aspect-ratio:1.38;text-align:left;overflow:hidden;padding:0;border:1px solid #d6b873;border-radius:8px 2px;background:#0b2c38;color:#fff1c7;box-shadow:inset 0 0 0 3px #d3b86e22,0 3px 10px #0004;transition:border-color .18s,transform .18s}
.category-card::after{content:'';position:absolute;z-index:3;inset:4px;border:1px solid #ddc18563;border-radius:5px 1px;pointer-events:none}.category-card:hover{border-color:#fff2c0;transform:translateY(-2px)}.category-card:active{transform:translateY(0)}.category-card:focus-visible{outline-offset:3px}
.category-art{position:absolute;z-index:-1;inset:0;width:100%;height:100%;display:block}.category-art image{image-rendering:auto}
.category-card-copy{position:absolute;inset:auto 0 0;min-height:66px;padding:13px 34px 10px 12px;background:linear-gradient(#06212b00,#06212bf7 20%,#061d2b 70%)}
.category-card-title{display:block;color:#ffe9ae;font-family:KaiTi,STKaiti,serif;font-size:24px;line-height:1.25;font-weight:400;letter-spacing:.04em;text-shadow:0 2px 5px #000}
.category-card-subtitle{display:block;margin-top:4px;color:#e8e0cb;font-size:10px;line-height:1.5;letter-spacing:.04em}
.category-arrow{position:absolute;z-index:4;right:10px;bottom:15px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #d8b66a;border-radius:50%;background:#06212be6;color:#f9dfa2;font-size:21px;line-height:1}
.category-grid[data-count="2"] .category-card,.category-grid[data-count="3"] .category-card:last-child{grid-column:1/-1;aspect-ratio:2.8;min-height:142px}.category-grid[data-count="2"] .category-card-copy,.category-grid[data-count="3"] .category-card:last-child .category-card-copy{min-height:65px;padding-left:17px}.category-grid[data-count="6"] .category-card{aspect-ratio:1.55;min-height:139px}.category-grid[data-count="6"] .category-card-title{font-size:22px}
.scene-companion{display:flex;align-items:center;justify-content:center;gap:15px;padding:12px 4px 0;margin-top:14px;border-top:1px solid #b49a5b44}.scene-host{flex:0 0 35px;width:35px;height:55px;pointer-events:none;filter:drop-shadow(0 2px 7px #0005)}.scene-host #host-sprite{display:block;width:100%;height:100%;overflow:visible;transform:none}.companion-label{display:none}.companion-copy p{margin:0 0 4px;color:#e8d39f;font-family:KaiTi,STKaiti,serif;font-size:18px;letter-spacing:.12em}.companion-note{color:#9aafb5;font-size:10px;line-height:1.5}
.voice-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.npc-scene[data-voice="blocked"] .voice-status,.npc-scene[data-voice="error"] .voice-status{position:fixed;z-index:15;bottom:22px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;height:auto;margin:0;padding:10px 16px;clip-path:none;white-space:normal;border:1px solid #ceb27780;background:#092735f0;color:#ebdbb6;border-radius:8px;font-size:12px;text-align:center}
.category-detail{padding:88px 0 15px;min-height:100%;background:radial-gradient(ellipse at 50% 0,#204551,#071e2b 75%)}.category-back{position:relative;z-index:2;margin:0 18px 17px;border-radius:4px;font-size:12px}.detail-art{position:relative;height:210px;margin:0 17px;overflow:hidden;border:1px solid #b89b5e77;border-radius:8px;background:#0b2936}.detail-art::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#092531 65%)}.detail-art .category-art{z-index:0}.detail-copy{position:relative;padding:0 27px}.detail-eyebrow{margin:19px 0 8px;color:#c6ad77;font-size:11px;letter-spacing:.15em}.detail-copy h3{margin:0;color:#ffe6af;font-family:KaiTi,STKaiti,serif;font-size:35px;font-weight:400;letter-spacing:.12em;outline-offset:6px}.detail-intro{margin:15px 0 25px;font-family:KaiTi,STKaiti,serif;font-size:20px;line-height:1.8;color:#f0e7d2}.detail-sections>section{padding:20px 0;border-top:1px solid #b39b623b}.detail-sections h4{margin:0 0 9px;color:#e5c98f;font-size:15px;font-weight:400;letter-spacing:.1em}.detail-sections p{margin:0;color:#c3d0cf;font-size:14px;line-height:1.95;text-wrap:pretty}.detail-companion{display:flex;justify-content:center;gap:14px;margin:30px 0 6px;color:#d7bc81;font-family:KaiTi,STKaiti,serif;font-size:17px;letter-spacing:.08em}
.export-mode .atlas-footer{bottom:3%;font-size:13px}.export-mode .npc-scene{display:none!important}
@media(max-width:700px){.atlas-footer{bottom:calc(14px + env(safe-area-inset-bottom,0px));gap:12px;padding:11px 18px;font-size:11px}.npc-scene{padding:0;background:#061d2b;backdrop-filter:none;-webkit-backdrop-filter:none}.scene-dialog{width:100%;height:100dvh;border:0;border-radius:0;max-width:540px}.scene-toolbar{height:calc(68px + env(safe-area-inset-top,0px));margin-bottom:calc(-68px - env(safe-area-inset-top,0px));grid-template-columns:94px minmax(0,1fr) 44px;gap:5px;padding:calc(9px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 9px max(12px,env(safe-area-inset-left,0px))}.scene-toolbar h2{font-size:clamp(21px,6.4vw,29px)}.scene-close{font-size:11px;gap:4px;padding:7px}.scene-portrait-wrap{height:clamp(290px,41dvh,385px);padding-top:env(safe-area-inset-top,0px)}.npc-portrait{top:calc(48px + env(safe-area-inset-top,0px))}.scene-copy{padding-right:max(12px,env(safe-area-inset-right,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.scene-role{font-size:20px;padding:5px 20px}.scene-greeting{font-size:16px;padding:8px 10px 13px}.category-heading{font-size:23px;margin:14px 0 12px}.category-grid{gap:10px}.category-card{min-height:138px;aspect-ratio:1.4}.category-card-copy{min-height:65px;padding:14px 30px 9px 11px}.category-card-title{font-size:22px}.category-card-subtitle{font-size:10px;letter-spacing:0}.category-arrow{right:9px;bottom:16px;width:23px;height:23px;font-size:19px}.category-grid[data-count="6"] .category-card{min-height:127px}.category-grid[data-count="6"] .category-card-title{font-size:21px}.category-grid[data-count="2"] .category-card,.category-grid[data-count="3"] .category-card:last-child{min-height:135px}.scene-companion{margin-top:12px;padding-top:10px}.category-detail{padding-top:calc(82px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.detail-copy{padding:0 23px}}
@media(max-width:350px){.scene-toolbar{grid-template-columns:86px minmax(0,1fr) 44px;gap:3px;padding-left:8px;padding-right:8px}.scene-toolbar h2{font-size:21px;letter-spacing:0}.scene-copy{padding-left:10px;padding-right:10px}.scene-greeting{font-size:15px}.category-card-title{font-size:21px;letter-spacing:0}.category-grid[data-count="6"] .category-card-title{font-size:20px}.category-card-subtitle{font-size:9px}.category-card-copy{padding-left:9px}.category-arrow{right:7px;width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){.category-card{transition:none}}
/* Explicit width prevents an aspect ratio and minimum height widening grid items. */
.category-card{width:100%}
.category-grid[data-count="2"] .category-card-copy,.category-grid[data-count="3"] .category-card:last-child .category-card-copy{right:auto;width:56%;background:linear-gradient(90deg,#061e2bfc,#061e2bfa 86%,#061e2b00)}
.category-grid[data-count="2"] .category-arrow,.category-grid[data-count="3"] .category-card:last-child .category-arrow{box-shadow:0 0 0 5px #061e2b}
.scene-close{white-space:nowrap;letter-spacing:0}
.category-grid[data-count="2"] .category-card-copy,.category-grid[data-count="3"] .category-card:last-child .category-card-copy{mask-image:linear-gradient(transparent,#000 14px)}
@media(max-width:350px){.scene-close{padding:6px}.scene-close>span{font-size:18px}}
.detail-art::after{background:linear-gradient(transparent,#092531 30%)}
/* Explanations open only from the labelled scroll at the upper right. */
.category-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 18px 18px}
.category-detail-toolbar .category-back{margin:0}
.category-guide-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:76px;min-height:44px;padding:7px 11px;border:1px solid #c9ad6b99;border-radius:5px;background:#061d29d9;color:#e9d09c;font-size:12px;letter-spacing:.1em}
.category-guide-button svg{width:25px;height:25px;fill:#d7b8730c;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.category-guide-button:hover,.category-guide-button[aria-expanded="true"]{border-color:#f2d59b;background:#28414a;color:#ffe7af}
.category-guide-panel{margin:0 18px 20px;padding:25px 24px;border:1px solid #b79a5d80;border-radius:8px;background:linear-gradient(100deg,#102e3b,#163845 48%,#102c38);box-shadow:inset 4px 0 #c8aa6b14,inset -4px 0 #c8aa6b14,0 8px 30px #0003}
.guide-eyebrow{margin:0 0 10px;color:#bba476;font-size:10px;letter-spacing:.2em}
.category-guide-panel>h3{margin:0;color:#f4dda5;font-family:KaiTi,STKaiti,serif;font-size:29px;font-weight:400;letter-spacing:.08em}
.category-guide-panel .detail-intro{font-size:19px}
#category-stage{min-height:calc(100dvh - 230px)}
#category-stage .detail-art{height:clamp(210px,33dvh,340px)}
@media(max-width:350px){.category-detail-toolbar{margin-right:12px;margin-left:12px}.category-guide-panel{margin-right:12px;margin-left:12px;padding:22px 18px}.category-guide-panel>h3{font-size:26px}}
.guide-tabs{display:flex;gap:6px;margin:22px 0 10px;padding:4px;border:1px solid #b39b6244;border-radius:6px;background:#051c284d}
.guide-tabs button{flex:1;min-height:44px;padding:9px 8px;border:1px solid transparent;border-radius:3px;background:transparent;color:#b5c2c2;font-size:13px;letter-spacing:.08em}
.guide-tabs button[aria-selected="true"]{color:#f2d99e;border-color:#c2a66a80;background:#c8a86914}
.algorithm-version{margin:20px 0;color:#c9b37c;font-size:12px;line-height:1.85;border-left:2px solid #b89a59;padding-left:12px;white-space:pre-line}
.algorithm-steps{margin:0;padding-left:23px;color:#d6bc82;list-style:decimal}
.algorithm-steps li{padding:16px 0 18px 5px;border-top:1px solid #b39b623b}
.algorithm-steps h4{margin:0 0 9px;font-size:15px;font-weight:400;color:#e5c98f;line-height:1.7}
.algorithm-steps p{margin:0;color:#d3dfdc;font-size:15px;line-height:1.95;white-space:pre-line;overflow-wrap:anywhere}
.guide-sources{margin-top:26px;padding-top:19px;border-top:1px solid #c2a46b66}
.guide-sources summary{padding:3px 0;color:#d7bf88;font-size:13px;cursor:pointer;line-height:1.8}
.guide-sources summary>span{display:inline;margin-left:10px;color:#9eb3b9;font-size:11px}
.guide-sources[open] summary{margin-bottom:18px}
.guide-sources ul{padding:0;margin:0;list-style:none}.guide-sources li{margin:0 0 15px}
.guide-sources a{display:inline-block;color:#e3cc94;font-size:12px;line-height:1.8;text-underline-offset:4px;overflow-wrap:anywhere}
.guide-sources span{display:block;margin-top:4px;color:#91a9b1;font-size:11px;line-height:1.8}
.category-detail-toolbar{position:sticky;z-index:8;top:76px;padding:8px 0;background:linear-gradient(#0a2633f5,#0a2633e8 82%,transparent)}
.category-guide-panel .detail-sections p{color:#d3dfdc;font-size:15px}
@media(max-width:700px){.category-detail-toolbar{top:calc(68px + env(safe-area-inset-top,0px))}}
