.tutorial-dialog{width:min(960px,calc(100vw - 32px));max-width:960px;max-height:calc(100dvh - 40px);box-sizing:border-box;margin:auto;padding:28px;border:1px solid #cbd5e1;border-radius:18px;background:#fff;color:#24334b;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #10264838;font-family:inherit}
.tutorial-dialog::backdrop{background:#12233d99}
.tutorial-dialog *{box-sizing:border-box}
.tutorial-dialog .tutorial-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tutorial-badge{display:inline-flex;align-items:center;padding:6px 10px;background:#e8f1ff;color:#2359a0;border-radius:7px;font-size:.82rem;font-weight:750}
.tutorial-dialog .tutorial-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#314663;font:inherit;font-size:.86rem;font-weight:650;line-height:1.5;cursor:pointer;text-decoration:none}
.tutorial-dialog .tutorial-button:hover:not(:disabled){background:#f1f5fc;border-color:#8baad0}
.tutorial-dialog .tutorial-button:disabled{opacity:.5;cursor:default}
.tutorial-dialog .tutorial-primary{background:#2864be;color:white;border-color:#2864be}
.tutorial-dialog .tutorial-primary:hover:not(:disabled){background:#1b4f9c;color:white;border-color:#1b4f9c}
.tutorial-dialog :focus-visible{outline:3px solid #3174d5;outline-offset:3px}
.tutorial-dialog #tutorial-title:focus{outline:none}
.tutorial-dialog .tutorial-isolation{margin:12px 0 20px;font-size:.85rem;line-height:1.8;color:#526780}
.tutorial-dialog .tutorial-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0 0 22px;padding:0;list-style:none}
.tutorial-dialog .tutorial-steps li{display:flex;min-width:0}
.tutorial-dialog .tutorial-steps button{display:flex;flex:1;gap:6px;align-items:center;justify-content:center;min-height:44px;padding:9px 5px;border:0;border-radius:7px;background:#f1f4f8;color:#596b83;font:inherit;font-size:.75rem;line-height:1.5;word-break:keep-all;overflow-wrap:break-word;cursor:pointer}
.tutorial-dialog .tutorial-steps button:hover:not(:disabled){background:#dfe9f9}
.tutorial-dialog .tutorial-steps button:disabled{cursor:default;color:#7c8b9d}
.tutorial-dialog .tutorial-steps button[aria-current=step]{background:#e8f0fd;color:#245caa;font-weight:750;box-shadow:inset 0 -3px #3677d0}
.tutorial-dialog .tutorial-steps span{font-variant-numeric:tabular-nums}
.tutorial-dialog .tutorial-step-help{margin:-10px 0 18px;color:#62748e;font-size:.78rem;line-height:1.7;word-break:keep-all}
.tutorial-dialog h2{margin:0 0 12px;font-size:1.45rem;line-height:1.5;color:#1e3658}
.tutorial-dialog .tutorial-content>p{margin:0 0 16px;line-height:1.85;font-size:.92rem}
.tutorial-dialog .tutorial-note{margin:18px 0;padding:15px 17px;border:1px solid #d9e3f1;border-radius:9px;background:#f4f7fc;color:#3b5474;font-size:.87rem;line-height:1.85}
.tutorial-dialog .tutorial-note p{margin:5px 0 0;line-height:1.85}
.tutorial-dialog .tutorial-table-wrap{overflow:auto;border:1px solid #dbe3ee;border-radius:9px}
.tutorial-dialog table{width:100%;border-collapse:collapse;font-size:.84rem;white-space:nowrap}
.tutorial-dialog caption{padding:11px 14px;text-align:left;color:#526780;background:#f8faff;font-size:.79rem}
.tutorial-dialog th,.tutorial-dialog td{padding:9px 13px;text-align:left;border-bottom:1px solid #e7edf5;line-height:1.55}
.tutorial-dialog th{background:#f1f5fb;color:#3d5574;font-weight:650}
.tutorial-dialog tbody tr:last-child td{border-bottom:0}
.tutorial-dialog .tutorial-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.tutorial-dialog .tutorial-class{min-width:0;padding:13px;background:#f6f8fc;border:1px solid #dae3f0;border-radius:10px}
.tutorial-dialog .tutorial-class h3{margin:0;font-size:.97rem;color:#2e4d79}
.tutorial-dialog .tutorial-class-count{margin:5px 0 12px;font-size:.78rem;color:#62748e}
.tutorial-dialog .tutorial-class ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.tutorial-dialog .tutorial-student{padding:10px;border:1px solid #e0e6ef;border-radius:7px;background:#fff;color:#2f4565;overflow-wrap:anywhere}
.tutorial-dialog .tutorial-student>span{display:flex;gap:8px;align-items:center;justify-content:space-between}
.tutorial-dialog .tutorial-student strong{font-size:.84rem;font-weight:650}
.tutorial-dialog .tutorial-student small{display:block;margin-top:4px;font-size:.73rem;line-height:1.6;color:#66778e}
.tutorial-dialog .tutorial-gender{font-size:.73rem;color:#61758f}
.tutorial-dialog .tutorial-highlighted{border:2px solid #db8c1c;background:#fff8e7;padding:9px}
.tutorial-dialog .tutorial-highlighted small{color:#79551f}
.tutorial-dialog .tutorial-empty{font-size:.83rem;color:#77869b;padding:10px 0}
.tutorial-dialog .tutorial-warnings{display:grid;gap:7px}
.tutorial-dialog .tutorial-warning{display:block;width:100%;padding:12px 14px;border:1px solid #edcf9b;border-radius:8px;background:#fffbf2;text-align:left;cursor:pointer;color:#71521f;font:inherit}
.tutorial-dialog .tutorial-warning:hover{background:#fff2d8}
.tutorial-dialog .tutorial-warning strong{display:block;font-size:.85rem}
.tutorial-dialog .tutorial-warning span{display:block;margin-top:4px;font-size:.77rem;line-height:1.7}
.tutorial-dialog .tutorial-controls{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;padding:16px;border:1px solid #dae3f0;border-radius:10px;background:#f6f8fc}
.tutorial-dialog .tutorial-controls label,.tutorial-dialog .tutorial-preview-label{display:block;min-width:0;color:#435976;font-size:.83rem;line-height:1.7}
.tutorial-dialog .tutorial-controls select{display:block;width:100%;min-width:0;min-height:42px;margin:6px 0 0;padding:8px 10px;border:1px solid #bccbdd;border-radius:7px;background:#fff;color:#263d5c;font:inherit;font-size:.82rem}
.tutorial-dialog .tutorial-actions{display:flex;gap:8px;flex-wrap:wrap}
.tutorial-dialog .tutorial-placeholder{margin:20px 0;padding:36px 20px;border:1px dashed #bccddd;border-radius:10px;text-align:center;color:#687d98;font-size:.88rem;line-height:1.8;background:#fafcff}
.tutorial-dialog .tutorial-status{min-height:1.7em;margin:16px 0;font-size:.86rem;line-height:1.7;color:#2a5d9e}
.tutorial-dialog .tutorial-preview-label{margin-top:16px}
.tutorial-dialog .tutorial-preview{display:block;width:100%;height:220px;min-height:150px;margin-top:8px;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#354b69;font-family:ui-monospace,monospace;font-size:.75rem;line-height:1.65;resize:vertical}
.tutorial-dialog .tutorial-complete{font-size:.86rem;line-height:1.8;color:#386650}
.tutorial-dialog .tutorial-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid #e1e8f1}
.tutorial-dialog .tutorial-footer>div{display:flex;gap:8px}
@media(max-width:720px){.tutorial-dialog{padding:20px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.tutorial-dialog .tutorial-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.tutorial-dialog .tutorial-board{gap:8px}.tutorial-dialog .tutorial-class{padding:9px}.tutorial-dialog .tutorial-student{padding:8px}.tutorial-dialog .tutorial-highlighted{padding:7px}.tutorial-dialog .tutorial-student>span{align-items:flex-start;gap:3px;flex-wrap:wrap}.tutorial-dialog .tutorial-controls{grid-template-columns:1fr 1fr}.tutorial-dialog .tutorial-controls>.tutorial-button{grid-column:1/-1}.tutorial-dialog .tutorial-footer{flex-wrap:wrap}.tutorial-dialog .tutorial-footer>div{margin-left:auto}}
@media(max-width:480px){.tutorial-dialog{padding:16px}.tutorial-dialog h2{font-size:1.2rem}.tutorial-dialog .tutorial-board{grid-template-columns:1fr}.tutorial-dialog .tutorial-class ul{grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-dialog .tutorial-controls{grid-template-columns:1fr}.tutorial-dialog .tutorial-footer{align-items:stretch}.tutorial-dialog .tutorial-footer>.tutorial-button,.tutorial-dialog .tutorial-footer>div{width:100%}.tutorial-dialog .tutorial-footer>div>.tutorial-button{flex:1}.tutorial-dialog .tutorial-steps li{font-size:.71rem}.tutorial-dialog .tutorial-button{min-height:44px}}
.tutorial-dialog .tutorial-drag-board{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:230px;align-items:start;overflow-x:auto;padding-bottom:12px}
.tutorial-dialog .tutorial-drag-board .tutorial-class{min-height:360px}
.tutorial-dialog .tutorial-drag-board .tutorial-class ul{grid-template-columns:1fr;min-height:50px}
.tutorial-dialog .tutorial-drag-board .tutorial-student{cursor:grab;user-select:none}
.tutorial-dialog .tutorial-dragging{opacity:.45}
.tutorial-dialog .tutorial-drop-target{outline:2px solid #3677d0;outline-offset:-2px;background:#edf3ff}
.tutorial-dialog .tutorial-drop-after{position:relative}
.tutorial-dialog .tutorial-drop-after::after{content:"";position:absolute;left:-2px;right:-2px;bottom:-6px;height:3px;border-radius:2px;background:#2864be}
.tutorial-dialog .tutorial-drop-empty{border-top:3px solid #2864be}
.tutorial-dialog .tutorial-drag-actions{margin-top:12px}
