:root{color:#18253c;font-synthesis:none;--blue:#2563eb;--line:#dce3ee;--muted:#687790;background:#f5f7fb;font:15px/1.5 Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #93b4ff}button{cursor:pointer;white-space:nowrap;border:0;border-radius:8px;padding:10px 16px;font-weight:600}button:disabled{opacity:.5;cursor:wait}input,select,textarea{color:#18253c;background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:100%;padding:10px 12px;display:block}textarea{resize:vertical}label{color:#42516a;font-size:13px;font-weight:600;display:block}label input,label select,label textarea{margin-top:6px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.7px;margin-bottom:8px;font-size:30px;line-height:1.2}h2{margin-bottom:16px;font-size:18px}h3{margin-bottom:10px;font-size:14px}a{color:var(--blue)}.primary{background:var(--blue);color:#fff}.secondary{border:1px solid var(--line);color:#29405f;background:#fff}.text-button{color:#52647f;background:0 0;padding:8px}.full{width:100%}.muted{color:var(--muted);font-size:14px}.eyebrow{letter-spacing:1.8px;color:#6681ad;margin-bottom:13px;font-size:11px;font-weight:700}.wordmark{color:#18305b;letter-spacing:-.5px;align-items:center;gap:10px;font-size:19px;font-weight:750;text-decoration:none;display:flex}.wordmark span{background:var(--blue);color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;font-size:23px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:22px;padding:24px;box-shadow:0 2px 6px #14305c04}.content{max-width:1480px;min-height:calc(100vh - 150px);margin:0 auto;padding:44px 48px}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px;display:flex}.section-heading h2,.section-heading h3,.section-heading p:last-child{margin-bottom:0}.badge,.count{color:#365f9b;white-space:nowrap;background:#eff5ff;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.count{color:#66758c;background:#f0f3f8}.private{color:#8b6728;background:#fff5df}.error{color:#a32a39;overflow-wrap:anywhere;background:#fff0f0;border:1px solid #f4d1d6;border-radius:7px;padding:11px 14px;font-size:13px}.empty{color:var(--muted);padding:22px 0;font-size:14px}.inline-form{flex-wrap:wrap;gap:8px;margin:15px 0 0;display:flex}.inline-form label{flex:1;min-width:100px}.inline-form input{margin:0}.inline-form>.error{width:100%}.inline-form button{padding:9px 13px}.sr-only{color:#0000;font-size:0}.sr-only input,.sr-only select,.sr-only textarea{color:#18253c;font-size:14px}.save-line{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.save-line span,.save-line small{color:var(--muted);font-size:11px}.private-note{border-top:1px solid var(--line);margin-top:22px;padding-top:19px}details{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}summary{cursor:pointer;color:#62728c;font-size:12px}.rename{flex-wrap:wrap;align-items:end;gap:8px;margin-top:15px;display:flex}.rename label{flex:1;min-width:100px}.rename button{padding:9px 13px}.rename>.error{width:100%}.hierarchy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.hierarchy-grid .card{padding:22px}.map-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:22px;display:grid}.map-card{border:1px solid var(--line);text-align:left;white-space:normal;color:#1c355b;background:#fff;border-radius:10px;flex-direction:column;align-items:start;min-height:166px;padding:24px;transition:border-color .15s,box-shadow .15s;display:flex}.map-card:hover{border-color:#86aaff;box-shadow:0 4px 18px #2563eb12}.map-card b{margin-bottom:14px;font-size:16px}.map-card small{color:var(--muted);font-size:12px;font-weight:400}.map-icon,.scenario-icon{color:var(--blue);background:#eaf1ff;border-radius:8px;place-items:center;width:36px;height:36px;margin-bottom:20px;font-size:22px;display:grid}.app-header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:45px;height:78px;padding:0 42px;display:flex}.app-header nav{align-items:center;gap:6px;height:100%;display:flex}.app-header nav button{color:#708099;background:0 0;border-bottom:3px solid #0000;border-radius:0;height:100%;font-size:13px}.app-header nav button[aria-current=page]{border-color:var(--blue);color:var(--blue)}.account{color:#66758c;align-items:center;gap:15px;margin-left:auto;font-size:12px;display:flex}.dev-banner{text-align:center;color:#8b6d35;background:#fff5dc;padding:4px;font-size:11px}footer{text-align:center;color:#98a4b5;padding:18px;font-size:11px}.reviewer-form{align-items:end;gap:18px;max-width:900px;display:flex}.reviewer-form label{flex:1}.reviewer-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;padding:18px 0;display:flex}.reviewer-row:last-child{border:0}.reviewer-row>div{flex:1;min-width:240px}.reviewer-row input{max-width:340px}.reviewer-row p{margin:6px 0 0;font-size:12px}.map-heading{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.map-columns{grid-template-columns:minmax(0,1fr) 340px;gap:24px;display:grid}.map-columns>div:only-child{grid-column:1/-1}.map-columns aside .card{padding:22px}.map-summary{padding-bottom:0}.scenario-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:18px 0;display:flex}.scenario-icon{margin:0}.scenario-row p{color:var(--muted);margin:4px 0 0;font-size:12px}.canvas-empty{text-align:center;border-top:1px solid var(--line);background:radial-gradient(#d8e0ed .8px,#0000 .8px) 0 0/15px 15px;border-radius:0 0 12px 12px;margin:0 -24px;padding:65px 30px}.canvas-empty>span{color:#96a9c6;font-size:27px}.canvas-empty h3{color:#63758f;margin:10px 0;font-size:16px}.canvas-empty p{color:#8d9bb0;font-size:13px}.assignment{border-bottom:1px solid #edf0f5;align-items:center;gap:10px;padding:12px 0;display:flex}.assignment input{width:17px;height:17px;margin:0}.assignment span{flex-direction:column;font-size:12px;display:flex}.assignment small{color:var(--muted);font-size:11px;font-weight:400}.assignment+.full{margin-top:18px}.file-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.file-row a{overflow-wrap:anywhere;flex:1;min-width:100px;font-size:13px}.file-row span{font-size:11px}.upload{border-top:1px solid var(--line);margin-top:15px;padding-top:20px}.upload input[type=file]{padding:8px;font-size:12px}.upload p{color:var(--muted);margin-top:10px;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:14px;display:grid}.login{background:#fff;grid-template-columns:45% 55%;min-height:100vh;display:grid}.login-story{color:#fff;background:#132b51;flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.login-story .wordmark{color:#fff}.login-story h1{letter-spacing:-1.4px;margin:24px 0;font-size:46px;line-height:1.13}.login-story p:not(.eyebrow){color:#b7c9e7;max-width:350px;font-size:15px}.login-story small{color:#819bbb;font-size:11px}.login-story .eyebrow{color:#87a9de}.login-form{place-items:center;padding:45px;display:grid}.login-form form{width:100%;max-width:360px}.login-form h2{letter-spacing:-.5px;margin-bottom:12px;font-size:28px}.login-form form>p:not(.eyebrow){color:var(--muted);margin-bottom:28px;font-size:14px}.login-form label{margin-top:20px}.login-form .primary{width:100%;margin-top:25px}.login-form .text-button{white-space:normal;width:100%;margin-top:12px;font-size:12px}.loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}@media (width<=1150px){.content{padding:30px 24px}.app-header{gap:20px;padding:0 24px}.hierarchy-grid{gap:12px}.hierarchy-grid .card{padding:18px}.map-columns{grid-template-columns:minmax(0,1fr) 300px}}@media (width<=850px){.hierarchy-grid,.map-columns{grid-template-columns:1fr}.reviewer-form{flex-wrap:wrap}.app-header{gap:12px}.account span{display:none}.login{grid-template-columns:1fr}.login-story{padding:24px}.login-story>div:not(.wordmark),.login-story>small{display:none}.login-form{padding:45px 24px}.content{padding:28px 18px}.app-header .wordmark{font-size:16px}.app-header nav button{padding:10px;font-size:12px}.form-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
