.platform-graph-viewport{position:relative;min-height:460px;overflow:hidden;background:#fff}.platform-graph-viewport svg{display:block;width:100%;height:100%;min-height:inherit;cursor:grab}.platform-graph-viewport svg:active{cursor:grabbing}.platform-graph__link{stroke:#1720193d;stroke-linecap:round;transition:opacity .18s ease,stroke .18s ease}.platform-graph__node{cursor:pointer}.platform-graph__node-label{text-anchor:middle;pointer-events:none;font-size:.76rem;font-weight:800}.platform-graph__node.is-dimmed,.platform-graph__link.is-dimmed{opacity:.22}.platform-graph__node.is-focused circle{stroke-width:3}.platform-graph-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px 12px;padding:12px;border-bottom:1px solid var(--line, #d4d3cb);background:var(--paper, #ffffff);font-size:1rem}.platform-graph-toolbar>label{display:grid;gap:5px;min-width:0;color:var(--muted, #66645d);font-size:.72rem;font-weight:800;text-transform:uppercase}.platform-graph-toolbar .search{flex:1 1 220px;min-width:160px}.platform-graph-toolbar .range-control{flex:0 1 170px;min-width:120px}.platform-graph-toolbar input[type=search],.platform-graph-toolbar select{width:100%;min-height:36px;padding:8px 9px;border:1px solid var(--line, #d4d3cb);border-radius:var(--radius-md, 6px);background:var(--paper-soft, #fbfaf6);color:var(--ink, #111111);font:inherit}.platform-graph-toolbar input[type=range]{width:100%;min-height:36px}.platform-graph-toolbar .button,.platform-graph-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:end;min-height:36px;padding:8px 12px;border:1px solid var(--ink, #111111);border-radius:var(--radius-md, 6px);background:var(--paper, #ffffff);color:var(--ink, #111111);font:inherit;font-size:.76rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .12s ease,color .12s ease}.platform-graph-toolbar button:hover:not(:disabled),.platform-graph-toolbar button.active{background:var(--ink, #111111);color:var(--paper, #ffffff)}.platform-graph-toolbar button:disabled{color:var(--muted, #66645d);border-color:var(--line, #d4d3cb);cursor:not-allowed}.platform-graph-toolbar .flow-arrows-toggle,.platform-graph-toolbar .direction-filter{display:inline-flex;align-items:center;gap:6px;align-self:center;min-height:36px;color:var(--ink, #111111);font-size:.78rem;font-weight:600;text-transform:none;-webkit-user-select:none;user-select:none;cursor:pointer}.platform-graph-toolbar .direction-filter select{width:auto;min-height:32px;padding:4px 8px}.platform-graph-toolbar select:disabled{opacity:.45;cursor:not-allowed}.platform-graph-toolbar .course-map-filter-menu{position:relative;align-self:center}.platform-graph-toolbar .course-map-filter-menu summary{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid var(--line, #d4d3cb);border-radius:var(--radius-md, 6px);background:var(--paper-soft, #fbfaf6);color:var(--ink, #111111);cursor:pointer;font-size:.78rem;font-weight:800;text-transform:uppercase;list-style:none}.platform-graph-toolbar .course-map-filter-menu summary::-webkit-details-marker{display:none}.platform-graph-toolbar .course-map-filter-menu__panel{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:min(360px,calc(100vw - 32px));display:grid;gap:10px;padding:12px;border:1px solid var(--ink, #111111);border-radius:var(--radius-md, 6px);background:var(--paper, #fffdf8);box-shadow:8px 8px #1111111f}.platform-reference-section{margin-top:22px}.platform-reference-section .eyebrow{margin-bottom:10px}.mmt-definition-view{position:relative;margin-top:4px;padding:18px;border:1px solid var(--line, #d4d3cb);border-radius:var(--radius-md, 6px);color:#181f1b;background:#fff;font-family:Georgia,Iowan Old Style,Palatino Linotype,serif;font-size:.98rem;line-height:1.72;overflow-wrap:anywhere}.mmt-definition-view p{margin:0;color:#181f1b}.definition-term-ref{display:inline;margin:0 1px;padding:1px 4px;border:0;border-radius:3px;background:#ed028c14;color:#b31572;font:inherit;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.definition-term-ref:hover,.definition-term-ref:focus-visible{background:#ed028c2e;outline:none}.mmt-rich-definition{font-family:Georgia,Iowan Old Style,Palatino Linotype,Book Antiqua,serif;line-height:1.55}.mmt-rich-definition .shtml-title-definition{display:none}.mmt-rich-definition .definiendum,.mmt-rich-definition [shtml\:definiendum]{color:#183f91;font-weight:800;font-style:italic}.mmt-rich-definition .symcomp,.mmt-rich-definition .shtml-comp,.mmt-rich-definition [shtml\:comp],.mmt-rich-definition [data-reference-term-id]{display:inline;margin:0 1px;padding:1px 4px;border-radius:3px;background:#ed028c14;color:#b31572;font-weight:600;cursor:pointer;transition:background .12s ease}.mmt-rich-definition .symcomp:hover,.mmt-rich-definition .shtml-comp:hover,.mmt-rich-definition [shtml\:comp]:hover,.mmt-rich-definition [data-reference-term-id]:hover{background:#ed028c2e}.mmt-rich-definition .varcomp{color:#828282}.mmt-rich-definition math{font-family:"Latin Modern Math",math,serif}.mmt-rich-definition .rustex-paragraph,.mmt-rich-definition .rustex-hbox,.mmt-rich-definition .rustex-text{display:inline;width:auto!important;min-width:0!important}.mmt-rich-definition .rustex-vskip,.mmt-rich-definition .rustex-hskip,.mmt-rich-definition .rustex-VFil,.mmt-rich-definition .rustex-HFil,.mmt-rich-definition .pdfdest,.mmt-rich-definition [shtml\:statementtitle]{display:none!important}.definition-preview-popover{position:fixed;z-index:1200;width:min(380px,calc(100vw - 24px));max-height:min(420px,calc(100vh - 24px));padding:14px 16px;overflow:auto;border:1px solid var(--ink, #181f1b);border-radius:var(--radius-md, 6px);background:#fff;box-shadow:0 18px 44px #1113;color:#181f1b;pointer-events:auto}.definition-preview-popover__label{margin-bottom:8px;color:var(--muted, #6f756f);font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.definition-preview-popover h3{margin:0 0 10px;font-family:Georgia,Iowan Old Style,Palatino Linotype,serif;font-size:1.35rem;line-height:1.05;overflow-wrap:anywhere}.definition-preview-popover p{margin:0;color:#181f1b;font-family:Georgia,Iowan Old Style,Palatino Linotype,serif;font-size:.95rem;line-height:1.55}.definition-preview-popover__content{color:#181f1b;font-family:Georgia,Iowan Old Style,Palatino Linotype,serif;font-size:.95rem;line-height:1.5}.definition-preview-popover__content p,.definition-preview-popover__content .rustex-paragraph{margin:0}.definition-preview-popover--loading,.definition-preview-popover--missing,.definition-preview-popover--error{border-color:var(--line, #d4d3cb)}:root{color-scheme:light;--page-bg: #f7f6f0;--paper: #ffffff;--paper-soft: #fbfaf6;--ink: #111111;--muted: #66645d;--line: #d4d3cb;--highlight: #fbd45b;--radius-md: 6px}html,body,#root{margin:0;padding:0;width:100%;height:100%}[hidden]{display:none!important}body{font-family:IBM Plex Mono,SFMono-Regular,ui-monospace,Consolas,monospace;color:var(--ink);background:var(--page-bg)}.gw-muted{color:var(--muted)}.gw-brand{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--ink);color:var(--paper);font-weight:800;flex:0 0 auto}.gw-btn{min-height:34px;padding:6px 14px;border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.gw-btn:disabled{opacity:.45;cursor:not-allowed}.gw-btn--primary{background:var(--ink);color:var(--paper)}.gw-btn--ghost{border-color:var(--line)}.gw-field{display:grid;gap:5px;width:100%;text-align:left;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.gw-field input{width:100%;box-sizing:border-box;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font:inherit;font-size:.86rem;text-transform:none}.gw-auth-switch{display:grid;grid-template-columns:1fr 1fr;width:100%;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.gw-auth-switch button{min-height:32px;border:0;border-right:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.gw-auth-switch button:last-child{border-right:0}.gw-auth-switch button.is-active{background:var(--ink);color:var(--paper)}.gw-auth-error{width:100%;margin:0;color:#b42318;text-align:left;font-size:.78rem;line-height:1.4}.gw-auth-notice{width:100%;margin:0;color:#1d7a44;text-align:left;font-size:.78rem;line-height:1.4}.gw-linklike{border:0;padding:0;background:none;cursor:pointer;color:var(--muted);font:inherit;font-size:.76rem;text-decoration:underline}.gw-signin{display:grid;place-items:center;height:100%;padding:24px}.gw-signin__card{display:grid;gap:12px;justify-items:center;width:min(360px,100%);padding:28px;border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);box-shadow:6px 6px 0 var(--soft-shadow, #c0bdad);text-align:center}.gw-signin__card h1{margin:6px 0 0;font-family:Georgia,serif}.gw-signin__card p{margin:0}.gw-provider-list{display:grid;gap:8px;width:100%}.gw-provider-list .gw-btn,.gw-signin__card .gw-btn--primary{width:100%}.gw-fineprint{font-size:.72rem}.gw-shell{display:flex;flex-direction:column;height:100%}.gw-topbar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--ink);background:var(--page-bg)}.gw-topbar__title{display:flex;flex-direction:column;line-height:1.12}.gw-topbar__title strong{font-family:Georgia,Iowan Old Style,serif;font-size:1.1rem}.gw-topbar__title .gw-muted{font-size:.7rem;font-weight:800;text-transform:uppercase}.gw-tabs{display:inline-flex;gap:0;margin-left:8px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.gw-tabs button{min-height:30px;padding:4px 12px;border:0;border-right:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-weight:700;font-size:.78rem;cursor:pointer}.gw-tabs button:last-child{border-right:0}.gw-tabs button.is-active{background:var(--ink);color:var(--paper)}.gw-topbar__right{margin-left:auto;display:inline-flex;align-items:center;gap:10px}.gw-account{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.78rem;font-weight:800}.gw-api{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.74rem}.gw-body{flex:1 1 auto;min-height:0}.gw-map{display:flex;flex-direction:column;height:100%}.gw-map .gw-graph-stage,.gw-map svg{flex:1 1 auto;min-height:0}.gw-details{height:100%;overflow:auto;padding:14px;background:var(--page-bg)}.gw-empty{padding:16px;color:var(--muted);line-height:1.5}.gw-error{padding:12px 16px;color:#b42318}.gw-apps{height:100%;overflow:auto;padding:18px;background:var(--page-bg)}.gw-app-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.gw-app-card{display:grid;gap:6px;padding:16px;border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:4px 4px 0 var(--soft-shadow, #c0bdad)}.gw-app-card strong{font-family:Georgia,Iowan Old Style,serif;font-size:1.05rem}.gw-app-card .gw-muted{font-size:.8rem;line-height:1.4}.gw-app-card__open{margin-top:4px;font-size:.78rem;font-weight:800}.gw-app-card:hover{background:var(--paper-soft)}.gw-notice{padding:12px 16px;color:var(--muted);line-height:1.5;border-bottom:1px solid var(--line);background:var(--paper-soft)}.gw-notice code{margin:0 4px;padding:1px 4px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}.gw-synced{margin:0 0 1.5rem}.gw-synced__title{margin:0 0 .15rem;font-family:Georgia,Iowan Old Style,serif;font-size:1.15rem}.gw-synced__hint{margin:0 0 .75rem;font-size:.85rem}.gw-synced-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.6rem}.gw-synced-item{border:1px solid var(--gw-border, #d9d4c8);border-radius:8px;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.15rem;background:var(--gw-card, #fffdf7)}.gw-synced-item strong{font-size:.95rem}.gw-synced-item .gw-muted{font-size:.8rem}.gw-source-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem}.gw-source-toggle select{font:inherit;padding:.25rem .4rem;border-radius:6px;border:1px solid var(--gw-border, #d9d4c8);background:var(--gw-card, #fffdf7)}
