@font-face{font-family:QatStory;src:url('../assets/fonts/ZCOOLXiaoWei-Regular.ttf') format('truetype');font-display:swap}
:root{color-scheme:light;--bg:#eee6cf;--panel:#fff5dd;--line:#d6bd8c;--text:#443c2e;--muted:#786b54;--lime:#41664c;--cyan:#407a78;--purple:#795787;font-family:'Segoe UI','Microsoft YaHei',sans-serif}
body{background:radial-gradient(ellipse at 15% 0%,#f9f3dc 0,transparent 55%),radial-gradient(ellipse at 95% 65%,#ced6b6 0,transparent 55%),#eae4ce;font-size:15px}
body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%238c7950' filter='url(%23n)' opacity='.3' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:-1}
button,select{background:#fbf0d8;color:#514632;border-color:#c8ae7e;border-radius:5px;box-shadow:0 2px 0 #b69a6b33}
button:hover:not(:disabled){background:#eee2be;border-color:#8d754b}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #39715c}
button.primary{background:#486c51;color:#fff7dc;border-color:#37573f;box-shadow:0 3px 0 #304832;padding:13px 23px}
button.primary:hover:not(:disabled){background:#587d5e}button.primary:disabled{background:#9caa88;color:#f4f0dd}
.topbar{height:86px;background:#f8f0dcda;border-bottom:1px solid #c8bb97;padding:0 4%;box-shadow:0 3px 14px #695b3210}
.brand{font-family:QatStory,serif;color:#3b5843;font-size:24px}.brand-mark{color:#60794b;font-size:45px}.brand small{color:#8b795a;font-family:Georgia,serif;font-size:10px}
.mission-heading{font-family:QatStory,serif;font-size:22px;color:#64543b;align-items:center;gap:7px}.eyebrow{color:#8e7755;letter-spacing:2px;font:10px Georgia,serif}.mission-heading .eyebrow{font-size:9px;letter-spacing:3px}
.local-status{color:#65775b;font-size:12px}.icon-button{color:#726247}.icon-button span{font-size:13px}
main{max-width:1600px;padding:30px 4% 0}.chapter-heading{margin-bottom:23px}h1,h2,h3,.scene-label strong{font-family:QatStory,'Microsoft YaHei',serif}h1{font-size:37px;color:#424e35;margin-top:10px}h1 span{font-family:'Microsoft YaHei',sans-serif;font-size:13px;color:#8b7c61;margin-left:22px}
.chapter-progress{color:#776c50;font-size:12px}#progressBlocks i{background:#cfc8a8;height:6px;border-radius:2px}#progressBlocks i.on{background:#708858}
.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:stretch}
.world-panel{border:5px solid #725332;border-radius:9px;background:#84633d;box-shadow:0 3px 0 #4c3b29,0 12px 28px #68533224;outline:1px solid #c7ac74;outline-offset:-2px}
.world-top{height:36px;background:#775537;color:#f2dbab;border:0;font:10px Georgia,serif;letter-spacing:1.4px;padding:0 14px}.world-top>span:last-child{color:#f4e8c8;font:11px 'Microsoft YaHei',sans-serif}.world-top i{background:#c5d894}
.scene-wrap{background:#b59762}#world{image-rendering:auto}.scene-vignette{box-shadow:inset 0 0 30px #4b2e1b26}
.scene-label{top:auto;bottom:4%;left:2%;background:#fff1cce8;border:2px solid #947343;box-shadow:2px 3px 0 #62442955;padding:10px 15px;gap:4px;border-radius:3px}.scene-label .coordinate{color:#807348;font:8px Georgia,serif}.scene-label strong{font-size:19px;color:#51492d;letter-spacing:2px}.scene-label>span:last-child{color:#938054;font:7px Georgia,serif;letter-spacing:1px}
.world-footer{height:41px;background:#f0dfb7;color:#796543;font-size:11px;padding:0 13px}.world-footer b{color:#b09a6b}kbd{color:#776241;background:#fff4d6;border-color:#c7ae7e;box-shadow:0 2px 0 #bda577;font-size:10px}.live-dot{color:#657e45}.interact-button{background:#fff0cc;color:#4f633f;border:2px solid #947343;bottom:8%}
.mission-panel{background:linear-gradient(110deg,#fff8e3,#f2e5bf);border:2px solid #c4a677;border-radius:7px;padding:20px 15px;box-shadow:3px 4px 0 #aa8a5530;position:relative}.mission-panel:before{content:'';position:absolute;top:-5px;left:calc(50% - 20px);width:40px;height:12px;background:#bd965d;border:1px solid #987445;border-radius:3px}
.panel-label{color:#6e5b3c;font-family:QatStory,serif;font-size:22px;margin:2px 0 18px}.panel-label>span:last-child{font:13px Georgia,serif;align-self:center;color:#96732f}
.level-card{background:#fff9e8;border:1px solid #dac59c;min-height:80px;padding:16px 11px;border-radius:4px;gap:10px;box-shadow:0 2px 0 #bca07122}.level-card.current{background:#e6ebcf;border-color:#9aa979;box-shadow:inset 4px 0 #7b9058,0 2px 0 #bca07122}.level-number{color:#b29a70;font:23px Georgia,serif}.current .level-number{color:#6b8051}.level-copy strong{font-family:QatStory,serif;font-size:19px;color:#5a5039;margin-bottom:7px}.level-copy small{color:#8d7953;font-size:11px}.level-check{color:#71844f}.level-card:disabled{opacity:.62}.next-chapter{color:#958563;border-top:1px dashed #cbb98f;margin-top:10px;padding-top:17px;font-size:13px}.next-chapter small{font-size:10px}
.dialogue{background:linear-gradient(100deg,#fff6dc,#f5e8c8);border:2px solid #c4a677;border-radius:7px;box-shadow:3px 4px 0 #aa8a5520;min-height:110px;margin-top:23px;padding:18px 24px;gap:20px}#qatPortrait{background:#e4dfb9;border:3px double #ad9869;width:72px;height:72px;border-radius:8px}.speaker{color:#557048;font:700 15px Georgia,serif}.speaker span{color:#938265;font-size:11px}.dialogue p{color:#726346;font-size:14px;line-height:1.9;margin-top:8px;max-width:900px}.dialogue .primary{font-size:14px}.page-footer{color:#988969;font-size:10px;padding:20px 0}
dialog{background:#fcf4df;border:3px solid #9d7c49;border-radius:9px;color:#514632;box-shadow:0 24px 90px #362b2566}dialog::backdrop{background:#343c2c99;backdrop-filter:blur(6px)}.workbench-head{background:#eee1bf;border-bottom:1px solid #cbb88c;padding:20px 28px}h2{font-size:28px;color:#4e6142}.engine-label{color:#8b7b5c;font-size:11px}.brief{background:#f3e9cd;border-color:#d7c7a1}h3{font-size:22px;color:#68593c}.brief p{color:#796b50;font-size:14px}.target-card{background:#e4e9ce;border-color:#bbc59a;border-radius:4px}.target-card span{color:#6b7954;font-size:12px}.target-card strong{color:#486543}h4{font-size:14px;color:#65563e}#predictionOptions button,.review-panel button{font-size:13px}.hint-box p{font-size:12px}.hint-box button{font-size:12px}button.selected{background:#dfe8ca;color:#446140;border-color:#8ca368}.gate-palette{color:#887856;font-size:12px}.gate-tile{background:#dce7c7;border:2px solid #8aa369;color:#45633e}.circuit .ket,.measure-symbol{background:#fcf4df;color:#655b44}.circuit{background:linear-gradient(transparent 49%,#adba94 49%,#adba94 51%,transparent 51%)}.slot{background:#f7edcf;color:#9c8a63;border-color:#baa774}.slot.filled{background:#e1e9cd;color:#42603b;border-color:#879e64}.slot.locked{background:#dbe6df;color:#48685c;border-color:#94b0a0}.slot.phase{background:#eee0ec;color:#78557c;border-color:#b193b4}.slot small{color:#9a8a6d}.run-row>span{color:#8b7a5d;font-size:12px}.run-row button{font-size:14px}.results{border-color:#d8c7a0}.result-heading span{color:#8c7d5e;font-size:11px}.result-message{color:#796c50;font-size:13px}.result-message.good{color:#476c42}.result-message.bad{color:#a05b37}.chart-label{color:#756748;font-size:12px}.chart-label label{color:#8a7c5e;font-size:11px}select{background:#fff9e9;color:#66583d;border-color:#cbb98d}.prob-label{font-size:12px;color:#66583d}.prob-label>span:last-child{color:#897b5c}.track{background:#e6dbb9;border-radius:3px;height:14px}.track .fill{background:#8ca67c}.track .theory{border-color:#67552f}.chart-legend{color:#8b7c5c;font-size:11px}.chart-legend span{color:#786632}.state-panel{border-color:#d8c7a0}.state-vector{color:#56704c}.amplitude{color:#6d7e57;font-size:12px}.state-panel p{color:#928362;font-size:11px}.review-panel p{color:#7d6b4e;font-size:13px}.success-panel{background:#e4ebcf;border-color:#a1b283;border-radius:4px}.success-panel span{color:#6f7b55;font-size:12px}.success-panel strong{color:#a57f2c}#anglePanel label,.angle-ticks{color:#8b7b59}.journal-card{border-color:#d8c7a0}.journal-card h3{color:#567348;font-size:20px}.journal-card p,#infoContent>p{color:#796b50;font-size:14px}.settings-note{color:#8a7c5d}.danger{color:#ab5740}#toast{background:#f6edce;color:#526943;border-color:#9eae7a;font-size:14px}
@media(min-width:1500px){main{padding-top:36px}.level-card{min-height:88px}.dialogue{margin-top:23px}}
@media(max-width:1100px){.game-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.mission-panel{padding:16px 10px}.level-card{min-height:70px;padding:11px 9px}.level-copy strong{font-size:17px}.level-copy small{font-size:10px}.world-footer{font-size:9px}.dialogue p{font-size:13px}}
@media(max-width:800px){main{padding:24px 4% 0}.game-layout{grid-template-columns:1fr}.topbar{height:76px}.brand{font-size:20px}.chapter-heading h1{font-size:30px}.mission-panel{padding:18px 12px}.level-card{width:calc(50% - 5px);min-height:76px}.scene-label{padding:6px 10px}.scene-label strong{font-size:14px}.scene-label>span:last-child{display:none}.dialogue{padding:16px;gap:14px}.dialogue .primary{margin-left:86px}.page-footer{font-size:9px}.brief p{font-size:14px}.world-top{font-size:8px}.world-top>span:last-child{font-size:10px}}
