:root{font-family:system-ui,sans-serif;color:#203656;background:#edf3fc;font-size:17px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea,summary{font:inherit}button,select,input:not([type=checkbox]):not([type=color]),summary,.file-label{min-height:44px}button,summary,.file-label{cursor:pointer}button{border:1px solid #a9b9d3;border-radius:10px;background:#fff;color:#203656;padding:9px 14px}button:hover{background:#e9e8ff}button[aria-pressed=true]{background:#4e40a0;color:#fff;border-color:#4e40a0}button:disabled{opacity:.45;cursor:default}a{color:#3f3a96}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #a45a10;outline-offset:3px}.skip{position:absolute;left:8px;top:-80px;background:#fff;padding:10px;z-index:9}.skip:focus{top:8px}.top{display:flex;gap:20px;align-items:center;padding:18px 24px;background:#fff;border-bottom:1px solid #cbd8ec}.top>a{font-size:.9rem}.top h1{margin:2px 0;font-size:1.55rem}.top strong{font-size:.7rem;letter-spacing:.12em;color:#6552a1}.top>div{flex:1}.file-menu{position:relative}.file-menu>div{position:absolute;right:0;width:min(380px,90vw);background:#fff;padding:18px;z-index:5;border:1px solid #b7c7df;box-shadow:0 8px 30px #243c6826;border-radius:15px;display:grid;gap:10px}.file-menu p{font-size:.8rem;line-height:1.5}.file-label{display:block;border:1px dashed #8a9abc;padding:8px;border-radius:8px}.file-label input{display:block;max-width:100%;font-size:.8rem}main{max-width:1400px;margin:auto;padding:15px 24px}.intro{margin:0 0 14px;color:#425a77}.toolbar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.toolbar button:last-child{margin-left:auto;background:#dfdaf8}.options{display:flex;flex-wrap:wrap;align-items:end;gap:15px;margin-bottom:14px;font-size:.85rem}.options label{display:grid;gap:4px}.options label:has([type=checkbox]){display:flex;align-items:center}.text-option{flex:1;min-width:220px}input,select,textarea{border:1px solid #a8bad3;border-radius:7px;padding:8px;color:#203656;background:#fff;max-width:100%}input[type=color]{padding:3px;width:60px;height:44px}label{line-height:1.4}#presentation{background:#f9fbff;border:1px solid #a9bedb;border-radius:16px;overflow:hidden}.pagebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;background:#f4f1ff}.pagebar label{display:flex;gap:6px;align-items:center;flex:1}.pagebar select{max-width:420px;flex:1}.stepbar{display:flex;gap:8px;align-items:center}.canvas-wrap{width:100%;background:#fff;overflow:hidden}canvas{display:block;width:100%;aspect-ratio:3/2;touch-action:none;background:#fff;cursor:crosshair}#page-resources{display:flex;flex-wrap:wrap;gap:8px;padding:10px}.resource-card{border:1px solid #bbc9df;border-radius:9px;background:#fff;padding:10px;max-width:420px}.resource-card strong{display:block;margin-bottom:6px}.resource-card a{display:inline-block;padding:10px 0}.page-details{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:16px}.page-details label{display:grid;gap:4px}.page-details label:has(textarea),.page-details details{grid-column:1/-1}.grid-choice{display:flex!important;align-items:center;gap:8px}.page-details details{padding:10px;background:#fff;border:1px solid #c6d3e5;border-radius:9px}#object-list{line-height:1.6}#status{font-weight:650;color:#3a3579}.help{font-size:.85rem;line-height:1.6;color:#536781}dialog{border:1px solid #9eafd2;border-radius:18px;max-width:850px;width:94vw;max-height:88vh;padding:22px;color:#203656}dialog::backdrop{background:#12284380}dialog header{display:flex;align-items:center;justify-content:space-between;gap:20px}dialog h2{margin:0}.resource-filters{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}.resource-filters label{display:grid;gap:4px}#resource-results{display:grid;gap:12px;margin-top:18px}#resource-results section{border-top:1px solid #ccd8e9;padding-top:10px}#resource-results button{margin:4px;text-align:left}.presenting .top,.presenting .intro,.presenting .toolbar,.presenting .options,.presenting .page-details,.presenting .help{display:none}.presenting main{max-width:none;padding:0}.presenting #presentation{border-radius:0;min-height:100vh}.presenting .pagebar [data-action=new-page]{display:none}.presenting .canvas-wrap{max-width:min(100vw,calc((100vh - 160px)*1.5));margin:auto}.presenting .end-present{display:block}.presenting #status{padding:0 15px}:fullscreen{background:#fff;overflow:auto;width:100vw;height:100vh}
@media(max-width:700px){:root{font-size:16px}.top{flex-wrap:wrap;padding:12px}.top>a{width:100%}.top>div{flex-basis:45%}main{padding:12px}.toolbar button{flex:1 1 26%}.toolbar button:last-child{margin-left:0;flex:1 1 100%}.pagebar{padding:8px;gap:5px}.pagebar label{order:-1;flex-basis:100%}.stepbar{margin-left:auto;font-size:.85rem}.pagebar button{padding:8px}.resource-filters{grid-template-columns:1fr 1fr}.resource-filters label:last-child{grid-column:1/-1}.page-details{grid-template-columns:1fr}.page-details>*{grid-column:1!important}.presenting .canvas-wrap{max-width:100vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff}body>*:not(#print-output){display:none!important}#print-output{display:block!important;color:#111;font-size:11pt}.printed-page{break-after:page}.printed-page:last-child{break-after:auto}.printed-page img{width:100%;max-height:155mm;object-fit:contain}.printed-page h1{font-size:18pt;margin:0}.printed-page h2{font-size:14pt}.printed-page p,.printed-page li{line-height:1.5}.printed-page a{color:#111;overflow-wrap:anywhere}}

.share-actions{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}.share-actions a{display:inline-flex;align-items:center;min-height:48px;padding:12px 18px;background:#5142a3;color:#fff;border-radius:12px;text-decoration:none;font-weight:750}#share-link{display:block;width:100%;margin-block:10px;padding:12px}#share-summary p{white-space:pre-wrap}#shared-copy{padding:14px;border-left:5px solid #6960b6;background:#f2efff}.options{flex-wrap:wrap}@media(max-width:600px){.options label:has(#connect-nodes),.options label:has(#element-step){display:none}}

/* Guided outline510: same tools and pointer handling, responsive forms. */
.top{flex-wrap:wrap;gap:12px}#organize-open510{background:#5142a3;color:#fff;font-weight:750}.teacher-help510{margin:0 0 16px;border:1px solid #c6d3e5;border-radius:12px;background:#fff;padding:10px 14px}.teacher-help510 p{line-height:1.55}.teacher-help510 small{display:block;color:#536781;margin:6px 0}.teacher-help510 li{margin:12px 0}.outline-fields510{display:grid;grid-template-columns:1fr 1fr;gap:14px}.outline-fields510 label{display:grid;gap:6px}.outline-wide510{grid-column:1/-1}.outline-aids510,.share-check510{border:1px solid #b9c8df;border-radius:10px;margin:18px 0;padding:14px}.outline-aids510 label,.share-check510 label{display:flex;gap:10px;align-items:start;margin:10px 0;line-height:1.5}.outline-aids510 input,.share-check510 input{margin-top:5px;min-width:20px;min-height:20px}.outline-actions510{display:flex;gap:12px;flex-wrap:wrap}.outline-actions510 button:first-child{background:#5142a3;color:#fff}.share-check510 p{font-size:.9rem}.outline-actions510 button{min-height:48px}#outline-error510{color:#873b22;font-weight:650}.presenting .teacher-help510{display:none}@media(max-width:600px){.outline-fields510{grid-template-columns:1fr}.outline-wide510{grid-column:1}.outline-actions510 button{width:100%}}

.present-ink510{display:none}.presenting .present-ink510{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#present-ink-tools510{display:flex;gap:6px;flex-wrap:wrap}.present-drawing510 canvas{cursor:crosshair}

.selection-panel516{margin:12px 0;padding:14px;border:2px solid #b9c9e3;background:#fff;border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.selection-panel516 p{flex-basis:100%;margin:2px 0;font-size:.9rem;line-height:1.5}.shared-print516{display:none}.shared-view516 :is(.toolbar,.options,.selection-panel516,.page-details,.file-menu,.teacher-help510,#organize-open510,#resources-open,#classroom-open,.present-ink510,[data-action=new-page]){display:none!important}.shared-view516 .shared-print516{display:inline-block}.shared-view516 canvas{cursor:default}.presenting .selection-panel516{display:none}@media(max-width:700px){.selection-panel516 button{flex:1 1 160px}}
