.isc-header{background:var(--isc-bg-white);border-bottom:1px solid var(--isc-border-default)}.isc-header__main{display:flex}.isc-header__bar{width:8px;flex-shrink:0;transition:background-color .35s ease}.isc-header__inner{flex:1;display:flex;align-items:center;padding:14px var(--isc-page-padding-x);gap:22px}.isc-header__brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.isc-header__full-logo{height:60px;width:auto;margin-left:-6px}.isc-header__full-logo--dark{display:none}:root[data-theme=dark] .isc-header__full-logo--light{display:none}:root[data-theme=dark] .isc-header__full-logo--dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .isc-header__full-logo--light{display:none}:root:not([data-theme=light]) .isc-header__full-logo--dark{display:block}}.isc-header__divider{width:1px;height:56px;background:var(--isc-border-strong)}.isc-header__titles{display:flex;flex-direction:column;gap:2px;min-width:0}.isc-header__surtitle{font-size:.7rem;letter-spacing:1.1px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .35s ease}.isc-header__surtitle a{color:inherit;text-decoration:none}.isc-header__surtitle a:hover{text-decoration:underline;text-underline-offset:2px}.isc-header__surtitle-sep{opacity:.45;margin:0 3px}.isc-header__title{font-size:1.4rem;font-weight:600;color:var(--isc-text-primary);letter-spacing:-.4px;line-height:1.15;margin:0;transition:color .35s ease}.isc-header__meta{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:.694rem;color:var(--isc-text-muted);font-family:var(--isc-font-mono)}@media(max-width:640px){.isc-header__bar{width:6px}.isc-header__inner{flex-wrap:wrap;padding:12px 16px;gap:14px}.isc-header__divider{display:none}.isc-header__brand{flex:0 0 100%;justify-content:center}.isc-header__title{font-size:1.056rem}}.isc-footer{border-top:1px solid var(--isc-border-default);background:var(--isc-bg-secondary);padding:12px var(--isc-page-padding-x);display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"contact credit logo";align-items:center;font-family:var(--isc-font-mono);font-size:.61rem;color:var(--isc-text-muted);gap:0 16px;-webkit-user-select:none;user-select:none;letter-spacing:.02em}.isc-footer a{color:var(--isc-text-muted);text-decoration:none;transition:color .15s ease}.isc-footer a:hover{color:var(--isc-text-primary)}.isc-footer__hei-logo{grid-area:logo;justify-self:end;height:64px;width:auto;opacity:.8;flex-shrink:0;display:flex;align-items:center;transition:opacity .15s ease}.isc-footer__hei-logo:hover{opacity:1}.isc-footer__hei-logo img{height:100%;width:auto}.isc-footer__hei-logo img.isc-footer__hei-logo--dark{display:none}:root[data-theme=dark] .isc-footer__hei-logo img.isc-footer__hei-logo--light{display:none}:root[data-theme=dark] .isc-footer__hei-logo img.isc-footer__hei-logo--dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .isc-footer__hei-logo img.isc-footer__hei-logo--light{display:none}:root:not([data-theme=light]) .isc-footer__hei-logo img.isc-footer__hei-logo--dark{display:block}}.isc-footer__credit{grid-area:credit;font-size:.5rem;color:var(--isc-text-muted);display:flex;align-items:center;justify-content:center;text-align:center}.isc-footer__heart{display:inline-block;color:var(--isc-hei);font-size:.5rem;vertical-align:.15em;margin:0 4px;cursor:pointer;animation:isc-heart-pulse 1.2s ease-in-out infinite}@keyframes isc-heart-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.isc-footer__contact{grid-area:contact;display:inline-flex;align-items:center;gap:6px;background:var(--isc-bg-white);border:1px solid var(--isc-border-default);border-radius:999px;height:32px;padding:0 14px;font-family:var(--isc-font-sans);font-size:.72rem;font-weight:500;letter-spacing:0;color:var(--isc-text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease}.isc-footer__contact:hover{color:var(--isc-text-primary);border-color:var(--isc-text-muted)}:root[data-theme=dark] .isc-footer__contact{border-color:#ffffff2e}:root[data-theme=dark] .isc-footer__contact:hover{border-color:#ffffff61}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .isc-footer__contact{border-color:#ffffff2e}:root:not([data-theme=light]) .isc-footer__contact:hover{border-color:#ffffff61}}@media(max-width:600px){.isc-footer{padding:12px 16px;font-size:.611rem;grid-template-columns:1fr auto;grid-template-areas:"contact logo" "credit  credit";gap:8px 16px;align-items:center}.isc-footer__credit{justify-self:center}.isc-footer__hei-logo{height:48px}}.isc-color-strip{height:6px}@keyframes isc-strip-cycle{0%{background-position-x:0%}to{background-position-x:100%}}@media(prefers-reduced-motion:reduce){.isc-color-strip{animation:none!important}}@media(max-width:540px){.isc-color-strip{height:5px}}.isc-ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;transition:opacity .4s ease}.isc-ambient[data-bg=blobs]{background:transparent}.isc-ambient[data-bg=blobs] .isc-ambient__blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.65;will-change:transform}.isc-ambient[data-bg=blobs] .isc-ambient__blob:nth-child(1){width:40vmax;height:40vmax;background:var(--a1);animation:isc-blob-1 27.5s ease-in-out infinite alternate}.isc-ambient[data-bg=blobs] .isc-ambient__blob:nth-child(2){width:35vmax;height:35vmax;background:var(--a2);animation:isc-blob-2 33s ease-in-out infinite alternate}.isc-ambient[data-bg=blobs] .isc-ambient__blob:nth-child(3){width:30vmax;height:30vmax;background:var(--a3);animation:isc-blob-3 22s ease-in-out infinite alternate}.isc-ambient[data-bg=blobs] .isc-ambient__blob:nth-child(4){width:38vmax;height:38vmax;background:var(--a4);animation:isc-blob-4 30.8s ease-in-out infinite alternate}.isc-ambient[data-bg=blobs] .isc-ambient__blob:nth-child(5){width:32vmax;height:32vmax;background:var(--a5);animation:isc-blob-5 24.2s ease-in-out infinite alternate}@keyframes isc-blob-1{0%{transform:translate(-10vw,-10vh)}50%{transform:translate(60vw,40vh)}to{transform:translate(20vw,60vh)}}@keyframes isc-blob-2{0%{transform:translate(50vw,-15vh)}50%{transform:translate(-5vw,50vh)}to{transform:translate(40vw,10vh)}}@keyframes isc-blob-3{0%{transform:translate(20vw,50vh)}50%{transform:translate(-10vw,-5vh)}to{transform:translate(55vw,30vh)}}@keyframes isc-blob-4{0%{transform:translate(-5vw,25vh)}50%{transform:translate(45vw,-10vh)}to{transform:translate(65vw,55vh)}}@keyframes isc-blob-5{0%{transform:translate(35vw,45vh)}50%{transform:translate(-5vw,15vh)}to{transform:translate(25vw,-5vh)}}.isc-ambient[data-bg=gradient]{background:linear-gradient(135deg,var(--a1),var(--a2),var(--a3),var(--a4),var(--a5),var(--a1));background-size:400% 400%;animation:isc-bg-shift 49.5s ease-in-out infinite}@keyframes isc-bg-shift{0%{background-position:0% 50%}25%{background-position:100% 25%}50%{background-position:100% 75%}75%{background-position:0% 100%}to{background-position:0% 50%}}.isc-ambient[data-bg=pulse]{background:radial-gradient(ellipse at 20% 50%,var(--a1),transparent 60%),radial-gradient(ellipse at 80% 20%,var(--a2),transparent 60%),radial-gradient(ellipse at 50% 80%,var(--a3),transparent 60%),radial-gradient(ellipse at 90% 70%,var(--a4),transparent 60%),radial-gradient(ellipse at 10% 10%,var(--a5),transparent 60%);background-size:200% 200%;animation:isc-bg-pulse 38.5s ease-in-out infinite}@keyframes isc-bg-pulse{0%{background-size:200% 200%;background-position:0% 0%}25%{background-size:250% 250%;background-position:50% 50%}50%{background-size:200% 200%;background-position:100% 100%}75%{background-size:300% 300%;background-position:25% 75%}to{background-size:200% 200%;background-position:0% 0%}}.isc-ambient[data-bg=sweep]{background:repeating-linear-gradient(-45deg,var(--a1) 0%,var(--a2) 20%,var(--a3) 40%,var(--a4) 60%,var(--a5) 80%,var(--a1) 100%);background-size:300% 300%;animation:isc-bg-sweep 33s linear infinite}@keyframes isc-bg-sweep{0%{background-position:0% 0%}to{background-position:300% 300%}}.isc-ambient[data-bg=aurora]{background:linear-gradient(180deg,transparent,var(--a1),transparent),linear-gradient(180deg,transparent,var(--a2),transparent),linear-gradient(180deg,transparent,var(--a3),transparent);background-size:300% 300%;animation:isc-bg-aurora 44s ease-in-out infinite}@keyframes isc-bg-aurora{0%{background-position:0% 0%,100% 0%,50% 0%}33%{background-position:100% 50%,0% 50%,100% 50%}66%{background-position:50% 100%,50% 100%,0% 100%}to{background-position:0% 0%,100% 0%,50% 0%}}.isc-lang-switcher{display:inline-flex;align-items:center;background:var(--isc-bg-white);border:1px solid var(--isc-border-default);border-radius:999px;padding:3px 5px;gap:4px}.isc-lang-switcher__btn{border:0;background:transparent;font-family:var(--isc-font-sans);font-size:.611rem;font-weight:500;letter-spacing:0;text-transform:uppercase;color:var(--isc-text-disabled);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s;padding:0 4px;min-height:26px;line-height:1}.isc-lang-switcher__btn:hover:not(.is-active){color:var(--isc-text-primary)}.isc-lang-switcher__btn.is-active{background:var(--isc-hei);color:#fff;font-weight:600;cursor:default;width:26px;height:26px;border-radius:50%;padding:0}:root[data-theme=dark] .isc-lang-switcher{border-color:#ffffff2e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .isc-lang-switcher{border-color:#ffffff2e}}:root{--isc-font-sans: "Source Sans 3 Variable", "Source Sans 3", system-ui, -apple-system, sans-serif;--isc-font-heading: "Inter Variable", "Inter", system-ui, -apple-system, sans-serif;--isc-font-mono: "Fira Code", ui-monospace, monospace;--isc-page-padding-x: 28px;--isc-max-width: 1080px;--isc-text-primary: #0a1a2f;--isc-text-secondary: #555;--isc-text-muted: #888;--isc-text-disabled: #bbb;--isc-bg-page: #fcfbf8;--isc-bg-white: #ffffff;--isc-bg-secondary: #fbfaf7;--isc-bg-meta: #f5f3ec;--isc-border-default: #d1cfc6;--isc-border-strong: #e5e3da;--isc-glass: rgba(255, 255, 255, .72);--isc-hei: #dc0069}:root[data-theme=dark]{--isc-text-primary: #f3f4f6;--isc-text-secondary: #a8acb3;--isc-text-muted: #6a6e75;--isc-text-disabled: #3a3a40;--isc-bg-page: #0e0e10;--isc-bg-white: #16161a;--isc-bg-secondary: #1a1a1d;--isc-bg-meta: #0e0e10;--isc-border-default: #2a2a2e;--isc-border-strong: #3a3a40;--isc-glass: rgba(22, 22, 26, .72)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--isc-text-primary: #f3f4f6;--isc-text-secondary: #a8acb3;--isc-text-muted: #6a6e75;--isc-text-disabled: #3a3a40;--isc-bg-page: #0e0e10;--isc-bg-white: #16161a;--isc-bg-secondary: #1a1a1d;--isc-bg-meta: #0e0e10;--isc-border-default: #2a2a2e;--isc-border-strong: #3a3a40;--isc-glass: rgba(22, 22, 26, .72)}}.isc-mono-label{font-family:var(--isc-font-mono);text-transform:uppercase;margin-top:var(--isc-mono-nudge, 2px)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--isc-font-sans);font-size:1rem;line-height:1.5;color:var(--isc-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font-family:inherit}.isc-page{min-height:100vh;display:flex;flex-direction:column}.isc-page__frame{flex:1;display:flex;flex-direction:column;background:var(--isc-bg-white);border-left:.5px solid var(--isc-border-default);border-right:.5px solid var(--isc-border-default);max-width:var(--isc-max-width);width:100%;margin:0 auto}.isc-page__frame>.isc-footer{margin-top:auto}.isc-fab{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--isc-glass);border:1px solid var(--isc-border-default);color:var(--isc-text-primary);cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 10px #00000014;transition:background .3s,transform .2s,box-shadow .3s,border-color .2s;flex-shrink:0}.isc-fab:hover{transform:scale(1.1);box-shadow:0 4px 16px #00000024;border-color:var(--isc-border-strong)}.isc-fab:active{transform:scale(.95)}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:#283040e0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#f0f1f3;padding:6px 12px;font-size:.833rem;font-family:var(--isc-font-sans);border-radius:8px;box-shadow:0 4px 16px #0000002e;white-space:nowrap;z-index:300;pointer-events:none;animation:isc-tooltip-in .18s ease .35s both}[data-tooltip][data-tooltip-pos=top]:hover:after{top:auto;bottom:calc(100% + 6px);animation:isc-tooltip-in-up .18s ease .35s both}@keyframes isc-tooltip-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}@keyframes isc-tooltip-in-up{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}:root,:root[data-theme=light]{--bg: #f7f7f9;--surface: #ffffff;--surface-2: #fafafc;--border: #e3e5ea;--border-strong: #c8ccd5;--text: #1a1d24;--text-muted: #5b6271;--primary: #ec008b;--primary-50: #fce4f1;--magenta: #ec008b;--cerulean: #d6ecf9;--warn-bg: #fff7e6;--warn-border: #f3c674;--code-bg: #f0f1f4;--shadow: 0 1px 2px rgba(0,0,0,.02);--shadow-lift: 0 6px 12px rgba(0,0,0,.22), 0 2px 4px rgba(0,0,0,.05);--code-pill-bg: #f257aa;--code-pill-fg: #ffffff;--axis-bases-des-tic-bg: #d6ecf9;--axis-bases-des-tic-fg: #1a4970;--axis-sciences-de-l-ingenierie-bg: #d6ecf9;--axis-sciences-de-l-ingenierie-fg: #1a4970;--axis-humanites-et-societe-bg: #d6ecf9;--axis-humanites-et-societe-fg: #1a4970;--axis-nouvelles-technologies-bg: #d6ecf9;--axis-nouvelles-technologies-fg: #1a4970;--axis-unknown-bg: #d6ecf9;--axis-unknown-fg: #1a4970;--axis-integration-bg: #e3edd8;--axis-integration-fg: #345820;--axis-orientation-bg: #faf0c8;--axis-orientation-fg: #6f5a0c;--axis-option-bg: #e0d8ee;--axis-option-fg: #3d2c6b;--isc-bg-white: var(--surface);--isc-border-default: var(--border);--isc-border-strong: var(--border-strong);--isc-text-primary: var(--text);--isc-text-muted: var(--text-muted);--isc-font-sans: var(--font-body);--isc-font-mono: var(--font-mono);--isc-hei: var(--magenta);--isc-glass: rgba(255, 255, 255, .72)}:root[data-theme=dark]{--bg: #15171c;--surface: #1d2027;--surface-2: #23262e;--border: #2e323b;--border-strong: #444a55;--text: #e6e8ee;--text-muted: #9aa0ab;--primary: #f04ea3;--primary-50: #4a1e36;--magenta: #f04ea3;--cerulean: #2a4a63;--warn-bg: #3d2f12;--warn-border: #6f5a1e;--code-bg: #2a2d35;--shadow: 0 1px 2px rgba(0,0,0,.45);--shadow-lift: 0 6px 18px rgba(0,0,0,.6), 0 2px 4px rgba(0,0,0,.4);--code-pill-bg: #f578bb;--code-pill-fg: #ffffff;--axis-bases-des-tic-bg: #93b4cc;--axis-bases-des-tic-fg: #11202c;--axis-sciences-de-l-ingenierie-bg: #93b4cc;--axis-sciences-de-l-ingenierie-fg: #11202c;--axis-humanites-et-societe-bg: #93b4cc;--axis-humanites-et-societe-fg: #11202c;--axis-nouvelles-technologies-bg: #93b4cc;--axis-nouvelles-technologies-fg: #11202c;--axis-unknown-bg: #93b4cc;--axis-unknown-fg: #11202c;--axis-integration-bg: #a9c094;--axis-integration-fg: #1a2912;--axis-orientation-bg: #d4c488;--axis-orientation-fg: #2a2412;--axis-option-bg: #ac98c8;--axis-option-fg: #1c142d;--isc-bg-white: var(--surface);--isc-border-default: var(--border);--isc-border-strong: var(--border-strong);--isc-text-primary: var(--text);--isc-text-muted: var(--text-muted);--isc-font-sans: var(--font-body);--isc-font-mono: var(--font-mono);--isc-hei: var(--magenta);--isc-glass: rgba(29, 32, 39, .72)}:root[data-color-scheme=axes]{--axis-bases-des-tic-bg: #d6ecf9;--axis-bases-des-tic-fg: #1a4970;--axis-sciences-de-l-ingenierie-bg: #e3edd8;--axis-sciences-de-l-ingenierie-fg: #345820;--axis-humanites-et-societe-bg: #fbe6cf;--axis-humanites-et-societe-fg: #7a3f0f;--axis-integration-bg: #f4dceb;--axis-integration-fg: #762954;--axis-orientation-bg: #e0d8ee;--axis-orientation-fg: #3d2c6b;--axis-nouvelles-technologies-bg: #ffe1d6;--axis-nouvelles-technologies-fg: #8a3618;--axis-unknown-bg: #ececf0;--axis-unknown-fg: #444}:root[data-color-scheme=axes][data-theme=dark]{--axis-bases-des-tic-bg: #93b4cc;--axis-bases-des-tic-fg: #11202c;--axis-sciences-de-l-ingenierie-bg: #a9c094;--axis-sciences-de-l-ingenierie-fg: #1a2912;--axis-humanites-et-societe-bg: #d4ac88;--axis-humanites-et-societe-fg: #2a1a0c;--axis-integration-bg: #d094b0;--axis-integration-fg: #2a141d;--axis-orientation-bg: #ac98c8;--axis-orientation-fg: #1c142d;--axis-nouvelles-technologies-bg: #d4a288;--axis-nouvelles-technologies-fg: #2a1a0e;--axis-unknown-bg: #a9adb8;--axis-unknown-fg: #25282f}:root{--font-body: "DM Sans", "Helvetica Neue", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55}html{transition:background-color .2s ease,color .2s ease}a{color:var(--primary)}.layout{min-height:100vh;display:flex;flex-direction:column}[data-tooltip]{position:relative}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--text);color:var(--surface);padding:6px 10px;border-radius:6px;font-size:.78rem;font-weight:500;line-height:1.4;letter-spacing:.01em;max-width:240px;width:max-content;white-space:normal;text-align:center;pointer-events:none;z-index:200;box-shadow:var(--shadow-lift);backdrop-filter:none;-webkit-backdrop-filter:none;opacity:0;animation:tooltip-fade-in .15s ease forwards .35s}[data-tooltip]:hover:before,[data-tooltip]:focus-visible:before{content:"";position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--text);pointer-events:none;z-index:201;opacity:0;animation:tooltip-fade-in .15s ease forwards .35s}[data-tooltip][data-tooltip-pos=top]:hover:after,[data-tooltip][data-tooltip-pos=top]:focus-visible:after{top:auto;bottom:calc(100% + 10px)}[data-tooltip][data-tooltip-pos=top]:hover:before,[data-tooltip][data-tooltip-pos=top]:focus-visible:before{top:auto;bottom:calc(100% + 4px);border-bottom-color:transparent;border-top-color:var(--text)}[data-tooltip][data-tooltip-pos=left]:hover:after,[data-tooltip][data-tooltip-pos=left]:focus-visible:after{top:50%;left:auto;right:calc(100% + 10px);bottom:auto;transform:translateY(-50%)}[data-tooltip][data-tooltip-pos=left]:hover:before,[data-tooltip][data-tooltip-pos=left]:focus-visible:before{top:50%;left:auto;right:calc(100% + 4px);bottom:auto;transform:translateY(-50%);border-bottom-color:transparent;border-left-color:var(--text)}@keyframes tooltip-fade-in{to{opacity:1}}.isc-header [data-tooltip]:hover:after,.isc-header [data-tooltip]:focus-visible:after,.toolbar [data-tooltip]:hover:after,.toolbar [data-tooltip]:focus-visible:after{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-lift)}.isc-header [data-tooltip]:hover:before,.isc-header [data-tooltip]:focus-visible:before,.toolbar [data-tooltip]:hover:before,.toolbar [data-tooltip]:focus-visible:before{border-bottom-color:var(--surface)}.isc-header [data-tooltip][data-tooltip-pos=top]:hover:before,.isc-header [data-tooltip][data-tooltip-pos=top]:focus-visible:before,.toolbar [data-tooltip][data-tooltip-pos=top]:hover:before,.toolbar [data-tooltip][data-tooltip-pos=top]:focus-visible:before{border-bottom-color:transparent;border-top-color:var(--surface)}.page-footer{margin-top:40px;padding-top:14px;border-top:1px solid var(--border);text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.02em;-webkit-user-select:none;user-select:none}.footer-build{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;transition:color .15s ease}.footer-build:hover{color:var(--primary)}.footer-heart{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;cursor:pointer;display:inline-block;color:#dd0069;font-size:9px;vertical-align:middle;margin:0 1px;animation:footer-heart-pulse 1.2s ease-in-out infinite}@keyframes footer-heart-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.topbar__lang{display:inline-flex;align-items:center;background:var(--isc-bg-white);border:1px solid var(--isc-border-default);border-radius:999px;padding:3px 5px;gap:4px}.topbar__lang-btn{border:0;background:transparent;font-family:var(--isc-font-sans);font-size:.611rem;font-weight:500;letter-spacing:0;text-transform:uppercase;color:var(--isc-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s;padding:0 4px;min-height:26px;line-height:1}.topbar__lang-btn:hover:not(.is-active){color:var(--isc-text-primary)}.topbar__lang-btn.is-active{background:var(--isc-hei);color:#fff;font-weight:600;cursor:default;width:26px;height:26px;border-radius:50%;padding:0}.topbar__theme-fab{width:auto;height:32px;border-radius:999px;padding:0 10px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.topbar__theme-fab:hover{transform:none;box-shadow:none}:root{--toolbar-h: 62px}.toolbar{display:flex;align-items:flex-end;gap:14px;min-height:var(--toolbar-h);padding:8px 28px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.control-group{display:flex;flex-direction:column;align-items:stretch;gap:4px}.control-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);line-height:1}.programme-switcher,.view-switcher{display:inline-flex;gap:0}.programme-switcher button,.view-switcher button{display:inline-flex;align-items:center;justify-content:center;height:2.2rem;line-height:1;border:1px solid var(--border-strong);background:var(--surface);padding:6px 12px;font-weight:600;font-size:.82rem;cursor:pointer;color:var(--text-muted)}.programme-switcher button:first-child,.view-switcher button:first-child{border-radius:6px 0 0 6px}.programme-switcher button:last-child,.view-switcher button:last-child{border-radius:0 6px 6px 0}.programme-switcher button+button,.view-switcher button+button{border-left:none}.programme-switcher button.active,.view-switcher button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.body{display:grid;grid-template-columns:270px 1fr;gap:0;flex:1}.content{padding:24px 28px 64px;width:100%;min-width:0}.loading,.empty{padding:60px;text-align:center;color:var(--text-muted)}.filters{border-right:1px solid var(--border);background:var(--surface);padding:20px 18px;position:sticky;top:var(--toolbar-h);align-self:flex-start;height:calc(100vh - var(--toolbar-h));overflow-y:auto}.filter-group{margin-bottom:20px}.filter-group h3{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 8px}.filter-group-collapsible>.filter-summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;padding:6px 8px;margin:0 -8px;border-radius:6px}.filter-group-collapsible>.filter-summary::-webkit-details-marker{display:none}.filter-group-collapsible>.filter-summary>h3{margin:0;flex:1}.filter-group-collapsible>.filter-summary:hover{background:var(--surface-2)}.filter-group-collapsible[open]>.filter-summary{margin-bottom:8px}.filter-group-collapsible[open]>.filter-summary .caret{transform:rotate(180deg)}.filter-group-collapsible .caret{color:var(--text-muted);font-size:.85rem;transition:transform .15s ease}.filter-count{background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:999px;min-width:18px;text-align:center;line-height:1.4}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.pill{border:1px solid var(--border);background:var(--surface);padding:4px 10px;border-radius:999px;cursor:pointer;font-size:.82rem;color:var(--text)}.pill:hover{background:var(--surface-2)}.pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.check-list{display:flex;flex-direction:column;gap:4px}.check-list label{display:flex;align-items:center;gap:8px;font-size:.88rem;cursor:pointer;padding:2px 0;color:var(--text)}.check-list label .axis-swatch{width:14px;height:14px;border-radius:3px;background:var(--axis-bg, var(--surface-2));border:1px solid color-mix(in srgb,var(--axis-fg, var(--text-muted)) 35%,transparent);flex-shrink:0}.search-wrapper{position:relative;display:flex;align-items:center}.search-wrapper .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-muted);pointer-events:none}.search-box{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--border-strong);border-radius:8px;font:inherit;font-size:.88rem;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search-box::placeholder{color:var(--text-muted)}.search-box:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.search-box:focus+.search-icon,.search-wrapper:focus-within .search-icon{color:var(--primary)}.search-matches{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:8px;font-size:12px;line-height:1.3}.search-matches-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.search-match-chip{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-family:var(--font-mono, monospace);font-size:11.5px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.year-section{margin-bottom:32px}.year-heading{display:flex;align-items:baseline;gap:12px;font-size:1rem;margin:0 0 14px;padding-bottom:6px;border-bottom:2px solid var(--primary)}.year-tag{background:var(--primary);color:#fff;font-weight:700;padding:2px 10px;border-radius:4px;font-size:.85rem}.year-label{font-weight:600}.year-count{margin-left:auto;color:var(--text-muted);font-size:.85rem;font-weight:400}.cards{display:flex;flex-direction:column;gap:12px}.module-card{display:flex;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .15s ease;width:100%}.module-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}.module-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.card-main{flex:1;min-width:0;display:flex;flex-direction:column}.card-axis-strip{flex-shrink:0;width:44px;background:var(--axis-bg, var(--surface-2));color:var(--axis-fg, var(--text-muted));display:flex;flex-direction:column;align-items:center;padding:14px 4px 10px;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-left:1px solid var(--border);gap:8px}.card-axis-strip .axis-name{flex:1;display:flex;align-items:center;writing-mode:vertical-rl;white-space:nowrap;text-align:center}.card-axis-strip .ects-pill{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);color:var(--text);border:1px solid color-mix(in srgb,var(--axis-fg) 25%,transparent);border-radius:6px;padding:4px 6px;text-transform:none;letter-spacing:0;line-height:1}.card-axis-strip .ects-pill .ects-num{font-size:13px;font-weight:700}.card-axis-strip .ects-pill .ects-lbl{font-size:8px;font-weight:600;opacity:.7;margin-top:2px;letter-spacing:.05em}.axis-bases-des-tic{--axis-bg: var(--axis-bases-des-tic-bg);--axis-fg: var(--axis-bases-des-tic-fg)}.axis-sciences-de-l-ingenierie{--axis-bg: var(--axis-sciences-de-l-ingenierie-bg);--axis-fg: var(--axis-sciences-de-l-ingenierie-fg)}.axis-humanites-et-societe{--axis-bg: var(--axis-humanites-et-societe-bg);--axis-fg: var(--axis-humanites-et-societe-fg)}.axis-integration{--axis-bg: var(--axis-integration-bg);--axis-fg: var(--axis-integration-fg)}.axis-orientation{--axis-bg: var(--axis-orientation-bg);--axis-fg: var(--axis-orientation-fg)}.axis-nouvelles-technologies{--axis-bg: var(--axis-nouvelles-technologies-bg);--axis-fg: var(--axis-nouvelles-technologies-fg)}.axis-unknown{--axis-bg: var(--axis-unknown-bg);--axis-fg: var(--axis-unknown-fg)}:root:not([data-color-scheme=axes]) .is-option{--axis-bg: var(--axis-option-bg);--axis-fg: var(--axis-option-fg)}.bucket-tronc-commun{--axis-bg: var(--axis-bases-des-tic-bg);--axis-fg: var(--axis-bases-des-tic-fg)}.bucket-integration{--axis-bg: var(--axis-integration-bg);--axis-fg: var(--axis-integration-fg)}.bucket-orientation{--axis-bg: var(--axis-orientation-bg);--axis-fg: var(--axis-orientation-fg)}.bucket-option{--axis-bg: var(--axis-option-bg);--axis-fg: var(--axis-option-fg)}.card-head{display:flex;align-items:center;gap:14px;padding:12px 16px;-webkit-user-select:none;user-select:none}.head-left{display:flex;gap:14px;align-items:center;flex:1;min-width:0}.head-titles{min-width:0}.code-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-weight:700;font-size:.95rem;padding:6px 10px;border-radius:6px;min-width:52px;flex-shrink:0}.card-title{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text)}.head-meta{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.chip.axis{background:var(--cerulean);border-color:transparent;color:var(--text)}.chip.ects{background:color-mix(in srgb,var(--primary) 12%,transparent);border-color:transparent;color:var(--primary)}.chip.cat.option{background:color-mix(in srgb,var(--magenta) 14%,transparent);border-color:transparent;color:var(--magenta)}.chip.block{background:var(--warn-bg);border-color:var(--warn-border);color:var(--text)}.chip.lang{background:var(--surface)}.card-arrow{font-size:1.4rem;color:var(--text-muted);flex-shrink:0;padding:0 4px}.card-body{padding:0 16px 14px 82px}.responsible{font-size:.85rem;color:var(--text-muted);margin-bottom:8px}.short-desc{font-size:.92rem;color:var(--text)}.short-desc :first-child{margin-top:0}.short-desc :last-child{margin-bottom:0}.ue-titles{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:5px 6px}.ue-titles li{font-size:.82rem;font-weight:500;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);padding:3px 10px;border-radius:4px;line-height:1.5}.module-detail{border-top:1px solid var(--border);background:var(--surface-2);padding:18px 16px 18px 82px}.module-detail .block{margin-bottom:18px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px 14px}.module-detail .block.warn{background:var(--warn-bg);border-color:var(--warn-border)}.module-detail h4{margin:0 0 10px;font-size:.92rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.04em}.module-detail .markdown{font-size:.9rem;color:var(--text)}.module-detail .markdown ul,.module-detail .markdown ol{padding-left:22px;margin:4px 0}.module-detail .markdown li{margin:2px 0}.module-detail .markdown p:first-child{margin-top:0}.module-detail .markdown p:last-child{margin-bottom:0}.module-detail .markdown code{background:var(--code-bg);padding:1px 5px;border-radius:3px;font-size:.86em}.ue-list{display:flex;flex-direction:column;gap:12px}.ue{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--surface-2)}.ue.track{border-left:4px solid var(--magenta)}.ue-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px dashed var(--border);margin-bottom:8px}.ue-code{font-family:var(--font-mono);background:var(--primary-50);color:var(--primary);padding:2px 6px;border-radius:4px;font-size:.78rem;font-weight:700}.ue-name{margin:0;font-size:.95rem;font-weight:600;flex:1;min-width:0;color:var(--text)}.track-tag{display:inline-block;background:var(--magenta);color:#fff;padding:1px 7px;border-radius:3px;font-size:.68rem;font-weight:700;text-transform:uppercase;margin-right:6px;vertical-align:middle}.ue-short{color:var(--text-muted);font-weight:400;font-size:.86em}.ue-meta{display:flex;gap:10px;flex-wrap:wrap}.ue-meta-item{font-size:.76rem;color:var(--text-muted)}.ue-teacher{font-size:.83rem;color:var(--text-muted);margin-bottom:6px}.ue-section{margin-top:10px}.ue-section h6{margin:0 0 4px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.eval-modes{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.85rem}.eval-modes li{display:flex;align-items:baseline;gap:6px;color:var(--text-muted)}.eval-modes li.checked{color:var(--text)}.eval-modes .box{font-size:1.05em;line-height:1;color:var(--text-muted)}.eval-modes li.checked .box{color:var(--magenta)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,260px));grid-auto-rows:1fr;gap:10px}.summary-card{display:flex;flex-direction:row;align-items:stretch;border-radius:8px;border:1px solid var(--border);background:var(--axis-bg, var(--surface));color:var(--axis-fg, var(--text));text-decoration:none;cursor:pointer;min-height:92px;text-align:left;font:inherit;transition:transform .18s ease,box-shadow .18s ease;position:relative;padding:0;box-shadow:var(--shadow);z-index:1}.summary-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:12px 10px 12px 14px}.summary-main .summary-title{margin-bottom:0}.summary-strip{flex-shrink:0;width:38px;display:flex;flex-direction:column;align-items:center;padding:12px 0 10px;border-left:1px solid color-mix(in srgb,var(--axis-fg) 18%,transparent);gap:8px}.summary-strip .axis-name{flex:1;display:flex;align-items:center;writing-mode:vertical-rl;white-space:nowrap;text-align:center;font-size:.5rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.summary-strip .ects-pill{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--axis-fg) 25%,transparent);border-radius:5px;padding:3px 5px;text-transform:none;letter-spacing:0;line-height:1}.summary-strip .ects-pill .ects-num{font-size:12px;font-weight:700}.summary-strip .ects-pill .ects-lbl{font-size:7.5px;font-weight:600;opacity:.7;margin-top:1px;letter-spacing:.05em}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.summary-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.summary-code{align-self:flex-start;background:var(--code-pill-bg);color:var(--code-pill-fg);font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:1px 6px;border-radius:4px;line-height:1.35;box-shadow:0 1px 2px #00000026;letter-spacing:.02em;margin-bottom:4px}.summary-title{font-size:1.04rem;font-weight:600;line-height:1.25;flex:1}.summary-ue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;flex:1}.summary-ue-list li{font-size:.86rem;font-weight:500;line-height:1.2;opacity:.92;position:relative;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-ue-list li:before{content:"›";position:absolute;left:2px;opacity:.65}.summary-ue-list .more-indicator{font-style:italic;font-weight:600;opacity:.75;font-size:.8rem}.summary-ue-list .more-indicator:before{content:""}.summary-ue-list.clamped li:not(.more-indicator):nth-child(n+4){display:none}.summary-card:hover .summary-ue-list.clamped li:not(.more-indicator):nth-child(n+4){display:list-item}.summary-card:hover .summary-ue-list.clamped .more-indicator{display:none}.summary-card:hover{z-index:10}.summary-card[data-tooltip]:hover:after,.summary-card[data-tooltip]:focus-visible:after{white-space:pre-line;text-align:left;max-width:360px;padding:10px 14px 10px 16px;font-size:.82rem;font-weight:500;line-height:1.55;background:var(--surface);color:var(--text);border:1px solid var(--border);border-left:3px solid var(--magenta);border-radius:8px;box-shadow:var(--shadow-lift);animation:tooltip-fade-in .15s ease forwards 1s}.summary-card[data-tooltip]:hover:before,.summary-card[data-tooltip]:focus-visible:before{animation:tooltip-fade-in .15s ease forwards 1s;border-bottom-color:var(--surface)}.content-graph{padding:16px 16px 24px;display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.network-view{flex:1;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:8px;position:relative;overflow:hidden}.network-canvas{flex:1;width:100%;height:100%;position:relative;overflow:hidden}.cy-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.code-pill{position:absolute;top:0;left:0;font-family:var(--font-mono);font-weight:700;font-size:10.5px;line-height:1;padding:3px 6px;border-radius:4px;background:var(--code-pill-bg);color:var(--code-pill-fg);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;transform:translate(-9999px,-9999px);transition:opacity .15s ease;box-shadow:0 1px 2px #0003}.network-toolbar{display:flex;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);font-size:.82rem;color:var(--text-muted);background:var(--surface-2)}.network-toolbar button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);padding:3px 10px;border-radius:6px;cursor:pointer;font:inherit;font-size:.78rem;font-weight:600}.network-toolbar button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.network-toolbar .toolbar-sep{color:var(--border-strong);margin:0 4px;-webkit-user-select:none;user-select:none}.graph-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:color-mix(in srgb,var(--surface) 85%,transparent);pointer-events:none;font-size:.95rem}.graph-note{position:absolute;top:56px;right:12px;width:280px;font-size:.78rem;font-style:italic;color:var(--text-muted);background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:6px;padding:5px 10px;pointer-events:none;line-height:1.4}.graph-legend{position:absolute;right:12px;bottom:12px;display:flex;gap:14px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:.78rem;color:var(--text-muted);pointer-events:none}.graph-legend svg{vertical-align:middle;color:currentColor}.bottom-dock{position:fixed;left:18px;bottom:12px;z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:10px;display:flex;flex-direction:column;gap:8px;width:234px}.dock-pdf{display:flex;align-items:center;gap:8px;background:var(--magenta);color:#fff;padding:7px 10px;border-radius:6px;text-decoration:none;font-weight:600;font-size:.85rem}.dock-pdf:hover{filter:brightness(1.05)}.dock-pdf .icon{width:16px;height:16px;flex-shrink:0}.dock-pdf-row{display:flex;gap:6px}.dock-pdf-small{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;border-radius:5px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);text-decoration:none;font-size:.72rem;font-weight:500;text-align:center;line-height:1.2}.dock-pdf-small:hover{background:var(--surface);border-color:var(--border-strong)}.dock-pdf-small .icon-sm{width:12px;height:12px;flex-shrink:0;opacity:.7}.magic-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#0a0c126b;display:flex;align-items:center;justify-content:center}:root[data-theme=dark] .magic-root{background:#0000008c}.magic-panel{width:min(520px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lift);padding:16px 20px 18px;display:flex;flex-direction:column;gap:14px}.magic-head{display:flex;align-items:center;gap:10px}.magic-sparkle{font-size:18px}.magic-head h2{margin:0;flex:1;font-size:1.05rem;font-weight:600;color:var(--text)}.magic-close{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);width:30px;height:30px;border-radius:6px;font-size:1.2rem;line-height:1;cursor:pointer}.magic-close:hover{color:var(--text);background:var(--surface-2)}.magic-section h3{margin:0 0 8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.magic-toggle{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text);cursor:pointer}.magic-toggle input{width:16px;height:16px}.magic-enter-active,.magic-leave-active{transition:opacity .15s ease}.magic-enter-active .magic-panel,.magic-leave-active .magic-panel{transition:transform .2s ease}.magic-enter-from,.magic-leave-to{opacity:0}.magic-enter-from .magic-panel,.magic-leave-to .magic-panel{transform:scale(.95)}body.drawer-open,body.filter-open{overflow:hidden}.drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0c126b;display:flex;justify-content:center;align-items:center;padding:24px}:root[data-theme=dark] .drawer-root{background:#0000008c}.drawer-panel{width:min(960px,100%);max-height:90vh;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 60px #00000047;overflow-y:auto;padding:18px 24px 40px;display:flex;flex-direction:column;gap:14px}.drawer-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);position:sticky;top:-18px;background:var(--surface);margin:-18px -24px 0;padding:14px 24px 12px;z-index:1}.drawer-code{font-size:.95rem}.drawer-title{flex:1;margin:0;font-size:1.15rem;font-weight:600;color:var(--text);min-width:0}.drawer-close{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);width:34px;height:34px;border-radius:6px;font-size:1.4rem;line-height:1;cursor:pointer;flex-shrink:0}.drawer-close:hover{color:var(--text);background:var(--surface-2)}.drawer-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pdf-pill{background:var(--magenta);color:#fff!important;border-color:var(--magenta);text-decoration:none;font-weight:600;padding:3px 12px;margin-left:auto}.pdf-pill:hover{filter:brightness(1.05)}.drawer-responsible{font-size:.88rem;color:var(--text-muted)}.drawer-short{font-size:.95rem;color:var(--text)}.drawer-short :first-child{margin-top:0}.drawer-short :last-child{margin-bottom:0}.drawer-panel .module-detail{padding:0;background:transparent;border:none;margin:0}.drawer-enter-active,.drawer-leave-active{transition:opacity .18s ease}.drawer-leave-active{pointer-events:none}.drawer-enter-active .drawer-panel,.drawer-leave-active .drawer-panel{transition:transform .22s ease}.drawer-enter-from,.drawer-leave-to{opacity:0}.drawer-enter-from .drawer-panel,.drawer-leave-to .drawer-panel{transform:scale(.95)}.btn-short{display:none}.view-switcher .btn-text{margin-left:5px}.filter-header{display:none}.filter-group-year .filter-group-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}.filter-group-year .filter-group-header h3{margin:0}.filter-reset-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border);color:var(--text-muted);width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.filter-reset-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--surface-2)}.filter-reset-btn .icon{width:14px;height:14px}.mobile-filter-btn,.filter-backdrop{display:none}@media(max-width:800px){:root{--toolbar-h: 44px}.toolbar{align-items:center;justify-content:center;min-height:var(--toolbar-h);padding:6px 12px 7px;gap:6px}.control-label{display:none}.control-group{flex-direction:row;align-items:center;gap:6px}.programme-switcher .btn-text{display:inline}.programme-switcher .btn-short,.view-switcher .btn-text{display:none}.programme-switcher button,.view-switcher button{padding:5px 10px;font-size:.82rem}.network-btn{display:none!important}.view-switcher button:nth-child(2){border-radius:0 6px 6px 0}.mobile-filter-btn{display:inline-flex;align-items:center;justify-content:center;position:fixed;bottom:16px;right:16px;z-index:80;width:48px;height:48px;border:1px solid var(--border-strong);background:var(--surface);border-radius:50%;box-shadow:var(--shadow-lift, var(--shadow));cursor:pointer;color:var(--text-muted);padding:0;flex-shrink:0}.mobile-filter-btn .icon{width:22px;height:22px;display:block}.mobile-filter-btn:hover{color:var(--primary)}.mobile-filter-btn[aria-expanded=true]{color:var(--primary);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.body{grid-template-columns:1fr}.drawer-root{justify-content:flex-end;align-items:stretch;padding:0}.drawer-panel{width:min(720px,92vw);max-height:none;height:100vh;border:none;border-left:1px solid var(--border);border-radius:0;box-shadow:-8px 0 24px #0000002e}.drawer-enter-from .drawer-panel,.drawer-leave-to .drawer-panel{transform:translate(100%)}.filters{position:fixed;top:0;left:0;width:min(300px,85vw);height:100dvh;height:100vh;z-index:90;border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;overscroll-behavior:contain;transform:translate(-100%);transition:transform .25s ease;padding-top:0}.filters.filters-open{transform:translate(0);box-shadow:4px 0 24px #0003}.filter-header{display:flex;align-items:center;justify-content:space-between;padding:14px 0 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.filter-header{display:flex}.filter-title{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.filter-close{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);width:30px;height:30px;border-radius:6px;font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.filter-close:hover{color:var(--text);background:var(--surface-2)}.filter-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:89;background:#0a0c126b}:root[data-theme=dark] .filter-backdrop{background:#0000008c}.content{padding:16px 12px 88px}.card-body,.module-detail{padding-left:16px}.summary-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.bottom-dock-desktop{display:none}.filters .bottom-dock-mobile{position:static;transform:none;left:auto;bottom:auto;width:auto;max-width:none;margin:14px 14px 18px;box-shadow:none}.summary-strip{position:absolute;top:8px;right:8px;width:auto;height:auto;border-left:none;padding:0}.summary-strip .axis-name{display:none}.summary-title{padding-right:44px}}@media(max-width:480px){.toolbar{padding:5px 10px 6px}.programme-switcher button,.view-switcher button{padding:4px 9px;font-size:.8rem}.content{padding:12px 10px 88px}.drawer-panel{width:100vw;border-left:none;padding:14px 14px 40px}.drawer-head{margin:-14px -14px 0;padding:12px 14px 10px}.summary-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.summary-title{font-size:.92rem}.card-head{padding:10px 12px;gap:10px}.head-left{gap:10px}.code-badge{min-width:44px;font-size:.85rem;padding:5px 8px}.card-title{font-size:.92rem}}
