.build-notes { position:absolute; right:52px; bottom:12%; min-height:44px; z-index:3; color:#a4417c; }
.interaction-cue { font:12px/1.8 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; color:#557e94; margin:6px 0 18px; letter-spacing:0; }
.book-scene>.interaction-cue,.lab-heading>.interaction-cue { text-align:center; }
.works-scene>.interaction-cue { margin:8px 0 20px; }
.collection-interlude { position:fixed; inset:0; z-index:90; pointer-events:none; overflow:hidden; }
.collection-star { position:absolute; top:-17px; left:-17px; width:34px; height:34px; filter:drop-shadow(0 0 8px currentColor); }
.collection-star svg { display:block; width:100%; height:100%; fill:#fcfeff; stroke:currentColor; stroke-width:1.2; }
.collection-ring { position:absolute; left:var(--gather-x); top:var(--gather-y); width:80px; height:80px; border:1px solid #aacfe2; border-radius:50%; box-shadow:0 0 20px #aed9ed88,inset 0 0 20px #efc1df66; }
.collection-message { position:absolute; left:50%; top:24%; padding:10px 20px; white-space:nowrap; color:#9e427b; background:#f8fcffe8; font:22px/1.6 "Songti SC",serif; border-bottom:1px dashed #c3a3bc; }
.atelier-achievement { width:min(1000px,calc(100vw - 40px)); max-height:90svh; padding:0; border:1px solid #9fb9d0; border-radius:8px; color:#365b73; background:#f7fbff; box-shadow:0 0 0 4px #f4fbff99,0 0 0 5px #c6adc4,0 25px 80px #304c6250; overflow:auto; overscroll-behavior:contain; }
.atelier-achievement::backdrop { background:#4a57777a; backdrop-filter:blur(7px); }
.achievement-top { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 20px; border-bottom:1px dashed #c6d6e1; background:#f9fbfff5; }
.achievement-top>span { font:10px/1.5 Georgia,serif; color:#5c788e; }
.achievement-close { min-width:44px; min-height:44px; border:0; background:none; font:27px/1 Georgia,serif; color:#a4417c; }
.achievement-body { padding:0 40px 30px; }
.achievement-heading { position:relative; isolation:isolate; text-align:center; padding:25px 0 22px; border-bottom:1px dashed #b9c9df; }
.award-edition { position:relative; z-index:1; }
.achievement-heading .award-edition { font:10px/1.8 Georgia,serif; color:#8e628a; margin:0 0 12px; }
.award-corners { position:absolute; z-index:-1; inset:20px 0 auto; display:flex; justify-content:space-between; pointer-events:none; }
.award-corners img { width:118px; height:118px; object-fit:contain; opacity:.55; }
.award-corners img:first-child { transform:rotate(-14deg); }
.award-corners img:last-child { transform:rotate(13deg); }
.award-medallion { position:relative; width:130px; height:130px; margin:0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.award-orbit { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#99bdd6; stroke-width:1; }
.award-orbit circle:first-child { stroke-dasharray:2 5; }
.award-orbit circle:nth-child(2) { stroke:#c28bb3; }
.award-orbit path { fill:#f3d9eb; stroke:#c28bb3; }
.atelier-achievement[open] .award-orbit { animation:award-orbit 28s linear infinite; }
.achievement-emblem { display:block; width:58px; height:58px; margin:0; filter:drop-shadow(0 0 5px #97c7df88); }
.award-medallion>span { font:10px/1.6 Georgia,serif; color:#8f6391; }
.award-ribbon { position:relative; width:250px; max-width:90%; padding:8px 20px 10px; margin:5px auto 13px; color:#974b83; font:24px/1.5 "Songti SC",serif; background:linear-gradient(100deg,#dbedf9,#f7e3f1 50%,#ddf2ee); clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%); }
.award-sparkles { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.award-sparkles>i { position:absolute; left:50%; top:42%; width:14px; height:14px; color:#a6669c; opacity:0; }
.award-sparkles svg { display:block; width:100%; height:100%; fill:#faffff; stroke:currentColor; stroke-width:1; filter:drop-shadow(0 0 3px currentColor); }
@keyframes award-orbit { to { transform:rotate(360deg); } }
.achievement-heading>p:first-of-type { font:10px/1.6 Georgia,serif; color:#8c6281; }
.achievement-heading h2 { position:relative; font:27px/1.5 "Songti SC",serif; color:#8e477e; margin:8px 0; }
.achievement-heading>p:last-child { font-size:12px; line-height:1.8; color:#53748a; }
.collected-potions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:22px 0 36px; counter-reset:relic; }
.collected-potions>span { position:relative; display:grid; justify-items:center; align-content:center; gap:5px; min-height:122px; padding:12px 8px; font-size:12px; border:1px solid #b6cbe0; border-radius:6px; background:#e9f3fb; box-shadow:3px 4px 0 #d9e6f07a; }
.collected-potions>span:nth-child(2) { background:#f8eaf3; border-color:#d6b5cd; }
.collected-potions>span:nth-child(3) { background:#eaf5f1; border-color:#b4d3c9; }
.collected-potions>span:nth-child(4) { background:#f5effa; border-color:#ccc0dc; }
.collected-potions>span::before { counter-increment:relic; content:"0" counter(relic); position:absolute; left:10px; top:8px; font:9px/1.4 Georgia,serif; color:#7a92a8; }
.collected-potions>span::after { content:"\2713"; position:absolute; right:9px; top:8px; color:#aa6695; font-size:11px; }
.collected-potions img { width:55px; height:68px; object-fit:contain; mix-blend-mode:multiply; }
.making-process h3,.making-tech h3 { text-align:center; font:21px/1.7 "Songti SC",serif; color:#56768c; margin:0 0 18px; }
.making-process h3>span,.making-tech h3>span { display:block; font:9px/1.8 Georgia,serif; color:#a07193; margin-bottom:5px; }
.making-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.making-steps figure { margin:0; min-width:0; padding:0 16px 0 0; border-right:1px dashed #c1d2e0; }
.making-steps figure:last-child { border:0; padding-right:0; }
.making-picture { height:85px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; border-bottom:1px dashed #b9ccdb; }
.making-picture>img { width:130px; height:80px; object-fit:contain; mix-blend-mode:multiply; }
.making-code { flex-direction:column; gap:6px; }
.making-code b { font:29px/1.1 Georgia,serif; color:#bd6597; font-weight:400; }
.making-code span { font-size:9px; color:#607b90; }
.making-devices { position:relative; }
.making-devices i:first-child { width:95px; height:54px; border:1px solid #a8bfce; border-radius:4px; background:linear-gradient(90deg,#e8f3fa 45%,#f9ecf4 45%); box-shadow:0 5px 0 -3px #839fb0; }
.making-devices i:last-child { width:24px; height:43px; border:1px solid #b581a3; background:#fbf4f9; border-radius:4px; margin-left:-12px; margin-top:20px; }
.making-steps figcaption>span { font:9px/1.6 Georgia,serif; color:#a06185; }
.making-steps h4 { font:15px/1.7 "Songti SC",serif; color:#a4417c; margin:5px 0 6px; }
.making-steps p { font-size:12px; line-height:1.9; }
.making-tech { border-top:1px dashed #bdcddb; padding-top:20px; margin-top:24px; }
.making-tech dl { margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.making-tech dl>div { border-left:2px solid #afd5e5; padding-left:12px; }
.making-tech dl>div:nth-child(2) { border-color:#d9a8c7; }
.making-tech dl>div:nth-child(3) { border-color:#a8cfbf; }
.making-tech dt { font-size:11px; color:#a4417c; line-height:1.7; }
.making-tech dd { margin:6px 0 0; font-size:11px; line-height:1.9; color:#53748a; }
.making-credit { font-size:10px; line-height:1.8; color:#607e93; text-align:center; margin:24px 0 16px; }
.achievement-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:22px; }
.achievement-actions button,.achievement-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 18px; font-size:12px; }
.achievement-return { border:1px solid #c79db7; background:linear-gradient(110deg,#e0eef9,#f6e1ee); color:#934c82; border-radius:3px; box-shadow:3px 3px 0 #d7e5ef; }
.achievement-actions a { color:#52788f; border-bottom:1px dashed #adc5d6; }
.atelier-achievement :is(button,a):focus-visible { outline:2px solid #ad3979; outline-offset:3px; }
@media(max-width:650px) {
 .interaction-cue { font-size:11px; }
 .collection-message { top:28%; font-size:17px; }
 .build-notes { right:28px; bottom:50px; padding:8px 10px; background:#f7fbffe8; }
 .atelier-achievement { width:calc(100vw - 26px); max-height:90svh; }
 .achievement-top { padding:5px 14px; }
 .achievement-body { padding:0 18px 25px; }
 .award-corners img { width:62px; height:62px; }
 .award-corners { top:28px; }
 .award-medallion { width:110px; height:110px; }
 .award-ribbon { width:218px; font-size:22px; }
 .achievement-heading h2 { font-size:22px; }
 .collected-potions { grid-template-columns:1fr 1fr; gap:12px; width:100%; margin:18px auto 28px; }
 .collected-potions>span { min-height:116px; font-size:11px; }
 .making-steps { grid-template-columns:1fr; gap:22px; }
 .making-steps figure { display:grid; grid-template-columns:75px minmax(0,1fr); gap:12px; border:0; padding:0; }
 .making-process h3,.making-tech h3 { font-size:18px; }
 .making-picture { height:100%; min-height:90px; margin:0; border-bottom:0; }
 .making-picture>img { max-width:85px; }
 .making-devices i:first-child { width:65px; height:44px; }
 .making-devices i:last-child { width:18px; height:34px; }
 .making-code span { max-width:80px; text-align:center; line-height:1.7; }
 .making-steps p,.making-tech dd { font-size:12px; }
 .making-tech dl { grid-template-columns:1fr; gap:16px; }
 .making-tech dt { font-size:12px; }
}
@media(forced-colors:active) { .atelier-achievement { border:1px solid CanvasText; } .achievement-emblem { display:none; } }
@media(prefers-reduced-motion:reduce) { .atelier-achievement[open] .award-orbit { animation:none; } }
body.page-is-hidden .award-orbit { animation-play-state:paused; }
