.maker-root{--maker-ink:#28264d;--maker-violet:#7558e8;color:var(--maker-ink);max-width:1240px;margin:auto;padding:4px 4px 32px}.maker-root button{min-height:48px;border-radius:16px;touch-action:manipulation}.maker-root button:active{transform:translateY(3px) scale(.98)}.maker-root button:focus-visible{outline:3px solid #28264d;outline-offset:3px}.maker-topbar,.maker-actions,.maker-section-title,.maker-savebar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.maker-topbar{margin:12px 0 20px}.maker-topbar h2{font-size:clamp(23px,3vw,34px);margin:0}.maker-topbar p{margin:6px 0;color:#65617d}.maker-tabs{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.maker-tabs [aria-pressed=true]{background:#ece6ff;border-color:#7558e8;color:#493192;box-shadow:0 4px 0 #c9b8f5}.maker-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.maker-project-card{background:#fff;border:2px solid #eee8fa;box-shadow:0 6px 0 #e2dcef;border-radius:24px!important;padding:20px;text-align:left;display:flex;flex-direction:column;gap:8px;color:#28264d;overflow:hidden;min-height:230px}.maker-project-card>strong{font-size:22px;line-height:1.3;overflow-wrap:anywhere}.maker-project-card>span:not(.maker-project-picture):not(.maker-status),.maker-project-card small{color:#615d77}.maker-project-picture{height:88px;display:flex;align-items:center;justify-content:center;gap:18px;background:#f2edff;border-radius:18px;margin-bottom:8px}.maker-project-picture>span{font-size:70px;line-height:1;color:#7558e8}.maker-project-picture i{width:38px;height:38px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 0 #0002;font-style:normal}.maker-project-picture b{background:#fff;padding:10px 15px;border-radius:12px;transform:rotate(10deg);box-shadow:0 5px 0 #0002}.maker-status{font-size:13px;font-weight:800;padding:6px 11px;border-radius:12px;width:max-content;background:#f0edf5;color:#5d5676}.maker-status.status-testing{background:#e1f7ef;color:#1b7458}.maker-status.status-revision{background:#fff0d8;color:#865300}.maker-status.status-submitted{background:#e2edff;color:#285f9b}.maker-status.status-approved{background:#eee5ff;color:#653bb1}.maker-empty{padding:32px;background:#fff;border:2px dashed #d5c8ef;border-radius:24px;grid-column:1/-1;text-align:center}.maker-empty>span{font-size:64px;color:#7558e8}.maker-journey{display:flex;gap:6px;padding:12px;background:#f1edf8;border-radius:18px;flex-wrap:wrap}.maker-journey span{flex:1;padding:10px 12px;border-radius:12px;white-space:nowrap;font-size:14px;font-weight:700}.maker-journey span.active{background:#fff;color:#6042bf;box-shadow:0 3px 0 #d8cdec}.maker-edit-form,.maker-read,.maker-feedback,.maker-history,.maker-test-list,.maker-export-note{background:#fff;border:1px solid #e8e1f1;border-radius:22px;padding:24px;margin:18px 0}.maker-rule-fields{max-width:780px;margin:auto}.maker-field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;font-size:15px;font-weight:750}.maker-field textarea,.maker-field input{font-weight:500}.maker-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.maker-field-row .maker-field{min-width:0}.maker-field .input,.maker-card .input{width:100%;font-size:16px;min-height:48px;border-radius:12px}.maker-section-title{margin-bottom:16px}.maker-section-title h3{margin:0}.maker-piece-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin-bottom:24px}.maker-card{border:2px solid var(--piece-color);border-top-width:10px;padding:15px;border-radius:16px;background:#fff;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:12px}.maker-card>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.maker-card strong{font-size:18px}.maker-card p{margin:0;white-space:pre-wrap}.maker-color{max-width:110px;min-height:42px;border:1px solid #d9d1e7;border-radius:10px;background:#f9f7fd;padding:8px;color:#3f3a59}.maker-token-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.maker-token-list article{display:flex;align-items:center;gap:8px;background:#f7f4fc;border-radius:16px;padding:12px}.maker-token-list article>i{width:32px;height:32px;border-radius:50%;flex-shrink:0;box-shadow:0 4px 0 #0002}.maker-token-list .input{min-width:50px;width:100%;font-size:16px}.maker-hint{color:#65617d;font-size:14px}.maker-board-scroll{overflow:auto;padding:6px 4px 14px}.maker-board{display:grid;grid-template-columns:repeat(var(--maker-cols),minmax(56px,1fr));gap:5px;min-width:calc(var(--maker-cols)*61px);padding:8px;border-radius:18px;background:#e8e3f2}.maker-root .maker-cell{min-height:72px;border:1px solid #d1cadf;border-radius:10px;color:#242042;font-size:14px;font-weight:750;padding:6px;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;box-shadow:0 3px 0 #c9c2d8}.maker-root .maker-cell:disabled{opacity:1;color:#3a3651}.maker-cell-tokens{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.maker-cell-tokens i{width:28px;height:28px;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 0 #0003;font-style:normal;color:#171529}.maker-savebar{border-top:1px solid #e8e1f1;margin-top:24px;padding-top:18px}.maker-save-status{font-size:14px;color:#615b76}.maker-next-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.maker-next-actions .primary{box-shadow:0 5px 0 #c9b9ee}.maker-read p{white-space:pre-wrap;overflow-wrap:anywhere}.maker-teacher-note{background:#fff3d9;padding:16px 20px;border-radius:18px;margin-top:20px;border:1px solid #edcf92}.maker-teacher-note p{margin:7px 0 0;white-space:pre-wrap}.maker-feedback article,.maker-history article{padding:14px;background:#f7f4fc;border-radius:14px;margin:12px 0}.maker-feedback article>span{font-size:12px;margin-left:10px;color:#68617c}.maker-feedback p{white-space:pre-wrap;overflow-wrap:anywhere}.maker-history summary,.maker-export-note summary,.maker-sandbox-rules summary{font-weight:800;cursor:pointer;min-height:40px;display:flex;align-items:center}.maker-history li{padding:6px 0}.maker-history small{color:#6b647d}.maker-test-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;background:#f4f0fb;padding:14px;border-radius:16px}.maker-test-list span{display:flex;flex-direction:column;gap:5px}.maker-storage-note,.maker-sandbox-notice{font-size:13px;line-height:1.6;color:#706980}.maker-sandbox-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:24px;margin-top:18px}.maker-sandbox-sidebar{background:#fff;border-radius:22px;padding:20px;border:1px solid #e8e1f1}.maker-sandbox-sidebar .maker-card{margin:14px 0}.maker-token-picker{display:flex;gap:8px;flex-wrap:wrap}.maker-token-picker button{display:flex;align-items:center;gap:9px}.maker-token-picker i{width:22px;height:22px;border-radius:50%}.maker-token-picker [aria-pressed=true]{outline:3px solid #7558e8}.maker-score-row{display:flex;gap:8px;align-items:center;border-bottom:1px solid #ede7f4;padding:10px 0}.maker-score-row>span{flex:1;overflow-wrap:anywhere}.maker-score-row .secondary{padding:5px 12px;min-width:42px}.maker-sandbox-sidebar>.primary{width:100%;margin-top:14px}.maker-check{display:flex;gap:10px;align-items:center;margin:16px 0}.maker-check input{width:22px;height:22px}.maker-inline-empty{grid-column:1/-1;color:#6b647d}.maker-export-note p{font-size:14px;line-height:1.7}@media(max-width:700px){.maker-topbar{gap:12px}.maker-actions{gap:8px}.maker-actions button{font-size:13px;padding:10px 14px}.maker-project-grid{grid-template-columns:1fr 1fr;gap:12px}.maker-project-card{padding:14px;min-height:215px}.maker-project-card>strong{font-size:19px}.maker-project-picture{height:74px;gap:10px}.maker-project-picture>span{font-size:53px}.maker-project-picture b{padding:7px 10px}.maker-project-card small{font-size:11px}.maker-edit-form,.maker-read,.maker-feedback,.maker-history,.maker-test-list,.maker-export-note{padding:18px 14px}.maker-journey span{font-size:12px;padding:8px 5px}.maker-tabs{gap:6px}.maker-tabs button{font-size:13px;padding:9px 12px}.maker-sandbox-layout{grid-template-columns:1fr}.maker-token-list{grid-template-columns:1fr}.maker-savebar .primary{width:100%}.maker-piece-grid{grid-template-columns:1fr 1fr;gap:10px}.maker-card{padding:10px}.maker-card .input{font-size:15px}.maker-token-list .input{font-size:16px}.maker-next-actions .primary{width:100%}}@media(prefers-reduced-motion:reduce){.maker-root button:active{transform:none}}
/* Student workspaces share the menu palette; authored board and piece colours stay intact. */
body[data-role="student"] .maker-root { --maker-ink: #243d35; --maker-violet: #667b42; color: #243d35; }
body[data-role="student"] .maker-root :is(h2, h3, .maker-project-card > strong) {
  font-family: var(--classroom-display-font, "Meomut Jua", sans-serif);
  font-weight: 400;
  line-height: 1.35;
}
body[data-role="student"] .maker-root :is(.maker-topbar p, .maker-hint, .maker-save-status, .maker-storage-note, .maker-sandbox-notice, .maker-project-card small, .maker-project-card > span:not(.maker-project-picture):not(.maker-status), .maker-history small, .maker-inline-empty) { color: #66766d; }
body[data-role="student"] .maker-tabs [aria-pressed="true"] { border-color: #b4cc5b; background: #d2eb67; color: #243d35; box-shadow: 0 3px 0 #b4cc5b; }
body[data-role="student"] .maker-project-card {
  border: 1px solid #d2dcd3;
  background: #fffdf7;
  color: #243d35;
  box-shadow: 0 4px 0 #e2e8db;
}
body[data-role="student"] .maker-project-picture { height: 120px; width: 100%; background: #eef4e6; }
body[data-role="student"] .maker-project-picture > img { display: block; width: 110px; height: 110px; max-width: 100%; object-fit: contain; }
body[data-role="student"] .maker-empty { border: 1px solid #d2dcd3; background: #fffdf7; box-shadow: 0 4px 0 #e2e8db; }
body[data-role="student"] .maker-empty-art { display: block; width: 180px; height: 180px; max-width: 100%; object-fit: contain; margin: 0 auto 16px; }
body[data-role="student"] .maker-empty h3 { margin: 0 auto 18px; max-width: 420px; }
body[data-role="student"] .maker-status { color: #42553c; background: #eef4e6; }
body[data-role="student"] .maker-status.status-testing { background: #e4f2e9; color: #315e46; }
body[data-role="student"] .maker-status.status-revision { background: #f9edb3; color: #654f23; }
body[data-role="student"] .maker-status.status-submitted { background: #daedf6; color: #345d70; }
body[data-role="student"] .maker-status.status-approved { background: #f4dce7; color: #67465b; }
body[data-role="student"] .maker-journey { background: #eef4e6; }
body[data-role="student"] .maker-journey span { white-space: normal; min-width: 110px; line-height: 1.5; }
body[data-role="student"] .maker-journey span.active { background: #fffdf7; color: #243d35; box-shadow: 0 2px 0 #d2dcd3; }
body[data-role="student"] :is(.maker-edit-form, .maker-read, .maker-feedback, .maker-history, .maker-test-list, .maker-export-note, .maker-sandbox-sidebar) { border-color: #d2dcd3; background: #fff; }
body[data-role="student"] .maker-color { border-color: #bdc9ba; background: #fffdf7; color: #243d35; min-height: 48px; }
body[data-role="student"] :is(.maker-token-list article, .maker-feedback article, .maker-history article, .maker-test-list > div) { background: #f8f9f5; }
body[data-role="student"] .maker-board { background: #edf1e7; }
body[data-role="student"] .maker-root .maker-cell { border-color: #c5d0bc; color: #243d35; box-shadow: 0 2px 0 #d2dcd3; }
body[data-role="student"] .maker-root .maker-cell:disabled { color: #243d35; }
body[data-role="student"] .maker-savebar { border-color: #d2dcd3; }
body[data-role="student"] .maker-next-actions .primary { box-shadow: 0 4px 0 #b4cc5b; }
body[data-role="student"] .maker-teacher-note { background: #f9edb3; border-color: #dfd39c; }
body[data-role="student"] .maker-feedback article > span { color: #66766d; }
body[data-role="student"] .maker-token-picker [aria-pressed="true"] { outline-color: #667b42; }
body[data-role="student"] .maker-score-row { border-color: #d2dcd3; }
body[data-role="student"] .maker-root button:focus-visible { outline-color: #243d35; }
body[data-role="student"] .maker-root button:active { transform: translateY(2px); }
@media (max-width: 700px) {
  body[data-role="student"] .maker-project-picture { height: 100px; }
  body[data-role="student"] .maker-project-picture > img { width: 90px; height: 90px; }
  body[data-role="student"] .maker-journey span { min-width: 110px; }
}
html[data-color-mode="contrast"] body[data-role="student"] .maker-root { --maker-ink: #111; --maker-violet: #111; color: #111; }
html[data-color-mode="contrast"] body[data-role="student"] :is(.maker-project-card, .maker-project-picture, .maker-empty, .maker-status, .maker-journey, .maker-journey span.active, .maker-edit-form, .maker-read, .maker-feedback, .maker-history, .maker-test-list, .maker-export-note, .maker-sandbox-sidebar, .maker-color, .maker-token-list article, .maker-feedback article, .maker-history article, .maker-test-list > div, .maker-board, .maker-teacher-note) { border-color: #111; background: #fff; color: #111; box-shadow: none; }
html[data-color-mode="contrast"] body[data-role="student"] .maker-root :is(.maker-topbar p, .maker-hint, .maker-save-status, .maker-storage-note, .maker-sandbox-notice, .maker-project-card small, .maker-project-card > span:not(.maker-project-picture):not(.maker-status), .maker-history small, .maker-feedback article > span, .maker-inline-empty) { color: #111; }
html[data-color-mode="contrast"] body[data-role="student"] .maker-tabs [aria-pressed="true"] { outline: 3px solid #111; outline-offset: 2px; background: #fff; color: #111; box-shadow: none; }
html[data-color-mode="contrast"] body[data-role="student"] .maker-token-picker [aria-pressed="true"] { outline-color: #111; }
html[data-reduced-motion="true"] body[data-role="student"] .maker-root button:active { transform: none; }
@media (prefers-reduced-motion: reduce) {
  body[data-role="student"] .maker-root button:active { transform: none; }
}
/* Large, visual blocks work for teachers and learners alike. */
.maker-block-workshop{margin:0 auto 28px;max-width:1000px}.maker-rule-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:20px}.maker-rule-block{position:relative;padding:24px;border:2px solid #cddbb4;border-radius:28px;background:#f1f7e4;box-shadow:0 7px 0 #d9e5c5}.maker-rule-block>span{font-size:52px;display:block;margin-bottom:10px}.maker-rule-block h4{font-size:22px;line-height:1.3;margin:8px 0 18px}.maker-rule-block label{display:flex;flex-direction:column;gap:9px;font-size:17px;font-weight:700;margin:14px 0}.maker-rule-block p{font-size:16px;line-height:1.6}.maker-rule-block .maker-block-check{flex-direction:row;align-items:center;gap:12px;cursor:pointer}.maker-block-check input{width:26px;height:26px;accent-color:#31594c;flex-shrink:0}.maker-rule-block.draw{background:#e5f2fc;border-color:#b5d8ee;box-shadow:0 7px 0 #c8e0ee}.maker-rule-block.play{background:#fff0d0;border-color:#eed496;box-shadow:0 7px 0 #eedfb9}.maker-rule-block.dice{background:#f4eafb;border-color:#d9c3eb;box-shadow:0 7px 0 #e0d2ed}.maker-rule-block.win{background:#ffece8;border-color:#ecc4b9;box-shadow:0 7px 0 #eed5cc}.maker-rule-block .input{min-height:52px;font-size:19px}.maker-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.maker-template{display:flex;flex-direction:column;align-items:center;gap:12px;border:2px solid #d1dbc7;border-radius:22px;padding:20px 12px;background:#f3f8e9;cursor:pointer}.maker-template:has(input:checked){border-color:#31594c;background:#d8ebad;box-shadow:0 5px 0 #b4c78d}.maker-template span{font-size:48px}.maker-template input{width:22px;height:22px}.maker-rule-player{height:88vh;min-height:620px;width:100%;border:0;border-radius:24px}.maker-piece-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.maker-tabs button{font-size:17px;min-height:58px;padding:16px 24px}.maker-root .maker-card>svg{height:150px;width:100%;background:#fff8eb;border-radius:18px}.maker-root .maker-card{padding:20px;gap:15px}.maker-rule-block input:focus-visible,.maker-template input:focus-visible{outline:3px solid #31594c;outline-offset:4px}@media(max-width:620px){.maker-rule-blocks{grid-template-columns:1fr}.maker-template-grid{grid-template-columns:1fr}.maker-template{flex-direction:row;justify-content:flex-start}.maker-template span{font-size:40px}.maker-piece-grid{grid-template-columns:1fr}.maker-tabs button{flex:1;font-size:16px;padding:12px}.maker-rule-player{height:85vh;min-height:600px}}
.course-quick-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.course-quick-steps button{display:flex;flex-direction:column;align-items:center;gap:10px;background:#f2f7e6;border:2px solid #d1dbc7;border-radius:20px;padding:18px 12px;min-height:120px}.course-quick-steps span{font-size:42px}.course-quick-steps [aria-pressed=true]{border-color:#31594c;background:#d8ebad}.maker-model-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.maker-model-choice{display:flex;flex-direction:column;align-items:center;border:2px solid #d1dbc7;border-radius:22px;padding:12px;background:#fff;gap:9px}.maker-model-choice img{width:100%;height:auto;border-radius:18px}.maker-model-choice b{font-size:18px}.maker-model-choice small{color:#64715d}.maker-model-choice:hover{background:#eff6d9;border-color:#31594c}.maker-token-list article{flex-wrap:wrap}.maker-token-list article .input{flex:1;min-width:100px}@media(max-width:620px){.course-quick-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.maker-model-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.maker-lobby{padding:28px;border:2px solid #cbdab5;background:#f2f8e9;border-radius:28px;text-align:center;margin:18px 0}.maker-lobby h3{font-size:28px;margin:0 0 12px}.maker-lobby-friends{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:22px 0}.maker-lobby-friends span{padding:16px 20px;font-size:20px;background:white;border-radius:20px;border:1px solid #d0ddc3}.maker-lobby .primary{font-size:20px;min-height:60px;padding:16px 30px}

.maker-book{background:#fffaf0;border:1px solid #dce5cf;border-radius:24px;padding:24px;margin:16px 0}.maker-book-art{float:right;max-width:35%;height:auto;object-fit:contain}.maker-node-toolbar{display:flex;flex-wrap:wrap;gap:10px;clear:both;padding:16px 0}.maker-node-toolbar b{width:100%}.maker-node-toolbar button{min-height:52px;border:2px solid #b8d1ad;border-radius:16px;background:#edf5e7;color:#244c35;padding:10px 15px;font-weight:700}.maker-node-canvas{background:radial-gradient(#b7c6b5 1px,transparent 1px) 0 0/18px 18px,#f2f6ef;border:2px dashed #9ab493;border-radius:22px;min-height:160px;padding:20px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px}.maker-node{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:310px;min-width:230px;padding:18px;background:#dcead0;border:2px solid #79a06b;border-radius:18px;box-shadow:0 4px 0 #b2c5a9}.maker-node strong,.maker-node small{grid-column:1/-1}.maker-node input,.maker-node select{grid-column:1/-1;min-height:44px;max-width:100%;border-radius:10px;border:1px solid #95ae88;padding:8px}.maker-node button{min-height:42px;border:0;border-radius:10px;background:white}.maker-book-results{margin-top:16px;background:white;border-radius:16px;padding:18px}.book-error{border-left:4px solid #c04e53;padding-left:12px}.book-warning{border-left:4px solid #d1a14a;padding-left:12px}@media(max-width:600px){.maker-book{padding:16px}.maker-node{max-width:100%;width:100%;min-width:0}.maker-book-art{float:none;max-width:100%;display:block;margin:auto}}

.maker-section-art{width:100%;max-width:480px;height:auto;max-height:240px;object-fit:contain;display:block;margin:0 auto 20px;border-radius:20px}.course-banner-art{max-width:180px;height:auto;object-fit:contain;border-radius:18px}.maker-project-picture img,.maker-empty-art{object-fit:contain!important}.maker-model-gallery img,.maker-token-list img{object-fit:contain!important}@media(max-width:600px){.course-banner-art{max-width:110px}}
.maker-program{padding:20px;background:#f3f7ee;border:2px solid #31594c;border-radius:24px;margin:20px 0}.maker-program summary{font-size:22px;padding:16px;cursor:pointer}.maker-program-node{padding:16px;border:3px solid #31594c;border-radius:20px;background:#fff8e9;margin:12px 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.maker-program-node strong{font-size:22px}.maker-program-node.kind-if{background:#f8e8cc}.maker-program-node.kind-repeat{background:#e3e8fb}.maker-program-node.kind-variable{background:#e8dcf5}.maker-program-children{width:100%;border-left:8px solid #31594c;padding:8px 12px;background:#fff9}.program-add{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.maker-program button,.maker-program input,.maker-program select,.maker-media button,.maker-media select{min-height:48px;font-size:18px}.maker-program input{width:95px}.maker-media{padding:20px;border:2px solid #31594c;border-radius:24px;background:#fffaf1;margin:20px 0}.maker-media label{display:inline-flex;padding:12px;flex-direction:column;gap:10px}.maker-media input[type=file]{max-width:260px}.maker-media>div{padding:12px;display:flex;flex-wrap:wrap;gap:12px}.maker-ai-tools{margin:16px 0}.maker-savebar{flex-wrap:wrap}
