/* The whole board is a work surface; decoration stays behind the material. */
.aabn-app.aabn-board .aabn-lab-panel:has(>.aabn-material-stage){padding:0;border:0;background:transparent}
.aabn-app.aabn-board .aabn-material-stage{--stage-soft:#f3faf6;position:relative;isolation:isolate;min-width:0;min-height:calc(100dvh - 100px);border:1px solid #d7e7df;border-radius:26px;background:radial-gradient(circle,#dce9e2 .7px,transparent .9px) 0 0/24px 24px,var(--stage-soft);overflow:hidden}
.aabn-app.aabn-board .aabn-material-stage--money{--stage-soft:#fcfaf2;border-color:#e7dec4}
.aabn-app.aabn-board .aabn-material-stage--place{--stage-soft:#f6f7fc;border-color:#dce0ee}
.aabn-app.aabn-board .aabn-material-scenery{position:absolute;z-index:-1;inset:auto 0 0;height:clamp(95px,20vh,210px);pointer-events:none;opacity:.65}
.aabn-app.aabn-board .aabn-material-scenery svg{display:block;width:100%;height:100%}
.aabn-app.aabn-board .aabn-material-stage__content{display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0;min-height:inherit;padding:18px 20px 24px}
.aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-toolbar,.aabn-place-toolbar){flex:0 0 auto;align-items:center;gap:12px;margin:0;padding:10px 14px;border:1px solid #d9e6df;border-radius:17px;background:#ffffffed}
.aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-toolbar,.aabn-place-toolbar) label{font-size:15px}
.aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-toolbar,.aabn-place-toolbar) input{width:180px;max-width:100%;font-size:27px;font-weight:850}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-toolbar label{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-toolbar>p{flex:1 1 100%;font-size:12px}
/* Money: a bank and a purse at the same height, with pieces in the middle. */
.aabn-app.aabn-board .aabn-material-stage .aabn-money-workspace{flex:1 1 auto;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);min-width:0;gap:18px}
.aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-bank,.aabn-money-wallet){display:flex;flex-direction:column;min-width:0;min-height:clamp(350px,56vh,700px);padding:18px;border:1px solid #e0d6bb;border-radius:23px;background:#fffefaeF;box-shadow:0 5px 0 #e9e2cd}
.aabn-app.aabn-board .aabn-material-stage .aabn-money-wallet{background:#fffdf2ed}
.aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-bank,.aabn-money-wallet)>header{flex:0 0 auto;align-items:center;font-size:20px}
.aabn-app.aabn-board .aabn-material-stage .aabn-money-wallet header output{font-size:clamp(30px,3.1vw,50px);white-space:nowrap}
.aabn-app.aabn-board .aabn-material-stage .aabn-money-bank>div{flex:1;align-content:center;align-items:center;gap:12px;padding:12px 0}
.aabn-app.aabn-board .aabn-material-stage .aabn-money{flex:1;align-content:center;align-items:center;min-height:240px;gap:14px;background:#fffdf7;border:1px dashed #dfd2a7;border-radius:19px}
.aabn-app.aabn-board .aabn-material-stage .aabn-money-piece{flex:0 0 auto;width:clamp(64px,5.5vw,90px);min-width:64px;height:clamp(64px,5.5vw,90px);min-height:64px;font-size:clamp(19px,1.6vw,25px)}
.aabn-app.aabn-board .aabn-material-stage .aabn-money-piece--note{width:clamp(104px,8vw,144px);min-width:104px;height:clamp(60px,4.8vw,82px);min-height:60px}
.aabn-app.aabn-board .aabn-material-stage .aabn-empty-material{max-width:300px;margin:auto;font-size:18px;line-height:1.6;text-align:center}
.aabn-app.aabn-board .aabn-material-stage .aabn-lab-result{flex:0 0 auto;margin:0;padding:10px 14px;background:#ffffffeb;border-radius:14px;font-size:16px}
/* Blocks: tall trays give a visible home to all four orders. */
.aabn-app.aabn-board .aabn-material-stage .aabn-place-materials{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-material{min-height:clamp(310px,43vh,560px);padding:16px;border-radius:21px;box-shadow:0 5px 0 #dce0e933}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-material header output{min-width:54px;height:54px;font-size:31px}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-material__tray{min-height:160px;align-content:center;gap:8px;padding:20px 0}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-material__controls{gap:10px}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-material__controls button{border-radius:13px}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges{margin:0;padding:10px 14px;gap:8px;border-radius:18px;background:#fffdf4ed}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges>strong{color:#6b603e;font-size:13px}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges button{min-height:48px;padding:8px;font-size:15px;border-radius:12px}
/* Repartos: one large table and reachable controls along its lower edge. */
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-game{flex:1;grid-template-rows:auto minmax(340px,1fr) auto;gap:16px}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-toolbar{gap:14px;padding:10px 14px;border:1px solid #d6e7dc;border-radius:18px;background:#ffffffee}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-playfield{min-height:0;grid-template-columns:210px minmax(0,1fr);gap:18px}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bank{justify-content:center;padding:20px;background:#f7fcf4ee;box-shadow:0 5px 0 #dce7dc}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bank__pieces{align-content:center;flex:1}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-table{align-content:center;grid-template-rows:auto 1fr auto;padding:16px 20px;border:1px solid #c9ddcf;background:repeating-linear-gradient(90deg,#edf5ed38 0 24px,#e2eee333 24px 25px),#ffffffeb;box-shadow:0 5px 0 #dce7dc}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-challenge{font-size:22px}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-challenge strong{font-size:44px}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowls{align-content:center;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:18px}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowl{max-width:280px}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowl__put{height:clamp(155px,20vh,220px)}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowl__take{min-height:44px;border-radius:14px;background:#fff9e9}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowls--many{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowls--many .aabn-sharing-bowl__put{height:120px}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-answer-bar{padding:12px 16px;gap:15px;border-radius:20px;box-shadow:0 4px 0 #dce7dc;background:#ffffffef}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-answer-bar input{font-size:32px;background:#f5faf7}
.aabn-app.aabn-board .aabn-material-stage .aabn-sharing-check{min-height:56px;padding:10px 22px;font-size:17px}
@media(min-width:769px) and (max-width:1400px){
 .aabn-app.aabn-board .aabn-material-stage__content{padding:14px;gap:12px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-materials{gap:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material{padding:12px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material header strong{font-size:15px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges>div{grid-template-columns:repeat(3,minmax(0,1fr))}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-playfield{grid-template-columns:160px minmax(0,1fr);gap:12px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowls{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowls--many{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-table{padding:12px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bank{padding:12px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-toolbar{gap:10px}
}
@media(min-width:769px) and (max-height:850px){
 .aabn-app.aabn-board .aabn-material-stage{min-height:calc(100dvh - 96px)}
 .aabn-app.aabn-board .aabn-material-stage__content{padding:12px;gap:10px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-toolbar,.aabn-place-toolbar){padding:8px 12px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-bank,.aabn-money-wallet){min-height:350px;padding:14px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-workspace{gap:12px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-piece{width:62px;height:62px;min-width:62px;min-height:62px;font-size:18px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-piece--note{width:100px;min-width:100px;height:58px;min-height:58px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-bank>div{gap:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material{min-height:280px;padding:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material__tray{min-height:145px;padding:12px 0}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material header output{min-width:44px;height:44px;font-size:26px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges button{min-height:44px;padding:7px;font-size:14px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-game{gap:10px;grid-template-rows:auto minmax(310px,1fr) auto}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-toolbar{padding:8px 10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-game :is(button,input,select){min-height:44px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-answer-bar{gap:10px;padding:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-challenge{font-size:18px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-challenge strong{font-size:34px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bowls--many .aabn-sharing-bowl__put{height:94px}
}
@media(min-width:769px) and (max-width:1200px){
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-piece--hundred{width:48px;height:48px;background-size:auto}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-piece--thousand{width:42px;height:42px;margin:0 4px 4px 0;box-shadow:4px 4px 0 #543b8d,inset 0 0 0 1px #ffffff33}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-piece--ten{width:14px;height:82px}
}
@media(max-width:768px){
 .aabn-app.aabn-board .aabn-material-stage{min-height:calc(100dvh - 165px);border-radius:20px}
 .aabn-app.aabn-board .aabn-material-stage__content{min-height:inherit;padding:10px;gap:14px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-toolbar,.aabn-place-toolbar){padding:10px;gap:10px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-toolbar,.aabn-place-toolbar) label{min-width:0;width:100%;font-size:13px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-toolbar,.aabn-place-toolbar) input{width:100%;min-height:48px;font-size:25px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-toolbar,.aabn-place-toolbar) .aabn-button{width:100%;min-height:44px;padding:8px;font-size:13px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-toolbar .aabn-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-workspace{grid-template-columns:1fr;gap:14px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-bank,.aabn-money-wallet){min-height:280px;padding:12px;border-radius:18px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-money-bank,.aabn-money-wallet)>header{font-size:17px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-wallet header output{font-size:29px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-wallet>header{flex-direction:column;align-items:stretch;gap:8px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-wallet>header output{text-align:right;max-width:100%}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-bank>div{gap:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money{min-height:200px;padding:12px 6px;gap:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-piece{width:56px;height:56px;min-width:56px;min-height:56px;font-size:17px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-money-piece--note{width:92px;min-width:92px;height:54px;min-height:54px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-materials{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material{min-height:265px;padding:9px;border-radius:15px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material header{flex-wrap:wrap;justify-content:center;gap:5px;text-align:center}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material header>div{flex:1 1 100%}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material header strong{font-size:13px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material header output{min-width:44px;height:44px;font-size:26px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material__tray{min-height:120px;padding:14px 0;gap:4px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material__controls{gap:5px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-material__controls button{min-width:0;min-height:44px;padding:5px;font-size:18px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges{padding:10px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-place-exchanges button{min-height:44px;padding:7px 2px;font-size:11px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-game{grid-template-rows:auto auto auto;gap:14px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-toolbar{padding:9px;gap:9px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-counter{flex:1 1 100%;width:100%}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-counter__row input{flex:1 1 0;min-width:44px;width:100%}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-playfield{grid-template-columns:1fr;gap:14px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bank{display:grid;grid-template-columns:54px minmax(0,1fr);padding:10px;gap:8px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-bank__pieces{flex:initial}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-quick{grid-column:1/-1}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-table{padding:10px;gap:12px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-challenge{font-size:15px;gap:8px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-challenge strong{font-size:30px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-sharing-bowls,.aabn-sharing-bowls--many){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .aabn-app.aabn-board .aabn-material-stage :is(.aabn-sharing-bowls,.aabn-sharing-bowls--many) .aabn-sharing-bowl__put{height:120px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-answer-bar{padding:10px;gap:9px 5px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-answer-bar input{width:66px;min-height:48px;font-size:28px}
 .aabn-app.aabn-board .aabn-material-stage .aabn-sharing-check{min-height:48px;padding:8px;font-size:12px}
}
@media(max-width:380px){.aabn-app.aabn-board .aabn-material-stage .aabn-place-material__controls{grid-template-columns:1fr}.aabn-app.aabn-board .aabn-material-stage .aabn-place-piece--hundred{width:72px;height:72px}}
.aabn-app.aabn-board.aabn-reduced-stimuli .aabn-material-stage{background-image:none}
.aabn-app.aabn-board.aabn-reduced-stimuli .aabn-material-scenery{display:none}
.aabn-app.aabn-board.aabn-high-contrast .aabn-material-stage{background:#fff;border-color:#000}
.aabn-app.aabn-board.aabn-high-contrast .aabn-material-scenery{display:none}
.aabn-app.aabn-board.aabn-high-contrast .aabn-material-stage :is(.aabn-money-bank,.aabn-money-wallet,.aabn-money-toolbar,.aabn-place-toolbar,.aabn-sharing-table,.aabn-sharing-bank,.aabn-sharing-toolbar,.aabn-sharing-answer-bar){color:#000;background:#fff;border-color:#000;box-shadow:none}
@media print{.aabn-app.aabn-board .aabn-material-stage{min-height:0;background:#fff;border:0;overflow:visible}.aabn-app.aabn-board .aabn-material-stage__content{min-height:0;padding:0}.aabn-app.aabn-board .aabn-material-scenery{display:none}}
