.bem-dawn-app{--bem-ink:#1b1f2a;--bem-muted:#5b6472;--bem-line:#d7dde5;--bem-panel:#fff;--bem-bg-a:#fef3e2;--bem-bg-b:#e8f0f7;--bem-accent:#b5541f;--bem-accent-ink:#fff;--bem-warning-bg:#fff3cd;--bem-warning-ink:#7a5b00;--bem-danger:#a3231f;--bem-success:#1f7a4d;--bem-focus:#1f6f8b;min-height:100vh;color:var(--bem-ink);background:linear-gradient(160deg, var(--bem-bg-a), var(--bem-bg-b));flex-direction:column;font-family:Segoe UI,Noto Sans Arabic,Tahoma,sans-serif;display:flex}.bem-dawn-app :focus-visible{outline:3px solid var(--bem-focus);outline-offset:2px;border-radius:2px}.bem-placeholder-banner{background:var(--bem-warning-bg);color:var(--bem-warning-ink);border-bottom:1px solid #e7d38a;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.bem-placeholder-banner__icon{font-size:1rem}.bem-dawn-app__header{border-bottom:1px solid var(--bem-line);background:#fff9;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.bem-dawn-app__title{letter-spacing:-.01em;margin:0;font-size:clamp(1.3rem,2vw,1.7rem)}.bem-language-switcher{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.bem-language-switcher__select{border:1px solid var(--bem-line);background:var(--bem-panel);color:var(--bem-ink);border-radius:4px;padding:.35rem .5rem}.bem-dawn-app__main{box-sizing:border-box;flex:1;width:100%;max-width:72rem;margin:0 auto;padding:1.25rem}.bem-screen{flex-direction:column;gap:1rem;display:flex}.bem-screen__title{margin:0;font-size:clamp(1.4rem,2.4vw,2rem)}.bem-screen__body{color:var(--bem-muted);max-width:42rem;margin:0;line-height:1.5}.bem-panel{border:1px solid var(--bem-line);background:var(--bem-panel);border-radius:10px;padding:1rem}.bem-actions{flex-wrap:wrap;gap:.6rem;display:flex}.bem-button{border:1px solid var(--bem-accent);background:var(--bem-accent);color:var(--bem-accent-ink);cursor:pointer;border-radius:6px;min-height:44px;padding:.55rem 1rem;font-size:.95rem}.bem-button:disabled{opacity:.5;cursor:not-allowed}.bem-button--secondary{color:var(--bem-accent);background:0 0}.bem-button--ghost{color:var(--bem-muted);border-color:var(--bem-line);background:0 0}.bem-code-editor{flex-direction:column;gap:.35rem;display:flex}.bem-code-editor__label{color:var(--bem-muted);font-size:.9rem}.bem-code-editor__textarea{text-align:left;box-sizing:border-box;border:1px solid var(--bem-line);color:#e5e7eb;resize:vertical;direction:ltr;background:#111827;border-radius:6px;width:100%;padding:.75rem;font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:.88rem;line-height:1.45}.bem-test-results{text-align:left;direction:ltr;flex-direction:column;gap:.3rem;margin:0;padding:0;font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:.82rem;list-style:none;display:flex}.bem-test-results__item{background:#f4f5f7;border-radius:4px;padding:.3rem .55rem}.bem-test-results__item--passed{border-inline-start:4px solid var(--bem-success)}.bem-test-results__item--failed,.bem-test-results__item--error{border-inline-start:4px solid var(--bem-danger)}.bem-diagnostic{text-align:left;white-space:pre-wrap;word-break:break-word;color:#e5e7eb;direction:ltr;background:#111827;border-radius:6px;max-height:12rem;padding:.75rem;font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:.8rem;overflow:auto}.bem-play-layout{grid-template-columns:minmax(0,1.6fr) minmax(14rem,.9fr);align-items:start;gap:1rem;display:grid}@media (max-width:860px){.bem-play-layout{grid-template-columns:1fr}}.bem-canvas-wrap{aspect-ratio:16/9;border:1px solid var(--bem-line);direction:ltr;background:#0b1220;border-radius:10px;width:100%;max-width:960px;position:relative;overflow:hidden}.bem-canvas{width:100%;height:100%;display:block}.bem-canvas-wrap[data-detected=true]{box-shadow:inset 0 0 0 4px var(--bem-danger)}.bem-canvas-wrap[data-pattern-vision=true][data-detected=true]{background-image:repeating-linear-gradient(45deg,#0000,#0000 6px,#ffffff0f 6px 12px);box-shadow:inset 0 0 0 4px #111}.bem-canvas-wrap__alert{color:#fff;direction:inherit;background:#0b1220eb;border:2px solid #fff;border-radius:6px;margin:0;padding:.5rem .75rem;font-weight:600;position:absolute;bottom:.75rem;left:.75rem;right:.75rem}.bem-hud{flex-direction:column;gap:.75rem;display:flex}.bem-hud__stats{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.bem-hud__stat{background:#f4f5f7;border-radius:6px;flex-direction:column;gap:.15rem;padding:.5rem .6rem;display:flex}.bem-hud__stat-label{color:var(--bem-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.bem-hud__stat-value{font-size:1rem;font-weight:600}.bem-hud__stat-value[data-identifier=true]{text-align:start;direction:ltr;font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:.85rem}.bem-hud__toggles{flex-direction:column;gap:.4rem;font-size:.85rem;display:flex}.bem-hud__toggle{align-items:center;gap:.5rem;display:flex}.bem-hud__toggle input{width:1.1rem;height:1.1rem}.bem-hud__paused-banner{text-align:center;background:#eef2f6;border-radius:6px;padding:.5rem .75rem;font-weight:600}.bem-hud__detect-banner{color:#fff;text-align:center;background:#111;border:2px dashed #fff;border-radius:6px;padding:.5rem .75rem;font-weight:700}.bem-dpad{direction:ltr;grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);justify-content:center;gap:.35rem;display:grid}.bem-dpad__button{border:1px solid var(--bem-accent);background:var(--bem-panel);min-width:44px;min-height:44px;color:var(--bem-accent);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;font-size:1.1rem}.bem-dpad__button:active{background:var(--bem-accent);color:var(--bem-accent-ink)}.bem-dpad__button--up{grid-area:1/2}.bem-dpad__button--left{grid-area:2/1}.bem-dpad__button--right{grid-area:2/3}.bem-dpad__button--down{grid-area:2/2}.bem-detect-overlay{z-index:20;background:#140c088c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.bem-detect-overlay__card{background:var(--bem-panel);text-align:center;border-radius:10px;flex-direction:column;gap:.75rem;max-width:26rem;padding:1.5rem;display:flex}.bem-recon__list{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.bem-recon__card{border:2px solid var(--bem-line);background:var(--bem-panel);text-align:center;border-radius:8px;flex-direction:column;flex:8rem;align-items:center;gap:.5rem;min-width:8rem;padding:.75rem;display:flex}.bem-recon__card:focus-visible{border-color:var(--bem-focus)}.bem-recon__card-position{color:var(--bem-muted);font-size:.75rem}.bem-recon__card-label{font-weight:600}.bem-recon__card-moves{gap:.35rem;display:flex}.bem-recon__card-move{border:1px solid var(--bem-line);cursor:pointer;background:#f4f5f7;border-radius:6px;min-width:44px;min-height:44px}.bem-recon__card-move:disabled{opacity:.35;cursor:not-allowed}.bem-recon__feedback{border-radius:6px;padding:.6rem .8rem;font-weight:600}.bem-recon__feedback--success{color:var(--bem-success);background:#e4f5ec}.bem-recon__feedback--wrong{color:var(--bem-danger);background:#fdecea}.bem-recon__feedback--blocked{background:var(--bem-warning-bg);color:var(--bem-warning-ink)}.bem-complete-layout{grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:start;gap:1.25rem;margin-bottom:1rem;display:grid}.bem-complete-layout__text{flex-direction:column;gap:.75rem;display:flex}.bem-complete-layout__figure{flex-direction:column;gap:.5rem;margin:0;display:flex}.bem-complete-layout__image{object-fit:contain;border:1px solid var(--bem-line);background:#fff;border-radius:8px;width:100%;max-height:420px;display:block}.bem-complete-layout__caption{color:var(--bem-muted);text-align:center;font-size:.9rem}@media (max-width:860px){.bem-complete-layout{grid-template-columns:1fr}}.bem-reflection{flex-direction:column;gap:.4rem;display:flex}.bem-reflection textarea{box-sizing:border-box;border:1px solid var(--bem-line);border-radius:6px;width:100%;min-height:5rem;padding:.6rem;font-family:inherit;font-size:.9rem}.bem-report__grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.bem-report__field{border:1px solid var(--bem-line);border-radius:8px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.bem-report__field-label{color:var(--bem-muted);font-size:.85rem}.bem-report__field-score{font-size:1.2rem;font-weight:700}.bem-report__field-status--pass{color:var(--bem-success)}.bem-report__field-status--fail{color:var(--bem-danger)}.bem-report__total{font-size:1.4rem;font-weight:800}.bem-report__meta{color:var(--bem-muted);flex-wrap:wrap;gap:1rem;font-size:.9rem;display:flex}
