/* A legible expression tree and a reserved numeric panel. */
.aco-module{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;min-width:0;color:#183d43;background:#fff;container-type:inline-size;--aco-ideal-width:840px}
.aw-app .aco-module [hidden]{display:none!important}
.aco-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;border-bottom:1px solid #edf2ee;flex:none;min-width:0;flex-wrap:wrap}
.aco-modes,.aco-actions{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.aco-modes{padding:4px;border-radius:16px;background:#f1f7f4}
.aw-app .aco-button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:46px;padding:10px 14px;border:1px solid #cbded5;border-radius:12px;background:#fff;color:#28564d;font:inherit;font-size:17px;font-weight:700;line-height:1.2;cursor:pointer;touch-action:manipulation;white-space:normal;text-align:center}
.aw-app .aco-button:hover{background:#eef8f2;border-color:#6eac98}
.aw-app .aco-button:focus-visible,.aco-tree-scroll:focus-visible{outline:3px solid #0e8573;outline-offset:-3px}
.aw-app .aco-button:disabled{opacity:.5;cursor:default}
.aw-app .aco-button svg{width:21px;height:21px;flex:none}
.aw-app .aco-icon{width:46px;padding:8px;flex:none}
.aw-app .aco-button.is-primary{color:#fff;background:#087f72;border-color:#087f72}
.aw-app .aco-modes .aco-button{background:transparent;border-color:transparent;min-height:44px;padding:10px 15px}
.aw-app .aco-button[aria-pressed=true]{color:#087968;border-color:#6bb49e;background:#e8f6ee;box-shadow:inset 0 0 0 1px #6bb49e}
.aco-body{display:grid;grid-template-columns:minmax(0,1fr) 218px;align-items:start;gap:26px;min-height:0;min-width:0;max-width:100%;width:min(100%,var(--aco-ideal-width));align-self:center;flex:1;overflow:auto;overscroll-behavior:contain;padding:20px 16px 10px;scrollbar-gutter:stable}
.aco-module[data-mode=discover] .aco-body{display:flex;flex-direction:column;align-items:center}
.aco-work{min-width:0;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.aco-expression{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;flex:none;font-size:clamp(28px,3.7cqi,54px);font-weight:780;line-height:1.4;padding:1px 5px 7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:#1d514a}
.aco-expression sup{font-size:.58em;line-height:0;position:relative;top:-.13em}
.aco-tree-scroll{min-width:0;max-width:100%;overflow:auto;overscroll-behavior:contain;padding:0 0 8px;scroll-padding:14px;border-radius:16px}
.aco-tree{position:relative;margin:0 auto;flex:none;min-width:0}
.aco-branches{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0}
.aco-branches path{stroke:#a5bdb3;stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round}
.aco-leaf,.aw-app .aco-result{position:absolute;display:flex;align-items:center;justify-content:center;flex:none;border-radius:15px;font-size:var(--aco-number-size,48px);font-weight:780;line-height:1.05;font-variant-numeric:tabular-nums;z-index:2}
.aco-leaf{border:1px solid #dce9e1;background:#f7faf8;color:#2f5a50}
.aw-app .aco-result{padding:4px;border:2px dashed #bad3c7;background:#fff;color:#335f52;min-width:44px;min-height:44px;font-family:inherit;cursor:pointer;touch-action:manipulation;overflow:hidden;text-overflow:ellipsis}
.aw-app .aco-result:hover{background:#eff9f3;border-color:#64ab94}
.aw-app .aco-result:focus-visible{outline:3px solid #128673;outline-offset:3px}
.aw-app .aco-result[data-ready=true]{border-style:solid;background:#f1faf5;border-color:#88bda8}
.aw-app .aco-result[data-current=true]{background:#e6f5ee;border-style:solid;border-color:#087f72;box-shadow:0 0 0 3px #087f721e;color:#006e61}
.aw-app .aco-result.aco-final{border-width:3px;border-radius:18px}
.aw-app .aco-result[data-result=correct],.aco-discovery-result[data-revealed=true]{border:2px solid #3e9f7c;background:#e7f7ed;color:#147954}
.aw-app .aco-result[data-result=incorrect]{border-style:solid;border-color:#cc735e;background:#fff0e9;color:#9e3b2a}
.aw-app .aco-result[data-result=empty]{border-style:solid;border-color:#dfb765;background:#fff7e5;color:#98631c}
.aco-operator{position:absolute;width:42px;height:42px;display:flex;align-items:center;justify-content:center;z-index:1;border:2px solid #d1e1d8;border-radius:50%;background:#fff;color:#5f7e71;font-size:28px;line-height:1;font-weight:750}
.aco-operator[data-current=true]{background:#e8f6ef;border-color:#6bac96;color:#087c6c}
.aco-operator[data-power=true]{font-size:21px}
.aco-discovery-result{border:2px dashed #bad3c7;background:#fff;color:#57766a}
.aco-discovery-result[data-just-revealed=true]{box-shadow:0 0 0 4px #0b8b7325}
.aco-pad{width:218px;max-width:100%;min-width:0;align-self:start;display:flex;flex-direction:column;gap:7px;padding:11px;margin-top:73px;border:1px solid #c9dfd4;border-radius:19px;background:#f6faf7;box-shadow:0 5px 20px #224d3b08;position:sticky;top:10px;color:#315f52}
.aco-pad-title{font-size:18px;line-height:1.25;min-height:45px;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere}
.aco-pad-output{display:flex;align-items:center;justify-content:flex-end;border:1px solid #d9e8df;border-radius:11px;background:#fff;min-height:52px;padding:7px 10px;font-size:30px;line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.aco-pad-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.aw-app .aco-pad-key{font-size:26px;line-height:1;min-height:48px;padding:8px}
.aco-pad-nav{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.aw-app .aco-pad-nav .aco-button{min-height:44px;font-size:22px;padding:7px}
.aco-status{padding:4px 16px 9px;margin:0;min-height:0;text-align:center;font-size:17px;font-weight:700;line-height:1.3;color:#94712f;flex:none}
.aco-status:empty{display:none}
.aco-status[data-result=correct]{color:#0c7f62}
.aco-discover-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:7px 0 13px}
.aco-progress{font-size:17px;color:#688378;min-width:46px;text-align:center;font-variant-numeric:tabular-nums}
.aco-menu,.aco-bank,.aco-custom{position:absolute;z-index:46;top:69px;right:8px;display:flex;flex-direction:column;gap:12px;max-width:calc(100% - 16px);width:370px;max-height:calc(100% - 78px);min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px;border:1px solid #bfd8ca;border-radius:19px;background:#fff;box-shadow:0 14px 38px #214a3826;color:#234f45;text-align:left}
.aco-bank{width:590px}
.aco-menu>header,.aco-bank>header,.aco-custom>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;position:sticky;top:-12px;margin:-12px -12px 0;padding:10px 12px;background:#fff;border-bottom:1px solid #e5eee8;z-index:2}
.aco-menu>header strong,.aco-bank>header strong,.aco-custom>header strong{font-size:21px;line-height:1.3}
.aco-menu-body{display:flex;flex-direction:column;gap:7px;min-width:0}
.aw-app .aco-menu-body>.aco-button{justify-content:flex-start;min-width:0;text-align:left;font-size:16px}
.aco-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.aw-app .aco-levels .aco-button{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:86px;padding:10px 5px;font-size:16px;line-height:1.2;border-radius:15px}
.aco-level-mark{display:grid;place-items:center;min-height:29px;font-size:24px;color:#6a9b86;letter-spacing:.06em;font-weight:800}
.aco-bank-count{margin:0;font-size:13px;color:#6e8a7c;line-height:1.3}
.aco-bank-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;overflow:auto;overscroll-behavior:contain;max-height:300px;padding:2px;scrollbar-gutter:stable}
.aw-app .aco-bank-pick{padding:13px 8px;font-size:21px;line-height:1.3;font-weight:700;min-width:0;min-height:58px;border-radius:12px}
.aco-bank-pick sup{font-size:.6em;line-height:0}
.aco-bank-footer{display:flex;gap:7px;justify-content:space-between;flex:none}
.aw-app .aco-bank-footer .aco-button{font-size:15px;padding:10px;flex:1;min-width:0}
.aco-custom-form{display:flex;flex-direction:column;gap:11px;min-width:0}
.aco-custom-label{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:750}
.aco-custom-input{width:100%;min-width:0;min-height:54px;padding:11px;border:2px solid #bfdccb;border-radius:12px;background:#fff;color:#245648;font:inherit;font-size:23px;line-height:1.3}
.aco-custom-input:focus{outline:2px solid #188771;outline-offset:1px}
.aco-custom-keys{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.aw-app .aco-custom-keys .aco-button{min-width:0;min-height:44px;padding:7px 4px;font-size:23px}
.aco-custom-error{margin:0;line-height:1.4;font-size:14px;color:#a44b36;overflow-wrap:anywhere}
.aco-custom-error:empty{display:none}
@container(max-width:800px){.aco-body{gap:15px;padding:16px 10px 8px;grid-template-columns:minmax(0,1fr) 194px}.aco-pad{width:194px;padding:8px}.aco-expression{font-size:clamp(26px,4.7cqi,40px)}.aco-top{gap:9px;padding:8px 10px}.aco-modes,.aco-actions{gap:5px}.aw-app .aco-button{font-size:16px;padding:9px 12px}}
@container(max-width:600px){.aco-body{display:flex;flex-direction:column;gap:12px;padding:15px 8px 8px}.aco-pad{position:relative;top:auto;align-self:center;width:218px;margin-top:0;flex:none}.aco-top{gap:8px}.aco-modes,.aco-actions{width:100%;justify-content:center}.aco-actions{justify-content:flex-end}.aco-expression{font-size:clamp(25px,6cqi,35px);padding-bottom:4px}.aco-status{font-size:15px;padding-inline:9px}.aco-bank-list{grid-template-columns:1fr;max-height:245px}.aw-app .aco-levels .aco-button{font-size:14px;min-height:76px;padding:8px 4px}.aco-level-mark{font-size:22px}.aco-bank-footer{flex-wrap:wrap}.aco-menu,.aco-bank,.aco-custom{top:120px}.aco-discover-controls{gap:8px}.aw-app .aco-discover-controls .aco-button{font-size:15px}}
@media(prefers-reduced-motion:reduce){.aco-module *{scroll-behavior:auto!important}}


/* Horizontal operations: the sign belongs between its operands, arrows below. */
.aco-operator{height:44px;border-radius:12px;z-index:3;font-size:30px}
.aco-operator[data-power=true]{font-size:12px;line-height:1.1;border-radius:10px;padding:3px;text-align:center;font-weight:750}
.aco-carry{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid #dce9e1;border-radius:15px;background:#f7faf8;color:#2f5a50;font-weight:780;line-height:1.05;font-variant-numeric:tabular-nums;z-index:2}
.aw-app .aco-copy-button{font-family:inherit;cursor:pointer;touch-action:manipulation}
.aw-app .aco-copy-button:focus-visible{outline:3px solid #128673;outline-offset:3px}
.aco-branches{color:#82aa98}.aco-branches marker path{stroke:#82aa98;fill:none}

/* The learner chooses the sources, operation signs and connections. */
.aco-module[data-mode=build] .aco-body{width:100%;max-width:1700px;gap:22px}
.aco-module[data-mode=build] .aco-work{gap:12px}
.aco-build-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.aco-build-hint{margin:0;min-width:0;color:#6d887c;font-size:15px;font-weight:600;line-height:1.35}
.aw-app .aco-build-add{white-space:nowrap;padding:10px 13px;font-size:16px;flex:none;border-color:#98c4b1;color:#087969;background:#f0f9f3}
.aco-build-sign-bank{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:3px 0 8px}
.aw-app .aco-build-sign-choice{font-size:26px;width:49px;height:49px;padding:7px;flex:none;touch-action:none;user-select:none}
.aw-app .aco-build-sign-choice[data-build-operator="^"]{font-size:22px}
.aco-build-scroll{padding:0 0 10px;min-height:140px}
.aco-build-canvas{position:relative;min-width:0;margin:0 auto}
.aco-build-links{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0;color:#68a28a}
.aco-build-links>path{stroke:#78a892;stroke-width:3;fill:none;stroke-linecap:round}
.aco-build-links marker path{stroke:#78a892;fill:none}
.aw-app .aco-build-source{position:absolute;width:76px;height:65px;padding:8px;border-radius:15px;font-size:36px;line-height:1.1;font-weight:780;z-index:2;background:#f4f8f4;border-color:#c4dbce;touch-action:none;user-select:none;cursor:grab;font-variant-numeric:tabular-nums}
.aw-app .aco-build-source[data-used=true]{background:#e9f4ed;border-color:#83b69e}
.aw-app .aco-build-source[aria-pressed=true],.aw-app .aco-build-connect[aria-pressed=true]{color:#fff;background:#128470;border-color:#128470;box-shadow:0 0 0 4px #12847022}
.aco-build-card{position:absolute;width:352px;min-height:258px;padding:45px 14px 14px;border:1px solid #e2ece5;border-radius:20px;background:#fbfdfb;z-index:1;box-sizing:border-box}
.aw-app .aco-build-remove{position:absolute;top:0;right:0;border:0;background:transparent;color:#8aa195;border-radius:12px;width:44px;height:44px;min-width:44px;min-height:44px;padding:11px}
.aw-app .aco-build-remove svg{width:18px;height:18px}
.aco-build-row{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-width:0}
.aw-app .aco-build-slot{height:65px;min-height:65px;min-width:0;width:100%;padding:6px;font-size:36px;font-weight:780;font-variant-numeric:tabular-nums;line-height:1.1;border:2px dashed #c0d6c7;border-radius:14px;background:#fff;color:#577d6a;overflow:hidden;text-overflow:clip}
.aw-app .aco-build-slot[data-connected=true]{border-style:solid;border-color:#9ec5b0;background:#f1f9f3;color:#265e49}
.aw-app .aco-build-sign{font-size:29px;font-weight:750;width:52px;height:52px;min-width:44px;min-height:44px;padding:3px;border-radius:12px;border:2px dashed #c4d7ca;background:#fff;color:#769181;line-height:1.1}
.aw-app .aco-build-sign[data-power=true]{font-size:12px}
.aco-build-local{display:block;width:100%;height:40px;color:#9abaaa;opacity:.4}
.aco-build-local path{stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.aco-build-local[data-connected=true]{opacity:1}
.aco-build-output{position:relative;display:flex;align-items:center;justify-content:center;min-height:65px;min-width:0;width:100%}
.aw-app .aco-build-result{position:relative;left:auto;top:auto;width:142px;height:65px;min-width:142px;padding:5px;font-size:42px;border:2px dashed #b4d0be;border-radius:15px;flex:none;box-shadow:none}
.aw-app .aco-build-result[data-current=true]{box-shadow:0 0 0 3px #087f721a}
.aw-app .aco-build-connect{position:absolute;right:0;bottom:9px;width:46px;height:46px;min-height:44px;padding:9px;border-radius:12px;border:1px solid #b9d5c5;background:#fff;color:#658d77;touch-action:none;user-select:none;cursor:grab}
.aw-app .aco-build-connect svg{width:24px;height:24px;pointer-events:none}
.aco-build-card[data-result=incorrect]{border-color:#cc8b77;background:#fff9f5}
.aco-build-card[data-result=correct]{border-color:#83b79c}
.aco-build-card[data-result=blocked]{border-color:#d5b675;background:#fffaf0}
.aw-app .aco-build-result[data-result=blocked]{border-color:#d2ad61;border-style:solid;background:#fff7e3;color:#8b6a26}
.aco-drag-ghost{position:fixed;z-index:99999;transform:translate(-50%,-50%);pointer-events:none;min-width:62px;min-height:56px;padding:8px 13px;display:grid;place-items:center;border:2px solid #1c8d74;border-radius:14px;background:#e9f8efdd;box-shadow:0 8px 20px #28573f24;color:#0c7059;font:800 30px/1.1 sans-serif}
.aco-module[data-mode=build] .aco-pad{margin-top:150px}
@container(max-width:900px){.aco-module[data-mode=build] .aco-body{grid-template-columns:minmax(0,1fr) 194px;gap:15px}.aco-build-tools{align-items:flex-start;gap:8px}.aco-build-hint{font-size:14px}.aw-app .aco-build-add{font-size:14px;padding:9px}.aco-build-sign-bank{gap:6px}.aw-app .aco-build-sign-choice{width:46px;height:46px;font-size:24px}}
@container(max-width:600px){.aco-module[data-mode=build] .aco-body{display:flex;gap:15px}.aco-module[data-mode=build] .aco-pad{margin-top:0}.aco-build-tools{flex-direction:column;align-items:stretch}.aw-app .aco-build-add{align-self:flex-end}.aco-build-hint{font-size:13px}.aco-build-sign-bank{justify-content:center}.aco-build-scroll{width:100%}.aco-modes .aco-button{font-size:14px!important;padding:9px 10px!important}.aco-build-card{min-height:258px}}

/* Ordinary two-level constructions fit the classroom display. */
.aco-module[data-mode=build] .aco-body{width:min(100%,max(960px,var(--aco-ideal-width)));max-width:1700px}
.aco-build-tools{display:flex;align-items:center;justify-content:space-between;gap:10px}
.aco-build-tools .aco-build-sign-bank{padding:0;flex:none}
.aco-build-tools .aco-build-hint{max-width:210px;font-size:14px}
.aco-build-card{min-height:0;padding:28px 14px 10px}
.aw-app .aco-build-remove{top:-15px;right:-13px;width:44px;height:44px;background:#fff;border:1px solid #e2ece5;border-radius:50%;padding:13px}
.aco-build-local{height:32px}
.aco-build-links{z-index:2}.aco-build-source{z-index:3!important}
.aco-module[data-mode=build] .aco-pad{margin-top:110px}
@container(max-width:900px){.aco-build-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.aco-build-tools .aco-build-sign-bank{grid-row:2;grid-column:1/-1;justify-content:center}.aco-build-tools .aco-build-hint{max-width:none;font-size:13px}.aco-build-tools .aco-build-add{grid-row:1;grid-column:2}}
@container(max-width:600px){.aco-module[data-mode=build] .aco-pad{margin-top:0}.aco-build-tools{display:grid}.aco-build-card{min-height:0}}
.aco-module[data-mode=build] .aco-body{width:min(100%,var(--aco-ideal-width));padding-top:16px;padding-bottom:8px}
.aco-module[data-mode=build] .aco-expression{font-size:clamp(28px,3.2cqi,48px);line-height:1.2;padding-bottom:0}
.aco-build-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.aco-build-tools .aco-build-sign-bank{grid-row:2;grid-column:1/-1;justify-content:center}
.aco-build-tools .aco-build-hint{max-width:none;font-size:13px}
.aco-build-tools .aco-build-add{grid-row:1;grid-column:2}

/* Reference-style levels: the given expression is the first source row. */
.aco-frontier-tree{position:relative;min-width:0}
.aco-level-row{position:absolute;left:0;height:72px;min-width:0}
.aco-level-value,.aw-app .aco-level-value{position:absolute;top:0;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:5px;border-radius:13px;font-family:inherit;font-weight:780;line-height:1.05;font-variant-numeric:tabular-nums;z-index:2}
.aco-level-given,.aw-app .aco-level-given{background:transparent;border:1px solid transparent;color:#234f46;box-shadow:none}
.aco-level-carry,.aw-app .aco-level-carry{background:#fff;border:1px solid #d7c59e;color:#355f4e;box-shadow:none}
.aw-app .aco-level-build-result{border:2px dashed #cbb785;background:#fffdf7;color:#305c4a;border-radius:13px}
.aco-level-sign,.aw-app .aco-level-sign{position:absolute;top:14px;height:44px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:1px;border:0;border-radius:9px;background:transparent;color:#b37625;font-size:40px;font-weight:800;line-height:1;z-index:2}
.aco-level-sign[data-power=true],.aw-app .aco-level-sign[data-power=true]{font-size:13px;line-height:1.1;text-align:center}
.aco-level-bracket{position:absolute;top:10px;display:grid;place-items:center;width:16px;height:50px;font-size:45px;line-height:1;font-weight:450;color:#617b6c;pointer-events:none}
.aw-app .aco-build-infix{cursor:pointer;touch-action:manipulation}
.aw-app .aco-level-value[data-build-source]{cursor:pointer;touch-action:none;user-select:none}
.aw-app .aco-level-value[data-build-selected=true],.aw-app .aco-build-infix[data-build-selected=true]{border:2px solid #cd9e43;background:#fff3d3;color:#805c16;box-shadow:0 0 0 3px #cd9e4320}
.aw-app .aco-level-value[data-build-source]:hover{background:#eff8f1;border-color:#8cb49d}
.aw-app .aco-level-value[data-build-selected=true]:hover{background:#fff3d3;border-color:#cd9e43}
.aco-build-actions{display:flex;align-items:center;gap:7px;flex:none}
.aw-app .aco-build-actions>.aco-button{min-height:46px;font-size:16px}
.aco-build-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}
.aco-build-tools .aco-build-hint{max-width:none;font-size:14px;font-weight:600}
.aco-module[data-mode=build] .aco-body{width:min(100%,var(--aco-ideal-width));padding:20px 16px 8px}
.aco-module[data-mode=build] .aco-pad{margin-top:64px}
.aco-build-scroll{padding-top:2px;min-height:100px}
.aco-build-links{z-index:0;stroke-linejoin:round}
.aco-build-links>path{stroke:#83ad97;stroke-width:3;fill:none}
.aco-branches{z-index:0}
.aw-app .aco-level-value[data-result=correct]{border:2px solid #419d78;background:#e9f7ed;color:#147452}
.aw-app .aco-level-value[data-result=incorrect]{border:2px solid #ca7e64;background:#fff1ea;color:#953e2d}
.aw-app .aco-level-value[data-result=empty]{border-color:#d3b568;background:#fffaf0;color:#8a722d}
.aw-app .aco-level-value[data-result=blocked]{border:2px solid #d1af65;background:#fff7e5;color:#8a6926}
@container(max-width:800px){.aco-module[data-mode=build] .aco-body{padding:14px 9px 8px}.aco-build-tools{gap:8px}.aco-build-tools .aco-build-hint{font-size:13px}.aw-app .aco-build-actions>.aco-button{padding:9px;font-size:15px}}
@container(max-width:600px){.aco-module[data-mode=build] .aco-body{display:flex;flex-direction:column}.aco-module[data-mode=build] .aco-pad{margin-top:0}.aco-build-tools{display:flex;align-items:flex-start}.aco-build-tools .aco-build-hint{font-size:12px}.aco-build-actions{gap:5px}.aw-app .aco-build-actions>.aco-button{font-size:14px;padding:8px}.aco-module .aco-tree-scroll{padding-bottom:10px}}

/* Fit the complete operation in its reserved workspace, not in a scroller. */
.aw-app .aco-module .aco-body{width:min(100%,var(--aco-fit-width));max-width:none;grid-template-columns:minmax(0,1fr) var(--aco-pad-width);align-items:stretch;gap:var(--aco-fit-gap);padding:10px 12px;overflow:hidden;scrollbar-gutter:auto;min-height:0}
.aw-app .aco-module .aco-work{min-height:0;gap:6px;overflow:hidden}
.aw-app .aco-module .aco-tree-scroll{flex:1;min-height:0;padding:0;overflow:hidden;scrollbar-gutter:auto;display:flex;align-items:flex-start;justify-content:center;max-width:100%}
.aco-module .aco-frontier-tree{flex:none;margin:0;position:relative}
.aw-app .aco-module .aco-pad{width:var(--aco-pad-width);align-self:center;position:relative;top:auto;margin:0;padding:7px;gap:5px}
.aw-app .aco-module .aco-pad-title{min-height:24px;font-size:15px;line-height:1.2}
.aw-app .aco-module .aco-pad-output{min-height:44px;padding:5px 7px;font-size:26px}
.aw-app .aco-module .aco-pad-key{min-height:44px;padding:6px;font-size:24px}
.aw-app .aco-module .aco-pad-nav .aco-button{min-height:44px;padding:6px}
.aco-module .aco-pad-keys{gap:4px}
.aco-module .aco-pad-nav{gap:4px}
.aw-app .aco-module .aco-status{display:block!important;min-height:24px;height:24px;padding:2px 9px;margin:0;font-size:15px;line-height:20px;white-space:nowrap;overflow:hidden;flex:none}
.aw-app .aco-module .aco-level-value{padding:4px}
.aw-app .aco-module .aco-level-sign{height:44px;min-height:44px;font-size:clamp(24px,3cqi,38px)}
.aw-app .aco-module .aco-level-sign[data-power=true]{font-size:11px}
.aco-module .aco-build-tools{min-height:44px;height:44px;flex:none;gap:6px}
.aco-module .aco-build-hint{font-size:12px;line-height:1.2;min-width:0}
.aw-app .aco-module .aco-build-actions>.aco-button{min-height:44px;height:44px;padding:7px 10px;font-size:15px}
.aco-module .aco-discover-controls{min-height:44px;padding:0;gap:8px;flex:none}
.aw-app .aco-module .aco-discover-controls>.aco-button{min-height:44px;height:44px;padding:7px 10px}
.aco-module[data-mode=discover] .aco-body{display:flex;flex-direction:column}
.aco-module[data-mode=discover] .aco-work{flex:1;width:100%}

/* A full overview plus a comfortably sized working pair when space is tight. */
.aw-app .aco-module[data-fit-mode=focus] .aco-body{display:flex;flex-direction:column;width:100%;padding:6px 8px;gap:7px}
.aw-app .aco-module[data-fit-mode=focus] .aco-work{flex:1;gap:6px}
.aco-fit-original{flex:none;min-width:0;max-width:100%;font-size:18px;line-height:1.2;font-weight:750;text-align:center;color:#234f46;overflow-wrap:anywhere}
.aco-fit-original sup{font-size:.65em;line-height:0;position:relative;top:-.2em}
.aco-fit-overview{flex:1;min-height:36px;width:100%;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fbfdfb;border:1px solid #e4ede5;border-radius:12px}
.aco-fit-overview svg{width:100%;height:100%;display:block;max-height:100%;min-height:0;overflow:hidden;color:#83ad97;pointer-events:none}
.aco-fit-overview>svg>path{stroke:#83ad97;stroke-width:3;fill:none}
.aco-fit-focus{flex:none;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:4px;width:100%;min-width:0}
.aw-app .aco-focus-value,.aco-focus-value{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;height:44px;border:1px solid #bfd5c6;border-radius:10px;padding:3px;background:#fffdf6;color:#285b4b;font-weight:750;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}
.aw-app .aco-focus-sign{min-width:44px;min-height:44px;height:44px;padding:3px;font-size:27px;color:#b37626;background:#fff8eb;border-color:#e4d4af}
.aw-app .aco-focus-value[aria-pressed=true],.aw-app .aco-focus-sign[aria-pressed=true]{background:#fff0c9;border:2px solid #bd9136;color:#795c19}
.aco-operation-focus{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.aco-focus-relation{font-size:22px;font-weight:750;color:#b37626;text-align:center;line-height:1.05;max-width:67px}
.aco-focus-finished{grid-column:1/-1;text-align:center;font-size:20px;font-weight:750;color:#0e7a60}
.aw-app .aco-module[data-fit-mode=focus] .aco-build-tools{justify-content:center;min-height:44px;height:44px;gap:0}
.aco-module[data-fit-mode=focus] .aco-build-hint{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.aco-module[data-fit-mode=focus] .aco-build-actions{justify-content:center;gap:5px}
.aw-app .aco-module[data-fit-mode=focus] .aco-build-actions>.aco-button{min-width:44px;min-height:44px}
.aw-app .aco-module .aco-compact-pad{width:min(100%,420px);align-self:center;flex:none;margin:0;padding:0;gap:4px;border-radius:12px;box-shadow:none}
.aco-compact-pad-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1.1fr);align-items:stretch;gap:4px;min-height:44px}
.aw-app .aco-answer-select{min-width:0;min-height:44px;height:44px;padding:4px;font:inherit;font-size:12px;font-weight:650;border:1px solid #c5d9cc;border-radius:9px;color:#335c4b;background:#fff}
.aw-app .aco-module .aco-compact-answer{position:relative;left:auto;top:auto;min-width:44px;width:100%;min-height:44px;height:44px;padding:3px 5px;font-size:24px;line-height:1.05;border-radius:9px}
.aco-module .aco-compact-pad .aco-pad-keys{grid-template-columns:repeat(6,minmax(44px,1fr));gap:3px}
.aw-app .aco-module .aco-compact-pad .aco-pad-key{min-width:44px;min-height:44px;height:44px;padding:4px;font-size:23px}
@container(max-width:700px){
 .aw-app .aco-module[data-fit-mode=full] .aco-body{display:flex;flex-direction:column;padding:6px 8px;gap:7px}
 .aw-app .aco-module[data-fit-mode=full] .aco-work{flex:1;min-height:0}
 .aw-app .aco-module[data-fit-mode=full] .aco-pad{width:100%;flex:none;padding:0;gap:4px;border-radius:12px}
 .aco-module[data-fit-mode=full] .aco-pad-keys{grid-template-columns:repeat(6,minmax(44px,1fr));gap:3px}
 .aw-app .aco-module[data-fit-mode=full] .aco-pad-title{min-height:18px;height:18px;font-size:12px}
 .aw-app .aco-module[data-fit-mode=full] .aco-pad-output{min-height:44px;height:44px}
 .aco-module[data-fit-mode=full] .aco-pad-nav{display:none}
 .aco-module .aco-modes .aco-button{font-size:14px!important;padding:8px 9px!important}
}
@container(max-width:280px){
 .aco-module .aco-compact-pad .aco-pad-keys,.aco-module[data-fit-mode=full] .aco-pad-keys{grid-template-columns:repeat(5,minmax(44px,1fr))}
 .aco-compact-pad-head{grid-template-columns:minmax(0,1fr) minmax(108px,1fr)}
 .aw-app .aco-module .aco-compact-answer{font-size:22px}
}

.aw-app .aco-module .aco-top{margin-bottom:0!important}

.aco-focus-answer-line{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;height:44px;font-size:26px;font-weight:750;color:#355e4d}
.aco-focus-revealed{display:flex;align-items:center;justify-content:center;min-width:132px;min-height:44px;padding:3px 9px;border-radius:10px;font-size:26px;line-height:1}
