.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, "Ddanjit 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; }
}
