@import url("./first-lesson-second-task-v2.css");
@import url("./knowledge-challenge.css");
@import url("./first-lesson-third-task-v2.css");
@import url("./first-lesson-fourth-task-v2.css");
@import url("./first-lesson-fourth-task-fold-v2.css");
@import url("./first-lesson-fourth-task-challenge-v2.css");
@import url("./second-lesson-second-task-v2.css");
@import url("./second-lesson-third-task-v2.css");
@import url("./second-lesson-optional-task-d4-v2.css");
@import url("./second-lesson-optional-task-challenge-v2.css");
@import url("./third-lesson-second-task-v2.css");
@import url("./third-lesson-third-task-chain-v2.css");
@import url("./third-lesson-third-task-ink-v2.css");
@import url("./third-lesson-optional-task-d4-v2.css");
@import url("./third-lesson-optional-task-challenge-v2.css");
@import url("./fourth-lesson-first-task-entry-v2.css");
@import url("./fourth-lesson-second-task-v2.css");
@import url("./fourth-lesson-third-task-hourglass-v2.css");
@import url("./fourth-lesson-third-task-crane-v2.css");
@import url("./fourth-lesson-optional-task-shadow-v2.css");
@import url("./fourth-lesson-optional-task-seal-v2.css");
@import url("./fifth-lesson-first-task-entry-v2.css");
@import url("./fifth-lesson-second-task-v2.css");
@import url("./fifth-lesson-third-task-beast-v2.css");
@import url("./fifth-lesson-third-task-yarn-v2.css");
@import url("./fifth-lesson-optional-task-stamp-v2.css");
@import url("./fifth-lesson-optional-task-bookmark-v2.css");
@import url("./sixth-lesson-first-task-entry-v2.css");
@import url("./sixth-lesson-second-task-v2.css");
@import url("./sixth-lesson-third-task-reed-v2.css");
@import url("./sixth-lesson-third-task-key-v2.css");
@import url("./sixth-lesson-optional-task-star-v2.css");
@import url("./sixth-lesson-optional-task-lens-v2.css");
:root{--ink:#1b3938;--jade:#315f59;--paper:#f6f1e6;--gold:#b88d50;--line:#daceb7;--quiet:#75827a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 "Microsoft YaHei",sans-serif}button,select{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#faf7ef;border-radius:7px;padding:8px 15px;transition:background .15s}button:hover{background:#e9e3d4}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ce9c51;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Microsoft YaHei",serif}h2{font-size:25px}small{font-size:12px}.topbar{height:76px;padding:0 3%;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);background:#f9f6eee8}.topbar a{display:flex;align-items:center;gap:12px;font-weight:bold;font-size:21px;white-space:nowrap}.topbar small{display:block;letter-spacing:2px;font-size:10px;font-weight:normal}.seal{display:grid;place-items:center;width:40px;height:46px;border:1px solid #8d6e42;border-radius:14px 14px 8px 8px;background:#315b53;color:#eddbad;font:23px serif;box-shadow:inset 0 0 0 3px #547369}.topbar nav{display:flex;gap:8px}.topbar nav button{border-color:transparent;background:none}.topbar #total{margin-left:auto;font-size:13px;color:#70644b;white-space:nowrap}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;color:#857146;font-weight:bold}.opening{height:min(660px,70vw);min-height:540px;background-image:linear-gradient(90deg,#f6f1e6 0%,#f6f1e6ef 15%,#f6f1e6aa 29%,#f6f1e600 53%),url("art/optimized/keyart_nuwa_creation-a595b57118.webp");background-size:cover;background-position:center 47%;position:relative}.opening-copy{position:absolute;left:6%;top:12%;width:42%;max-width:490px}.opening h1{font-size:clamp(36px,4vw,59px);line-height:1.4;margin:16px 0 24px;letter-spacing:4px;font-family:"STSong","SimSun",serif;font-weight:600}.lead{font-size:16px;color:#53635b;line-height:2}.primary{background:var(--jade);color:#fff9e9;border-color:#315a52;box-shadow:inset 0 1px #ffffff18,0 3px 8px #27483c18}.primary:hover{background:#244d47}.large{margin-top:30px;padding:16px 25px;font-weight:bold;display:flex;gap:24px}.muted{color:var(--quiet);font-size:13px;margin-top:14px}.opening-caption{position:absolute;bottom:35px;right:4%;color:#fff9e7;text-shadow:0 2px 8px #2b443a;writing-mode:vertical-rl;letter-spacing:5px}.volume-heading{margin:34px 5% 24px;display:flex;justify-content:space-between;align-items:center}.volume-heading h2{margin-top:8px}.chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 5% 40px}.chapter{background:#fffaf0;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #324c3110}.chapter .scene{height:125px;width:100%;object-fit:cover;filter:saturate(.85)}.chapter-content{padding:18px}.chapter h3{font-size:18px;margin:3px 0 8px}.chapter p{font-size:13px;color:#778078;min-height:42px}.task-links{display:flex;gap:5px;flex-wrap:wrap;margin-top:13px}.task-links button{padding:6px 9px;font-size:12px}.task-links .done{background:#e5ece1;color:#41664e}.task-links .next{background:#315f59;color:#fff5df}footer{text-align:center;color:#7d867c;font-size:12px;padding:26px;border-top:1px solid var(--line)}.game-heading{display:flex;align-items:center;gap:20px;margin:20px 3% 14px}.game-heading h1{font-size:25px;letter-spacing:1px}.game-heading #mission{margin-left:auto}.game-heading #save-state{font-size:12px;color:var(--quiet)}.game-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(350px,1fr);gap:18px;margin:0 3% 30px}.world-panel,.code-panel{min-width:0;background:#fffaf0;border:1px solid #c8bea7;border-radius:10px;overflow:hidden;box-shadow:0 6px 20px #263a2810}.objective{padding:14px 18px;background:#e9eadd;display:flex;align-items:center;justify-content:space-between;gap:20px}.objective strong{display:block;font-size:14px;max-width:510px}.objective .eyebrow{font-size:10px}.counters{display:flex;gap:14px;align-items:center;font-size:10px;white-space:nowrap}.counters b{font-size:23px;display:block;line-height:1.1}.world-wrap{position:relative;background:#577669}.world-wrap #world{display:block;width:100%;height:auto}.world-state{position:absolute;bottom:12px;left:18px;font-size:12px;color:#f4edd8;background:#21483dcc;padding:3px 9px;border-radius:4px}.grid-check{position:absolute;right:14px;bottom:14px;color:#e7efdf;font-size:11px}.playback{display:flex;align-items:center;gap:8px;padding:12px 15px;border-bottom:1px solid var(--line)}.playback button,.playback select{padding:4px 8px;font-size:12px}.playback input{min-width:40px;flex:1;accent-color:#536f5b}.playback span{font-size:12px;white-space:nowrap}.world-details{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 18px;background:#f2ecdd;font-size:12px}.feedback{min-height:70px;padding:12px 18px;font-size:13px}.feedback strong{display:block;margin-bottom:3px}.feedback.error{background:#f5e5d8;color:#8a4832}.feedback.success{background:#e8eedc}.tabs{display:flex;align-items:center;padding:8px 12px;gap:5px;background:#284b45;color:#e9e4d4}.tabs button{background:transparent;border:0;color:#c8d8c8;border-radius:0;padding:7px 15px}.tabs .selected{border-bottom:2px solid #dfbb78;color:#fff4d4}.code-mark{font-family:serif;letter-spacing:2px;margin-right:auto}.filebar{display:flex;align-items:center;justify-content:space-between;padding:5px 14px;background:#e8e5d5;color:#7a7a69;font-size:11px}.filebar button{border:0;padding:2px 3px;font-size:11px;background:transparent}#editor{height:340px;font-size:16px;background:#fff9e9}.source-line{display:flex;gap:10px;justify-content:space-between;padding:9px 14px;font-size:11px;background:#efedde;border-top:1px solid #e1d9c3}.source-line strong{font-weight:normal;color:#536959}.runbar{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:12px 14px;border-bottom:1px solid var(--line)}.runbar small{margin-right:auto;color:#85907c;font-size:10px}.runbar #stop{font-size:12px;padding:7px 10px}.runbar .primary{padding:9px 18px;font-weight:bold}.skill-heading{display:flex;justify-content:space-between;align-items:center;padding:14px 15px 7px;font-size:12px}.skill-heading small{color:#8a917e;font-size:10px}.skills{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 14px 12px}.skills button{display:flex;justify-content:space-between;align-items:center;font:11px monospace;padding:8px;gap:6px;background:#f3f2e7}.skills small{font-family:inherit;font-size:10px;color:#7d8871}.hint{display:block;width:calc(100% - 28px);margin:0 14px 12px;text-align:left;background:#f6edd6;color:#866b3e;font-size:12px}.rules{font-size:12px;border-top:1px solid var(--line);padding:12px 15px}.rules ul{padding-left:20px;color:#687660}.running-line{position:absolute;background:#cfe6bb70}.error-line{position:absolute;background:#eac1a080}dialog{border:1px solid #a99a76;border-radius:12px;background:#fbf7eb;color:var(--ink);width:min(720px,94vw);max-height:90vh;padding:0;box-shadow:0 25px 120px #102d2980}dialog::backdrop{background:#153b346e;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:10px;z-index:2;width:34px;height:34px;padding:0;background:#f6f0df;font-size:24px}#modal-body{padding:35px}#modal-body h2{font-size:28px;margin:8px 30px 18px 0}#modal-body p{margin:10px 0;color:#607267}.dialogue{display:flex;gap:20px;align-items:center}.dialogue img{width:120px;max-height:170px;object-fit:contain}.dialogue blockquote{margin:0;font:19px/1.9 "Microsoft YaHei",sans-serif}.dialogue small{display:block;margin-bottom:8px;color:#9a7e49}.modal-actions{display:flex;gap:10px;margin-top:24px;justify-content:flex-end}.rewards{display:flex;justify-content:center;gap:35px;padding:24px;background:#e8edde;border:1px solid #d5ddc5;border-radius:8px}.reward{display:flex;align-items:center;gap:10px}.reward img{width:42px;height:42px;object-fit:contain}.reward b{font-size:28px}.reward small{display:block}.bag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bag-item{background:#eee9db;text-align:center;border-radius:8px;padding:15px}.bag-item img{width:70px;height:75px;object-fit:contain}.bag-item small{display:block;color:#7c8571}.code-sample{padding:18px;background:#e8eadb;border-radius:5px;font:15px/1.8 monospace;white-space:pre-wrap}#modal-body .map-note{font-size:12px}
@media(min-width:1600px){#editor{height:400px}.opening{height:690px}}@media(max-width:1100px){.game-layout{margin-left:15px;margin-right:15px;grid-template-columns:minmax(0,1.4fr) minmax(330px,1fr)}.counters{gap:8px}.counters #health{display:none}.topbar{gap:10px}.topbar #total{font-size:11px}.topbar nav button{padding:7px}.opening-copy{left:5%;width:46%}.opening h1{font-size:43px}}@media(max-width:800px){.topbar{height:65px;padding:0 14px;gap:6px;flex-wrap:wrap}.topbar a{font-size:16px}.seal{width:30px;height:35px;font-size:19px}.topbar nav button{font-size:11px;padding:5px}.topbar #total{display:none}.opening{height:auto;min-height:0;background-position:65% top;background-size:auto 390px;background-repeat:no-repeat;background-color:#f6f1e6;background-image:linear-gradient(0deg,#f6f1e6 0%,transparent 60%),url("art/optimized/keyart_nuwa_creation-a595b57118.webp")}.opening-copy{position:relative;top:auto;left:auto;width:86%;max-width:none;margin:0 auto;padding:285px 0 26px}.opening h1{font-size:32px;margin:10px 0;line-height:1.25}.opening h1 br{display:none}.opening .lead{font-size:13px}.large{margin-top:14px;padding:12px 15px;font-size:13px}.opening-caption{display:none}.volume-heading{margin-top:20px}.volume-heading h2{font-size:18px}.chapters{grid-template-columns:1fr 1fr;gap:12px}.chapter .scene{height:90px}.chapter-content{padding:12px}.chapter h3{font-size:15px}.game-layout{grid-template-columns:1fr;margin:0 10px 20px}.game-heading{gap:9px;margin:14px 12px}.game-heading h1{font-size:20px}.game-heading #save-state{display:none}.game-heading .eyebrow{font-size:9px}.game-heading button{padding:6px 8px;font-size:12px}.objective{padding:10px;gap:8px}.objective strong{font-size:12px}.counters b{font-size:20px}.world-wrap{min-height:250px}.playback{gap:5px;padding:9px}#editor{height:270px}.bag-grid{grid-template-columns:1fr 1fr}#modal-body{padding:25px}.dialogue img{width:80px}.dialogue blockquote{font-size:16px}.rewards{gap:20px}.volume-heading #free-mode{font-size:11px;padding:6px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.chapter-stamps{gap:20px;background:linear-gradient(120deg,#eee8d8,#eef0e1)}.chapter-stamp{flex:1;text-align:center;color:#858b79;font-size:12px}.chapter-stamp b{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border:1px dashed #aab49c;border-radius:50%;font-size:24px}.chapter-stamp.achieved{color:#315f59}.chapter-stamp.achieved b{border:2px solid #8b9e72;background:#dce6cb;box-shadow:0 0 0 4px #dce6cb55}
.dialogue .asset-portrait{width:110px;height:130px;object-fit:contain;flex-shrink:0}.bag-item .asset-portrait{width:70px;height:75px;object-fit:contain}@media(max-width:800px){.world-wrap{min-height:0}.dialogue .asset-portrait{width:80px;height:100px}}

/* Health is rule information, including on a narrow classroom device. */
@media(max-width:1100px){.counters{display:grid;grid-template-columns:repeat(2,auto);row-gap:4px}.counters #health{display:block;grid-column:1/-1;font-size:12px}}

.revision-heading{display:flex;justify-content:space-between;align-items:center}.revision-heading img{object-fit:contain}.revision-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}.revision-panels pre{max-height:310px;overflow:auto;white-space:pre-wrap;background:#f3ead7;padding:12px;font:13px/1.7 monospace}.revision-book textarea,.revision-book input,.revision-book select{width:100%;box-sizing:border-box;margin:8px 0 14px;padding:10px;color:#243c37;background:#fffaf0;border:1px solid #bdc5ae;border-radius:6px}.revision-book label{display:block;margin-top:14px}.revision-diff{max-height:250px;overflow:auto}.revision-diff pre{margin:0;white-space:pre-wrap;font:12px/1.8 monospace}.diff-added{background:#dcebd7}.diff-removed{background:#f3ded4;text-decoration:line-through}.revision-status{padding:10px;background:#eaf0df}@media(max-width:650px){.revision-panels{grid-template-columns:1fr}.revision-heading img{width:70px;height:65px}}

.bridge-motifs{display:flex;gap:12px;margin:20px 0}.bridge-motifs [aria-pressed="true"]{background:#285c54;color:#fff5df;border-color:#b4a46d}.bridge-keepsake{display:block;width:100%;height:auto;margin:20px auto}.bridge-memory>p{line-height:1.75}

.bridge-preview{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;margin:12px auto}

.bridge-drawing-progress{margin:20px 0;padding:18px 0;display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center}.tao-painting{width:100%;height:auto}.bridge-draft{width:100%;height:auto}.bridge-drawing-progress figcaption{grid-column:1/-1;line-height:1.8;color:#42635a}.bridge-earlier{margin-top:24px}.bridge-earlier summary{cursor:pointer;padding:12px 0}@media(max-width:650px){.bridge-drawing-progress{grid-template-columns:1fr;gap:10px}.bridge-drawing-progress .tao-painting{width:130px;margin:auto}}

.workshop-room{position:relative;margin:20px 0}.workshop-backdrop{display:block;width:100%;height:auto}.workshop-wall-art{position:absolute;left:18%;top:0;margin-top:18%;width:25%;padding:0;border:0;background:transparent;box-shadow:0 4px 9px #1b262844}.workshop-wall-art img{display:block;width:100%;height:auto}.workshop-empty-art{position:absolute;left:17%;top:35%;width:28%;font-size:12px}.workshop-desk{position:absolute;left:63%;top:48%;width:22%;font-size:12px;padding:8px}.workshop-program-list,.workshop-revision-list{display:grid;gap:12px;margin:24px 0}.workshop-revision-list button{text-align:left;overflow-wrap:anywhere}.workshop-program input[type=range]{width:100%;margin:16px 0}.workshop-trace-state{padding:16px;background:#e7ecdf;line-height:1.8}@media(max-width:650px){.workshop-empty-art,.workshop-desk{font-size:10px;padding:4px}.workshop-gallery h2{font-size:24px}}

.workshop-back{margin-bottom:16px}
.workshop-program .code-sample{font:14px/1.8 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#f3ead7;margin:20px 0}.workshop-program input[type=range]{accent-color:#2d6258}
@media(max-width:650px){.workshop-empty-art,.workshop-desk{position:static;width:100%;font-size:14px;padding:12px;margin-top:8px}.workshop-wall-art{min-height:0}}

#modal:has(.workshop-lab){width:min(1200px,96vw);max-width:1200px}.workshop-lab>p,.workshop-lab>h3{margin:14px 0}.workshop-lab-controls{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.workshop-lab-controls [aria-pressed=true]{background:#315f59;color:#fff}.workshop-lab-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.workshop-lab canvas{width:100%;height:auto}.workshop-lab input,.workshop-lab textarea{width:100%;padding:10px;margin:8px 0;box-sizing:border-box}.workshop-lab textarea{font:14px/1.7 Consolas,monospace;resize:vertical}.workshop-lab table{width:100%;border-collapse:collapse}.workshop-lab th,.workshop-lab td{padding:8px;border-bottom:1px solid #daceb7;text-align:left}.workshop-lab input[type=range]{accent-color:#315f59}.workshop-lab button{margin:4px 0}@media(max-width:700px){.workshop-lab-columns{grid-template-columns:1fr}.workshop-lab table{font-size:11px}.workshop-lab th,.workshop-lab td{padding:4px}}

.workshop-lab-columns label{display:block;margin-top:12px}.workshop-lab textarea,.workshop-lab input:not([type=range]){background:#fffaf0;border:1px solid #c4bea9;border-radius:6px;color:#1b3938}.workshop-lab-columns>div{min-width:0}.workshop-public-rules{padding:12px;background:#e9eadd}.workshop-lab canvas{border-radius:6px}

.workshop-lab details{margin:20px 0;padding:14px;background:#e9eadd}.workshop-lab details pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.8 Consolas,monospace}

.workshop-play-controls{display:flex;gap:8px;flex-wrap:wrap}.workshop-source-line{background:#dcebd7;color:#214c40;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 Consolas,monospace}.workshop-lab textarea[readonly]{background:#eeeadd}
.creation-story figure{margin:0}.creation-story figure img{display:block;width:100%;height:auto;border-radius:8px}.creation-story figcaption{font-size:16px;line-height:1.8;padding:14px 0;color:#39574d}.creation-story blockquote{margin:0 0 20px;padding:12px 18px;border-left:3px solid #b49b60}.creation-story .primary{width:100%}
.creation-nav{position:sticky;bottom:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 0;background:#faf6e9;border-top:1px solid #d4cbb8}.creation-nav .primary{grid-column:1/-1}.creation-nav span{text-align:center;font-variant-numeric:tabular-nums}.creation-story [role=status]:empty{display:none}
.light-memory canvas{width:100%;height:auto;display:block;border-radius:8px;margin-top:14px}.light-memory select,.light-memory input[type=range]{width:100%}.light-memory-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.light-memory-code span{display:block;white-space:pre-wrap}.light-memory-code .active{background:#cfdfb6;color:#18372d}.light-memory .primary{width:100%}
.modal-actions{flex-wrap:wrap}.modal-actions>button{flex:1 1 130px;min-width:0}.modal-actions>.primary{flex-basis:100%;order:1}@media(max-width:540px){.modal-actions>button{flex-basis:100%}}
.revision-story{margin:14px 0;border:1px solid var(--line);border-radius:8px;padding:10px 14px}.revision-story summary{cursor:pointer;font-weight:bold}.revision-story figure{margin:12px 0 0}.revision-story img{display:block;width:100%;height:auto;border-radius:6px}.revision-story figcaption{line-height:1.8;padding:12px 0}.revision-story [role=status]:empty{display:none}
#modal:has(.program-comparison){width:min(1200px,96vw);max-width:1200px}.program-comparison>p{margin:12px 0}.program-comparison-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.program-comparison-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fffaf0}.program-comparison-card h3{margin-bottom:12px}.program-comparison-card h2{font-size:18px;margin:12px 0}.program-comparison-card select{max-width:100%;width:100%}.program-comparison-card .code-sample{overflow:auto;max-height:330px}.comparison-date{font-size:12px;color:#75827a;margin:8px 0}.comparison-reflection{padding:15px;border-left:3px solid var(--gold);margin:18px 0}.program-comparison>.primary{width:100%}@media(max-width:800px){.program-comparison-columns{grid-template-columns:1fr}.program-comparison-card{padding:12px}}
.program-comparison-columns{align-items:start}
.guardian-memory .creation-nav{display:flex;flex-wrap:wrap;gap:10px}.guardian-memory .creation-nav button{flex:1 1 190px}

.paper-window.unlit .paper-window-art{filter:brightness(.3) saturate(.45)}.paper-window.unlit>span{color:#d1d7d4}.paper-light-replay{padding:14px;background:#e9eddf;border:1px solid #c3cab5;border-radius:6px;margin-bottom:18px}.paper-light-replay>p{margin:0 0 12px;line-height:1.7;font-size:14px}.paper-light-replay input[type=range]{display:block;width:100%;margin:14px 0;accent-color:#315e53}.paper-replay-controls{display:flex;gap:8px;flex-wrap:wrap}.paper-replay-controls button{flex:1 1 140px}

.paper-windows>p{line-height:1.8}.paper-windows>label{display:block;margin:16px 0 8px;font-weight:bold}.paper-windows>select,.paper-windows>input{width:100%;box-sizing:border-box;padding:12px;background:#fffaf0;color:#243c37;border:1px solid #aeb9a7;border-radius:6px;font:inherit}.paper-window-gallery{margin:20px 0;padding:24px 24px 16px;background:linear-gradient(#122b3b44,#10252bc9),url('art/environment_nw05_paper_fair_v1.png') center/cover;border-radius:8px}.paper-window-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:540px;margin:auto}.paper-window-art{aspect-ratio:1/2;background-image:url('art/paper_window_motifs_v1.png');background-size:300% 100%;background-repeat:no-repeat;box-shadow:0 10px 18px #05191666}.paper-window>span{display:block;text-align:center;color:#fff1cb;font-size:14px;line-height:2.4;text-shadow:0 1px 3px #000}.paper-window-gallery figcaption{text-align:center;color:#fff2d7;font-size:18px;font-weight:bold;padding-top:12px;overflow-wrap:anywhere}.paper-motif-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.paper-motif-controls fieldset{min-width:0;margin:0;border:1px solid #b9bea7;border-radius:6px;padding:8px}.paper-motif-controls legend{font-size:13px;padding:0 4px}.paper-motif-controls label{display:flex;align-items:center;gap:8px;padding:10px 6px;cursor:pointer;border-radius:4px}.paper-motif-controls label:has(input:checked){background:#dce7cf;color:#214d40;font-weight:bold}.paper-motif-controls input{accent-color:#285c54}.paper-actions{display:flex;gap:10px;flex-wrap:wrap}.paper-actions button{flex:1 1 170px}.paper-save-status{padding:12px;background:#e9eddd;border-left:3px solid #9c8a54}.paper-windows .muted{font-size:13px}@media(max-width:540px){.paper-window-gallery{padding:14px 8px}.paper-window-row{gap:5px}.paper-motif-controls{grid-template-columns:1fr;gap:8px}.paper-motif-controls fieldset{display:flex;gap:6px}.paper-motif-controls label{flex:1;font-size:14px;padding:10px 3px}}

.world-wrap{overflow:hidden}.world-zoom{position:absolute;top:12px;right:12px;z-index:2;padding:6px 10px;background:#faf6e8ed;border:1px solid #b7ab83;color:#254a42;font-size:12px;box-shadow:0 2px 6px #14393122}.world-zoom[aria-pressed="true"]{background:#244c43;color:#fff5d8}.world-zoom:hover{background:#e6dfcb}.world-zoom[aria-pressed="true"]:hover{background:#315f53}

/* Village revisit: small scene pins, reading outside the artwork. */
.guardian-visit-scene{position:relative}.guardian-visit-pin{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;min-height:36px;padding:0;border:2px solid #fff5d2;border-radius:50%;background:#264d42ed;color:#fff7dc;font-size:23px;box-shadow:0 2px 8px #172c3980}.guardian-visit-pin:hover,.guardian-visit-pin[aria-pressed=true]{background:#e3bc65;color:#223e37}.guardian-visit-pin:focus-visible{outline:3px solid #fff;outline-offset:4px}.guardian-visit-links{display:flex;gap:8px;flex-wrap:wrap}.guardian-visit-links button{flex:1 1 150px;min-height:44px;white-space:nowrap}.guardian-visit-links button[aria-pressed=true]{background:#285044;color:#fff7dc}.guardian-visit-detail{padding:8px 0 16px;scroll-margin-bottom:100px}.guardian-visit-detail h3{margin:12px 0 6px}.guardian-visit-detail p{line-height:1.8}.guardian-visit-detail blockquote{margin:12px 0}.guardian-visit-detail [hidden]{display:none}

.story-sequence-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 22px}.story-sequence-nav span{font-variant-numeric:tabular-nums;color:#657468}.story-sequence .dialogue{align-items:center;min-height:150px}.story-sequence .dialogue>div{min-width:0}.story-sequence .dialogue strong{color:#315f59}.story-sequence .dialogue blockquote{margin:8px 0;line-height:1.8}.story-sequence-nav button{min-height:44px}@media(max-width:420px){.story-sequence .dialogue{gap:12px}.story-sequence .dialogue .asset-portrait{width:65px;height:95px}}

.world-view-controls{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;background:#e8e7d8;border-top:1px solid #daceb7;font-size:11px;color:#657468}.world-view-controls .world-zoom{position:static;padding:5px 10px;box-shadow:none;min-height:32px}

.audio-settings>p{line-height:1.8}.audio-settings>.primary{width:100%;min-height:44px}.audio-setting{display:grid;grid-template-columns:100px 1fr 40px;align-items:center;gap:14px;margin:22px 0}.audio-setting input{width:100%;min-width:0;accent-color:#315f59}.audio-setting output{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:420px){.audio-setting{grid-template-columns:80px 1fr 48px;gap:8px}}

.paper-export-preview{width:100%;height:620px;border:1px solid #ccbf9d;margin:16px 0;border-radius:8px;background:#fbf7e9}.paper-export-download{display:block;padding:12px 18px;background:#315f59;color:#fff8e3;text-align:center;border-radius:6px;text-decoration:none;margin-bottom:16px}@media(max-width:420px){.paper-export-preview{height:510px}}

/* Story remains outside the artwork and never blocks playback. */
.action-dialogue{margin:0 18px 14px;padding:12px 14px;border-left:3px solid #b89a58;background:#f1ecdd;color:#284642;font-size:14px;line-height:1.65}.action-dialogue[hidden]{display:none}.action-quote{margin:0 0 8px}.action-dialogue summary{cursor:pointer;font-size:12px;color:#626b60}.action-dialogue ol{padding-left:23px;margin:12px 0 0;max-height:230px;overflow:auto}.action-dialogue li{padding:0 4px 10px 0}.action-dialogue li p{margin:2px 0}.action-dialogue small{color:#77745d}@media(max-width:600px){.action-dialogue{margin:0 12px 12px;padding:10px;font-size:13px}}

.hint-framework{margin:18px 0}.hint-framework>p{line-height:1.7;color:#526057}.hint-framework details{border:1px solid #c5b995;border-radius:7px;padding:12px;margin:10px 0;background:#f6f0de}.hint-framework summary{cursor:pointer;font-weight:700}.hint-framework details p{font-size:14px;line-height:1.65}.hint-framework textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:65px;padding:12px;background:#203933;color:#f7edcf;border:1px solid #6f8370;border-radius:4px;font:14px/1.6 monospace;white-space:pre;overflow:auto}.hint-framework button{margin-top:8px}

.taobo-visit{display:grid;grid-template-columns:minmax(130px,30%) 1fr;gap:24px;align-items:center;padding:20px 0}.taobo-portrait img{width:100%;height:340px;object-fit:contain}.taobo-visit h4{font-size:20px;margin:12px 0}.taobo-visit p{line-height:1.85}.taobo-topics{display:grid;gap:8px}.taobo-topics button{text-align:left;min-height:44px}.taobo-topics button[aria-pressed=true]{background:#285044;color:#fff7dc}@media(max-width:560px){.taobo-visit{grid-template-columns:1fr;gap:8px}.taobo-portrait img{height:210px}.taobo-visit .creation-nav{flex-wrap:wrap}}

.chapter .scene{object-position:center 20%}

.thinking-notebook label{display:block;margin:18px 0;font-weight:bold}.thinking-notebook textarea{display:block;box-sizing:border-box;width:100%;font:inherit;padding:10px;margin-top:6px;resize:vertical;color:var(--ink);background:#fffaf0;border:1px solid var(--line);border-radius:6px}.thinking-notebook pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.thinking-notebook details{margin:12px 0;padding:10px;background:#f0eadc}.thinking-notebook p{line-height:1.8}.game-heading{flex-wrap:wrap}

.brush-detail{text-align:center}.brush-detail img{display:block;width:100%;height:370px;object-fit:contain;margin:16px auto}.brush-detail p{max-width:520px;margin:20px auto;line-height:1.9}@media(max-width:560px){.brush-detail img{height:280px}}

.shield-detail img{height:290px;margin:12px auto}.shield-detail p{margin:14px auto}.shield-detail .code-sample{margin:12px 0;padding:12px}@media(max-width:560px){.shield-detail img{height:240px}}

.dialogue-expression{display:block;flex:0 0 96px;width:96px;height:96px;background-size:300% 200%;background-repeat:no-repeat}.dialogue-expression>*{max-width:100%;max-height:100%}

.village-residents{margin:22px 0;padding-top:18px;border-top:1px solid #c7b994}.village-residents>h3{margin:0 0 6px}.village-residents>p{margin:0 0 14px;color:#586d61}.village-resident-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.village-resident-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px;text-align:left;background:linear-gradient(140deg,#f7f0db,#eae2cc);border:1px solid #cabc98;border-radius:14px;min-height:155px;color:#23483e;transition:box-shadow .15s,border-color .15s}.village-resident-card:hover{border-color:#6c8975;box-shadow:0 4px 12px #27483720}.village-resident-card:focus-visible{outline:3px solid #426c5d;outline-offset:3px}.village-resident-card img{width:92px;height:125px;object-fit:contain;flex:none}.village-resident-label{display:flex;flex-direction:column;gap:7px}.village-resident-label strong{font-size:20px}.village-resident-label small{font-size:14px;line-height:1.5;color:#586d61}.village-resident-label>span{font-size:14px;color:#315f50}@media(max-width:600px){.village-resident-cards{grid-template-columns:1fr}.village-resident-card{min-height:132px}.village-resident-card img{height:105px;width:78px}}

.carried-materials{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;padding:7px 0}.carried-label{font-weight:700;color:#32594b}.carried-empty{color:#65796b}.carried-item{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 5px;border:1px solid #c7bd9f;border-radius:10px;background:#f6f0df;color:#25483c;white-space:nowrap}.carried-item img{width:38px;height:38px;object-fit:contain}.carried-item strong{font-variant-numeric:tabular-nums;color:#315c48}

.experience-options{display:grid;gap:10px;margin:18px 0}.experience-options button{text-align:left;padding:15px}.experience-options strong,.experience-options span{display:block}.experience-options span{font-size:13px;margin-top:5px;color:#526d61}.experience-options [aria-pressed=true]{border:2px solid #427867;background:#e4eddc}.complete-story{margin-top:15px;border-top:1px solid #daceb7;padding-top:10px}.complete-story summary{cursor:pointer;color:#426650;margin-bottom:12px}:root[data-experience=simple] button{transition:none}:root[data-experience=simple] dialog::backdrop{backdrop-filter:none}

.artwork-unavailable{margin:12px 0;padding:16px;border:1px dashed #9b8b68;border-radius:8px;background:#f2ecdd;color:#34584b;grid-column:1/-1}.artwork-unavailable p{margin:0 0 10px!important;font-size:14px}.artwork-unavailable button{font-size:14px}

/* Reserve the same dialog frame during asynchronous bag preparation. */
#modal:has(.bag-panel){height:min(720px,90vh)}

/* Classroom reading scale: primary copy 18–20px, secondary labels at least 14px. */
body{font-size:18px;line-height:1.7}
small,.eyebrow{font-size:14px}.eyebrow{letter-spacing:1px;color:#60553f}
.topbar{height:auto;min-height:76px;flex-wrap:wrap;gap:12px 24px;padding-top:12px;padding-bottom:12px}
.topbar nav{flex-wrap:wrap}.topbar nav button{font-size:16px}.topbar small{font-size:12px}.topbar #total{font-size:15px}
.muted,.chapter p,footer{font-size:16px;color:#526357}.task-links button{font-size:16px;min-height:44px}
.game-heading .eyebrow,.game-heading #save-state{font-size:14px}.game-heading button{font-size:16px;min-height:44px}
.game-heading h1{font-size:28px}.game-heading{flex-wrap:wrap}
.objective{align-items:flex-start;flex-wrap:wrap}.objective>div:first-child{flex:1 1 260px}
.objective strong{font-size:20px;line-height:1.6;max-width:none}.objective .eyebrow{font-size:14px}
.counters{font-size:15px;gap:16px}.counters b{font-size:28px}.counters #health{font-size:15px}
.world-view-controls,.world-zoom,.world-state,.grid-check{font-size:15px}
.grid-check{background:#183d35e8;padding:4px 8px;border-radius:4px}
.playback{flex-wrap:wrap}.playback button,.playback select,.playback span{font-size:16px;min-height:40px}
.playback input{min-width:80px}.world-details,.feedback{font-size:17px;line-height:1.7}
.filebar,.filebar button{font-size:14px;color:#52604e}.filebar{min-height:40px}
#editor{font-size:20px;line-height:1.65}.source-line{font-size:15px;flex-wrap:wrap;color:#294b43}
.runbar small{font-size:14px;color:#526357}.runbar #stop{font-size:16px}.runbar #run{font-size:18px;min-height:46px}
.skill-heading{font-size:17px;flex-wrap:wrap;gap:4px}.skill-heading small{font-size:14px;color:#53604e}
.skills button{font-size:16px;padding:11px 12px;min-height:48px;flex-wrap:wrap;text-align:left;overflow-wrap:anywhere}
.skills small{font-size:15px;color:#405a4d}.hint,.rules{font-size:17px;line-height:1.7}
.action-dialogue,.action-dialogue summary,.hint-framework details p,.thinking-notebook pre{font-size:17px}
#modal-body .map-note,.experience-options span{font-size:16px}.dialogue blockquote{font-size:19px;line-height:1.8}
@media(max-width:800px){.skills{grid-template-columns:1fr 1fr}.game-heading h1{font-size:24px}.objective strong{font-size:19px}.topbar nav button{font-size:15px}.opening .lead,.large{font-size:16px}.volume-heading #free-mode{font-size:15px}.chapter h3{font-size:20px}}
@media(max-width:480px){.skills{grid-template-columns:1fr}.world-state,.grid-check{font-size:14px}.world-state{left:8px;bottom:42px}.grid-check{right:8px;bottom:8px}.playback input{flex-basis:100%;order:2}.counters{white-space:normal}.volume-heading{flex-wrap:wrap;gap:12px}}

/* Account save controls: classroom-readable and separate from the scene. */
.account-sync{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px;background:#f7f1e2;color:#234c48;border-bottom:1px solid #d7caaa;font-size:16px}
.account-sync [role=status]{flex:1;min-width:220px}
.account-sync [hidden]{display:none!important}
.account-sync button,.account-sync a{font:inherit;min-height:44px;padding:8px 14px;border:1px solid #c6b78f;border-radius:8px;background:#fffbf1;color:#234c48;text-decoration:none;cursor:pointer}
.account-conflict{box-sizing:border-box;width:min(860px,94vw);max-height:88vh;overflow:auto;padding:28px;background:#fff9ec;color:#234c48;border:1px solid #b5a478;border-radius:18px;font-size:18px}
.account-conflict::backdrop{background:#122f2f99}
.account-conflict pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;padding:16px;background:#f0eadb;font-size:16px}
.account-conflict button{min-height:44px;margin:6px;padding:10px 16px;font:inherit}
.account-copy-content{display:block;box-sizing:border-box;width:100%;height:220px;max-height:35vh;padding:14px;border:1px solid #b5a478;border-radius:8px;background:#fffdf6;color:#234c48;font:16px/1.5 monospace;resize:vertical}
.account-copy-content:focus-visible{outline:3px solid #a5762c;outline-offset:3px}

.account-leave-confirm{display:flex;align-items:flex-start;gap:10px;margin:20px 6px;line-height:1.6}.account-leave-confirm input{width:20px;height:20px;flex:0 0 20px;margin-top:4px}.account-conflict button:focus-visible,.account-leave-confirm input:focus-visible{outline:3px solid #a5762c;outline-offset:3px}
/* 第一课 · 山海探知。线索生长在主线地图里，不再跳转到独立答题页。 */
.discovery-map-panel{margin-top:.85rem;padding:.72rem .8rem;border:1px solid #cdbd8e;border-radius:14px;background:linear-gradient(145deg,#f6f0dcf2,#e7efdbef);box-shadow:0 8px 18px #234d3f10}.discovery-map-panel>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.7rem;color:#174b42}.discovery-map-panel p{min-height:0;margin:.32rem 0 .55rem;color:#566456;line-height:1.45}.discovery-map-trail{position:relative;display:flex;align-items:center;justify-content:space-between;padding:.1rem .3rem}.discovery-map-trail:before{content:"";position:absolute;left:9%;right:9%;top:50%;height:1px;background:linear-gradient(90deg,#b99b5d55,#59978088,#b99b5d55)}.discovery-map-trail span{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border:1px solid #cab98c;border-radius:50%;background:#fffaf0;box-shadow:0 3px 8px #29493e16;filter:saturate(.72);opacity:.58}.discovery-map-trail span[data-state=completed]{border-color:#4d8a72;background:#e7f2e4;filter:none;opacity:1}.discovery-map-trail span[data-state=skipped]{border-style:dashed;opacity:.82}.discovery-map-trail img{width:34px;height:30px;object-fit:contain}.discovery-pet-link{width:100%;margin-top:.55rem;background:#d9ead6;color:#174b42;font-weight:700}
.discovery-hotspot{--clue-x:70%;--clue-y:64%;position:absolute;z-index:9;left:var(--clue-x);top:var(--clue-y);display:grid;place-items:center;width:clamp(82px,11vw,126px);height:clamp(68px,9vw,104px);padding:0;border:0;background:transparent;transform:translate(-50%,-50%);filter:drop-shadow(0 7px 7px #163e334f);isolation:isolate}.discovery-hotspot:before{content:"";position:absolute;z-index:-1;inset:12%;border:1px solid #fff0a9;border-radius:50%;background:radial-gradient(circle,#fff7c766 0 32%,#75c9ad2c 54%,transparent 72%);box-shadow:0 0 0 5px #fff2b012,0 0 24px #9ee5c878;animation:discovery-breathe 2.4s ease-in-out infinite}.discovery-hotspot:hover,.discovery-hotspot:focus-visible{background:transparent;filter:drop-shadow(0 9px 9px #163e335c) brightness(1.08)}.discovery-hotspot img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.discovery-hotspot span{position:absolute;left:50%;bottom:2px;min-width:max-content;padding:3px 10px;border:1px solid #e8d49d;border-radius:999px;background:#fffaf0f2;color:#234d43;font-weight:700;font-size:12px;box-shadow:0 3px 9px #21413838;transform:translateX(-50%)}.discovery-hotspot[data-state=completed]:after{content:"✓";position:absolute;right:4px;top:2px;display:grid;place-items:center;width:24px;height:24px;border:2px solid #fff8dc;border-radius:50%;background:#286956;color:#fff;font-weight:800}.discovery-hotspot[data-state=completed]:before{animation:none;background:radial-gradient(circle,#d8f3d866,transparent 70%)}
@keyframes discovery-breathe{0%,100%{transform:scale(.92);opacity:.64}50%{transform:scale(1.08);opacity:1}}
body.discovery-open{overflow:hidden}.discovery-overlay{position:fixed;z-index:170;inset:0;display:grid;place-items:center;padding:clamp(16px,3vw,38px);background:rgba(16,43,37,.58);backdrop-filter:blur(5px) saturate(.82)}.discovery-dock{position:relative;width:min(820px,calc(100vw - 40px));max-height:min(720px,calc(100dvh - 48px));overflow:auto;overscroll-behavior:contain;border:1px solid #bda96f;border-radius:20px;background:linear-gradient(135deg,#f8f0d9 0,#fffaf0 52%,#e8f0df 100%);box-shadow:inset 0 1px #fff,0 30px 100px #102d2966;padding:20px 22px 22px;animation:discovery-unroll .26s ease-out}.discovery-dock:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,transparent,#ffffff75 50%,transparent);opacity:.34}.discovery-dock-head{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;gap:13px;align-items:center}.discovery-dock-art{width:76px;height:68px;object-fit:contain;filter:drop-shadow(0 5px 5px #344d3d36)}.discovery-dock-head h2{margin:1px 0 2px;font:700 21px/1.25 "STSong","SimSun",serif;color:#194b42}.discovery-dock-lead{font-size:13px;color:#68736a}.discovery-count{padding:6px 10px;border:1px solid #ccb778;border-radius:999px;background:#fff8e8;color:#5f553b;font-weight:700;white-space:nowrap}.discovery-dock-close{min-height:40px;background:#fffaf0}.discovery-card{position:relative;margin-top:12px;padding-top:12px;border-top:1px dashed #cabb91}.discovery-card h3{margin:0 0 8px;font:700 20px/1.4 "Microsoft YaHei",sans-serif}.discovery-interaction{display:grid;gap:8px}.interaction-label{color:#687269}.discovery-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-height:52px;margin:0;padding:7px;list-style-position:inside;border:1px dashed #ad9660;border-radius:12px;background:#fffaf0}.discovery-sequence li{min-width:0;padding:7px 8px;border-radius:8px;background:#fff;color:#31534a;font-size:13px}.discovery-sequence .empty{grid-column:1/-1;color:#77766e;background:transparent}.discovery-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.discovery-options.single{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-option{min-height:44px;padding:8px 10px;text-align:left;background:#fffdf8;border:1px solid #c9b887}.discovery-option:hover,.discovery-option:focus-visible,.discovery-option.selected{border-color:#1f6958;background:#e4f0df;box-shadow:0 0 0 3px #88b9a355}.sequence-edit,.discovery-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.discovery-actions .primary{min-width:128px}.discovery-actions .quiet{margin-left:auto}.discovery-status,.discovery-hint,.discovery-explanation{margin-top:9px;padding:8px 11px;border-radius:10px;line-height:1.5;background:#f0e6ca}.discovery-status.success,.discovery-explanation{background:#dcebd9;color:#1e594c}.discovery-skip-warning{margin-top:9px;padding:9px 11px;border:1px solid #c39145;border-radius:10px;background:#fff1cf;color:#624619;line-height:1.5}.discovery-hints{margin-top:9px;padding:8px 10px;border-radius:10px;background:#edf1da;border-left:4px solid #b08c36}.discovery-hints strong{display:block;margin-bottom:3px}.discovery-hints .discovery-hint{margin:3px 0 0;padding:4px 6px;background:#fffdf6;border-radius:7px}.discovery-explanation{font-weight:600}
@keyframes discovery-unroll{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media(max-width:800px){.discovery-hotspot{width:92px;height:78px}.discovery-overlay{align-items:end;padding:0 2px 2px;background:rgba(16,43,37,.64);backdrop-filter:blur(4px)}.discovery-dock{width:100%;max-height:86dvh;border-radius:20px 20px 4px 4px;padding:15px}.discovery-dock-head{grid-template-columns:62px 1fr auto}.discovery-dock-art{width:62px;height:58px}.discovery-count{display:none}.discovery-dock-close{grid-column:3}.discovery-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-options,.discovery-options.single{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.discovery-hotspot{width:76px;height:66px}.discovery-hotspot span{font-size:11px;bottom:1px}.discovery-dock-head{grid-template-columns:52px 1fr}.discovery-dock-art{width:52px;height:50px}.discovery-dock-close{grid-column:1/-1;width:100%}.discovery-options,.discovery-options.single{grid-template-columns:1fr}.discovery-actions>*{flex:1 1 calc(50% - 7px)}.discovery-actions .quiet{margin-left:0}.discovery-card h3{font-size:17px}}
.discovery-tutor-intro{margin:.1rem 0 .8rem;color:#5b6e63}.discovery-tutor-status{min-height:1.5em;color:#5d6d62}.discovery-tutor-thread{display:grid;gap:.75rem}.discovery-tutor-turn{padding:.8rem;border-radius:12px;background:#fffaf0}.discovery-tutor-question{margin:0 0 .4rem;color:#6b756b}.discovery-tutor-answer{margin:0;white-space:pre-wrap}.discovery-tutor-form{margin-top:1rem;border-top:1px solid #ddd2b9;padding-top:1rem}.discovery-tutor-form label{display:block}.discovery-tutor-form textarea{display:block;width:100%;box-sizing:border-box;margin:.45rem 0;padding:.7rem;border:1px solid #bcb698;border-radius:8px;background:#fffdf6;font:17px/1.55 "Microsoft YaHei",sans-serif;resize:vertical}.discovery-tutor-quick{display:flex;flex-wrap:wrap;gap:.45rem;margin:.5rem 0}.discovery-tutor-quick button{font-size:14px}.tutor-window{position:fixed;z-index:220;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;border:1px solid #ac9869;border-radius:14px;background:#fbf7eb;box-shadow:0 16px 60px #193b3a45,0 2px 8px #193b3a20;color:#183f38;font:18px/1.7 "Microsoft YaHei",sans-serif}.tutor-window[hidden]{display:none}.tutor-window-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#e9ecdf;border-bottom:1px solid #cbbd9b;flex:none;cursor:move;touch-action:none;user-select:none}.tutor-window-bar strong{flex:1;min-width:0;font:600 21px/1.4 SimSun,serif}.tutor-window-bar button{font-size:14px;min-height:36px;padding:6px 10px;background:#fffaf0}.tutor-window-bar .tutor-window-close{width:38px;font-size:26px;line-height:1;padding:4px}.tutor-window-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 22px;scrollbar-gutter:stable}.tutor-window-footer{position:relative;flex:none;min-height:30px;padding:3px 38px 3px 16px;box-sizing:border-box;border-top:1px solid #e2d9c3;color:#7b806f;font-size:12px}.tutor-window .tutor-window-grip{position:absolute;right:0;bottom:0;width:32px;height:30px;min-height:30px;padding:0;border:0;border-radius:0;background:transparent;color:#66795c;font-size:23px;cursor:nwse-resize;touch-action:none}.tutor-window button:focus-visible,.tutor-window-bar:focus-visible{outline:2px solid #b78029;outline-offset:2px}
@media(max-width:650px){.tutor-window-bar{padding:9px;gap:5px}.tutor-window-bar strong{font-size:18px}.tutor-window-bar button{font-size:12px;padding:5px 6px}.tutor-window-content{padding:11px}.discovery-tutor-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.discovery-hotspot:before,.discovery-dock{animation:none!important;transition:none!important}}
.discovery-scene{position:absolute;inset:0;z-index:16;pointer-events:none}.discovery-prop{position:absolute;display:grid;place-items:center;width:var(--prop-box,54px);height:var(--prop-box,54px);padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;filter:drop-shadow(0 1px 2px #193a3266);transition:filter .16s,transform .16s}.discovery-prop img{display:block;width:var(--prop-art,48px);height:var(--prop-art,48px);object-fit:contain;pointer-events:none;filter:saturate(.82) brightness(.96)}.discovery-prop:hover{background:transparent;filter:drop-shadow(0 2px 4px #244b3a88) brightness(1.08);transform:translate(-50%,-51%)}.discovery-prop:focus-visible{outline:3px solid #fff1aa;outline-offset:2px;background:#193b3155;filter:drop-shadow(0 3px 5px #244b3a99)}.discovery-observation{position:absolute;z-index:16;left:50%;bottom:50px;width:min(520px,calc(100% - 26px));padding:14px 17px;border:1px solid #e1c78e;border-radius:15px;background:#fffaf0f5;color:#1d403a;box-shadow:0 12px 32px #173d3377;transform:translateX(-50%);backdrop-filter:blur(5px)}.discovery-observation p{font-size:15px;line-height:1.6}.discovery-observation>div{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}.discovery-observation button{padding:5px 12px;font-size:13px}.discovery-observation-continue{background:#27594f;color:#fff8e8}.discovery-observation-continue:hover{background:#1e4a42}.discovery-observation[hidden],.discovery-scene[hidden]{display:none!important}@media(max-width:600px){.discovery-prop{width:50px;height:50px}.discovery-prop img{max-width:50px;max-height:50px}.discovery-observation{bottom:37px;padding:11px 13px}.discovery-observation p{font-size:13px}}@media(prefers-reduced-motion:reduce){.discovery-prop{transition:none!important}}
.discovery-prop{isolation:isolate}.discovery-prop:before{content:"";position:absolute;z-index:-1;inset:24%;border-radius:50%;background:radial-gradient(ellipse,#1b352b4c,transparent 72%);filter:blur(3px);pointer-events:none}
.discovery-prop img{filter:none}
.discovery-observation>.discovery-observation-main{display:flex;align-items:center;justify-content:flex-start;gap:13px;margin:0}
.discovery-observation-main img{display:block;flex:0 0 78px;width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 3px 4px #28483a33)}
.discovery-observation-main p{min-width:0;margin:0}
.discovery-observation>.discovery-observation-actions{display:flex;justify-content:flex-end;margin-top:7px}
@media(max-width:600px){.discovery-observation-main img{flex-basis:58px;width:58px;height:58px}.discovery-observation>.discovery-observation-main{gap:9px}}

/* Optional object reactions stay compact and leave the playable scene visible. */
.discovery-observation[data-surprise]:not([data-surprise=""]){z-index:19;width:min(360px,calc(100% - 16px));max-height:calc(100% - 16px);box-sizing:border-box;padding:12px 14px;border-radius:14px;overflow:auto}
.discovery-observation[data-clue="true"]{z-index:19;width:min(360px,calc(100% - 16px));max-height:calc(100% - 16px);box-sizing:border-box;padding:12px 14px;border-radius:14px;overflow:auto}
.discovery-observation[data-surprise]:not([data-surprise=""])>.discovery-observation-main{align-items:center;gap:11px}
.discovery-observation-artwork{position:relative;flex:0 0 78px;width:78px;height:78px}
.discovery-observation-artwork #discovery-observation-art{width:100%;height:100%;object-fit:contain}
.discovery-observation-artwork #discovery-surprise-crab{position:absolute;right:-10px;bottom:-8px;width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 2px 3px #27463a55)}
.discovery-observation-artwork #discovery-surprise-crab[hidden]{display:none!important}
.discovery-observation-artwork #discovery-surprise-mark{position:absolute;right:-9px;bottom:-7px;min-width:34px;max-width:72px;padding:3px 6px;border-radius:14px;background:#e6f3e5;color:#1c5a48;border:1px solid #93c5a9;box-shadow:0 2px 5px #254a3d35;font-size:11px;font-weight:700;line-height:1.2;text-align:center;white-space:nowrap;pointer-events:none}
.discovery-observation-artwork #discovery-surprise-mark[hidden]{display:none!important}
.discovery-observation[data-visual="sound"] #discovery-surprise-mark{background:#edf1fc;border-color:#aab8dc;color:#354b81}
.discovery-observation[data-visual="shadow"] #discovery-surprise-mark{background:#e6e5ed;border-color:#acaaba;color:#484462}
.discovery-observation[data-visual="trail"] #discovery-surprise-mark{background:#e0f3ec;border-color:#95cbb9;color:#246049}
.discovery-observation[data-visual="spark"] #discovery-surprise-mark{background:#fff3cf;border-color:#e4c473;color:#765318}
.discovery-observation[data-visual="mist"] #discovery-surprise-mark{background:#e8f2f3;border-color:#a7c9cd;color:#356269}
.discovery-observation[data-visual="stamp"] #discovery-surprise-mark{background:#f6e9da;border-color:#d1aa83;color:#765030}
.discovery-observation[data-phase="reply"].surprise-animate #discovery-surprise-mark{animation:surprise-mark-pop 430ms cubic-bezier(.2,1.7,.45,1) both}
@keyframes surprise-mark-pop{from{opacity:0;transform:scale(.45) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.discovery-observation-copy{min-width:0;flex:1}
.discovery-observation[data-surprise="shell"][data-phase="reply"] .discovery-observation-copy{padding-left:8px}
.discovery-observation-copy strong{display:block;margin-bottom:2px;color:#295447;font-size:13px;letter-spacing:.03em}
.discovery-observation-copy strong[hidden]{display:none}
.discovery-observation[data-surprise] .discovery-observation-copy p{margin:0;font-size:14px;line-height:1.55}
.discovery-observation[data-clue="true"] .discovery-observation-copy p{margin:0;font-size:14px;line-height:1.55}
.discovery-observation[data-surprise]>.discovery-observation-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px}
.discovery-observation[data-surprise] .discovery-observation-actions button{min-height:34px;padding:6px 11px;font-size:13px}
#discovery-surprise-interact{background:#2a5b50;color:#fffaf0;border-color:#2a5b50}
#discovery-surprise-interact:hover{background:#1e493f}
.discovery-surprise-drop,.discovery-surprise-ripple{position:absolute;display:block;pointer-events:none;opacity:0}
.discovery-surprise-drop{top:31px;left:51px;width:9px;height:12px;border-radius:70% 70% 70% 15%;background:radial-gradient(circle at 33% 28%,#fff,#76dedb 52%,#328e97);transform:rotate(-43deg);box-shadow:0 1px 3px #173f4980}
.discovery-surprise-ripple{bottom:1px;left:47px;width:16px;height:5px;border:1px solid #5bb8b4;border-radius:50%}
.discovery-observation[data-surprise="leaf"].surprise-animate #discovery-observation-art{animation:surprise-leaf-nod 780ms ease-out both}
.discovery-observation[data-surprise="leaf"].surprise-animate .discovery-surprise-drop{animation:surprise-drop 850ms ease-in both}
.discovery-observation[data-surprise="leaf"].surprise-animate .discovery-surprise-ripple{animation:surprise-ripple 850ms ease-out both}
.discovery-observation[data-surprise="shell"].surprise-animate #discovery-observation-art{animation:surprise-shell-song 850ms ease-in-out both}
.discovery-observation[data-surprise="shell"][data-phase="reply"].surprise-animate #discovery-surprise-crab{animation:surprise-crab-peek 650ms ease-out both}
@keyframes surprise-leaf-nod{0%,100%{transform:rotate(0)}35%{transform:rotate(-9deg)}72%{transform:rotate(4deg)}}
@keyframes surprise-drop{0%,22%{opacity:0;transform:translate(0,0) rotate(-43deg)}32%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(12px,35px) rotate(-43deg)}}
@keyframes surprise-ripple{0%,76%{opacity:0;transform:scale(.35)}85%{opacity:.75}100%{opacity:0;transform:scale(1.8)}}
@keyframes surprise-shell-song{0%,100%{transform:rotate(0) scale(1)}16%,48%,80%{transform:rotate(-4deg) scale(1.035)}28%,61%,91%{transform:rotate(4deg) scale(1)}}
@keyframes surprise-crab-peek{0%{opacity:0;transform:translate(7px,7px) scale(.65)}65%{opacity:1;transform:translate(-1px,-2px) scale(1.04)}100%{opacity:1;transform:none}}
@media(max-width:600px){
 .discovery-observation[data-surprise]:not([data-surprise=""]){width:min(350px,calc(100% - 16px));padding:10px 11px}
 .discovery-observation[data-clue="true"]{width:min(350px,calc(100% - 16px));padding:10px 11px}
 .discovery-observation[data-surprise] .discovery-observation-artwork{flex-basis:62px;width:62px;height:62px}
 .discovery-observation[data-surprise] .discovery-observation-copy p{font-size:13px}
}

@media(prefers-reduced-motion:reduce){
 .discovery-observation[data-surprise] .discovery-observation-artwork>*{animation:none!important}
 .discovery-surprise-drop,.discovery-surprise-ripple{display:none}
}

/* 主线全关卡单屏工作台：把观察、编写、帮助和运行收进同一屏。 */
.tutor-fallback{display:none}
@media(min-width:1000px){
html.nw01a-focus,html.nw01a-focus body{height:100%;overflow:hidden}
.nw01a-focus body{font-size:16px;background:#f2eee3}
.nw01a-focus .account-sync{position:absolute;z-index:80;top:8px;right:2vw;width:auto;min-height:40px;padding:0;border:0;background:transparent;gap:6px;flex-wrap:nowrap;font-size:14px}
.nw01a-focus .account-sync>[role=status],.nw01a-focus .account-sync .account-history{display:none!important}
.nw01a-focus .account-sync button,.nw01a-focus .account-sync a{min-height:40px;padding:6px 13px;background:#fffaf0e8}
.nw01a-focus .topbar{height:58px;min-height:58px;padding:5px calc(2vw + 118px) 5px 2vw;gap:18px;flex-wrap:nowrap;background:#faf7f0f2}
.nw01a-focus .topbar a{gap:8px;font-size:18px}
.nw01a-focus .seal{width:34px;height:38px;border-radius:11px 11px 7px 7px;font-size:20px}
.nw01a-focus .topbar nav{margin-left:auto;gap:2px;flex-wrap:nowrap}
.nw01a-focus .topbar nav button{padding:6px 9px;font-size:14px}
.nw01a-focus #map-button,.nw01a-focus #sound-settings,.nw01a-focus #experience-button,.nw01a-focus #total,.nw01a-focus .public-share-button{display:none!important}
.nw01a-focus #game-view{display:grid;height:calc(100dvh - 58px);grid-template-rows:54px minmax(0,1fr);min-height:0}
.nw01a-focus .game-heading{height:54px;margin:0;padding:5px 2vw;gap:12px;flex-wrap:nowrap;border-bottom:1px solid #d8ccb5;background:#f7f2e8}
.nw01a-focus .game-heading>div{display:flex;align-items:baseline;gap:12px;min-width:0}
.nw01a-focus .game-heading .eyebrow{font-size:12px;white-space:nowrap}
.nw01a-focus .game-heading h1{font-size:22px;white-space:nowrap}
.nw01a-focus .game-heading button{min-height:38px;padding:5px 11px;font-size:14px}
.nw01a-focus .game-heading #mission{margin-left:auto}
.nw01a-focus #thinking-button,.nw01a-focus #revision-button,.nw01a-focus .game-heading #save-state{display:none!important}
.nw01a-focus .game-layout{display:grid;height:100%;min-height:0;margin:0;padding:0 2vw 10px;grid-template-columns:minmax(0,1.68fr) minmax(420px,1fr);gap:14px}
.nw01a-focus .world-panel,.nw01a-focus .code-panel{height:100%;min-height:0;border-radius:0 0 12px 12px;box-shadow:0 8px 24px #243a2b14}
.nw01a-focus .world-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:50px minmax(0,1fr) 44px 54px}
.nw01a-focus .objective{grid-column:1/-1;grid-row:1;height:50px;padding:6px 13px;gap:12px;align-items:center;flex-wrap:nowrap;background:linear-gradient(90deg,#e5e9d9,#eef0e5)}
.nw01a-focus .objective>div:first-child{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.nw01a-focus .objective>div:first-child:before{content:"任务";flex:none;padding:2px 8px;border-radius:999px;background:#2d6258;color:#fffaf0;font-size:12px;font-weight:700}
.nw01a-focus .objective .eyebrow{display:none}
.nw01a-focus .objective strong{max-width:none;font-size:18px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw01a-focus .counters{gap:12px;font-size:12px}
.nw01a-focus .counters span{display:flex;align-items:baseline;gap:4px}
.nw01a-focus .counters b{display:inline;font-size:21px}
.nw01a-focus .counters #health{display:none}
.nw01a-focus .world-view-controls{position:absolute;z-index:12;top:58px;right:9px;padding:0;border:0;background:transparent}
.nw01a-focus .world-view-controls>span{display:none}
.nw01a-focus .world-view-controls .world-zoom{min-height:34px;padding:5px 9px;font-size:13px;box-shadow:0 3px 10px #153c3430}
.nw01a-focus .world-wrap{grid-column:1/-1;grid-row:2;min-height:0}
.nw01a-focus .world-wrap #world{width:100%;height:100%;object-fit:cover;object-position:center}
.nw01a-focus .playback{grid-column:1/-1;grid-row:3;height:44px;padding:5px 10px;gap:6px;background:#faf6ec}
.nw01a-focus .playback button,.nw01a-focus .playback select,.nw01a-focus .playback span{min-height:32px;padding:3px 7px;font-size:13px}
.nw01a-focus .playback input{min-width:60px}
.nw01a-focus .world-details{display:none!important}
.nw01a-focus #action-dialogue:not([hidden]){position:absolute;z-index:18;left:12px;right:12px;bottom:102px;max-height:min(220px,34%);margin:0;padding:11px 13px;overflow:auto;border:1px solid #c9b783;border-left:4px solid #b89a58;border-radius:9px;box-shadow:0 12px 30px #173c3530;background:#fffaf0f2;backdrop-filter:blur(5px)}
.nw01a-focus .feedback{grid-column:1;grid-row:4;min-width:0;min-height:0;height:54px;padding:7px 12px;border-top:1px solid #d9ceb9;background:#f5efe2;font-size:14px;line-height:1.35;overflow:hidden}
.nw01a-focus .feedback strong{display:inline;margin:0 6px 0 0}
.nw01a-focus .pet-tutor.tutor-launcher{grid-column:2;grid-row:4;display:block;width:auto;height:54px;min-width:390px;padding:7px 9px;border-radius:0;border-left:1px solid #d9ceb9;overflow:visible;background:#e7ecdf}
.nw01a-focus .tutor-launcher .tutor-title,.nw01a-focus .tutor-launcher .tutor-name{display:none}
.nw01a-focus .tutor-launcher .tutor-body{position:relative;display:flex;align-items:center;gap:7px}
.nw01a-focus .tutor-launcher .tutor-body:before{content:"AI 助教";flex:none;padding:3px 7px;border-radius:999px;background:#245f54;color:#fffaf0;font-size:12px;font-weight:700;letter-spacing:.5px}
.nw01a-focus .tutor-launcher .tutor-actions{display:flex;margin:0;gap:5px;flex-wrap:nowrap}
.nw01a-focus .tutor-launcher .tutor-actions button{min-height:38px;padding:5px 9px;font-size:14px;font-weight:600;white-space:nowrap;background:#fffaf0}
.nw01a-focus .tutor-launcher .tutor-basic{position:absolute;z-index:24;right:0;bottom:47px;width:min(360px,48vw);margin:0;padding:11px 13px;border:1px solid #c7b58b;border-radius:10px;background:#fffaf0f7;box-shadow:0 12px 30px #173c3538;font-size:14px;line-height:1.55}
.nw01a-focus .tutor-launcher .tutor-basic:after{content:"";position:absolute;right:34px;bottom:-7px;width:12px;height:12px;border-right:1px solid #c7b58b;border-bottom:1px solid #c7b58b;background:#fffaf0;transform:rotate(45deg)}
.nw01a-focus .tutor-fallback{position:relative;grid-column:2;grid-row:4;display:flex;width:auto;height:54px;min-width:390px;padding:7px 9px;align-items:center;gap:7px;border-left:1px solid #d9ceb9;background:#e7ecdf}
.nw01a-focus .world-panel:has(.pet-tutor) .tutor-fallback{display:none!important}
.nw01a-focus .tutor-fallback>strong{flex:none;padding:3px 7px;border-radius:999px;background:#245f54;color:#fffaf0;font-size:12px;letter-spacing:.5px}
.nw01a-focus .tutor-fallback>div{display:flex;gap:5px}
.nw01a-focus .tutor-fallback button{min-height:38px;padding:5px 9px;font-size:14px;font-weight:600;white-space:nowrap;background:#fffaf0}
.nw01a-focus .tutor-fallback>p{position:absolute;z-index:24;right:0;bottom:47px;width:min(380px,48vw);margin:0;padding:11px 13px;border:1px solid #c7b58b;border-radius:10px;background:#fffaf0f7;box-shadow:0 12px 30px #173c3538;font-size:14px;line-height:1.55}
.nw01a-focus .tutor-fallback>p a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.nw01a-focus .code-panel{position:relative;display:grid;grid-template-rows:42px 32px minmax(150px,1fr) 36px 48px 30px auto 40px;overflow:hidden}
.nw01a-focus .tabs{min-height:42px;padding:4px 10px}
.nw01a-focus .tabs button{padding:5px 12px}
.nw01a-focus .filebar{min-height:32px;padding:3px 11px;font-size:12px}
.nw01a-focus .filebar button{font-size:12px}
.nw01a-focus #editor{width:100%;height:100%!important;min-height:0;font-size:17px;line-height:1.5}
.nw01a-focus .source-line{min-height:36px;padding:5px 10px;align-items:center;flex-wrap:nowrap;font-size:13px}
.nw01a-focus .source-line strong{white-space:nowrap}
.nw01a-focus .runbar{min-height:48px;padding:5px 10px;gap:7px}
.nw01a-focus .runbar small{font-size:12px}
.nw01a-focus .runbar #stop{font-size:13px;padding:5px 8px}
.nw01a-focus .runbar #run{min-height:38px;padding:6px 14px;font-size:16px}
.nw01a-focus .skill-heading{min-height:30px;padding:4px 10px;font-size:14px}
.nw01a-focus .skill-heading small{display:none}
.nw01a-focus .skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px 10px 8px}
.nw01a-focus .skills button{min-height:52px;padding:8px 13px;align-items:center;justify-content:space-between;flex-direction:row;gap:12px;font-size:19px;line-height:1.2;flex-wrap:nowrap;text-align:left}
.nw01a-focus .skills button>span{white-space:nowrap;font-size:19px;font-weight:700}
.nw01a-focus .skills small{font-size:16px;white-space:nowrap}
.nw01a-focus .hint{display:none!important}
.nw01a-focus .rules{min-height:40px;padding:7px 11px;font-size:14px;background:#fbf7ed}
.nw01a-focus .rules summary{cursor:pointer}
.nw01a-focus .code-panel:has(.rules[open]) .rules{position:absolute;z-index:20;left:10px;right:10px;bottom:10px;max-height:48%;overflow:auto;border:1px solid #cbbb94;border-radius:10px;box-shadow:0 12px 32px #173c3538;background:#fffaf0}
}

@media(min-width:1000px) and (max-height:740px){
.nw01a-focus .topbar{height:52px;min-height:52px}
.nw01a-focus #game-view{height:calc(100dvh - 52px);grid-template-rows:48px minmax(0,1fr)}
.nw01a-focus .game-heading{height:48px}
.nw01a-focus .game-heading h1{font-size:19px}
.nw01a-focus .world-panel{grid-template-rows:46px minmax(0,1fr) 40px 50px}
.nw01a-focus .objective{height:46px}
.nw01a-focus .playback{height:40px}
.nw01a-focus .feedback,.nw01a-focus .pet-tutor.tutor-launcher{height:50px}
.nw01a-focus .code-panel{grid-template-rows:38px 29px minmax(120px,1fr) 32px 43px 27px auto 36px}
.nw01a-focus .skills button{min-height:46px}
.nw01a-focus .rules{min-height:36px;padding:5px 10px}
}

@media(min-width:1000px) and (max-width:1500px){
.nw01a-focus .skills{grid-template-columns:repeat(2,minmax(0,1fr))}
.nw01a-focus .skills button{gap:8px;padding-inline:10px}
.nw01a-focus .skills button>span{white-space:nowrap;font-size:17px}
.nw01a-focus .skills small{font-size:15px}
}

@media(min-width:1000px) and (max-width:1200px){
.nw01a-focus .skills button{gap:4px;padding-inline:6px}
.nw01a-focus .skills button>span{font-size:15px}
.nw01a-focus .skills small{font-size:13px}
.nw01a-focus .pet-tutor.tutor-launcher{min-width:286px}
.nw01a-focus .tutor-launcher .tutor-body:before{display:none}
.nw01a-focus .tutor-launcher .tutor-actions button{padding-inline:7px;font-size:13px}
.nw01a-focus .tutor-fallback{min-width:286px}
.nw01a-focus .tutor-fallback>strong{display:none}
.nw01a-focus .tutor-fallback button{padding-inline:7px;font-size:13px}
}

/* In a narrow scene the three objects occupy the whole upper scenery.
   Put the detail beneath the unscaled map rather than covering them. */
@media(max-width:1400px){
 .world-wrap:has(>.discovery-observation[data-surprise]:not([data-surprise=""]):not([hidden])),
 .world-wrap:has(>.discovery-observation[data-clue="true"]:not([hidden])){overflow:visible;margin-bottom:var(--discovery-card-space,150px)}
 .discovery-observation[data-surprise]:not([data-surprise=""]),
 .discovery-observation[data-clue="true"]{top:calc(100% + 8px)!important;left:8px!important;bottom:auto!important;transform:none!important}
}
@media(min-width:601px) and (max-width:1400px){
 .discovery-observation[data-surprise]:not([data-surprise=""]),
 .discovery-observation[data-clue="true"]{left:50%!important;width:min(500px,calc(100% - 20px));transform:translateX(-50%)!important}
}

/* Optional illustrated curiosity puzzles in the observation card. */
.discovery-observation[data-curiosity="true"]{z-index:19;width:min(430px,calc(100% - 16px));max-height:calc(100% - 16px);overflow:auto;padding:12px 14px}
.discovery-observation[data-curiosity="true"] .discovery-observation-main{align-items:center;gap:10px}
.discovery-observation[data-curiosity="true"] .discovery-observation-artwork{flex-basis:58px;width:58px;height:58px}
.discovery-observation[data-curiosity="true"] .discovery-observation-copy strong{font-size:13px;color:#315f59}
.discovery-observation[data-curiosity="true"] .discovery-observation-copy p{font-size:16px;line-height:1.5;font-weight:600}
.discovery-observation>.curiosity-challenge{display:block;min-width:0;margin:10px 0 0;justify-content:initial;gap:0}
.curiosity-stage{height:104px;overflow:hidden;border:1px solid #d4c9ad;border-radius:11px;background:linear-gradient(160deg,#f6f0de,#e6f1e9 65%,#d9eeee);box-shadow:inset 0 1px 4px #315f5918}
.curiosity-stage svg{display:block;width:100%;height:100%}
.curiosity-stage[data-mode="riddle"],.curiosity-stage[data-mode="spot"]{position:relative;height:158px}
.curiosity-stage[data-mode="riddle"] svg,.curiosity-stage[data-mode="spot"] svg{height:103px}
.curiosity-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.curiosity-options button{flex:1 1 27%;min-width:90px;min-height:40px;padding:7px 9px;border:1px solid #c7b995;border-radius:9px;background:#fffdfa;color:#264a42;font-size:14px;font-weight:600;line-height:1.3}
.curiosity-options button:hover,.curiosity-options button:focus-visible{background:#e7f0e5;border-color:#6f9b82}
.curiosity-options button[aria-pressed="true"]{background:#d9eade;border-color:#368373}
.curiosity-sequence-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
.curiosity-sequence-actions[hidden]{display:none}
.curiosity-sequence-actions button{min-height:38px;padding:6px 12px;border:1px solid #bda980;border-radius:8px;background:#fffaf0;color:#264a42;font-size:14px;font-weight:600}
.curiosity-sequence-actions button:last-child{background:#315f59;color:#fff}
.curiosity-sequence-actions button:disabled{opacity:.55;cursor:default}
.curiosity-options button:disabled{cursor:default;opacity:.7}
.curiosity-options[data-mode="spot"] button{min-height:48px}
.curiosity-stage .curiosity-options[data-mode="riddle"],.curiosity-stage .curiosity-options[data-mode="spot"]{position:absolute;left:7px;right:7px;bottom:6px;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.curiosity-stage .curiosity-options[data-mode="riddle"] button,.curiosity-stage .curiosity-options[data-mode="spot"] button{min-width:0;min-height:42px;padding:4px 5px;background:#fffdf9e8}
.curiosity-stage .curiosity-options[data-mode="riddle"] button{display:flex;align-items:center;justify-content:center;gap:7px}
@media(max-width:380px){.curiosity-stage[data-mode="riddle"],.curiosity-stage[data-mode="spot"]{height:190px}.curiosity-stage[data-mode="riddle"] svg,.curiosity-stage[data-mode="spot"] svg{height:96px}}
@media(max-width:380px){
 #curiosity-challenge[data-question^="hourglass-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="hourglass-"] .curiosity-stage[data-mode="spot"],#curiosity-challenge[data-question^="crane-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="crane-"] .curiosity-stage[data-mode="spot"]{height:160px}
 #curiosity-challenge[data-question^="hourglass-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="hourglass-"] .curiosity-stage[data-mode="spot"] svg,#curiosity-challenge[data-question^="crane-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="crane-"] .curiosity-stage[data-mode="spot"] svg{height:100px}
 #curiosity-challenge[data-question^="puppet-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="puppet-"] .curiosity-stage[data-mode="spot"],#curiosity-challenge[data-question^="seal-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="seal-"] .curiosity-stage[data-mode="spot"]{height:160px}
 #curiosity-challenge[data-question^="puppet-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="puppet-"] .curiosity-stage[data-mode="spot"] svg,#curiosity-challenge[data-question^="seal-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="seal-"] .curiosity-stage[data-mode="spot"] svg{height:100px}
 #curiosity-challenge[data-question^="wick-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="wick-"] .curiosity-stage[data-mode="spot"],#curiosity-challenge[data-question^="moon-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="moon-"] .curiosity-stage[data-mode="spot"]{height:160px}
 #curiosity-challenge[data-question^="wick-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="wick-"] .curiosity-stage[data-mode="spot"] svg,#curiosity-challenge[data-question^="moon-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="moon-"] .curiosity-stage[data-mode="spot"] svg{height:100px}
 #curiosity-challenge[data-question^="chime-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="chime-"] .curiosity-stage[data-mode="spot"],#curiosity-challenge[data-question^="window-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="window-"] .curiosity-stage[data-mode="spot"]{height:160px}
 #curiosity-challenge[data-question^="chime-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="chime-"] .curiosity-stage[data-mode="spot"] svg,#curiosity-challenge[data-question^="window-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="window-"] .curiosity-stage[data-mode="spot"] svg{height:100px}
 #curiosity-challenge[data-question^="beast-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="beast-"] .curiosity-stage[data-mode="spot"],#curiosity-challenge[data-question^="yarn-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="yarn-"] .curiosity-stage[data-mode="spot"]{height:160px}
 #curiosity-challenge[data-question^="beast-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="beast-"] .curiosity-stage[data-mode="spot"] svg,#curiosity-challenge[data-question^="yarn-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="yarn-"] .curiosity-stage[data-mode="spot"] svg{height:100px}
 #curiosity-challenge[data-question^="beast-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="yarn-"] .curiosity-stage[data-mode="riddle"]{height:auto;padding-bottom:7px}
 #curiosity-challenge[data-question^="beast-"] .curiosity-stage .curiosity-options[data-mode="riddle"],#curiosity-challenge[data-question^="yarn-"] .curiosity-stage .curiosity-options[data-mode="riddle"]{position:static;margin:6px 7px 0;grid-template-columns:1fr;gap:5px}
 #curiosity-challenge[data-question^="beast-"] .curiosity-stage .curiosity-options[data-mode="riddle"] button,#curiosity-challenge[data-question^="yarn-"] .curiosity-stage .curiosity-options[data-mode="riddle"] button{min-height:35px}
 #curiosity-challenge[data-question^="stamp-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="bookmark-"] .curiosity-stage[data-mode="riddle"]{height:auto;padding-bottom:7px}
 #curiosity-challenge[data-question^="stamp-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="bookmark-"] .curiosity-stage[data-mode="riddle"] svg{height:100px}
 #curiosity-challenge[data-question^="stamp-"] .curiosity-stage .curiosity-options[data-mode="riddle"],#curiosity-challenge[data-question^="bookmark-"] .curiosity-stage .curiosity-options[data-mode="riddle"]{position:static;margin:6px 7px 0;grid-template-columns:1fr;gap:5px}
 #curiosity-challenge[data-question^="stamp-"] .curiosity-stage .curiosity-options[data-mode="riddle"] button,#curiosity-challenge[data-question^="bookmark-"] .curiosity-stage .curiosity-options[data-mode="riddle"] button{min-height:35px}
 #curiosity-challenge[data-question^="turtle-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="wheel-"] .curiosity-stage[data-mode="riddle"]{height:auto;padding-bottom:7px}
 #curiosity-challenge[data-question^="turtle-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="wheel-"] .curiosity-stage[data-mode="riddle"] svg{height:100px}
 #curiosity-challenge[data-question^="turtle-"] .curiosity-stage .curiosity-options[data-mode="riddle"],#curiosity-challenge[data-question^="wheel-"] .curiosity-stage .curiosity-options[data-mode="riddle"]{position:static;margin:6px 7px 0;grid-template-columns:1fr;gap:5px}
 #curiosity-challenge[data-question^="turtle-"] .curiosity-stage .curiosity-options[data-mode="riddle"] button,#curiosity-challenge[data-question^="wheel-"] .curiosity-stage .curiosity-options[data-mode="riddle"] button{min-height:35px}
 #curiosity-challenge[data-question^="blocks-"] .curiosity-options:not([data-mode="spot"]),#curiosity-challenge[data-question^="ladder-"] .curiosity-options:not([data-mode="spot"]){display:flex;flex-direction:column;gap:5px}
 #curiosity-challenge[data-question^="blocks-"] .curiosity-options:not([data-mode="spot"]) button,#curiosity-challenge[data-question^="ladder-"] .curiosity-options:not([data-mode="spot"]) button{flex:none;width:100%;min-height:35px}
 #curiosity-challenge[data-question^="blocks-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="ladder-"] .curiosity-stage[data-mode="riddle"]{height:auto;padding-bottom:7px}
 #curiosity-challenge[data-question^="blocks-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="ladder-"] .curiosity-stage[data-mode="riddle"] svg{height:100px}
 #curiosity-challenge[data-question^="blocks-"] .curiosity-stage .curiosity-options[data-mode="riddle"],#curiosity-challenge[data-question^="ladder-"] .curiosity-stage .curiosity-options[data-mode="riddle"]{position:static;margin:6px 7px 0}
 #curiosity-challenge[data-question^="reed-"] .curiosity-options:not([data-mode="spot"]),#curiosity-challenge[data-question^="key-"] .curiosity-options:not([data-mode="spot"]){display:flex;flex-direction:column;gap:5px}
 #curiosity-challenge[data-question^="reed-"] .curiosity-options:not([data-mode="spot"]) button,#curiosity-challenge[data-question^="key-"] .curiosity-options:not([data-mode="spot"]) button{flex:none;width:100%;min-height:35px}
 #curiosity-challenge[data-question^="reed-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="key-"] .curiosity-stage[data-mode="riddle"]{height:auto;padding-bottom:7px}
 #curiosity-challenge[data-question^="reed-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="key-"] .curiosity-stage[data-mode="riddle"] svg{height:100px}
 #curiosity-challenge[data-question^="reed-"] .curiosity-stage .curiosity-options[data-mode="riddle"],#curiosity-challenge[data-question^="key-"] .curiosity-stage .curiosity-options[data-mode="riddle"]{position:static;margin:6px 7px 0}
 #curiosity-challenge[data-question^="keyring-"] .curiosity-stage[data-mode="riddle"]{height:auto;padding-bottom:7px}
 #curiosity-challenge[data-question^="keyring-"] .curiosity-stage[data-mode="riddle"] svg{height:100px}
 #curiosity-challenge[data-question^="keyring-"] .curiosity-stage .curiosity-options[data-mode="riddle"]{position:static;display:flex;flex-direction:column;gap:5px;margin:6px 7px 0}
 #curiosity-challenge[data-question^="keyring-"] .curiosity-stage .curiosity-options[data-mode="riddle"] button{flex:none;width:100%;min-height:35px}
 #curiosity-challenge[data-question^="reed-"] .curiosity-stage[data-mode="spot"],#curiosity-challenge[data-question^="key-"] .curiosity-stage[data-mode="spot"]{height:160px}
 #curiosity-challenge[data-question^="reed-"] .curiosity-stage[data-mode="spot"] svg,#curiosity-challenge[data-question^="key-"] .curiosity-stage[data-mode="spot"] svg{height:100px}
 #curiosity-challenge[data-question^="star-"] .curiosity-options:not([data-mode="spot"]),#curiosity-challenge[data-question^="lens-"] .curiosity-options:not([data-mode="spot"]){display:flex;flex-direction:column;gap:5px}
 #curiosity-challenge[data-question^="star-"] .curiosity-options:not([data-mode="spot"]) button,#curiosity-challenge[data-question^="lens-"] .curiosity-options:not([data-mode="spot"]) button{flex:none;width:100%;min-height:35px}
 #curiosity-challenge[data-question^="star-"] .curiosity-stage[data-mode="riddle"],#curiosity-challenge[data-question^="lens-"] .curiosity-stage[data-mode="riddle"]{height:auto;padding-bottom:7px}
 #curiosity-challenge[data-question^="star-"] .curiosity-stage[data-mode="riddle"] svg,#curiosity-challenge[data-question^="lens-"] .curiosity-stage[data-mode="riddle"] svg{height:100px}
 #curiosity-challenge[data-question^="star-"] .curiosity-stage .curiosity-options[data-mode="riddle"],#curiosity-challenge[data-question^="lens-"] .curiosity-stage .curiosity-options[data-mode="riddle"]{position:static;margin:6px 7px 0}
 #curiosity-challenge[data-question^="star-"] .curiosity-stage[data-mode="spot"],#curiosity-challenge[data-question^="lens-"] .curiosity-stage[data-mode="spot"]{height:160px}
 #curiosity-challenge[data-question^="star-"] .curiosity-stage[data-mode="spot"] svg,#curiosity-challenge[data-question^="lens-"] .curiosity-stage[data-mode="spot"] svg{height:100px}
}
.curiosity-object-icon{display:block;flex:none;width:19px;height:19px;border:2px solid #6a9f96;background:#a4dedb;border-radius:50% 50% 50% 12%;transform:rotate(45deg)}
.curiosity-options [data-option="小石子"] .curiosity-object-icon{background:#ceb48d;border-color:#9e805b;border-radius:45%;transform:none}
.curiosity-options [data-option="落叶"] .curiosity-object-icon,.curiosity-options [data-option="水草"] .curiosity-object-icon{background:#91b88a;border-color:#4f866c;border-radius:0 100% 0 100%;transform:rotate(-25deg)}
.curiosity-options [data-option="寄居蟹"] .curiosity-object-icon{background:#d5a27d;border-color:#926c54;border-radius:75% 75% 24% 24%;transform:none}
.curiosity-options [data-option="小鱼"] .curiosity-object-icon{background:#89c8c3;border-color:#548e90;border-radius:70% 30% 65% 35%;transform:none}
#curiosity-challenge[data-question="leaf-vein"] .curiosity-options[data-mode="spot"] button{justify-self:center;width:52px;height:42px;min-height:42px;border-radius:50%;background:#e5f6f0bd;font-size:0}
#curiosity-challenge[data-question="leaf-vein"] .curiosity-options[data-mode="spot"] button:before{content:"◎";display:block;font-size:29px;line-height:1;color:#308b8b}
.curiosity-rhythm{display:flex;justify-content:center;align-items:center;gap:8px;min-height:22px}
.curiosity-rhythm i{display:block;border:2px solid #529e9c;border-radius:50%;background:#d2efeb}
.curiosity-rhythm i[data-beat="轻"]{width:11px;height:11px}
.curiosity-rhythm i[data-beat="重"]{width:23px;height:23px;border-width:3px;background:#a4d7d3}
.curiosity-rhythm-label{display:block;margin-top:2px;font-size:11px;font-weight:400;white-space:nowrap}
.curiosity-feedback{min-height:20px;margin:8px 0 0!important;color:#345e56;font-size:13px!important;line-height:1.45!important;font-weight:400!important}
.curiosity-challenge[data-solved="true"] .curiosity-feedback{color:#25574d}
.curiosity-after{display:flex;justify-content:flex-end;gap:7px;margin-top:7px}
.curiosity-after button{min-height:36px;padding:6px 10px;font-size:13px}
.curiosity-after button:last-child{background:#315f59;border-color:#315f59;color:#fffaf0}
.curiosity-evidence{display:flex;flex-wrap:wrap;align-items:end;gap:7px;margin-top:9px;padding:10px;border:1px solid #b8cbb7;border-radius:10px;background:#f0f7ed}
.curiosity-evidence label{display:block;flex:1 1 100%;font-size:14px;font-weight:600;color:#264a42}
.curiosity-evidence textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:8px;border:1px solid #a2b9a8;border-radius:7px;background:#fffefa;color:#213e38;font:inherit;resize:vertical}
.curiosity-evidence button{min-height:36px;padding:6px 11px}
.curiosity-evidence [role="status"]{flex:1 1 100%;margin:0;color:#345e56;font-size:13px}
.discovery-observation[data-curiosity="true"]>.discovery-observation-actions{margin-top:5px}
.curiosity-world-effect{position:absolute;z-index:18;width:180px;height:70px;pointer-events:none;filter:drop-shadow(0 2px 3px #1e4a4270)}
.curiosity-world-effect[hidden]{display:none!important}
.curiosity-world-effect .curiosity-stage{width:100%;height:100%;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.curiosity-world-effect .curiosity-stage svg{width:100%;height:100%}

/* Eight answer-specific storyboards: flip, evaporate, trace, travel, carry-home,
   reveal-guest, sound-rings, rising-tide. No common shake or spin is used. */
.curiosity-stage .c-vapor,.curiosity-stage .c-zero,.curiosity-stage .c-wave,.curiosity-stage .c-splash,.curiosity-stage .c-visitor{opacity:0}
.curiosity-stage .c-route{stroke-dasharray:150;stroke-dashoffset:0}
.curiosity-stage .c-note{stroke-dasharray:110;stroke-dashoffset:110}
.curiosity-stage .c-ring{opacity:0;transform-box:fill-box;transform-origin:center}
.curiosity-challenge[data-solved="true"] .c-leaf{transform-box:fill-box;transform-origin:center;animation:c-leaf-flip 1.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .c-pearl{animation:c-pearl-drop 1.7s ease-in both}
@keyframes c-leaf-flip{0%,25%{transform:scaleY(1)}55%,100%{transform:scaleY(-1)}}
@keyframes c-pearl-drop{0%,55%{transform:translate(0,0)}80%,100%{transform:translate(3px,62px)}}
.curiosity-challenge[data-solved="true"] .c-sunray{animation:c-sun-warm 1.8s ease-out both}
.curiosity-challenge[data-solved="true"] .c-dew{animation:c-dew-fade 1.8s ease-in both}
.curiosity-challenge[data-solved="true"] .c-vapor{animation:c-vapor-rise 1.8s ease-out both}
@keyframes c-sun-warm{from{opacity:.15}to{opacity:1}}
@keyframes c-dew-fade{0%,28%{opacity:1;transform:scale(1)}80%,100%{opacity:0;transform:translateY(-12px) scale(.4)}}
@keyframes c-vapor-rise{0%,26%{opacity:0;transform:translateY(12px)}55%{opacity:1}100%{opacity:.4;transform:translateY(-14px)}}
.curiosity-challenge[data-solved="true"] .c-route{animation:c-trace 1.7s ease-out both}
.curiosity-challenge[data-solved="true"] .c-runner{animation:c-vein-run 1.7s ease-in-out both}
@keyframes c-trace{0%,20%{stroke-dashoffset:150}100%{stroke-dashoffset:0}}
@keyframes c-vein-run{0%,25%{transform:translate(0,0)}55%{transform:translate(20px,35px)}100%{transform:translate(4px,75px)}}
.curiosity-challenge[data-solved="true"] .c-travel{animation:c-water-trip 1.9s cubic-bezier(.3,.1,.5,1) both}
@keyframes c-water-trip{0%,18%{transform:translate(0,0)}55%{transform:translate(110px,1px)}100%{transform:translate(232px,35px) scale(.65)}}
.curiosity-challenge[data-solved="true"] .c-house{animation:c-house-walk 1.8s steps(3,end) both}
.curiosity-challenge[data-solved="true"] .c-zero{animation:c-zero-reveal 1.8s ease-out both}
@keyframes c-house-walk{from{transform:translateX(0)}to{transform:translateX(148px)}}
@keyframes c-zero-reveal{0%,65%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}
.curiosity-challenge[data-solved="true"] .c-door{transform-box:fill-box;transform-origin:left center;animation:c-door-open 1.8s ease-out both}
.curiosity-challenge[data-solved="true"] .c-visitor{animation:c-visitor-peek 1.8s ease-out both}
.curiosity-challenge[data-solved="true"] .c-wave{animation:c-welcome 1.8s ease-out both}
@keyframes c-door-open{0%,20%{transform:scaleX(1)}55%,100%{transform:scaleX(.25)}}
@keyframes c-visitor-peek{0%,32%{opacity:0;transform:translateX(-18px)}70%,100%{opacity:1;transform:translateX(14px)}}
@keyframes c-welcome{0%,65%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .c-note.n1{animation:c-note-draw .55s ease-out 0s both}
.curiosity-challenge[data-solved="true"] .c-note.n2{animation:c-note-draw .55s ease-out .42s both}
.curiosity-challenge[data-solved="true"] .c-note.n3{animation:c-note-draw .7s ease-out .85s both}
.curiosity-challenge[data-solved="true"] .c-ring.r1{animation:c-ring-grow .5s ease-out .25s both}
.curiosity-challenge[data-solved="true"] .c-ring.r2{animation:c-ring-grow .5s ease-out .68s both}
.curiosity-challenge[data-solved="true"] .c-ring.r3{animation:c-ring-grow .7s ease-out 1.1s both}
@keyframes c-note-draw{from{stroke-dashoffset:110}to{stroke-dashoffset:0}}
@keyframes c-ring-grow{0%{opacity:0;transform:scale(.35)}50%{opacity:1}100%{opacity:.7;transform:scale(1.7)}}
.curiosity-challenge[data-solved="true"] .c-tide{animation:c-tide-rise 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .c-climber{animation:c-crab-climb 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .c-splash{animation:c-tide-splash 2s ease-out both}
@keyframes c-tide-rise{0%,15%{transform:translateY(0)}100%{transform:translateY(-65px)}}
@keyframes c-crab-climb{0%,15%{transform:translate(0,0)}55%{transform:translate(106px,-22px)}100%{transform:translate(223px,-47px)}}
@keyframes c-tide-splash{0%,32%{opacity:0}65%,100%{opacity:1}}

/* NW01_B: eight different answer stories, each tied to its own object and idea. */
.curiosity-stage .b-seed-count,.curiosity-stage .b-root,.curiosity-stage .b-root-trail,.curiosity-stage .b-sprout,.curiosity-stage .b-fan-bridge,.curiosity-stage .b-theatre-shadow,.curiosity-stage .b-shadow{opacity:0}
.curiosity-options [data-option="种子"] .curiosity-object-icon{background:#b47a48;border-color:#70513c;border-radius:50% 50% 45% 45%;transform:rotate(-30deg)}
.curiosity-options [data-option="石子"] .curiosity-object-icon{background:#9eaaa2;border-color:#697c77;border-radius:45%;transform:none}
.curiosity-options [data-option="木珠"] .curiosity-object-icon{background:#d3aa73;border-color:#9a6e48;border-radius:50%;transform:none}
.curiosity-options [data-option="影子"] .curiosity-object-icon{background:#6a8985;border-color:#385956;border-radius:45% 55% 20% 60%;transform:none}
.curiosity-options [data-option="墨水"] .curiosity-object-icon{background:#384d55;border-color:#243a42;border-radius:50% 50% 50% 10%;transform:rotate(40deg)}
.curiosity-options [data-option="泥点"] .curiosity-object-icon{background:#ac8965;border-color:#806246;border-radius:45%;transform:none}
.curiosity-options [data-option="竹蜻蜓"] .curiosity-object-icon{width:24px;height:15px;border-radius:70% 8% 70% 8%;background:linear-gradient(90deg,#8eb989 47%,#ead59c 48%,#ead59c 52%,#8eb989 53%);border-color:#477b5e;transform:rotate(-12deg)}
.curiosity-options [data-option="纸鱼"] .curiosity-object-icon{width:22px;height:15px;border-radius:65% 35% 65% 35%;background:#e7d29c;border-color:#ad895c;transform:rotate(-7deg)}
.curiosity-options [data-option="小石头"] .curiosity-object-icon{background:#9daba9;border-color:#697f7d;border-radius:41% 53% 45% 39%;transform:rotate(12deg)}
.curiosity-options [data-option="鱼鳞"] .curiosity-object-icon{background:linear-gradient(135deg,#95c8b4,#e6d18a);border-color:#648c7d;border-radius:80% 18% 80% 18%;transform:rotate(25deg)}
.curiosity-options [data-option="铜钱"] .curiosity-object-icon{background:#d7ae6b;border-color:#9c7652;border-radius:50%;transform:none}
.curiosity-options [data-option="树叶"] .curiosity-object-icon{background:#88b47c;border-color:#5b8465;border-radius:0 80% 0 80%;transform:rotate(-22deg)}
.curiosity-options [data-option="倒影"] .curiosity-object-icon{background:linear-gradient(#a5d2c2 0 50%,#d5eae3 50%);border-color:#68a6a3;border-radius:50% 10% 50% 10%;transform:rotate(45deg)}
.curiosity-options [data-option="另一片真鳞"] .curiosity-object-icon{background:linear-gradient(135deg,#93c9b4,#d9c17c);border-color:#648d7f;border-radius:75% 10% 75% 10%;transform:rotate(45deg)}
.curiosity-stage .b-plant{transform:scaleY(.08);transform-box:fill-box;transform-origin:bottom center}
.curiosity-challenge[data-solved="true"] .b-rattle-hand{animation:b-hand-over 1.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .b-seed-count{animation:b-seed-count 1.7s ease-out both}
@keyframes b-hand-over{0%,18%{transform:translateX(0)}68%,100%{transform:translateX(110px)}}
@keyframes b-seed-count{0%,70%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .b-seed-shell{animation:b-shell-open 1.9s ease-out both}
.curiosity-challenge[data-solved="true"] .b-root{animation:b-root-grow 1.9s ease-out both}
.curiosity-challenge[data-solved="true"] .b-sprout{transform-box:fill-box;transform-origin:bottom center;animation:b-sprout-rise 1.9s ease-out both}
@keyframes b-shell-open{0%,25%{transform:translateX(0)}75%,100%{transform:translateX(-22px) rotate(-12deg)}}
@keyframes b-root-grow{0%,30%{opacity:0;transform:scaleY(.1)}70%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-sprout-rise{0%,45%{opacity:0;transform:translateY(40px) scale(.2)}100%{opacity:1;transform:translateY(0) scale(1)}}
.curiosity-challenge[data-solved="true"] .b-white-root{animation:b-root-drop 1.6s ease-in-out both}
.curiosity-challenge[data-solved="true"] .b-root-trail{animation:b-root-trail 1.6s ease-out both}
@keyframes b-root-drop{0%,22%{transform:translateY(0)}100%{transform:translateY(10px)}}
@keyframes b-root-trail{0%,45%{opacity:0;transform:scaleY(.2)}100%{opacity:1;transform:scaleY(1)}}
.curiosity-challenge[data-solved="true"] .b-buried{animation:b-seed-bury 2s ease-in both}
.curiosity-challenge[data-solved="true"] .b-rain{animation:b-water-arrive 2s ease-in both}
.curiosity-challenge[data-solved="true"] .b-plant{animation:b-plant-grow 2s ease-out both}
@keyframes b-seed-bury{0%,18%{transform:translateY(0)}48%,100%{transform:translateY(78px)}}
@keyframes b-water-arrive{0%,30%{opacity:0;transform:translateY(-25px)}60%{opacity:1;transform:translateY(25px)}100%{opacity:0;transform:translateY(44px)}}
@keyframes b-plant-grow{0%,60%{transform:scaleY(.08)}100%{transform:scaleY(1)}}
.curiosity-challenge[data-solved="true"] .b-fan-fold{transform-box:fill-box;transform-origin:bottom center;animation:b-bird-fold 1.9s ease-in-out both}
.curiosity-challenge[data-solved="true"] .b-bird-stay{animation:b-bird-return 1.9s ease-out both}
.curiosity-challenge[data-solved="true"] .b-bird-eye{transform-box:fill-box;transform-origin:center;animation:b-bird-wink 1.9s ease-in-out both}
@keyframes b-bird-fold{0%,20%{transform:scaleX(1)}45%{transform:scaleX(.14)}72%,100%{transform:scaleX(1)}}
@keyframes b-bird-return{0%,73%{opacity:.2}100%{opacity:1}}
@keyframes b-bird-wink{0%,78%,95%,100%{transform:scaleY(1)}85%{transform:scaleY(.08)}}
.curiosity-challenge[data-solved="true"] .b-cloud{animation:b-cloud-pass 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .b-shadow{animation:b-shadow-appear 2s ease-in-out both}
@keyframes b-cloud-pass{0%,20%{transform:translateX(0)}55%{transform:translateX(80px)}100%{transform:translateX(10px)}}
@keyframes b-shadow-appear{0%,25%{opacity:0;transform:scaleX(.1)}60%{opacity:.62;transform:scaleX(1)}100%{opacity:0}}
.curiosity-challenge[data-solved="true"] .b-five{animation:b-five-gather 1.8s ease-out both}
.curiosity-challenge[data-solved="true"] .b-fan-bridge{animation:b-five-arc 1.8s ease-out both}
@keyframes b-five-gather{0%,25%{stroke:#6b817a;stroke-width:5}65%,100%{stroke:#b47b3f;stroke-width:7}}
@keyframes b-five-arc{0%,42%{opacity:0;stroke-dasharray:100;stroke-dashoffset:100}100%{opacity:1;stroke-dasharray:100;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .b-theatre-lamp{animation:b-lamp-light 2s ease-out both}
.curiosity-challenge[data-solved="true"] .b-theatre-fan{animation:b-theatre-raise 2s ease-out both}
.curiosity-challenge[data-solved="true"] .b-theatre-shadow{animation:b-shadow-project 2s ease-out both}
@keyframes b-lamp-light{0%,15%{opacity:.25;filter:none}42%,100%{opacity:1;filter:drop-shadow(0 0 13px #f5d380)}}
@keyframes b-theatre-raise{0%,37%{transform:translateY(30px)}65%,100%{transform:translateY(0)}}
@keyframes b-shadow-project{0%,62%{opacity:0;transform:scale(.35)}100%{opacity:.62;transform:scale(1)}}

/* NW01_C: the spinner demonstrates number, flight, half-turn and launch;
   the scale demonstrates light, returning home, pattern and size. */
.curiosity-stage .d-two-label,.curiosity-stage .d-cloud-eye,.curiosity-stage .d-flight-star,.curiosity-stage .d-mirror-ripple,.curiosity-stage .d-pattern-bridge,.curiosity-stage .d-pattern-water,.curiosity-stage .d-tail-ring{opacity:0}
.curiosity-stage .d-flight-line{stroke-dasharray:220;stroke-dashoffset:220}
.curiosity-stage .d-light-beam{opacity:.7}
.curiosity-stage .d-shade{transform:translateX(80px)}
.curiosity-stage .d-mirror-copy{opacity:.3}
.curiosity-stage .d-tail-ring{transform-box:fill-box;transform-origin:center}
.curiosity-challenge[data-solved="true"] .d-ghost{animation:d-ghost-resolve 1.8s ease-out both}
.curiosity-challenge[data-solved="true"] .d-two-wing{animation:d-two-settle 1.8s ease-out both}
.curiosity-challenge[data-solved="true"] .d-two-label{animation:d-two-reveal 1.8s ease-out both}
@keyframes d-ghost-resolve{0%,18%{opacity:.5}70%,100%{opacity:0}}
@keyframes d-two-settle{0%,20%{filter:blur(3px);opacity:.6}75%,100%{filter:none;opacity:1}}
@keyframes d-two-reveal{0%,70%{opacity:0;transform:translateY(5px)}100%{opacity:1;transform:none}}
.curiosity-challenge[data-solved="true"] .d-cloud-flyer{animation:d-cloud-flight 2s cubic-bezier(.3,.1,.46,1) both}
.curiosity-challenge[data-solved="true"] .d-cloud-hat{animation:d-cloud-bob 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-cloud-eye{animation:d-cloud-eyes 2s ease-out both}
@keyframes d-cloud-flight{0%,16%{transform:translate(0,0) rotate(-10deg)}75%,100%{transform:translate(178px,-32px) rotate(8deg) scale(.72)}}
@keyframes d-cloud-bob{0%,56%{transform:translateY(0)}85%,100%{transform:translateY(5px)}}
@keyframes d-cloud-eyes{0%,73%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .d-half-wing{transform-box:fill-box;transform-origin:center;animation:d-half-turn 1.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-half-arrow{animation:d-half-arrow 1.8s ease-out both}
@keyframes d-half-turn{0%,20%{transform:rotate(0)}80%,100%{transform:rotate(180deg)}}
@keyframes d-half-arrow{0%,20%{opacity:0}45%,80%{opacity:1}100%{opacity:0}}
.curiosity-challenge[data-solved="true"] .d-flight-line{animation:d-flight-trace 2s ease-out both}
.curiosity-challenge[data-solved="true"] .d-launch-flyer{animation:d-launch-arc 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-flight-star{animation:d-flight-arrive 2s ease-out both}
@keyframes d-flight-trace{0%,30%{stroke-dashoffset:220}100%{stroke-dashoffset:0}}
@keyframes d-launch-arc{0%,18%{transform:translate(0,0) rotate(0)}42%{transform:translate(0,-5px) rotate(12deg)}100%{transform:translate(182px,-47px) rotate(30deg) scale(.7)}}
@keyframes d-flight-arrive{0%,78%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .d-light-beam{animation:d-beam-pass 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-shade{animation:d-shade-pass 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-color-scale{animation:d-scale-tint 2s ease-in-out both}
@keyframes d-beam-pass{0%,28%{opacity:.7}75%,100%{opacity:0}}
@keyframes d-shade-pass{0%,28%{transform:translateX(80px)}75%,100%{transform:translateX(-85px)}}
@keyframes d-scale-tint{0%,45%{fill:#dfbb6d}78%,100%{fill:#7cb9ae}}
.curiosity-challenge[data-solved="true"] .d-mirror-real{animation:d-real-hover 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-mirror-copy{animation:d-reflection-fade 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-mirror-ripple{animation:d-ripple-spread 2s ease-out both}
@keyframes d-real-hover{0%,20%{transform:translateY(-6px)}65%,100%{transform:translateY(0)}}
@keyframes d-reflection-fade{0%,35%{opacity:0}62%{opacity:.55}100%{opacity:0}}
@keyframes d-ripple-spread{0%,57%{opacity:0;transform:scaleX(.25)}85%{opacity:1}100%{opacity:.75;transform:scaleX(1)}}
.curiosity-challenge[data-solved="true"] .d-stripe-first{animation:d-stripe-light .38s ease-out .15s both}
.curiosity-challenge[data-solved="true"] .d-stripe-middle{animation:d-stripe-light .38s ease-out .55s both}
.curiosity-challenge[data-solved="true"] .d-stripe-last{animation:d-stripe-light .38s ease-out .95s both}
.curiosity-challenge[data-solved="true"] .d-pattern-bridge{animation:d-pattern-arch 1.8s ease-out both}
.curiosity-challenge[data-solved="true"] .d-pattern-water{animation:d-pattern-water 1.8s ease-out both}
@keyframes d-stripe-light{0%{filter:none;stroke-width:8}100%{filter:drop-shadow(0 0 5px #77baa7);stroke-width:11}}
@keyframes d-pattern-arch{0%,50%{opacity:0;stroke-dasharray:130;stroke-dashoffset:130}100%{opacity:1;stroke-dasharray:130;stroke-dashoffset:0}}
@keyframes d-pattern-water{0%,75%{opacity:0;transform:scaleX(.3)}100%{opacity:.8;transform:scaleX(1)}}
.curiosity-challenge[data-solved="true"] .d-size-small{animation:d-small-place 2.1s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-size-mid{animation:d-mid-place 2.1s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-size-large{animation:d-large-place 2.1s ease-in-out both}
.curiosity-challenge[data-solved="true"] .d-tail-ring{animation:d-tail-splash 2.1s ease-out both}
.curiosity-challenge[data-solved="true"] .d-tail-ring-late{animation-delay:.18s}
.curiosity-challenge[data-solved="true"] .d-fish-tail{transform-box:fill-box;transform-origin:left center;animation:d-tail-flick 2.1s ease-in-out both}
@keyframes d-small-place{0%,15%{transform:translateX(0)}42%,100%{transform:translateX(195px)}}
@keyframes d-mid-place{0%,37%{transform:translateX(0)}68%,100%{transform:translateX(161px)}}
@keyframes d-large-place{0%,61%{transform:translateX(0)}88%,100%{transform:translateX(128px)}}
@keyframes d-tail-splash{0%,78%{opacity:0;transform:scale(.3)}90%{opacity:1}100%{opacity:.8;transform:scale(1.5)}}
@keyframes d-tail-flick{0%,80%{transform:rotate(0)}91%{transform:rotate(10deg)}100%{transform:rotate(-5deg)}}

/* NW01_O: false painted eyes, eyelid curtains, a rising crescent, waking,
   a dry drawn river, a paper spring, symmetry and numbered lily pads. */
.curiosity-stage .e-real-eyes,.curiosity-stage .e-nobody,.curiosity-stage .e-light,.curiosity-stage .e-moon-halo,.curiosity-stage .e-morning,.curiosity-stage .e-paper-roll,.curiosity-stage .e-dry-feet,.curiosity-stage .e-spring-star,.curiosity-stage .e-symmetry-door,.curiosity-stage .e-odd-bloom{opacity:0}
.curiosity-stage .e-eyelids{transform:translateY(-24px)}
.curiosity-stage .e-sleep-lids{opacity:0}
.curiosity-stage .e-yawn{transform-box:fill-box;transform-origin:center;transform:scaleY(.18)}
.curiosity-stage .e-odd-bloom{transform-box:fill-box;transform-origin:center}
.curiosity-options [data-option="眼皮"] .curiosity-object-icon{background:#d6a880;border-color:#986f5e;border-radius:65% 65% 18% 18%;transform:none}
.curiosity-options [data-option="云朵"] .curiosity-object-icon{background:#f0eee4;border-color:#94aaa8;border-radius:65% 65% 35% 35%;transform:none}
.curiosity-options [data-option="面具"] .curiosity-object-icon{background:#e9dbb8;border-color:#819281;border-radius:45% 45% 60% 60%;transform:none}
.curiosity-options [data-option="折痕"] .curiosity-object-icon{width:22px;height:17px;border:0;border-bottom:3px solid #6d9776;border-radius:0;background:linear-gradient(135deg,transparent 40%,#dfca95 41% 55%,transparent 56%);transform:none}
.curiosity-options [data-option="虫子"] .curiosity-object-icon{background:#be8f69;border-color:#8b684b;border-radius:70% 30% 70% 30%;transform:rotate(25deg)}
.curiosity-options [data-option="水珠"] .curiosity-object-icon{background:#9bcfd1;border-color:#619ba0;border-radius:50% 50% 50% 8%;transform:rotate(45deg)}
.curiosity-challenge[data-solved="true"] .e-painted-mask{animation:e-mask-aside 1.9s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-real-eyes,.curiosity-challenge[data-solved="true"] .e-nobody{animation:e-behind-mask 1.9s ease-out both}
@keyframes e-mask-aside{0%,20%{transform:translateX(0)}75%,100%{transform:translateX(99px) rotate(7deg)}}
@keyframes e-behind-mask{0%,55%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .e-eyelids{animation:e-curtains 2.1s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-light{animation:e-curtain-light 2.1s ease-out both}
@keyframes e-curtains{0%,18%{transform:translateY(-24px)}48%,64%{transform:translateY(0)}100%{transform:translateY(-24px)}}
@keyframes e-curtain-light{0%,75%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .e-moon-eye{animation:e-moon-rise 1.9s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-moon-halo{animation:e-moon-shine 1.9s ease-out both}
@keyframes e-moon-rise{0%,32%{transform:translateY(0)}80%,100%{transform:translateY(-23px)}}
@keyframes e-moon-shine{0%,61%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .e-sleep-lids{animation:e-sleep-close 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-yawn{animation:e-yawn-open 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-morning{animation:e-morning-appear 2.2s ease-out both}
@keyframes e-sleep-close{0%,16%{opacity:0}36%,66%{opacity:1}85%,100%{opacity:0}}
@keyframes e-yawn-open{0%,34%{transform:scaleY(.18)}55%{transform:scaleY(1.5)}82%,100%{transform:scaleY(.18)}}
@keyframes e-morning-appear{0%,76%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .e-dry-frog{animation:e-frog-cross-ink 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-ink-river{animation:e-ink-roll 2s ease-out both}
.curiosity-challenge[data-solved="true"] .e-paper-roll,.curiosity-challenge[data-solved="true"] .e-dry-feet{animation:e-paper-show 2s ease-out both}
@keyframes e-frog-cross-ink{0%,18%{transform:translate(0,0)}53%{transform:translate(95px,-24px)}100%{transform:translate(203px,0)}}
@keyframes e-ink-roll{0%,50%{opacity:1}83%,100%{opacity:0;transform:scaleX(.1)}}
@keyframes e-paper-show{0%,64%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .e-spring-frog{transform-box:fill-box;transform-origin:bottom center;animation:e-paper-leap 2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-spring-fold{animation:e-fold-glow 2s ease-out both}
.curiosity-challenge[data-solved="true"] .e-spring-star{animation:e-spring-glint 2s ease-out both}
@keyframes e-paper-leap{0%,16%{transform:translateY(0) scaleY(1)}44%{transform:translateY(12px) scaleY(.7)}78%,100%{transform:translateY(-26px) scaleY(1)}}
@keyframes e-fold-glow{0%,40%{stroke:#e9d895}70%,100%{stroke:#6c9e89}}
@keyframes e-spring-glint{0%,73%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .e-symmetric-frog,.curiosity-challenge[data-solved="true"] .e-symmetric-fold{animation:e-symmetric-leap 1.9s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-symmetry-door{animation:e-fold-door 1.9s ease-out both}
@keyframes e-symmetric-leap{0%,38%{transform:translateY(0)}80%,100%{transform:translateY(-19px)}}
@keyframes e-fold-door{0%,47%{opacity:0;stroke-dasharray:80;stroke-dashoffset:80}100%{opacity:1;stroke-dasharray:80;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .e-odd-frog{animation:e-odd-steps 2.3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .e-odd-bloom{animation:e-lily-bloom 2.3s ease-out both}
@keyframes e-odd-steps{0%,18%{transform:translate(0,0)}37%{transform:translate(113px,-18px)}52%{transform:translate(113px,0)}73%{transform:translate(226px,-18px)}100%{transform:translate(226px,0)}}
@keyframes e-lily-bloom{0%,77%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}

/* NW02_A: a joined fruit stops together; a seed sails and another rolls;
   wind visits three wings; star-thread keeps its line, leads, traces and rewinds. */
.curiosity-stage .g-grip-finger{transform:translateX(84px)}
.curiosity-stage .g-grip-stop,.curiosity-stage .g-sail-sprout,.curiosity-stage .g-hidden-soil,.curiosity-stage .g-hidden-leaf,.curiosity-stage .g-cycle-one,.curiosity-stage .g-cycle-two,.curiosity-stage .g-cycle-three,.curiosity-stage .g-fold-straight,.curiosity-stage .g-fold-star,.curiosity-stage .g-fold-one,.curiosity-stage .g-leading-lamp,.curiosity-stage .g-route-star,.curiosity-stage .g-reverse-finish{opacity:0}
.curiosity-stage .g-cycle-trace{stroke-dasharray:180;stroke-dashoffset:180}
.curiosity-stage .g-leading-line{stroke-dasharray:270;stroke-dashoffset:270}
.curiosity-stage .g-route-highlight{stroke-dasharray:400;stroke-dashoffset:400}
.curiosity-options [data-option="果翅"] .curiosity-object-icon{width:22px;height:18px;border-radius:75% 10% 70% 10%;background:#e8ad73;border-color:#a8674b;transform:rotate(-17deg)}
.curiosity-options [data-option="叶柄"] .curiosity-object-icon{width:9px;height:21px;border-radius:7px;background:#89ad7d;border-color:#638b6e;transform:rotate(-22deg)}
.curiosity-options [data-option="鸟羽"] .curiosity-object-icon{width:11px;height:22px;border-radius:75% 10% 75% 10%;background:#d9e2d1;border-color:#8e9e93;transform:rotate(25deg)}
.curiosity-options [data-option="线头"] .curiosity-object-icon{width:21px;height:18px;border:0;border-bottom:4px solid #6682a5;border-radius:0;background:radial-gradient(circle at right 14px,#e8ca7a 0 4px,transparent 5px);transform:none}
.curiosity-options [data-option="星珠"] .curiosity-object-icon{background:#e8c57e;border-color:#9b8058;border-radius:45% 20% 45% 20%;transform:rotate(45deg)}
.curiosity-options [data-option="木轴"] .curiosity-object-icon{width:21px;height:16px;border-radius:45%;background:#a78964;border-color:#735d47;transform:none}
.curiosity-challenge[data-solved="true"] .g-grip-fruit{transform-box:fill-box;transform-origin:center;animation:g-fruit-arrest 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-grip-finger{animation:g-finger-press 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-grip-wind{animation:g-wind-slide 2.2s ease-out both}
.curiosity-challenge[data-solved="true"] .g-grip-stop{animation:g-show-stop 2.2s ease-out both}
@keyframes g-fruit-arrest{0%{transform:rotate(0)}55%,100%{transform:rotate(55deg)}}
@keyframes g-finger-press{0%,36%{transform:translateX(84px)}63%,100%{transform:translateX(0)}}
@keyframes g-wind-slide{0%,30%{opacity:1;transform:translateX(0)}70%,100%{opacity:0;transform:translateX(45px)}}
@keyframes g-show-stop{0%,71%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .g-sail-wing{transform-box:fill-box;transform-origin:bottom center;animation:g-sail-open 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-sail-seed{animation:g-seed-glide 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-sail-breeze{animation:g-breeze-pass 2.2s ease-out both}
.curiosity-challenge[data-solved="true"] .g-sail-sprout{animation:g-sprout-appear 2.2s ease-out both}
@keyframes g-sail-open{0%,17%{transform:rotate(0)}64%,100%{transform:rotate(-38deg)}}
@keyframes g-seed-glide{0%,30%{transform:translate(0,0);opacity:1}66%{transform:translate(82px,-27px);opacity:1}89%{transform:translate(145px,18px);opacity:1}100%{transform:translate(145px,18px);opacity:0}}
@keyframes g-breeze-pass{0%,27%{opacity:0;transform:translateX(-20px)}55%{opacity:1}100%{opacity:0;transform:translateX(30px)}}
@keyframes g-sprout-appear{0%,87%{opacity:0;transform:scaleY(.25)}100%{opacity:1;transform:scaleY(1)}}
.curiosity-challenge[data-solved="true"] .g-hidden-cover{transform-box:fill-box;transform-origin:top center;animation:g-cover-open 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-hidden-seed{animation:g-seed-roll 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-hidden-soil{animation:g-soil-reveal 2.15s ease-out both}
.curiosity-challenge[data-solved="true"] .g-hidden-leaf{animation:g-leaf-pop 2.15s ease-out both}
@keyframes g-cover-open{0%,19%{transform:rotate(0) translate(0,0)}69%,100%{transform:rotate(-23deg) translate(-20px,-6px)}}
@keyframes g-seed-roll{0%,39%{transform:translate(0,0);opacity:1}85%{transform:translate(53px,28px);opacity:1}100%{transform:translate(53px,28px);opacity:0}}
@keyframes g-soil-reveal{0%,48%{opacity:0}100%{opacity:1}}
@keyframes g-leaf-pop{0%,87%{opacity:0;transform:scaleY(.2)}100%{opacity:1;transform:scaleY(1)}}
.curiosity-challenge[data-solved="true"] .g-cycle-trace{animation:g-cycle-draw 2.3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-cycle-one{animation:g-cycle-light-1 2.3s ease-out both}
.curiosity-challenge[data-solved="true"] .g-cycle-two{animation:g-cycle-light-2 2.3s ease-out both}
.curiosity-challenge[data-solved="true"] .g-cycle-three{animation:g-cycle-light-3 2.3s ease-out both}
.curiosity-challenge[data-solved="true"] .g-cycle-wind{animation:g-cycle-breeze 2.3s ease-out both}
@keyframes g-cycle-draw{0%,20%{stroke-dashoffset:180}100%{stroke-dashoffset:0}}
@keyframes g-cycle-light-1{0%,25%{opacity:0}29%,100%{opacity:1}}
@keyframes g-cycle-light-2{0%,49%{opacity:0}54%,100%{opacity:1}}
@keyframes g-cycle-light-3{0%,73%{opacity:0}78%,100%{opacity:1}}
@keyframes g-cycle-breeze{0%{opacity:.25;transform:translateX(-20px)}42%{opacity:1}100%{opacity:0;transform:translateX(40px)}}
.curiosity-challenge[data-solved="true"] .g-fold-u{animation:g-fold-open 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-fold-straight{animation:g-straight-show 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-fold-star,.curiosity-challenge[data-solved="true"] .g-fold-one{animation:g-one-line-show 2.15s ease-out both}
@keyframes g-fold-open{0%,31%{opacity:1;transform:scaleX(1)}76%,100%{opacity:0;transform:scaleX(.63)}}
@keyframes g-straight-show{0%,47%{opacity:0;stroke-dasharray:250;stroke-dashoffset:250}100%{opacity:1;stroke-dasharray:250;stroke-dashoffset:0}}
@keyframes g-one-line-show{0%,80%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .g-leading-line{animation:g-line-unfurl 2.25s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-leading-tip{animation:g-tip-lead 2.25s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-leading-lamp{animation:g-lamp-reveal 2.25s ease-out both}
@keyframes g-line-unfurl{0%,13%{stroke-dashoffset:270}100%{stroke-dashoffset:0}}
@keyframes g-tip-lead{0%,13%{transform:translate(0,0)}58%{transform:translate(105px,0)}100%{transform:translate(184px,-25px)}}
@keyframes g-lamp-reveal{0%,72%{opacity:0;transform:scale(.65)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .g-route-highlight{animation:g-route-trace 2.1s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-broken-a,.curiosity-challenge[data-solved="true"] .g-broken-c{animation:g-broken-drop 2.1s ease-out both}
.curiosity-challenge[data-solved="true"] .g-route-star{animation:g-route-fold 2.1s ease-out both}
@keyframes g-route-trace{0%,20%{stroke-dashoffset:400}100%{stroke-dashoffset:0}}
@keyframes g-broken-drop{0%,50%{opacity:1;transform:translateY(0)}100%{opacity:.3;transform:translateY(14px)}}
@keyframes g-route-fold{0%,74%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .g-reverse-bell{animation:g-bell-return 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-reverse-star{animation:g-star-return 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-reverse-moon{animation:g-moon-return 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-reverse-line{transform-origin:103px 63px;animation:g-line-reel 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .g-reverse-finish{animation:g-reel-finish 2.4s ease-out both}
@keyframes g-bell-return{0%,10%{transform:translateX(0);opacity:1}43%{transform:translateX(-198px);opacity:1}48%,100%{transform:translateX(-198px);opacity:0}}
@keyframes g-star-return{0%,42%{transform:translateX(0);opacity:1}69%{transform:translateX(-135px);opacity:1}74%,100%{transform:translateX(-135px);opacity:0}}
@keyframes g-moon-return{0%,68%{transform:translateX(0);opacity:1}92%{transform:translateX(-66px);opacity:1}100%{transform:translateX(-66px);opacity:0}}
@keyframes g-line-reel{0%,10%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes g-reel-finish{0%,84%{opacity:0}100%{opacity:1}}

/* NW02_B: sound travels, rebounds and finds an open beak;
   birds keep their own beats while dough, mould and imprint tell separate stories. */
.curiosity-stage .h-cover-hand{transform:translateX(-36px)}
.curiosity-stage .h-cover-sound,.curiosity-stage .h-cover-wave,.curiosity-stage .h-echo-back,.curiosity-stage .h-echo-word,.curiosity-stage .h-open-air,.curiosity-stage .h-open-note,.curiosity-stage .h-beat-trace,.curiosity-stage .h-remain-one,.curiosity-stage .h-night-pastries,.curiosity-stage .h-night-steam,.curiosity-stage .h-night-stars,.curiosity-stage .h-match-stamp,.curiosity-stage .h-match-outline,.curiosity-stage .h-step-dough,.curiosity-stage .h-step-cake,.curiosity-stage .h-step-spark{opacity:0}
.curiosity-options [data-option="回声"] .curiosity-object-icon{width:19px;height:19px;border:0;border-right:4px solid #7bb5ae;border-radius:50%;background:transparent;box-shadow:4px 0 0 -1px #b8d4c7;transform:none}
.curiosity-options [data-option="另一只木鸟"] .curiosity-object-icon{width:19px;height:17px;border-radius:65% 65% 25% 25%;background:#bd885f;border-color:#865c48;transform:none}
.curiosity-options [data-option="晚风"] .curiosity-object-icon{width:21px;height:13px;border:0;border-top:3px solid #80afa4;border-bottom:3px solid #80afa4;border-radius:50%;background:transparent;transform:none}
.curiosity-options [data-option="月牙饼"] .curiosity-object-icon{width:20px;height:20px;border-radius:50%;background:#e4bd83;border-color:#a77952;transform:none}
.curiosity-options [data-option="天上的月亮"] .curiosity-object-icon{width:20px;height:20px;border-radius:50%;background:#f6e8aa;border-color:#b49d67;transform:none}
.curiosity-options [data-option="灯影"] .curiosity-object-icon{width:19px;height:19px;border-radius:50%;background:#c0aa80;border-color:#88755b;transform:rotate(20deg)}
.curiosity-challenge[data-solved="true"] .h-cover-hand{animation:h-hand-cover 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-cover-sound{animation:h-sound-cross 2.2s ease-out both}
.curiosity-challenge[data-solved="true"] .h-cover-wave{animation:h-friend-wave 2.2s ease-out both}
@keyframes h-hand-cover{0%,15%{transform:translateX(-36px)}53%,100%{transform:translateX(0)}}
@keyframes h-sound-cross{0%,27%{opacity:0;transform:translateX(-30px)}65%,100%{opacity:1;transform:translateX(0)}}
@keyframes h-friend-wave{0%,72%{opacity:0;transform:rotate(-24deg)}100%{opacity:1;transform:rotate(0)}}
.curiosity-challenge[data-solved="true"] .h-echo-out{animation:h-echo-go 2.3s ease-out both}
.curiosity-challenge[data-solved="true"] .h-echo-back{animation:h-echo-return 2.3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-echo-word{animation:h-echo-label 2.3s ease-out both}
@keyframes h-echo-go{0%,8%{opacity:1;transform:translateX(-25px)}55%{opacity:1;transform:translateX(93px)}70%,100%{opacity:0;transform:translateX(93px)}}
@keyframes h-echo-return{0%,59%{opacity:0;transform:translateX(0)}76%{opacity:1}100%{opacity:1;transform:translateX(-74px)}}
@keyframes h-echo-label{0%,81%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .h-open-air{animation:h-air-through 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-open-note{animation:h-note-fly 2.15s ease-out both}
@keyframes h-air-through{0%,22%{opacity:0;stroke-dasharray:80;stroke-dashoffset:80}88%,100%{opacity:1;stroke-dasharray:80;stroke-dashoffset:0}}
@keyframes h-note-fly{0%,68%{opacity:0;transform:translateX(-27px)}100%{opacity:1;transform:translateX(0)}}
.curiosity-challenge[data-solved="true"] .h-beat-one{animation:h-first-bird 2.3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-beat-three{animation:h-third-bird 2.3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-beat-two{animation:h-second-bird 2.3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-beat-trace{animation:h-beat-arc 2.3s ease-out both}
@keyframes h-first-bird{0%,12%{transform:translate(0,0)}35%{transform:translate(25px,-28px)}55%,100%{transform:translate(25px,17px)}}
@keyframes h-third-bird{0%,38%{transform:translate(0,0)}64%{transform:translate(-90px,-28px)}82%,100%{transform:translate(-90px,17px)}}
@keyframes h-second-bird{0%,67%{transform:translate(0,0)}84%{transform:translate(110px,-28px)}100%{transform:translate(110px,17px)}}
@keyframes h-beat-arc{0%,84%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .h-remain-cakes,.curiosity-challenge[data-solved="true"] .h-remain-crescent{animation:h-cakes-leave 2.1s ease-in both}
.curiosity-challenge[data-solved="true"] .h-remain-one{animation:h-one-moon 2.1s ease-out both}
@keyframes h-cakes-leave{0%,18%{opacity:1;transform:translateY(0)}78%,100%{opacity:0;transform:translateY(-56px)}}
@keyframes h-one-moon{0%,78%{opacity:0;transform:scale(.7)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .h-night-mould{animation:h-mould-lift 2.3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-night-pastries{animation:h-pastries-reveal 2.3s ease-out both}
.curiosity-challenge[data-solved="true"] .h-night-steam{animation:h-steam-rise 2.3s ease-out both}
.curiosity-challenge[data-solved="true"] .h-night-stars{animation:h-night-glint 2.3s ease-out both}
@keyframes h-mould-lift{0%,22%{opacity:1;transform:translateY(0)}71%,100%{opacity:0;transform:translateY(-72px)}}
@keyframes h-pastries-reveal{0%,47%{opacity:0;transform:translateY(8px)}80%,100%{opacity:1;transform:translateY(0)}}
@keyframes h-steam-rise{0%,74%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(-6px)}}
@keyframes h-night-glint{0%,86%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .h-match-outline{animation:h-match-ring 2.1s ease-out both}
.curiosity-challenge[data-solved="true"] .h-match-stamp{animation:h-stamp-match 2.1s ease-in-out both}
@keyframes h-stamp-match{0%,19%{opacity:0;transform:translateY(-56px)}45%,58%{opacity:.9;transform:translateY(0)}87%,100%{opacity:0;transform:translateY(-56px)}}
@keyframes h-match-ring{0%,29%{opacity:0;transform:scale(.75)}75%,100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .h-step-dough{animation:h-dough-in 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-step-mould{animation:h-press-lift 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .h-step-cake{animation:h-cake-stay 2.4s ease-out both}
.curiosity-challenge[data-solved="true"] .h-step-spark{animation:h-cake-glint 2.4s ease-out both}
@keyframes h-dough-in{0%,8%{opacity:0;transform:translateX(-55px)}22%,54%{opacity:1;transform:translateX(0)}69%,100%{opacity:0}}
@keyframes h-press-lift{0%,24%{opacity:1;transform:translateY(0)}51%{opacity:1;transform:translateY(37px)}80%{opacity:1;transform:translateY(-60px)}100%{opacity:0;transform:translateY(-72px)}}
@keyframes h-cake-stay{0%,64%{opacity:0}85%,100%{opacity:1}}
@keyframes h-cake-glint{0%,85%{opacity:0}100%{opacity:1}}

/* NW02_C: a fixed needle tells time through light; the drum teaches vibration and return. */
.curiosity-stage .i-stays-pin,.curiosity-stage .i-drawer-return,.curiosity-stage .i-base-path,.curiosity-stage .i-day-pin,.curiosity-stage .i-day-morning,.curiosity-stage .i-day-noon,.curiosity-stage .i-day-evening,.curiosity-stage .i-day-arc,.curiosity-stage .i-hold-quiet,.curiosity-stage .i-weather-rain,.curiosity-stage .i-weather-thunder,.curiosity-stage .i-skin-ring,.curiosity-stage .i-return-ear{opacity:0}
.curiosity-stage .i-drawer-cloud{transform:translateX(80px)}
.curiosity-stage .i-hold-hand{transform:translate(12px,-3px)}
.curiosity-stage .i-return-out,.curiosity-stage .i-return-back{stroke-dasharray:350;stroke-dashoffset:350}
.curiosity-challenge[data-solved="true"] .i-stays-shadow{transform-origin:111px 78px;animation:i-shadow-sweep 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-stays-sun{animation:i-sun-walk 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-stays-pin{animation:i-pin-still 2.35s ease-out both}
@keyframes i-shadow-sweep{0%,14%{transform:rotate(0)}87%,100%{transform:rotate(-110deg)}}
@keyframes i-sun-walk{0%,12%{transform:translateX(0)}87%,100%{transform:translateX(-250px)}}
@keyframes i-pin-still{0%,76%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .i-drawer-cloud{animation:i-cloud-pass 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-drawer-shadow{animation:i-shadow-hide 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-drawer-return{animation:i-light-return 2.45s ease-out both}
@keyframes i-cloud-pass{0%,12%{transform:translateX(80px)}44%,61%{transform:translateX(0)}100%{transform:translateX(-91px)}}
@keyframes i-shadow-hide{0%,27%{opacity:1}49%,66%{opacity:0}94%,100%{opacity:1}}
@keyframes i-light-return{0%,81%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .i-base-wrong{animation:i-wrong-shadow 2.15s ease-in both}
.curiosity-challenge[data-solved="true"] .i-base-good{animation:i-root-shadow 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-base-path{animation:i-root-trace 2.15s ease-out both}
@keyframes i-wrong-shadow{0%,35%{opacity:1;transform:translateY(0)}100%{opacity:.18;transform:translateY(15px)}}
@keyframes i-root-shadow{0%,20%{stroke-width:8}65%,100%{stroke-width:13}}
@keyframes i-root-trace{0%,46%{opacity:0;transform:scale(.75)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .i-day-morning{animation:i-morning-record 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .i-day-records{animation:i-records-away 2.5s ease-in both}
.curiosity-challenge[data-solved="true"] .i-day-pin{animation:i-day-pin-arrive 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .i-day-noon{animation:i-noon-record 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .i-day-evening{animation:i-evening-record 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .i-day-arc{animation:i-daylight-arc 2.5s ease-out both}
@keyframes i-morning-record{0%,8%{opacity:0;transform:translateY(16px)}32%,53%{opacity:1;transform:translateY(0)}79%,100%{opacity:.25;transform:translateY(0)}}
@keyframes i-records-away{0%,12%{opacity:1}28%,100%{opacity:0}}
@keyframes i-day-pin-arrive{0%,25%{opacity:0}42%,100%{opacity:1}}
@keyframes i-noon-record{0%,40%{opacity:0;transform:translateY(16px)}61%,76%{opacity:1;transform:translateY(0)}100%{opacity:.25;transform:translateY(0)}}
@keyframes i-evening-record{0%,70%{opacity:0;transform:translateY(16px)}91%,100%{opacity:1;transform:translateY(0)}}
@keyframes i-daylight-arc{0%,80%{opacity:0;stroke-dasharray:260;stroke-dashoffset:260}100%{opacity:1;stroke-dasharray:260;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .i-hold-hand{animation:i-palm-dampen 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-hold-rings{animation:i-ring-dampen 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-hold-quiet{animation:i-hush-appear 2.15s ease-out both}
@keyframes i-palm-dampen{0%,23%{transform:translate(12px,-3px)}53%,100%{transform:translate(-28px,6px)}}
@keyframes i-ring-dampen{0%,36%{opacity:1;transform:scale(1)}72%,100%{opacity:0;transform:scale(.45)}}
@keyframes i-hush-appear{0%,77%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .i-weather-mallet{animation:i-mallet-two-beats 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-weather-rain{animation:i-soft-rain 2.4s ease-out both}
.curiosity-challenge[data-solved="true"] .i-weather-thunder{animation:i-loud-thunder 2.4s ease-out both}
@keyframes i-mallet-two-beats{0%,10%{transform:translateY(6px)}27%{transform:translateY(15px)}38%{transform:translateY(6px)}62%{transform:translateY(18px)}74%,100%{transform:translateY(6px)}}
@keyframes i-soft-rain{0%,24%{opacity:0;transform:translateY(-8px)}39%,57%{opacity:1;transform:translateY(0)}68%,100%{opacity:0}}
@keyframes i-loud-thunder{0%,65%{opacity:0;transform:scale(.8)}88%,100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .i-skin-mallet{animation:i-skin-tap 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-skin-ring{animation:i-skin-sound 2.2s ease-out both}
@keyframes i-skin-tap{0%,18%{transform:translateY(-3px)}45%{transform:translateY(11px)}68%,100%{transform:translateY(-2px)}}
@keyframes i-skin-sound{0%,45%{opacity:0;transform:scale(.6)}90%,100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .i-return-out{animation:i-sound-out 2.6s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-return-back{animation:i-sound-back 2.6s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-return-seed{animation:i-sound-seed 2.6s ease-in-out both}
.curiosity-challenge[data-solved="true"] .i-return-ear{animation:i-ear-catch 2.6s ease-out both}
@keyframes i-sound-out{0%,8%{stroke-dashoffset:350}52%,100%{stroke-dashoffset:0}}
@keyframes i-sound-back{0%,53%{stroke-dashoffset:350}94%,100%{stroke-dashoffset:0}}
@keyframes i-sound-seed{0%,12%{transform:translate(0,0)}51%{transform:translate(188px,17px)}94%,100%{transform:translate(-69px,11px)}}
@keyframes i-ear-catch{0%,89%{opacity:0}100%{opacity:1}}

/* NW02_O: eight distinct reveal stories for the bell and the kite. */
.curiosity-options [data-option="铜铃"] .curiosity-object-icon{width:18px;height:19px;border:2px solid #8a6249;border-radius:50% 50% 20% 20%;background:#d4a56e;transform:none}
.curiosity-options [data-option="小鼓"] .curiosity-object-icon{width:21px;height:13px;border:2px solid #8a6249;border-radius:50%;background:#dfc08e;transform:none}
.curiosity-options [data-option="风筝"] .curiosity-object-icon{width:17px;height:17px;border:2px solid #98765b;background:#e8d49d;transform:rotate(45deg)}
.curiosity-options [data-option="白云"] .curiosity-object-icon{width:22px;height:12px;border:2px solid #86aaa5;border-radius:11px;background:#e6f0e8;transform:none}
.curiosity-stage .j-heart-ring,.curiosity-stage .j-heart-answer,.curiosity-stage .j-riddle-voice,.curiosity-stage .j-riddle-path,.curiosity-stage .j-clapper-sound,.curiosity-stage .j-travel-vibration,.curiosity-stage .j-travel-ear,.curiosity-stage .j-count-three,.curiosity-stage .j-connected-glow{opacity:0}
.curiosity-stage .j-travel-wave,.curiosity-stage .j-connected-glow path{stroke-dasharray:230;stroke-dashoffset:230}
.curiosity-challenge[data-solved="true"] .j-heart-clapper{transform-origin:105px 49px;animation:j-one-clapper 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-heart-tassels{animation:j-three-tassels 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-heart-ring{animation:j-one-ring 2.2s ease-out both}
.curiosity-challenge[data-solved="true"] .j-heart-answer{animation:j-answer-shows 2.2s ease-out both}
@keyframes j-one-clapper{0%,18%{transform:rotate(-19deg)}42%{transform:rotate(27deg)}58%,100%{transform:rotate(8deg)}}
@keyframes j-three-tassels{0%,20%{transform:translateX(-8px)}45%{transform:translateX(13px)}100%{transform:translateX(3px)}}
@keyframes j-one-ring{0%,40%{opacity:0;transform:scale(.45)}75%,100%{opacity:1;transform:scale(1)}}
@keyframes j-answer-shows{0%,70%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .j-riddle-bell{transform-origin:121px 19px;animation:j-bell-answer 2.25s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-riddle-voice{animation:j-ding-hop 2.25s cubic-bezier(.2,.8,.3,1) both}
.curiosity-challenge[data-solved="true"] .j-riddle-path{animation:j-ding-trail 2.25s ease-out both}
@keyframes j-bell-answer{0%,12%{transform:rotate(0)}24%{transform:rotate(-9deg)}38%{transform:rotate(9deg)}52%,100%{transform:rotate(0)}}
@keyframes j-ding-hop{0%,39%{opacity:0;transform:translate(-55px,31px) scale(.4)}70%{opacity:1;transform:translate(0,-12px) scale(1.12)}100%{opacity:1;transform:translate(12px,0) scale(1)}}
@keyframes j-ding-trail{0%,40%{opacity:0;stroke-dasharray:180;stroke-dashoffset:180}90%,100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .j-clapper-good{animation:j-clapper-strike 2.15s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-clapper-sound{animation:j-only-center-sounds 2.15s ease-out both}
@keyframes j-clapper-strike{0%,20%{transform:translateX(-10px)}44%{transform:translateX(13px)}63%,100%{transform:translateX(0)}}
@keyframes j-only-center-sounds{0%,36%{opacity:0;transform:scale(.6)}75%,100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .j-travel-clapper{animation:j-chain-hit 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-travel-vibration{animation:j-chain-vibrate 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .j-travel-wave{animation:j-chain-cross 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-travel-ear{animation:j-chain-hear 2.5s ease-out both}
@keyframes j-chain-hit{0%,8%{transform:translateX(-8px)}25%,100%{transform:translateX(15px)}}
@keyframes j-chain-vibrate{0%,21%{opacity:0}39%,100%{opacity:1}}
@keyframes j-chain-cross{0%,35%{stroke-dashoffset:230}84%,100%{stroke-dashoffset:0}}
@keyframes j-chain-hear{0%,78%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .j-count-sky-cloud{animation:j-cloud-go 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-count-kite{animation:j-kite-keep 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-count-three{animation:j-three-remain 2.35s ease-out both}
@keyframes j-cloud-go{0%,13%{transform:translateX(0);opacity:1}78%,100%{transform:translateX(145px);opacity:0}}
@keyframes j-kite-keep{0%,28%{transform:translateY(0)}60%{transform:translateY(-10px)}100%{transform:translateY(0)}}
@keyframes j-three-remain{0%,72%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .j-line-spool{transform-origin:77px 84px;animation:j-spool-wind 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-line-kite{animation:j-kite-reel 2.5s cubic-bezier(.4,0,.2,1) both}
.curiosity-challenge[data-solved="true"] .j-line-thread{animation:j-thread-shortens 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-line-wind{animation:j-wind-settle 2.5s ease-out both}
@keyframes j-spool-wind{0%,25%{transform:rotate(0)}69%,100%{transform:rotate(360deg)}}
@keyframes j-kite-reel{0%,16%{transform:translate(0,0) scale(1)}85%,100%{transform:translate(-53px,36px) scale(.63)}}
@keyframes j-thread-shortens{0%,20%{opacity:1}78%,100%{opacity:0}}
@keyframes j-wind-settle{0%,46%{opacity:1}100%{opacity:.25}}
.curiosity-challenge[data-solved="true"] .j-connected-glow{animation:j-one-line-glows 2.25s ease-out both}
.curiosity-challenge[data-solved="true"] .j-connected-glow path{animation:j-line-trace 2.25s ease-out both}
@keyframes j-one-line-glows{0%,26%{opacity:0}90%,100%{opacity:1}}
@keyframes j-line-trace{0%,27%{stroke-dashoffset:230}83%,100%{stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .j-return-knot{animation:j-knot-lock 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-return-kite{animation:j-takeoff-home 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-return-string{animation:j-string-home 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .j-return-wind{animation:j-wind-through 2.55s ease-in-out both}
@keyframes j-knot-lock{0%,15%{transform:scale(1.1)}31%,100%{transform:scale(.88)}}
@keyframes j-takeoff-home{0%,23%{transform:translate(-50px,35px) scale(.7)}52%{transform:translate(0,-9px) scale(1)}100%{transform:translate(-68px,53px) scale(.58)}}
@keyframes j-string-home{0%,20%{opacity:0}40%,74%{opacity:1}100%{opacity:0}}
@keyframes j-wind-through{0%,25%{opacity:0;transform:translateX(-22px)}51%,75%{opacity:1}100%{opacity:.2;transform:translateX(56px)}}

/* NW03_A: eight separate answers. Each motion follows the prop's real use. */
.curiosity-stage .l-riddle-key,.curiosity-stage .l-riddle-note,.curiosity-stage .l-two-open,.curiosity-stage .l-order-window,.curiosity-stage .l-direction-unknown,.curiosity-stage .l-daystar-stitch,.curiosity-stage .l-closed-cloth,.curiosity-stage .l-fasten-star{opacity:0}
.curiosity-stage .l-riddle-key{transform-box:fill-box;transform-origin:center}
.curiosity-stage .l-shield-lid,.curiosity-stage .l-riddle-lid{transform-box:fill-box;transform-origin:left bottom}
.curiosity-stage .l-order-leaf,.curiosity-stage .l-order-stone,.curiosity-stage .l-order-moon,.curiosity-stage .l-fasten-star{transform-box:fill-box;transform-origin:center}
.curiosity-challenge[data-solved="true"] .l-shield-ghost{animation:l-shield-vanish 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .l-shield-stone{animation:l-stone-lands 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-shield-key{animation:l-key-finds-box 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-shield-lid{animation:l-box-lid-opens 2.5s ease-out both}
@keyframes l-shield-vanish{0%,22%{opacity:1}52%,100%{opacity:0;transform:scale(.68)}}
@keyframes l-stone-lands{0%,17%{transform:translate(0,0)}55%{transform:translate(0,75px)}66%{transform:translate(0,68px)}100%{transform:translate(0,75px)}}
@keyframes l-key-finds-box{0%,46%{transform:translate(0,0)}83%,100%{transform:translate(160px,15px) scale(.66)}}
@keyframes l-box-lid-opens{0%,75%{transform:rotate(0)}100%{transform:rotate(-28deg)}}
.curiosity-challenge[data-solved="true"] .l-riddle-key{animation:l-riddle-turn 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-riddle-lid{animation:l-riddle-lift 2.45s ease-out both}
.curiosity-challenge[data-solved="true"] .l-riddle-note{animation:l-riddle-paper 2.45s ease-out both}
@keyframes l-riddle-turn{0%,12%{opacity:0;transform:translate(-25px,8px) rotate(-8deg)}26%{opacity:1}55%{opacity:1;transform:translate(100px,20px) rotate(0)}75%{opacity:1;transform:translate(100px,20px) rotate(18deg)}100%{opacity:1;transform:translate(100px,20px) rotate(0)}}
@keyframes l-riddle-lift{0%,65%{transform:rotate(0)}90%,100%{transform:rotate(-18deg)}}
@keyframes l-riddle-paper{0%,69%{opacity:0;transform:translateY(21px)}100%{opacity:1;transform:translateY(-11px)}}
.curiosity-challenge[data-solved="true"] .l-two-good{animation:l-two-fits 2.3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-two-open{animation:l-two-opens 2.3s ease-out both}
@keyframes l-two-fits{0%,19%{transform:translateY(0)}58%,100%{transform:translateY(25px)}}
@keyframes l-two-opens{0%,57%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(-11px)}}
.curiosity-challenge[data-solved="true"] .l-order-leaf{animation:l-leaf-light 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-order-stone{animation:l-stone-light 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-order-moon{animation:l-moon-light 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-order-window{animation:l-window-reveal 2.55s ease-out both}
@keyframes l-leaf-light{0%,10%{transform:scale(1);filter:brightness(1)}28%,100%{transform:scale(1.3);filter:brightness(1.4)}}
@keyframes l-stone-light{0%,33%{transform:scale(1);filter:brightness(1)}52%,100%{transform:scale(1.28);filter:brightness(1.4)}}
@keyframes l-moon-light{0%,60%{transform:scale(1);filter:brightness(1)}81%,100%{transform:scale(1.32);filter:brightness(1.5)}}
@keyframes l-window-reveal{0%,82%{opacity:0;transform:scaleX(.12)}100%{opacity:1;transform:scaleX(1)}}
.curiosity-challenge[data-solved="true"] .l-direction-pin{transform-box:fill-box;transform-origin:center;animation:l-pin-spins 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-direction-arrows{animation:l-arrows-fade 2.4s ease-out both}
.curiosity-challenge[data-solved="true"] .l-direction-unknown{animation:l-unknown-shows 2.4s ease-out both}
@keyframes l-pin-spins{0%,14%{transform:rotate(0)}68%,100%{transform:rotate(185deg)}}
@keyframes l-arrows-fade{0%,45%{opacity:1}100%{opacity:.12}}
@keyframes l-unknown-shows{0%,72%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .l-daystar-pin{animation:l-star-fastens 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-daystar-stitch{animation:l-star-stitches 2.35s ease-out both}
.curiosity-stage .l-daystar-stitch path{stroke-dasharray:8 8;stroke-dashoffset:72}
.curiosity-challenge[data-solved="true"] .l-daystar-stitch path{animation:l-stitch-trace 2.35s linear both}
@keyframes l-star-fastens{0%,19%{transform:translateY(-25px) rotate(-8deg)}55%,100%{transform:translateY(0) rotate(0)}}
@keyframes l-star-stitches{0%,56%{opacity:0}100%{opacity:1}}
@keyframes l-stitch-trace{0%,55%{stroke-dashoffset:72}100%{stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .l-closed-pin{animation:l-closed-check 2.2s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-closed-cloth{animation:l-cloth-wraps 2.2s ease-out both}
@keyframes l-closed-check{0%,15%{transform:translateY(0)}39%{transform:translateY(-8px)}61%,100%{transform:translateY(0)}}
@keyframes l-cloth-wraps{0%,50%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .l-fasten-clasp{animation:l-clasp-opens 2.65s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-fasten-tip{animation:l-tip-pierces 2.65s ease-in-out both}
.curiosity-challenge[data-solved="true"] .l-fasten-star{animation:l-safe-star 2.65s ease-out both}
@keyframes l-clasp-opens{0%,12%{transform:translateX(0)}31%{transform:translateX(16px)}76%,100%{transform:translateX(-10px)}}
@keyframes l-tip-pierces{0%,32%{transform:translate(0,0)}66%,100%{transform:translate(66px,14px)}}
@keyframes l-safe-star{0%,78%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}

/* NW03_B: compartments preserve pieces; dew moves and disappears, written records remain. */
.curiosity-stage .m-swap-trail,.curiosity-stage .m-swap-four,.curiosity-stage .m-latch-inside,.curiosity-stage .m-twin-tray,.curiosity-stage .m-open-hand,.curiosity-stage .m-roll-three-mark,.curiosity-stage .m-evap-vapor,.curiosity-stage .m-five-paper,.curiosity-stage .m-record-four{opacity:0}
.curiosity-stage .m-latch-lid,.curiosity-stage .m-open-lid{transform-box:fill-box;transform-origin:left bottom}
.curiosity-challenge[data-solved="true"] .m-swap-pieces rect:nth-child(1){animation:m-piece-one 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-swap-pieces rect:nth-child(2){animation:m-piece-two 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-swap-pieces rect:nth-child(3){animation:m-piece-three 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-swap-pieces rect:nth-child(4){animation:m-piece-four 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-swap-trail{animation:m-trail 2.55s ease-out both}
.curiosity-challenge[data-solved="true"] .m-swap-four{animation:m-last-count 2.55s ease-out both}
@keyframes m-piece-one{0%,12%{transform:translateX(0)}34%,100%{transform:translateX(145px)}}
@keyframes m-piece-two{0%,26%{transform:translateX(0)}48%,100%{transform:translateX(145px)}}
@keyframes m-piece-three{0%,40%{transform:translateX(0)}62%,100%{transform:translateX(145px)}}
@keyframes m-piece-four{0%,54%{transform:translateX(0)}76%,100%{transform:translateX(145px)}}
@keyframes m-trail{0%,22%{opacity:0;stroke-dashoffset:24}45%,77%{opacity:.8;stroke-dashoffset:0}100%{opacity:0}}
@keyframes m-last-count{0%,73%{opacity:0;transform:translateY(7px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .m-latch-hook{animation:m-hook-release 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-latch-lid{animation:m-lid-lift 2.4s ease-out both}
.curiosity-challenge[data-solved="true"] .m-latch-inside{animation:m-inside-reveal 2.4s ease-out both}
@keyframes m-hook-release{0%,20%{transform:translateX(0)}47%,100%{transform:translateX(58px)}}
@keyframes m-lid-lift{0%,48%{transform:rotate(0)}100%{transform:rotate(-16deg)}}
@keyframes m-inside-reveal{0%,52%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .m-twin-chips{animation:m-twins-drop 2.25s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-twin-tray{animation:m-twin-tray-in 2.25s ease-out both}
@keyframes m-twins-drop{0%,30%{transform:translateY(0)}75%,100%{transform:translateY(13px)}}
@keyframes m-twin-tray-in{0%,51%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .m-open-hook{animation:m-open-hook 2.65s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-open-lid{animation:m-open-cover 2.65s ease-out both}
.curiosity-challenge[data-solved="true"] .m-open-chip{animation:m-open-pick 2.65s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-open-hand{animation:m-open-hand 2.65s ease-in-out both}
@keyframes m-open-hook{0%,12%{transform:translateX(0)}34%,100%{transform:translateX(55px)}}
@keyframes m-open-cover{0%,34%{transform:rotate(0)}58%,100%{transform:rotate(-23deg)}}
@keyframes m-open-pick{0%,58%{transform:translate(0,0)}100%{transform:translate(190px,-8px)}}
@keyframes m-open-hand{0%,55%{opacity:0;transform:translateX(28px)}100%{opacity:1;transform:translateX(0)}}
.curiosity-challenge[data-solved="true"] .m-roll-one{animation:m-roll-a 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-roll-two{animation:m-roll-b 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-roll-three{animation:m-roll-c 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-roll-three-mark{animation:m-roll-count 2.35s ease-out both}
@keyframes m-roll-a{0%,10%{transform:translateX(0)}57%,100%{transform:translateX(151px)}}
@keyframes m-roll-b{0%,22%{transform:translateX(0)}69%,100%{transform:translateX(151px)}}
@keyframes m-roll-c{0%,34%{transform:translateX(0)}81%,100%{transform:translateX(151px)}}
@keyframes m-roll-count{0%,79%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .m-evap-drop{animation:m-drop-vanish 2.5s ease-in both}
.curiosity-challenge[data-solved="true"] .m-evap-vapor{animation:m-vapor-rise 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .m-evap-sun{animation:m-sun-warm 2.5s ease-in-out both}
@keyframes m-drop-vanish{0%,25%{opacity:1;transform:scale(1)}76%,100%{opacity:0;transform:scale(.14)}}
@keyframes m-vapor-rise{0%,34%{opacity:0;transform:translateY(8px)}63%{opacity:.82}100%{opacity:.4;transform:translateY(-12px)}}
@keyframes m-sun-warm{0%,12%{filter:brightness(1)}55%,100%{filter:brightness(1.28)}}
.curiosity-challenge[data-solved="true"] .m-five-drops{animation:m-five-gleam 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-five-paper{animation:m-paper-appears 2.35s ease-out both}
@keyframes m-five-gleam{0%,16%{filter:brightness(1)}31%,38%,47%,56%,65%{filter:brightness(1.5)}100%{filter:brightness(1.16)}}
@keyframes m-paper-appears{0%,69%{opacity:0;transform:translateX(15px)}100%{opacity:1;transform:translateX(0)}}
.curiosity-challenge[data-solved="true"] .m-record-drops{animation:m-record-evaporate 2.65s ease-in both}
.curiosity-challenge[data-solved="true"] .m-record-pencil{animation:m-pencil-writes 2.65s ease-in-out both}
.curiosity-challenge[data-solved="true"] .m-record-four{animation:m-four-stays 2.65s ease-out both}
@keyframes m-record-evaporate{0%,56%{opacity:1}100%{opacity:0}}
@keyframes m-pencil-writes{0%,20%{transform:translate(-30px,17px)}61%{transform:translate(48px,-38px)}100%{transform:translate(105px,0)}}
@keyframes m-four-stays{0%,47%{opacity:0}68%,100%{opacity:1}}

/* NW03_C: rain and ink make eight causally different answer stories. */
#curiosity-challenge[data-question="chain-water-flower"] [data-option="一圈圈水纹"] .curiosity-object-icon{width:18px;height:9px;border:2px solid #649e9b;border-radius:50%;background:transparent;box-shadow:0 0 0 3px #d4e9df;transform:none}
#curiosity-challenge[data-question="chain-water-flower"] [data-option="真正的荷花"] .curiosity-object-icon{width:19px;height:19px;border:2px solid #af817f;border-radius:70% 10% 70% 10%;background:#e7b8b5;transform:rotate(45deg)}
#curiosity-challenge[data-question="chain-water-flower"] [data-option="碗里的石子"] .curiosity-object-icon{border-color:#8c8981;border-radius:45%;background:#b8b2a3;transform:none}
#curiosity-challenge[data-question="ink-eye-dot"] [data-option="鱼眼里的一点墨"] .curiosity-object-icon{width:19px;height:19px;border:5px solid #e8dbc1;border-radius:50%;background:#304d4a;box-shadow:0 0 0 2px #65847c;transform:none}
#curiosity-challenge[data-question="ink-eye-dot"] [data-option="纸边的一条线"] .curiosity-object-icon{width:19px;height:14px;border:0;border-left:3px solid #8a765c;border-bottom:3px solid #8a765c;border-radius:0;background:#f7edd8;transform:none}
#curiosity-challenge[data-question="ink-eye-dot"] [data-option="鱼尾的一滴水"] .curiosity-object-icon{border-color:#649ca5;background:#9ad0d4}
.curiosity-stage .n-pass-ripple,.curiosity-stage .n-flower-petals,.curiosity-stage .n-link-answer,.curiosity-stage .n-link-drop,.curiosity-stage .n-hang-drop,.curiosity-stage .n-ink-one,.curiosity-stage .n-eye-ink,.curiosity-stage .n-eye-wink,.curiosity-stage .n-fish-match,.curiosity-stage .n-ink-swirl{opacity:0}
.curiosity-stage .n-pass-ripple,.curiosity-stage .n-flower-core,.curiosity-stage .n-flower-petals,.curiosity-stage .n-ink-swirl{transform-box:fill-box;transform-origin:center}
.curiosity-stage .n-ink-pen{transform:translate(65px,-55px)}
.curiosity-challenge[data-solved="true"] .n-pass-one{animation:n-pass-a 2.4s ease-in both}
.curiosity-challenge[data-solved="true"] .n-pass-two{animation:n-pass-b 2.4s ease-in both}
.curiosity-challenge[data-solved="true"] .n-pass-three{animation:n-pass-c 2.4s ease-in both}
.curiosity-challenge[data-solved="true"] .n-pass-bowl{animation:n-bowl-catches 2.4s ease-out both}
.curiosity-challenge[data-solved="true"] .n-pass-ripple{animation:n-pass-rings 2.4s ease-out both}
@keyframes n-pass-a{0%,9%{opacity:1;transform:translateY(0)}64%{opacity:1;transform:translateY(70px)}100%{opacity:0;transform:translateY(70px)}}
@keyframes n-pass-b{0%,23%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(47px)}100%{opacity:0;transform:translateY(47px)}}
@keyframes n-pass-c{0%,37%{opacity:1;transform:translateY(0)}86%{opacity:1;transform:translateY(24px)}100%{opacity:0;transform:translateY(24px)}}
@keyframes n-bowl-catches{0%,61%{transform:translateY(0)}70%{transform:translateY(3px)}100%{transform:translateY(0)}}
@keyframes n-pass-rings{0%,63%{opacity:0;transform:scale(.4)}100%{opacity:.9;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .n-flower-drop{animation:n-flower-fall 2.35s ease-in both}
.curiosity-challenge[data-solved="true"] .n-flower-core{animation:n-flower-core 2.35s ease-out both}
.curiosity-challenge[data-solved="true"] .n-flower-petals{animation:n-flower-open 2.35s ease-out both}
@keyframes n-flower-fall{0%,19%{opacity:1;transform:translateY(0)}52%{opacity:1;transform:translateY(29px)}62%,100%{opacity:0;transform:translateY(29px)}}
@keyframes n-flower-core{0%,55%{transform:scale(.6)}82%,100%{transform:scale(1.2)}}
@keyframes n-flower-open{0%,55%{opacity:0;transform:scale(.18)}83%{opacity:1;transform:scale(1)}100%{opacity:.55;transform:scale(1.08)}}
.curiosity-challenge[data-solved="true"] .n-link-answer{animation:n-link-connect 2.45s ease-out both}
.curiosity-challenge[data-solved="true"] .n-link-drop{animation:n-link-water 2.45s ease-in-out both}
@keyframes n-link-connect{0%,31%{opacity:0;stroke-dashoffset:35}75%,100%{opacity:.9;stroke-dashoffset:0}}
@keyframes n-link-water{0%,22%{opacity:0;transform:translateY(0)}42%{opacity:1}87%,100%{opacity:1;transform:translateY(80px)}}
.curiosity-challenge[data-solved="true"] .n-hang-hook{animation:n-hook-down 2.65s ease-out both}
.curiosity-challenge[data-solved="true"] .n-hang-links circle:nth-child(2){animation:n-link-two 2.65s ease-in-out both}
.curiosity-challenge[data-solved="true"] .n-hang-links circle:nth-child(3){animation:n-link-three 2.65s ease-in-out both}
.curiosity-challenge[data-solved="true"] .n-hang-basin{animation:n-basin-under 2.65s ease-in-out both}
.curiosity-challenge[data-solved="true"] .n-hang-drop{animation:n-finish-drop 2.65s ease-out both}
@keyframes n-hook-down{0%,12%{transform:translateY(-28px)}31%,100%{transform:translateY(0)}}
@keyframes n-link-two{0%,34%{transform:translate(0,0)}60%,100%{transform:translate(-36px,6px)}}
@keyframes n-link-three{0%,48%{transform:translate(0,0)}71%,100%{transform:translate(-65px,7px)}}
@keyframes n-basin-under{0%,62%{transform:translateX(0)}88%,100%{transform:translateX(-145px)}}
@keyframes n-finish-drop{0%,79%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(19px)}}
.curiosity-challenge[data-solved="true"] .n-ink-reflections{animation:n-reflection-clears 2.35s ease-out both}
.curiosity-challenge[data-solved="true"] .n-ink-one{animation:n-ink-one 2.35s ease-out both}
@keyframes n-reflection-clears{0%,18%{opacity:.55;filter:blur(0)}52%{opacity:.35;filter:blur(3px)}100%{opacity:0;filter:blur(8px)}}
@keyframes n-ink-one{0%,66%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .n-eye-brush{animation:n-eye-brush 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .n-eye-ink{animation:n-eye-appears 2.45s ease-out both}
.curiosity-challenge[data-solved="true"] .n-eye-wink{animation:n-eye-winks 2.45s ease-in-out both}
@keyframes n-eye-brush{0%,16%{transform:translate(28px,-14px)}52%{transform:translate(-13px,-8px)}71%,100%{transform:translate(29px,-17px)}}
@keyframes n-eye-appears{0%,48%{opacity:0}62%,100%{opacity:1}}
@keyframes n-eye-winks{0%,67%{opacity:0}76%{opacity:1}91%,100%{opacity:0}}
.curiosity-challenge[data-solved="true"] .n-paper-b{animation:n-paper-align 2.35s ease-in-out both}
.curiosity-challenge[data-solved="true"] .n-fish-match{animation:n-match-frame 2.35s ease-out both}
@keyframes n-paper-align{0%,21%{transform:translateY(0)}55%{transform:translateY(-10px)}82%,100%{transform:translateY(0)}}
@keyframes n-match-frame{0%,62%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .n-ink-water{animation:n-water-to-ink 2.7s ease-in both}
.curiosity-challenge[data-solved="true"] .n-ink-swirl{animation:n-swirl-ink 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .n-ink-pen{animation:n-pen-dips 2.7s ease-in-out both}
@keyframes n-water-to-ink{0%,8%{opacity:1;transform:translateY(0)}35%{opacity:1;transform:translateY(51px)}49%,100%{opacity:0;transform:translateY(51px)}}
@keyframes n-swirl-ink{0%,30%{opacity:0;transform:scale(.6)}69%,100%{opacity:1;transform:scale(1)}}
@keyframes n-pen-dips{0%,63%{transform:translate(65px,-55px)}85%,100%{transform:translate(0,0)}}

/* NW03_O: eight distinct answers emerge from fog, optics, and a gentle firefly release. */
#curiosity-challenge[data-question="bottle-dew-smile"] [data-option="玻璃上的小水珠"] .curiosity-object-icon{border-color:#5499a0;background:#a7dad6}
#curiosity-challenge[data-question="bottle-dew-smile"] [data-option="瓶底的石子"] .curiosity-object-icon{border-color:#8a806c;border-radius:45%;background:#bcb09a;transform:none}
#curiosity-challenge[data-question="bottle-dew-smile"] [data-option="贴上的纸星"] .curiosity-object-icon{border-color:#a88959;border-radius:0;background:#ead39a;clip-path:polygon(50% 0,61% 35%,100% 35%,70% 58%,82% 100%,50% 75%,18% 100%,30% 58%,0 35%,39% 35%);transform:none}
#curiosity-challenge[data-question="shade-ground-star"] [data-option="地上的光斑"] .curiosity-object-icon{border-color:#caaa69;border-radius:50%;background:#f5e2a2;box-shadow:0 0 0 3px #f3eacb;transform:none}
#curiosity-challenge[data-question="shade-ground-star"] [data-option="天上的星星"] .curiosity-object-icon{border-color:#a88959;border-radius:0;background:#edd397;clip-path:polygon(50% 0,61% 35%,100% 35%,70% 58%,82% 100%,50% 75%,18% 100%,30% 58%,0 35%,39% 35%);transform:none}
#curiosity-challenge[data-question="shade-ground-star"] [data-option="发亮的石头"] .curiosity-object-icon{border-color:#8b8f86;border-radius:45%;background:#b8c2ae;transform:none}
.curiosity-stage .o-dew-dots,.curiosity-stage .o-dew-smile,.curiosity-stage .o-open-mist,.curiosity-stage .o-wheel-wind,.curiosity-stage .o-wheel-spiral,.curiosity-stage .o-star-beam,.curiosity-stage .o-floor-star,.curiosity-stage .o-living-trail,.curiosity-stage .o-release-trail{opacity:0}
.curiosity-stage .o-wheel-base,.curiosity-stage .o-wheel-blades{transform:translateX(90px)}
.curiosity-stage .o-wheel-blades,.curiosity-stage .o-floor-star,.curiosity-stage .o-dew-dots,.curiosity-stage .o-bottle-cloud,.curiosity-stage .o-turn-shade,.curiosity-stage .o-turn-bug{transform-box:fill-box;transform-origin:center}
.curiosity-stage .o-wheel-spiral,.curiosity-stage .o-dew-smile{stroke-dasharray:230;stroke-dashoffset:230}
.curiosity-challenge[data-solved="true"] .o-bottle-hand{animation:o-hand-reveals 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .o-bottle-cloud{animation:o-cloud-rabbit 2.45s ease-in-out both}
@keyframes o-hand-reveals{0%,19%{transform:translateX(0)}74%,100%{transform:translateX(88px)}}
@keyframes o-cloud-rabbit{0%,45%{transform:scale(.96)}77%{transform:scale(1.06)}100%{transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .o-dew-mist{animation:o-mist-clears 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .o-dew-dots{animation:o-drops-gather 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .o-dew-smile{animation:o-smile-draw 2.6s ease-out both}
@keyframes o-mist-clears{0%,22%{opacity:.9}67%,100%{opacity:.16;transform:translateY(-9px)}}
@keyframes o-drops-gather{0%,34%{opacity:0;transform:scale(.6)}72%,100%{opacity:1;transform:scale(1)}}
@keyframes o-smile-draw{0%,61%{opacity:0;stroke-dashoffset:230}100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .o-open-mist{animation:o-mist-escapes 2.45s ease-out both}
@keyframes o-mist-escapes{0%,27%{opacity:0;transform:translateY(8px)}60%{opacity:1}100%{opacity:.9;transform:translateY(-5px)}}
.curiosity-challenge[data-solved="true"] .o-wheel-base{animation:o-wheel-attach 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .o-wheel-blades{animation:o-wheel-spin 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .o-wheel-wind{animation:o-wheel-breath 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .o-wheel-spiral{animation:o-wheel-fog 2.7s ease-out both}
@keyframes o-wheel-attach{0%,13%{transform:translateX(90px)}37%,100%{transform:translateX(0)}}
@keyframes o-wheel-spin{0%,14%{transform:translateX(90px) rotate(0)}37%{transform:translateX(0) rotate(0)}100%{transform:translateX(0) rotate(580deg)}}
@keyframes o-wheel-breath{0%,40%{opacity:0;transform:translateX(-9px)}64%{opacity:1}100%{opacity:.45;transform:translateX(14px)}}
@keyframes o-wheel-fog{0%,57%{opacity:0;stroke-dashoffset:230}100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .o-turn-shade{animation:o-shade-turns 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .o-turn-star{animation:o-star-slides 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .o-turn-bug{animation:o-bug-stays 2.45s ease-in-out both}
@keyframes o-shade-turns{0%,16%{transform:translateX(0) scaleX(1)}76%,100%{transform:translateX(8px) scaleX(.88)}}
@keyframes o-star-slides{0%,18%{transform:translateX(0)}82%,100%{transform:translateX(127px)}}
@keyframes o-bug-stays{0%,46%{transform:scale(1)}68%{transform:scale(1.07)}100%{transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .o-star-beam{animation:o-beam-through 2.45s ease-out both}
.curiosity-challenge[data-solved="true"] .o-floor-star{animation:o-ground-spark 2.45s ease-out both}
@keyframes o-beam-through{0%,29%{opacity:0}65%,100%{opacity:.45}}
@keyframes o-ground-spark{0%,47%{opacity:0;transform:scale(.2)}80%{opacity:1;transform:scale(1.12)}100%{opacity:.85;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .o-living-bug{animation:o-bug-lifts 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .o-living-trail{animation:o-bug-trail 2.4s ease-out both}
@keyframes o-bug-lifts{0%,17%{transform:translate(0,0)}63%{transform:translate(28px,-20px)}100%{transform:translate(70px,-34px)}}
@keyframes o-bug-trail{0%,33%{opacity:0}77%,100%{opacity:.78}}
.curiosity-challenge[data-solved="true"] .o-release-latch{animation:o-latch-opens 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .o-release-dome{animation:o-dome-lifts 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .o-release-bug{animation:o-firefly-goes-home 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .o-release-trail{animation:o-release-dashes 2.75s ease-out both}
@keyframes o-latch-opens{0%,9%{transform:translateX(0)}31%,100%{transform:translateX(48px)}}
@keyframes o-dome-lifts{0%,29%{transform:translate(0,0)}65%,100%{transform:translate(-18px,-4px)}}
@keyframes o-firefly-goes-home{0%,58%{transform:translate(0,0)}100%{transform:translate(130px,18px)}}
@keyframes o-release-dashes{0%,63%{opacity:0}100%{opacity:.85}}

/* NW04_A: pages, veins, fitted corners and safe binding; mirror text, symmetry, join and storage. */
#curiosity-challenge[data-question="leaf-vein-map"] [data-option="叶脉"] .curiosity-object-icon{border-color:#5f926e;border-radius:0 80% 0 80%;background:#b8d7a2;transform:rotate(-25deg)}
#curiosity-challenge[data-question="leaf-vein-map"] [data-option="树根"] .curiosity-object-icon{border-color:#8d7155;border-radius:0;background:linear-gradient(45deg,transparent 44%,#a88962 45% 55%,transparent 56%);transform:none}
#curiosity-challenge[data-question="leaf-vein-map"] [data-option="缝书的线"] .curiosity-object-icon{border-color:#b7a27e;border-radius:50%;background:#e8d9b6;transform:none}
#curiosity-challenge[data-question="mirror-half-butterfly"] [data-option="镜里的另一半"] .curiosity-object-icon{border-color:#6c9c98;border-radius:50% 0 50% 0;background:linear-gradient(90deg,#c6d7bc 50%,#d4ede5 50%);transform:none}
#curiosity-challenge[data-question="mirror-half-butterfly"] [data-option="又飞来一只蝴蝶"] .curiosity-object-icon{border-color:#b38b62;border-radius:50% 0 50% 0;background:#d5ad7e;transform:rotate(35deg)}
#curiosity-challenge[data-question="mirror-half-butterfly"] [data-option="墨迹自己长出来"] .curiosity-object-icon{border-color:#4d6764;border-radius:50% 50% 50% 6%;background:#73918a;transform:rotate(45deg)}
.curiosity-stage .p-page-two,.curiosity-stage .p-page-three-tab,.curiosity-stage .p-side-veins,.curiosity-stage .p-fit-butterfly,.curiosity-stage .p-binding-thread,.curiosity-stage .p-bound-sun,.curiosity-stage .p-butterfly-mirror,.curiosity-stage .p-joined-line,.curiosity-stage .p-bamboo-shoot,.curiosity-stage .p-soft-wrap,.curiosity-stage .p-box-moon{opacity:0}
.curiosity-stage .p-binding-thread,.curiosity-stage .p-joined-line{stroke-dasharray:240;stroke-dashoffset:240}
.curiosity-stage .p-page-three,.curiosity-stage .p-butterfly-mirror{transform-box:fill-box;transform-origin:left center}
.curiosity-stage .p-bound-sun,.curiosity-stage .p-bamboo-shoot{transform-box:fill-box;transform-origin:center}
.curiosity-stage .p-fit-butterfly{transform-box:fill-box;transform-origin:center}
.curiosity-stage .p-loose-right,.curiosity-stage .p-safe-shard{transform-box:fill-box;transform-origin:center}
.curiosity-stage .p-box-lid{transform:translate(69px,-30px)}
.curiosity-challenge[data-solved="true"] .p-page-three{animation:p-page-fold 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .p-page-two{animation:p-page-reveal 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .p-page-three-tab{animation:p-page-reveal 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .p-page-gust{animation:p-gust-arrives 2.5s ease-out both}
@keyframes p-page-fold{0%,20%{transform:scaleX(1);opacity:1}72%,100%{transform:scaleX(.025);opacity:.42}}
@keyframes p-page-reveal{0%,44%{opacity:0}79%,100%{opacity:1}}
@keyframes p-gust-arrives{0%,17%{opacity:.2;transform:translateX(16px)}48%{opacity:1;transform:translateX(-30px)}100%{opacity:.35;transform:translateX(-70px)}}
.curiosity-challenge[data-solved="true"] .p-main-vein{animation:p-vein-traces 2.45s ease-out both}
.curiosity-challenge[data-solved="true"] .p-side-veins{animation:p-branches-appear 2.45s ease-out both}
.curiosity-challenge[data-solved="true"] .p-ladybug{animation:p-ladybug-follows 2.45s ease-in-out both}
@keyframes p-vein-traces{0%,17%{stroke-dasharray:190;stroke-dashoffset:190}76%,100%{stroke-dasharray:190;stroke-dashoffset:0}}
@keyframes p-branches-appear{0%,38%{opacity:0}78%,100%{opacity:1}}
@keyframes p-ladybug-follows{0%,42%{transform:translate(0,0)}100%{transform:translate(82px,-48px)}}
.curiosity-challenge[data-solved="true"] .p-fit-corner{animation:p-corner-seats 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .p-fit-butterfly{animation:p-butterfly-joins 2.45s ease-out both}
@keyframes p-corner-seats{0%,21%{transform:translateX(0)}76%,100%{transform:translateX(-109px)}}
@keyframes p-butterfly-joins{0%,68%{opacity:0;transform:translateY(5px) scale(.65)}100%{opacity:1;transform:translateY(-3px) scale(1)}}
.curiosity-challenge[data-solved="true"] .p-loose-left{animation:p-leaf-align-left 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .p-loose-right{animation:p-leaf-align-right 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .p-binding-thread{animation:p-thread-through 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .p-bound-sun{animation:p-sun-inside 2.7s ease-out both}
@keyframes p-leaf-align-left{0%,12%{transform:translate(0,0)}44%,100%{transform:translate(87px,7px)}}
@keyframes p-leaf-align-right{0%,12%{transform:translate(0,0)}44%,77%{transform:translate(-59px,6px)}100%{transform:translate(-59px,6px) scaleX(.18)}}
@keyframes p-thread-through{0%,43%{opacity:0;stroke-dashoffset:240}77%,100%{opacity:1;stroke-dashoffset:0}}
@keyframes p-sun-inside{0%,78%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .p-word-mirror{animation:p-word-reflection-away 2.4s ease-in-out both}
.curiosity-challenge[data-solved="true"] .p-word-unchanged{animation:p-original-underlines 2.4s ease-out both}
@keyframes p-word-reflection-away{0%,20%{transform:translateX(0);opacity:1}82%,100%{transform:translateX(95px);opacity:.2}}
@keyframes p-original-underlines{0%,57%{stroke-dasharray:70;stroke-dashoffset:70}100%{stroke-dasharray:70;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .p-butterfly-mirror{animation:p-wing-appears 2.5s ease-in-out both}
@keyframes p-wing-appears{0%,27%{opacity:0;transform:scaleX(.08)}74%{opacity:1;transform:scaleX(1.1)}100%{opacity:.85;transform:scaleX(1)}}
.curiosity-challenge[data-solved="true"] .p-good-shard{animation:p-shard-fits 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .p-joined-line{animation:p-line-completes 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .p-bamboo-shoot{animation:p-shoot-unfolds 2.5s ease-out both}
@keyframes p-shard-fits{0%,17%{transform:translate(0,0)}70%,100%{transform:translate(-128px,27px)}}
@keyframes p-line-completes{0%,67%{opacity:0;stroke-dashoffset:240}100%{opacity:1;stroke-dashoffset:0}}
@keyframes p-shoot-unfolds{0%,77%{opacity:0;transform:translateX(-290px) scale(.3)}100%{opacity:1;transform:translateX(-290px) scale(1)}}
.curiosity-challenge[data-solved="true"] .p-soft-wrap{animation:p-cloth-wraps 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .p-safe-shard{animation:p-shard-stores 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .p-box-lid{animation:p-lid-closes 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .p-box-moon{animation:p-moon-stamp 2.8s ease-out both}
@keyframes p-cloth-wraps{0%,22%{opacity:0;stroke-dasharray:240;stroke-dashoffset:240}46%,100%{opacity:1;stroke-dasharray:240;stroke-dashoffset:0}}
@keyframes p-shard-stores{0%,45%{transform:translateY(0) scale(1);opacity:1}78%{transform:translateY(38px) scale(.45);opacity:1}94%,100%{transform:translateY(38px) scale(.45);opacity:0}}
@keyframes p-lid-closes{0%,76%{transform:translate(69px,-30px)}100%{transform:translate(0,0)}}
@keyframes p-moon-stamp{0%,88%{opacity:0}100%{opacity:1}}

/* NW04_B: eight distinct, question-specific outcomes for the sign and top. */
.curiosity-stage .q-claim-stone,.curiosity-stage .q-grain-acorn,.curiosity-stage .q-order-back,.curiosity-stage .q-order-marker,.curiosity-stage .q-ink-ring,.curiosity-stage .q-ink-z,.curiosity-stage .q-wake-stars,.curiosity-stage .q-track-flower,.curiosity-stage .q-play-tray,.curiosity-stage .q-play-colour{opacity:0}
.curiosity-stage .q-ink-ring{stroke-dasharray:570;stroke-dashoffset:570}
.curiosity-stage .q-shadow{transform-box:fill-box;transform-origin:center}
.curiosity-stage .q-track-b{stroke-dasharray:330;stroke-dashoffset:0}
.curiosity-stage .q-wake-top,.curiosity-stage .q-ink-top,.curiosity-stage .q-play-top{transform-box:fill-box;transform-origin:center}
.curiosity-stage .q-order-sign,.curiosity-stage .q-order-back{transform-box:fill-box;transform-origin:center}
.curiosity-stage .q-play-lid{transform:translateY(-21px)}
.curiosity-challenge[data-solved="true"] .q-claim-left{animation:q-claim-left 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-claim-right{animation:q-claim-right 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-claim-stone{animation:q-claim-stone 2.5s ease-out both}
@keyframes q-claim-left{0%,19%{transform:translateX(0);opacity:1}68%,100%{transform:translateX(-15px);opacity:.58}}
@keyframes q-claim-right{0%,19%{transform:translateX(0);opacity:1}68%,100%{transform:translateX(15px);opacity:.58}}
@keyframes q-claim-stone{0%,54%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .q-sun{animation:q-sun-crosses 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-shadow{animation:q-shadow-moves 2.55s ease-in-out both}
@keyframes q-sun-crosses{0%,12%{transform:translateX(0)}100%{transform:translateX(-238px)}}
@keyframes q-shadow-moves{0%,15%{transform:translateX(0) scaleX(1)}59%{transform:translateX(28px) scaleX(.36)}100%{transform:translateX(130px) scaleX(-1)}}
.curiosity-challenge[data-solved="true"] .q-grain-b{animation:q-grain-overlays 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-grain-acorn{animation:q-acorn-appears 2.5s ease-out both}
@keyframes q-grain-overlays{0%,14%{transform:translate(0,0);opacity:1}70%,100%{transform:translate(-186px,-1px);opacity:.65}}
@keyframes q-acorn-appears{0%,73%{opacity:0;transform:translateY(11px) scale(.4)}100%{opacity:1;transform:translateY(0) scale(1)}}
.curiosity-challenge[data-solved="true"] .q-order-sign{animation:q-sign-flips 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-order-back{animation:q-back-appears 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-order-marker{animation:q-marker-shows 2.75s ease-out both}
@keyframes q-sign-flips{0%,25%{transform:scaleX(1);opacity:1}57%,100%{transform:scaleX(.02);opacity:0}}
@keyframes q-back-appears{0%,32%{transform:scaleX(.02);opacity:0}72%,100%{transform:scaleX(1);opacity:1}}
@keyframes q-marker-shows{0%,34%{opacity:0;transform:translateY(12px)}72%,100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .q-ink-ring{animation:q-ink-draws 2.55s ease-out both}
.curiosity-challenge[data-solved="true"] .q-ink-top{animation:q-ink-rests 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-ink-z{animation:q-ink-sleeps 2.55s ease-out both}
@keyframes q-ink-draws{0%,15%{opacity:0;stroke-dashoffset:570}85%,100%{opacity:1;stroke-dashoffset:0}}
@keyframes q-ink-rests{0%,54%{transform:translate(0,0) rotate(0)}80%,100%{transform:translate(72px,12px) rotate(67deg)}}
@keyframes q-ink-sleeps{0%,80%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .q-wake-top{animation:q-top-wakes 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-wake-z{animation:q-wake-z-leaves 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .q-wake-stars{animation:q-wake-constellation 2.5s ease-out both}
@keyframes q-top-wakes{0%,15%{transform:rotate(61deg) translateY(8px)}40%{transform:rotate(-13deg) translateY(-9px)}72%{transform:rotate(18deg) translateY(-5px)}100%{transform:rotate(0) translateY(0)}}
@keyframes q-wake-z-leaves{0%,20%{opacity:1;transform:translateY(0)}70%,100%{opacity:0;transform:translateY(-22px)}}
@keyframes q-wake-constellation{0%,55%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .q-track-bead{animation:q-bead-follows 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-track-flower{animation:q-track-blooms 2.55s ease-out both}
@keyframes q-bead-follows{0%,15%{transform:translate(0,0)}34%{transform:translate(57px,-10px)}57%{transform:translate(114px,0)}79%{transform:translate(171px,10px)}100%{transform:translate(228px,0)}}
@keyframes q-track-blooms{0%,81%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .q-play-tray{animation:q-tray-lands 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .q-play-top{animation:q-play-finishes 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .q-play-colour{animation:q-play-paints 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .q-play-lid{animation:q-play-lid 2.8s ease-in-out both}
@keyframes q-tray-lands{0%,13%{opacity:0;transform:translateY(-21px)}38%,100%{opacity:1;transform:translateY(0)}}
@keyframes q-play-finishes{0%,33%{transform:translate(0,0) rotate(0) scale(1);opacity:1}60%{transform:translate(0,0) rotate(360deg) scale(1);opacity:1}91%,100%{transform:translate(117px,13px) rotate(390deg) scale(.5);opacity:0}}
@keyframes q-play-paints{0%,46%{opacity:0;stroke-dasharray:130;stroke-dashoffset:130}74%,100%{opacity:1;stroke-dasharray:130;stroke-dashoffset:0}}
@keyframes q-play-lid{0%,77%{transform:translateY(-21px)}100%{transform:translateY(0)}}

/* NW04_C: hourglass evidence and measured time; an automaton's button, gears and distinct wing beats. */
.curiosity-stage .r-sand-house,.curiosity-stage .r-room-stream,.curiosity-stage .r-bottom-three,.curiosity-stage .r-lower-pile,.curiosity-stage .r-upper-pile,.curiosity-stage .r-order-stream,.curiosity-stage .r-bow-gear,.curiosity-stage .r-gear-inside,.curiosity-stage .r-gear-sound,.curiosity-stage .r-record-stage,.curiosity-stage .r-record-bird,.curiosity-stage .r-record-beats,.curiosity-stage .r-greeting-star,.curiosity-stage .r-bug-dream{opacity:0}
.curiosity-stage .r-order-ticks path,.curiosity-stage .r-greeting-feet{opacity:.2}
.curiosity-stage .r-greeting-left,.curiosity-stage .r-greeting-right{transform:scaleX(.2);opacity:.35}
.curiosity-stage .r-bow-crane{transform-box:fill-box;transform-origin:center bottom}
.curiosity-stage .r-bow-gear,.curiosity-stage .r-fallen-leaf{transform-box:fill-box;transform-origin:center}
.curiosity-stage .r-gear-hatch{transform-box:fill-box;transform-origin:center}
.curiosity-stage .r-record-left{transform-box:fill-box;transform-origin:right bottom}
.curiosity-stage .r-record-right{transform-box:fill-box;transform-origin:left bottom}
.curiosity-stage .r-record-bird{transform-box:fill-box;transform-origin:center bottom}
.curiosity-stage .r-greeting-left{transform-box:fill-box;transform-origin:right center}
.curiosity-stage .r-greeting-right{transform-box:fill-box;transform-origin:left center}
.curiosity-stage .r-greeting-head{transform-box:fill-box;transform-origin:left bottom}
.curiosity-challenge[data-solved="true"] .r-reverse-grains{animation:r-sand-climbs 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-fallen-leaf{animation:r-leaf-stays 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .r-bug-dream{animation:r-bug-sleeps 2.5s ease-out both}
@keyframes r-sand-climbs{0%,18%{transform:translateY(0)}78%,100%{transform:translateY(-42px)}}
@keyframes r-leaf-stays{0%,30%{transform:translateX(0) rotate(0)}82%,100%{transform:translateX(22px) rotate(7deg)}}
@keyframes r-bug-sleeps{0%,75%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .r-room-sand{animation:r-room-grains 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-room-stream{animation:r-room-pours 2.55s ease-out both}
.curiosity-challenge[data-solved="true"] .r-sand-house{animation:r-house-builds 2.55s ease-out both}
@keyframes r-room-grains{0%,12%{transform:translateY(0);opacity:1}70%{transform:translateY(28px);opacity:.7}100%{transform:translateY(34px);opacity:0}}
@keyframes r-room-pours{0%,25%{opacity:0}48%,80%{opacity:1}100%{opacity:.3}}
@keyframes r-house-builds{0%,61%{opacity:0;transform:translateY(19px) scale(.5)}100%{opacity:1;transform:translateY(0) scale(1)}}
.curiosity-challenge[data-solved="true"] .r-passing-grain{animation:r-grain-passes 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-bottom-three{animation:r-three-land 2.5s ease-out both}
@keyframes r-grain-passes{0%,14%{transform:translateY(0);opacity:1}75%{transform:translateY(39px);opacity:1}100%{transform:translateY(39px);opacity:0}}
@keyframes r-three-land{0%,70%{opacity:0;transform:translateY(-7px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .r-upper-pile{animation:r-top-loads 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .r-order-stream{animation:r-time-pours 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .r-lower-pile{animation:r-bottom-fills 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .r-order-ticks path:nth-child(1){animation:r-tick-one 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .r-order-ticks path:nth-child(2){animation:r-tick-two 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .r-order-ticks path:nth-child(3){animation:r-tick-three 2.75s ease-out both}
@keyframes r-top-loads{0%,8%{opacity:0;transform:translateY(-12px)}26%,55%{opacity:1;transform:translateY(0)}100%{opacity:.18;transform:translateY(8px)}}
@keyframes r-time-pours{0%,30%{opacity:0}50%,100%{opacity:1}}
@keyframes r-bottom-fills{0%,48%{opacity:0;transform:scaleY(.2)}100%{opacity:1;transform:scaleY(1)}}
@keyframes r-tick-one{0%,39%{opacity:.2}40%,100%{opacity:1}}
@keyframes r-tick-two{0%,62%{opacity:.2}63%,100%{opacity:1}}
@keyframes r-tick-three{0%,85%{opacity:.2}86%,100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .r-bow-press{animation:r-button-presses 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-bow-gear{animation:r-gear-reveals 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .r-bow-crane{animation:r-crane-bows 2.5s ease-in-out both}
@keyframes r-button-presses{0%,12%{transform:translateY(0)}33%,100%{transform:translateY(10px)}}
@keyframes r-gear-reveals{0%,31%{opacity:0;transform:rotate(0)}77%,100%{opacity:1;transform:rotate(110deg)}}
@keyframes r-crane-bows{0%,49%{transform:rotate(0)}78%{transform:rotate(21deg)}100%{transform:rotate(16deg)}}
.curiosity-challenge[data-solved="true"] .r-gear-wing{animation:r-wing-opens 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-gear-hatch{animation:r-hatch-opens 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-gear-inside{animation:r-gear-shows 2.55s ease-out both}
.curiosity-challenge[data-solved="true"] .r-gear-sound{animation:r-clacks 2.55s ease-out both}
@keyframes r-wing-opens{0%,18%{transform:scaleX(.27)}69%,100%{transform:scaleX(1)}}
@keyframes r-hatch-opens{0%,44%{transform:translateX(0)}82%,100%{transform:translateX(35px)}}
@keyframes r-gear-shows{0%,48%{opacity:0}100%{opacity:1}}
@keyframes r-clacks{0%,70%{opacity:0;transform:translateX(-5px)}100%{opacity:1;transform:translateX(0)}}
.curiosity-challenge[data-solved="true"] .r-record-stage{animation:r-record-marks 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .r-record-bird{animation:r-paper-bird-rises 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .r-record-label-b{animation:r-record-label-fades 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .r-record-beats{opacity:1}
.curiosity-stage .r-record-beats circle{opacity:0}
.curiosity-challenge[data-solved="true"] .r-record-left{animation:r-left-beats 2.6s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-record-right{animation:r-right-beat 2.6s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-record-beats circle:nth-child(1){animation:r-beat-one 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .r-record-beats circle:nth-child(2){animation:r-beat-two 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .r-record-beats circle:nth-child(3){animation:r-beat-three 2.6s ease-out both}
@keyframes r-record-marks{0%,22%{opacity:0}54%,100%{opacity:1}}
@keyframes r-paper-bird-rises{0%,32%{opacity:0;transform:translateY(13px) scale(.6)}65%,100%{opacity:1;transform:translateY(0) scale(1.35)}}
@keyframes r-record-label-fades{0%,43%{opacity:1}72%,100%{opacity:.25}}
@keyframes r-left-beats{0%,46%{transform:rotate(0)}55%{transform:rotate(-30deg)}64%{transform:rotate(0)}78%{transform:rotate(-30deg)}100%{transform:rotate(0)}}
@keyframes r-right-beat{0%,62%{transform:rotate(0)}72%{transform:rotate(30deg)}82%,100%{transform:rotate(0)}}
@keyframes r-beat-one{0%,48%{opacity:0}49%,100%{opacity:1}}
@keyframes r-beat-two{0%,65%{opacity:0}66%,100%{opacity:1}}
@keyframes r-beat-three{0%,81%{opacity:0}82%,100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .r-greeting-feet{animation:r-feet-settle 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .r-greeting-left,.curiosity-challenge[data-solved="true"] .r-greeting-right{animation:r-wings-unfold 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-greeting-head{animation:r-head-bows 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .r-greeting-star{animation:r-star-curtains 2.8s ease-out both}
@keyframes r-feet-settle{0%,16%{opacity:.2}33%,100%{opacity:1}}
@keyframes r-wings-unfold{0%,32%{transform:scaleX(.2);opacity:.35}65%,100%{transform:scaleX(1);opacity:1}}
@keyframes r-head-bows{0%,67%{transform:rotate(0)}90%,100%{transform:rotate(19deg)}}
@keyframes r-star-curtains{0%,85%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}

/* NW04_O: moving light, shadow theatre, hat matching and a miniature seal workshop. */
.curiosity-stage .s-shadow-beam,.curiosity-stage .s-shadow-waves,.curiosity-stage .s-hat-knot,.curiosity-stage .s-theatre-bow,.curiosity-stage .s-footprint,.curiosity-stage .s-ant,.curiosity-stage .s-print-trail>g,.curiosity-stage .s-paper-door,.curiosity-stage .s-outer-print,.curiosity-stage .s-notch-b>path:nth-child(2){opacity:0}
.curiosity-stage .s-lamp-on{opacity:.3}
.curiosity-stage .s-curtain{transform:scaleY(.05);transform-box:fill-box;transform-origin:top center}
.curiosity-stage .s-theatre-lamp{opacity:.25}
.curiosity-stage .s-theatre-puppet{transform:translateY(35px)}
.curiosity-stage .s-lifting-stamp,.curiosity-stage .s-print-stamp,.curiosity-stage .s-order-stamp,.curiosity-stage .s-ink-lid,.curiosity-stage .s-point-hat{transform-box:fill-box;transform-origin:center}
.curiosity-stage .s-notch-b{transform-box:fill-box;transform-origin:center}
.curiosity-stage .s-ink-lid{transform-origin:left center}
.curiosity-challenge[data-solved="true"] .s-lamp-car{animation:s-lamp-travels 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .s-moving-shadow{animation:s-shadow-opposes 2.5s ease-in-out both}
@keyframes s-lamp-travels{0%,18%{transform:translateX(0)}80%,100%{transform:translateX(74px)}}
@keyframes s-shadow-opposes{0%,25%{transform:translateX(0)}85%,100%{transform:translateX(-25px)}}
.curiosity-challenge[data-solved="true"] .s-lamp-on{animation:s-lamp-wakes 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .s-shadow-beam{animation:s-light-beam 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .s-shadow-waves{animation:s-shadow-greets 2.5s ease-in-out both}
@keyframes s-lamp-wakes{0%,22%{opacity:.3}60%,100%{opacity:1}}
@keyframes s-light-beam{0%,38%{opacity:0}75%,100%{opacity:.34}}
@keyframes s-shadow-greets{0%,55%{opacity:0;transform:translateY(11px)}76%{opacity:1;transform:translateY(0)}88%{transform:rotate(-4deg)}100%{opacity:1;transform:rotate(0)}}
.curiosity-challenge[data-solved="true"] .s-point-hat{animation:s-hat-lifts 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .s-hat-knot{animation:s-knot-shows 2.5s ease-out both}
@keyframes s-hat-lifts{0%,25%{transform:translateY(0)}78%,100%{transform:translateY(-48px)}}
@keyframes s-knot-shows{0%,78%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .s-curtain{animation:s-screen-unroll 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .s-theatre-lamp{animation:s-stage-lights 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .s-theatre-puppet{animation:s-puppet-rises 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .s-theatre-bow{animation:s-bow-appears 2.8s ease-out both}
@keyframes s-screen-unroll{0%,12%{transform:scaleY(.05)}43%,100%{transform:scaleY(1)}}
@keyframes s-stage-lights{0%,35%{opacity:.25}65%,100%{opacity:1}}
@keyframes s-puppet-rises{0%,52%{transform:translateY(35px)}82%,100%{transform:translateY(0)}}
@keyframes s-bow-appears{0%,80%{opacity:0;transform:translateY(5px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .s-lifting-stamp{animation:s-stamp-lifts 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .s-footprint{animation:s-mark-stays 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .s-ant{animation:s-ant-inspects 2.5s ease-out both}
@keyframes s-stamp-lifts{0%,19%{transform:translateY(0)}72%,100%{transform:translateY(-12px)}}
@keyframes s-mark-stays{0%,35%{opacity:0}72%,100%{opacity:1}}
@keyframes s-ant-inspects{0%,59%{opacity:0;transform:translateX(15px)}100%{opacity:1;transform:translateX(-20px)}}
.curiosity-challenge[data-solved="true"] .s-print-stamp{animation:s-riddle-press 2.6s ease-in-out both}
.curiosity-challenge[data-solved="true"] .s-print-trail>g:nth-child(1){animation:s-trail-one 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .s-print-trail>g:nth-child(2){animation:s-trail-two 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .s-print-trail>g:nth-child(3){animation:s-trail-three 2.6s ease-out both}
.curiosity-challenge[data-solved="true"] .s-paper-door{animation:s-door-arrives 2.6s ease-out both}
@keyframes s-riddle-press{0%,18%{transform:translateY(-12px)}45%{transform:translateY(9px)}70%,100%{transform:translateY(-12px)}}
@keyframes s-trail-one{0%,49%{opacity:0}50%,100%{opacity:1}}
@keyframes s-trail-two{0%,63%{opacity:0}64%,100%{opacity:1}}
@keyframes s-trail-three{0%,77%{opacity:0}78%,100%{opacity:1}}
@keyframes s-door-arrives{0%,79%{opacity:0;transform:scaleY(.3)}100%{opacity:1;transform:scaleY(1)}}
.curiosity-challenge[data-solved="true"] .s-notch-b{animation:s-notch-aligns 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .s-notch-b>path:nth-child(2){animation:s-notch-frame 2.55s ease-out both}
@keyframes s-notch-aligns{0%,29%{transform:translateY(0)}82%,100%{transform:translateY(-42px)}}
@keyframes s-notch-frame{0%,67%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .s-ink-lid{animation:s-ink-opens 2.85s ease-in-out both}
.curiosity-challenge[data-solved="true"] .s-order-stamp{animation:s-ink-to-paper 2.85s ease-in-out both}
.curiosity-challenge[data-solved="true"] .s-outer-print{animation:s-nested-print 2.85s ease-out both}
@keyframes s-ink-opens{0%,11%{transform:rotate(0)}35%,100%{transform:rotate(-57deg)}}
@keyframes s-ink-to-paper{0%,23%{transform:translate(0,-8px)}43%{transform:translate(-110px,29px)}65%{transform:translate(60px,19px)}85%,100%{transform:translate(60px,-8px)}}
@keyframes s-nested-print{0%,77%{opacity:0}100%{opacity:1}}

/* NW05_A: migrating stars, a lit flower, oil-fed wick and four distinct papercut reveals. */
.curiosity-stage .t-star-eye,.curiosity-stage .t-flame,.curiosity-stage .t-wind,.curiosity-stage .t-oil-rise,.curiosity-stage .t-oil-spark,.curiosity-stage .t-attach-stars,.curiosity-stage .t-lamp-petals,.curiosity-stage .t-hidden-half,.curiosity-stage .t-peek-rabbit,.curiosity-stage .t-rabbit-trail,.curiosity-stage .t-star-full,.curiosity-stage .t-half-outline,.curiosity-stage .t-cut-line,.curiosity-stage .t-twin-rabbits{opacity:0}
.curiosity-stage .t-lit-flower{opacity:.23}
.curiosity-stage .t-star-mirror{transform-box:fill-box;transform-origin:left center;transform:scaleX(0)}
.curiosity-stage .t-hidden-half{transform-box:fill-box;transform-origin:left center;transform:scaleX(0)}
.curiosity-stage .t-folded-moon{transform-box:fill-box;transform-origin:right center}
.curiosity-stage .t-set-wick{opacity:0;transform:translateY(-35px)}
.curiosity-stage .t-rabbit-hop{transform-box:fill-box;transform-origin:center bottom}
.curiosity-stage .t-cut-paper{transform-box:fill-box;transform-origin:center;transform:scaleX(.5)}
.curiosity-stage .t-cut-line{stroke-dasharray:120;stroke-dashoffset:120}
.curiosity-challenge[data-solved="true"] .t-leap-star{animation:t-star-jumps 2.45s ease-in-out both}
.curiosity-challenge[data-solved="true"] .t-star-eye{animation:t-star-blinks 2.45s ease-out both}
@keyframes t-star-jumps{0%,20%{transform:translate(0,0)}55%{transform:translate(27px,-31px)}83%,100%{transform:translate(50px,-26px)}}
@keyframes t-star-blinks{0%,81%{opacity:0}90%{opacity:1}95%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .t-flame{animation:t-flame-bows 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .t-wind{animation:t-gust-arrives 2.5s ease-out both}
.curiosity-challenge[data-solved="true"] .t-lit-flower{animation:t-flower-glows 2.5s ease-out both}
@keyframes t-flame-bows{0%,16%{opacity:0;transform:scaleY(.2)}45%{opacity:1;transform:scaleY(1)}74%{transform:skewX(-17deg)}100%{opacity:1;transform:skewX(-10deg)}}
@keyframes t-gust-arrives{0%,53%{opacity:0;transform:translateX(-25px)}84%,100%{opacity:1;transform:translateX(0)}}
@keyframes t-flower-glows{0%,72%{opacity:.23}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .t-oil-rise{animation:t-oil-climbs 2.55s ease-out both}
.curiosity-challenge[data-solved="true"] .t-oil-spark{animation:t-spark-appears 2.55s ease-out both}
@keyframes t-oil-climbs{0%,18%{opacity:0;stroke-dashoffset:65}75%,100%{opacity:1;stroke-dashoffset:0}}
@keyframes t-spark-appears{0%,78%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .t-set-wick{animation:t-wick-seats 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .t-attach-stars{animation:t-stars-attach 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .t-lamp-petals{animation:t-petals-open 2.8s ease-out both}
@keyframes t-wick-seats{0%,13%{opacity:0;transform:translateY(-35px)}39%,100%{opacity:1;transform:translateY(0)}}
@keyframes t-stars-attach{0%,40%{opacity:0;transform:translateY(-18px)}69%,100%{opacity:1;transform:translateY(0)}}
@keyframes t-petals-open{0%,75%{opacity:0;transform:scale(.25)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .t-hidden-half{animation:t-moon-unfold 2.55s ease-in-out both}
.curiosity-challenge[data-solved="true"] .t-peek-rabbit{animation:t-rabbit-peeks 2.55s ease-out both}
@keyframes t-moon-unfold{0%,20%{opacity:0;transform:scaleX(0)}73%,100%{opacity:1;transform:scaleX(1)}}
@keyframes t-rabbit-peeks{0%,72%{opacity:0;transform:translateX(-12px)}100%{opacity:1;transform:translateX(0)}}
.curiosity-challenge[data-solved="true"] .t-rabbit-hop{animation:t-bunny-hops 2.6s ease-in-out both}
.curiosity-challenge[data-solved="true"] .t-rabbit-trail{animation:t-hop-trail 2.6s ease-out both}
@keyframes t-bunny-hops{0%,24%{transform:translate(0,0)}48%{transform:translate(36px,-28px)}70%{transform:translate(54px,-8px)}82%{transform:translate(73px,-22px)}100%{transform:translate(80px,0)}}
@keyframes t-hop-trail{0%,78%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .t-star-mirror{animation:t-half-reflects 2.5s ease-in-out both}
.curiosity-challenge[data-solved="true"] .t-star-full{animation:t-star-outlines 2.5s ease-out both}
@keyframes t-half-reflects{0%,34%{transform:scaleX(0)}76%,100%{transform:scaleX(1)}}
@keyframes t-star-outlines{0%,75%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .t-cut-paper{animation:t-paper-opens 2.85s ease-out both}
.curiosity-challenge[data-solved="true"] .t-half-outline{animation:t-half-drawn 2.85s ease-out both}
.curiosity-challenge[data-solved="true"] .t-cut-line{animation:t-cut-traces 2.85s ease-out both}
.curiosity-challenge[data-solved="true"] .t-twin-rabbits{animation:t-pair-reveals 2.85s ease-out both}
@keyframes t-paper-opens{0%,13%{transform:scaleX(.5)}85%,100%{transform:scaleX(1)}}
@keyframes t-half-drawn{0%,22%{opacity:0}50%,76%{opacity:1}95%,100%{opacity:0}}
@keyframes t-cut-traces{0%,44%{opacity:0;stroke-dashoffset:120}78%{opacity:1;stroke-dashoffset:0}95%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes t-pair-reveals{0%,80%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}

/* NW05_B: linked sound, a repaired line, crossed window light, and a drawn shadow. */
.curiosity-stage .u-chime-rings,.curiosity-stage .u-quiet-tag,.curiosity-stage .u-note-run,.curiosity-stage .u-tie-thread,.curiosity-stage .u-link-glow,.curiosity-stage .u-score-notes,.curiosity-stage .u-cross-beams,.curiosity-stage .u-wall-face,.curiosity-stage .u-wall-wink,.curiosity-stage .u-smile-beams,.curiosity-stage .u-smile-eyes,.curiosity-stage .u-smile-mouth,.curiosity-stage .u-two-beams,.curiosity-stage .u-two-eyes,.curiosity-stage .u-trace-shadow,.curiosity-stage .u-trace-ink{opacity:0}
.curiosity-stage .u-note-run>*,.curiosity-stage .u-score-notes>*,.curiosity-stage .u-link-glow>path{opacity:0}
.curiosity-stage .u-back-lamp,.curiosity-stage .u-trace-lamp{opacity:.28}
.curiosity-stage .u-hang-paper{opacity:.3;transform:translateY(-15px)}
.curiosity-stage .u-trace-ink{stroke-dasharray:260;stroke-dashoffset:260}
.curiosity-challenge[data-solved="true"] .u-chime-rings{animation:u-ring-arrives 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .u-quiet-tag{animation:u-quiet-rises 2.8s ease-out both}
@keyframes u-ring-arrives{0%,20%{opacity:0}38%,100%{opacity:1}}
@keyframes u-quiet-rises{0%,68%{opacity:0;transform:translateY(13px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .u-note-run{animation:u-note-container 2.7s linear both}
.curiosity-challenge[data-solved="true"] .u-note-run>*:nth-child(-n+2){animation:u-note-first 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .u-note-run>*:nth-child(3),.curiosity-challenge[data-solved="true"] .u-note-run>*:nth-child(4){animation:u-note-second 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .u-note-run>*:nth-child(n+5){animation:u-note-third 2.7s ease-out both}
@keyframes u-note-container{0%,15%{opacity:0}16%,100%{opacity:1}}
@keyframes u-note-first{0%,17%{opacity:0;transform:translateY(8px)}35%,100%{opacity:1;transform:translateY(0)}}
@keyframes u-note-second{0%,42%{opacity:0;transform:translateY(8px)}62%,100%{opacity:1;transform:translateY(0)}}
@keyframes u-note-third{0%,69%{opacity:0;transform:translateY(8px)}90%,100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .u-tie-thread{animation:u-thread-ties 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .u-link-glow{animation:u-link-container 2.75s linear both}
.curiosity-challenge[data-solved="true"] .u-link-glow>path:nth-child(1){animation:u-link-one 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .u-link-glow>path:nth-child(2){animation:u-link-two 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .u-link-glow>path:nth-child(3){animation:u-link-three 2.75s ease-out both}
@keyframes u-thread-ties{0%,25%{opacity:0;stroke-dasharray:24;stroke-dashoffset:24}50%,100%{opacity:1;stroke-dasharray:24;stroke-dashoffset:0}}
@keyframes u-link-container{0%,45%{opacity:0}46%,100%{opacity:1}}
@keyframes u-link-one{0%,48%{opacity:0}62%,100%{opacity:1}}
@keyframes u-link-two{0%,65%{opacity:0}78%,100%{opacity:1}}
@keyframes u-link-three{0%,81%{opacity:0}95%,100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .u-score-notes{animation:u-score-container 2.9s linear both}
.curiosity-challenge[data-solved="true"] .u-score-notes>*:nth-child(1){animation:u-score-one 2.9s ease-out both}
.curiosity-challenge[data-solved="true"] .u-score-notes>*:nth-child(2){animation:u-score-two 2.9s ease-out both}
.curiosity-challenge[data-solved="true"] .u-score-notes>*:nth-child(3){animation:u-score-three 2.9s ease-out both}
@keyframes u-score-container{0%,15%{opacity:0}16%,100%{opacity:1}}
@keyframes u-score-one{0%,17%{opacity:0;transform:translateY(-22px)}37%,100%{opacity:1;transform:translateY(0)}}
@keyframes u-score-two{0%,43%{opacity:0;transform:translateY(-22px)}63%,100%{opacity:1;transform:translateY(0)}}
@keyframes u-score-three{0%,70%{opacity:0;transform:translateY(-22px)}91%,100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .u-eye-cover{animation:u-cover-settles 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .u-cross-beams{animation:u-beams-cross 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .u-wall-face{animation:u-wall-lights 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .u-wall-wink{animation:u-right-winks 2.7s ease-out both}
@keyframes u-cover-settles{0%,15%{transform:translateY(-8px)}40%,100%{transform:translateY(0)}}
@keyframes u-beams-cross{0%,31%{opacity:0;stroke-dasharray:200;stroke-dashoffset:200}72%,100%{opacity:1;stroke-dasharray:200;stroke-dashoffset:0}}
@keyframes u-wall-lights{0%,64%{opacity:0}77%,100%{opacity:1}}
@keyframes u-right-winks{0%,76%{opacity:0}85%,100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .u-back-lamp{animation:u-lamp-warms 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .u-smile-beams{animation:u-smile-rays 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .u-smile-eyes{animation:u-smile-eyes 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .u-smile-mouth{animation:u-smile-draws 2.7s ease-out both}
@keyframes u-lamp-warms{0%,10%{opacity:.28;transform:scale(.8)}38%,100%{opacity:1;transform:scale(1)}}
@keyframes u-smile-rays{0%,34%{opacity:0;stroke-dasharray:240;stroke-dashoffset:240}70%,100%{opacity:1;stroke-dasharray:240;stroke-dashoffset:0}}
@keyframes u-smile-eyes{0%,69%{opacity:0}84%,100%{opacity:1}}
@keyframes u-smile-draws{0%,80%{opacity:0;stroke-dasharray:70;stroke-dashoffset:70}100%{opacity:1;stroke-dasharray:70;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .u-two-beams{animation:u-two-rays 2.65s ease-out both}
.curiosity-challenge[data-solved="true"] .u-two-eyes{animation:u-two-sparks 2.65s ease-out both}
@keyframes u-two-rays{0%,26%{opacity:0;stroke-dasharray:70;stroke-dashoffset:70}72%,100%{opacity:1;stroke-dasharray:70;stroke-dashoffset:0}}
@keyframes u-two-sparks{0%,73%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .u-hang-paper{animation:u-paper-hangs 3s ease-out both}
.curiosity-challenge[data-solved="true"] .u-trace-lamp{animation:u-trace-light 3s ease-out both}
.curiosity-challenge[data-solved="true"] .u-trace-shadow{animation:u-trace-face 3s ease-out both}
.curiosity-challenge[data-solved="true"] .u-trace-ink{animation:u-trace-line 3s ease-out both}
@keyframes u-paper-hangs{0%,14%{opacity:.3;transform:translateY(-15px)}40%,100%{opacity:1;transform:translateY(0)}}
@keyframes u-trace-light{0%,41%{opacity:.28}64%,100%{opacity:1}}
@keyframes u-trace-face{0%,63%{opacity:0}78%,100%{opacity:1}}
@keyframes u-trace-line{0%,78%{opacity:0;stroke-dashoffset:260}100%{opacity:1;stroke-dashoffset:0}}

/* NW05_C: counting real feet and following an unbroken yarn route. */
.curiosity-stage .v-tail-down,.curiosity-stage .v-tail-print,.curiosity-stage .v-step-stones,.curiosity-stage .v-steady-eye,.curiosity-stage .v-three-feet,.curiosity-stage .v-mark-feet,.curiosity-stage .v-beat-marks,.curiosity-stage .v-real-route,.curiosity-stage .v-snake-route,.curiosity-stage .v-yarn-bow,.curiosity-stage .v-highlight-route,.curiosity-stage .v-route-stake,.curiosity-stage .v-route-order,.curiosity-stage .v-route-knot{opacity:0}
.curiosity-challenge[data-question="beast-fourth-print"] .v-tail-print{opacity:1}
.curiosity-stage .v-tripod-body{transform-origin:170px 96px}
.curiosity-stage .v-step-stones>*,.curiosity-stage .v-three-feet>*,.curiosity-stage .v-mark-feet>*,.curiosity-stage .v-beat-marks>*{opacity:0}
.curiosity-stage .v-real-route,.curiosity-stage .v-snake-route,.curiosity-stage .v-highlight-route,.curiosity-stage .v-route-order{stroke-dasharray:340;stroke-dashoffset:340}
.curiosity-challenge[data-question="beast-fourth-print"][data-solved="true"] .v-tail-up{animation:v-tail-lifts 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .v-tail-down{animation:v-tail-descends 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .v-tail-print{animation:v-print-forms 2.75s ease-out both}
@keyframes v-tail-lifts{0%,20%{opacity:1}46%,100%{opacity:0}}
@keyframes v-tail-descends{0%,20%{opacity:0;stroke-dasharray:100;stroke-dashoffset:100}75%,100%{opacity:1;stroke-dasharray:100;stroke-dashoffset:0}}
@keyframes v-print-forms{0%,76%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1.4)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .v-tripod-body{animation:v-tripod-settles 2.8s ease-in-out both}
@keyframes v-tripod-settles{0%,15%{transform:rotate(-3deg)}32%{transform:rotate(3deg)}53%{transform:rotate(-2deg)}77%,100%{transform:rotate(0)}}
.curiosity-challenge[data-solved="true"] .v-step-stones,.curiosity-challenge[data-solved="true"] .v-three-feet,.curiosity-challenge[data-solved="true"] .v-mark-feet,.curiosity-challenge[data-solved="true"] .v-beat-marks{animation:v-group-shows 2.8s linear both}
.curiosity-challenge[data-solved="true"] .v-step-stones>*:nth-child(1),.curiosity-challenge[data-solved="true"] .v-three-feet>*:nth-child(1),.curiosity-challenge[data-solved="true"] .v-mark-feet>*:nth-child(1){animation:v-first-foot 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .v-step-stones>*:nth-child(2),.curiosity-challenge[data-solved="true"] .v-three-feet>*:nth-child(2),.curiosity-challenge[data-solved="true"] .v-mark-feet>*:nth-child(2){animation:v-second-foot 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .v-step-stones>*:nth-child(3),.curiosity-challenge[data-solved="true"] .v-three-feet>*:nth-child(3),.curiosity-challenge[data-solved="true"] .v-mark-feet>*:nth-child(3){animation:v-third-foot 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .v-steady-eye{animation:v-eyes-steady 2.8s ease-out both}
@keyframes v-group-shows{0%,15%{opacity:0}16%,100%{opacity:1}}
@keyframes v-first-foot{0%,15%{opacity:0;transform:translateY(-8px)}36%,100%{opacity:1;transform:translateY(0)}}
@keyframes v-second-foot{0%,40%{opacity:0;transform:translateY(-8px)}62%,100%{opacity:1;transform:translateY(0)}}
@keyframes v-third-foot{0%,66%{opacity:0;transform:translateY(-8px)}89%,100%{opacity:1;transform:translateY(0)}}
@keyframes v-eyes-steady{0%,83%{opacity:0}92%{opacity:1}96%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .v-beat-marks>*:nth-child(1){animation:v-first-foot 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .v-beat-marks>*:nth-child(2){animation:v-second-foot 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .v-beat-marks>*:nth-child(3){animation:v-third-foot 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .v-real-route{animation:v-route-finds-bell 2.7s ease-out both}
@keyframes v-route-finds-bell{0%,23%{opacity:0;stroke-dashoffset:340}76%,100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .v-snake-route{animation:v-snake-threads 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .v-yarn-bow{animation:v-bow-ties 2.8s ease-out both}
@keyframes v-snake-threads{0%,15%{opacity:0;stroke-dashoffset:340}80%,100%{opacity:1;stroke-dashoffset:0}}
@keyframes v-bow-ties{0%,79%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .v-highlight-route{animation:v-continuity-traces 2.65s ease-out both}
@keyframes v-continuity-traces{0%,12%{opacity:0;stroke-dashoffset:340}91%,100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .v-route-stake{animation:v-stake-anchors 3s ease-out both}
.curiosity-challenge[data-solved="true"] .v-route-order{animation:v-line-lays 3s ease-out both}
.curiosity-challenge[data-solved="true"] .v-route-knot{animation:v-last-knot 3s ease-out both}
@keyframes v-stake-anchors{0%,10%{opacity:0;transform:translateY(-15px)}37%,100%{opacity:1;transform:translateY(0)}}
@keyframes v-line-lays{0%,38%{opacity:0;stroke-dashoffset:340}84%,100%{opacity:1;stroke-dashoffset:0}}
@keyframes v-last-knot{0%,85%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}

/* NW05_O: mirrored marks and careful borrowed-book gestures. */
.curiosity-stage .w-arrow-print,.curiosity-stage .w-flip-arc,.curiosity-stage .w-left-mark,.curiosity-stage .w-match-ring,.curiosity-stage .w-order-mark,.curiosity-stage .w-page-found,.curiosity-stage .w-page-star,.curiosity-stage .w-safe-ribbon,.curiosity-stage .w-shelf-arrow{opacity:0}
.curiosity-stage .w-slide-ribbon{transform:translateY(-35px);opacity:.35}
.curiosity-stage .w-safe-ribbon{transform:translateY(-25px)}
.curiosity-challenge[data-question="bookmark-safe-book"] .w-safe-ribbon{opacity:1;transform:translateY(-18px)}
.curiosity-stage .w-return-ribbon{transform:translateY(-29px);opacity:.3}
.curiosity-stage .w-close-book{transform-origin:133px 63px}
.curiosity-stage .w-press-stamp,.curiosity-stage .w-order-stamp,.curiosity-stage .w-return-book{transform-origin:center}
.curiosity-challenge[data-solved="true"] .w-arrow-print{animation:w-mirror-appears 2.7s ease-out both}
.curiosity-challenge[data-solved="true"] .w-flip-arc{animation:w-flip-sign 2.7s ease-out both}
@keyframes w-mirror-appears{0%,52%{opacity:0;transform:scaleX(-1)}73%,100%{opacity:1;transform:scaleX(1)}}
@keyframes w-flip-sign{0%,68%{opacity:0;stroke-dasharray:70;stroke-dashoffset:70}100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .w-press-stamp{animation:w-stamp-presses 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .w-left-mark{animation:w-mark-stays 2.8s ease-out both}
@keyframes w-stamp-presses{0%,18%{transform:translate(0,0)}49%{transform:translate(150px,-5px)}70%,100%{transform:translate(0,0)}}
@keyframes w-mark-stays{0%,48%{opacity:0}69%,100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .w-match-ring{animation:w-ring-picks 2.7s ease-out both}
@keyframes w-ring-picks{0%,43%{opacity:0;stroke-dasharray:180;stroke-dashoffset:180}90%,100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .w-order-stamp{animation:w-ink-press-lift 3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .w-order-mark{animation:w-order-ink 3s ease-out both}
@keyframes w-ink-press-lift{0%,12%{transform:translate(0,0)}30%{transform:translate(-53px,12px)}57%{transform:translate(147px,-4px)}75%,100%{transform:translate(0,0)}}
@keyframes w-order-ink{0%,58%{opacity:0}80%,100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .w-close-book{animation:w-pages-close 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .w-stay-ribbon{animation:w-ribbon-stays 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .w-page-found{animation:w-page-returns 2.75s ease-out both}
@keyframes w-pages-close{0%,15%{transform:scaleX(1)}53%{transform:scaleX(.48)}77%,100%{transform:scaleX(1)}}
@keyframes w-ribbon-stays{0%,100%{opacity:1}}
@keyframes w-page-returns{0%,79%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .w-slide-ribbon{animation:w-marker-slides 2.65s ease-out both}
.curiosity-challenge[data-solved="true"] .w-page-star{animation:w-star-finds 2.65s ease-out both}
@keyframes w-marker-slides{0%,20%{opacity:.35;transform:translateY(-35px)}75%,100%{opacity:1;transform:translateY(0)}}
@keyframes w-star-finds{0%,75%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .w-safe-ribbon{animation:w-safe-marker 2.65s ease-out both}
@keyframes w-safe-marker{0%,24%{opacity:1;transform:translateY(-18px)}74%,100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .w-return-ribbon{animation:w-return-marker 3s ease-out both}
.curiosity-challenge[data-solved="true"] .w-return-book{animation:w-return-shelves 3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .w-shelf-arrow{animation:w-shelf-sign 3s ease-out both}
@keyframes w-return-marker{0%,15%{opacity:.3;transform:translateY(-29px)}39%,62%{opacity:1;transform:translate(0,0)}100%{opacity:1;transform:translate(118px,0)}}
@keyframes w-return-shelves{0%,42%{transform:translateX(0) scaleX(1)}62%{transform:translateX(0) scaleX(.35)}100%{transform:translateX(124px) scaleX(.35)}}
@keyframes w-shelf-sign{0%,62%{opacity:0}87%,100%{opacity:1}}

/* NW06_A: stop, shelter, verify contact, then move only after the hazard passes. */
.curiosity-stage .x-fall-stone,.curiosity-stage .x-safety-ring,.curiosity-stage .x-ledge-shade,.curiosity-stage .x-safe-tracks,.curiosity-stage .x-stop-align,.curiosity-stage .x-wedge,.curiosity-stage .x-contact-dot,.curiosity-stage .x-order-wedge,.curiosity-stage .x-order-alignment{opacity:0}
.curiosity-stage .x-safe-tracks>ellipse{opacity:0}
.curiosity-stage .x-spiral-glow{opacity:.7}
.curiosity-stage .x-order-wheel,.curiosity-stage .x-riddle-wheel{transform-origin:162px 69px}
.curiosity-challenge[data-solved="true"] .x-shell-still ellipse,.curiosity-challenge[data-solved="true"] .x-shell-still circle{animation:x-head-hides 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .x-fall-stone{animation:x-stone-passes 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .x-safety-ring{animation:x-shell-safe 2.8s ease-out both}
@keyframes x-head-hides{0%,17%{transform:translateX(0)}57%,100%{transform:translateX(-31px)}}
@keyframes x-stone-passes{0%,24%{opacity:0;transform:translate(0,-18px)}50%{opacity:1;transform:translate(0,20px)}100%{opacity:1;transform:translate(55px,61px)}}
@keyframes x-shell-safe{0%,72%{opacity:0;stroke-dasharray:200;stroke-dashoffset:200}100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .x-riddle-turtle{animation:x-turtle-to-leaf 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .x-riddle-turtle ellipse,.curiosity-challenge[data-solved="true"] .x-riddle-turtle circle{animation:x-peek-head 2.7s ease-in-out both}
@keyframes x-turtle-to-leaf{0%,45%{transform:translateX(0)}100%{transform:translateX(48px)}}
@keyframes x-peek-head{0%,20%{transform:translateX(-28px)}56%,100%{transform:translateX(0)}}
.curiosity-challenge[data-solved="true"] .x-stones>circle:nth-child(2){animation:x-rock-meets-eave 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .x-ledge-shade{animation:x-eave-covers 2.75s ease-out both}
@keyframes x-rock-meets-eave{0%,32%{transform:translateY(-14px)}61%,100%{transform:translateY(4px)}}
@keyframes x-eave-covers{0%,58%{opacity:0}100%{opacity:.28}}
.curiosity-challenge[data-solved="true"] .x-order-turtle ellipse,.curiosity-challenge[data-solved="true"] .x-order-turtle circle{animation:x-order-head 3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .x-order-turtle{animation:x-order-step 3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .x-roll-rock{animation:x-rock-rolls-away 3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .x-safe-tracks{animation:x-tracks-group 3s linear both}
.curiosity-challenge[data-solved="true"] .x-safe-tracks>ellipse:nth-child(1){animation:x-track-one 3s ease-out both}
.curiosity-challenge[data-solved="true"] .x-safe-tracks>ellipse:nth-child(2){animation:x-track-two 3s ease-out both}
.curiosity-challenge[data-solved="true"] .x-safe-tracks>ellipse:nth-child(3){animation:x-track-three 3s ease-out both}
@keyframes x-order-head{0%,15%{transform:translateX(0)}36%,67%{transform:translateX(-31px)}85%,100%{transform:translateX(0)}}
@keyframes x-order-step{0%,68%{transform:translateX(0)}100%{transform:translateX(28px)}}
@keyframes x-rock-rolls-away{0%,34%{transform:translateX(0)}71%,100%{transform:translateX(62px)}}
@keyframes x-tracks-group{0%,70%{opacity:0}71%,100%{opacity:1}}
@keyframes x-track-one{0%,72%{opacity:0}82%,100%{opacity:1}}
@keyframes x-track-two{0%,82%{opacity:0}92%,100%{opacity:1}}
@keyframes x-track-three{0%,91%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .x-spiral-glow{animation:x-illusion-fades 2.65s ease-out both}
.curiosity-challenge[data-solved="true"] .x-stop-align{animation:x-fixed-mark-appears 2.65s ease-out both}
@keyframes x-illusion-fades{0%,20%{opacity:.7}72%,100%{opacity:0}}
@keyframes x-fixed-mark-appears{0%,72%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .x-riddle-wheel{animation:x-wheel-slows 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .x-wedge{animation:x-wedge-grips 2.8s ease-out both}
@keyframes x-wheel-slows{0%,13%{transform:translateX(-18px) rotate(-70deg)}53%{transform:translateX(25px) rotate(80deg)}100%{transform:translateX(40px) rotate(90deg)}}
@keyframes x-wedge-grips{0%,55%{opacity:0;transform:translateX(17px)}86%,100%{opacity:1;transform:translateX(0)}}
.curiosity-challenge[data-solved="true"] .x-contact-dot{animation:x-touch-glows 2.65s ease-out both}
@keyframes x-touch-glows{0%,55%{opacity:0;transform:scale(.2)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .x-push-hand{animation:x-hand-releases 3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .x-order-wheel{animation:x-wheel-still 3s ease-out both}
.curiosity-challenge[data-solved="true"] .x-order-wedge{animation:x-order-blocks 3s ease-out both}
.curiosity-challenge[data-solved="true"] .x-order-alignment{animation:x-last-align 3s ease-out both}
@keyframes x-hand-releases{0%,20%{opacity:1;transform:translateX(0)}41%,100%{opacity:0;transform:translateX(-25px)}}
@keyframes x-wheel-still{0%,35%{transform:rotate(-42deg)}72%,100%{transform:rotate(0)}}
@keyframes x-order-blocks{0%,42%{opacity:0;transform:translateX(25px)}79%,100%{opacity:1;transform:translateX(0)}}
@keyframes x-last-align{0%,79%{opacity:0}100%{opacity:1}}

/* NW06_B: blocks interlock and the rope ladder stays with its floating support. */
.curiosity-stage .y-count-gap,.curiosity-stage .y-bridge-steps,.curiosity-stage .y-lock-glow,.curiosity-stage .y-order-foot,.curiosity-stage .y-landing-mark,.curiosity-stage .y-order-knots,.curiosity-stage .y-helper-hands{opacity:0}
.curiosity-stage .y-count-number>text:last-child{opacity:0}
.curiosity-stage .y-bridge-center{transform-origin:176px 44px}
.curiosity-stage .y-unroll-ladder{transform-origin:180px 13px;opacity:0;transform:translateY(-30px) scaleY(.25)}
.curiosity-stage .y-lock-piece{transform:translateX(9px)}
.curiosity-stage .y-order-left{transform:translateX(-54px)}
.curiosity-stage .y-order-right{transform:translateX(54px)}
.curiosity-stage .y-order-span{transform:translateY(-34px)}
.curiosity-challenge[data-solved="true"] .y-count-block{animation:y-block-transfer 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .y-count-gap{animation:y-gap-closed 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .y-count-number>text:first-child{animation:y-old-count 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .y-count-number>text:last-child{animation:y-new-count 2.75s ease-out both}
@keyframes y-block-transfer{0%,16%{transform:translate(0,0)}55%{transform:translate(80px,-22px)}100%{transform:translate(104px,24px)}}
@keyframes y-gap-closed{0%,75%{opacity:1}100%{opacity:0}}
@keyframes y-old-count{0%,62%{opacity:1}100%{opacity:0}}
@keyframes y-new-count{0%,72%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .y-bridge-left{animation:y-bridge-left-joins 2.85s ease-in-out both}
.curiosity-challenge[data-solved="true"] .y-bridge-right{animation:y-bridge-right-joins 2.85s ease-in-out both}
.curiosity-challenge[data-solved="true"] .y-bridge-center{animation:y-bridge-keystone 2.85s ease-in-out both}
.curiosity-challenge[data-solved="true"] .y-bridge-steps{animation:y-crossing-prints 2.85s ease-out both}
@keyframes y-bridge-left-joins{0%,16%{transform:translateX(0)}52%,100%{transform:translateX(46px)}}
@keyframes y-bridge-right-joins{0%,16%{transform:translateX(0)}52%,100%{transform:translateX(-55px)}}
@keyframes y-bridge-keystone{0%,55%{transform:translateY(0)}84%,100%{transform:translateY(36px)}}
@keyframes y-crossing-prints{0%,82%{opacity:0;stroke-dasharray:28;stroke-dashoffset:28}100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .y-lock-piece{animation:y-dovetail-locks 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .y-lock-glow{animation:y-dovetail-seam 2.7s ease-out both}
@keyframes y-dovetail-locks{0%,17%{transform:translateX(9px)}72%,100%{transform:translateX(0)}}
@keyframes y-dovetail-seam{0%,72%{opacity:0;stroke-dasharray:32;stroke-dashoffset:32}100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .y-order-left{animation:y-left-base 3s ease-out both}
.curiosity-challenge[data-solved="true"] .y-order-right{animation:y-right-base 3s ease-out both}
.curiosity-challenge[data-solved="true"] .y-order-span{animation:y-span-lowers 3s ease-in-out both}
.curiosity-challenge[data-solved="true"] .y-order-foot{animation:y-test-foot 3s ease-out both}
@keyframes y-left-base{0%,15%{transform:translateX(-54px)}43%,100%{transform:translateX(0)}}
@keyframes y-right-base{0%,15%{transform:translateX(54px)}43%,100%{transform:translateX(0)}}
@keyframes y-span-lowers{0%,41%{transform:translateY(-34px)}75%,100%{transform:translateY(0)}}
@keyframes y-test-foot{0%,82%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .y-waterline{animation:y-water-rises 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .y-floating-rig{animation:y-raft-rises 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .y-water-mark{animation:y-water-reference 2.8s ease-out both}
@keyframes y-water-rises{0%,20%{transform:translateY(0)}76%,100%{transform:translateY(-18px)}}
@keyframes y-raft-rises{0%,20%{transform:translateY(0)}76%,100%{transform:translateY(-18px)}}
@keyframes y-water-reference{0%,72%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .y-unroll-ladder{animation:y-rope-unrolls 2.85s ease-out both}
.curiosity-challenge[data-solved="true"] .y-rope-coil{animation:y-coil-opens 2.85s ease-out both}
.curiosity-challenge[data-solved="true"] .y-landing-mark{animation:y-rope-lands 2.85s ease-out both}
@keyframes y-rope-unrolls{0%,12%{opacity:0;transform:translateY(-30px) scaleY(.25)}25%{opacity:1}72%,100%{opacity:1;transform:translateY(0) scaleY(1)}}
@keyframes y-coil-opens{0%,20%{opacity:1;transform:scale(1)}58%,100%{opacity:0;transform:scale(.6)}}
@keyframes y-rope-lands{0%,72%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .y-knot-two:nth-of-type(2){animation:y-first-knot 2.65s ease-out both}
.curiosity-challenge[data-solved="true"] .y-knot-two:nth-of-type(3){animation:y-second-knot 2.65s ease-out both}
@keyframes y-first-knot{0%,26%{stroke:#638d74;stroke-width:5}55%,100%{stroke:#42ad9e;stroke-width:8}}
@keyframes y-second-knot{0%,56%{stroke:#638d74;stroke-width:5}86%,100%{stroke:#42ad9e;stroke-width:8}}
.curiosity-challenge[data-solved="true"] .y-order-knots{animation:y-upper-knots 3.1s ease-out both}
.curiosity-challenge[data-solved="true"] .y-helper-hands{animation:y-helper-grips 3.1s ease-out both}
.curiosity-challenge[data-solved="true"] .y-ladder-friend{animation:y-friend-descends 3.1s ease-in-out both}
@keyframes y-upper-knots{0%,19%{opacity:0}43%,100%{opacity:1}}
@keyframes y-helper-grips{0%,40%{opacity:0;transform:translateY(13px)}63%,100%{opacity:1;transform:translateY(0)}}
@keyframes y-friend-descends{0%,59%{transform:translateY(0)}100%{transform:translateY(28px)}}

/* NW06_C: one strike and its echoes, three actual tones, one fitting key. */
.curiosity-stage .z-source-sound,.curiosity-stage .z-echo-one,.curiosity-stage .z-echo-two,.curiosity-stage .z-note-rise>text,.curiosity-stage .z-pitch-trace,.curiosity-stage .z-listen-rings,.curiosity-stage .z-note-card,.curiosity-stage .z-note-path,.curiosity-stage .z-note-points,.curiosity-stage .z-unlock-spark,.curiosity-stage .z-door-light,.curiosity-stage .z-tooth-check,.curiosity-stage .z-seal-wrong,.curiosity-stage .z-seal-check,.curiosity-stage .z-order-return{opacity:0}
.curiosity-stage .z-pitch-trace{stroke-dasharray:110;stroke-dashoffset:110}
.curiosity-stage .z-note-path{stroke-dasharray:80;stroke-dashoffset:80}
.curiosity-stage .z-order-return{stroke-dasharray:90;stroke-dashoffset:90}
.curiosity-stage .z-one-tongue,.curiosity-stage .z-riddle-ring{transform-box:fill-box;transform-origin:center}
.curiosity-stage .z-order-lock{transform-origin:279px 70px}
.curiosity-challenge[data-solved="true"] .z-one-tongue{animation:z-single-strike 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .z-source-sound{animation:z-first-sound 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .z-echo-one{animation:z-near-echo 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .z-echo-two{animation:z-far-echo 2.8s ease-in-out both}
@keyframes z-single-strike{0%,18%{transform:rotate(0)}27%{transform:rotate(-4deg)}36%,100%{transform:rotate(0)}}
@keyframes z-first-sound{0%,22%{opacity:0;transform:translateX(19px)}41%,100%{opacity:1;transform:translateX(0)}}
@keyframes z-near-echo{0%,30%{opacity:0;transform:translateX(-15px)}52%{opacity:1;transform:translateX(0)}75%,100%{opacity:.25;transform:translateX(-25px)}}
@keyframes z-far-echo{0%,53%{opacity:0;transform:translateX(-25px)}73%{opacity:1;transform:translateX(0)}100%{opacity:.75;transform:translateX(-38px)}}
.curiosity-challenge[data-solved="true"] .z-note-rise>text:nth-child(1){animation:z-reed-note 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .z-note-rise>text:nth-child(2){animation:z-reed-note 2.75s ease-out .22s both}
.curiosity-challenge[data-solved="true"] .z-note-rise>text:nth-child(3){animation:z-reed-note 2.75s ease-out .44s both}
@keyframes z-reed-note{0%,17%{opacity:0;transform:translateY(11px)}38%{opacity:1}100%{opacity:.9;transform:translateY(-34px)}}
.curiosity-challenge[data-solved="true"] .z-pitch-trace{animation:z-ascending-line 2.7s ease-out both}
@keyframes z-ascending-line{0%,22%{opacity:0;stroke-dashoffset:110}100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .z-listen-rings{animation:z-listen-first 3s ease-out both}
.curiosity-challenge[data-solved="true"] .z-note-card{animation:z-record-next 3s ease-out both}
.curiosity-challenge[data-solved="true"] .z-note-path{animation:z-play-from-note 3s ease-out both}
.curiosity-challenge[data-solved="true"] .z-note-points{animation:z-point-memory 3s ease-out both}
@keyframes z-listen-first{0%,15%{opacity:0}42%,100%{opacity:1}}
@keyframes z-record-next{0%,42%{opacity:0;transform:translateY(-16px)}67%,100%{opacity:1;transform:translateY(0)}}
@keyframes z-play-from-note{0%,66%{opacity:0;stroke-dashoffset:80}100%{opacity:1;stroke-dashoffset:0}}
@keyframes z-point-memory{0%,77%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .z-matching-key{animation:z-key-leaves-ring 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .z-unlock-spark{animation:z-key-success 2.8s ease-out both}
@keyframes z-key-leaves-ring{0%,18%{transform:translateX(0)}64%,100%{transform:translateX(57px)}}
@keyframes z-key-success{0%,68%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
.curiosity-challenge[data-solved="true"] .z-riddle-ring{animation:z-ring-sways 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .z-riddle-ring>path{animation:z-riddle-key-to-door 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .z-door-crack{animation:z-door-opens 2.7s ease-in-out both}
.curiosity-challenge[data-solved="true"] .z-door-light{animation:z-door-reveal 2.7s ease-out both}
@keyframes z-ring-sways{0%,17%{transform:rotate(-6deg)}44%,100%{transform:rotate(0)}}
@keyframes z-riddle-key-to-door{0%,36%{transform:translateX(0)}72%,100%{transform:translateX(53px)}}
@keyframes z-door-opens{0%,72%{transform:translateX(0)}100%{transform:translateX(17px)}}
@keyframes z-door-reveal{0%,73%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .z-tooth-check{animation:z-teeth-contact 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .z-tooth-check>circle:nth-child(1){animation:z-one-tooth 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .z-tooth-check>circle:nth-child(2){animation:z-two-tooth 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .z-tooth-check>circle:nth-child(3){animation:z-three-tooth 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .z-seal-check{animation:z-seal-match 2.75s ease-out both}
.curiosity-challenge[data-solved="true"] .z-seal-wrong{animation:z-seal-reject 2.75s ease-out both}
@keyframes z-teeth-contact{0%,28%{opacity:0}100%{opacity:1}}
@keyframes z-one-tooth{0%,37%{opacity:0}55%,100%{opacity:1}}
@keyframes z-two-tooth{0%,55%{opacity:0}73%,100%{opacity:1}}
@keyframes z-three-tooth{0%,73%{opacity:0}91%,100%{opacity:1}}
@keyframes z-seal-match{0%,79%{opacity:0;transform:scale(.65);transform-origin:177px 36px}100%{opacity:1;transform:scale(1);transform-origin:177px 36px}}
@keyframes z-seal-reject{0%,63%{opacity:0;stroke-dasharray:35;stroke-dashoffset:35}81%,100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .z-order-key{animation:z-key-try-and-return 3.1s ease-in-out both}
.curiosity-challenge[data-solved="true"] .z-order-lock{animation:z-lock-turns 3.1s ease-in-out both}
.curiosity-challenge[data-solved="true"] .z-order-return{animation:z-key-return-path 3.1s ease-out both}
@keyframes z-key-try-and-return{0%,25%{transform:translateX(0)}53%,71%{transform:translateX(65px)}100%{transform:translateX(0)}}
@keyframes z-lock-turns{0%,48%{transform:rotate(0)}70%,100%{transform:rotate(90deg)}}
@keyframes z-key-return-path{0%,70%{opacity:0;stroke-dashoffset:90}100%{opacity:1;stroke-dashoffset:0}}

/* NW06_O: unfold a source, compare evidence, and let the lens change perception only. */
.curiosity-stage .aa-copy-star{opacity:.62}
.curiosity-stage .aa-star-lines{stroke-dasharray:250;stroke-dashoffset:250}
.curiosity-stage .aa-chart-credit,.curiosity-stage .aa-source-rings,.curiosity-stage .aa-order-credit,.curiosity-stage .aa-order-sky,.curiosity-stage .aa-order-compare,.curiosity-stage .aa-big-letter,.curiosity-stage .aa-clear-credit,.curiosity-stage .aa-date-lens,.curiosity-stage .aa-date-frame,.curiosity-stage .aa-order-lens,.curiosity-stage .aa-second-source,.curiosity-stage .aa-verified-check{opacity:0}
.curiosity-challenge[data-solved="true"] .aa-order-preview{opacity:0;transition:opacity .2s ease-out}
.curiosity-stage .aa-zoom-lens{transform:translateX(-90px)}
.curiosity-stage .aa-riddle-lens{transform:translateX(54px)}
.curiosity-stage .aa-fold-flap{transform-origin:181px 60px}
.curiosity-stage .aa-big-letter{transform-box:fill-box;transform-origin:center}
.curiosity-challenge[data-solved="true"] .aa-fold-flap{animation:aa-map-unfolds 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .aa-copy-star{animation:aa-duplicate-fades 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .aa-real-star{animation:aa-original-shines 2.8s ease-out both}
@keyframes aa-map-unfolds{0%,18%{transform:scaleX(1)}78%,100%{transform:scaleX(0)}}
@keyframes aa-duplicate-fades{0%,44%{opacity:.62}83%,100%{opacity:0}}
@keyframes aa-original-shines{0%,68%{fill:#d4a96b}100%{fill:#f0c572}}
.curiosity-challenge[data-solved="true"] .aa-star-lines{animation:aa-constellation-draws 2.8s ease-out both}
.curiosity-challenge[data-solved="true"] .aa-chart-credit{animation:aa-credit-appears 2.8s ease-out both}
@keyframes aa-constellation-draws{0%,13%{stroke-dashoffset:250}73%,100%{stroke-dashoffset:0}}
@keyframes aa-credit-appears{0%,72%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
.curiosity-challenge[data-solved="true"] .aa-source-rings{animation:aa-source-three 2.65s ease-out both}
@keyframes aa-source-three{0%,28%{opacity:0;stroke-dasharray:220;stroke-dashoffset:220}100%{opacity:1;stroke-dashoffset:0}}
.curiosity-challenge[data-solved="true"] .aa-order-credit{animation:aa-credit-first 3s ease-out both}
.curiosity-challenge[data-solved="true"] .aa-order-sky{animation:aa-sky-compare 3s ease-out both}
.curiosity-challenge[data-solved="true"] .aa-order-compare{animation:aa-difference-last 3s ease-out both}
@keyframes aa-credit-first{0%,22%{opacity:0}42%,100%{opacity:1}}
@keyframes aa-sky-compare{0%,42%{opacity:0;transform:translateX(-20px)}71%,100%{opacity:1;transform:translateX(0)}}
@keyframes aa-difference-last{0%,72%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .aa-zoom-lens{animation:aa-lens-visits 2.8s ease-in-out both}
.curiosity-challenge[data-solved="true"] .aa-big-letter{animation:aa-magnify-only 2.8s ease-in-out both}
@keyframes aa-lens-visits{0%,14%{transform:translateX(-90px)}41%,69%{transform:translateX(0)}100%{transform:translateX(86px)}}
@keyframes aa-magnify-only{0%,38%{opacity:0;transform:scale(.5)}48%,69%{opacity:1;transform:scale(1)}81%,100%{opacity:0;transform:scale(.5)}}
.curiosity-challenge[data-solved="true"] .aa-riddle-lens{animation:aa-lens-finds-credit 2.75s ease-in-out both}
.curiosity-challenge[data-solved="true"] .aa-clear-credit{animation:aa-credit-clear 2.75s ease-out both}
@keyframes aa-lens-finds-credit{0%,19%{transform:translateX(54px)}68%,100%{transform:translateX(-70px)}}
@keyframes aa-credit-clear{0%,68%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .aa-date-lens{animation:aa-date-focus 2.65s ease-out both}
.curiosity-challenge[data-solved="true"] .aa-date-frame{animation:aa-date-outline 2.65s ease-out both}
@keyframes aa-date-focus{0%,25%{opacity:0;transform:translateX(-52px)}73%,100%{opacity:1;transform:translateX(0)}}
@keyframes aa-date-outline{0%,77%{opacity:0}100%{opacity:1}}
.curiosity-challenge[data-solved="true"] .aa-order-open{animation:aa-read-original 3.1s ease-out both}
.curiosity-challenge[data-solved="true"] .aa-order-lens{animation:aa-inspect-credit 3.1s ease-out both}
.curiosity-challenge[data-solved="true"] .aa-second-source{animation:aa-second-record 3.1s ease-out both}
.curiosity-challenge[data-solved="true"] .aa-verified-check{animation:aa-compare-check 3.1s ease-out both}
@keyframes aa-read-original{0%,18%{opacity:.25}42%,100%{opacity:1}}
@keyframes aa-inspect-credit{0%,38%{opacity:0;transform:translateX(36px)}65%,100%{opacity:1;transform:translateX(-80px)}}
@keyframes aa-second-record{0%,64%{opacity:0;transform:translateX(42px)}85%,100%{opacity:1;transform:translateX(0)}}
@keyframes aa-compare-check{0%,86%{opacity:0}100%{opacity:1}}

@media(min-width:801px){
 .nw01a-focus .code-panel:has(>.discovery-observation[data-curiosity="true"]:not([hidden])):before{content:"";position:absolute;inset:0;z-index:39;background:#f8f3e6b8;backdrop-filter:blur(2px)}
 .nw01a-focus .code-panel>.discovery-observation[data-curiosity="true"]{position:absolute;z-index:40;top:50%!important;left:50%!important;bottom:auto!important;width:min(500px,calc(100% - 24px));max-height:calc(100% - 24px);transform:translate(-50%,-50%)!important}
}
@media(max-width:800px){
 .world-wrap:has(>.discovery-observation[data-curiosity="true"]:not([hidden])){overflow:visible;margin-bottom:var(--discovery-card-space,340px)}
 .discovery-observation[data-curiosity="true"]{top:calc(100% + 8px)!important;left:50%!important;bottom:auto!important;width:min(500px,calc(100% - 20px));max-height:none;transform:translateX(-50%)!important}
}
@media(max-width:600px){
 .discovery-observation[data-curiosity="true"]{width:calc(100% - 16px);padding:10px}
 .discovery-observation[data-curiosity="true"] .discovery-observation-copy p{font-size:15px}
 .curiosity-stage{height:106px}
 .curiosity-options button{min-width:78px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .curiosity-challenge[data-solved="true"] .curiosity-stage *{animation:none!important}
 .curiosity-challenge[data-solved="true"] .c-vapor,.curiosity-challenge[data-solved="true"] .c-zero,.curiosity-challenge[data-solved="true"] .c-wave,.curiosity-challenge[data-solved="true"] .c-splash,.curiosity-challenge[data-solved="true"] .c-ring,.curiosity-challenge[data-solved="true"] .c-visitor{opacity:1}
 .curiosity-challenge[data-solved="true"] .c-dew{opacity:0}
 .curiosity-challenge[data-solved="true"] .c-house{transform:translateX(148px)}
 .curiosity-challenge[data-solved="true"] .c-climber{transform:translate(223px,-47px)}
 .curiosity-challenge[data-solved="true"] .c-route,.curiosity-challenge[data-solved="true"] .c-note{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .b-seed-count,.curiosity-challenge[data-solved="true"] .b-root,.curiosity-challenge[data-solved="true"] .b-root-trail,.curiosity-challenge[data-solved="true"] .b-sprout,.curiosity-challenge[data-solved="true"] .b-fan-bridge,.curiosity-challenge[data-solved="true"] .b-theatre-shadow,.curiosity-challenge[data-solved="true"] .b-shadow{opacity:1}
 .curiosity-challenge[data-solved="true"] .b-plant{transform:scaleY(1)}
 .curiosity-challenge[data-solved="true"] .d-ghost,.curiosity-challenge[data-solved="true"] .d-light-beam{opacity:0}
 .curiosity-challenge[data-solved="true"] .d-two-label,.curiosity-challenge[data-solved="true"] .d-cloud-eye,.curiosity-challenge[data-solved="true"] .d-flight-star,.curiosity-challenge[data-solved="true"] .d-mirror-ripple,.curiosity-challenge[data-solved="true"] .d-pattern-bridge,.curiosity-challenge[data-solved="true"] .d-pattern-water,.curiosity-challenge[data-solved="true"] .d-tail-ring{opacity:1}
 .curiosity-challenge[data-solved="true"] .d-mirror-copy{opacity:0}
 .curiosity-challenge[data-solved="true"] .d-half-wing{transform:rotate(180deg)}
 .curiosity-challenge[data-solved="true"] .d-half-arrow{opacity:0}
 .curiosity-challenge[data-solved="true"] .d-cloud-flyer{transform:translate(178px,-32px) rotate(8deg) scale(.72)}
 .curiosity-challenge[data-solved="true"] .d-launch-flyer{transform:translate(182px,-47px) rotate(30deg) scale(.7)}
 .curiosity-challenge[data-solved="true"] .d-flight-line{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .d-shade{transform:translateX(-85px)}
 .curiosity-challenge[data-solved="true"] .d-color-scale{fill:#7cb9ae}
 .curiosity-challenge[data-solved="true"] .d-size-small{transform:translateX(195px)}
 .curiosity-challenge[data-solved="true"] .d-size-mid{transform:translateX(161px)}
 .curiosity-challenge[data-solved="true"] .d-size-large{transform:translateX(128px)}
 .curiosity-challenge[data-solved="true"] .u-chime-rings,.curiosity-challenge[data-solved="true"] .u-quiet-tag,.curiosity-challenge[data-solved="true"] .u-note-run,.curiosity-challenge[data-solved="true"] .u-note-run>*,.curiosity-challenge[data-solved="true"] .u-tie-thread,.curiosity-challenge[data-solved="true"] .u-link-glow,.curiosity-challenge[data-solved="true"] .u-link-glow>path,.curiosity-challenge[data-solved="true"] .u-score-notes,.curiosity-challenge[data-solved="true"] .u-score-notes>*,.curiosity-challenge[data-solved="true"] .u-cross-beams,.curiosity-challenge[data-solved="true"] .u-wall-face,.curiosity-challenge[data-solved="true"] .u-wall-wink,.curiosity-challenge[data-solved="true"] .u-back-lamp,.curiosity-challenge[data-solved="true"] .u-smile-beams,.curiosity-challenge[data-solved="true"] .u-smile-eyes,.curiosity-challenge[data-solved="true"] .u-smile-mouth,.curiosity-challenge[data-solved="true"] .u-two-beams,.curiosity-challenge[data-solved="true"] .u-two-eyes,.curiosity-challenge[data-solved="true"] .u-hang-paper,.curiosity-challenge[data-solved="true"] .u-trace-lamp,.curiosity-challenge[data-solved="true"] .u-trace-shadow,.curiosity-challenge[data-solved="true"] .u-trace-ink{opacity:1;transform:none;stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .v-tail-down,.curiosity-challenge[data-solved="true"] .v-tail-print,.curiosity-challenge[data-solved="true"] .v-step-stones,.curiosity-challenge[data-solved="true"] .v-step-stones>*,.curiosity-challenge[data-solved="true"] .v-steady-eye,.curiosity-challenge[data-solved="true"] .v-three-feet,.curiosity-challenge[data-solved="true"] .v-three-feet>*,.curiosity-challenge[data-solved="true"] .v-mark-feet,.curiosity-challenge[data-solved="true"] .v-mark-feet>*,.curiosity-challenge[data-solved="true"] .v-beat-marks,.curiosity-challenge[data-solved="true"] .v-beat-marks>*,.curiosity-challenge[data-solved="true"] .v-real-route,.curiosity-challenge[data-solved="true"] .v-snake-route,.curiosity-challenge[data-solved="true"] .v-yarn-bow,.curiosity-challenge[data-solved="true"] .v-highlight-route,.curiosity-challenge[data-solved="true"] .v-route-stake,.curiosity-challenge[data-solved="true"] .v-route-order,.curiosity-challenge[data-solved="true"] .v-route-knot{opacity:1;transform:none;stroke-dashoffset:0}
 .curiosity-challenge[data-question="beast-fourth-print"][data-solved="true"] .v-tail-up{opacity:0}
 .curiosity-challenge[data-solved="true"] .w-arrow-print,.curiosity-challenge[data-solved="true"] .w-flip-arc,.curiosity-challenge[data-solved="true"] .w-left-mark,.curiosity-challenge[data-solved="true"] .w-match-ring,.curiosity-challenge[data-solved="true"] .w-order-mark,.curiosity-challenge[data-solved="true"] .w-page-found,.curiosity-challenge[data-solved="true"] .w-page-star,.curiosity-challenge[data-solved="true"] .w-safe-ribbon,.curiosity-challenge[data-solved="true"] .w-shelf-arrow,.curiosity-challenge[data-solved="true"] .w-slide-ribbon,.curiosity-challenge[data-solved="true"] .w-return-ribbon{opacity:1;transform:none;stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .w-order-stamp{transform:translate(0,0)}
 .curiosity-challenge[data-solved="true"] .w-return-book{transform:translateX(124px) scaleX(.35)}
 .curiosity-challenge[data-solved="true"] .w-return-ribbon{transform:translate(118px,0)}
 .curiosity-challenge[data-solved="true"] .x-fall-stone,.curiosity-challenge[data-solved="true"] .x-safety-ring,.curiosity-challenge[data-solved="true"] .x-ledge-shade,.curiosity-challenge[data-solved="true"] .x-safe-tracks,.curiosity-challenge[data-solved="true"] .x-safe-tracks>ellipse,.curiosity-challenge[data-solved="true"] .x-stop-align,.curiosity-challenge[data-solved="true"] .x-wedge,.curiosity-challenge[data-solved="true"] .x-contact-dot,.curiosity-challenge[data-solved="true"] .x-order-wedge,.curiosity-challenge[data-solved="true"] .x-order-alignment{opacity:1;stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .x-shell-still ellipse,.curiosity-challenge[data-solved="true"] .x-shell-still circle{transform:translateX(-31px)}
 .curiosity-challenge[data-solved="true"] .x-riddle-turtle{transform:translateX(48px)}
 .curiosity-challenge[data-solved="true"] .x-order-turtle{transform:translateX(28px)}
 .curiosity-challenge[data-solved="true"] .x-roll-rock{transform:translateX(62px)}
 .curiosity-challenge[data-solved="true"] .x-riddle-wheel{transform:translateX(40px) rotate(90deg)}
 .curiosity-challenge[data-solved="true"] .x-spiral-glow,.curiosity-challenge[data-solved="true"] .x-push-hand{opacity:0}
 .curiosity-challenge[data-solved="true"] .y-count-block{transform:translate(104px,24px)}
 .curiosity-challenge[data-solved="true"] .y-count-gap,.curiosity-challenge[data-solved="true"] .y-count-number>text:first-child{opacity:0}
 .curiosity-challenge[data-solved="true"] .y-count-number>text:last-child,.curiosity-challenge[data-solved="true"] .y-bridge-steps,.curiosity-challenge[data-solved="true"] .y-lock-glow,.curiosity-challenge[data-solved="true"] .y-order-foot,.curiosity-challenge[data-solved="true"] .y-landing-mark,.curiosity-challenge[data-solved="true"] .y-order-knots,.curiosity-challenge[data-solved="true"] .y-helper-hands{opacity:1;stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .y-bridge-left{transform:translateX(46px)}
 .curiosity-challenge[data-solved="true"] .y-bridge-right{transform:translateX(-55px)}
 .curiosity-challenge[data-solved="true"] .y-bridge-center{transform:translateY(36px)}
 .curiosity-challenge[data-solved="true"] .y-lock-piece{transform:translateX(0)}
 .curiosity-challenge[data-solved="true"] .y-order-left,.curiosity-challenge[data-solved="true"] .y-order-right,.curiosity-challenge[data-solved="true"] .y-order-span{transform:none}
 .curiosity-challenge[data-solved="true"] .y-waterline,.curiosity-challenge[data-solved="true"] .y-floating-rig{transform:translateY(-18px)}
 .curiosity-challenge[data-solved="true"] .y-unroll-ladder{opacity:1;transform:translateY(0) scaleY(1)}
 .curiosity-challenge[data-solved="true"] .y-rope-coil{opacity:0}
 .curiosity-challenge[data-solved="true"] .y-knot-two{stroke:#42ad9e;stroke-width:8}
 .curiosity-challenge[data-solved="true"] .y-ladder-friend{transform:translateY(28px)}
 .curiosity-challenge[data-solved="true"] .z-source-sound,.curiosity-challenge[data-solved="true"] .z-echo-one,.curiosity-challenge[data-solved="true"] .z-echo-two,.curiosity-challenge[data-solved="true"] .z-note-rise>text,.curiosity-challenge[data-solved="true"] .z-pitch-trace,.curiosity-challenge[data-solved="true"] .z-listen-rings,.curiosity-challenge[data-solved="true"] .z-note-card,.curiosity-challenge[data-solved="true"] .z-note-path,.curiosity-challenge[data-solved="true"] .z-note-points,.curiosity-challenge[data-solved="true"] .z-unlock-spark,.curiosity-challenge[data-solved="true"] .z-door-light,.curiosity-challenge[data-solved="true"] .z-tooth-check,.curiosity-challenge[data-solved="true"] .z-tooth-check>circle,.curiosity-challenge[data-solved="true"] .z-seal-wrong,.curiosity-challenge[data-solved="true"] .z-seal-check,.curiosity-challenge[data-solved="true"] .z-order-return{opacity:1;stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .z-matching-key{transform:translateX(57px)}
 .curiosity-challenge[data-solved="true"] .z-riddle-ring>path{transform:translateX(53px)}
 .curiosity-challenge[data-solved="true"] .z-door-crack{transform:translateX(17px)}
 .curiosity-challenge[data-solved="true"] .z-order-lock{transform:rotate(90deg)}
 .curiosity-challenge[data-solved="true"] .aa-fold-flap{transform:scaleX(0)}
 .curiosity-challenge[data-solved="true"] .aa-copy-star,.curiosity-challenge[data-solved="true"] .aa-big-letter{opacity:0}
 .curiosity-challenge[data-solved="true"] .aa-zoom-lens{transform:translateX(86px)}
 .curiosity-challenge[data-solved="true"] .aa-riddle-lens{transform:translateX(-70px)}
 .curiosity-challenge[data-solved="true"] .aa-order-lens{transform:translateX(-80px)}
 .curiosity-challenge[data-solved="true"] .aa-date-lens,.curiosity-challenge[data-solved="true"] .aa-date-frame,.curiosity-challenge[data-solved="true"] .aa-star-lines,.curiosity-challenge[data-solved="true"] .aa-chart-credit,.curiosity-challenge[data-solved="true"] .aa-source-rings,.curiosity-challenge[data-solved="true"] .aa-order-credit,.curiosity-challenge[data-solved="true"] .aa-order-sky,.curiosity-challenge[data-solved="true"] .aa-order-compare,.curiosity-challenge[data-solved="true"] .aa-clear-credit,.curiosity-challenge[data-solved="true"] .aa-order-lens,.curiosity-challenge[data-solved="true"] .aa-second-source,.curiosity-challenge[data-solved="true"] .aa-verified-check{opacity:1;stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .d-fish-tail{transform:rotate(-5deg)}
 .curiosity-challenge[data-solved="true"] .e-painted-mask{transform:translateX(99px) rotate(7deg)}
 .curiosity-challenge[data-solved="true"] .e-real-eyes,.curiosity-challenge[data-solved="true"] .e-nobody,.curiosity-challenge[data-solved="true"] .e-light,.curiosity-challenge[data-solved="true"] .e-moon-halo,.curiosity-challenge[data-solved="true"] .e-morning,.curiosity-challenge[data-solved="true"] .e-paper-roll,.curiosity-challenge[data-solved="true"] .e-dry-feet,.curiosity-challenge[data-solved="true"] .e-spring-star,.curiosity-challenge[data-solved="true"] .e-symmetry-door,.curiosity-challenge[data-solved="true"] .e-odd-bloom{opacity:1}
 .curiosity-challenge[data-solved="true"] .e-moon-eye{transform:translateY(-23px)}
 .curiosity-challenge[data-solved="true"] .e-sleep-lids,.curiosity-challenge[data-solved="true"] .e-ink-river{opacity:0}
 .curiosity-challenge[data-solved="true"] .e-yawn{transform:scaleY(.18)}
 .curiosity-challenge[data-solved="true"] .e-dry-frog{transform:translate(203px,0)}
 .curiosity-challenge[data-solved="true"] .e-spring-frog{transform:translateY(-26px)}
 .curiosity-challenge[data-solved="true"] .e-symmetric-frog,.curiosity-challenge[data-solved="true"] .e-symmetric-fold{transform:translateY(-19px)}
 .curiosity-challenge[data-solved="true"] .e-odd-frog{transform:translate(226px,0)}
 .curiosity-challenge[data-solved="true"] .g-grip-fruit{transform:rotate(55deg)}
 .curiosity-challenge[data-solved="true"] .g-grip-finger{transform:translateX(0)}
 .curiosity-challenge[data-solved="true"] .g-grip-wind,.curiosity-challenge[data-solved="true"] .g-sail-seed,.curiosity-challenge[data-solved="true"] .g-sail-breeze,.curiosity-challenge[data-solved="true"] .g-hidden-seed,.curiosity-challenge[data-solved="true"] .g-reverse-moon,.curiosity-challenge[data-solved="true"] .g-reverse-star,.curiosity-challenge[data-solved="true"] .g-reverse-bell{opacity:0}
 .curiosity-challenge[data-solved="true"] .g-grip-stop,.curiosity-challenge[data-solved="true"] .g-sail-sprout,.curiosity-challenge[data-solved="true"] .g-hidden-soil,.curiosity-challenge[data-solved="true"] .g-hidden-leaf,.curiosity-challenge[data-solved="true"] .g-cycle-one,.curiosity-challenge[data-solved="true"] .g-cycle-two,.curiosity-challenge[data-solved="true"] .g-cycle-three,.curiosity-challenge[data-solved="true"] .g-fold-straight,.curiosity-challenge[data-solved="true"] .g-fold-star,.curiosity-challenge[data-solved="true"] .g-fold-one,.curiosity-challenge[data-solved="true"] .g-leading-lamp,.curiosity-challenge[data-solved="true"] .g-route-star,.curiosity-challenge[data-solved="true"] .g-reverse-finish{opacity:1}
 .curiosity-challenge[data-solved="true"] .g-sail-wing{transform:rotate(-38deg)}
 .curiosity-challenge[data-solved="true"] .g-hidden-cover{transform:rotate(-23deg) translate(-20px,-6px)}
 .curiosity-challenge[data-solved="true"] .g-cycle-trace,.curiosity-challenge[data-solved="true"] .g-leading-line,.curiosity-challenge[data-solved="true"] .g-route-highlight{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .g-fold-u{opacity:0}
 .curiosity-challenge[data-solved="true"] .g-leading-tip{transform:translate(184px,-25px)}
 .curiosity-challenge[data-solved="true"] .g-broken-a,.curiosity-challenge[data-solved="true"] .g-broken-c{opacity:.3;transform:translateY(14px)}
 .curiosity-challenge[data-solved="true"] .g-reverse-line{transform:scaleX(0)}
 .curiosity-challenge[data-solved="true"] .h-cover-hand{transform:translateX(0)}
 .curiosity-challenge[data-solved="true"] .h-cover-sound,.curiosity-challenge[data-solved="true"] .h-cover-wave,.curiosity-challenge[data-solved="true"] .h-echo-back,.curiosity-challenge[data-solved="true"] .h-echo-word,.curiosity-challenge[data-solved="true"] .h-open-air,.curiosity-challenge[data-solved="true"] .h-open-note,.curiosity-challenge[data-solved="true"] .h-beat-trace,.curiosity-challenge[data-solved="true"] .h-remain-one,.curiosity-challenge[data-solved="true"] .h-night-pastries,.curiosity-challenge[data-solved="true"] .h-night-steam,.curiosity-challenge[data-solved="true"] .h-night-stars,.curiosity-challenge[data-solved="true"] .h-match-outline,.curiosity-challenge[data-solved="true"] .h-step-cake,.curiosity-challenge[data-solved="true"] .h-step-spark{opacity:1}
 .curiosity-challenge[data-solved="true"] .h-echo-out,.curiosity-challenge[data-solved="true"] .h-remain-cakes,.curiosity-challenge[data-solved="true"] .h-remain-crescent,.curiosity-challenge[data-solved="true"] .h-night-mould,.curiosity-challenge[data-solved="true"] .h-match-stamp,.curiosity-challenge[data-solved="true"] .h-step-dough,.curiosity-challenge[data-solved="true"] .h-step-mould{opacity:0}
 .curiosity-challenge[data-solved="true"] .h-echo-back{transform:translateX(-74px)}
 .curiosity-challenge[data-solved="true"] .h-beat-one{transform:translate(25px,17px)}
 .curiosity-challenge[data-solved="true"] .h-beat-three{transform:translate(-90px,17px)}
 .curiosity-challenge[data-solved="true"] .h-beat-two{transform:translate(110px,17px)}
 .curiosity-challenge[data-solved="true"] .h-step-mould{transform:translateY(-72px)}
 .curiosity-challenge[data-solved="true"] .i-stays-shadow{transform:rotate(-110deg)}
 .curiosity-challenge[data-solved="true"] .i-day-records{opacity:0}
 .curiosity-challenge[data-solved="true"] .i-day-morning,.curiosity-challenge[data-solved="true"] .i-day-noon{opacity:.25}
 .curiosity-challenge[data-solved="true"] .i-stays-sun{transform:translateX(-250px)}
 .curiosity-challenge[data-solved="true"] .i-stays-pin,.curiosity-challenge[data-solved="true"] .i-drawer-return,.curiosity-challenge[data-solved="true"] .i-base-path,.curiosity-challenge[data-solved="true"] .i-day-pin,.curiosity-challenge[data-solved="true"] .i-day-morning,.curiosity-challenge[data-solved="true"] .i-day-noon,.curiosity-challenge[data-solved="true"] .i-day-evening,.curiosity-challenge[data-solved="true"] .i-day-arc,.curiosity-challenge[data-solved="true"] .i-hold-quiet,.curiosity-challenge[data-solved="true"] .i-weather-thunder,.curiosity-challenge[data-solved="true"] .i-skin-ring,.curiosity-challenge[data-solved="true"] .i-return-ear{opacity:1}
 .curiosity-challenge[data-solved="true"] .i-day-morning,.curiosity-challenge[data-solved="true"] .i-day-noon{opacity:.25}
 .curiosity-challenge[data-solved="true"] .i-drawer-cloud{transform:translateX(-91px)}
 .curiosity-challenge[data-solved="true"] .i-base-wrong,.curiosity-challenge[data-solved="true"] .i-hold-rings,.curiosity-challenge[data-solved="true"] .i-weather-rain{opacity:0}
 .curiosity-challenge[data-solved="true"] .i-hold-hand{transform:translate(-28px,6px)}
 .curiosity-challenge[data-solved="true"] .i-return-out,.curiosity-challenge[data-solved="true"] .i-return-back{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .i-return-seed{transform:translate(-69px,11px)}
 .curiosity-challenge[data-solved="true"] .j-heart-clapper{transform:rotate(8deg)}
 .curiosity-challenge[data-solved="true"] .j-heart-tassels{transform:translateX(3px)}
 .curiosity-challenge[data-solved="true"] .j-riddle-voice{transform:translate(12px,0)}
 .curiosity-challenge[data-solved="true"] .j-count-sky-cloud,.curiosity-challenge[data-solved="true"] .j-line-thread,.curiosity-challenge[data-solved="true"] .j-return-string{opacity:0}
 .curiosity-challenge[data-solved="true"] .j-count-sky-cloud{transform:translateX(145px)}
 .curiosity-challenge[data-solved="true"] .j-line-kite{transform:translate(-53px,36px) scale(.63)}
 .curiosity-challenge[data-solved="true"] .j-return-kite{transform:translate(-68px,53px) scale(.58)}
 .curiosity-challenge[data-solved="true"] .j-return-knot{transform:scale(.88)}
 .curiosity-challenge[data-solved="true"] .j-heart-ring,.curiosity-challenge[data-solved="true"] .j-heart-answer,.curiosity-challenge[data-solved="true"] .j-riddle-voice,.curiosity-challenge[data-solved="true"] .j-riddle-path,.curiosity-challenge[data-solved="true"] .j-clapper-sound,.curiosity-challenge[data-solved="true"] .j-travel-vibration,.curiosity-challenge[data-solved="true"] .j-travel-ear,.curiosity-challenge[data-solved="true"] .j-count-three,.curiosity-challenge[data-solved="true"] .j-connected-glow{opacity:1}
 .curiosity-challenge[data-solved="true"] .j-travel-wave,.curiosity-challenge[data-solved="true"] .j-connected-glow path{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .l-shield-ghost{opacity:0;transform:scale(.68)}
 .curiosity-challenge[data-solved="true"] .l-shield-stone{transform:translateY(75px)}
 .curiosity-challenge[data-solved="true"] .l-shield-key{transform:translate(160px,15px) scale(.66)}
 .curiosity-challenge[data-solved="true"] .l-shield-lid{transform:rotate(-28deg)}
 .curiosity-challenge[data-solved="true"] .l-riddle-key{opacity:1;transform:translate(100px,20px) rotate(0)}
 .curiosity-challenge[data-solved="true"] .l-riddle-lid{transform:rotate(-18deg)}
 .curiosity-challenge[data-solved="true"] .l-riddle-note{opacity:1;transform:translateY(-11px)}
 .curiosity-challenge[data-solved="true"] .l-two-good{transform:translateY(25px)}
 .curiosity-challenge[data-solved="true"] .l-two-open{opacity:1;transform:translateY(-11px)}
 .curiosity-challenge[data-solved="true"] .l-order-leaf,.curiosity-challenge[data-solved="true"] .l-order-stone,.curiosity-challenge[data-solved="true"] .l-order-moon{transform:scale(1.3);filter:brightness(1.4)}
 .curiosity-challenge[data-solved="true"] .l-order-window{opacity:1;transform:scaleX(1)}
 .curiosity-challenge[data-solved="true"] .l-direction-pin{transform:rotate(185deg)}
 .curiosity-challenge[data-solved="true"] .l-direction-arrows{opacity:.12}
 .curiosity-challenge[data-solved="true"] .l-direction-unknown{opacity:1}
 .curiosity-challenge[data-solved="true"] .l-daystar-stitch,.curiosity-challenge[data-solved="true"] .l-closed-cloth,.curiosity-challenge[data-solved="true"] .l-fasten-star{opacity:1}
 .curiosity-challenge[data-solved="true"] .l-daystar-stitch path{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .l-fasten-clasp{transform:translateX(-10px)}
 .curiosity-challenge[data-solved="true"] .l-fasten-tip{transform:translate(66px,14px)}
 .curiosity-challenge[data-solved="true"] .m-swap-pieces rect{transform:translateX(145px)}
 .curiosity-challenge[data-solved="true"] .m-swap-four,.curiosity-challenge[data-solved="true"] .m-latch-inside,.curiosity-challenge[data-solved="true"] .m-twin-tray,.curiosity-challenge[data-solved="true"] .m-open-hand,.curiosity-challenge[data-solved="true"] .m-roll-three-mark,.curiosity-challenge[data-solved="true"] .m-five-paper,.curiosity-challenge[data-solved="true"] .m-record-four{opacity:1}
 .curiosity-challenge[data-solved="true"] .m-latch-hook{transform:translateX(58px)}
 .curiosity-challenge[data-solved="true"] .m-latch-lid{transform:rotate(-16deg)}
 .curiosity-challenge[data-solved="true"] .m-twin-chips{transform:translateY(13px)}
 .curiosity-challenge[data-solved="true"] .m-open-hook{transform:translateX(55px)}
 .curiosity-challenge[data-solved="true"] .m-open-lid{transform:rotate(-23deg)}
 .curiosity-challenge[data-solved="true"] .m-open-chip{transform:translate(190px,-8px)}
 .curiosity-challenge[data-solved="true"] .m-roll-one,.curiosity-challenge[data-solved="true"] .m-roll-two,.curiosity-challenge[data-solved="true"] .m-roll-three{transform:translateX(151px)}
 .curiosity-challenge[data-solved="true"] .m-evap-drop,.curiosity-challenge[data-solved="true"] .m-record-drops{opacity:0}
 .curiosity-challenge[data-solved="true"] .m-evap-vapor{opacity:.4;transform:translateY(-12px)}
 .curiosity-challenge[data-solved="true"] .m-record-pencil{transform:translate(105px,0)}
 .curiosity-challenge[data-solved="true"] .n-pass-one{opacity:0;transform:translateY(70px)}
 .curiosity-challenge[data-solved="true"] .n-pass-two{opacity:0;transform:translateY(47px)}
 .curiosity-challenge[data-solved="true"] .n-pass-three{opacity:0;transform:translateY(24px)}
 .curiosity-challenge[data-solved="true"] .n-pass-ripple,.curiosity-challenge[data-solved="true"] .n-flower-petals,.curiosity-challenge[data-solved="true"] .n-link-answer,.curiosity-challenge[data-solved="true"] .n-link-drop,.curiosity-challenge[data-solved="true"] .n-hang-drop,.curiosity-challenge[data-solved="true"] .n-ink-one,.curiosity-challenge[data-solved="true"] .n-eye-ink,.curiosity-challenge[data-solved="true"] .n-fish-match,.curiosity-challenge[data-solved="true"] .n-ink-swirl{opacity:1}
 .curiosity-challenge[data-solved="true"] .n-flower-drop{opacity:0;transform:translateY(29px)}
 .curiosity-challenge[data-solved="true"] .n-flower-petals{transform:scale(1.08)}
 .curiosity-challenge[data-solved="true"] .n-link-drop{transform:translateY(80px)}
 .curiosity-challenge[data-solved="true"] .n-hang-links circle:nth-child(2){transform:translate(-36px,6px)}
 .curiosity-challenge[data-solved="true"] .n-hang-links circle:nth-child(3){transform:translate(-65px,7px)}
 .curiosity-challenge[data-solved="true"] .n-hang-basin{transform:translateX(-145px)}
 .curiosity-challenge[data-solved="true"] .n-hang-drop{transform:translateY(19px)}
 .curiosity-challenge[data-solved="true"] .n-ink-reflections{opacity:0}
 .curiosity-challenge[data-solved="true"] .n-eye-brush{transform:translate(29px,-17px)}
 .curiosity-challenge[data-solved="true"] .n-ink-water{opacity:0;transform:translateY(51px)}
 .curiosity-challenge[data-solved="true"] .n-ink-pen{transform:translate(0,0)}
 .curiosity-challenge[data-solved="true"] .o-bottle-hand{transform:translateX(88px)}
 .curiosity-challenge[data-solved="true"] .o-dew-mist{opacity:.16;transform:translateY(-9px)}
 .curiosity-challenge[data-solved="true"] .o-dew-dots,.curiosity-challenge[data-solved="true"] .o-dew-smile,.curiosity-challenge[data-solved="true"] .o-open-mist,.curiosity-challenge[data-solved="true"] .o-wheel-spiral,.curiosity-challenge[data-solved="true"] .o-wheel-wind,.curiosity-challenge[data-solved="true"] .o-star-beam,.curiosity-challenge[data-solved="true"] .o-floor-star,.curiosity-challenge[data-solved="true"] .o-living-trail,.curiosity-challenge[data-solved="true"] .o-release-trail{opacity:1}
 .curiosity-challenge[data-solved="true"] .o-dew-smile,.curiosity-challenge[data-solved="true"] .o-wheel-spiral{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .o-wheel-base{transform:translateX(0)}
 .curiosity-challenge[data-solved="true"] .o-wheel-blades{transform:translateX(0) rotate(580deg)}
 .curiosity-challenge[data-solved="true"] .o-turn-shade{transform:translateX(8px) scaleX(.88)}
 .curiosity-challenge[data-solved="true"] .o-turn-star{transform:translateX(127px)}
 .curiosity-challenge[data-solved="true"] .o-living-bug{transform:translate(70px,-34px)}
 .curiosity-challenge[data-solved="true"] .o-release-latch{transform:translateX(48px)}
 .curiosity-challenge[data-solved="true"] .o-release-dome{transform:translate(-18px,-4px)}
 .curiosity-challenge[data-solved="true"] .o-release-bug{transform:translate(130px,18px)}
 .curiosity-challenge[data-solved="true"] .p-page-three{transform:scaleX(.025);opacity:.42}
 .curiosity-challenge[data-solved="true"] .p-page-two,.curiosity-challenge[data-solved="true"] .p-page-three-tab,.curiosity-challenge[data-solved="true"] .p-side-veins,.curiosity-challenge[data-solved="true"] .p-fit-butterfly,.curiosity-challenge[data-solved="true"] .p-binding-thread,.curiosity-challenge[data-solved="true"] .p-bound-sun,.curiosity-challenge[data-solved="true"] .p-butterfly-mirror,.curiosity-challenge[data-solved="true"] .p-joined-line,.curiosity-challenge[data-solved="true"] .p-bamboo-shoot,.curiosity-challenge[data-solved="true"] .p-soft-wrap,.curiosity-challenge[data-solved="true"] .p-box-moon{opacity:1}
 .curiosity-challenge[data-solved="true"] .p-ladybug{transform:translate(82px,-48px)}
 .curiosity-challenge[data-solved="true"] .p-fit-corner{transform:translateX(-109px)}
 .curiosity-challenge[data-solved="true"] .p-fit-butterfly{transform:translateY(-3px)}
 .curiosity-challenge[data-solved="true"] .p-loose-left{transform:translate(87px,7px)}
 .curiosity-challenge[data-solved="true"] .p-loose-right{transform:translate(-59px,6px) scaleX(.18)}
 .curiosity-challenge[data-solved="true"] .p-binding-thread,.curiosity-challenge[data-solved="true"] .p-joined-line{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .p-word-mirror{transform:translateX(95px);opacity:.2}
 .curiosity-challenge[data-solved="true"] .p-word-unchanged{stroke-dasharray:70;stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .p-good-shard{transform:translate(-128px,27px)}
 .curiosity-challenge[data-solved="true"] .p-bamboo-shoot{transform:translateX(-290px)}
 .curiosity-challenge[data-solved="true"] .p-safe-shard{transform:translateY(38px) scale(.45);opacity:0}
 .curiosity-challenge[data-solved="true"] .p-box-lid{transform:translate(0,0)}
 .curiosity-challenge[data-solved="true"] .q-claim-left{transform:translateX(-15px);opacity:.58}
 .curiosity-challenge[data-solved="true"] .q-claim-right{transform:translateX(15px);opacity:.58}
 .curiosity-challenge[data-solved="true"] .q-claim-stone,.curiosity-challenge[data-solved="true"] .q-grain-acorn,.curiosity-challenge[data-solved="true"] .q-order-back,.curiosity-challenge[data-solved="true"] .q-order-marker,.curiosity-challenge[data-solved="true"] .q-ink-ring,.curiosity-challenge[data-solved="true"] .q-ink-z,.curiosity-challenge[data-solved="true"] .q-wake-stars,.curiosity-challenge[data-solved="true"] .q-track-flower,.curiosity-challenge[data-solved="true"] .q-play-tray,.curiosity-challenge[data-solved="true"] .q-play-colour{opacity:1}
 .curiosity-challenge[data-solved="true"] .q-sun{transform:translateX(-238px)}
 .curiosity-challenge[data-solved="true"] .q-shadow{transform:translateX(130px) scaleX(-1)}
 .curiosity-challenge[data-solved="true"] .q-grain-b{transform:translate(-186px,-1px);opacity:.65}
 .curiosity-challenge[data-solved="true"] .q-order-sign,.curiosity-challenge[data-solved="true"] .q-wake-z,.curiosity-challenge[data-solved="true"] .q-play-top{opacity:0}
 .curiosity-challenge[data-solved="true"] .q-ink-ring,.curiosity-challenge[data-solved="true"] .q-play-colour{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .q-ink-top{transform:translate(72px,12px) rotate(67deg)}
 .curiosity-challenge[data-solved="true"] .q-track-bead{transform:translate(228px,0)}
 .curiosity-challenge[data-solved="true"] .q-play-lid{transform:translateY(0)}
 .curiosity-challenge[data-solved="true"] .r-reverse-grains{transform:translateY(-42px)}
 .curiosity-challenge[data-solved="true"] .r-fallen-leaf{transform:translateX(22px) rotate(7deg)}
 .curiosity-challenge[data-solved="true"] .r-room-sand,.curiosity-challenge[data-solved="true"] .r-passing-grain{opacity:0}
 .curiosity-challenge[data-solved="true"] .r-room-stream{opacity:.3}
 .curiosity-challenge[data-solved="true"] .r-sand-house,.curiosity-challenge[data-solved="true"] .r-bottom-three,.curiosity-challenge[data-solved="true"] .r-lower-pile,.curiosity-challenge[data-solved="true"] .r-order-stream,.curiosity-challenge[data-solved="true"] .r-bow-gear,.curiosity-challenge[data-solved="true"] .r-gear-inside,.curiosity-challenge[data-solved="true"] .r-gear-sound,.curiosity-challenge[data-solved="true"] .r-record-stage,.curiosity-challenge[data-solved="true"] .r-record-bird,.curiosity-challenge[data-solved="true"] .r-record-beats,.curiosity-challenge[data-solved="true"] .r-greeting-star,.curiosity-challenge[data-solved="true"] .r-bug-dream{opacity:1}
 .curiosity-challenge[data-solved="true"] .r-upper-pile{opacity:.18;transform:translateY(8px)}
 .curiosity-challenge[data-solved="true"] .r-order-ticks path,.curiosity-challenge[data-solved="true"] .r-greeting-feet{opacity:1}
 .curiosity-challenge[data-solved="true"] .r-bow-press{transform:translateY(10px)}
 .curiosity-challenge[data-solved="true"] .r-bow-crane{transform:rotate(16deg)}
 .curiosity-challenge[data-solved="true"] .r-bow-gear{transform:rotate(110deg)}
 .curiosity-challenge[data-solved="true"] .r-record-bird{transform:scale(1.35)}
 .curiosity-challenge[data-solved="true"] .r-record-label-b{opacity:.25}
 .curiosity-challenge[data-solved="true"] .r-record-beats circle{opacity:1}
 .curiosity-challenge[data-solved="true"] .r-gear-wing,.curiosity-challenge[data-solved="true"] .r-greeting-left,.curiosity-challenge[data-solved="true"] .r-greeting-right{transform:scaleX(1);opacity:1}
 .curiosity-challenge[data-solved="true"] .r-gear-hatch{transform:translateX(35px)}
 .curiosity-challenge[data-solved="true"] .r-greeting-head{transform:rotate(19deg)}
 .curiosity-challenge[data-solved="true"] .s-lamp-car{transform:translateX(74px)}
 .curiosity-challenge[data-solved="true"] .s-moving-shadow{transform:translateX(-25px)}
 .curiosity-challenge[data-solved="true"] .s-lamp-on,.curiosity-challenge[data-solved="true"] .s-shadow-waves,.curiosity-challenge[data-solved="true"] .s-hat-knot,.curiosity-challenge[data-solved="true"] .s-theatre-lamp,.curiosity-challenge[data-solved="true"] .s-theatre-bow,.curiosity-challenge[data-solved="true"] .s-footprint,.curiosity-challenge[data-solved="true"] .s-ant,.curiosity-challenge[data-solved="true"] .s-print-trail>g,.curiosity-challenge[data-solved="true"] .s-paper-door,.curiosity-challenge[data-solved="true"] .s-outer-print,.curiosity-challenge[data-solved="true"] .s-notch-b>path:nth-child(2){opacity:1}
 .curiosity-challenge[data-solved="true"] .s-shadow-beam{opacity:.34}
 .curiosity-challenge[data-solved="true"] .s-point-hat{transform:translateY(-48px)}
 .curiosity-challenge[data-solved="true"] .s-curtain{transform:scaleY(1)}
 .curiosity-challenge[data-solved="true"] .s-theatre-puppet{transform:translateY(0)}
 .curiosity-challenge[data-solved="true"] .s-lifting-stamp{transform:translateY(-12px)}
 .curiosity-challenge[data-solved="true"] .s-ant{transform:translateX(-20px)}
 .curiosity-challenge[data-solved="true"] .s-print-stamp{transform:translateY(-12px)}
 .curiosity-challenge[data-solved="true"] .s-notch-b{transform:translateY(-42px)}
 .curiosity-challenge[data-solved="true"] .s-ink-lid{transform:rotate(-57deg)}
 .curiosity-challenge[data-solved="true"] .s-order-stamp{transform:translate(60px,-8px)}
 .curiosity-challenge[data-solved="true"] .t-leap-star{transform:translate(50px,-26px)}
 .curiosity-challenge[data-solved="true"] .t-star-eye,.curiosity-challenge[data-solved="true"] .t-flame,.curiosity-challenge[data-solved="true"] .t-wind,.curiosity-challenge[data-solved="true"] .t-oil-rise,.curiosity-challenge[data-solved="true"] .t-oil-spark,.curiosity-challenge[data-solved="true"] .t-attach-stars,.curiosity-challenge[data-solved="true"] .t-lamp-petals,.curiosity-challenge[data-solved="true"] .t-hidden-half,.curiosity-challenge[data-solved="true"] .t-peek-rabbit,.curiosity-challenge[data-solved="true"] .t-rabbit-trail,.curiosity-challenge[data-solved="true"] .t-star-full,.curiosity-challenge[data-solved="true"] .t-half-outline,.curiosity-challenge[data-solved="true"] .t-cut-line,.curiosity-challenge[data-solved="true"] .t-twin-rabbits,.curiosity-challenge[data-solved="true"] .t-lit-flower{opacity:1}
 .curiosity-challenge[data-solved="true"] .t-flame{transform:skewX(-10deg)}
 .curiosity-challenge[data-solved="true"] .t-oil-rise,.curiosity-challenge[data-solved="true"] .t-cut-line{stroke-dashoffset:0}
 .curiosity-challenge[data-solved="true"] .t-set-wick{opacity:1;transform:translateY(0)}
 .curiosity-challenge[data-solved="true"] .t-hidden-half,.curiosity-challenge[data-solved="true"] .t-star-mirror,.curiosity-challenge[data-solved="true"] .t-cut-paper{transform:scaleX(1)}
 .curiosity-challenge[data-solved="true"] .t-rabbit-hop{transform:translate(80px,0)}
 .curiosity-challenge[data-solved="true"] .t-half-outline,.curiosity-challenge[data-solved="true"] .t-cut-line{opacity:0}
}

/* Versioned ramp questions keep their original storyboard selectors. The
   revised evidence must remain hidden until the answer payoff begins. */
.curiosity-challenge[data-ramp-revision="beast-fourth-print"][data-solved="false"] .v-tail-print{opacity:0}

/* Explanatory choices need readable sentences at the actual modal width. */
.curiosity-challenge[data-question="scale-not-gold"] .curiosity-options:not([data-mode="spot"]),
.curiosity-challenge[data-question="drum-hold"] .curiosity-options:not([data-mode="spot"]),
.curiosity-challenge[data-question="chain-cannot-catch"] .curiosity-options:not([data-mode="spot"]),
.curiosity-challenge[data-question="beast-fourth-print"] .curiosity-options:not([data-mode="spot"]),
.curiosity-challenge[data-question="yarn-shortcut-trap"] .curiosity-options:not([data-mode="spot"]),
.curiosity-challenge[data-question="hourglass-time-not-reversed"] .curiosity-options:not([data-mode="spot"]){display:flex;flex-direction:column;gap:6px}
.curiosity-challenge[data-question="scale-not-gold"] .curiosity-options button,
.curiosity-challenge[data-question="drum-hold"] .curiosity-options button,
.curiosity-challenge[data-question="chain-cannot-catch"] .curiosity-options button,
.curiosity-challenge[data-question="beast-fourth-print"] .curiosity-options button,
.curiosity-challenge[data-question="yarn-shortcut-trap"] .curiosity-options button,
.curiosity-challenge[data-question="hourglass-time-not-reversed"] .curiosity-options button{flex:none;width:100%;min-height:38px;text-align:left;padding:7px 10px;font-size:14px;line-height:1.35}
.curiosity-challenge[data-question="box-latch-riddle"] .curiosity-stage[data-mode="riddle"],
.curiosity-challenge[data-question="top-one-foot-riddle"] .curiosity-stage[data-mode="riddle"],
.curiosity-challenge[data-question="window-shadow-smile"] .curiosity-stage[data-mode="riddle"]{height:auto;padding-bottom:7px}
.curiosity-challenge[data-question="box-latch-riddle"] .curiosity-stage[data-mode="riddle"] svg,
.curiosity-challenge[data-question="top-one-foot-riddle"] .curiosity-stage[data-mode="riddle"] svg,
.curiosity-challenge[data-question="window-shadow-smile"] .curiosity-stage[data-mode="riddle"] svg{height:100px}
.curiosity-challenge[data-question="box-latch-riddle"] .curiosity-options[data-mode="riddle"],
.curiosity-challenge[data-question="top-one-foot-riddle"] .curiosity-options[data-mode="riddle"],
.curiosity-challenge[data-question="window-shadow-smile"] .curiosity-options[data-mode="riddle"]{position:static;display:flex;flex-direction:column;gap:5px;margin:6px 7px 0}
.curiosity-challenge[data-question="box-latch-riddle"] .curiosity-options[data-mode="riddle"] button,
.curiosity-challenge[data-question="top-one-foot-riddle"] .curiosity-options[data-mode="riddle"] button,
.curiosity-challenge[data-question="window-shadow-smile"] .curiosity-options[data-mode="riddle"] button{flex:none;width:100%;min-height:36px;text-align:left;font-size:14px;line-height:1.35}
#curiosity-challenge[data-question="window-shadow-smile"] .curiosity-stage[data-mode="riddle"]{height:auto}

/* Reward balances remain readable in the game heading at every viewport size. */
.game-heading .game-rewards{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap}
.game-heading .game-reward-chip{position:relative;display:flex;align-items:center;gap:4px;min-width:96px;padding:3px 8px;border:1px solid #dccca9;border-radius:10px;background:#fff9ec;color:#31544a;font-size:13px;line-height:1.2}
.game-heading .game-reward-chip img{width:28px;height:28px;object-fit:contain}
.game-heading .game-reward-chip strong{font-size:18px;line-height:1;font-variant-numeric:tabular-nums}
.game-heading .game-reward-gain{position:absolute;right:8px;top:-8px;opacity:0;color:#247356;font-size:17px;font-style:normal;font-weight:800;pointer-events:none;text-shadow:0 1px #fffaf0}
.game-heading .reward-earned{animation:game-reward-glow .9s ease-out}
.game-heading .reward-earned .game-reward-gain{animation:game-reward-rise 1.2s ease-out both}
@keyframes game-reward-rise{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateY(-22px)}}
@keyframes game-reward-glow{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 5px #e1bd7260}}
.game-heading #mission,.nw01a-focus .game-heading #mission{margin-left:0}
.game-rewards .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:999px){
 .game-heading{gap:8px 10px;margin:10px 3%}
 .game-heading>div:first-of-type{flex:1 1 calc(100% - 120px);min-width:0}
 .game-heading .game-rewards{order:1;flex:0 0 auto;margin-left:0;gap:6px}
 .game-heading #mission{order:2;margin-left:auto}
 .game-heading #thinking-button,.game-heading #companion-chat-button,.game-heading #revision-button{order:3}
 .game-heading .game-reward-chip{min-width:84px;padding:3px 6px;font-size:12px}
 .game-heading .game-reward-chip img{width:24px;height:24px}
 .game-heading .game-reward-chip strong{font-size:16px}
}
@media(max-width:500px){.game-heading .game-reward-chip{min-width:0}.game-heading .game-reward-chip span{display:none}.game-heading .game-reward-chip img{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.game-heading .reward-earned,.game-heading .reward-earned .game-reward-gain{animation:none}.game-heading .game-reward-gain{opacity:1;position:static;font-size:13px}}
