@font-face{font-family:Bricolage;src:url('assets/BricolageGrotesque-Bold.ttf') format('truetype');font-weight:700;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2f5fa;color:#142b44;font:16px/1.55 'Segoe UI',Arial,sans-serif}a{color:#276b91;text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b58e30;outline-offset:4px}header,main,footer{max-width:1320px;margin:auto;padding-left:44px;padding-right:44px}header{display:flex;justify-content:space-between;align-items:center;padding-top:25px;padding-bottom:24px;border-bottom:1px solid #d2dce7}.brand{font-family:Bricolage,sans-serif;color:#142b44;font-size:25px;text-decoration:none}.brand span{display:block;font:12px/1.5 'Segoe UI',sans-serif;color:#55687c}.source-link{font-size:14px}.intro{display:grid;grid-template-columns:1.5fr 1fr;gap:68px;align-items:center;padding:58px 0 45px}.note{color:#426c85;font-size:14px;margin:0 0 13px}h1,h2,h3{font-family:Bricolage,sans-serif;line-height:1.08;letter-spacing:-.045em;margin:0}h1{font-size:clamp(36px,4.25vw,59px)}.lead{max-width:550px;color:#4a6074;font-size:18px;margin:22px 0 26px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.button{background:#276b91;color:#fff;padding:12px 20px;border-radius:6px;font-weight:600;text-decoration:none}.button:hover{background:#1d5575}.text-link{font-weight:600;font-size:14px}.capture{border-left:3px solid #c7a752;padding:3px 0 3px 25px}.signal{display:flex;gap:9px;align-items:center;font-weight:600;font-size:14px}.signal span{width:8px;height:8px;background:#39735e;border-radius:50%}dl{margin:16px 0}dt{font-size:12px;color:#5d7183}dd{margin:1px 0 13px;font-size:14px;font-weight:600}.capture p{font-size:12px;color:#66788a;max-width:330px}.workspace{background:white;border:1px solid #cedae7;border-radius:12px;overflow:hidden;box-shadow:0 12px 42px #233f5d0a}.toolbar{padding:24px 28px;border-bottom:1px solid #dbe3ec;display:flex;align-items:end;gap:25px;flex-wrap:wrap}.toolbar h2{font-size:26px}.toolbar p{font-size:13px;margin:7px 0 0;color:#63778a}.search{margin-left:auto;font-size:12px;color:#526c80}.search span{display:block;margin-bottom:5px}.search input{border:1px solid #bdcddd;border-radius:5px;padding:10px 12px;font:14px 'Segoe UI',sans-serif;width:235px;color:#142b44;background:#fbfcfe}.exports{display:flex;gap:11px;font-size:12px;padding-bottom:10px}.split{display:grid;grid-template-columns:1.2fr 1fr;min-height:460px}.table-wrap{overflow-x:auto;max-height:535px;overflow-y:auto;border-right:1px solid #dbe3ec}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}thead{position:sticky;top:0;background:#eef3f8;z-index:1}th{padding:12px 20px;font-size:12px;color:#60758a;font-weight:600}td{padding:13px 20px;border-bottom:1px solid #edf1f6}td:first-child{width:70%}.course-button{border:0;background:none;padding:0;text-align:left;color:inherit;cursor:pointer;width:100%;font:inherit}.course-button strong{display:block;font-size:12px;letter-spacing:.03em;color:#32617e}.course-button span{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:#263e53}tr.selected{background:#eaf2f9}tr:hover{background:#f2f7fb}.check{color:#39735e;font-size:12px;white-space:nowrap}.credit{white-space:nowrap;font-variant-numeric:tabular-nums}#empty{padding:20px;color:#526c80}#detail{padding:29px;background:#fcfdff}.detail-code{font:13px ui-monospace,Consolas,monospace;color:#547791;margin:0 0 11px}#detail h3{font-size:26px;line-height:1.18;max-width:430px;letter-spacing:-.025em}.source-box{margin-top:24px;background:#edf3f8;border-radius:6px;padding:15px;font-size:13px}.source-box p{margin:0 0 7px;color:#64798b}.record-fields{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px;margin:23px 0}.record-fields dd{font-weight:500}.validation{font-size:12px;color:#39735e;margin:18px 0}.preview{font-size:14px;color:#5a6e81}.label{font-size:12px;font-weight:600;color:#52708a;margin-bottom:8px}.payload{background:#142b44;color:#d9e8f4;border-radius:6px;padding:15px;overflow:auto;font-size:11px;line-height:1.6;max-height:205px;white-space:pre-wrap;overflow-wrap:anywhere}.method{display:grid;grid-template-columns:1fr 1.7fr;gap:65px;padding:65px 0 45px}.method h2,.engineering h2{font-size:32px}.method>div p,.engineering p{color:#5b7083;font-size:14px;max-width:460px}.method ol{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;counter-reset:steps}.method li{position:relative;padding-left:37px;counter-increment:steps}.method li:before{content:counter(steps);position:absolute;left:0;top:0;font-family:Bricolage,sans-serif;color:#a48532;font-size:23px}.method li strong{font-size:15px}.method li p{font-size:13px;color:#627789;margin:6px 0}.engineering{display:grid;grid-template-columns:1fr 1.3fr;gap:65px;border-top:1px solid #cdd9e5;padding:38px 0 50px}.code-panel{background:#e5edf5;padding:22px;border-radius:8px}.code-panel pre{font:12px/1.7 ui-monospace,Consolas,monospace;overflow:auto;margin:0 0 20px}.code-panel a{font-size:12px;margin-right:20px;display:inline-block}footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#6f8092;padding-top:20px;padding-bottom:25px;border-top:1px solid #d2dce7}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#error{padding:18px;color:#a03535;background:#fff1f1;border:1px solid #efbaba;border-radius:6px}@media(max-width:1000px){.intro{gap:30px}.toolbar{gap:15px}.exports{width:100%;padding:0}.method,.engineering{gap:35px}.split{grid-template-columns:1fr 1fr}}@media(max-width:700px){header,main,footer{padding-left:20px;padding-right:20px}.brand{font-size:21px}.source-link{max-width:115px;text-align:right;font-size:12px}.intro{display:block;padding:35px 0 28px}.capture{margin-top:32px}h1{font-size:40px}.lead{font-size:16px}.toolbar{padding:20px}.toolbar>div:first-child{width:100%}.search{margin:0;width:100%}.search input{width:100%}.split{display:block}.table-wrap{max-height:360px;border-right:0;border-bottom:1px solid #dbe3ec}td,th{padding-left:15px;padding-right:15px}#detail{padding:24px 20px}.method,.engineering{display:block;padding-top:38px}.method ol{margin-top:28px;gap:24px}.code-panel{margin-top:25px}footer{display:block}footer span{display:block;margin-bottom:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
