:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#243246;background:#f6f8f8;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button{font:inherit}button:not(:disabled){cursor:pointer}button:focus-visible{outline:3px solid #2d817f;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{max-width:1540px;margin:0 auto;padding:0 32px 48px}.site-header{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #dbe4e8}.brand-lockup{display:flex;align-items:center;gap:16px;min-width:0}.brand-logo{display:block;width:139px;height:43px;object-fit:contain;object-position:left center}.brand-divider{height:24px;width:1px;background:#ccd6dc}.brand-product{font-size:17px;font-weight:800;letter-spacing:-.025em;white-space:nowrap}.header-note{font-size:13px;color:#788590;font-weight:650;white-space:nowrap}.topline{display:flex;justify-content:space-between;align-items:end;gap:25px;padding:25px 0 20px}.eyebrow,.section-kicker{margin:0 0 7px;color:#e05f77;font-size:12px;letter-spacing:.14em;font-weight:900}.topline h1{margin:0;font-size:clamp(27px,2.75vw,42px);line-height:1.13;letter-spacing:-.05em;font-weight:850}.title-dot{color:#ef7185}.topline-decoration{display:flex;gap:8px;padding:0 5px 7px}.topline-decoration span{width:14px;height:14px;border-radius:4px;transform:rotate(-13deg);background:#ef7185;box-shadow:0 2px 0 #c8576c}.topline-decoration span:nth-child(2){background:#f6c968;box-shadow:0 2px 0 #d9a846}.topline-decoration span:nth-child(3){background:#63b5ad;box-shadow:0 2px 0 #428f87}.material-tabs{display:flex;gap:10px;margin:0 0 17px}.material-tab{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid #dbe4e8;border-radius:16px;background:#fff;color:#394b5a;text-align:left;min-width:245px;box-shadow:0 2px 3px #182a3608;transition:transform .16s,border-color .16s,box-shadow .16s}.material-tab:hover{transform:translateY(-2px);box-shadow:0 5px 12px #24324613}.material-tab.is-active{border-color:#ef7185;background:#fff5f7;box-shadow:0 0 0 2px #ef718527}.material-tab strong,.material-tab small{display:block}.material-tab strong{font-size:15px;line-height:1.2}.material-tab small{color:#788590;font-size:12px;margin-top:2px;font-weight:600}.tab-symbol{display:grid;flex:none}.tab-symbol--frames{width:33px;height:33px;grid-template-columns:repeat(2,1fr);gap:3px}.tab-symbol--frames i{background:#ef7185;border-radius:3px;box-shadow:inset -2px -2px #c6586d}.tab-symbol--frames i:nth-child(2){background:#f5be57;box-shadow:inset -2px -2px #cc9b41}.tab-symbol--frames i:nth-child(3){background:#69bcb0;box-shadow:inset -2px -2px #488d88}.tab-symbol--frames i:nth-child(4){background:#9b8fdb;box-shadow:inset -2px -2px #7467b8}.tab-symbol--base{width:36px;height:34px;align-items:end;grid-template-columns:8px 10px 14px;gap:2px}.tab-symbol--base i{background:#60b7ac;border:1px solid #3b918a;border-radius:2px;height:9px}.tab-symbol--base i:nth-child(2){height:20px}.tab-symbol--base i:nth-child(3){height:29px}.workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:17px;align-items:start}.workspace-card{min-width:0;background:#fff;border:1px solid #dae4e9;border-radius:22px;box-shadow:0 10px 30px #2432460a;overflow:hidden}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px 18px}.workspace-heading h2{font-size:clamp(22px,2vw,29px);letter-spacing:-.04em;margin:0 0 5px;line-height:1.15}.workspace-description{margin:0;color:#667682;font-size:14px;line-height:1.45}.total-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;min-width:94px;padding:8px 14px;border-radius:15px;background:#243246;color:#fff}.total-pill span{font-size:11px;font-weight:700;color:#c8d7dd}.total-pill strong{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}.frames-board{padding:19px 26px 21px;background:radial-gradient(#dce8eb 1px,transparent 1px) 0 0/22px 22px,#f7fafb;border-top:1px solid #e6eef0}.frames-tools,.base-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.tool-label{display:block;color:#5a6b78;font-size:12px;font-weight:750;margin-bottom:7px}.color-options{display:flex;gap:8px}.color-option{width:35px;height:35px;display:grid;place-items:center;padding:3px;background:#fff;border:1px solid #d2dfe2;border-radius:9px;position:relative}.color-option.is-selected{outline:2px solid #243246;outline-offset:2px}.poly-cube{display:block;width:100%;height:100%;position:relative;border-radius:4px;background:linear-gradient(135deg,#ffffff55 0%,transparent 35%),var(--cube-color);border:1px solid #24324636;box-shadow:inset -3px -3px #0000001d,0 2px 3px #24324625}.poly-cube:before{content:"";position:absolute;top:13%;left:30%;width:36%;height:18%;border-radius:50%;background:#ffffff73;box-shadow:0 1px 0 #00000029}.color-option .poly-cube{width:24px;height:24px}.toolbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.toolbar-button{padding:8px 12px;border:1px solid #d9e3e7;border-radius:9px;background:#fff;color:#405462;font-size:13px;font-weight:750;white-space:nowrap;min-height:36px}.toolbar-button:hover:not(:disabled){background:#edf5f5}.toolbar-button--clear{color:#a3475b}.frames-pair{display:flex;justify-content:center;gap:25px;align-items:start;padding:29px 0 15px}.frame-card{min-width:0;background:#fff;padding:17px 17px 18px;border:1px solid #dae5e8;border-radius:17px;box-shadow:0 8px 19px #2432460c}.frame-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px}.frame-heading strong{font-size:15px}.frame-count{display:inline-flex;justify-content:center;min-width:45px;background:#fff0f3;border-radius:20px;padding:4px 9px;color:#bc5268;font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}.ten-frame{display:grid;grid-template-columns:repeat(5,var(--frame-cell));grid-template-rows:repeat(2,var(--frame-cell));border:3px solid #243246;border-radius:8px;overflow:hidden;background:#fff;--frame-cell:clamp(44px,4.1vw,57px)}.frame-cell{padding:5px;border:1px solid #bdcbd1;background:#fbfdfd;display:grid;place-items:center;touch-action:none}.frame-cell:hover{background:#eaf5f4}.frame-cell .poly-cube{width:100%;height:100%;touch-action:none}.board-footnote{margin:7px 0 0;text-align:center;color:#81909a;font-size:12px}.ale-aside{min-width:0}.ale-card{overflow:hidden;border:1px solid #f4c5cb;border-radius:22px;background:#ffe8ed;position:relative;min-height:373px;padding:15px 16px 19px;box-shadow:0 10px 30px #ef71851a}.ale-card-top{display:flex;align-items:center;justify-content:space-between;color:#a83f58;font-size:11px;letter-spacing:.13em;font-weight:900}.ale-sparkle{font-size:25px;line-height:1;color:#ef7185}.ale-avatar{display:block;width:205px;height:212px;max-width:none;object-fit:contain;object-position:center bottom;margin:0 auto -7px}.ale-card-copy{position:relative;z-index:1;background:#fff;border-radius:15px;padding:13px 13px 14px;box-shadow:0 6px 13px #ae58611b}.ale-card-copy span{font-size:10px;color:#d45a73;font-weight:900;letter-spacing:.12em}.ale-card-copy h2{font-size:23px;line-height:1.1;letter-spacing:-.045em;margin:5px 0 8px}.ale-card-copy p{font-size:13px;color:#667682;line-height:1.4;margin:0}.aside-note{font-size:12px;line-height:1.45;color:#84929c;padding:0 10px;margin:14px 0 0}.workspace-heading--base{border-bottom:1px solid #e8eff1}.base-tools{padding:13px 22px 16px;background:#f7fafb}.piece-palette{display:flex;gap:6px;flex-wrap:wrap}.palette-piece{display:flex;align-items:center;gap:8px;min-height:54px;padding:7px 9px;border:1px solid #d4e0e4;background:#fff;border-radius:11px;color:#243246;font-size:13px;font-weight:800}.palette-piece:hover{background:#eef8f7;border-color:#80b8b2}.palette-piece span:last-child{white-space:nowrap}.mini-piece{display:block;flex:none;position:relative;background-color:#53aca3;border:2px solid #34877f;box-shadow:inset -3px -3px #0000001c;border-radius:3px}.mini-piece--unit{width:18px;height:18px}.mini-piece--ten{width:28px;height:12px;background-image:repeating-linear-gradient(90deg,transparent 0 4px,#34877f 4px 5px)}.mini-piece--hundred{width:25px;height:25px;background-image:linear-gradient(90deg,#34877f 1px,transparent 1px),linear-gradient(#34877f 1px,transparent 1px);background-size:5px 5px}.mini-piece--thousand{width:27px;height:27px;background-image:linear-gradient(90deg,#34877f 1px,transparent 1px),linear-gradient(#34877f 1px,transparent 1px);background-size:5px 5px;box-shadow:5px -5px 0 #7ed0c7,inset -3px -3px #0000001c}.base-content{padding:17px 22px 19px}.board-label-line{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin:0 0 10px}.board-label-line strong{font-size:15px}.board-label-line span{color:#81909a;font-size:12px}.free-board{position:relative;height:390px;overflow:hidden;border:2px dashed #b6d1d2;border-radius:14px;background:radial-gradient(#dce8eb 1px,transparent 1px) 0 0/20px 20px,#fbfdfd;touch-action:none}.free-board:empty:after{content:"Añade un bloque para empezar";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#a7b6bf;white-space:nowrap;font-size:14px;pointer-events:none}.workspace-piece{position:absolute;display:block;border:0;padding:0;background:none;line-height:0;touch-action:none;z-index:1}.workspace-piece.is-selected{outline:3px solid #ef7185;outline-offset:4px;border-radius:4px;z-index:2}.workspace-piece.is-moving{opacity:.35}.base-unit,.base-ten,.base-hundred,.base-thousand{position:relative;display:block}.base-unit{width:23px;height:23px;background:#5cb7ad;border:2px solid #348b83;border-radius:4px;box-shadow:inset -4px -4px #3c978f,0 2px 4px #24324630}.base-unit:before{content:"";position:absolute;width:9px;height:4px;border-radius:50%;top:2px;left:5px;background:#b1e5d8}.base-ten{width:220px;height:22px;display:grid;grid-template-columns:repeat(10,1fr);border:1px solid #348b83;border-radius:3px;overflow:hidden;box-shadow:0 2px 4px #24324630}.base-ten i,.base-hundred i{display:block;background:linear-gradient(135deg,#88d4c9,#54aca3);border:1px solid #368c84;box-shadow:inset -2px -2px #00000010}.base-hundred{width:220px;height:220px;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);border:1px solid #348b83;border-radius:3px;overflow:hidden;box-shadow:0 3px 8px #24324630}.base-thousand{width:112px;height:112px;border:3px solid #348b83;border-radius:4px;background-color:#64bdb2;background-image:linear-gradient(90deg,#348b83 1px,transparent 1px),linear-gradient(#348b83 1px,transparent 1px);background-size:11px 11px;box-shadow:8px -8px 0 #8ad4cb,10px -10px 0 1px #348b83,11px 5px 9px #24324625}.base-thousand:after{content:"1000";position:absolute;right:4px;bottom:4px;border-radius:4px;padding:2px 4px;background:#243246;color:#fff;font-size:12px;font-weight:800;line-height:1.2}.selection-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0 0;font-size:13px}.selection-actions span{font-weight:850;margin-right:auto}.text-action{background:none;border:0;border-bottom:1px solid currentColor;color:#287e79;padding:2px 0;font-size:13px;font-weight:750}.text-action--danger{color:#b55266}.exchange-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px}.exchange-actions span{font-size:12px;font-weight:800;color:#667682;margin-right:4px}.exchange-actions button{font-size:12px;font-weight:750;background:#eef8f7;border:1px solid #bbdbd6;color:#287e79;border-radius:7px;padding:6px 8px}.tables-section{border-top:1px solid #e3edef;padding:18px 22px 22px;background:#fbfdfd}.tables-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.tables-heading h3{font-size:18px;letter-spacing:-.025em;margin:0 0 3px}.tables-heading p{margin:0;font-size:13px;color:#768791}.add-table-button{border:0;border-radius:10px;background:#243246;color:#fff;font-size:13px;font-weight:800;padding:10px 13px;white-space:nowrap}.add-table-button:hover{background:#40556b}.tables-list{display:grid;gap:13px;margin-top:14px}.tables-list:empty:after{content:"Todavía no hay tablas. Puedes añadir una cuando la necesites.";display:block;border:1px dashed #cadbde;border-radius:10px;color:#84939e;padding:22px;text-align:center;font-size:13px}.place-table{background:#fff;border:1px solid #d7e3e6;border-radius:12px;overflow:hidden}.place-table-head{padding:9px 12px;display:flex;align-items:center;justify-content:space-between;background:#eaf3f3;font-size:13px;font-weight:850}.place-table-head button{border:0;background:none;color:#ad5266;font-size:12px;font-weight:800}.place-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.table-column{min-width:0;text-align:center;padding:10px 5px 12px;border-right:1px solid #dce7e9;min-height:130px;touch-action:none}.table-column:last-child{border-right:0}.table-column.is-over{background:#e6f8f2}.table-column.is-invalid{background:#ffe7e9}.column-name{display:block;font-size:12px;line-height:1.2;font-weight:850;color:#3d5362;min-height:28px}.column-mini{display:flex;justify-content:center;align-items:center;height:36px}.column-count{font-size:23px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.1}.column-actions{display:flex;justify-content:center;gap:4px;margin-top:8px}.column-actions button{width:28px;height:28px;border-radius:7px;border:1px solid #cbdcde;background:#fff;color:#2a6968;font-weight:850;font-size:16px;line-height:1}.column-actions button:hover:not(:disabled){background:#e5f6f4}.carry-button{border:0;background:none;color:#287e79;font-size:11px;font-weight:800;margin-top:5px;text-decoration:underline;text-underline-offset:2px}.table-value{padding:8px 12px;border-top:1px solid #dce7e9;text-align:right;font-size:12px;color:#6b7c88}.table-value strong{font-size:16px;color:#243246}.drag-ghost{position:fixed;z-index:99;pointer-events:none;transform:translate(-50%,-50%);opacity:.87;filter:drop-shadow(0 8px 12px #2432464d)}.drag-ghost--cube{width:47px;height:47px}.drag-ghost--piece{transform:translate(-50%,-50%) scale(.7);transform-origin:center}.drag-ghost.is-invalid{filter:drop-shadow(0 8px 12px #cc3b504d)}
@media(max-width:1050px){.workspace-layout{grid-template-columns:minmax(0,1fr)}.ale-aside{display:flex;align-items:center;gap:16px}.ale-card{display:flex;align-items:center;min-height:0;width:100%;padding:8px 15px}.ale-card-top{display:none}.ale-avatar{width:110px;height:110px;margin:0 8px 0 0;object-position:center bottom}.ale-card-copy{box-shadow:none;padding:7px 12px;flex:1}.ale-card-copy h2{font-size:19px;margin:2px 0 4px}.ale-card-copy h2 br{display:none}.ale-card-copy p{font-size:12px}.aside-note{display:none}.ten-frame{--frame-cell:clamp(43px,5vw,56px)}}
@media(max-width:700px){.app-shell{padding:0 14px 30px}.site-header{min-height:64px}.brand-logo{width:110px;height:35px}.brand-product{font-size:14px}.brand-lockup{gap:10px}.header-note{display:none}.topline{padding:18px 2px 17px}.topline h1{font-size:29px}.topline-decoration{display:none}.material-tabs{gap:7px}.material-tab{min-width:0;flex:1;padding:10px 8px;gap:7px;border-radius:12px}.material-tab strong{font-size:12px}.material-tab small{font-size:10px}.tab-symbol{transform:scale(.75);margin:-3px;transform-origin:center}.workspace-heading{padding:19px 16px 16px}.workspace-heading h2{font-size:23px}.workspace-description{font-size:13px}.total-pill{min-width:72px;padding:7px 8px}.total-pill strong{font-size:25px}.frames-board{padding:16px 12px}.frames-pair{flex-wrap:wrap;gap:15px;padding:18px 0 10px}.frame-card{padding:13px}.ten-frame{--frame-cell:clamp(43px,10.9vw,54px)}.toolbar-actions{gap:4px}.toolbar-button{font-size:12px;padding:7px 8px}.toolbar-button span{display:none}.base-tools,.base-content,.tables-section{padding-left:14px;padding-right:14px}.piece-palette{width:100%}.palette-piece{flex:1;justify-content:center;padding:6px;min-height:47px;font-size:11px;gap:5px}.palette-piece span:last-child{white-space:normal}.free-board{height:330px}.tables-heading{align-items:start}.tables-heading h3{font-size:16px}.tables-heading p{font-size:12px}.add-table-button{font-size:12px;padding:9px}.column-name{font-size:10px}.column-count{font-size:21px}}
@media(max-width:390px){.brand-divider{display:none}.brand-product{font-size:12px}.material-tab strong{font-size:11px}.material-tab small{display:none}.tab-symbol{display:none}.frames-tools{align-items:start}.toolbar-actions{width:100%}.board-label-line span{display:none}.table-column{padding-left:2px;padding-right:2px}.column-name{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.toolbar-button--table{background:#e8f5f3;border-color:#a8d4ce;color:#287e79}.toolbar-button--table:hover:not(:disabled){background:#d9eeeb}.base-working-area{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);border-top:1px solid #e3edef}.base-content{min-width:0}.tables-section{min-width:0;border-top:0;border-left:1px solid #e3edef}.tables-heading{align-items:start;flex-wrap:wrap}.tables-heading h3{font-size:16px}.tables-heading p{font-size:12px}.add-table-button{padding:8px 10px}.free-board{height:372px}.column-pieces{display:flex;justify-content:center;align-content:center;align-items:center;gap:3px;flex-wrap:wrap;min-height:47px;padding:5px 0}.table-token{display:inline-grid;place-items:center;padding:0;border:0;background:none;min-width:27px;min-height:28px}.table-token:hover{transform:translateY(-2px)}.column-empty{font-size:19px;color:#bfd0d3}.column-more{font-size:11px;font-weight:850;color:#59717b}.column-count{font-size:19px}.table-column{min-height:135px}
@media(max-width:1000px){.base-working-area{grid-template-columns:1fr}.tables-section{border-left:0;border-top:1px solid #e3edef}.free-board{height:340px}}
@media(max-width:700px){.base-tools .toolbar-actions{width:100%}.base-tools .toolbar-button--table{margin-right:auto}.tables-heading{align-items:center}.column-pieces{min-height:48px}.table-token{min-width:22px;min-height:22px}.column-pieces .mini-piece--hundred,.column-pieces .mini-piece--thousand{transform:scale(.82);margin:-2px}.column-pieces .mini-piece--ten{transform:scale(.8);margin:-1px}}

/* Rejillas y pizarra: dos superficies que se pueden usar a la vez. */
.frames-work-area{display:grid;grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:18px;padding-top:18px;align-items:stretch}.frames-column{min-width:0;display:flex;flex-direction:column;justify-content:center}.frames-pair{flex-direction:column;align-items:center;gap:15px;padding:0}.frame-card{width:min(100%,338px)}.frames-work-area .ten-frame{--frame-cell:clamp(43px,3.6vw,56px)}.frames-column .board-footnote{margin:14px 0 0;line-height:1.4}.whiteboard{min-width:0;display:flex;flex-direction:column;border:1px solid #d6e3e8;border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 8px 19px #2432460b}.whiteboard-heading{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px 9px 16px;border-bottom:1px solid #e4ecf0}.whiteboard-heading>div:first-child{display:flex;flex-direction:column;gap:1px}.whiteboard-heading strong{font-size:15px}.whiteboard-heading span{font-size:12px;color:#7a8a94;line-height:1.3}.drawing-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.drawing-tool{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:35px;padding:6px 8px;border:1px solid #d8e3e8;border-radius:9px;background:#fff;color:#405462;font-size:12px;font-weight:800;white-space:nowrap}.drawing-tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.drawing-tool.is-active{border-color:#54a8f1;background:#e9f5ff;color:#1479cf;box-shadow:0 0 0 1px #54a8f133}.drawing-tool:hover:not(:disabled){background:#f0f7fb}.drawing-tool--secondary{min-width:34px}.whiteboard-sheet{position:relative;flex:1;min-height:410px;background:#fff}.whiteboard-sheet canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:crosshair}.whiteboard-sheet canvas.is-eraser{cursor:cell}.whiteboard-placeholder{position:absolute;left:22px;top:21px;color:#b2c0c7;font-size:13px;pointer-events:none}.whiteboard-placeholder[hidden]{display:none}
.frames-work-area .ten-frame{width:max-content;max-width:100%;margin:0 auto}
@media(max-width:1150px){.frames-work-area{grid-template-columns:minmax(285px,320px) minmax(0,1fr)}.frames-work-area .ten-frame{--frame-cell:clamp(42px,4vw,53px)}.whiteboard-heading{flex-wrap:wrap}.drawing-tools{justify-content:flex-start}}
@media(max-width:820px){.frames-work-area{grid-template-columns:1fr}.frames-column{align-items:center}.frames-pair{flex-direction:row;flex-wrap:wrap;justify-content:center}.whiteboard-sheet{min-height:360px}.whiteboard-heading{flex-wrap:nowrap}.drawing-tools{justify-content:flex-end}}
@media(max-width:700px){.frames-work-area{gap:16px;padding-top:16px}.frames-pair{flex-direction:column;gap:14px}.frames-work-area .ten-frame{--frame-cell:clamp(43px,10.9vw,54px)}.whiteboard-heading{align-items:flex-start;flex-wrap:wrap;padding:12px}.drawing-tools{width:100%;justify-content:flex-start}.whiteboard-sheet{min-height:300px}.whiteboard-placeholder{left:15px;top:16px;font-size:12px}}

/* La superficie de trabajo ocupa la pantalla; el selector y Ale viven en la barra lateral. */
.app-shell{max-width:none;padding:0 18px 18px}
.site-header{min-height:62px;gap:16px}
.brand-logo{width:108px;height:37px}
.brand-lockup{gap:12px}
.brand-product{font-size:clamp(19px,1.75vw,27px);letter-spacing:-.035em}
.header-kicker{color:#df5d73;font-size:10px;font-weight:900;letter-spacing:.15em;white-space:nowrap}
.header-note{font-size:11px}
.workspace-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:16px;align-items:start;padding-top:16px}
.material-sidebar{min-width:0;display:flex;flex-direction:column;gap:16px}
.sidebar-title{margin:0;font-size:18px;letter-spacing:-.025em;line-height:1.2}
.material-tabs{display:flex;flex-direction:column;gap:9px;margin:0}
.material-tab{width:100%;min-width:0;gap:10px;padding:10px;border-radius:12px;box-shadow:none}
.material-tab strong{font-size:13px}
.material-tab small{font-size:11px}
.tab-symbol--frames{width:27px;height:27px}
.tab-symbol--base{width:29px;height:29px;grid-template-columns:7px 8px 11px}
.ale-aside{display:block}
.ale-card{width:100%;min-height:0;padding:11px 11px 12px;border-radius:16px;box-shadow:none}
.ale-card-top{display:flex}
.ale-avatar{width:165px;height:155px;margin:0 auto -4px}
.ale-card-copy{padding:11px;border-radius:12px;box-shadow:none}
.ale-card-copy h2{font-size:19px;margin:4px 0 5px}
.ale-card-copy p{font-size:11px}
.workspace-main{min-width:0}
.workspace-card{border-radius:17px;box-shadow:none}
.workspace-heading{padding:14px 20px;min-height:95px}
.workspace-heading h2{font-size:clamp(20px,2vw,27px)}
.workspace-description{font-size:12px}
.section-kicker{font-size:10px;margin-bottom:4px}
.total-pill{min-width:70px;padding:6px 11px;border-radius:12px}
.total-pill strong{font-size:26px}
.frames-board{padding:0;background:#fff}
.frames-tools{padding:10px 18px;border-top:1px solid #e6eef0;gap:12px}
.color-picker{display:flex;align-items:center;gap:12px}
.tool-label{margin:0;font-size:11px}
.color-option{width:30px;height:30px}
.color-option .poly-cube{width:21px;height:21px}
.toolbar-button{min-height:32px;padding:6px 10px;font-size:12px}
.board-drawing-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 18px;border-top:1px solid #e8eff1;border-bottom:1px solid #e8eff1;background:#fff}
.board-drawing-label{display:flex;flex-direction:column;gap:2px}
.board-drawing-label strong{font-size:14px}
.board-drawing-label span{font-size:11px;color:#73838e}
.drawing-tool{min-height:32px;font-size:12px}
.frames-work-area{display:block;position:relative;padding:0;min-height:max(560px,calc(100dvh - 282px));background:#fff}
.whiteboard-sheet{position:absolute;inset:0;min-height:0;background:#fff}
.whiteboard-sheet canvas{z-index:1}
.whiteboard-placeholder{left:auto;right:22px;top:24px;z-index:0}
.frames-column{position:relative;z-index:2;display:block;width:max-content;max-width:100%;padding:23px;pointer-events:none}
.frames-pair{flex-direction:row;justify-content:flex-start;align-items:start;gap:16px;padding:0}
.frame-card{width:auto;max-width:none;padding:12px;border-radius:12px;box-shadow:none;pointer-events:auto}
.frame-heading{margin-bottom:8px}
.frame-heading strong{font-size:13px}
.frame-count{font-size:11px;padding:3px 7px}
.frames-work-area .ten-frame{--frame-cell:clamp(39px,3.15vw,52px)}
.frames-column .board-footnote{font-size:10px;margin:9px 0 0;color:#8a99a3;pointer-events:none}
.base-working-area{min-height:max(560px,calc(100dvh - 238px))}
.free-board{height:min(62vh,590px)}
@media(max-width:1190px){.workspace-layout{grid-template-columns:195px minmax(0,1fr)}.frames-work-area .ten-frame{--frame-cell:clamp(34px,3.1vw,43px)}.frames-column{padding:17px}.frames-pair{gap:10px}.frame-card{padding:10px}.header-kicker{display:none}}
@media(max-width:950px){.workspace-layout{grid-template-columns:180px minmax(0,1fr)}.material-tab{padding:8px}.material-tab strong{font-size:11px}.frames-work-area{min-height:650px}.frames-pair{flex-direction:column}.frames-work-area .ten-frame{--frame-cell:clamp(42px,5vw,52px)}.whiteboard-placeholder{top:auto;bottom:20px;right:20px}.ale-avatar{width:140px;height:135px}}
@media(max-width:700px){.app-shell{padding:0 12px 16px}.site-header{min-height:59px}.brand-logo{width:82px;height:31px}.brand-divider{height:20px}.brand-product{font-size:16px;white-space:normal}.workspace-layout{display:flex;flex-direction:column;gap:12px;padding-top:12px}.material-sidebar{width:100%;gap:8px}.sidebar-title{font-size:15px}.material-tabs{flex-direction:row;gap:8px}.material-tab{flex:1;min-width:0;padding:7px}.material-tab strong{font-size:11px}.material-tab small{display:none}.material-sidebar .ale-aside{display:none}.workspace-main{width:100%}.workspace-heading{min-height:78px;padding:10px 12px}.workspace-heading h2{font-size:19px}.workspace-description{font-size:11px}.total-pill{min-width:56px}.total-pill strong{font-size:21px}.frames-tools{padding:9px 11px}.board-drawing-bar{padding:9px 11px;align-items:flex-start;flex-wrap:wrap}.board-drawing-label span{display:none}.drawing-tools{width:auto}.frames-work-area{min-height:680px}.frames-column{padding:13px}.frames-pair{flex-direction:column;gap:12px}.frames-work-area .ten-frame{--frame-cell:clamp(43px,10.9vw,54px)}.frame-card{padding:9px}.whiteboard-placeholder{left:14px;right:auto;top:auto;bottom:20px}.base-working-area{min-height:0}.free-board{height:330px}}

/* Bandeja de policubos: coger, soltar, mover y devolver. */
.color-picker{gap:13px}
.color-options{gap:9px;padding:4px;border:1px solid #dbe5e8;border-radius:12px;background:#f8fafb}
.color-option{width:39px;height:39px;padding:5px;touch-action:none;cursor:grab!important;border-radius:8px}
.color-option:active,.loose-cube:active,.frame-cell.has-cube:active{cursor:grabbing!important}
.color-option .poly-cube{width:27px;height:27px}
.cube-return{display:grid;place-items:center;min-height:35px;padding:6px 11px;border:1px dashed #dc9ba7;border-radius:9px;background:#fff8f9;color:#a34459;font-size:12px;font-weight:800;white-space:nowrap}
.cube-return.is-drop-target{background:#ffe3e9;border-color:#df6478;box-shadow:0 0 0 3px #ef718533}
.frame-cell{cursor:default}
.frame-cell.has-cube{cursor:grab;user-select:none}
.frame-cell.is-drop-target{background:#ddf5ef;box-shadow:inset 0 0 0 3px #54aa98}
.loose-cubes-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.loose-cube{position:absolute;display:block;width:45px;height:45px;padding:0;border:0;background:none;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;cursor:grab}
.loose-cube .poly-cube{width:100%;height:100%}
.drag-ghost--cube{width:45px;height:45px}
@media(max-width:700px){.color-picker{width:100%;justify-content:space-between}.color-options{margin-left:auto}.toolbar-actions{width:100%;justify-content:flex-end}.cube-return{margin-right:auto;font-size:11px;padding:5px 8px}.color-option{width:38px;height:38px}}

/* Policubo plano con tetón central, siguiendo la muestra facilitada por Ale. */
.poly-cube{border:1px solid #ffffff24;border-radius:19%;background:var(--cube-color);box-shadow:inset 0 2px 0 #ffffff30,inset 0 -2px 0 #00000010,0 1px 2px #24324623}
.poly-cube:before{width:34%;height:34%;left:33%;top:33%;border-radius:50%;background:#23324750;box-shadow:inset 0 1px 1px #23324720}
.color-picker.is-drop-target .color-options{border-color:#e2667d;background:#ffe9ee;box-shadow:0 0 0 3px #ef71852b}
.cube-return{display:flex;align-items:center;justify-content:center;gap:7px;min-width:142px;min-height:45px;padding:5px 11px;border-style:solid;line-height:1.15;text-align:left}
.cube-return span{display:flex;flex-direction:column;gap:2px}
.cube-return small{font-size:9px;color:#af6d7b;font-weight:700}
.cube-return:hover{background:#ffeaf0;border-color:#d57285}
.frame-cell.is-selected .poly-cube,.loose-cube.is-selected .poly-cube{outline:3px solid #1d86dd;outline-offset:3px}
.tab-symbol--frames i:nth-child(1){background:#f58a37;box-shadow:none}
.tab-symbol--frames i:nth-child(2){background:#8752b9;box-shadow:none}
.tab-symbol--frames i:nth-child(3){background:#eb7089;box-shadow:none}
.tab-symbol--frames i:nth-child(4){background:#189f9b;box-shadow:none}
@media(max-width:700px){.cube-return{min-width:119px;padding:5px 8px}.cube-return small{font-size:8px}}

/* Modelo de barras: piezas libres y redimensionables sobre la pizarra. */
.tab-symbol--bars{width:30px;height:30px;align-content:center;gap:5px}
.tab-symbol--bars i{display:block;height:8px;border:1px solid #2d7e7c;border-radius:2px;background:#66beb0}
.tab-symbol--bars i:first-child{width:28px}
.tab-symbol--bars i:last-child{width:18px}
.bar-model-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid #e6eef0}
.bar-palette{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.bar-palette .tool-label{margin-right:5px}
.bar-source{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:83px;min-height:45px;padding:4px 7px;border:1px solid #d9e5e7;border-radius:9px;background:#f8fbfb;color:#405462;font-size:10px;font-weight:800;touch-action:none;cursor:grab!important}
.bar-source:active,.model-bar:active{cursor:grabbing!important}
.bar-source:hover{border-color:#5baaa2;background:#eef9f6}
.bar-source-shape{display:block;height:16px;border:2px solid #2e8983;border-radius:3px;background:#78c9bd;box-shadow:inset 0 2px 0 #ffffff55}
.bar-source-shape--short{width:31px}.bar-source-shape--medium{width:49px}.bar-source-shape--long{width:68px}
.bar-main-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.bar-return{min-height:38px;padding:7px 10px;border:1px solid #e6a8b2;border-radius:9px;background:#fff8f9;color:#a34459;font-size:12px;font-weight:800}
.bar-return:hover,.bar-return.is-drop-target{background:#ffe4e9;border-color:#dc687b}
.bar-return.is-drop-target{box-shadow:0 0 0 3px #ef718533}
.bar-edit-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid #e8eff1;background:#f9fbfb}
.bar-edit-row label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}
.bar-edit-row input{width:170px;min-height:34px;border:1px solid #cbdce0;border-radius:8px;padding:6px 9px;background:#fff;color:#243246;font:inherit;font-weight:600}
.bar-edit-row input:focus{outline:2px solid #69b8af;outline-offset:1px}
.bar-color-options{display:flex;gap:5px;margin-right:auto}
.bar-color-options button{width:29px;height:29px;border:1px solid #24324633;border-radius:7px;background:var(--swatch)}
.bar-color-options button.is-active{outline:2px solid #243246;outline-offset:2px}
.bars-work-area{position:relative;min-height:max(570px,calc(100dvh - 265px));overflow:hidden;background:#fff}
.bars-whiteboard-sheet{position:absolute;inset:0;background:#fff}
.bars-whiteboard-sheet canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.bars-whiteboard-sheet canvas.is-eraser{cursor:cell}
.bars-layer{position:absolute;inset:0;z-index:2;pointer-events:none}
.model-bar{position:absolute;display:flex;align-items:center;justify-content:center;height:54px;padding:0 19px 0 10px;border:3px solid color-mix(in srgb,var(--bar-color) 72%,#243246);border-radius:5px;background:linear-gradient(#ffffff33,#ffffff08),var(--bar-color);box-shadow:inset 0 2px 0 #ffffff72,0 3px 7px #24324623;color:#243246;font-size:21px;font-weight:850;cursor:grab;touch-action:none;pointer-events:auto;user-select:none}
.model-bar.is-selected{outline:3px solid #237ed1;outline-offset:3px;z-index:2}
.bar-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
.bar-resize-handle{position:absolute;right:-8px;top:7px;display:grid;place-items:center;width:18px;height:34px;padding:0;border:1px solid #789397;border-radius:8px;background:#fff;color:#536b73;font-size:18px;line-height:1;cursor:ew-resize;touch-action:none;box-shadow:0 2px 5px #24324624}
.bar-resize-handle:hover{background:#e7f6f3;border-color:#359c91}
.bars-board-hint{position:absolute;left:24px;bottom:18px;margin:0;color:#a5b3bb;font-size:12px;pointer-events:none}
.bar-ghost{position:fixed;z-index:100;display:grid;place-items:center;height:48px;border:3px solid #348f88;border-radius:5px;background:#78c9bd;color:#243246;font-size:15px;font-weight:800;opacity:.83;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 8px 18px #24324630}
@media(max-width:700px){.bar-model-tools{padding:9px 11px}.bar-palette{width:100%;justify-content:space-between}.bar-palette .tool-label{width:100%;margin:0}.bar-source{flex:1;min-width:0}.bar-main-actions{width:100%;justify-content:flex-end}.bar-return{margin-right:auto}.bar-edit-row{padding:9px 11px}.bar-edit-row label{width:100%;justify-content:space-between}.bar-edit-row input{width:min(60%,220px)}.bar-color-options{margin-right:0}.bars-work-area{min-height:640px}.bars-board-hint{left:14px;right:14px;bottom:14px;font-size:11px}}

/* Tabla de valor posicional con fichas independientes. */
.tab-symbol--place{width:29px;height:29px;grid-template-columns:repeat(3,1fr);gap:3px;align-items:end}
.tab-symbol--place i{display:block;border:1px solid #3b918a;border-radius:3px;background:#60b7ac;height:14px}
.tab-symbol--place i:nth-child(2){height:22px;background:#ef7185;border-color:#ca6076}
.tab-symbol--place i:nth-child(3){height:28px;background:#f6c968;border-color:#d7a846}
#panel-place .total-pill{min-width:119px}
#panel-place .total-pill strong{font-size:clamp(21px,2.2vw,28px)}
.place-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid #e8eff1;border-bottom:1px solid #e8eff1;background:#f8fbfc;flex-wrap:wrap}
.place-size-label{display:flex;align-items:center;gap:10px;color:#243246;font-size:12px;font-weight:800}
.place-size-label select{max-width:280px;min-height:35px;border:1px solid #cfdee3;border-radius:9px;padding:5px 10px;background:#fff;color:#243246;font:inherit}
.place-actions{display:flex;gap:6px;flex-wrap:wrap}
.place-palette-wrap{padding:13px 20px 14px;border-bottom:1px solid #e8eff1}
.place-palette-wrap>strong{font-size:13px;margin-right:10px}
.place-palette-wrap>span{font-size:11px;color:#748591}
.place-palette{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.place-source{display:flex;align-items:center;gap:7px;min-width:74px;padding:5px 9px 5px 5px;border:1px solid #d5e2e5;border-radius:10px;background:#fff;color:#425568;font-size:12px;font-weight:850;touch-action:none}
.place-source:hover{background:#f0f7f7;border-color:#80bdb5}
.place-chip{display:inline-grid;place-items:center;flex:none;width:37px;height:37px;border-radius:50%;color:#fff;background:var(--chip-color);border:2px solid #ffffff9c;box-shadow:inset 0 -3px #00000024,0 2px 5px #24324625;font-size:10px;font-weight:900;line-height:1;letter-spacing:-.03em;user-select:none}
.place-chip span{pointer-events:none}
.place-chip--large{font-size:8px;letter-spacing:-.055em}
.place-table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#abc5ca #f3f8f9}
.place-grid{display:grid;grid-template-columns:repeat(var(--place-columns),minmax(156px,1fr));min-width:calc(var(--place-columns) * 156px);min-height:450px}
.place-col{display:flex;flex-direction:column;min-width:0;border-right:1px solid #cddce1;background:#fff}
.place-col:nth-child(odd){background:#fbfdfd}
.place-col:last-child{border-right:0}
.place-col-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:87px;padding:9px 4px;border-bottom:3px solid var(--chip-color);text-align:center}
.place-col-head>span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 4px;border-radius:8px;color:#fff;background:var(--chip-color);font-size:12px;font-weight:900}
.place-col-head strong{font-size:12px;line-height:1.17}
.place-col-head small{font-size:10px;color:#7b8993}
.place-col-body{position:relative;flex:1;min-height:210px;padding:14px 7px}
.place-token-grid{display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:center;gap:4px;min-height:38px}
.place-token{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;touch-action:none}
.place-token:hover .place-chip{transform:translateY(-2px);box-shadow:inset 0 -3px #00000024,0 4px 7px #24324635}
.place-empty{position:absolute;top:50%;left:0;right:0;text-align:center;color:#a4b3ba;font-size:11px;font-weight:700;pointer-events:none}
.place-extra{display:block;text-align:center;margin-top:9px;font-size:11px;color:#657985;font-weight:750}
.place-col-foot{display:flex;flex-direction:column;align-items:center;gap:7px;min-height:129px;padding:9px 4px 12px;border-top:1px solid #e2ecee}
.place-count{font-size:11px;font-weight:800;color:#435b66;font-variant-numeric:tabular-nums}
.place-quantity{display:flex;gap:7px}
.place-quantity button{width:29px;height:29px;border:1px solid #d1dee3;border-radius:8px;background:#fff;color:#314d5c;font-size:18px;line-height:1}
.place-exchange{min-height:25px;padding:3px 6px;border:1px solid #a5d5c6;border-radius:7px;background:#e7f7f0;color:#277457;font-size:10px;font-weight:850;white-space:nowrap}
.place-exchange--split{border-color:#c5c5e4;background:#f3f1ff;color:#62599b}
.place-bottom-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 20px;border-top:1px solid #e6eef0;color:#647883;font-size:12px;flex-wrap:wrap}
.place-return{padding:9px 13px;border:1px dashed #ef9dad;border-radius:9px;background:#fff7f8;color:#ad5367;font-size:12px;font-weight:800}
.place-return.is-drop-target{background:#ffe4e9;border-color:#d85c75}
.place-drag-ghost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%)}
.place-drag-ghost .place-chip{width:42px;height:42px;box-shadow:0 7px 15px #24324645}
@media(max-width:700px){#panel-place .workspace-heading{align-items:flex-start}.place-controls,.place-palette-wrap,.place-bottom-bar{padding-left:11px;padding-right:11px}.place-size-label{width:100%;justify-content:space-between}.place-size-label select{max-width:70%}.place-actions{width:100%;justify-content:flex-end}.place-palette-wrap>span{display:block;margin-top:3px}.place-grid{min-height:390px}.place-col-body{min-height:170px}.place-bottom-bar{font-size:11px}}

/* Muro de fracciones y espacio de comparación. */
.tab-symbol--fractions{width:29px;height:29px;display:flex;flex-direction:column;gap:3px;justify-content:center}
.tab-symbol--fractions i{height:6px;border-radius:2px;background:#ff9b24}
.tab-symbol--fractions i:nth-child(2){background:linear-gradient(90deg,#ef632e 49%,#fff 49%,#fff 51%,#ef632e 51%)}
.tab-symbol--fractions i:nth-child(3){background:repeating-linear-gradient(90deg,#ce367e 0 23%,#fff 23% 25%)}
.fraction-heading-mark{display:flex;align-items:center;gap:8px;flex:none;color:#344c65;font-weight:900}
.fraction-heading-mark span{padding:6px 8px;border-radius:8px;background:#f2f7fb;font-size:14px}
.fraction-heading-mark b{color:#df6077;font-size:22px}
.fraction-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 19px;border-top:1px solid #e8eff1;border-bottom:1px solid #e8eff1;background:#f8fbfc;flex-wrap:wrap}
.fraction-toolbar>span{font-size:12px;color:#637887}
.fraction-layout{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(380px,1.08fr);min-height:615px}
.fraction-wall-box{min-width:0;padding:15px 17px 20px;background:#f8fbfc;border-right:1px solid #dce8eb}
.fraction-compare-box{min-width:0;padding:15px 20px 20px;display:flex;flex-direction:column;background:#fff}
.fraction-area-heading{display:flex;flex-direction:column;gap:2px;margin-bottom:15px}
.fraction-area-heading strong{font-size:15px}
.fraction-area-heading span{font-size:11px;color:#7a8993}
.fraction-wall{display:flex;flex-direction:column;gap:5px}
.fraction-wall-row{display:flex;width:100%;height:35px;gap:2px;padding:2px;border-radius:5px;background:#fff;border:1px solid #d3e1e5}
.fraction-piece{display:flex;align-items:center;justify-content:center;min-width:0;flex:0 0 var(--fraction-share);height:100%;padding:0 2px;border:1px solid #ffffffb3;border-radius:3px;background:var(--fraction-color);color:#fff;box-shadow:inset 0 -3px #0000001f;touch-action:none;user-select:none;font-weight:900}
.fraction-piece:hover{filter:brightness(1.08)}
.fraction-wall-row .fraction-piece{flex:1 1 0}
.fraction-symbol{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:.9;font-size:10px;white-space:nowrap;pointer-events:none}
.fraction-symbol span:first-child{display:block;border-bottom:1px solid currentColor;min-width:12px;padding-bottom:1px;text-align:center}
.fraction-symbol span:last-child{display:block;padding-top:2px}
.fraction-lane{padding:12px 13px 16px;margin-bottom:18px;border:1px solid #d9e5e9;border-radius:13px;background:#fbfdfd;transition:border-color .15s,box-shadow .15s}
.fraction-lane.is-active{border-color:#77b6c5;box-shadow:0 0 0 2px #77b6c526}
.fraction-lane-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;min-height:29px}
.fraction-lane-select{padding:5px 9px;border:1px solid #ccdfe3;border-radius:8px;background:#fff;color:#365463;font-size:12px;font-weight:900;white-space:nowrap}
.fraction-lane-select.is-active{background:#e5f7f7;border-color:#7cc6be;color:#196d71}
.fraction-lane-head>span{min-width:0;flex:1;font-size:13px;font-weight:800;color:#435b67;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fraction-remove-last{border:0;background:transparent;color:#a9586d;font-size:11px;font-weight:800;white-space:nowrap}
.fraction-track{display:flex;width:100%;height:65px;border:2px solid #334a5d;border-radius:5px;background:#fff;overflow:hidden;position:relative}
.fraction-track .fraction-piece{border-radius:0;border-color:#ffffffa8}
.fraction-track .fraction-symbol{font-size:13px}
.fraction-scale{display:flex;justify-content:space-between;padding-top:4px;color:#788993;font-size:11px;font-weight:700}
.fraction-result{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:82px;margin-top:4px;padding:12px;border:1px dashed #bfd3d8;border-radius:12px;background:#f8fbfc;color:#647784;text-align:center;font-size:13px}
.fraction-result strong{font-size:23px;color:#243246}
.fraction-result.is-equal{border-style:solid;border-color:#84cdb1;background:#eaf8f1;color:#267455;font-weight:800}
.fraction-result.is-different{border-style:solid;border-color:#efc0c9;background:#fff5f7;color:#a34e62}
.fraction-return{align-self:center;margin-top:auto;padding:10px 14px;border:1px dashed #e9a3b1;border-radius:10px;background:#fff8f9;color:#ad5367;font-size:12px;font-weight:800;text-align:center}
.fraction-return.is-drop-target{background:#ffe3ea;border-color:#d85c75}
.fraction-drag-ghost{position:fixed;z-index:1100;width:64px;height:50px;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 10px #24324645)}
.fraction-drag-ghost .fraction-piece{width:100%;height:100%}
@media(max-width:1150px){.fraction-layout{grid-template-columns:1fr}.fraction-wall-box{border-right:0;border-bottom:1px solid #dce8eb}.fraction-compare-box{min-height:450px}}
@media(max-width:700px){.material-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.material-tab{width:100%}.material-tab:last-child:nth-child(odd){grid-column:1/-1}.fraction-heading-mark{display:none}.fraction-toolbar{padding:10px 11px}.fraction-toolbar .place-actions{width:100%;justify-content:flex-end}.fraction-layout{display:block}.fraction-wall-box,.fraction-compare-box{padding:12px 11px}.fraction-wall-row{height:33px}.fraction-symbol{font-size:9px}.fraction-track{height:60px}.fraction-compare-box{min-height:430px}.fraction-result strong{font-size:19px}}

/* Menú plegable de materiales. */
.material-sidebar{gap:10px}.sidebar-topline{display:flex;align-items:center;justify-content:space-between;gap:5px}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:4px 6px;border:1px solid #d9e4e8;border-radius:8px;background:#fff;color:#3f5967;font-size:12px;font-weight:800}.sidebar-toggle:hover{background:#edf6f5}.material-tabs{display:flex;flex-direction:column;gap:5px;margin:0}.material-group{border:1px solid #dce6e9;border-radius:11px;background:#fff;overflow:hidden}.material-group summary{padding:10px 12px;cursor:pointer;color:#273b4d;font-size:12px;font-weight:850;list-style:none}.material-group summary::-webkit-details-marker{display:none}.material-group summary:after{content:"⌄";float:right;color:#8295a0}.material-group:not([open]) summary:after{content:"›"}.material-group[open] summary{border-bottom:1px solid #e6eef0;background:#f8fbfb}.material-group-items{display:flex;flex-direction:column;gap:3px;padding:5px}.material-group .material-tab{border:0;border-radius:8px;padding:8px;min-height:44px}.material-group .material-tab.is-active{box-shadow:inset 3px 0 #ef7185;background:#fff2f5}.material-group .material-tab strong{font-size:12px}.material-group .material-tab small{font-size:10px}.tab-symbol--line{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:7px;background:#e8f3ff;color:#277bb8;font-size:9px;font-weight:900}.sidebar-collapsed .workspace-layout{grid-template-columns:48px minmax(0,1fr)}.sidebar-collapsed .material-sidebar{align-items:center}.sidebar-collapsed .sidebar-title,.sidebar-collapsed .material-tabs,.sidebar-collapsed .ale-aside,.sidebar-collapsed .sidebar-toggle span{display:none}.sidebar-collapsed .sidebar-toggle{width:42px;min-height:42px}

/* Tira numérica: un recorrido continuo del 0 al 100. */
.line-range-badge{flex:none;padding:9px 13px;border-radius:12px;background:#e8f5f3;color:#177f7d;font-size:18px;font-weight:900;white-space:nowrap}.line-range-badge span{color:#ed7185}.line-toolbar,.line-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid #e6eef0}.line-markers,.line-history,.line-move-controls,.line-jump{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.line-markers .tool-label{margin:0 7px 0 0}.line-marker-choice,.line-move-controls button,.line-jump button,.line-navigation button{min-height:34px;padding:6px 11px;border:1px solid #d8e4e7;border-radius:9px;background:#fff;color:#354e5d;font-size:12px;font-weight:850}.line-marker-choice{display:flex;align-items:center;gap:7px}.line-marker-choice.is-active{border-color:#58a9e5;background:#ecf6ff;box-shadow:0 0 0 2px #58a9e527}.line-dot{width:16px;height:16px;border-radius:50%;display:inline-block}.line-dot--a{background:#ee7186}.line-dot--b{background:#55b9af}.line-controls{background:#fafcfc}.line-move-controls span,.line-jump label{margin-right:4px;font-size:12px;color:#536b78;font-weight:750}.line-move-controls button:hover:not(:disabled),.line-jump button:hover,.line-navigation button:hover:not(:disabled){background:#eaf5f3}.line-jump input{width:66px;height:34px;padding:5px 7px;border:1px solid #cfdde1;border-radius:8px;font:inherit;font-size:13px}.line-hint{margin:18px 18px 9px;color:#677c87;font-size:12px}.line-scroll{overflow-x:auto;overflow-y:hidden;margin:0 18px;min-height:245px;border:1px solid #d6e5e7;border-radius:14px;background:#fff;scrollbar-color:#82b7b7 #eef4f5;touch-action:pan-x;overscroll-behavior-x:contain}.line-track{display:flex;position:relative;width:max-content;min-height:220px;padding:14px 0 0}.line-track:before{content:"";position:absolute;left:35px;right:35px;top:131px;height:4px;background:#388f91;border-radius:9px}.line-cell{position:relative;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:flex-start;width:70px;height:207px;cursor:pointer;outline-offset:-3px}.line-cell:hover{background:#f0f9f8}.line-cell:focus-visible{outline:3px solid #28869d}.line-cell-markers{display:flex;justify-content:center;align-items:end;gap:1px;height:101px;width:100%}.line-position-marker{z-index:2;width:29px;height:35px;display:grid;place-items:center;border:2px solid #fff;border-radius:15px 15px 6px 6px;box-shadow:0 3px 6px #24324640;color:#fff;font-size:12px;font-weight:900;cursor:grab;touch-action:none}.line-position-marker:after{content:"";position:absolute;bottom:-6px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid currentColor;filter:brightness(.8)}.line-position-marker--a{background:#ea6b82;color:#ea6b82}.line-position-marker--b{background:#3eaaa0;color:#3eaaa0}.line-position-marker--a,.line-position-marker--b{font-size:0}.line-position-marker--a:before,.line-position-marker--b:before{font-size:12px;color:#fff}.line-position-marker--a:before{content:"A"}.line-position-marker--b:before{content:"B"}.line-position-marker.is-dragging{opacity:.8;cursor:grabbing}.line-tick{height:32px;width:2px;margin-top:16px;background:#5da2a3}.line-cell--five .line-tick{height:40px;margin-top:8px;width:3px}.line-cell--ten .line-tick{height:48px;margin-top:0;width:4px;background:#277d82}.line-cell strong{margin-top:7px;font-size:16px;color:#354f5b;font-variant-numeric:tabular-nums}.line-cell--ten strong{color:#0c777d;font-size:19px}.line-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px}.line-navigation span{font-size:12px;color:#5c7380;font-weight:850}.line-result{margin:3px 18px 18px;min-height:42px;padding:11px 14px;border-radius:10px;background:#eef8f5;color:#256b68;font-size:14px;font-weight:750}
@media(max-width:700px){.sidebar-topline{width:100%}.material-tabs{display:flex;flex-direction:column;width:100%;gap:5px}.material-group .material-tab:last-child:nth-child(odd){grid-column:auto}.material-group-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.material-group .material-tab{width:100%}.sidebar-collapsed .workspace-layout{display:flex}.sidebar-collapsed .material-sidebar{align-items:flex-start}.sidebar-collapsed .sidebar-title{display:block}.sidebar-collapsed .sidebar-toggle span{display:inline}.sidebar-collapsed .sidebar-toggle{width:auto;min-height:30px}.line-toolbar,.line-controls{padding:10px 11px}.line-history{width:100%;justify-content:flex-end}.line-hint{margin:13px 11px 8px}.line-scroll{margin:0 11px;min-height:240px}.line-navigation{padding:10px 11px}.line-result{margin:2px 11px 12px}.line-range-badge{font-size:14px}}
.line-position-marker{position:relative}

/* Pizarra unida a la tira: los trazos se desplazan junto a los números. */
.line-drawing-bar{margin-top:0}.line-scroll{min-height:505px;background:#fff}.line-track{--line-axis:395px;min-height:494px}.line-track:before{top:var(--line-axis)}.line-cell{height:480px}.line-cell-markers{height:365px}.line-drawing-canvas{position:absolute;inset:0;z-index:4;display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.line-drawing-canvas.is-select{pointer-events:none;cursor:default}.line-drawing-canvas.is-eraser{cursor:cell}.line-drawing-bar .drawing-tools{width:auto}
@media(max-width:700px){.line-scroll{min-height:430px}.line-track{--line-axis:320px;min-height:419px}.line-cell{height:405px}.line-cell-markers{height:290px}.line-drawing-bar .drawing-tools{width:100%;justify-content:flex-start}.line-drawing-bar .drawing-tool{min-height:35px}}
@media(max-width:700px){.line-move-controls span{width:100%}}
.drawing-tool--frog img{display:block;width:20px;height:20px;object-fit:contain}.drawing-tool--frog.is-active{border-color:#54b67d;background:#e8f8ee;color:#237d51;box-shadow:0 0 0 1px #54b67d33}.line-drawing-canvas.is-frog{cursor:none}.line-frog{position:absolute;z-index:5;display:block;width:52px;height:49px;object-fit:contain;transform:translate(-50%,-78%);pointer-events:none;user-select:none;filter:drop-shadow(0 3px 3px #21483342)}.line-frog[hidden]{display:none}.line-frog--cursor{z-index:6;width:48px;height:45px}
.line-frog--home{pointer-events:auto;cursor:grab;touch-action:none}.line-frog--home:active{cursor:grabbing}.line-frog--home.is-moving{opacity:0}.line-navigation-info{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px}.line-navigation-info strong{color:#24835a;font-size:12px;white-space:nowrap}

/* Anotaciones de texto colocadas libremente sobre el modelo de barras. */
.bars-whiteboard-sheet canvas.is-text{cursor:text}
.board-text-note{position:absolute;z-index:3;min-height:48px;pointer-events:auto}
.text-note-input{display:block;width:100%;min-height:44px;max-height:320px;overflow:auto;resize:none;padding:8px 28px 7px 31px;border:1px dashed #adbec6;border-radius:8px;background:#ffffffdf;color:#243246;font:700 20px/1.28 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 2px 5px #24324610}
.text-note-input::placeholder{color:#9badb5;font-weight:500}
.text-note-input:focus{outline:2px solid #55a7e7;outline-offset:1px;background:#fff}
.text-move-handle,.text-note-delete{position:absolute;z-index:1;display:grid;place-items:center;width:23px;height:23px;padding:0;border:0;border-radius:5px;background:#eef4f5;color:#4c6871;font-size:17px;line-height:1}
.text-move-handle{left:4px;top:7px;cursor:grab;touch-action:none}
.text-move-handle:active{cursor:grabbing}
.text-note-delete{right:4px;top:7px;color:#a4475b}
.text-move-handle:hover,.text-note-delete:hover{background:#dfecee}

/* El texto se lee como una anotación sobre la pizarra, sin tarjeta ni marco. */
.board-text-note{min-height:0}
.text-note-input{min-height:34px;max-height:none;overflow:hidden;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#101319;font-size:27px;line-height:1.2}
.text-note-input:focus{outline:none;background:transparent}
.text-note-input::placeholder{color:#a5b3bb;font-size:22px}
.text-move-handle,.text-note-delete{top:3px;opacity:0;pointer-events:none;transition:opacity .12s ease}
.text-move-handle{left:-27px}
.text-note-delete{right:-27px}
.board-text-note:hover .text-move-handle,.board-text-note:hover .text-note-delete,.board-text-note:focus-within .text-move-handle,.board-text-note:focus-within .text-note-delete{opacity:1;pointer-events:auto}
.bars-whiteboard-sheet canvas.is-select{cursor:default}
.whiteboard-sheet canvas.is-select{cursor:default}
.text-note-input{cursor:grab;touch-action:none}
.text-note-input:focus{cursor:text}
.pen-colors{display:inline-flex;align-items:center;gap:3px;padding:2px 3px;border:1px solid #e1e9ed;border-radius:11px;background:#f7fafb}
.pen-color{display:inline-grid;place-items:center;width:31px;height:31px;min-width:31px;padding:0;border:2px solid transparent;border-radius:9px;background:transparent;cursor:pointer}
.pen-color::before{content:"";width:19px;height:19px;border-radius:50%;background:var(--pen-color);box-shadow:inset 0 1px 2px #0002,0 1px 2px #0002}
.pen-color:hover{background:#eaf1f5}
.pen-color.is-active{border-color:#21334b;background:#fff;box-shadow:0 0 0 1px #fff inset}
.pen-color:focus-visible{outline:3px solid #54a8f1;outline-offset:2px}
.tab-symbol--discs{flex:none;width:29px;height:29px;border:2px solid #ce367e;border-radius:50%;background:conic-gradient(#ce367e 0 25%,#fff 25% 50%,#ce367e 50% 75%,#fff 75%);box-shadow:inset 0 0 0 2px #fff}
.disc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 19px;border-top:1px solid #e8eff1;border-bottom:1px solid #e8eff1;background:#f8fbfc}
.disc-toolbar>span{font-size:12px;color:#637887}
.disc-palette-wrap{padding:14px 20px 18px;border-bottom:1px solid #e5edef;background:#fbfdfd}
.disc-palette-wrap>strong{display:block;margin-bottom:10px;font-size:14px}
.disc-palette{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px}
.disc-source{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:82px;padding:7px 3px;border:1px solid #d8e4e7;border-radius:11px;background:#fff;color:#304456;touch-action:none;user-select:none}
.disc-source:hover{border-color:#8caab5;background:#f2f9f9}
.disc-source strong{font-size:12px;white-space:nowrap}
.disc-source-picture{display:block;width:47px;height:47px;border:2px solid #34485b;border-radius:50%;background:conic-gradient(var(--disc-color) 0 var(--disc-share),#fff var(--disc-share) 100%);box-shadow:0 2px 5px #2432461b}
.disc-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:20px;background:#fff}
.disc-card{min-width:0;padding:14px;border:1px solid #d9e5e9;border-radius:16px;background:#fbfdfd;transition:border-color .15s,box-shadow .15s}
.disc-card.is-active{border-color:#77b6c5;box-shadow:0 0 0 2px #77b6c526}
.disc-card-head{display:flex;align-items:center;gap:8px;min-height:33px}
.disc-card-head strong{min-width:0;flex:1;color:#435b67;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.disc-lane-select{flex:none;padding:6px 10px;border:1px solid #ccdfe3;border-radius:8px;background:#fff;color:#365463;font-size:12px;font-weight:900}
.disc-lane-select.is-active{background:#e5f7f7;border-color:#7cc6be;color:#196d71}
.disc-circle-wrap{display:grid;place-items:center;min-height:305px;padding:10px}
.disc-circle{display:block;width:min(100%,300px);height:auto;overflow:visible;touch-action:none}
.disc-sector{cursor:grab;touch-action:none}
.disc-sector:active{cursor:grabbing}
.disc-sector>circle,.disc-sector>path{stroke:#fff;stroke-width:1.7}
.disc-sector:hover>circle,.disc-sector:hover>path{filter:brightness(1.08)}
.disc-sector:focus-visible{outline:none}
.disc-sector:focus-visible>circle,.disc-sector:focus-visible>path{stroke:#243246;stroke-width:3}
.disc-sector text{fill:#fff;font-size:11px;font-weight:900;paint-order:stroke;stroke:#0005;stroke-width:1.5px;pointer-events:none;user-select:none}
.disc-bottom{display:flex;align-items:stretch;gap:15px;padding:0 20px 20px}
.disc-bottom .fraction-result{flex:1;margin:0}
.disc-return{display:grid;place-items:center;min-width:180px;padding:12px;border:1px dashed #e9a3b1;border-radius:11px;background:#fff8f9;color:#ad5367;font-size:12px;font-weight:800;text-align:center}
.disc-return.is-drop-target{background:#ffe3ea;border-color:#d85c75}
.disc-drag-ghost{position:fixed;z-index:1100;display:grid;justify-items:center;gap:3px;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 9px #24324645)}
.disc-drag-ghost .disc-source-picture{width:65px;height:65px}
.disc-drag-ghost strong{padding:2px 5px;border-radius:5px;background:#fff;color:#263948;font-size:12px}
@media(max-width:1200px){.disc-palette{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:800px){.disc-board{grid-template-columns:1fr}.disc-circle-wrap{min-height:265px}.disc-circle{width:min(100%,275px)}}
@media(max-width:700px){.disc-toolbar,.disc-palette-wrap{padding:10px 11px}.disc-toolbar .place-actions{width:100%;justify-content:flex-end}.disc-palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.disc-source{min-height:70px}.disc-source-picture{width:38px;height:38px}.disc-board{gap:11px;padding:12px 11px}.disc-card{padding:9px}.disc-card-head strong{font-size:11px}.disc-circle-wrap{min-height:245px}.disc-circle{width:min(100%,240px)}.disc-bottom{flex-direction:column;padding:0 11px 14px}.disc-return{min-width:0;min-height:47px}}
.tab-symbol--number-discs{display:grid;place-items:center;flex:none;width:29px;height:29px;border:2px solid #bd4e6b;border-radius:50%;background:#f8d4df;color:#a43d5a;font-size:10px;font-weight:900;box-shadow:3px -3px 0 #f3aabe}
.number-discs-count{flex:none;padding:8px 12px;border-radius:9px;background:#f1f6f8;color:#405c69;font-size:14px;font-weight:900}
.number-discs-palette-wrap{padding:14px 20px;border-top:1px solid #e7eef0;background:#fbfdfd}
.number-discs-palette-wrap>strong{font-size:14px}
.number-discs-palette-wrap>span{margin-left:10px;color:#73848e;font-size:12px}
.number-discs-palette{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-top:13px}
.number-disc-source{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;min-height:105px;padding:9px 3px 5px;border:1px solid #d9e5e8;border-radius:12px;background:#fff;color:#34495b;touch-action:none;user-select:none}
.number-disc-source:hover{background:#f2f9f9;border-color:#8bafb8}
.number-disc-source>small{font-size:11px;color:#667b87}
.number-disc-stack{position:relative;display:grid;place-items:center;width:72px;height:73px}
.number-disc-stack::before,.number-disc-stack::after{content:"";position:absolute;left:50%;top:50%;width:61px;height:61px;border-radius:50%;border:2px solid var(--number-disc-border);background:var(--number-disc-color);transform:translate(-50%,-50%);box-shadow:0 2px 3px #24324624}
.number-disc-stack::before{transform:translate(calc(-50% + 4px),calc(-50% - 8px))}
.number-disc-stack::after{transform:translate(calc(-50% + 2px),calc(-50% - 4px))}
.number-disc-coin{position:relative;z-index:1;display:grid;place-items:center;width:70px;height:70px;border:2px solid var(--number-disc-border);border-radius:50%;background:var(--number-disc-color);color:#183345;box-shadow:inset 0 2px 3px #ffffffa8,inset 0 -4px 5px #00000013,0 3px 5px #2432462b;font-size:16px;font-weight:950;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;user-select:none}
.number-disc-coin[data-value="100000"]{font-size:13px}
.number-disc-coin[data-value="1000000"]{font-size:11.5px}
.number-discs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid #e7eef0;border-bottom:1px solid #e7eef0}
.number-discs-toolbar .drawing-tools{justify-content:flex-start}
.number-discs-toolbar .place-actions{display:flex;gap:6px;flex-wrap:wrap}
.number-discs-board{position:relative;min-height:580px;margin:16px 20px;overflow:hidden;border:1px solid #d9e6eb;border-radius:14px;background:#fff;touch-action:none}
.number-discs-board canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.number-discs-board canvas.is-select{pointer-events:none;cursor:default}
.number-discs-board canvas.is-eraser{cursor:cell}
.number-discs-layer{position:absolute;inset:0;z-index:2;pointer-events:none}
.number-disc-token{position:absolute;display:grid;place-items:center;width:76px;height:76px;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);touch-action:none;pointer-events:auto;cursor:grab}
.number-disc-token:active{cursor:grabbing}
.number-disc-token .number-disc-coin{width:74px;height:74px}
.number-disc-token.is-selected .number-disc-coin{outline:3px solid #e45f78;outline-offset:3px}
.number-discs-board.is-drawing .number-disc-token{pointer-events:none}
.number-discs-board.is-drawing .number-text-note{pointer-events:none}
.number-text-note{z-index:4}
.number-discs-hint{position:absolute;z-index:0;top:24px;left:25px;right:25px;color:#a7b6c1;font-size:14px;text-align:center;pointer-events:none}
.number-discs-hint[hidden]{display:none}
.number-discs-board.is-drawing .number-discs-hint{display:none}
.number-discs-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 20px 18px}
.number-discs-bottom>span{margin-right:auto;color:#82929c;font-size:11px}
.number-discs-return{min-height:38px;padding:8px 11px;border:1px dashed #e9a3b1;border-radius:9px;background:#fff8f9;color:#ad5367;font-size:12px;font-weight:800}
.number-discs-return.is-drop-target{background:#ffe3ea;border-color:#d85c75}
.number-disc-drag-ghost{position:fixed;z-index:1100;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 9px #24324645)}
@media(max-width:1100px){.number-discs-palette{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.number-discs-palette-wrap{padding:11px}.number-discs-palette-wrap>span{display:block;margin:3px 0 0}.number-discs-palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.number-disc-source{min-height:85px;padding:6px 2px}.number-disc-stack{width:61px;height:61px}.number-disc-stack::before,.number-disc-stack::after{width:53px;height:53px}.number-disc-source .number-disc-coin{width:60px;height:60px;font-size:14px}.number-disc-source .number-disc-coin[data-value="100000"]{font-size:11px}.number-disc-source .number-disc-coin[data-value="1000000"]{font-size:9.5px}.number-discs-toolbar{padding:10px 11px}.number-discs-toolbar .drawing-tools{width:100%}.number-discs-toolbar .place-actions{width:100%;justify-content:flex-end}.number-discs-board{min-height:620px;margin:11px}.number-discs-hint{font-size:12px}.number-discs-bottom{padding:0 11px 13px}.number-discs-bottom>span{width:100%}}
.tab-symbol--balance{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:8px;background:#eaf4f2;color:#2d8882;font-size:18px;font-weight:900}
.balance-count{flex:none;padding:8px 12px;border-radius:9px;background:#f1f6f8;color:#405c69;font-size:14px;font-weight:900}
.balance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:12px 19px;border-top:1px solid #e7eef0;border-bottom:1px solid #e7eef0;background:#f9fbfb}
.balance-source-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.balance-source-wrap>span{font-size:12px;color:#72858e}
.balance-source{display:flex;align-items:center;gap:8px;min-height:45px;padding:5px 10px;border:1px solid #d1dee3;border-radius:10px;background:#fff;color:#2e4858;touch-action:none;user-select:none}
.balance-source:hover,.balance-source.is-armed{border-color:#df7083;background:#fff4f6}
.balance-source strong{font-size:13px}
.balance-source-weight{display:block;width:28px;height:28px;border:2px solid #ae5369;border-radius:50%;background:radial-gradient(circle at 36% 28%,#ffe9ee,#e6748e 70%);box-shadow:inset 0 -3px 3px #9e456438,0 2px 3px #24324629}
.balance-stage-scroll{margin:17px 20px 0;overflow-x:auto;overflow-y:hidden;border:1px solid #dce8ea;border-radius:15px;background:linear-gradient(#fff,#fbfdfd)}
.balance-stage{min-width:1050px;max-width:1100px;margin:auto}
.balance-scroll-hint{display:none}
.balance-svg{display:block;width:100%;height:auto;touch-action:pan-x;user-select:none}
.balance-side-label{font:900 13px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.09em;fill:#91a0a9}
.balance-hook{cursor:pointer}
.balance-number{font:900 17px Inter,ui-sans-serif,system-ui,sans-serif;fill:#fff;pointer-events:none}
.balance-hook-stem,.balance-chain{stroke:#3b6470;stroke-width:2.5;stroke-linecap:round;pointer-events:none}
.balance-hook-ring{fill:#fff;stroke:#336d70;stroke-width:3;pointer-events:none}
.balance-hook:hover .balance-hook-ring{fill:#ffe1e8;stroke:#c05470}
.balance-weight{cursor:grab;touch-action:none}
.balance-weight:active{cursor:grabbing}
.balance-weight-disc{stroke-width:2.5;filter:drop-shadow(0 2px 2px #24324635)}
.balance-weight-disc--left{fill:#ef8298;stroke:#a74864}
.balance-weight-disc--right{fill:#67c4b9;stroke:#2a847f}
.balance-weight.is-selected .balance-weight-disc{stroke:#243246;stroke-width:4}
.balance-weight-shine{fill:#ffffffaa;pointer-events:none}
.balance-feedback{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;min-height:68px;padding:9px 20px;color:#314a5a;text-align:center}
.balance-feedback>strong{font-size:19px}
.balance-feedback>strong.is-balanced{color:#258666}
.balance-feedback>strong.is-left,.balance-feedback>strong.is-right{color:#b75870}
.balance-equation{width:100%;font-size:19px;font-weight:900;color:#243246;overflow-wrap:anywhere}
.balance-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 20px 18px;border-top:1px solid #e8eff1}
.balance-bottom>span{margin-right:auto;color:#82929c;font-size:12px}
.balance-return{min-height:38px;padding:8px 11px;border:1px dashed #e9a3b1;border-radius:9px;background:#fff8f9;color:#ad5367;font-size:12px;font-weight:800}
.balance-return.is-drop-target{background:#ffe3ea;border-color:#d85c75}
.balance-drag-ghost{position:fixed;z-index:1100;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 9px #24324645)}
.balance-drag-ghost .balance-source-weight{width:34px;height:34px}
@media(max-width:700px){.balance-toolbar{padding:10px 11px}.balance-source-wrap>span{width:100%}.balance-toolbar .place-actions{width:100%;justify-content:flex-end}.balance-stage-scroll{margin:11px 11px 0}.balance-scroll-hint{display:block;margin:5px 12px 0;color:#758a95;font-size:11px;text-align:center}.balance-feedback{padding:11px}.balance-feedback>strong{font-size:17px}.balance-bottom{padding:10px 11px 14px}.balance-bottom>span{width:100%}}

/* Tabla del 100 */
.tab-symbol--hundred{display:grid;place-items:center;flex:none;width:29px;height:29px;border:2px solid #f0b758;border-radius:7px;background:#fff6dd;color:#9d621e;font-size:11px;font-weight:950}
.hundred-position{flex:none;padding:9px 13px;border-radius:10px;background:#e8f7f3;color:#24766d;font-size:14px;font-weight:900;white-space:nowrap}
.hundred-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 19px;border-top:1px solid #e7eef0;border-bottom:1px solid #e7eef0;background:#f9fbfb}
.hundred-tools{display:flex;flex-wrap:wrap;gap:5px}
.hundred-tools .drawing-tool{gap:5px}
.hundred-colors{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 20px;border-bottom:1px solid #e7eef0}
.hundred-colors>span:first-child{margin-right:2px;color:#304758;font-size:12px;font-weight:900}
.hundred-color{display:grid;place-items:center;width:31px;height:31px;padding:0;border:2px solid transparent;border-radius:9px;background:transparent;cursor:pointer}
.hundred-color::before{content:"";display:block;width:20px;height:20px;border-radius:50%;background:var(--hundred-swatch);box-shadow:0 1px 3px #24324633}
.hundred-color[data-hundred-color="orange"]{--hundred-swatch:#f3a73b}
.hundred-color[data-hundred-color="violet"]{--hundred-swatch:#9979cc}
.hundred-color[data-hundred-color="coral"]{--hundred-swatch:#eb738e}
.hundred-color[data-hundred-color="teal"]{--hundred-swatch:#55b7ad}
.hundred-color[data-hundred-color="blue"]{--hundred-swatch:#64a9e5}
.hundred-color.is-active{border-color:#243246;background:#fff}
.hundred-color:focus-visible,.hundred-cell:focus-visible{outline:3px solid #1686ec;outline-offset:2px;z-index:2}
.hundred-colors-hint{margin-left:auto;color:#7b8d97;font-size:12px}
.hundred-workspace{padding:24px 22px 21px;background:#fff}
.hundred-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));width:min(100%,760px);margin:auto;border:2px solid #9aadb5;border-radius:11px;overflow:hidden;background:#9aadb5;gap:1px;touch-action:none;user-select:none}
.hundred-cell{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1/1;padding:0;border:0;background:#fff;color:#2b4252;font:850 clamp(12px,1.9vw,25px)/1 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;touch-action:none;user-select:none}
.hundred-cell:hover{background:#f2f9fa}
.hundred-cell.is-marked[data-color="orange"]{background:#ffe5a9}
.hundred-cell.is-marked[data-color="violet"]{background:#e4d9f8}
.hundred-cell.is-marked[data-color="coral"]{background:#fbd2dc}
.hundred-cell.is-marked[data-color="teal"]{background:#c8f1e9}
.hundred-cell.is-marked[data-color="blue"]{background:#d6ebfb}
.hundred-cell.is-covered{background:#506779;color:transparent}
.hundred-cell.is-covered .hundred-cell-number{visibility:hidden}
.hundred-cell.is-covered::before{content:"?";position:absolute;color:#fff;font-size:1.15em}
.hundred-token{position:absolute;z-index:1;top:5%;right:5%;width:31%;height:31%;border:2px solid #a2445d;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe1e9,#ed7190 68%);box-shadow:0 1px 4px #24324655;display:none;pointer-events:none}
.hundred-cell.has-token .hundred-token{display:block}
.hundred-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 20px 18px;border-top:1px solid #e7eef0}
.hundred-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hundred-steps>span{margin-right:4px;color:#516976;font-size:12px;font-weight:900}
.hundred-steps button{min-width:48px;min-height:38px;padding:6px 10px;border:1px solid #c9dce1;border-radius:8px;background:#fff;color:#274e61;font-size:14px;font-weight:900;cursor:pointer}
.hundred-steps button:not(:disabled):hover{border-color:#62b8ba;background:#e8f8f7}
.hundred-steps button:disabled{opacity:.4;cursor:default}
.hundred-hint{margin-left:auto;color:#80919b;font-size:12px}
@media(max-width:700px){.hundred-toolbar{padding:10px 11px}.hundred-toolbar .place-actions{width:100%;justify-content:flex-end}.hundred-colors{padding:8px 11px}.hundred-colors-hint{width:100%;margin-left:0}.hundred-workspace{padding:12px 10px}.hundred-grid{border-radius:7px}.hundred-cell{font-size:clamp(10px,3.1vw,17px)}.hundred-token{border-width:1px}.hundred-bottom{padding:11px}.hundred-hint{width:100%;margin-left:0}}

/* Tabla de multiplicar */
.tab-symbol--multiply{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:8px;background:#eee8fb;color:#8056b6;font-size:25px;font-weight:850;line-height:1}
.multiply-result{flex:none;min-width:145px;padding:10px 15px;border-radius:11px;background:#e9f7f4;color:#247c73;font-size:23px;font-weight:950;text-align:center;white-space:nowrap}
.multiply-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 19px;border-top:1px solid #e7eef0;border-bottom:1px solid #e7eef0;background:#f9fbfb}
.multiply-size,.multiply-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.multiply-size>span{margin-right:5px;color:#627888;font-size:12px;font-weight:900}
.multiply-size button{min-height:36px;padding:6px 10px;border:1px solid #d0dee2;border-radius:8px;background:#fff;color:#355163;font-size:12px;font-weight:800;cursor:pointer}
.multiply-size button.is-active{border-color:#69b9b2;background:#e8f7f3;color:#24766d}
.multiply-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.9fr);gap:18px;padding:19px;background:#fff}
.multiply-table-wrap,.multiply-model{min-width:0;border:1px solid #dbe7e9;border-radius:14px;background:#fff;overflow:hidden}
.multiply-table-head,.multiply-model-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;min-height:53px;padding:14px 16px;border-bottom:1px solid #e4ecef}
.multiply-table-head strong,.multiply-model-head strong{color:#263e50;font-size:14px}
.multiply-table-head span,.multiply-model-head span{color:#748996;font-size:11px}
.multiply-table-scroll{overflow-x:auto;padding:12px;scrollbar-color:#b6cbd1 #f1f6f7}
.multiply-grid{display:grid;grid-template-columns:repeat(var(--multiply-columns),minmax(0,1fr));width:100%;min-width:315px;gap:2px;border-radius:8px;overflow:hidden;background:#bbced2;user-select:none}
.multiply-grid.is-twelve{min-width:420px}
.multiply-scroll-hint{margin:0;padding:0 12px 10px;color:#728994;font-size:11px;text-align:center}
.multiply-header,.multiply-cell{display:grid;place-items:center;min-width:0;aspect-ratio:1/1;font-variant-numeric:tabular-nums}
.multiply-header{background:#eaf3f4;color:#365868;font-size:14px;font-weight:900}
.multiply-corner{background:#d7e9e9;color:#218b88;font-size:23px}
.multiply-header.is-highlighted{background:#fce0e7;color:#a74461}
.multiply-cell{padding:0;border:0;background:#fff;color:#2a4757;font:850 clamp(11px,1.2vw,19px)/1 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.multiply-cell:hover{background:#e8f8f4}
.multiply-cell.is-track{background:#f7f3fc}
.multiply-cell.is-selected{position:relative;z-index:1;background:#ee839d;color:#fff;box-shadow:inset 0 0 0 2px #a94c67;font-size:1.12em}
.multiply-cell.is-covered{color:#97aab3}
.multiply-cell.is-covered.is-selected{color:#fff}
.multiply-cell:focus-visible{outline:3px solid #1686ec;outline-offset:-3px;z-index:2}
.multiply-model{display:flex;flex-direction:column;background:#fbfdfd}
.multiply-factor-controls{display:flex;align-items:flex-end;justify-content:center;gap:14px;flex-wrap:wrap;padding:17px 10px 5px}
.multiply-factor{display:grid;justify-items:center;gap:6px}
.multiply-factor>span{font-size:12px;color:#607988;font-weight:900}
.multiply-factor>div{display:flex;align-items:center;gap:5px}
.multiply-factor button{width:31px;height:31px;padding:0;border:1px solid #cbdfe2;border-radius:8px;background:#fff;color:#307179;font-size:21px;font-weight:800;cursor:pointer}
.multiply-factor button:disabled{opacity:.35;cursor:default}
.multiply-factor strong{display:grid;place-items:center;min-width:32px;height:32px;color:#243f53;font-size:22px}
.multiply-times{padding-bottom:2px;color:#98a8b0;font-size:22px;font-weight:900}
.multiply-readings{display:grid;gap:5px;margin:17px 22px 0;padding:13px 16px;border:1px solid #dbe9eb;border-radius:12px;background:#fff;text-align:center}
.multiply-readings p{margin:0;color:#355363;font-size:17px;font-weight:800;line-height:1.35}
.multiply-readings p:last-child{color:#25887e;font-size:19px;font-weight:950}
.multiply-dots-wrap{display:flex;align-items:center;justify-content:center;flex:1;min-height:315px;padding:19px 10px}
.multiply-dots{display:grid;grid-template-columns:repeat(var(--dot-columns),26px);gap:7px;max-width:100%;align-content:center;justify-content:center}
.multiply-dot{display:block;width:26px;height:26px;border:2px solid #328e90;border-radius:50%;background:radial-gradient(circle at 35% 28%,#c3f3ea,#5ebeb5 72%);box-shadow:0 2px 3px #24324621}
.multiply-dot--1{border-color:#b66b3d;background:radial-gradient(circle at 35% 28%,#ffeac6,#f4a85b 72%)}
.multiply-dot--2{border-color:#865bb1;background:radial-gradient(circle at 35% 28%,#eee0ff,#b292d6 72%)}
.multiply-dot--3{border-color:#b45470;background:radial-gradient(circle at 35% 28%,#ffe0e9,#ee8da5 72%)}
.multiply-model-bottom{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:13px;border-top:1px solid #e4ecef}
.multiply-model-bottom #multiply-reveal{border-color:#5ab2a9;background:#e7f7f2;color:#267a70;font-weight:900}
.multiply-footnote{margin:0;padding:0 20px 19px;color:#708593;font-size:12px}
@media(max-width:1000px){.multiply-workspace{grid-template-columns:1fr}.multiply-dots-wrap{min-height:170px}}
@media(max-width:700px){.multiply-toolbar{padding:10px 11px}.multiply-actions{width:100%}.multiply-result{min-width:0;font-size:19px}.multiply-workspace{gap:11px;padding:11px}.multiply-table-scroll{padding:8px}.multiply-header{font-size:12px}.multiply-cell{font-size:12px}.multiply-dots{grid-template-columns:repeat(var(--dot-columns),22px);gap:5px}.multiply-dot{width:22px;height:22px}.multiply-dots-wrap{min-height:160px}.multiply-footnote{padding:0 12px 15px}}
@media(max-width:700px){.multiply-readings{margin:14px 11px 0;padding:11px}.multiply-readings p{font-size:15px}.multiply-readings p:last-child{font-size:17px}}
