/* Приложения-упражнения: запуск у ученика и конструктор */
.la{position:relative;min-height:520px;padding:52px 20px 96px;border-radius:14px;color:#2E2A1E;font-size:16px;overflow:hidden;
  background-color:#FCF4D8;background-image:radial-gradient(rgba(201,164,78,.18) 1.2px,transparent 1.6px),radial-gradient(rgba(201,164,78,.1) 1px,transparent 1.4px);
  background-size:24px 24px,41px 41px;background-position:0 0,12px 19px;border:1px solid #E9DDB2}
.la--compact{min-height:460px}
.la:fullscreen{border-radius:0;overflow:auto;padding-top:64px}
.la-tools{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:center;gap:6px;z-index:2}
.la-tool{width:34px;height:34px;border-radius:8px;border:1px solid #E1D3A2;background:rgba(255,255,255,.75);display:grid;place-items:center;color:#6C5A20;cursor:pointer}
.la-tool:hover{background:#fff}
.la-tool:first-child{color:#2F9E4A}
.la-title{flex:1;text-align:center;font-weight:700;color:#5B4A1E;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.la-stage{position:relative}
.la-empty{padding:60px 20px;text-align:center;color:#8C7C4B}
.la-card{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:10px 16px;background:#fff;border:1px solid #D9CCA0;border-radius:12px;box-shadow:0 3px 0 #E7DCB5;font:inherit;font-weight:600;color:#2E2A1E;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;text-align:center;line-height:1.3}
.la-card:hover{border-color:#B9A45C}
.la-card:focus-visible{outline:3px solid #3F6DF2;outline-offset:2px}
.la-card.is-picked{border-color:#3F6DF2;box-shadow:0 0 0 3px rgba(63,109,242,.3)}
.la-card.is-lifted{opacity:.3}
.la-card.is-ok,.la-gap.is-ok,.la-cell.is-ok,.la-gap-in.is-ok{border-color:#3DAA5C;background:#EAF7EE;box-shadow:0 3px 0 #BFE3C9}
.la-card.is-bad,.la-gap.is-bad,.la-cell.is-bad,.la-gap-in.is-bad{border-color:#E0584E;background:#FDECEA;box-shadow:0 3px 0 #F4C4BF}
.la-ghost{position:fixed;z-index:9999;pointer-events:none;transform:rotate(-2deg);box-shadow:0 14px 28px rgba(60,40,0,.3);margin:0}
.la-pool{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:14px;border-radius:14px;background:rgba(255,255,255,.4);border:2px dashed transparent;min-height:84px}
.la-pool.is-over{border-color:#3F6DF2}
.la-pairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.la-pair{min-height:86px;cursor:pointer}
.la-pair--b{font-weight:400}
.la-pair.is-done{opacity:.55;cursor:default}
.la-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.la-zone{background:rgba(255,255,255,.55);border:2px dashed #CDBE8A;border-radius:16px;padding:12px;min-height:170px;display:grid;align-content:start;gap:10px}
.la-zone.is-over{border-color:#3F6DF2;background:rgba(236,241,255,.8)}
.la-zone__title{font-weight:800;text-align:center;font-size:17px;color:#5B4A1E}
.la-zone__items{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.la-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;position:relative;padding-top:4px}
.la-line::before{content:"";position:absolute;left:0;right:0;top:22px;height:4px;border-radius:2px;background:#C9A94E}
.la-slot{position:relative;display:grid;gap:10px;justify-items:center}
.la-slot__year{position:relative;z-index:1;min-width:64px;padding:4px 10px;border-radius:999px;background:#8A6A12;color:#fff;font-weight:800;text-align:center}
.la-slot__box{width:100%;min-height:96px;border:2px dashed #CDBE8A;border-radius:14px;background:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;padding:6px}
.la-slot.is-over .la-slot__box{border-color:#3F6DF2;background:rgba(236,241,255,.8)}
.la-slot__box .la-card{width:100%;font-size:14px}
.la-order{list-style:none;margin:0 auto;padding:0;display:grid;gap:10px;max-width:680px;counter-reset:n}
.la-order__row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;counter-increment:n;border-radius:12px}
.la-order__row::before{content:counter(n);width:34px;height:34px;border-radius:50%;background:#8A6A12;color:#fff;display:grid;place-items:center;font-weight:800}
.la-order__row.is-over{box-shadow:0 -3px 0 #3F6DF2}
.la-order__row .la-card{justify-content:flex-start;text-align:left}
.la-quiz{max-width:760px;margin:0 auto;display:grid;gap:16px}
.la-quiz__n{font-size:13px;font-weight:700;color:#8C7C4B;text-transform:uppercase;letter-spacing:.05em}
.la-quiz__q{font-size:21px;font-weight:700;line-height:1.35}
.la-quiz__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.la-quiz__opt{min-height:64px;cursor:pointer;font-size:17px}
.la-next{justify-self:center;height:46px;padding:0 22px;border:0;border-radius:10px;background:#3F6DF2;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.la-text{font-size:18px;line-height:2.7;max-width:980px;margin:0 auto}
.la-gap{display:inline-flex;align-items:center;justify-content:center;min-width:130px;min-height:50px;border:2px dashed #CDBE8A;border-radius:12px;background:rgba(255,255,255,.6);vertical-align:middle;margin:2px 4px;line-height:1.3}
.la-gap.is-over{border-color:#3F6DF2;background:rgba(236,241,255,.9)}
.la-gap .la-card{box-shadow:none;border:0;background:transparent;min-height:0}
.la-gap-in{height:44px;border:1px dashed #BFB38A;border-radius:10px;background:rgba(255,255,255,.8);padding:0 10px;font:inherit;vertical-align:middle;margin:0 4px}
.la-table-wrap{overflow-x:auto}
.la-table{width:100%;border-collapse:separate;border-spacing:0 10px;min-width:560px}
.la-table th{font-weight:800;padding:14px 12px;text-align:center;background:rgba(255,255,255,.45);border-top:1px solid #E2D5A9;border-bottom:1px solid #E2D5A9}
.la-table td{padding:12px;text-align:center;background:rgba(255,255,255,.45);border-top:1px solid #E2D5A9;border-bottom:1px solid #E2D5A9}
.la-table tr>*:first-child{border-left:1px solid #E2D5A9;border-radius:10px 0 0 10px}
.la-table tr>*:last-child{border-right:1px solid #E2D5A9;border-radius:0 10px 10px 0}
.la-cell{width:100%;min-width:90px;height:48px;border:1px dashed #BFB38A;border-radius:8px;background:rgba(255,255,255,.75);text-align:center;font:inherit;font-size:17px}
.la-cell:focus,.la-gap-in:focus{outline:none;border-color:#3F6DF2;box-shadow:0 0 0 3px rgba(63,109,242,.18)}
.la-cw-wrap{display:grid;grid-template-columns:auto minmax(220px,1fr);gap:22px;align-items:start}
.la-cw-scroll{overflow:auto;max-width:100%}
.la-cw{display:grid;gap:2px;--cw:38px}
.la-cw__void{width:var(--cw);height:var(--cw)}
.la-cw__cell{position:relative;width:var(--cw);height:var(--cw);background:#fff;border:1px solid #9C8B55;border-radius:3px}
.la-cw__cell b{position:absolute;left:2px;top:0;font-size:9px;color:#6C5A20;pointer-events:none}
.la-cw__in{width:100%;height:100%;border:0;background:transparent;text-align:center;font:inherit;font-size:18px;font-weight:800;text-transform:uppercase;color:#2E2A1E;padding:0}
.la-cw__in:focus{outline:none;background:#E8EEFF}
.la-cw__cell.is-ok{background:#EAF7EE;border-color:#3DAA5C}
.la-cw__cell.is-bad{background:#FDECEA;border-color:#E0584E}
.la-clues{background:rgba(255,255,255,.55);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.45}
.la-clues__title{font-weight:800;margin:6px 0}
.la-clues__list{margin:0 0 10px;padding-left:0;list-style:none;display:grid;gap:6px}
.la-check{position:absolute;right:18px;bottom:18px;width:64px;height:64px;border-radius:50%;border:0;background:#2F9E4A;color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(47,158,74,.4);cursor:pointer;z-index:2}
.la-check:hover{background:#268B40}
.la-status{position:absolute;left:18px;right:100px;bottom:36px;font-weight:700;color:#5B4A1E}
.la-status.is-bad{color:#C8372D}
.la-pop-back{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(80,64,20,.18);padding:16px}
.la-pop{width:min(440px,100%);background:#fff;border:1px solid #CFCFCF;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.22);padding:16px 20px 18px;text-align:center;display:grid;gap:10px}
.la-pop__title{font-size:20px;font-weight:800}
.la-pop--ok .la-pop__title{color:#2F9E4A}
.la-pop--hint .la-pop__title{color:#B7860B}
.la-pop__text{font-size:15px;line-height:1.5;text-align:left}
.la-pop__btns{display:flex;justify-content:center;gap:8px}
.la-pop__btn{min-width:72px;height:36px;padding:0 14px;border:1px solid #BDBDBD;border-radius:4px;background:#F3F3F3;font:inherit;cursor:pointer}
.la-pop__btn.is-main{font-weight:700;background:#E9E9E9}
.app-page{padding-top:18px;padding-bottom:40px}
.app-head{display:flex;align-items:center;gap:14px;margin:6px 0 16px}
.app-head h1{font-size:24px}
.app-head__icon{width:48px;height:48px;border-radius:50%;background:#EEF0F5;display:grid;place-items:center;color:#5B6478}
.app-head__kind{font-size:13px;color:var(--muted)}

/* конструктор */
.ab{max-width:1440px;margin:0 auto;padding:18px 20px 60px;display:grid;grid-template-columns:430px minmax(0,1fr);gap:18px;align-items:start}
.ab-form .bcard__body{display:grid;gap:14px}
.ab-kind{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ab-help{font-size:12px;color:var(--muted);line-height:1.4}
.ab-src{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;min-height:210px}
.ab-preview{position:sticky;top:132px;display:grid;gap:10px}
.ab-preview__head{display:flex;align-items:center;gap:10px}
.ab-preview__head .btn{margin-left:auto}
.ab-gal{max-width:1200px;margin:0 auto;padding:26px 20px 60px;display:grid;gap:10px;justify-items:start}
.ab-gal h1{font-size:26px}
.ab-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:10px 0 8px}
.ab-tpl{display:grid;gap:8px;justify-items:start;text-align:left;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font:inherit;color:var(--text)}
.ab-tpl:hover{border-color:var(--accent);box-shadow:0 6px 18px rgba(24,32,64,.08)}
.ab-tpl b{font-size:16px}
.ab-tpl__desc{font-size:13px;color:var(--text-2);line-height:1.4}
.ab-tpl__icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#FFF1DB;color:#C06A12}
.ab-full{position:fixed;inset:0;z-index:90;background:#1B2130;display:none;padding:58px 20px 20px;overflow:auto}
.ab-full.is-open{display:block}
.ab-full__close{position:absolute;top:12px;right:20px;background:#fff}
.ab-full__host .la{min-height:calc(100vh - 80px)}
@media (max-width:1100px){.ab{grid-template-columns:1fr}.ab-preview{position:static}}
@media (max-width:700px){.la{padding:52px 10px 100px}.la-cw-wrap{grid-template-columns:1fr}.la-cw{--cw:30px}.la-text{font-size:16px}.la-quiz__q{font-size:18px}.ab{padding:12px}}
