[hidden]{display:none!important}.fe-dialog{color:#243f40;background:#f7f2df;border:2px solid #91b3a8;border-radius:18px;padding:22px;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;font:14px/1.6 system-ui,sans-serif;box-sizing:border-box}.fe-dialog::backdrop{background:#182f36}.fe-dialog *{box-sizing:border-box}.fe-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.fe-dialog h1{font-size:24px;margin:0}.fe-dialog h2{font-size:16px;margin:0 0 12px}.fe-dialog h3{font-size:14px}.fe-dialog p{font-size:12px}.fe-dialog button,.fe-dialog select,.fe-dialog a{font:inherit;touch-action:manipulation}.fe-dialog button,.fe-dialog select{background:#fffaf0;color:#243f40;border:1px solid #9eb5ac;border-radius:9px;min-height:44px;padding:8px 13px}.fe-dialog button{cursor:pointer}.fe-dialog button[aria-pressed=true]{background:#286e70;color:white}.fe-dialog :focus-visible{outline:3px solid #c98023;outline-offset:3px}.fe-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fe-card{background:#fffaf0;border:1px solid #d4dbcb;border-radius:12px;padding:16px;min-width:0}.fe-wide{grid-column:1/-1}.fe-dialog label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:6px 0}.fe-dialog input[type=checkbox]{width:22px;height:22px;accent-color:#286e70}.fe-dialog input[type=range]{width:55%;accent-color:#286e70}.fe-dialog summary{cursor:pointer;padding:10px 0}.fe-actions{display:flex;gap:8px;flex-wrap:wrap}.fe-records{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.fe-records strong{font-size:21px;overflow-wrap:anywhere}.fe-muted{color:#63766c}.fe-confirm{max-width:440px}.fe-confirm::backdrop{background:#182f36bb}@media(max-width:480px){.fe-grid{grid-template-columns:1fr}.fe-dialog{padding:14px}.fe-records{grid-template-columns:1fr}.fe-records .fe-card{display:grid;grid-template-columns:1fr 1fr;align-items:center}.fe-records h3{grid-column:1/-1;margin:0}.fe-records strong{font-size:20px}}
/* Pause menus share layout, controls and support reference presentation. */
#pause.fe-pause-menu,#escape-flow .fe-pause-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:430px;padding:24px 12px;text-align:center;background:#fffaf0;border-radius:12px;color:#363c37;font:14px/1.5 system-ui,sans-serif}
#pause h1,#escape-flow .fe-pause-menu h1{font-size:28px;line-height:1.3;margin:8px 0 18px}
#pause>p,#escape-flow .fe-pause-menu>p{max-width:320px;font-size:13px;color:#626959;margin:0 0 12px}
#pause .fe-pause-actions,#escape-flow .fe-pause-menu .ef-menu-actions{display:grid;gap:12px;width:min(100%,260px);margin-top:20px}
#pause button,#escape-flow .fe-pause-menu button{margin:0;font:inherit;min-height:50px;padding:10px 14px;border:1px solid #b4c6bd;border-radius:9px;background:#fffaf0;color:#363c37}
#pause .primary,#escape-flow .fe-pause-menu .ef-primary{background:#167f85;border-color:#167f85;color:#fffdf2}
#pause .fe-pause-note,#escape-flow .fe-pause-menu .fe-pause-note{font-size:11px;margin:10px 0 0}
#pause .fe-support-reference,#escape-flow .fe-pause-menu .ef-support-reference{margin-top:30px;width:min(100%,320px);display:grid;grid-template-columns:1fr auto;gap:6px;text-align:left;color:#626959;font-size:11px}
#pause .fe-support-reference label,#pause .fe-support-reference p{grid-column:1/-1;margin:0;line-height:1.6}
#pause #question-reference,#escape-flow .fe-pause-menu #ef-question-reference{min-width:0;width:100%;box-sizing:border-box;font:12px ui-monospace,monospace;color:#626959;background:transparent;border:1px solid #b4c6bd;border-radius:6px;padding:8px;min-height:44px}
#pause .fe-support-reference button,#escape-flow .fe-pause-menu .ef-support-reference button{font-size:11px;min-height:44px;padding:6px 10px}

/* Shared visual language for both guided practice screens. */
#escape-flow .fe-lesson-header,#tutorial-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px}
#escape-flow .fe-lesson-header h1,#tutorial-header h1{font-size:22px;margin:0;line-height:1.4}
#escape-flow .fe-lesson-guide,#tutorial-guide{display:block;background:#fff5d4;border:1px solid #c8b579;border-radius:12px;padding:16px;color:#363c37;text-align:left}
#escape-flow #ef-tutorial-copy,#tutorial-copy{font-size:14px;line-height:1.8;margin:12px 0;min-height:0}
#escape-flow .fe-lesson-progress,.fe-lesson-progress{display:inline-block;background:#286e70;color:white;padding:4px 12px;border-radius:20px;font:600 12px/1.5 system-ui}
.fe-lesson-actions{display:flex;gap:10px;flex-wrap:wrap}
#tutorial-guide .fe-lesson-actions button,#escape-flow #ef-tutorial-next,#escape-flow #ef-tutorial [data-nav=home]{font-size:14px;min-height:44px;margin:0 4px 4px 0}
#escape-flow #ef-tutorial-options button{font-size:20px;min-height:44px}
#game.is-practice .layout{margin-top:14px;gap:14px}
#game.is-practice #question-name,#game.is-practice footer,#game.is-practice #feedback{display:none}
#game.is-practice #flow{height:230px}
#game.is-practice #map{max-height:300px}
#game.is-practice #replay{font-size:14px;min-height:44px}
#game.is-practice .panel{padding:12px}
#game.is-practice #choices button{font-size:14px;min-height:44px}
#tutorial-end.fe-lesson-complete{max-width:620px;margin:auto;padding:32px 16px;background:#fffaf0;border-radius:12px;color:#363c37}
#tutorial-end.fe-lesson-complete h1{font-size:24px;margin:16px 0}
@media(max-width:540px){#tutorial-header,#escape-flow .fe-lesson-header{align-items:center;flex-wrap:wrap}#tutorial-guide,#escape-flow .fe-lesson-guide{padding:12px}#game.is-practice #map{max-height:240px}}

#game.is-practice #choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#game.is-practice #choices button{padding:8px 5px}

#escape-flow #ef-tutorial .fe-lesson-guide #ef-tutorial-copy{font-size:14px;line-height:1.8;margin:12px 0;min-height:0}
#escape-flow #ef-tutorial button,#tutorial-header button,#tutorial-guide button,#tutorial-end button{border:1px solid #b4c6bd;border-radius:9px;background:#fffaf0;color:#363c37;font:14px/1.5 system-ui;min-height:44px;padding:8px 12px}
#escape-flow #ef-tutorial .ef-primary,#tutorial-guide .primary,#tutorial-end .primary{background:#167f85;border-color:#167f85;color:#fffdf2}
