.map-rule{padding:.65rem .8rem;background:#203c2a;border-left:3px solid #b8f34a;color:#c9d8cf;font-size:.84rem}.word-example{font-style:italic;color:#c5d3ca;font-size:.85rem}.quiz-card{width:min(620px,100%)}.quiz-options{display:grid;gap:.65rem}.quiz-option{padding:.85rem;text-align:left;border:1px solid #3c6048;border-radius:.6rem;background:#13271d;color:#edf5f0;font:inherit;cursor:pointer}.quiz-option:hover,.quiz-option:focus{border-color:#b8f34a}.quiz-option.correct{background:#234d29;border-color:#b8f34a}.quiz-option.wrong{background:#522526;border-color:#ff7a7a}.quiz-feedback{min-height:1.5rem;color:#b8f34a;font-weight:800}.modal-large{position:relative;width:min(760px,100%);max-height:85vh;overflow:auto}.modal-close{position:absolute;right:.7rem;top:.5rem;background:none;border:0;color:#edf5f0;font-size:2rem;cursor:pointer}.journal-list{display:grid;gap:.65rem}.journal-row{background:#13271d;border:1px solid #2f4e3a;border-radius:.6rem;padding:.8rem}.journal-row strong{display:block;color:#b8f34a}.journal-row small{color:#a7b8ae}.journal-row p{margin:.35rem 0 0}.achievement-list{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.achievement{padding:.85rem;border-radius:.6rem;background:#0b1710;color:#68776e;filter:grayscale(1)}.achievement.earned{background:#203c2a;color:#edf5f0;filter:none;border:1px solid #4f785a}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid #2a4636}.setting-row input{width:22px;height:22px}.setting-row select{padding:.45rem;background:#07110d;color:#edf5f0;border:1px solid #4b7357;border-radius:.4rem}.file-button{cursor:pointer}.file-button input{display:none}.tutorial-steps{padding-left:1.25rem}.tutorial-steps li{margin:.75rem 0}.reduce-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
.game-shell{max-width:1180px;margin:0 auto;padding:1.25rem}
.game-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1rem}
.game-title{margin:0 auto 0 0;font-size:1.35rem}
.resource-bar{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:.7rem;margin-bottom:1rem}
.resource{background:#10241a;border:1px solid #31533e;border-radius:.7rem;padding:.7rem .85rem}
.resource small{display:block;color:#9fb1a6}
.resource strong{font-size:1.2rem}
.game-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:1rem}
.factory-floor,.game-panel{background:#0d1c14;border:1px solid #2a4636;border-radius:1rem;padding:1rem}
.factory-floor{min-height:560px;background-image:linear-gradient(#183024 1px,transparent 1px),linear-gradient(90deg,#183024 1px,transparent 1px);background-size:34px 34px}
.floor-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.floor-head p{margin:0;color:#a7b8ae}
.machines{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1rem}
.machine{position:relative;overflow:hidden;background:#13271d;border:1px solid #355640;border-radius:.8rem;padding:1rem;min-height:165px}
.machine.running:after{content:"";position:absolute;left:-50%;bottom:0;width:50%;height:3px;background:#b8f34a;animation:conveyor 2s linear infinite}
.machine-icon{font-size:2rem}
.machine h3{margin:.25rem 0}
.machine p{font-size:.87rem;color:#a7b8ae;margin:.2rem 0}
.machine-status{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem}
.game-button{border:1px solid #74b938;background:#b8f34a;color:#102008;border-radius:.5rem;padding:.6rem .75rem;font:700 .9rem system-ui;cursor:pointer;min-height:42px}
.game-button:hover{background:#d2ff7c}
.game-button:disabled{opacity:.45;cursor:not-allowed}
.game-button.secondary{background:#182d21;color:#edf5f0;border-color:#355640}
.order{background:linear-gradient(145deg,#203c2a,#13271d);border:1px solid #4b7357;border-radius:.8rem;padding:1rem;text-align:center}
.order-label{color:#a7b8ae;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}
.word-slots{display:flex;justify-content:center;gap:.35rem;margin:1rem 0}
.letter-slot{display:grid;place-items:center;width:2.25rem;height:2.6rem;background:#07110d;border:1px solid #486452;border-radius:.35rem;font-weight:900;font-size:1.25rem}
.letter-slot.ready{border-color:#b8f34a;color:#b8f34a}
.letter-bin{display:flex;flex-wrap:wrap;gap:.35rem;min-height:44px;padding:.6rem;background:#09150f;border-radius:.5rem;margin:.8rem 0}
.letter-chip{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.35rem;background:#f3f0d7;color:#172016;font-weight:900;box-shadow:0 2px 0 #9f9b83}
.panel-title{margin:1rem 0 .5rem;font-size:1rem}
.upgrade-list{display:grid;gap:.55rem}
.upgrade{display:flex;align-items:center;gap:.6rem;background:#13271d;border:1px solid #2f4e3a;border-radius:.6rem;padding:.65rem}
.upgrade span{margin-right:auto}
.event-log{height:130px;overflow:auto;margin:0;padding:.6rem 1rem;background:#08130d;border-radius:.5rem;color:#a7b8ae;font-size:.8rem}
.event-log li:first-child{color:#edf5f0}
.progress-wrap{margin:.8rem 0}
.progress{height:9px;background:#07110d;border-radius:10px;overflow:hidden}
.progress>span{display:block;height:100%;background:linear-gradient(90deg,#7fca3a,#b8f34a);transition:width .3s}
.toast{position:fixed;left:50%;bottom:1.5rem;translate:-50% 20px;background:#edf5f0;color:#102008;border-radius:.55rem;padding:.75rem 1rem;font-weight:750;opacity:0;pointer-events:none;transition:.2s;z-index:30}
.toast.show{opacity:1;translate:-50% 0}
.help{color:#a7b8ae;font-size:.85rem}
.game-modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(0,0,0,.72);z-index:40;padding:1rem}
.game-modal.open{display:grid}
.modal-card{max-width:520px;background:#10241a;border:1px solid #4b7357;border-radius:1rem;padding:1.5rem}
.modal-card h2{margin-top:0}
@keyframes conveyor{to{left:100%}
}
@media(max-width:850px){.resource-bar{grid-template-columns:repeat(3,1fr)}
.game-grid{grid-template-columns:1fr}
.factory-floor{min-height:auto}
.machines{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.game-shell{padding:.65rem}
.resource-bar{grid-template-columns:repeat(2,1fr)}
.machines{grid-template-columns:1fr}
.letter-slot{width:1.9rem;height:2.3rem}
.factory-floor,.game-panel{padding:.7rem}
}


