.nano-world>img{object-position:50% 48%}.nano-world:after{background:linear-gradient(#173e4940,transparent 40%,#173e49b0)}.window-glint{position:absolute;inset:0;background:linear-gradient(110deg,transparent 28%,#fff0bf20 42%,transparent 55%);animation:windowLight 13s ease-in-out infinite alternate;pointer-events:none}@keyframes windowLight{to{transform:translateX(4%);opacity:.3}}
.note-card{margin-top:22px;border-left:3px solid #a64f38;padding:8px 0 5px 15px}.note-card>span,.note-card small{font-size:10px;line-height:1.9}.note-card p{font:21px/1.8 'KaiTi','SimSun',serif;margin:10px 0}.note-card>span{color:#9b573d}.note-card small{display:block}.part-tabs{grid-template-columns:1fr 1fr}#enter-board{width:100%;background:#286568;color:#fff2d4;border:1px solid #173e49;padding:14px;font-size:14px;box-shadow:0 3px 0 #173e49}
.optics-scene{width:min(1120px,91%);margin:28px auto 65px}.scene-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:22px}.scene-heading>div{padding:15px 22px;background:#fff0d9f2;border-left:3px solid #ad6842}.scene-heading h1{font:32px/1.4 'SimSun',serif;margin:8px 0 0}.scene-heading .eyebrow{font-size:10px;margin:0}.scene-heading>button{white-space:nowrap;font-size:12px}
.optics-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start}.case-note{background:#fff1d6f2;padding:25px;box-shadow:5px 6px 0 #173e4955;border-top:4px solid #a64f38}.file-label{font-size:10px;letter-spacing:.15em;color:#98583b}.case-note h2{font:28px/1.5 'SimSun',serif;margin:16px 0}.aqi-note{display:flex;align-items:center;gap:8px;border-block:1px solid #173e4933;padding-block:15px}.aqi-note i{background:url('../xinsu/assets/aqi-sprites.png') 50% 0/300% 200%;width:65px;height:65px;flex:none}.aqi-note p{font-size:13px;line-height:1.9;margin:0}.case-note ol{font-size:12px;line-height:2;padding-left:20px;margin:20px 0}.sensor-list{display:flex;gap:12px;flex-wrap:wrap}.sensor-list span{border:1px solid #173e4966;padding:8px 12px;font-size:11px;background:#ede6ce}.sensor-list .lit{background:#eab767;border-color:#b27e36}.beam-status{font-size:12px;line-height:1.9;margin:18px 0 12px;padding:10px 12px;background:#dce7d5;border-left:3px solid #347c7c;min-height:63px}.board-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.board-actions button{font-size:11px;min-height:44px}.case-note>small{font-size:9px;line-height:1.8;display:block;margin-top:15px;color:#50695f}
.board-sheet{background:#fff0ce;border:1px solid #173e49;box-shadow:6px 7px 0 #173e4950;padding:13px}.board-caption{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #173e4944;font-size:11px}.board-caption>b{color:#98543a}.board-caption>span{font-size:10px}.optics-board{position:relative;width:100%;aspect-ratio:1}.optics-board canvas{display:block;width:100%;height:100%}#mirror-buttons{position:absolute;inset:0}.mirror-button{position:absolute;width:19%;height:19%;background:none;border:1px solid #173e4922;padding:0;border-radius:4px;min-height:0;color:#173e49}.mirror-button:hover,.mirror-button:focus-visible{background:#fff5dc33;outline:3px solid #e4af58;outline-offset:-3px}.mirror-button>span{position:absolute;right:4px;bottom:3px;font-size:17px;line-height:1}.mirror-button.hint{box-shadow:0 0 0 4px #e4af58 inset}.mirror-key{display:flex;justify-content:space-around;gap:5px;font-size:9px;padding:8px 0 14px;color:#617268}.board-sheet>#confirm-board{width:100%;min-height:49px;background:#286568;color:#fff2d4;font-size:13px}.board-sheet>#confirm-board:disabled{background:#d8cfb7;color:#687265;opacity:1}.solving{animation:panelGlow .65s ease-in-out}@keyframes panelGlow{50%{filter:brightness(1.16);box-shadow:0 0 28px #eab767aa}}
.reveal-scene{width:min(780px,91%);margin:30px auto 70px;background:#fff1d6f5;padding:30px 38px;border-top:4px solid #a64f38;box-shadow:7px 8px 0 #173e4955}.reveal-scene>h1{font:38px/1.45 'SimSun',serif;margin:18px 0 20px}.reveal-copy{display:flex;gap:12px;align-items:center;margin:8px 0 20px}.small-bird{width:66px;height:66px;background:url('../xinsu/assets/aqi-sprites.png') 100% 0/300% 200%;flex:none}.reveal-copy p{font-size:14px;line-height:1.9;margin:0}.reveal-copy small{font-size:11px}.lens-sheet{border:1px solid #173e49;background:#ebe2c9;overflow:hidden}#lens-canvas{display:block;width:100%;height:310px;touch-action:none;cursor:grab}.lens-control{display:flex;gap:16px;align-items:center;padding:8px 15px;background:#173e49;color:#fff1d1;font-size:11px}.lens-control input{width:100%;min-width:0;height:44px;accent-color:#eab767}.lens-control>span{flex:none}.word-slips{display:flex;gap:12px;margin:20px 0 12px}.word-slips span{flex:1;border:1px dashed #173e4966;padding:15px 10px;font-size:12px;text-align:center;color:#62776c}.word-slips .found{border-style:solid;background:#e3b86c;color:#173e49;font:22px 'SimSun',serif;animation:wordFound .5s ease-out}@keyframes wordFound{from{opacity:.3;transform:translateY(6px) rotate(-2deg)}}#lens-status{font-size:12px;line-height:1.9}#collect{background:#286568;color:#fff2d4;min-height:48px;width:100%;margin:8px 0}#collect:disabled{background:#cac6b2;color:#596c62;opacity:1}#back-board{margin-top:10px}
.return-slip{border:1px solid #173e49;border-left:5px solid #ad6542;background:#ffefd0;padding:25px 24px;position:relative;overflow:hidden}.return-slip>small{font-size:10px;letter-spacing:.06em}.return-slip h2{font:32px 'SimSun',serif;margin:25px 0}.return-slip blockquote{font:23px/1.8 'KaiTi','SimSun',serif;margin:15px 0}.return-slip p{font-size:11px}.slip-bird{position:absolute;right:15px;top:42px;width:100px;height:100px;background:url('../xinsu/assets/aqi-sprites.png') 0 100%/300% 200%;rotate:-8deg}.slip-location{border-top:1px dashed #173e4966;margin-top:24px;padding-top:18px;font:20px 'SimSun',serif}.slip-location i{font-style:normal;color:#b5763c;margin:0 8px}.finish-copy{font-size:13px;line-height:2.1;margin:22px 0}.finish-actions{display:flex;gap:10px;flex-wrap:wrap}.finish-actions button{font-size:12px}.nano-ticket{background:linear-gradient(140deg,#ffefd0,#cbdcd0);animation:ticketArrive 1.2s ease-out both}@keyframes ticketArrive{from{transform:rotate(-14deg) translateY(60px);opacity:0}65%{transform:rotate(3deg) translateY(-7px)}}.nano-ticket .ticket-bird{animation:birdIn 1.6s ease-out both}#next-dialog p{line-height:2}
@media(max-width:760px){.note-card p{font-size:18px}.note-card small{font-size:9px}.optics-scene{margin-top:18px}.scene-heading{gap:7px;margin-bottom:14px}.scene-heading>div{padding:11px 13px}.scene-heading h1{font-size:23px}.scene-heading .eyebrow{font-size:8px;line-height:1.6}.scene-heading>button{font-size:10px;padding:8px}.optics-layout{grid-template-columns:1fr;gap:16px}.case-note{padding:18px 19px}.case-note h2{font-size:23px;margin:12px 0}.aqi-note{padding-block:9px}.aqi-note i{width:52px;height:52px}.aqi-note p{font-size:12px}.case-note ol{margin:12px 0;font-size:11px}.board-sheet{padding:8px}.board-caption{font-size:10px;padding:9px}.board-caption>span{font-size:9px}.mirror-key{font-size:8px}.mirror-button>span{font-size:14px;right:3px;bottom:2px}.reveal-scene{padding:24px 20px;margin-top:20px}.reveal-scene>h1{font-size:30px}.reveal-copy p{font-size:12px}.reveal-copy small{font-size:10px}#lens-canvas{height:230px}.lens-control{gap:10px;padding-inline:10px}.lens-control>span{font-size:10px}.word-slips{gap:8px}.word-slips span{font-size:10px;padding:12px 6px}.word-slips .found{font-size:20px}.return-slip{padding:22px 18px}.return-slip h2{font-size:27px}.return-slip blockquote{font-size:21px}.slip-bird{width:78px;height:78px;right:8px;top:42px}.slip-location{font-size:18px}.finish-copy{font-size:12px}}
@media(prefers-reduced-motion:reduce){.window-glint,.nano-ticket,.word-slips .found,.solving{animation:none!important}}
.optics-board{max-width:520px;margin-inline:auto}.board-instruction{font-size:11px;line-height:1.8;margin:0 0 16px;padding:8px 12px;background:#fff1d6ef;border-left:3px solid #ad6842;color:#173e49}
@media(max-width:760px){.optics-layout{display:flex;flex-direction:column}.board-sheet{order:1;width:100%}.case-note{order:2;width:100%}.board-instruction{font-size:10px;margin-bottom:12px}.scene-heading{margin-bottom:9px}}

#board-hint{font-size:10px;min-height:44px;padding:6px 10px;border:1px solid #173e4955;background:#f5e5bf}.board-caption{gap:8px}.board-caption span{margin-left:auto}

header{background:linear-gradient(90deg,#173e4990,#173e4930);border-bottom-color:#fff1d188}

.reveal-scene{animation:openDrawer .7s ease-out both}@keyframes openDrawer{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.reveal-scene{animation:none!important}}
