@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-normal-DzyfIafT.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-normal-BWSLJLk6.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-normal-C9H9m1vD.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-normal-C1uRvKPU.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-BqRLTx4X.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.map-list-view{width:100%;color:var(--ink,#0b0b0b);background:var(--surface,#fff);border-top:1px solid var(--ink,#0b0b0b);border-bottom:1px solid var(--line,#d9d9d9)}.map-list-view__header{justify-content:space-between;align-items:start;gap:24px;padding:22px 20px;display:flex}.map-list-view__header h2,.map-list-view__group h3{font-family:var(--body,"Source Sans 3 Variable", sans-serif);margin:0}.map-list-view__header h2{font-size:22px;font-weight:750;line-height:1.25}.map-list-view__header p{max-width:680px;color:var(--muted,#5f6368);margin:5px 0 0;font-size:14px;line-height:1.5}.map-list-view__count{color:var(--muted,#5f6368);flex:none;padding-top:4px;font-size:14px;font-weight:700}.map-list-view__group{border-top:1px solid var(--line,#d9d9d9)}.map-list-view__group h3{color:var(--teal,#0b5d5b);padding:14px 20px 11px;font-size:16px;font-weight:750;line-height:1.35}.map-list-view__records{margin:0;padding:0;list-style:none}.map-list-record{border-top:1px solid var(--line,#d9d9d9)}.map-list-record__button{background:var(--surface,#fff);width:100%;min-height:64px;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;grid-template-columns:minmax(210px,.8fr) minmax(0,1.5fr);align-items:center;gap:24px;padding:14px 20px;display:grid}.map-list-record__button:hover{background:var(--teal-pale,#edf6f5)}.map-list-record__button:focus-visible{z-index:1;outline:3px solid var(--teal,#0b5d5b);outline-offset:-3px;position:relative}.map-list-record__identity{overflow-wrap:anywhere;align-items:baseline;gap:10px;min-width:0;font-size:16px;line-height:1.4;display:flex}.map-list-record__identity>strong{font-weight:750}.map-list-record__proposition{flex-wrap:wrap;column-gap:6px}.map-list-record__proposition>strong{color:var(--teal,#0b5d5b)}.map-list-record__removed{color:var(--muted,#5f6368);font-size:13px;font-weight:700}.map-list-record.is-removed .map-list-record__identity>:not(.map-list-record__removed){text-decoration:line-through;text-decoration-thickness:1px}.map-list-record__details{grid-template-columns:repeat(3,minmax(100px,1fr));gap:9px 18px;min-width:0;margin:0;display:grid}.map-list-record__details>div{min-width:0}.map-list-record__details dt{color:var(--muted,#5f6368);margin:0 0 2px;font-size:13px;font-weight:700;line-height:1.3}.map-list-record__details dd{overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.4}.map-list-record__scope{grid-column:1/-1}.map-list-view__empty{border-top:1px solid var(--line,#d9d9d9);color:var(--muted,#5f6368);margin:0;padding:22px 20px;font-size:14px;line-height:1.5}@media (width<=760px){.map-list-view__header{gap:14px;padding:18px 16px}.map-list-view__header h2{font-size:20px}.map-list-view__group h3{padding-left:16px;padding-right:16px}.map-list-record__button{grid-template-columns:1fr;gap:12px;padding:15px 16px 17px}.map-list-record__details{grid-template-columns:repeat(2,minmax(0,1fr))}.map-list-record__details>div:nth-child(3),.map-list-record__scope{grid-column:1/-1}}@media (width<=420px){.map-list-view__header{display:grid}.map-list-view__count{padding-top:0}.map-list-record__details{grid-template-columns:1fr}.map-list-record__details>div:nth-child(3),.map-list-record__scope{grid-column:auto}}.account-workspace{color:var(--ink);padding-bottom:40px}.account-workspace .account-login{justify-self:start;width:fit-content;max-width:100%;min-height:44px;padding-inline:18px}.account-details form{margin:0}.account-workspace .account-details>summary:after{margin-left:0}:is(.access-shell:has(.account-workspace) .access-header__teacher,.access-shell:has(.account-workspace) .theme-toggle--labeled){border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle);width:auto;min-width:44px;height:44px;min-height:44px;color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}:is(.access-shell:has(.account-workspace) .access-header__teacher:hover,.access-shell:has(.account-workspace) .theme-toggle--labeled:hover){background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .access-shell:has(.account-workspace) .access-header__actions>button{background:var(--surface)}html[data-theme=dark] .access-shell:has(.account-workspace) .access-header__actions>button:hover{background:var(--surface-hover)}@media (width<=700px){.access-shell:has(.account-workspace) .access-header{grid-template-columns:auto minmax(0,1fr)}.access-shell:has(.account-workspace) .access-header__actions{flex-wrap:wrap;grid-column:1/-1;justify-self:end;margin-left:0}}.account-error{background:var(--surface);color:var(--ink);overflow-wrap:anywhere;border:2px solid;padding:1rem}.account-save{max-width:10rem;color:var(--muted);font-size:.75rem;line-height:1.2}@media (width<=900px){.account-save{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;--ink:#0b0b0b;--muted:#5f6365;--line:#ddd;--teal:#0b5d5b;--teal-pale:#edf6f5;--amber:#765000;--amber-pale:#faf5e9;--plum:#653f6f;--plum-pale:#f6f0f7;--blue:var(--teal);--pale-blue:var(--teal-pale);--good:#222;--good-pale:#f2f2f2;--warn:#555;--warn-pale:#f4f4f4;--bad:#0b0b0b;--bad-pale:#eaeaea;--micro:var(--teal);--meso:var(--amber);--exosphere:var(--plum);--macrosphere:var(--ink);--macro:var(--exosphere);--integration:var(--macrosphere);--body:"Source Sans 3 Variable", "Avenir Next", Avenir, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--control-height:44px;--control-font:13px;--control-pad-x:18px;--header:60px;--footer:60px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--display:"Source Serif 4 Variable", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--surface:#fff;--surface-subtle:#fafafa;--surface-hover:#f1f2f2;--canvas:#fff;--grid-line:#ececec;--line-strong:#9aa19f;--radius:2px;font-family:"Source Sans 3 Variable",Avenir Next,Avenir,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--surface);width:100%;min-width:0;max-width:100%;overflow-x:clip}body{width:100%;min-width:0;max-width:100%;min-height:100dvh;margin:0;overflow-x:clip}button,input,textarea,select{font:inherit;color:inherit}button{min-height:var(--control-height);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}::selection{color:var(--surface);background:var(--blue)}.skip-link{z-index:1000;color:var(--surface);background:var(--ink);padding:12px 16px;text-decoration:none;position:fixed;top:-80px;left:12px}.skip-link:focus{top:12px}.app-shell{background:var(--surface);min-height:100vh}.app-header{z-index:50;height:var(--header);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:24px;padding:0 32px;display:flex;position:fixed;inset:0 0 auto}.brand{align-items:center;gap:11px;min-width:0;text-decoration:none;display:inline-flex}.brand__lab{flex:none;place-items:center;transition:opacity .15s;display:grid}.brand__lab:hover,.brand__lab:focus-visible{opacity:.7}.lab-logo{width:auto;height:26px;display:block}.brand__home{border-left:1px solid var(--line);min-width:0;color:inherit;padding-left:12px;text-decoration:none;display:grid}.brand strong{font-family:var(--display);letter-spacing:-.015em;font-size:16px;font-weight:600;line-height:1.2}.brand small{max-width:min(500px,42vw);color:var(--muted);overflow-wrap:anywhere;white-space:normal;font-size:12px;line-height:1.25}.header-actions{align-items:center;gap:8px;display:flex}.app-header--student .header-actions{flex:none}.workspace-save-notice{border-left:3px solid var(--bad);background:var(--bad-pale);justify-content:space-between;align-items:center;gap:12px;width:min(1180px,100%);margin:0 auto 22px;padding:11px 14px;font-size:14px;font-weight:650;display:flex}.workspace-save-notice button{min-height:40px;color:var(--ink);text-underline-offset:3px;background:0 0;border:0;padding:0 4px;font-weight:700;text-decoration:underline}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.workspace:focus{outline:none}.workspace--teacher{padding-bottom:64px}.text-button,.icon-button,.edge-add{background:0 0;border:0}.text-button{min-height:var(--control-height);border-radius:var(--radius);font-size:var(--control-font);align-items:center;gap:7px;padding:0 10px;font-weight:650;line-height:1.2;transition:color .15s,background-color .15s;display:inline-flex}.text-button:hover{color:var(--teal);background:var(--teal-pale)}.icon-button,.edge-add{place-items:center;width:40px;height:40px;display:inline-grid}.icon-button:hover,.edge-add:hover{background:var(--pale-blue);color:var(--blue)}.edge-add{font-size:21px}.icon{flex:none}.progress-track{z-index:51;top:calc(var(--header) - 2px);pointer-events:none;grid-template-columns:repeat(5,1fr);gap:2px;height:2px;display:grid;position:fixed;left:0;right:0}.progress-track span{background:0 0}.progress-track .is-active{background:var(--blue)}.workspace{min-height:100vh;padding:calc(var(--header) + 52px) 32px calc(var(--footer) + 52px)}.workspace--stage-3{padding:calc(var(--header) + 24px) clamp(10px, 1.2vw, 22px) calc(var(--footer) + 28px);background:var(--surface-subtle)}.narrow{width:min(760px,100%);margin:0 auto}.wide{width:min(1180px,100%);margin:0 auto}.map-stage{width:min(1880px,100%);margin:0 auto}.stage-enter{animation:.34s both stage-in}@keyframes stage-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.eyebrow{color:var(--muted);letter-spacing:.02em;margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.4}.resume-main .eyebrow,.access-main .eyebrow{font-size:14px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display)}h1{letter-spacing:-.022em;max-width:820px;margin-bottom:14px;font-size:clamp(30px,3.25vw,40px);font-weight:500;line-height:1.1}h2{letter-spacing:-.016em;margin-bottom:10px;font-size:clamp(21px,2.2vw,24px);font-weight:500;line-height:1.2}h3{letter-spacing:-.01em;font-size:16px;font-weight:600;line-height:1.3}.lede{max-width:720px;color:var(--muted);font-family:var(--display);margin-bottom:26px;font-size:17px;line-height:1.55}.lede--compact{margin-bottom:18px}.scale-chooser{width:min(360px,100%);margin-bottom:22px}.withheld-note{border-top:1px dashed var(--line);color:var(--muted);grid-template-columns:150px 1fr;gap:16px;margin-top:24px;padding-top:18px;font-size:13px;line-height:1.55;display:grid}.withheld-note strong{color:var(--ink)}.app-footer{z-index:45;height:var(--footer);border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 97%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:24px;padding:0 32px;display:flex;position:fixed;inset:auto 0 0}.footer-context{align-items:center;gap:14px;display:flex}.footer-context span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.footer-context strong{font-size:13px}.footer-actions,.button-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.button{min-height:var(--control-height);padding:0 var(--control-pad-x);border:1px solid var(--ink);border-radius:var(--radius);color:var(--surface);background:var(--ink);font-size:var(--control-font);letter-spacing:.01em;justify-content:center;align-items:center;gap:9px;font-weight:650;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.button:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 82%, var(--surface));background:color-mix(in srgb, var(--ink) 82%, var(--surface))}.button:active:not(:disabled){transform:translateY(1px)}.button--secondary{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}.button--secondary:hover:not(:disabled){border-color:var(--ink);background:var(--surface)}.button--ghost{color:var(--ink);background:0 0;border-color:#0000}.button--ghost:hover:not(:disabled){color:var(--teal);background:var(--teal-pale)}.button input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.project-context-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(760px,100%);margin:0 0 18px;display:grid}.intake-grid{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.upload-zone{border:1px dashed var(--line-strong);cursor:pointer;text-align:center;align-content:center;place-items:center;gap:7px;min-height:112px;padding:24px;display:grid}.upload-zone:hover{border-color:var(--blue);background-color:var(--pale-blue);color:var(--blue)}.upload-zone input{opacity:0;width:1px;height:1px;position:absolute}.upload-zone strong{font-size:15px}.upload-zone span{color:var(--muted);font-size:13px}.privacy-note{color:var(--muted);margin:10px 0 22px;font-size:13px;line-height:1.5}.memo-panel{border-top:1px solid var(--line)}.disclosure-button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:58px;padding:10px 0;display:flex}.disclosure-button>span:first-child{gap:3px;display:grid}.disclosure-button small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.4}.disclosure-button .eyebrow{margin-bottom:2px}.memo-fields{border-top:1px solid var(--line);gap:16px;padding:18px 0 22px;display:grid}.field{gap:7px;min-width:0;display:grid}.field__label{font-size:13px;font-weight:700;line-height:1.35}.field__hint{color:var(--muted);font-size:13px;line-height:1.45}.field input,.field textarea,.field select,.map-toolbar select,.candidate-expression input,.candidate-expression select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-height:44px}.field input,.field select,.map-toolbar select,.candidate-expression input,.candidate-expression select{padding:0 11px}.field textarea{resize:vertical;min-height:92px;padding:11px;line-height:1.5}.field input:hover,.field textarea:hover,.field select:hover,.map-toolbar select:hover{border-color:var(--line-strong)}.field input:focus,.field textarea:focus,.field select:focus,.map-toolbar select:focus{border-color:var(--blue);outline:2px solid color-mix(in srgb, var(--ink) 14%, transparent)}.memo-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check-row{cursor:pointer;grid-template-columns:20px 1fr;align-items:start;gap:10px;display:grid}.check-row input{width:18px;height:18px;accent-color:var(--blue);margin:1px 0 0}.check-row span{gap:3px;display:grid}.check-row strong{font-size:13px;line-height:1.35}.check-row small{color:var(--muted);font-size:12px;line-height:1.4}.stage-title-row,.section-heading,.map-toolbar{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.stage-title-row .lede{margin-bottom:24px}.outcome{text-align:center;text-transform:capitalize;border:1px solid;flex:none;align-content:center;place-items:center;gap:2px;width:126px;min-height:112px;display:grid}.outcome span{font-size:12px;font-weight:700}.outcome strong{font-size:28px;line-height:1}.outcome small{font-size:11px}.outcome--pass{color:var(--good);background:var(--good-pale)}.outcome--conditional{color:var(--warn);background:var(--warn-pale)}.outcome--hold{color:var(--bad);background:var(--bad-pale)}.subnav{border-bottom:1px solid var(--line);gap:24px;margin-bottom:26px;display:flex}.subnav button,.model-switch button{min-height:45px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 2px;font-size:13px;font-weight:700}.subnav button.is-active,.model-switch button.is-active{border-color:var(--blue);color:var(--blue)}.preflight-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.62fr);gap:36px;display:grid}.section-heading{border-bottom:1px solid var(--line-strong);align-items:center;padding-bottom:18px}.section-heading .eyebrow{margin-bottom:4px}.section-heading h2{margin:0}.criteria-list{border-bottom:1px solid var(--line);gap:14px;display:grid}.criteria-list>section{border:1px solid var(--line);border-left:2px solid var(--teal);padding:16px 16px 4px}.criteria-list>section:nth-child(2){border-left-color:var(--amber)}.criteria-list>section:nth-child(3){border-left-color:var(--plum)}.criteria-list>section>h2{margin-bottom:5px;font-size:19px}.criterion-row{border-bottom:1px solid var(--line);padding:15px 0;display:block}.criterion-row:last-child{border-bottom:0}.criterion-row p{color:var(--muted);margin:4px 0;font-size:13px;line-height:1.45}.criterion-row small{color:var(--muted);font-size:11px}.criterion-row__title{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.criterion-row__title h3{font-family:var(--body);margin:0;font-size:13px;font-weight:750;line-height:1.45}.criterion-row blockquote{border-left:2px solid var(--line);background:var(--surface-subtle);font-family:var(--display);margin:10px 0 8px;padding:10px 12px;font-size:14px;line-height:1.55}.next-action{color:var(--ink);margin-top:8px;font-size:12px;font-weight:650;line-height:1.45;display:block}.tag{color:var(--bad);background:var(--bad-pale);padding:3px 6px;font-size:11px;font-weight:700}.status-mark{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.status-mark--met,.status-mark--confirmed{color:var(--good);border-color:var(--good);background:var(--good-pale)}.status-mark--unmet{color:var(--bad);border-color:var(--bad);background:var(--bad-pale)}.all-clear{color:var(--good);align-items:center;gap:9px;margin:28px 0;font-weight:700;display:flex}.empty-message{color:var(--muted);margin:20px 0;padding:2px 0;font-size:14px;line-height:1.5}.dry-run-panel{border:1px solid var(--line-strong);color:var(--ink);background:var(--surface);align-self:start;padding:20px}.dry-run-panel .eyebrow{color:var(--teal)}.dry-run-panel h3{margin-bottom:20px;font-size:20px;font-weight:500}.dry-run-panel dl,.config-summary{margin:0}.dry-run-panel dl div,.config-summary div{border-top:1px solid var(--line);grid-template-columns:105px 1fr;gap:10px;padding:10px 0;display:grid}.dry-run-panel dt,.config-summary dt{color:var(--muted);font-size:11px}.dry-run-panel dd,.config-summary dd{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.dry-run-panel>p:last-child{color:var(--muted);margin:22px 0 0;font-size:12px;line-height:1.55}.model-switch{gap:22px;margin-bottom:24px;display:flex}.model-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:34px;display:grid}.model-form{gap:17px;display:grid}.config-line{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:12px 0;font-size:13px;display:flex}.config-line span{color:var(--muted)}.guardrail-panel{border:1px solid var(--line);background:var(--surface-subtle);align-self:start;padding:20px}.guardrail-panel pre{white-space:pre-wrap;margin:0 0 20px;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.config-meta{border-top:1px solid var(--line);gap:0;margin:0;display:grid}.config-meta div{border-bottom:1px solid var(--line);grid-template-columns:85px 1fr;gap:8px;padding:9px 0;display:grid}.config-meta dt{color:var(--muted);font-size:11px}.config-meta dd{overflow-wrap:anywhere;margin:0;font:11px/1.4 ui-monospace,monospace}.effective-prompt{border-left:3px solid var(--blue);background:var(--pale-blue);margin-top:18px;padding:15px}.effective-prompt p{margin:8px 0;font-size:12px;line-height:1.55}.effective-prompt hr{border:0;border-top:1px solid var(--line)}.guardrail-panel details{margin-top:18px}.guardrail-panel summary{cursor:pointer;font-size:13px;font-weight:700}.history-list{color:var(--muted);padding-left:20px;font-size:12px}.history-list li{margin:9px 0}.history-list small{font-family:ui-monospace,monospace;display:block}.repair-focus{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);margin:28px 0;padding:24px 0}.repair-focus p{color:var(--muted);margin-bottom:0;font-size:13px}.repair-passage{grid-template-columns:120px 1fr;gap:20px;margin-bottom:18px;display:grid}.repair-passage span{color:var(--muted);font-size:11px;font-weight:700}.repair-passage blockquote{margin:0;font-size:15px;font-weight:650;line-height:1.45}.repair-controls{gap:18px;margin:20px 0;display:grid}.repair-source-fields{border:1px solid var(--line);background:var(--surface-subtle);gap:14px;padding:18px;display:grid}.candidate-list{border-top:1px solid var(--line-strong)}.candidate-row{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) 132px;gap:20px;padding:18px 0;display:grid}.candidate-row--confirmed{box-shadow:inset 3px 0 var(--good);padding-left:14px}.candidate-row--research-lead{box-shadow:inset 3px 0 var(--warn);padding-left:14px}.candidate-row__count{color:var(--muted);font:11px/1.4 ui-monospace,monospace}.candidate-row__main{gap:11px;display:grid}.candidate-expression{grid-template-columns:minmax(160px,1fr) auto minmax(130px,.7fr);align-items:center;gap:10px;display:grid}.candidate-expression--edge{grid-template-columns:minmax(140px,1fr) minmax(130px,.7fr) minmax(140px,1fr)}.candidate-expression span{color:var(--muted);font-size:13px}.candidate-expression strong{font-family:var(--display);letter-spacing:-.01em;font-size:17px;font-weight:600}.relationship-verb-editor{width:100%;min-width:0;min-height:var(--control-height);resize:vertical;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-wrap:anywhere;white-space:pre-wrap;padding:10px 11px;line-height:1.4;overflow:hidden}.relationship-verb-editor:hover{border-color:var(--line-strong)}.relationship-verb-editor:focus{border-color:var(--blue);outline:2px solid color-mix(in srgb, var(--ink) 14%, transparent)}.candidate-row__main>p{color:var(--muted);margin:0;font-size:12px}.evidence-chip{color:var(--blue)}.candidate-actions{border:1px solid var(--line);align-content:start;display:grid}.candidate-actions button{min-height:var(--control-height);border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;padding:7px 12px;font-size:13px;font-weight:650;line-height:1.25;transition:background-color .15s,color .15s}.candidate-actions button:last-child{border-bottom:0}.candidate-actions button:hover:not(.is-active){color:var(--teal);background:var(--teal-pale)}.candidate-actions button.is-active{color:var(--surface);background:var(--ink)}.connection-stage{border-top:1px solid var(--line-strong);margin-top:44px;padding-top:26px}.connection-stage__layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:28px;margin:30px 0 38px;display:grid}.connection-stage__layout.is-dense{grid-template-columns:minmax(0,1fr)}.connection-prompt-panel{border:1px solid var(--line-strong);background:var(--surface);align-self:start;gap:16px;padding:20px;display:grid}.connection-prompt-panel .button{justify-self:start}.connection-node-list{border-top:1px solid var(--line);flex-wrap:wrap;gap:7px;padding-top:14px;display:flex}.connection-node-list span{border:1px solid var(--line);background:var(--surface-subtle);border-radius:99px;padding:5px 8px;font-size:11px;line-height:1.3}.carried-node-summary{border:1px solid var(--line);border-left:2px solid var(--meso);background:var(--surface);gap:14px;margin:0 0 24px;padding:18px;display:grid}.carried-node-summary h2{font-family:var(--body);margin:0;font-size:18px}.carried-node-summary .eyebrow{margin-bottom:3px}.connection-preview-panel{border:1px solid var(--line);background:var(--surface-subtle);min-width:0;padding:22px}.connection-preview-panel__title{justify-content:space-between;align-items:start;gap:18px;margin-bottom:16px;display:flex}.connection-preview-panel__title .eyebrow{margin-bottom:4px}.connection-preview-panel__title h2{margin:0;font-size:23px}.connection-preview-panel__title>strong{color:var(--good);font-size:12px}.connection-preview{aspect-ratio:8/5;border:1px solid var(--line);background-color:var(--canvas);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:24px 24px;width:100%;min-height:330px;overflow:hidden}.connection-preview__scope{color:var(--muted);margin:0 0 10px;font-size:13px;line-height:1.45}.connection-preview svg{width:100%;height:100%;min-height:0;display:block}.connection-preview marker path{fill:var(--muted)}.connection-preview__edge path{fill:none;stroke:var(--muted);stroke-width:1.5px}.connection-preview__edge.is-proposed path{stroke:var(--teal);stroke-width:2.2px;stroke-dasharray:7 5}.connection-preview__edge.is-accepted path{stroke:var(--good);stroke-dasharray:none}.connection-preview__labels{pointer-events:none}.connection-preview__label rect{fill:var(--surface);stroke:var(--line);stroke-width:1px}.connection-preview__label text{fill:var(--muted);text-anchor:middle;font-size:18px}.connection-preview__label.is-proposed rect{stroke:var(--teal)}.connection-preview__label.is-proposed text{fill:var(--teal);font-weight:750}.connection-preview__label.is-accepted rect{stroke:var(--good)}.connection-preview__node rect{fill:var(--surface);stroke:var(--ink);stroke-width:1.5px;filter:drop-shadow(0 3px 6px #00000014)}.connection-preview__node text{fill:var(--ink);font-size:15px;font-weight:750}.connection-suggestions{margin-top:10px}.connection-suggestions .stage-title-row{padding-bottom:14px}.connection-suggestions h2{margin:0;font-size:25px}.connection-expression select{min-width:0}.map-toolbar{align-items:flex-end;margin-bottom:14px}.map-toolbar__controls{align-items:end;gap:10px;display:flex}.map-presentation-toggle{border:1px solid var(--line-strong);background:var(--surface);grid-template-columns:1fr 1fr;min-height:44px;display:inline-grid}.map-presentation-toggle button{background:var(--surface);min-width:74px;min-height:42px;color:var(--ink);border:0;padding:0 12px;font-size:14px;font-weight:750}.map-presentation-toggle button+button{border-left:1px solid var(--line-strong)}.map-presentation-toggle button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.map-presentation-toggle button:focus-visible{z-index:1;outline:3px solid var(--teal);outline-offset:-3px;position:relative}.map-toolbar label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.map-toolbar select{min-width:150px;color:var(--ink);text-transform:none;padding:0 10px;font-size:13px;font-weight:650}.map-show-all{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--ink);padding:0 12px;font-size:13px;font-weight:750}.map-show-all:hover{border-color:var(--teal);color:var(--teal)}.map-toolbar .map-removed-toggle{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);letter-spacing:0;text-transform:none;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:650;display:flex}.map-removed-toggle input{width:17px;height:17px;accent-color:var(--blue);margin:0}.map-focus-bar{min-height:var(--control-height);border-left:3px solid var(--teal);background:var(--teal-pale);color:var(--ink);justify-content:space-between;align-items:center;gap:14px;margin:-4px 0 10px;padding:7px 8px 7px 12px;font-size:13px;line-height:1.4;display:flex}.map-focus-bar__summary{gap:2px;display:grid}.map-focus-bar__summary small{color:var(--muted);font-size:12px;font-weight:700}.map-focus-bar__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.map-focus-bar button{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:0 12px;font-size:13px;font-weight:750}.map-focus-bar button:not(:disabled):hover{border-color:var(--teal);color:var(--teal)}.map-focus-bar button:disabled{border-color:var(--line);color:var(--muted);background:var(--surface-subtle)}.map-overview-hint{color:var(--muted);margin:-7px 0 12px;font-size:13px}.map-layout{border:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr);min-height:clamp(680px,72dvh,900px);display:grid}.canvas-wrap{background-color:var(--canvas);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:32px 32px;grid-template-rows:minmax(0,1fr) auto;min-width:0;display:grid;position:relative;overflow:hidden}.graph-canvas{width:100%;height:100%;min-height:clamp(660px,70dvh,880px);display:block}.edges line{stroke:var(--muted);stroke-width:1.4px}.edge-labels{pointer-events:none}.edge-label-bg{fill:var(--surface);stroke:var(--line)}.edge-label{fill:var(--muted);text-anchor:middle;font-size:13px}.graph-edge-label[data-edge-scale=meso] .edge-label{fill:var(--ink);font-weight:700}.graph-node{cursor:pointer}.graph-node rect{fill:var(--surface);stroke:var(--line);stroke-width:1.4px;filter:drop-shadow(0 3px 6px #0000000f)}.graph-node--micro rect{stroke:var(--micro)}.graph-node--meso rect{stroke:var(--meso)}.graph-node--macro rect{stroke:var(--macro)}.graph-node--integration rect{stroke:var(--integration)}.graph-node--exosphere rect{stroke:var(--exosphere)}.graph-node--macrosphere rect{stroke:var(--macrosphere)}.graph-node.is-selected rect{fill:var(--ink);stroke:var(--ink);stroke-width:3px}.graph-node.is-lead rect{stroke-dasharray:5 4}.node-type{fill:var(--muted);text-anchor:middle;font-size:11px}.graph-node.is-selected text{fill:var(--surface)}.map-key{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);color:var(--muted);flex-wrap:wrap;gap:13px;padding:8px 10px;font-size:11px;display:flex;position:absolute;bottom:14px;left:16px}.map-key span{align-items:center;gap:5px;display:flex}.dot{border:1px solid;border-radius:50%;width:8px;height:8px;display:inline-block}.dot--micro{color:var(--micro);background:var(--micro)}.dot--meso{color:var(--meso);background:var(--meso)}.dot--macro{color:var(--macro);background:var(--macro)}.dot--lead{color:var(--warn);background:0 0;border-style:dashed}.inspector{border-left:1px solid var(--line);background:var(--surface);min-width:0;display:none}.inspector.is-open{display:block}.inspector__head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:14px;display:grid}.inspector__head .eyebrow{margin-bottom:3px}.inspector__head h2{font-family:var(--body);letter-spacing:0;overflow-wrap:anywhere;white-space:normal;margin:0;font-size:15px;font-weight:750;line-height:1.4}.inspector__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.inline-actions{display:flex}.inspector__body,.add-form{gap:16px;padding:20px 18px;display:grid}.add-form{border-bottom:1px solid var(--line);background:var(--surface-subtle)}.add-form h3{margin:0}.provenance-block{border-left:3px solid var(--blue);background:var(--pale-blue);padding:13px}.provenance-block span{color:var(--blue);font-size:11px;font-weight:700}.provenance-block p{margin:5px 0 0;font-size:12px;line-height:1.45}.inspector details summary{cursor:pointer;font-size:13px;font-weight:700}.edge-list{gap:10px;padding:0;font-size:12px;list-style:none;display:grid}.edge-list li{border-bottom:1px solid var(--line);padding:10px 0}.edge-list strong{color:var(--blue)}.edge-list small{color:var(--muted);margin-top:5px;display:block}.revision-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.7fr);gap:36px;margin-top:28px;display:grid}.revision-status{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:28px;padding:0 0 14px;font-size:14px;display:flex}.revision-status strong{color:var(--teal);font-weight:750}.progress-actions{flex-wrap:wrap;gap:8px;margin:14px 0 18px;display:flex}.next-level{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);background:var(--surface-subtle);grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);column-gap:22px;margin:0 0 26px;padding:16px 18px;display:grid}.next-level .eyebrow{grid-column:1;margin:0 0 4px}.next-level h2{grid-column:1;margin:0;font-size:20px}.next-level>p:last-child{grid-area:1/2/span 2;align-self:center;margin:0;font-size:14px;line-height:1.55}.reflection{font-size:15px}.sharing-row{max-width:260px}.history-panel{border-top:1px solid var(--line-strong);align-self:start}.history-panel>summary{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:52px;font-size:13px;font-weight:750;list-style:none;display:flex}.history-panel>summary::-webkit-details-marker{display:none}.history-panel>summary:after{content:"+";font-size:18px;font-weight:500}.history-panel[open]>summary:after{content:"−"}.history-panel>summary strong{color:var(--muted);margin-left:auto;font-size:11px;font-weight:600}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--line);grid-template-columns:18px 1fr;gap:8px;padding:13px 0;display:grid;position:relative}.timeline__dot{border:2px solid var(--blue);background:var(--surface);border-radius:50%;width:8px;height:8px;margin-top:3px;position:relative}.timeline li:not(:last-child) .timeline__dot:after{content:"";background:var(--line);width:1px;height:52px;position:absolute;top:8px;left:2px}.timeline strong{text-transform:capitalize;font-size:12px;display:block}.timeline p{color:var(--muted);margin:3px 0;font-size:11px;line-height:1.35}.timeline small{color:var(--muted);font-size:11px}.export-strip{border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:40px;padding:20px 0;display:grid}.export-strip h2{margin-bottom:7px}.export-strip p{max-width:670px;color:var(--muted);margin-bottom:0;font-size:12px;line-height:1.5}.export-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.error-text{color:var(--bad)!important}.modal-backdrop{z-index:100;background:#00000075;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);background:var(--surface);width:min(520px,100%);max-height:min(760px,100vh - 40px);overflow:hidden;box-shadow:0 24px 70px #0003}.modal--wide{width:min(840px,100%)}.modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:56px;padding:0 16px 0 24px;display:flex}.modal__head h2{margin:0;font-size:19px}.modal__body{max-height:calc(100vh - 106px);padding:20px;overflow:auto}.level-progress-summary{border:1px solid var(--line);background:var(--surface-subtle);margin:0 0 18px;padding:14px}.level-progress-summary h2{font-family:var(--body);margin:0 0 10px;font-size:13px;font-weight:700;line-height:1.3}.level-progress-summary ol{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.level-progress-summary li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);gap:3px;min-width:0;padding:8px 10px;display:grid}.level-progress-summary strong{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.level-progress-summary span{overflow-wrap:anywhere;color:var(--muted);font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.stage-menu{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.stage-menu li{border-bottom:1px solid var(--line)}.stage-menu button{text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;align-items:center;gap:10px;width:100%;min-height:56px;padding:0 12px;display:grid}.stage-menu button:not(:disabled):hover{background:var(--surface-hover)}.stage-menu button.is-current{color:var(--blue);background:var(--pale-blue)}.stage-menu span{color:var(--muted);font:10px ui-monospace,monospace}.stage-menu strong{font-size:13px}.stage-menu em{font-size:11px;font-style:normal;font-weight:700}.instructor-panel{grid-template-columns:1fr 1fr;gap:30px;display:grid}.instructor-panel>.privacy-note{border-left:3px solid var(--blue);background:var(--pale-blue);grid-column:1/-1;margin:0;padding:12px}.settings-section{border-top:1px solid var(--line-strong);align-content:start;gap:15px;padding-top:15px;display:grid}.confirm-panel{gap:22px;display:grid}.confirm-panel p{color:var(--muted);font-family:var(--display);font-size:16px;line-height:1.55}.project-link-url{border:1px solid var(--line);background:var(--surface-subtle);overflow-wrap:anywhere;margin:0;padding:12px 14px}.project-link-url code{-webkit-user-select:all;user-select:all;font-size:13px;line-height:1.5}.project-link-summary{margin:0}.project-link-summary div{border:1px solid var(--line);background:var(--surface-subtle);gap:4px;padding:12px 14px;display:grid}.project-link-summary dt{color:var(--muted);font-size:13px;font-weight:700}.project-link-summary dd{overflow-wrap:anywhere;margin:0;font-size:14px}.project-link-summary--metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.confirm-panel p.project-link-status{font-family:var(--body);color:var(--muted);font-size:13px}.confirm-panel p.project-link-status--error{color:var(--bad)}.project-link-management{border-top:1px solid var(--line);flex-wrap:wrap;gap:16px;padding-top:4px;display:flex}.project-link-management button{min-height:40px;color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.technical-details{border:1px solid var(--line);background:var(--surface-subtle);padding:12px 14px}.technical-details summary{cursor:pointer;font-size:13px;font-weight:750}.technical-details code{overflow-wrap:anywhere;color:var(--muted);margin-top:10px;font-size:13px;line-height:1.5;display:block}.release-controls{grid-template-columns:1fr 1fr;gap:7px;display:grid}.release-controls button{min-height:var(--control-height);border:1px solid var(--line);background:var(--surface);align-items:center;gap:7px;padding:7px 10px;font-size:13px;font-weight:700;line-height:1.3;display:flex}.release-controls button.is-open{color:var(--good);background:var(--good-pale);border-color:var(--line-strong)}.config-summary div{border-color:var(--line)}.config-summary dt{color:var(--muted)}.teacher-access{width:min(780px,100%);margin:0 auto;padding-top:clamp(12px,4vh,54px)}.teacher-access h1{max-width:680px;font-size:clamp(32px,4vw,42px)}.teacher-access .lede{max-width:660px;margin-bottom:34px}.account-list{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.account-list button{border:0;border-right:1px solid var(--line);background:var(--surface);text-align:left;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:88px;padding:14px 16px;display:grid}.account-list button:last-child{border-right:0}.account-list button:hover{background:var(--surface-hover)}.account-list button.is-selected{background:var(--pale-blue);box-shadow:inset 3px 0 var(--ink)}.account-list button>span:nth-child(2){gap:4px;min-width:0;display:grid}.account-list button>span:last-child{color:var(--ink);align-self:start;font-size:11px;font-weight:700}.account-list strong{font-family:var(--display);font-size:17px;font-weight:600}.account-list small{color:var(--muted);font-size:11px;line-height:1.4}.account-initials{border:1px solid var(--line-strong);background:var(--surface);letter-spacing:.04em;place-items:center;width:38px;height:38px;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.is-selected .account-initials{color:var(--surface);background:var(--ink)}.access-form{border-top:1px dashed var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px;padding-top:24px;display:grid}.access-form .teacher-message{grid-column:1/-1}.access-form>.button{grid-column:1/-1;justify-self:start}.teacher-message{border:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--surface-subtle);margin:0;padding:11px 13px;font-size:13px;line-height:1.55}.teacher-message--error{border-left-color:var(--bad);background:var(--surface-hover)}.teacher-message--success{border-left-color:var(--teal)}.teacher-message__actions{justify-content:flex-start;margin-top:14px}.review-intro{justify-items:start;gap:16px;margin-bottom:30px;display:grid}.review-intro .memo-drawer{width:100%}.review-intro .memo-text{min-height:220px}.review-intro>.button{justify-self:start}.suggestion-preference{margin:12px 0}.review-details{margin:18px 0}.review-details>summary{cursor:pointer;padding:14px 0;font-weight:650}.project-details{margin:18px 0}.project-details>summary{cursor:pointer;padding:14px 0;font-weight:650}.project-details .project-context-fields{margin-top:16px}.revision-status{border-block:1px solid var(--line);flex-wrap:wrap;gap:8px 20px;margin-bottom:24px;padding:16px 0;display:flex}.revision-status span{color:var(--muted)}.teacher-dashboard{width:min(1420px,100%);margin:0 auto}.teacher-dashboard__title{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:38px;padding-bottom:28px;display:grid}.teacher-dashboard__title h1{max-width:760px;font-size:clamp(30px,3.4vw,38px)}.teacher-dashboard__title .lede{max-width:740px;margin-bottom:0}.teacher-session{border-left:1px solid var(--line);text-align:right;justify-items:end;gap:4px;min-width:190px;padding-left:22px;display:grid}.teacher-session>span{color:var(--muted);font-size:11px;font-weight:700}.teacher-session>strong{font-family:var(--display);font-size:17px;font-weight:600}.teacher-session .button{margin-top:5px;padding:0 8px;font-size:12px}.teacher-dashboard>.teacher-message{margin:18px 0 0}.teacher-roster{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px 24px;min-height:46px;padding:10px 0;display:flex}.teacher-roster>span{grid-template-columns:8px auto;align-items:center;gap:2px 7px;font-size:12px;font-weight:700;display:inline-grid}.teacher-roster i{border:1px solid var(--line-strong);background:var(--surface);border-radius:50%;width:7px;height:7px}.teacher-roster i.is-claimed{background:var(--ink)}.teacher-roster small{color:var(--muted);grid-column:2;font-size:11px;font-weight:650}.teacher-controls{grid-template-columns:minmax(250px,1fr) minmax(170px,220px) auto;align-items:end;gap:26px;padding:20px 0;display:grid}.teacher-controls .model-switch{margin:0}.teacher-controls>label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.teacher-controls select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);text-transform:none;padding:0 11px}.teacher-workbench{border:1px solid var(--line);border-top-color:var(--line-strong);background:var(--surface);grid-template-columns:minmax(170px,.58fr) minmax(360px,1.45fr) minmax(210px,.72fr);min-height:620px;display:grid}.module-list{border-right:1px solid var(--line);background:var(--surface-subtle);min-width:0;padding:22px 0}.module-list>.eyebrow{margin:0 16px 13px}.module-list button{text-align:left;background:0 0;border:1px solid #0000;border-left:0;border-right:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 16px;display:grid}.module-list button:hover{background:var(--surface-hover)}.module-list button.is-selected{border-color:var(--line);background:var(--surface);box-shadow:inset 3px 0 var(--ink)}.module-list button span{overflow-wrap:anywhere;min-width:0;font-family:var(--display);font-size:14px;font-weight:600;line-height:1.3}.module-list button small{color:var(--muted);font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.module-editor{align-content:start;gap:18px;min-width:0;padding:clamp(22px,3vw,38px);display:grid}.module-editor__head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(150px,auto);gap:26px;padding-bottom:20px;display:grid}.module-editor__head h2{margin-bottom:6px;font-size:24px}.module-editor__head p:not(.eyebrow){max-width:620px;color:var(--muted);margin:0;font-size:12px;line-height:1.55}.module-editor__head dl{border-top:1px solid var(--line-strong);margin:0}.module-editor__head dl>div{border-bottom:1px solid var(--line);grid-template-columns:66px minmax(0,1fr);gap:8px;padding:8px 0;display:grid}.module-editor__head dt{color:var(--muted);font-size:11px;font-weight:700}.module-editor__head dd{overflow-wrap:anywhere;margin:0;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.module-editor .field__hint{margin-top:-12px}.prompt-editor{tab-size:2;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:330px!important}.module-editor .button-row{padding-top:3px}.teacher-history{border-left:1px solid var(--line);background:var(--surface-subtle);min-width:0;padding:22px 18px}.teacher-history>.eyebrow{margin-bottom:13px}.teacher-history ol{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.teacher-history li{border-bottom:1px solid var(--line);padding:13px 0}.teacher-history strong{font-family:var(--display);font-size:13px;font-weight:600;line-height:1.3;display:block}.teacher-history p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0;font-size:11px;line-height:1.45}.teacher-history small{color:var(--muted);font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.effective-preview{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);grid-template-columns:minmax(230px,.58fr) minmax(0,1.42fr);gap:24px;margin-top:28px;padding:22px 0;display:grid}.effective-preview h2{margin-bottom:16px;font-size:22px}.effective-preview dl{border-top:1px solid var(--line);margin:0}.effective-preview dl>div{border-bottom:1px solid var(--line);grid-template-columns:82px minmax(0,1fr);gap:8px;padding:8px 0;display:grid}.effective-preview dt{color:var(--muted);font-size:11px;font-weight:700}.effective-preview dd{overflow-wrap:anywhere;margin:0;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.effective-preview pre{border:1px solid var(--line);background:var(--surface-subtle);white-space:pre-wrap;overflow-wrap:anywhere;max-height:560px;margin:0;padding:22px;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.saved-course-settings{border-top:1px solid var(--line);gap:6px;margin-top:14px;padding-top:14px;display:grid}.saved-course-settings>strong{font-size:12px}.saved-course-settings p{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 10px;font-size:13px;line-height:1.5}.teaching-profile-controls{grid-template-columns:minmax(260px,520px) auto;justify-content:start}.teaching-profile-create{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.7fr) minmax(300px,1fr) auto;align-items:end;gap:18px;padding:20px 0;display:grid}.teaching-profile-workbench{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);min-height:0}.teaching-profile-editor,.teaching-profile-preview{min-width:0;padding:clamp(22px,3vw,38px)}.teaching-profile-editor{align-content:start;gap:18px;display:grid}.teaching-profile-editor>.section-heading{border-bottom:1px solid var(--line);padding-bottom:16px}.teaching-profile-editor textarea{min-height:112px;font-size:14px;line-height:1.55}.teaching-profile-editor input[readonly],.teaching-profile-editor textarea[readonly]{background:var(--surface-subtle);color:var(--muted)}.course-stage-nav{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);margin:2px 0 0}.course-stage-nav ol{grid-template-columns:repeat(5,minmax(112px,1fr));margin:0;padding:0;list-style:none;display:grid}.course-stage-nav li+li{border-left:1px solid var(--line)}.course-stage-nav button{width:100%;min-height:68px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:10px}.course-stage-nav button span{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.course-stage-nav button strong{font-family:var(--body);font-size:13px;font-weight:700;line-height:1.3;display:block}.course-stage-nav button:hover,.course-stage-nav button:focus-visible{background:var(--surface-hover)}.course-stage-nav button.is-active{background:var(--ink);color:var(--surface)}.course-stage-nav button.is-active span{color:color-mix(in srgb, var(--surface) 75%, var(--ink))}.course-stage-editor{gap:18px;padding:20px 0 4px;display:grid}.course-stage-editor h4{font-family:var(--display);margin:0;font-size:clamp(22px,2.2vw,30px);font-weight:500;line-height:1.12}.course-stage-editor>div>p:last-child{max-width:68ch;color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.55}.teaching-profile-scales{gap:18px;padding-top:18px;display:grid}.teaching-profile-editor>.teacher-history{background:0 0;border:0;padding:0}.teaching-profile-editor>.teacher-history>summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;min-height:44px;display:flex}.teaching-profile-preview{border-left:1px solid var(--line);background:var(--surface-subtle);align-content:start;gap:16px;display:grid}.teaching-profile-preview>label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.teaching-profile-preview select{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);padding:0 11px}.teaching-profile-preview>.effective-preview{border:0;margin:0;padding:0;display:block}.teaching-profile-preview>.effective-preview>summary{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);align-items:center;min-height:44px;display:flex}.teaching-profile-preview>.effective-preview dl{margin:14px 0}.teaching-profile-preview>.effective-preview pre{max-height:460px;padding:16px;font-size:13px;line-height:1.55}.teacher-runtime{margin:0 0 18px}.teaching-profile-preview>.teacher-history{background:0 0;border:0;padding:0}.teaching-profile-preview>.teacher-history>summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;min-height:44px;display:flex}.teacher-dashboard__sections{border-bottom:1px solid var(--line);width:fit-content;margin:18px 0 22px}.teacher-dashboard__sections button{min-height:48px}.review-submissions{min-width:0}.teacher-review-grid{border:1px solid var(--line);border-top-color:var(--line-strong);background:var(--surface);grid-template-columns:minmax(230px,.62fr) minmax(360px,1.35fr) minmax(280px,.8fr);display:grid}.teacher-review-grid--queue-only{grid-template-columns:minmax(0,1fr)}.review-submissions__status{color:var(--muted);margin:18px 0 0}.review-column-heading{min-height:calc(var(--control-height) + 13px);border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;display:flex}.review-column-heading h2{margin:0;font-size:20px;line-height:1.3}.review-column-heading .button{padding:0 10px;font-size:13px}.submission-queue,.student-work,.instructor-response{min-width:0}.submission-queue{border-right:1px solid var(--line);background:var(--surface-subtle);padding:24px 0}.submission-queue>.review-column-heading{margin-inline:20px}.teacher-review-grid--queue-only .submission-queue{border-right:0}.submission-queue>.empty-message,.submission-queue>.teacher-message{margin:0 20px}.submission-queue__list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.submission-queue__list li{border-bottom:1px solid var(--line)}.submission-queue__list button{text-align:left;background:0 0;border:0;align-content:center;gap:5px;width:100%;min-height:82px;padding:13px 16px;display:grid}.submission-queue__list button:hover{background:var(--surface-hover)}.submission-queue__list button.is-selected{background:var(--surface);box-shadow:inset 3px 0 var(--teal)}.submission-queue__list strong{font-family:var(--display);font-size:15px;font-weight:600;line-height:1.25}.submission-queue__list span{color:var(--muted);font-size:11px;line-height:1.4}.submission-queue__list small{color:var(--muted);font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.student-work{padding:24px 20px}.student-work__body{gap:20px;display:grid}.student-work__body>section>h3{margin-bottom:8px;font-size:14px}.student-work__body>section>p{color:var(--muted);font-size:13px;line-height:1.65}.student-work__memo{border:1px solid var(--line);background:var(--surface-subtle);max-height:260px;font-family:var(--display);white-space:pre-wrap;padding:16px;overflow:auto;color:var(--ink)!important;font-size:15px!important}.suggestion-review{gap:0;margin-top:18px;display:grid}.teacher-model-review{border:1px solid var(--line);background:var(--surface);margin-top:18px}.teacher-model-review>summary{cursor:pointer;align-items:center;min-height:48px;padding:0 14px;font-size:13px;font-weight:750;display:flex}.teacher-model-review__body{border-top:1px solid var(--line);padding:0 14px 14px}.teacher-model-review__note{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.55}.teacher-model-review .suggestion-review{margin-top:14px}.suggestion-review__summary{border:1px solid var(--line);color:var(--muted);margin:0;padding:11px 12px;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.suggestion-review__summary strong{color:var(--ink);text-transform:capitalize}.suggestion-annotation{border:1px solid var(--line);border-top:0;padding:16px 14px}.suggestion-annotation:first-of-type{border-left:2px solid var(--teal)}.suggestion-annotation:nth-of-type(2){border-left:2px solid var(--amber)}.suggestion-annotation:nth-of-type(3){border-left:2px solid var(--plum)}.suggestion-annotation h4{font-family:var(--display);margin:0 0 9px;font-size:14px;font-weight:600}.suggestion-annotation p,.suggestion-annotation ul{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.suggestion-annotation ul{gap:5px;padding-left:18px;display:grid}.suggestion-criteria{border:1px solid var(--line);border-top:0}.suggestion-criteria>summary{cursor:pointer;align-items:center;min-height:48px;padding:0 13px;font-size:11px;font-weight:750;display:flex}.suggestion-criteria>ol{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.suggestion-criteria li{border-bottom:1px solid var(--line);padding:13px}.suggestion-criteria li:last-child{border-bottom:0}.suggestion-criteria li>strong{font-size:11px}.suggestion-criteria li p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.suggestion-criteria li span{color:var(--ink);font-size:11px;font-weight:700}.instructor-response{border-left:1px solid var(--line);background:var(--surface-subtle);padding:24px 20px}.instructor-response form{gap:18px;display:grid}.instructor-response__prompt{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.review-decision{border:0;min-width:0;margin:0;padding:0}.review-decision legend{color:var(--muted);margin-bottom:7px;font-size:11px;font-weight:700}.review-decision__actions{border:1px solid var(--line);grid-template-columns:1fr;display:grid}.review-decision__actions button{border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;min-height:48px;padding:9px 11px;font-size:13px;font-weight:700;line-height:1.35}.review-decision__actions button:last-child{border-bottom:0}.review-decision__actions button:hover{background:var(--surface-hover)}.review-decision__actions button[aria-pressed=true]{background:var(--surface);box-shadow:inset 4px 0 var(--teal)}.review-decision__actions button:nth-child(2)[aria-pressed=true]{box-shadow:inset 4px 0 var(--amber)}.review-decision__actions button:nth-child(3)[aria-pressed=true]{box-shadow:inset 4px 0 var(--plum)}.review-history{border-top:1px solid var(--line-strong);margin-top:28px;padding-top:16px}.review-history h3{margin-bottom:10px;font-size:14px}.review-history ol{margin:0;padding:0;list-style:none}.review-history li{border-top:1px solid var(--line);padding:11px 0}.review-history strong{font-size:11px}.review-history p{color:var(--muted);margin:5px 0;font-size:11px;line-height:1.5}.review-history p span{color:var(--ink);font-size:11px;font-weight:700}.review-history small{color:var(--muted);font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.model-guidance>.section-heading{border-bottom:1px solid var(--line);padding-top:4px}.upload-zone:focus-within,label.button:focus-within{outline:3px solid var(--ink);outline-offset:3px}.upload-zone:focus-within{border-color:var(--ink);background-color:var(--pale-blue);color:var(--ink)}.upload-zone input:focus-visible,.button input[type=file]:focus-visible{outline:0}.toast{z-index:200;left:50%;bottom:calc(var(--footer) + 20px);max-width:min(520px,100vw - 32px);min-height:44px;color:var(--surface);background:var(--ink);opacity:0;pointer-events:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;transition:all .2s;display:flex;position:fixed;transform:translate(-50%,12px);box-shadow:0 10px 30px #0000002e}.toast--error{background:var(--bad)}.toast.is-visible{opacity:1;transform:translate(-50%)}.access-shell{min-height:100dvh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--surface);flex-direction:column;display:flex}.access-header{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:min(1120px,100% - 32px);min-height:72px;margin:0 auto;display:grid}.access-header>strong{font-size:15px}.access-header__teacher{min-height:44px;color:var(--teal);text-underline-offset:4px;background:0 0;border:0;padding:0 4px;font-size:13px;font-weight:750;text-decoration:underline}.access-main{flex:1;align-content:center;width:min(460px,100% - 32px);margin:0 auto;padding:24px 0 clamp(48px,14vh,150px);display:grid}.access-mark{margin-bottom:20px;display:block;overflow:visible}.access-mark ellipse{fill:none;stroke-width:1.5px}.access-mark ellipse:first-child{stroke:var(--teal)}.access-mark ellipse:nth-child(2){stroke:var(--amber)}.access-mark ellipse:nth-child(3){stroke:var(--plum)}.access-main h1{margin-bottom:26px;font-size:clamp(28px,4vw,36px)}.access-main .lede{max-width:500px;margin-bottom:48px;font-family:inherit;font-size:17px;line-height:1.55}.class-code-form{gap:16px;display:grid}.class-code-form input{letter-spacing:.04em;min-height:56px;padding:0 16px;font-size:20px}.access-primary{border-color:var(--teal);background:var(--teal);width:100%;min-height:50px;font-size:15px}.access-primary:disabled{border-color:var(--line);background:var(--surface-subtle);color:var(--muted);opacity:1}.access-primary:hover:not(:disabled){border-color:color-mix(in srgb, var(--teal) 85%, var(--ink));background:color-mix(in srgb, var(--teal) 85%, var(--ink))}.access-message{border-left:3px solid var(--line-strong);background:var(--surface-subtle);margin:0;padding:12px 14px;font-size:13px;line-height:1.45}.access-message--error{border-left-color:var(--bad);background:var(--surface-hover)}.access-help{color:var(--muted);margin-top:26px;font-size:13px}.access-help summary{min-height:44px;color:var(--muted);cursor:pointer;text-underline-offset:4px;align-items:center;font-weight:650;text-decoration:underline;display:flex}.access-help summary:hover{color:var(--teal)}.access-help p{line-height:1.55}.resume-main{width:min(920px,100% - 32px);margin:0 auto;padding:clamp(34px,5vh,56px) 0 56px}.projects-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:28px;padding-bottom:24px;display:flex}.projects-heading h1{margin:0 0 8px;font-size:clamp(32px,4.5vw,42px)}.projects-heading p{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.projects-heading .button{flex:none;min-height:48px}.projects-storage-note{max-width:700px;color:var(--muted);margin:-10px 0 24px;font-size:13px;line-height:1.5}.project-list{gap:12px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-width:0;padding:20px;display:grid}.project-card.is-current{border-left:3px solid var(--teal);padding-left:18px}.project-card__copy{min-width:0}.project-card__title{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.project-card__title h2{overflow-wrap:anywhere;white-space:normal;min-width:0;margin:0;font-family:inherit;font-size:20px;font-weight:780;line-height:1.35}.project-card__title span{color:var(--teal);background:var(--teal-pale);padding:3px 7px;font-size:11px;font-weight:700}.project-card__participant{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px}.project-card__meta{color:var(--muted);flex-wrap:wrap;gap:7px 16px;margin-top:13px;font-size:13px;line-height:1.4;display:flex}.project-card__meta span{align-items:center;gap:6px;display:inline-flex}.project-card__meta strong{color:var(--teal)}.project-card__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.project-card__open{min-width:132px;min-height:48px}.projects-empty{border:1px solid var(--line);background:var(--surface-subtle);justify-items:start;gap:8px;padding:34px;display:grid}.projects-empty h2,.projects-empty p{margin:0}.projects-empty h2{font-family:inherit;font-size:20px}.projects-empty p{color:var(--muted);margin-bottom:10px;line-height:1.5}.access-session-line{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin-top:20px;font-size:13px;display:flex}.access-session-line button{min-height:44px;color:var(--ink);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.recovery-notice{border:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--surface-subtle);text-align:left;gap:5px;width:100%;margin:18px 0;padding:14px;display:grid}.recovery-notice span{color:var(--muted);font-size:13px;line-height:1.45}.button-stack{gap:10px;display:grid}.app-header{height:calc(var(--header) + var(--safe-top));padding-top:var(--safe-top);padding-right:calc(32px + var(--safe-right));padding-left:calc(32px + var(--safe-left))}.progress-track{top:calc(var(--header) + var(--safe-top) - 2px)}.workspace{padding-top:calc(var(--header) + var(--safe-top) + 52px);padding-bottom:calc(var(--footer) + var(--safe-bottom) + 52px)}.workspace--stage-0{padding-top:calc(var(--header) + var(--safe-top) + 24px)}.workspace--stage-3{padding-top:calc(var(--header) + var(--safe-top) + 30px);padding-bottom:calc(var(--footer) + var(--safe-bottom) + 30px)}.app-footer{height:calc(var(--footer) + var(--safe-bottom));padding-right:calc(32px + var(--safe-right));padding-bottom:var(--safe-bottom);padding-left:calc(32px + var(--safe-left))}.toast{bottom:calc(var(--footer) + var(--safe-bottom) + 20px)}.text-button,.icon-button,.edge-add{min-height:44px}.icon-button,.edge-add{width:44px;height:44px}.candidate-actions button,.release-controls button{min-height:44px}.map-toolbar{align-items:flex-end}.map-layout{grid-template-columns:minmax(0,1fr);min-height:610px}.map-layout.has-inspector{grid-template-columns:minmax(0,1fr) 370px}.canvas-wrap{touch-action:none;min-height:610px;overflow:hidden}.graph-canvas{cursor:grab;touch-action:none;overscroll-behavior:contain;width:100%;max-width:100%;height:100%;min-height:610px;display:block}.graph-canvas.is-panning{cursor:grabbing;touch-action:none}.viewport-layer{transform-origin:0 0}.graph-node{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.graph-node:active{cursor:grabbing}.graph-node .node-card{fill:var(--surface);stroke:var(--scale-accent,var(--ink));stroke-width:2px;filter:drop-shadow(0 3px 6px #00000012)}.graph-node--micro{--scale-accent:var(--micro);color:var(--micro)}.graph-node--meso{--scale-accent:var(--meso);color:var(--meso)}.graph-node--macro{--scale-accent:var(--macro);color:var(--macro)}.graph-node--integration{--scale-accent:var(--integration);color:var(--integration)}.graph-node--exosphere{--scale-accent:var(--exosphere);color:var(--exosphere)}.graph-node--macrosphere{--scale-accent:var(--macrosphere);color:var(--macrosphere)}.graph-node--retired{opacity:.48}.graph-node--retired .node-card{stroke-dasharray:2 6}.graph-node .node-selection-ring{fill:none;stroke:var(--teal);stroke-width:4px;filter:none}.graph-node.is-selected .node-card{fill:var(--surface);stroke:var(--scale-accent,var(--ink))}.graph-node.is-selected .node-label,.graph-node.is-selected .node-type,.graph-node.is-selected .node-evidence{fill:var(--ink)}.node-label{fill:var(--ink);text-anchor:middle;font-size:16px;font-weight:750}@media (width>=601px){.graph-node--meso .node-label{font-size:18px}}.node-type{fill:var(--muted);text-anchor:middle;text-transform:none;font-size:7.5px}.node-evidence{fill:var(--ink);text-anchor:middle;font:800 8px ui-monospace,monospace}.graph-edge{cursor:pointer}.graph-edge.is-muted{opacity:.2}.graph-canvas--ecology .graph-edge.is-muted{opacity:.48}.graph-edge.is-muted:hover{opacity:.72}.edge-hit{fill:none;pointer-events:stroke;stroke:#0000!important;stroke-width:22px!important}.edge-selection-halo{stroke:var(--teal);stroke-width:9px;stroke-linecap:round;opacity:.34;fill:none;pointer-events:none}.edge-line{fill:none;stroke:var(--muted)!important;stroke-width:1.8px!important}.graph-edge--retired{opacity:.45}.graph-edge--retired .edge-line{stroke-dasharray:2 6}.graph-edge.is-selected .edge-line{stroke:var(--teal)!important;stroke-width:4px!important}.graph-edge-label.is-selected .edge-label-bg{stroke:var(--teal);stroke-width:2px}#arrowhead path{fill:var(--muted)}.canvas-chrome{z-index:6;pointer-events:none;position:absolute;inset:0}.canvas-chrome__top{position:absolute;top:12px;right:12px}.canvas-chrome__bottom{justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.canvas-control-group{pointer-events:auto;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 96%, transparent);display:inline-flex;box-shadow:0 10px 26px #0000001a}.canvas-control-group button{background:var(--surface);white-space:nowrap;border:0;min-width:44px;min-height:44px;padding:0 11px;font-size:13px;font-weight:750;line-height:1.15}.canvas-control-group button+button{border-left:1px solid var(--line)}.canvas-control-group button:hover,.canvas-control-group button[aria-expanded=true],.canvas-control-group button[aria-pressed=true]{color:var(--teal);background:var(--teal-pale)}.canvas-control-group--navigation button[aria-label=Zoom\ out],.canvas-control-group--navigation button[aria-label=Zoom\ in]{width:44px;padding:0;font-size:21px;line-height:1}.map-move-control{display:flex;position:relative}.map-move-control>button{border-left:1px solid var(--line)}.map-move-controls{border:1px solid var(--line);background:var(--line);grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);gap:1px;width:134px;height:134px;padding:0;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 12px 30px #00000024}.map-move-controls button{min-width:44px;min-height:44px;padding:0;font-size:20px;border:0!important}.map-move-controls button:first-child{grid-area:1/2}.map-move-controls button:nth-child(2){grid-area:2/1}.map-move-controls button:nth-child(3){grid-area:2/3}.map-move-controls button:nth-child(4){grid-area:3/2}.phone-inspector-trigger,.phone-label{display:none}.map-legend{z-index:8;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface) 98%, transparent);width:min(560px,100% - 24px);position:absolute;top:68px;bottom:68px;right:12px;overflow:auto;box-shadow:0 16px 40px #00000024}.map-legend__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:48px;padding-left:16px;display:flex}.map-legend__head button{background:0 0;border:0;place-items:center;width:48px;height:48px;display:grid}.legend-grid{grid-template-columns:1fr;gap:18px;padding:18px;display:grid}.legend-grid h3{margin-bottom:12px;font-family:inherit;font-size:12px}.modal-context{color:var(--muted);margin:-8px 0 18px;font-size:13px;font-weight:700}.legend-grid ul{color:var(--muted);gap:10px;margin:0;padding:0;font-size:13px;line-height:1.4;list-style:none;display:grid}.legend-grid li{align-items:center;gap:9px;min-height:24px;display:flex}.legend-grid p{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.5}.level-guide{gap:12px;margin:0;display:grid}.level-guide>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(128px,.48fr) minmax(0,1fr);align-items:start;gap:12px;padding-bottom:11px;display:grid}.level-guide>div:last-child{border-bottom:0;padding-bottom:0}.level-guide dt{align-items:center;gap:9px;min-height:24px;font-size:13px;font-weight:700;display:flex}.level-guide dd{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.map-conventions li{grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);align-items:start;display:grid}.map-conventions strong{color:var(--ink);font-size:12px}.map-conventions span{min-width:0}.legend-symbol{background:var(--surface);border:2px solid;border-radius:3px;flex:none;width:22px;height:12px;display:inline-block}.legend-symbol--micro{color:var(--micro)}.legend-symbol--meso{color:var(--meso)}.legend-symbol--macro{color:var(--macro)}.legend-symbol--integration{color:var(--integration)}.legend-symbol--exosphere{color:var(--exosphere)}.legend-symbol--macrosphere{color:var(--macrosphere)}.ecology-layers{pointer-events:none}.ecology-layer{transition:opacity .16s}.ecology-layer>ellipse{stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.ecology-layer--micro{color:var(--micro)}.ecology-layer--meso{color:var(--meso)}.ecology-layer--exosphere{color:var(--exosphere)}.ecology-layer--macrosphere{color:var(--macrosphere)}.ecology-layer--micro>ellipse{fill:color-mix(in srgb, var(--micro) 6%, #fff)}.ecology-layer--meso>ellipse{fill:color-mix(in srgb, var(--meso) 6%, #fff)}.ecology-layer--exosphere>ellipse{fill:color-mix(in srgb, var(--exosphere) 5%, #fff)}.ecology-layer--macrosphere>ellipse{fill:color-mix(in srgb, var(--macrosphere) 3%, #fff)}.ecology-layer.is-muted{opacity:.16}.ecology-layer__label rect{fill:var(--surface);stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.ecology-layer__label text{fill:currentColor;text-anchor:middle;font-size:15px;font-weight:700}.ecology-layer--meso .ecology-layer__label text{font-size:22px}.graph-canvas--ecology .edge-label-bg{fill:color-mix(in srgb, var(--surface) 96%, transparent)}.inspector{min-height:0;overflow:auto}.inspector__head{z-index:4;background:var(--surface);grid-template-columns:minmax(0,1fr);display:grid;position:static}.inspector__head h2{overflow-wrap:anywhere;white-space:normal;min-width:0;line-height:1.4}.inspector-done{min-width:64px;min-height:var(--control-height);border:1px solid var(--teal);background:var(--teal);color:var(--surface);justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:750;display:inline-flex}.map-item-action{width:calc(100% - 28px);min-height:var(--control-height);border:1px solid var(--line);background:var(--surface);color:var(--ink);margin:12px 14px 4px;font-size:13px;font-weight:700}.map-item-action:hover{border-color:var(--line-strong);background:var(--surface-hover)}.inspector-add-menu{display:block;position:relative}.inspector-add-menu>button{min-width:64px;min-height:var(--control-height);border:1px solid var(--line);background:var(--surface);padding:0 12px;font-size:13px;font-weight:750}.inspector-add-menu>div{z-index:9;border:1px solid var(--line-strong);background:var(--surface);min-width:156px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 26px #00000024}.inspector-add-menu>div button{min-height:var(--control-height);border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.3}.inspector-add-menu>div button:last-child{border-bottom:0}.inspector-tabs{z-index:3;border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,1fr);display:grid;position:static}.inspector-tabs button{min-height:var(--control-height);border:0;border-right:1px solid var(--line);background:var(--surface);padding:7px 8px;font-size:12px;font-weight:750;line-height:1.25}.inspector-tabs button:last-child{border-right:0}.inspector-tabs button[aria-selected=true]{color:var(--teal);box-shadow:inset 0 -3px var(--teal)}.annotation-save{color:var(--muted);font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.annotation-save--queued:before{content:"○ "}.annotation-save--saved:before{content:"✓ ";color:var(--teal)}.annotation-save--error{color:var(--bad)}.annotation-save--error:before{content:"! ";font-weight:700}.node-summary{border:1px solid var(--line)}.node-summary>summary{justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 12px;list-style:none;display:flex}.node-summary>summary::-webkit-details-marker{display:none}.node-summary>summary:after{content:"+";margin-left:auto;font-size:18px;font-weight:500}.node-summary[open]>summary:after{content:"−"}.node-summary>summary span{font-size:13px;font-weight:700}.node-summary>summary strong{min-width:0;color:var(--muted);overflow-wrap:anywhere;text-align:right;white-space:normal;font-size:12px;font-weight:600;line-height:1.3}.node-summary__body{border-top:1px solid var(--line);gap:14px;padding:14px 12px;display:grid}.node-position-controls{gap:7px;display:grid}.node-position-controls>span{color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:700}.node-position-controls>div{border:1px solid var(--line);grid-template-columns:repeat(4,minmax(44px,1fr));display:grid}.node-position-controls button{border:0;border-right:1px solid var(--line);background:var(--surface);min-width:44px;min-height:44px;font-size:18px}.node-position-controls button:last-child{border-right:0}.node-position-controls button:hover{color:var(--teal);background:var(--teal-pale)}.claim-evidence{border:1px solid var(--line);background:var(--surface);gap:12px;padding:14px;display:grid}.claim-evidence__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.claim-evidence__head h3{font:800 12px/1.35 var(--sans);margin:0}.claim-evidence__head button,.claim-evidence-record__remove{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:36px;color:var(--ink);padding:0 10px;font-size:12px;font-weight:750}.claim-evidence__head button:hover,.claim-evidence-record__remove:hover{border-color:var(--teal);color:var(--teal)}.claim-evidence__intro{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.claim-evidence__list{gap:8px;display:grid}.claim-evidence-record,.relationship-process{border:1px solid var(--line)}.claim-evidence-record>summary,.relationship-process>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:8px 10px;list-style:none;display:flex}.claim-evidence-record>summary::-webkit-details-marker{display:none}.relationship-process>summary::-webkit-details-marker{display:none}.claim-evidence-record>summary:after,.relationship-process>summary:after{content:"+";font-size:17px;font-weight:500}.claim-evidence-record[open]>summary:after,.relationship-process[open]>summary:after{content:"−"}.claim-evidence-record>summary span,.relationship-process>summary span{font-size:12px;font-weight:700}.claim-evidence-record>summary strong,.relationship-process>summary strong{color:var(--muted);margin-left:auto;font-size:11px;font-weight:650}.claim-evidence-record__body,.relationship-process__body{border-top:1px solid var(--line);gap:13px;padding:12px;display:grid}.claim-evidence-record__remove{border-color:var(--line);color:var(--ink);justify-self:start}.relationship-process__body>p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.annotation-disclosure{border:1px solid var(--line)}.annotation-disclosure+.annotation-disclosure{margin-top:-1px}.annotation-disclosure>button{background:var(--surface);text-align:left;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 12px;display:flex}.annotation-disclosure>button span{font-size:13px;font-weight:700}.annotation-disclosure>div{border-top:1px solid var(--line);padding:12px}.relationship-picker{border:1px solid var(--line);max-height:190px;display:grid;overflow:auto}.relationship-picker button{border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;gap:4px;min-height:52px;padding:9px 10px;display:grid}.relationship-picker button:last-child{border-bottom:0}.relationship-picker button.is-selected{background:var(--teal-pale);box-shadow:inset 3px 0 var(--teal)}.relationship-picker span{font-size:11px;line-height:1.35}.relationship-picker strong{color:var(--teal)}.relationship-picker small{color:var(--muted);font-size:11px}.map-summary{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:5px 8px;padding:14px;display:grid}.map-summary strong{font-size:22px}.map-summary span{color:var(--muted);font-size:11px}@media (width<=900px){:root{--header:56px;--footer:60px}.app-header{padding-right:calc(18px + var(--safe-right));padding-left:calc(18px + var(--safe-left))}.brand__home,.brand small{display:none}.header-actions{gap:2px}.text-button{padding:0 7px;font-size:13px}.workspace,.workspace--stage-3{padding:calc(var(--header) + var(--safe-top) + 34px) 18px calc(var(--footer) + var(--safe-bottom) + 40px)}.app-footer{padding-right:calc(18px + var(--safe-right));padding-left:calc(18px + var(--safe-left))}.intake-grid,.preflight-grid,.model-grid,.revision-grid,.connection-stage__layout,.map-layout{grid-template-columns:1fr}.inspector{border-top:1px solid var(--line);border-left:0}.graph-canvas{min-height:520px}.memo-panel{margin-top:10px}.candidate-row{grid-template-columns:34px minmax(0,1fr)}.candidate-actions{grid-column:2;grid-template-columns:repeat(3,1fr)}.candidate-actions button{border-right:1px solid var(--line);text-align:center;border-bottom:0}.candidate-actions button:last-child{border-right:0}.instructor-panel{grid-template-columns:1fr}.instructor-panel>.privacy-note{grid-column:auto}.export-strip{grid-template-columns:1fr}.export-actions{justify-content:flex-start}.teacher-dashboard__title{grid-template-columns:1fr;gap:22px}.teacher-session{border-top:1px solid var(--line);text-align:left;border-left:0;grid-template-columns:auto auto 1fr;place-items:center start;gap:8px 12px;min-width:0;padding:14px 0 0}.teacher-session .button{justify-self:end;margin:0}.teacher-controls{grid-template-columns:minmax(0,1fr) minmax(160px,210px);gap:16px}.teacher-controls>.button{grid-column:1/-1;justify-self:start}.teacher-workbench{grid-template-columns:1fr}.teaching-profile-create{grid-template-columns:1fr 1fr}.teaching-profile-create>.button{grid-column:1/-1;justify-self:start}.teaching-profile-preview{border-top:1px solid var(--line);border-left:0}.module-list{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;display:grid}.module-list>.eyebrow{grid-column:1/-1;margin:0 0 10px}.module-list button{border:1px solid var(--line)}.module-list button:nth-of-type(2n){border-left:0}.module-list button.is-selected{border-color:var(--ink)}.teacher-history{border-top:1px solid var(--line);border-left:0}.teacher-history ol{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-history li{padding:13px 12px 13px 0}.teacher-history li:nth-child(2n){border-left:1px solid var(--line);padding-left:12px;padding-right:0}.effective-preview{grid-template-columns:1fr;gap:18px}.teacher-review-grid{grid-template-columns:minmax(210px,.62fr) minmax(0,1.38fr)}.teacher-review-grid--queue-only{grid-template-columns:minmax(0,1fr)}.instructor-response{border-top:1px solid var(--line-strong);border-left:0;grid-column:1/-1}.instructor-response form{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);align-items:start}.instructor-response__prompt{grid-column:1/-1}.instructor-response__guidance{grid-column:1}.instructor-response .review-decision{grid-area:2/2}.instructor-response form>.field:not(.instructor-response__guidance),.instructor-response form>.teacher-message,.instructor-response form>.button{grid-column:1/-1}.instructor-response form>.button{justify-self:start}}@media (width<=600px){:root{--control-height:48px;--control-font:14px}.app-header{padding-right:calc(12px + var(--safe-right));padding-left:calc(12px + var(--safe-left))}.app-header--student{gap:8px}.app-header--student .lab-logo{height:19px}.app-header--student .text-button{min-width:0;padding:0 5px;font-size:12px}.app-header--student .header-actions{gap:0}.lab-logo{height:22px}.brand strong{font-size:13px}.header-actions{gap:0}.text-button{justify-content:center;min-width:44px;padding:0;font-size:0}.text-button .icon{width:20px;height:20px}.workspace,.workspace--stage-3{padding-left:14px;padding-right:14px}.workspace--stage-3{padding-left:0;padding-right:0}.project-context-fields{grid-template-columns:1fr}h1{font-size:clamp(28px,8.5vw,32px)}h2{font-size:21px}.lede{margin-bottom:26px;font-size:15px;line-height:1.5}.withheld-note{grid-template-columns:1fr;gap:4px}.footer-context strong{display:none}.app-footer{padding-right:calc(10px + var(--safe-right));padding-left:calc(10px + var(--safe-left))}.footer-actions{gap:2px}.button{padding:0 13px}.stage-title-row,.section-heading,.map-toolbar{display:grid}.outcome{grid-template-columns:auto auto auto;gap:9px;width:100%;min-height:78px}.map-toolbar__controls{grid-template-columns:auto minmax(0,1fr);gap:8px;width:100%;display:grid}.map-presentation-toggle{flex:none}.map-presentation-toggle button{min-width:64px;min-height:46px;padding:0 10px}.map-toolbar__controls label{min-width:0}.map-layer-control{grid-column:2}.map-removed-toggle,.map-show-all{grid-column:1/-1}.map-toolbar select{min-width:0}.map-toolbar label{font-size:12px}.map-show-all{flex:none;min-height:48px;font-size:13px}.map-focus-bar{flex-direction:column;align-items:stretch;font-size:13px}.map-focus-bar__actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.map-focus-bar button{min-height:44px;font-size:13px}.field-pair{grid-template-columns:1fr}.candidate-row{grid-template-columns:1fr;gap:10px}.candidate-row__count{display:none}.candidate-actions{grid-column:1}.candidate-expression,.candidate-expression--edge{grid-template-columns:1fr;align-items:start}.candidate-expression span{display:none}.connection-prompt-panel,.connection-preview-panel{padding:18px}.connection-preview,.connection-preview svg{min-height:250px}.map-stage{width:100%}.map-toolbar,.map-overview-hint{padding:0 14px}.map-toolbar h1{font-size:26px}.map-layout{border-left:0;border-right:0;min-height:0;display:block}.canvas-wrap{height:min(70dvh,680px);min-height:520px;overflow:hidden}.graph-canvas{width:100%;max-width:100%;height:100%;min-height:0}.graph-canvas--ecology{min-height:0}.node-label{font-size:26px}.node-evidence{font-size:18px}.edge-label{font-size:26px}.ecology-layer__label text{font-size:24px}.ecology-layer--meso .ecology-layer__label text{font-size:26px}.ecology-layer__label rect{height:48px;transform:translateY(-6px)}.edge-hit{stroke-width:110px!important}.canvas-chrome__top{top:8px;right:8px}.canvas-chrome__bottom{gap:8px;bottom:8px;left:8px;right:8px}.canvas-control-group button{min-width:44px;min-height:44px;padding:0 9px;font-size:13px}.canvas-control-group--navigation button[aria-label=Zoom\ out],.canvas-control-group--navigation button[aria-label=Zoom\ in]{width:44px;font-size:21px}.canvas-control-group--actions{margin-left:auto}.canvas-control-group--actions button{min-width:58px}.phone-inspector-trigger,.phone-label{justify-content:center;align-items:center;display:inline-flex}.desktop-label{display:none}.canvas-control-group .phone-inspector-trigger{color:var(--teal)}.canvas-wrap.is-inspector-open .canvas-chrome{visibility:hidden;pointer-events:none}.map-legend{width:auto;inset:60px 8px}.legend-grid{grid-template-columns:1fr;gap:20px;padding:16px}.legend-grid ul,.legend-grid p{font-size:13px}.inspector{z-index:70;right:0;bottom:calc(var(--footer) + var(--safe-bottom));visibility:hidden;pointer-events:none;border-top:1px solid var(--line-strong);max-height:min(46dvh,460px);transform:translateY(calc(100% + var(--footer) + var(--safe-bottom)));border-left:0;transition:transform .2s,visibility 0s linear .2s;position:fixed;left:0;overflow:auto;box-shadow:0 -18px 50px #0000002e}.inspector.is-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.inspector__head{gap:10px;min-height:0;padding:12px 14px}.inspector__head h2{font-size:16px;line-height:1.4}.inspector__actions{gap:7px}.inspector-done,.inspector-add-menu>button,.inspector-tabs button{min-height:48px;font-size:13px}.relationship-picker button{min-height:52px;padding:10px 12px}.relationship-picker span{font-size:13px;line-height:1.4}.inspector-done{justify-content:center;align-items:center;display:inline-flex}.inspector-tabs{top:auto}.inspector__body,.add-form{padding:18px 14px calc(22px + var(--safe-bottom))}.review-intro{gap:18px}.next-level{grid-template-columns:1fr;padding:14px}.next-level>p:last-child{grid-area:auto/1;margin-top:10px}.level-progress-summary{padding:12px}.sharing-row{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal,.modal--wide{width:100%;max-height:calc(100dvh - 16px - var(--safe-top));border-bottom:0;border-left:0;border-right:0}.modal__body{padding:20px 16px calc(32px + var(--safe-bottom))}.field input,.field textarea,.field select,.map-toolbar select,.candidate-expression input,.candidate-expression select,.relationship-verb-editor{font-size:16px}.memo-text,.reflection,.prompt-editor{font-size:16px!important}.candidate-actions button{min-height:48px;font-size:13px}.access-header{width:calc(100% - 28px);min-height:64px}.access-header>strong{font-size:13px}.access-header__teacher{font-size:12px}.access-main,.resume-main{width:calc(100% - 32px);padding-top:42px}.access-main h1{font-size:30px}.access-main .lede{margin-bottom:38px;font-size:16px}.projects-heading{flex-direction:column;align-items:stretch;gap:18px}.projects-heading h1{font-size:31px}.projects-heading .button{width:100%}.project-card{grid-template-columns:1fr;gap:18px;padding:18px 16px}.project-card.is-current{padding-left:14px}.project-card__actions{grid-template-columns:1fr 1fr;display:grid}.project-card__actions .button{min-width:0;padding:0 8px;font-size:13px}.project-card__open{width:100%}.access-session-line{align-items:flex-start}.teacher-access{padding-top:0}.teacher-access h1,.teacher-dashboard__title h1{font-size:29px}.account-list,.access-form{grid-template-columns:1fr}.account-list button{border-right:0;border-bottom:1px solid var(--line)}.account-list button:last-child{border-bottom:0}.access-form .teacher-message,.access-form>.button{grid-column:1}.teacher-session{grid-template-columns:1fr auto}.teacher-session>span{grid-column:1/-1}.teacher-session .button{grid-area:2/2}.teacher-dashboard>.studio-heading>.studio-heading__actions{width:100%}.teacher-dashboard .teacher-session{border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.teacher-dashboard .teacher-session form{margin:0}.teacher-controls{grid-template-columns:1fr;align-items:stretch}.teacher-controls .model-switch{flex-wrap:wrap;gap:8px 18px}.teacher-controls>.button{grid-column:1;width:100%}.teaching-profile-create{grid-template-columns:1fr}.teaching-profile-create>.button{grid-column:1;width:100%}.teaching-profile-editor,.teaching-profile-preview{padding:22px 16px}.teaching-profile-editor textarea{min-height:132px;font-size:16px}.course-stage-nav{scroll-snap-type:x proximity;max-width:100%;overflow-x:auto}.course-stage-nav ol{grid-template-columns:repeat(5,minmax(164px,1fr))}.course-stage-nav li{scroll-snap-align:start}.module-list{grid-template-columns:1fr;padding:14px}.module-list button:nth-of-type(2n){border-left:1px solid var(--line)}.module-list button+button{border-top:0}.module-editor{padding:22px 16px}.module-editor__head{grid-template-columns:1fr;gap:16px}.prompt-editor{min-height:280px!important}.teacher-history ol{grid-template-columns:1fr}.teacher-history li,.teacher-history li:nth-child(2n){border-left:0;padding:13px 0}.effective-preview pre{padding:16px}.teacher-dashboard__sections{width:100%}.teacher-dashboard__sections button{flex:1;font-size:14px}.teacher-review-grid{display:block}.submission-queue{border-right:0;border-bottom:1px solid var(--line-strong);padding-top:18px}.teacher-review-grid--queue-only .submission-queue{border-bottom:0}.submission-queue>.review-column-heading{margin-inline:16px}.submission-queue__list{scroll-snap-type:x proximity;max-width:100%;display:flex;overflow-x:auto}.submission-queue__list li{border-right:1px solid var(--line);scroll-snap-align:start;border-bottom:0;min-width:min(82vw,290px)}.submission-queue__list button{min-height:88px;font-size:13px}.student-work{padding:26px 16px}.student-work__memo{max-height:230px;font-size:16px!important}.instructor-response{padding:24px 16px}.instructor-response form{grid-template-columns:1fr;display:grid}.instructor-response__prompt,.instructor-response__guidance,.instructor-response .review-decision,.instructor-response form>.field:not(.instructor-response__guidance),.instructor-response form>.teacher-message,.instructor-response form>.button{grid-area:auto/1}.review-decision__actions{grid-template-columns:1fr}.instructor-response textarea{font-size:16px}}@media (width<=360px){.canvas-control-group button{padding-left:6px;padding-right:6px;font-size:13px}.canvas-control-group--actions button{min-width:54px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.lab-logo,.button,.dry-run-panel,.account-initials{forced-color-adjust:none}.graph-node .node-card{fill:canvas;stroke:canvastext}.graph-node .node-selection-ring{fill:none;stroke:highlight}.graph-edge .edge-line{stroke:canvastext!important}.graph-edge .edge-selection-halo{stroke:highlight;opacity:1}.graph-edge.is-selected .edge-line{stroke:highlight!important}.canvas-control-group button[aria-expanded=true],.canvas-control-group button[aria-pressed=true],.inspector-tabs button[aria-selected=true],.relationship-picker button.is-selected{color:highlight;background:canvas;border-color:highlight}.legend-symbol{color:canvastext!important}.ecology-layer{opacity:1;color:canvastext!important}.ecology-layer>ellipse,.ecology-layer__label rect{fill:canvas;stroke:canvastext}.ecology-layer__label text{fill:canvastext}.submission-queue__list button.is-selected,.review-decision__actions button[aria-pressed=true]{color:highlight;background:canvas;box-shadow:inset 4px 0 highlight}.suggestion-annotation{border-left-color:canvastext!important}}.memo-drawer{border:1px solid var(--line);background:var(--surface);margin:22px 0 26px}.memo-drawer>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;list-style:none;display:flex}.memo-drawer>summary::-webkit-details-marker{display:none}.memo-drawer__title{gap:2px;display:grid}.memo-drawer__title strong{font-size:14px}.memo-drawer__title small{color:var(--muted);font-size:12px}.memo-drawer__mark{flex:none;width:16px;height:16px;position:relative}.memo-drawer__mark:before,.memo-drawer__mark:after{content:"";background:var(--ink);width:16px;height:1.5px;position:absolute;inset:50% auto auto 0}.memo-drawer__mark:after{transform:rotate(90deg)}.memo-drawer[open] .memo-drawer__mark:after{display:none}.memo-drawer[open]>summary{border-bottom:1px solid var(--line)}.memo-drawer>.field{padding:18px}.memo-drawer .memo-text{min-height:220px}.coverage-banner{border:1px solid var(--line);border-left:3px solid var(--blue);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 24px;margin:4px 0 26px;padding:16px 18px;display:grid}.coverage-banner__text h2{font:750 13px/1.3 var(--sans);letter-spacing:.04em;margin:0 0 8px}.coverage-banner__text p{margin:0;font-size:14px;line-height:1.55}.coverage-banner__text p+p{margin-top:8px}.coverage-banner__stale{color:var(--muted);font-size:13px}.coverage-banner .button-row{flex:none;margin:0}.memo-guidance h2,.memo-scaffold h2{margin:0 0 12px;font-size:19px;font-weight:500}.memo-guidance .criterion-row p{margin:0 0 8px;font-size:14px;line-height:1.6}.memo-guidance blockquote{border-left:2px solid var(--line);color:var(--muted);margin:6px 0 0;padding:8px 14px;font-size:13px;line-height:1.55}.memo-scaffold{border:1px solid var(--line-strong);background:var(--surface);align-self:start;padding:20px}.memo-scaffold .eyebrow{color:var(--teal)}.memo-scaffold__connections{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.memo-scaffold__connections li{border-top:1px solid var(--line);gap:3px;padding-top:12px;display:grid}.memo-scaffold__claim{font-size:13px;line-height:1.5}.memo-scaffold__claim em{text-underline-offset:3px;font-style:normal;text-decoration:underline}.memo-scaffold__connections small{color:var(--muted);font-size:11.5px;line-height:1.5}.memo-scaffold__example{background:var(--teal-pale);margin-top:20px;padding:14px 16px}.memo-scaffold__example p:last-child{margin:6px 0 0;font-size:13px;line-height:1.6}.memo-scaffold>.privacy-note{margin-top:18px}.candidate-steps{margin-bottom:24px}.candidate-progress{color:var(--muted);margin:0 0 14px;font-size:13px;font-weight:500}.candidate-pagination{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:8px 0;display:flex}.candidate-pagination span{color:var(--muted);font-size:12px;font-weight:700}.candidate-pagination div{gap:6px;display:flex}.candidate-pagination button{border:1px solid var(--line);background:var(--surface);min-height:38px;padding:0 12px;font-size:12px;font-weight:750}.candidate-pagination button:not(:disabled):hover{border-color:var(--teal);color:var(--teal)}.candidate-step-actions{margin-top:28px}.candidate-note>summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:700;list-style:none}.candidate-note>summary::-webkit-details-marker{display:none}.candidate-note>summary:before{content:"+ "}.candidate-note[open]>summary:before{content:"−"}.candidate-note[open]>.field{margin-top:10px}.connection-hint{border:1px solid var(--line);background:var(--surface);margin-top:14px}.connection-hint>summary{cursor:pointer;padding:12px 14px;font-size:13px;font-weight:700;list-style:none}.connection-hint>summary::-webkit-details-marker{display:none}.connection-hint>summary:before{content:"+ ";color:var(--muted)}.connection-hint[open]>summary:before{content:"−"}.connection-hint>.field{padding:0 14px 14px}@media (width<=900px){.coverage-banner{grid-template-columns:1fr}}body.map-fullscreen-open{overflow:hidden}.map-stage.is-fullscreen{z-index:100;width:100%;max-width:none;height:100dvh;padding:max(12px, var(--safe-top)) max(12px, var(--safe-right)) max(12px, var(--safe-bottom)) max(12px, var(--safe-left));background:var(--surface-subtle);flex-direction:column;margin:0;display:flex;position:fixed;inset:0;overflow:hidden}.map-stage.is-fullscreen>.memo-drawer{display:none}.map-stage.is-fullscreen .map-toolbar{flex:none;align-items:end;min-height:52px}.map-stage.is-fullscreen .map-toolbar h1{font-size:24px}.map-stage.is-fullscreen .map-presentation-toggle{display:none}.map-stage.is-fullscreen .map-layout{flex:1 1 0;height:0;min-height:0;overflow:hidden}.map-stage.is-fullscreen .canvas-wrap,.map-stage.is-fullscreen .graph-canvas,.map-stage.is-fullscreen .inspector{height:100%;min-height:0}.map-stage.is-fullscreen .canvas-wrap{touch-action:none}@media (width<=600px){.map-stage.is-fullscreen{padding:max(8px, var(--safe-top)) 0 max(8px, var(--safe-bottom))}.map-stage.is-fullscreen .map-toolbar{align-items:end;gap:10px;min-height:48px;padding:0 10px;display:flex}.map-stage.is-fullscreen .map-toolbar h1{flex:none;font-size:22px}.map-stage.is-fullscreen .map-toolbar__controls{flex:1;width:auto;display:block}.map-stage.is-fullscreen .map-layer-control{display:block}.map-stage.is-fullscreen .map-layer-control>span{display:none}.map-stage.is-fullscreen .map-layer-control select{min-height:44px}.map-stage.is-fullscreen .map-focus-bar,.map-stage.is-fullscreen .map-overview-hint{margin-left:10px;margin-right:10px}.map-stage.is-fullscreen .map-layout{height:0;min-height:0}.map-stage.is-fullscreen .canvas-wrap,.map-stage.is-fullscreen .graph-canvas{height:100%;min-height:0}.map-stage.is-fullscreen .inspector{max-height:min(54dvh,520px);bottom:0}}.level-test{border-left:2px solid var(--plum);background:var(--plum-pale);max-width:720px;color:var(--ink);margin:-8px 0 20px;padding:10px 14px;font-size:13px;line-height:1.5}.basis-chip{border:1px solid var(--plum);color:var(--plum);letter-spacing:.02em;border-radius:999px;margin-right:10px;padding:2px 8px;font-size:12px;font-weight:650;display:inline-block}.connection-node-list span.is-inferred{border-style:dashed}.connection-node-list span.is-inferred em{color:var(--plum);font-size:12px;font-style:normal}.memo-scaffold__structures{gap:12px;margin:0 0 18px;padding:0;list-style:none;display:grid}.memo-scaffold__structures li{gap:4px;display:grid}.memo-scaffold__structures small{color:var(--plum)}.memo-scaffold__pending{color:var(--muted);font-weight:400}.theme-toggle{width:40px;min-width:40px;height:40px;min-height:40px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.theme-toggle:hover{color:var(--teal);background:var(--teal-pale)}.theme-toggle__icon{border-radius:50%;width:15px;height:15px;transition:box-shadow .18s;box-shadow:inset 0 0 0 1.5px}.app-header--student .theme-toggle--labeled{border-radius:var(--radius);justify-content:center;align-items:center;gap:7px;width:auto;min-width:60px;min-height:44px;padding:0 8px;font-size:13px;font-weight:650;display:inline-flex}.access-header__actions{align-items:center;gap:12px;margin-left:auto;display:inline-flex}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f1f4f3;--muted:#b4bebc;--line:#495553;--teal:#78cbc2;--teal-pale:#173d3a;--amber:#e3bc65;--amber-pale:#403116;--plum:#d6addf;--plum-pale:#39213e;--good:#e6eae8;--good-pale:#26302f;--warn:#d3d9d7;--warn-pale:#343b3a;--bad:#f1f4f3;--bad-pale:#303837;--surface:#171d1c;--surface-subtle:#202827;--canvas:#111615;background:var(--canvas)}html[data-theme=dark] body,html[data-theme=dark] .app-shell,html[data-theme=dark] .access-shell{color:var(--ink);background:var(--surface)}html[data-theme=dark] .app-header,html[data-theme=dark] .app-footer{background:color-mix(in srgb, var(--surface) 94%, transparent)}html[data-theme=dark] .workspace--stage-3,html[data-theme=dark] .map-stage.is-fullscreen{background:var(--canvas)}html[data-theme=dark] .theme-toggle__icon{background:0 0;box-shadow:inset -4px -4px #f1f4f3}html[data-theme=dark] .theme-toggle:hover{background:var(--teal-pale)}html[data-theme=dark] .skip-link{color:var(--surface);background:var(--ink)}html[data-theme=dark] :is(.button:not(.button--secondary):not(.button--ghost),.candidate-actions button.is-active,.map-presentation-toggle button[aria-pressed=true],.is-selected .account-initials,.course-stage-nav button.is-active,.inspector-done,.elicitation-panel__chips button.is-active,.toast){color:#101514}html[data-theme=dark] :is(.button--secondary,.button--ghost){color:var(--ink)}html[data-theme=dark] .button--secondary,html[data-theme=dark] .field input,html[data-theme=dark] .field textarea,html[data-theme=dark] .field select,html[data-theme=dark] .map-toolbar select,html[data-theme=dark] .candidate-expression input,html[data-theme=dark] .candidate-expression select,html[data-theme=dark] .map-presentation-toggle,html[data-theme=dark] .map-presentation-toggle button,html[data-theme=dark] .map-show-all,html[data-theme=dark] .map-toolbar .map-removed-toggle,html[data-theme=dark] .map-focus-bar button,html[data-theme=dark] .canvas-control-group button,html[data-theme=dark] .inspector-tabs,html[data-theme=dark] .inspector-tabs button,html[data-theme=dark] .inspector-add-menu>button,html[data-theme=dark] .inspector-add-menu>div,html[data-theme=dark] .inspector-add-menu>div button,html[data-theme=dark] .node-position-controls button,html[data-theme=dark] .relationship-picker button,html[data-theme=dark] .annotation-disclosure>button{color:var(--ink);background:var(--surface)}html[data-theme=dark] .map-presentation-toggle button[aria-pressed=true]{color:var(--surface);background:var(--ink)}html[data-theme=dark] :is(.modal,.dry-run-panel,.connection-prompt-panel,.carried-node-summary,.map-layout,.inspector,.memo-drawer,.coverage-banner,.memo-scaffold,.elicitation-panel,.project-card,.teacher-model-review,.claim-evidence,.connection-hint){background:var(--surface)}html[data-theme=dark] :is(.guardrail-panel,.repair-source-fields,.connection-preview-panel,.add-form,.next-level,.level-progress-summary,.projects-empty,.scope-editor,.teaching-profile-preview,.instructor-response,.criterion-row blockquote){background:var(--surface-subtle)}html[data-theme=dark] .upload-zone,html[data-theme=dark] .connection-preview{background-color:var(--canvas);background-image:linear-gradient(#27302f 1px,#0000 1px),linear-gradient(90deg,#27302f 1px,#0000 1px)}html[data-theme=dark] .graph-canvas{background:var(--canvas)}html[data-theme=dark] .graph-node .node-card,html[data-theme=dark] .graph-node.is-selected .node-card,html[data-theme=dark] .connection-preview__node rect,html[data-theme=dark] .connection-preview__label rect,html[data-theme=dark] .edge-label-bg,html[data-theme=dark] .ecology-layer__label rect{fill:var(--surface)}html[data-theme=dark] .graph-canvas--ecology .edge-label-bg{fill:color-mix(in srgb, var(--surface) 96%, transparent)}html[data-theme=dark] .ecology-layer--micro>ellipse{fill:color-mix(in srgb, var(--micro) 15%, var(--canvas))}html[data-theme=dark] .ecology-layer--meso>ellipse{fill:color-mix(in srgb, var(--meso) 14%, var(--canvas))}html[data-theme=dark] .ecology-layer--exosphere>ellipse{fill:color-mix(in srgb, var(--exosphere) 13%, var(--canvas))}html[data-theme=dark] .ecology-layer--macrosphere>ellipse{fill:color-mix(in srgb, var(--macrosphere) 10%, var(--canvas))}@media (width<=600px){.theme-toggle{width:40px;min-width:40px;height:40px;min-height:40px}.app-header--student .theme-toggle--labeled{gap:5px;min-width:52px;padding:0 5px;font-size:12px}.access-header__actions{gap:7px}}.scope-editor{border:1px solid var(--line);border-left:3px solid var(--macrosphere);background:var(--surface-subtle);gap:10px;margin:10px 0 6px;padding:12px 14px;display:grid}.scope-editor__mode label{align-items:center;gap:10px;font-size:13px;font-weight:650;display:flex}.scope-editor__mode select{height:34px;padding:0 8px;font-size:13px}.scope-editor__members{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scope-chip{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.scope-chip:hover{background:var(--bad-pale)}.scope-editor__add{max-width:220px;height:34px;padding:0 8px;font-size:13px}.scope-editor__empty{color:var(--muted);font-size:13px}.micro-context-editor{border:1px solid var(--line);border-left:3px solid var(--micro);background:color-mix(in srgb, var(--micro) 8%, var(--surface));gap:12px;margin:10px 0 6px;padding:12px 14px;display:grid}.micro-context-editor .field{margin:0}.micro-membership-editor{gap:6px;min-width:0;display:grid}.micro-membership-editor .scope-editor__add{max-width:min(100%,260px)}.elicitation-panel{border:1px solid var(--line);background:var(--surface);margin:28px 0 8px;padding:20px}.elicitation-panel h2{margin:0 0 4px;font-size:19px}.elicitation-panel .lede{max-width:640px;margin:0 0 16px}.elicitation-panel__chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.elicitation-panel__chips button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}.elicitation-panel__chips button.is-active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.elicitation-panel__form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px 16px;display:grid}.elicitation-panel__form>.field:has(textarea){grid-column:1/-1}.elicitation-panel__form .button{height:var(--control-height);grid-column:1/-1;justify-self:start}@media (width<=720px){.elicitation-panel__form{grid-template-columns:1fr}}.scope-field{fill:var(--plum);stroke:var(--plum);opacity:.12;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.scope-field.is-selected{opacity:.2}.scope-field.is-muted{opacity:.06}.micro-setting-region{fill:var(--micro);stroke:var(--micro);opacity:.065;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.micro-setting-region.is-selected{opacity:.12}.micro-setting-region.is-muted{opacity:.025}.meso-link-line{stroke:var(--meso);stroke-width:3px;stroke-dasharray:9 7;opacity:.7;pointer-events:none}.meso-link-line.is-muted{opacity:.28}.privacy-note,.disclosure-button small,.field__hint,.check-row small,.criterion-row p,.criterion-row small,.next-action,.candidate-row__main>p,.candidate-note>summary,.candidate-progress,.connection-hint>summary,.map-focus-bar,.map-focus-bar__summary small,.map-overview-hint,.inspector details summary,.history-panel>summary,.history-panel>summary strong,.timeline strong,.timeline p,.timeline small,.memo-drawer__title small,.readiness-banner__stale,.memo-guidance blockquote,.memo-scaffold__claim,.memo-scaffold__connections small,.memo-scaffold__example p:last-child,.scope-editor__empty{font-size:13px;line-height:1.5}.field__label,.check-row strong,.candidate-actions button,.release-controls button,.map-toolbar select,.map-focus-bar button,.inspector-done,.inspector-add-menu>button,.inspector-add-menu>div button,.inspector-tabs button{font-size:14px}.tag{font-size:12px}@media (width<=600px){.map-stage.is-fullscreen .inspector{max-height:min(42dvh,430px)}}.map-stage{animation:none}.map-connections,.project-overview{border:1px solid var(--line);background:var(--surface)}.map-connections>summary,.project-overview>summary{cursor:pointer;min-height:48px;padding:12px;font-size:14px;font-weight:650}.map-connections>summary span{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:8px}.map-connections__body,.project-overview__body{padding:0 12px 12px}.map-connections p,.project-overview p{color:var(--muted);font-size:13px;line-height:1.5}.map-connections h3{font:650 13px/1.4 var(--body);margin:16px 0 8px}.map-connections ul,.map-search ul{margin:0;padding:0;list-style:none}.map-connections li+li,.map-search li+li{border-top:1px solid var(--line)}.map-connections li button,.map-search li button{background:var(--surface);text-align:left;overflow-wrap:anywhere;border:0;gap:3px;width:100%;min-height:48px;padding:9px 6px;display:grid}.map-connections button:hover,.map-search button:hover{background:var(--surface-hover)}.map-connections button strong,.map-search button strong{font-size:14px;line-height:1.4}.map-connections button span,.map-search button span{color:var(--muted);font-size:12px;line-height:1.4}.map-trace-back{border:0;border-bottom:1px solid var(--line);background:var(--surface-subtle);text-align:left;overflow-wrap:anywhere;width:100%;min-height:44px;padding:8px 14px;font-size:13px}.map-search{align-self:end;position:relative}.map-search>summary{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;min-height:44px;padding:12px;font-size:14px;font-weight:650}.map-search__panel{z-index:15;border:1px solid var(--line-strong);background:var(--surface);width:min(340px,100vw - 28px);max-height:min(440px,60dvh);padding:14px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 8px 24px #0002}.map-search__panel label{margin-bottom:6px;font-size:14px;font-weight:650;display:block}.map-search input{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:44px;padding:8px;font-size:16px}.map-search p{color:var(--muted);margin:10px 0;font-size:13px}.project-overview{margin:22px 0}.project-overview>summary span{color:var(--muted);margin-left:16px;font-size:13px;font-weight:450}.project-overview__levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;display:grid}.project-overview__levels>section{border-top:1px solid var(--line);min-width:0;padding-top:12px}.project-overview__level-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-overview__level-heading h3{font:650 15px/1.4 var(--body);margin:0}.project-overview__level-heading button{color:var(--teal);text-underline-offset:3px;background:0 0;border:0;font-size:13px;text-decoration:underline}.project-overview__levels p{margin:5px 0}.project-overview__levels details{margin-top:8px;font-size:13px}.project-overview__levels summary{cursor:pointer;min-height:44px;padding:10px 0}.project-overview__reflection{white-space:pre-wrap;overflow-wrap:anywhere}.map-help{margin:0 0 16px;padding:0;font-size:13px}.map-help summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}.map-help dl{gap:10px;margin:4px 0;display:grid}.map-help dl>div{grid-template-columns:minmax(90px,1fr) 2fr;gap:12px;display:grid}.map-help dt{font-weight:650}.map-help dd{color:var(--muted);margin:0}.layout-history{gap:8px;display:flex}.layout-history button{border:1px solid var(--line);background:var(--surface);flex:1;min-height:44px;padding:8px;font-size:13px}.map-details-trigger{justify-content:center;align-items:center;display:inline-flex}.graph-canvas.is-space-panning,.graph-canvas.is-space-panning .graph-node{cursor:grab}.graph-canvas.is-panning,.graph-canvas.is-panning .graph-node{cursor:grabbing}.map-stage>.memo-drawer{margin:0 0 16px}.map-stage>.memo-drawer>summary{min-height:48px;padding:10px 16px}.map-stage .memo-drawer__title{align-items:baseline;gap:10px;display:flex}.map-toolbar,.map-focus-bar,.map-overview-hint{flex-shrink:0}.map-layout:has(.map-list-view){height:auto;min-height:360px}.inspector .project-overview{margin:0}.inspector .project-overview__levels{grid-template-columns:1fr}@media (width>=601px){.graph-canvas .node-label{font-size:18px}.workspace--stage-3{height:100dvh;min-height:720px;padding-top:calc(var(--header) + 20px);padding-bottom:calc(var(--footer) + 20px);display:flex}.map-stage{flex-direction:column;min-height:0;display:flex}.map-stage>.memo-drawer{flex-shrink:0}.map-layout{flex:1;height:0;min-height:360px}.canvas-wrap,.graph-canvas,.graph-canvas--ecology{height:100%;min-height:0}.map-layout>.inspector{max-height:100%}}@media (width<=600px){.map-stage:not(.is-fullscreen):not(:has(>.memo-drawer[open])) .canvas-chrome__bottom{bottom:calc(var(--footer) + var(--safe-bottom) + 8px);position:fixed}.workspace--stage-3{padding-top:calc(var(--header) + 12px)}.map-stage>.memo-drawer{margin:0 14px 12px}.map-toolbar{gap:10px;margin-bottom:12px}.map-toolbar__controls{grid-template-columns:auto minmax(0,1fr) auto}.map-layer-control{grid-column:2}.map-search{grid-area:1/3}.map-search>summary{min-height:48px;padding:14px 8px}.map-toolbar select{width:100%;padding-right:20px}.map-search__panel{right:0}.project-overview>summary span{margin:4px 0 0 16px;display:block}.project-overview__levels{grid-template-columns:1fr}.footer-context{flex-shrink:0}.footer-context .step-position{font-size:12px}}:root{--ink:#121a2b;--muted:#344054;--line:#b8c5d5;--line-strong:#7b93b6;--surface:#f8fafc;--surface-subtle:#fff;--surface-hover:#edf3fa;--canvas:#fff;--grid-line:#edf1f5;--blue:#164e91;--pale-blue:#edf3fa;--teal:#164e91;--teal-pale:#edf3fa;--body:"Source Sans 3 Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display:var(--body);--radius:8px;--control-font:15px;--control-height:44px;--header:68px;--footer:70px}html[data-theme=dark]{--ink:#f1f1f1;--muted:#d3d3d3;--line:#5b5b5b;--line-strong:#858585;--surface:#171717;--surface-subtle:#242424;--surface-hover:#303030;--canvas:#1c1c1c;--grid-line:#2d2d2d;--blue:#9cc4ff;--pale-blue:#252e3a;--teal:#9cc4ff;--teal-pale:#252e3a;--amber:#e6c480;--amber-pale:#322d23;--plum:#c8b5e8;--plum-pale:#302938;--good:#f1f1f1;--good-pale:#303030;--warn:#d3d3d3;--warn-pale:#303030;--bad:#f1f1f1;--bad-pale:#303030}h1,h2,h3{font-family:var(--body);text-wrap:balance}h1{letter-spacing:-.035em;font-size:clamp(30px,3.4vw,46px);font-weight:620;line-height:1.1}h2{letter-spacing:-.015em;font-weight:650}p{line-height:1.5}.button,.studio-action{border-radius:var(--radius);gap:8px;min-height:44px;font-size:15px;font-weight:600}.button:not(.button--secondary,.button--ghost){background:var(--blue);color:#fff;border-color:var(--blue)}html[data-theme=dark] .button:not(.button--secondary,.button--ghost){color:#171717;background:#f1f1f1;border-color:#f1f1f1}.button--secondary{background:var(--surface-subtle);color:var(--ink);border:1px solid var(--line)}.button--ghost{color:var(--muted);background:0 0}.button:hover:not(:disabled){filter:none}.button--secondary:hover:not(:disabled),.button--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}input:not([type=checkbox],[type=file]),textarea,select{background:var(--surface-subtle);border-color:var(--line);border-radius:6px;font-size:16px}textarea{line-height:1.55}.field__label{color:var(--muted);font-size:14px;font-weight:600}.lede{font-family:var(--body);color:var(--muted);max-width:64ch;font-size:17px;line-height:1.5}.wide{width:min(1080px,100%)}.intake-stage,.review-stage,.workspace--stage-2>.wide{width:min(780px,100%)}.app-header{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 clamp(18px,3vw,44px)}.brand strong{font-family:var(--body);font-size:18px;font-weight:650}.brand__home{border:0;padding-left:8px}.header-actions{gap:4px}.header-actions .text-button{padding:0 14px;font-size:15px;font-weight:600}.header-actions .text-button[aria-current=page]{background:var(--surface-hover);color:var(--blue)}.access-shell{background:var(--surface)}.access-header{background:var(--surface);border-bottom:1px solid var(--line);padding:20px clamp(20px,5vw,64px)}.access-header>strong{font-family:var(--body);font-weight:650}html[data-theme=dark] .lab-logo{filter:grayscale()brightness(0)invert()}.access-header__teacher{color:var(--muted);font-size:14px;font-weight:500}.theme-toggle--labeled{justify-content:center;align-items:center;gap:8px;width:auto;min-width:74px;font-size:14px;display:inline-flex}.access-main{text-align:left;width:min(700px,100% - 48px);margin:clamp(46px,10vh,100px) auto;padding:0}.access-main .studio-heading h1{margin:0;font-size:clamp(42px,6vw,68px)}.access-main .lede{margin:16px 0 0;font-size:20px}.class-code-form{width:min(380px,100%);margin:38px 0 0}.class-code-form .field__label{font-size:15px}.access-primary{width:100%}.access-help{margin-top:22px;font-size:14px}.studio-heading{justify-content:space-between;align-items:center;gap:24px;margin:0 0 26px;display:flex}.studio-heading h1{margin:0}.studio-heading .lede{margin:12px 0 0}.studio-heading__actions{flex:none}.studio-levels{border-bottom:1px solid var(--line);gap:0;margin:0 0 30px;padding:0;list-style:none;display:flex}.studio-levels li{color:var(--muted);flex:1;align-items:center;gap:10px;padding:12px 0 16px;font-size:15px;display:flex}.studio-levels .is-current{color:var(--ink);box-shadow:0 2px var(--blue);font-weight:650}.studio-levels__number{border:1px solid var(--line);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.studio-levels .is-current .studio-levels__number{background:var(--blue);border-color:var(--blue);color:var(--surface)}.studio-levels .is-complete .studio-levels__number{color:var(--blue)}.studio-disclosure{border-top:1px solid var(--line);margin:14px 0}.studio-disclosure>summary{min-height:48px;color:var(--muted);cursor:pointer;align-items:center;gap:12px;font-size:15px;font-weight:600;list-style:none;display:flex}.studio-disclosure>summary:after{content:"+";margin-left:auto;font-size:20px;font-weight:400}.studio-disclosure[open]>summary:after{content:"−"}.studio-disclosure>summary::-webkit-details-marker{display:none}.studio-disclosure__body{padding:0 0 16px}.studio-dashboard{width:min(1040px,100% - 48px);margin:64px auto}.studio-projects{border-top:1px solid var(--line);margin:32px 0 44px}.studio-project{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:28px 0;display:flex}.studio-project__copy{min-width:0}.studio-project h2{overflow-wrap:anywhere;margin:0;font-size:23px}.studio-project p{color:var(--muted);margin:6px 0 0;font-size:15px}.studio-project .studio-project__detail{font-size:13px}.studio-project__actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.studio-empty{border-top:1px solid var(--line);padding:56px 0}.studio-empty h2{margin:0;font-size:27px}.studio-empty p{color:var(--muted);margin:12px 0 24px}.workspace-details{max-width:440px}.intake-grid{flex-direction:column;align-items:stretch;gap:16px;display:flex}.intake-grid>div{flex-direction:column;display:flex}.intake-grid .upload-zone{text-align:left;border:1px dashed var(--line);border-radius:var(--radius);background:0 0;flex-flow:wrap;order:2;gap:8px 12px;min-height:52px;margin:12px 0 0;padding:12px 16px}.intake-grid .upload-zone .icon{width:18px;height:18px}.intake-grid .upload-zone span{color:var(--muted);font-size:12px}.intake-grid .field{width:100%}.intake-grid .memo-text{width:100%;min-height:300px;font-family:var(--body);font-size:17px}.intake-grid .memo-panel{background:0 0;border:0;padding:0}.intake-grid .disclosure-button{border-top:1px solid var(--line);min-height:48px;padding:0}.intake-grid .disclosure-button small{display:none}.project-details{border:0;border-top:1px solid var(--line);background:0 0;margin:0 0 18px}.project-details>summary{min-height:44px;color:var(--muted);padding:10px 0;font-size:15px}.project-context-fields{padding:14px 0}.memo-drawer{border-radius:var(--radius);background:0 0}.memo-fork{flex:none;align-self:flex-start;margin-top:12px;display:inline-flex;position:relative}.memo-drawer>.memo-fork{margin:0 18px 16px}.memo-fork__button{border:1px solid var(--line);border-radius:var(--radius);width:44px;height:44px;color:var(--ink);background:var(--surface-subtle);justify-content:center;align-items:center;padding:0;display:inline-flex}.memo-fork__button:hover{border-color:var(--line-strong);background:var(--surface-hover)}.memo-fork__button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.memo-fork__tooltip{z-index:20;border:1px solid var(--line-strong);background:var(--surface-subtle);width:max-content;max-width:min(220px,100vw - 64px);color:var(--ink);overflow-wrap:anywhere;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:500;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 3px 12px #0002}.memo-fork__tooltip[hidden]{display:none}.memo-fork__tooltip:after{content:"";height:8px;position:absolute;top:100%;left:0;right:0}.review-intro{justify-content:space-between;align-items:center;gap:20px;margin:24px 0;display:flex}.suggestion-preference{color:var(--muted);font-size:15px}.coverage-banner{border:0;border-top:1px solid var(--line);background:0 0;margin:28px 0 0;padding:20px 0}.coverage-banner h2{margin:0;font-size:20px}.coverage-banner p{color:var(--muted);margin:6px 0 0;font-size:15px}.review-summary{margin:0;padding:0;list-style:none}.review-summary li{border-bottom:1px solid var(--line);gap:6px;padding:12px 0;display:grid}.review-summary span{color:var(--muted);font-size:14px;line-height:1.5}.studio-feedback{margin-bottom:24px}.studio-feedback p{margin:0 0 8px;font-size:16px}.studio-feedback blockquote{border-left:2px solid var(--line);color:var(--muted);margin:0;padding-left:16px;font-size:14px}.candidate-steps{gap:8px;margin:12px 0 20px}.candidate-steps button{border:1px solid #0000;border-radius:6px;min-height:44px;padding:0 18px;font-size:15px}.candidate-steps button.is-active{border-color:var(--line);background:var(--surface-subtle);color:var(--ink)}.candidate-refresh-row{justify-content:flex-end;margin:8px 0}.candidate-progress{color:var(--muted);margin:16px 0;font-size:14px}.candidate-list{border:0}.candidate-row{border:1px solid var(--line);background:var(--surface-subtle);box-shadow:none;border-radius:10px;grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}.candidate-row--rejected{opacity:1}.candidate-row__count{display:none}.candidate-row__main{flex-direction:column;gap:16px;min-width:0;display:flex}.candidate-expression{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.candidate-expression input{flex:280px;width:100%;min-width:0;min-height:52px;padding:12px;font-size:21px;font-weight:600}.candidate-expression>span{display:none}.candidate-expression select{flex:0 170px;width:auto;max-width:100%;min-height:44px;font-size:14px}.candidate-expression--edge{grid-template-columns:1fr;gap:12px;display:grid}.candidate-expression--edge strong{overflow-wrap:anywhere;font-size:19px}.candidate-expression--edge select{width:100%;min-width:0;max-width:none}.candidate-details{order:3;margin:0}.decision-evidence{border-left:2px solid var(--line);color:var(--muted);overflow-wrap:anywhere;margin:0;padding-left:14px;font-size:15px;line-height:1.55}.candidate-actions{border:0;flex-wrap:wrap;grid-column:1;gap:8px;display:flex}.candidate-actions button{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:6px;flex:1;padding:10px 14px;font-size:15px}.candidate-actions button.is-active{color:var(--surface);background:var(--ink);border-color:var(--ink)}.studio-review-pager{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin:20px 0;font-size:14px;display:flex}.studio-review-pager>div{gap:8px;display:flex}.elicitation-panel{border-radius:8px;margin-top:30px}.map-toolbar{align-items:center;gap:20px}.map-toolbar h1{margin:0;font-size:clamp(27px,3vw,38px)}.map-review-action{min-height:36px;color:var(--muted);margin:8px 0 0;padding:0;font-size:14px}.candidate-endpoints{grid-template-columns:1fr 1fr;gap:14px;display:grid}.workspace--stage-2 .studio-heading .studio-action{padding:0 8px;font-size:14px}.workspace--stage-2 .memo-drawer{margin:16px 0}.workspace--stage-2 .memo-drawer>summary{min-height:48px;padding:10px 14px}.workspace--stage-2 .memo-drawer__title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.manual-addition .elicitation-panel{background:0 0;border:0;margin:0;padding:0}.map-toolbar__controls{gap:12px}.map-toolbar__controls select{font-size:15px}.map-presentation-toggle{border-radius:7px}.map-presentation-toggle button{min-height:44px;font-size:14px}.canvas-control-group{border-radius:6px}.canvas-controls{gap:10px}.map-layout,.canvas-wrap{border-radius:8px}.inspector h2{font-family:var(--body);font-size:24px;font-weight:600}.app-footer{background:var(--surface)}.footer-context{font-size:14px}.step-position{color:var(--muted)}.teacher-dashboard__title .eyebrow{display:none}.teacher-dashboard__title .lede{font-size:17px}.teacher-dashboard__title h1{font-size:38px}@media (width<=700px){.studio-heading{flex-wrap:wrap;align-items:flex-start;gap:16px}.studio-dashboard{margin:36px auto}.studio-project{flex-direction:column;align-items:flex-start;gap:18px}.studio-project__actions{width:100%}.studio-project__actions>.button{justify-content:center;width:100%}.access-header{flex-wrap:wrap;gap:10px;padding:14px 20px}.access-header>strong{font-size:16px}.access-header__actions{margin-left:auto}.access-header__teacher{font-size:13px}.access-main{width:calc(100% - 40px);margin-top:40px}.access-main .lede{margin-bottom:0;font-size:18px}.studio-levels li{gap:6px;font-size:13px}.studio-levels__number{width:20px;height:20px;font-size:11px}.app-header--student{flex-wrap:wrap;gap:0;height:102px;padding:12px 18px 6px}.app-header--student .brand{width:100%}.app-header--student .header-actions{grid-template-columns:repeat(4,1fr);gap:0;width:100%;display:grid}.app-header--student .header-actions .text-button,.app-header--student .theme-toggle--labeled{justify-content:center;width:auto;min-width:0;min-height:44px;padding:0 8px;font-size:14px}.app-shell:has(.app-header--student){--header:102px}.brand .lab-logo{height:22px}.brand strong{font-size:17px}.workspace{padding-left:18px;padding-right:18px}.review-intro{flex-direction:column;align-items:flex-start;gap:16px}.candidate-row{padding:18px}.candidate-expression input{font-size:19px}.candidate-expression select{flex:1}.candidate-actions button{min-width:90px;padding:10px 8px;font-size:14px}.studio-review-pager .button{padding:0 12px;font-size:14px}.workspace--stage-2 .studio-heading{flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:12px}.workspace--stage-2 .studio-heading h1{font-size:27px}.workspace--stage-2 .studio-heading__actions{flex:none}.workspace--stage-2 .studio-levels{margin-bottom:12px}.workspace--stage-2 .studio-levels li{padding:8px 0 12px}.workspace--stage-2 .candidate-steps{margin-bottom:12px}.workspace--stage-2 .candidate-decision-progress{margin:12px 0}.map-toolbar h1{font-size:29px}.map-toolbar__controls{gap:8px}.map-toolbar__controls .map-search{flex:100%}.canvas-controls{gap:6px}.canvas-control-group button{font-size:13px}}@media (width<=600px){.workspace--stage-3{height:100dvh;min-height:680px;padding-top:calc(var(--header) + 12px);padding-bottom:calc(var(--footer) + var(--safe-bottom) + 12px);display:flex}.map-stage:not(.is-fullscreen){flex-direction:column;flex:1;min-height:0;display:flex}.map-stage>.memo-drawer,.map-toolbar,.map-overview-hint,.map-focus-bar{flex-shrink:0}.map-toolbar{gap:12px;margin-bottom:12px}.map-toolbar>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.map-review-action{min-height:44px;margin:0;font-size:13px}.map-toolbar h1{font-size:27px}.map-layout:not(:has(.map-list-view)){flex:1;height:0;min-height:220px}.canvas-wrap,.graph-canvas,.graph-canvas--ecology{height:100%;min-height:0}:is(.map-stage:not(.is-fullscreen) .canvas-chrome__bottom,.map-stage:not(.is-fullscreen):not(:has(>.memo-drawer[open])) .canvas-chrome__bottom){position:absolute;bottom:8px;left:8px;right:8px}:is(.workspace--stage-3:has(.memo-drawer[open]),.workspace--stage-3:has(.map-list-view)){height:auto}.map-stage:has(>.memo-drawer[open]) .map-layout{min-height:420px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
