:root{--bg:#fff;--fg:#1a1d21;--muted:#5b6470;--border:#e3e6ea;--accent:#3b5bdb;--ok:#2f9e44;--warn:#e8590c;--surface:#f8f9fa;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--graph-canvas:#0a0e17;--graph-canvas-line:#161d2c;--graph-node-bg:#f6f5f1;--graph-node-text:#14161c;--graph-node-meta:#767f92;--graph-node-border:#0a0e171f;--graph-edge:#2e3b54;--graph-edge-active:#eef1f8;--graph-lane-band:#eef1f809;--graph-lane-label:#6d7789}@media (prefers-color-scheme:dark){:root{--bg:#16181c;--fg:#e9ecef;--muted:#9aa4b0;--border:#2c3036;--accent:#748ffc;--ok:#51cf66;--warn:#ff922b;--surface:#1e2127;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767}}body{background:var(--bg);color:var(--fg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55}@media (prefers-color-scheme:dark){body{--lightningcss-light: ;--lightningcss-dark:initial}}.page{max-width:62rem;margin:0 auto;padding:2.5rem 1.5rem 4rem}@media (width<=48rem){.page{padding:1rem 1rem 3rem}}@media (width<=48rem),(pointer:coarse){input:not([type=checkbox],[type=radio]),select,textarea{font-size:max(1rem,16px)!important}}.session__email,.course__name,.course__deck{overflow-wrap:anywhere}.page__header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.25rem;display:flex}h1{letter-spacing:-.02em;margin:0;font-size:1.75rem}.page__subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.95rem}h2{align-items:center;gap:.6rem;font-size:1.15rem;display:flex}.count{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.1rem .55rem;font-size:.8rem;font-weight:500}.badge{color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .8rem;font-size:.85rem;display:inline-flex}.badge__dot{background:var(--muted);border-radius:50%;width:.5rem;height:.5rem}.badge--ok .badge__dot{background:var(--ok)}.badge--error .badge__dot{background:var(--warn)}.notice{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);border-radius:.5rem;margin-bottom:2rem;padding:1rem 1.25rem}.notice--error{border-left-color:var(--warn)}.notice h2{margin-top:0;font-size:1rem}.notice p{color:var(--muted);margin:.5rem 0 0;font-size:.92rem}.notice a{color:var(--accent)}.footnote{color:var(--muted);margin-top:1.5rem;font-size:.85rem}.filters{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.filters__field{flex-direction:column;flex:9rem;gap:.25rem;min-width:0;display:flex}.filters select{max-width:100%}.filters__field--search{flex:2 14rem}.filters__label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem}.filters input:not([type=checkbox]),.filters select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:.4rem;padding:.4rem .55rem;font-size:.9rem}.filters select:disabled{opacity:.5;cursor:not-allowed}.filters input:focus-visible,.filters select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.specs{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.spec{border:1px solid var(--border);background:var(--surface);border-radius:.6rem;overflow:hidden}.spec__header{align-items:flex-start;gap:.4rem;padding:.85rem 1rem;display:flex}.spec__chevron-btn{width:1.5rem;height:1.5rem;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.25rem;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.spec__chevron-btn:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.spec__chevron-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.spec__name-link{min-width:0;color:inherit;flex-direction:column;gap:.15rem;text-decoration:none;display:flex}.spec__name-link:hover .spec__name{color:var(--accent)}.spec__name-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.spec__chevron{color:var(--muted);transition:transform .15s;display:flex}.spec__chevron svg{width:.7rem;height:.7rem}.spec__chevron--open{transform:rotate(90deg)}.code-badge{color:var(--muted);background:var(--surface);border:1px solid var(--border);letter-spacing:.03em;white-space:nowrap;vertical-align:.05em;border-radius:4px;margin-right:.45rem;padding:.15rem .35rem;font:.72rem/1 ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace}.panel__title .code-badge{vertical-align:.25em;font-size:.85rem}.graph-node .code-badge{color:var(--graph-node-meta);border-color:var(--graph-node-border);background:0 0;align-self:flex-start;margin-right:0;font-size:.62rem}.spec__title,.bloc__title{align-items:baseline;min-width:0;display:flex}.spec__name{font-size:.98rem;font-weight:600}.spec__meta{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.spec__region:not(:empty){padding:0 1rem .9rem}.spec__description{color:var(--muted);margin:0 0 .75rem;font-size:.88rem}.spec__status{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.spec__status--error{color:var(--warn)}.blocs{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.bloc{width:100%;font:inherit;color:inherit;text-align:left;background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:.45rem;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.5rem .7rem;font-size:.9rem;text-decoration:none;display:flex}.bloc:hover{border-color:var(--accent)}.bloc:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bloc__meta{color:var(--muted);flex:none;font-size:.75rem}.panel{border:1px solid var(--border);background:var(--surface);border-radius:.6rem;padding:1.25rem 1.4rem}.panel__title{letter-spacing:-.01em;margin:0;font-size:1.2rem}.panel__meta{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:.25rem 0 .9rem;font-size:.78rem}.panel__description{margin:0;font-size:.92rem}.panel__section{margin-top:1.25rem}.panel__section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .4rem;font-size:.8rem}.panel__section p{margin:0;font-size:.9rem}.panel__objectives{margin:0;padding-left:1.1rem;font-size:.9rem}.courses{grid-template-columns:minmax(0,1fr);gap:.6rem;margin:0;padding-left:1.3rem;display:grid}.course__name{color:inherit;font-size:.92rem;font-weight:600;text-decoration:none}.course__name:hover{color:var(--accent)}.course__name:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.course__content{color:var(--muted);margin:.15rem 0 0;font-size:.86rem}.course__deck{color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:.3rem;margin-top:.25rem;padding:.05rem .35rem;font-size:.75rem;display:inline-block}.course__deck a{color:inherit;text-underline-offset:2px;text-decoration:underline}.course__deck a:hover{color:var(--fg)}.course__meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 0;display:flex}.course__meta .course__deck{margin-top:0}.course__staff{color:var(--muted);font-size:.78rem}.chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chip{font:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.2rem .65rem;font-size:.82rem;display:inline-block}.chip--link{color:var(--accent);cursor:pointer;text-decoration:none}.chip--link:hover{border-color:var(--accent)}.chip--link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.spec__chevron{transition:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.35rem 1.25rem;margin-bottom:2rem;padding-bottom:.75rem;display:flex}.nav__link{color:var(--muted);border-bottom:2px solid #0000;padding:.2rem 0;font-size:.92rem;font-weight:500;text-decoration:none}.nav__link:hover{color:var(--fg)}.nav__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav__link--active{color:var(--fg);border-bottom-color:var(--accent)}.menu-toggle{display:none}@media (width<=48rem),(pointer:coarse) and (height<=32rem){.page__header{flex-wrap:nowrap;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem}.page__header h1{font-size:1.35rem}.page__subtitle{display:none}.menu-toggle{border:1px solid var(--border);background:var(--surface);min-height:2.75rem;color:var(--fg);font:inherit;cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:.4rem;margin-left:auto;padding:0 .85rem;font-size:.92rem;display:inline-flex}.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-toggle__icon{width:1.15rem;height:1.15rem}.site-header .page__status,.site-header .nav{display:none}.site-header--open .page__header{flex-wrap:wrap}.site-header--open .page__status{flex-basis:100%;order:3;display:flex}.site-header--open .nav{flex-direction:column;gap:0;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex}.site-header--open .nav__link{border-bottom:none;border-left:3px solid #0000;align-items:center;min-height:2.75rem;padding:0 .75rem;font-size:1rem;display:flex}.site-header--open .nav__link--active{border-left-color:var(--accent);background:var(--surface)}}.breadcrumbs{color:var(--muted);margin-bottom:1rem;font-size:.8rem}.breadcrumbs__item a{color:var(--muted)}.breadcrumbs__item a:hover{color:var(--accent)}.breadcrumbs__item [aria-current=page]{color:var(--fg)}.breadcrumbs__sep{margin:0 .4rem}.detail{border:1px solid var(--border);background:var(--surface);border-radius:.6rem;padding:1.25rem 1.4rem}.detail__action{border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:.4rem;margin-top:.9rem;padding:.35rem .7rem;font-size:.85rem;text-decoration:none;display:inline-block}.detail__action:hover{border-color:var(--accent)}.detail__action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.page__intro{color:var(--muted);max-width:42rem;font-size:.95rem}.home__links{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:1.5rem 0;display:grid}.home__card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:.6rem;padding:1.1rem 1.25rem;text-decoration:none;display:block}.home__card:hover{border-color:var(--accent)}.home__card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.home__card h2{margin:0 0 .35rem;font-size:1rem}.home__card p{color:var(--muted);margin:0;font-size:.88rem}.graph-section .count{margin-left:.4rem}.graph-canvas{border:1px solid var(--border);background:var(--graph-canvas);border-radius:.6rem;height:72vh;min-height:28rem;overflow:hidden}.graph-legend__toggle{display:none}@media (width<=48rem),(pointer:coarse) and (height<=32rem){.graph-canvas{height:calc(100dvh - 5rem);min-height:16rem}.graph-canvas .graph-readout,.graph-canvas .react-flow__minimap{display:none}.graph-legend__toggle{min-height:2.75rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0 .75rem;display:block}.graph-canvas .graph-legend:not(.graph-legend--open)>:not(.graph-legend__toggle){display:none}.graph-canvas .graph-legend{padding:0 .25rem}.graph-canvas .graph-legend--open{padding-bottom:.55rem}}.graph-canvas:fullscreen{border:none;border-radius:0;height:100%}.graph-canvas .react-flow{--xy-background-color:var(--graph-canvas);--xy-background-pattern-color:var(--graph-canvas-line);--xy-edge-stroke:var(--graph-edge);--xy-edge-stroke-width:1.5;--xy-controls-button-background-color:#12182a;--xy-controls-button-color:#c7ceda;--xy-controls-button-border-color:var(--graph-canvas-line);--xy-controls-button-background-color-hover:#1a2238;--xy-controls-button-color-hover:#fff;--xy-controls-box-shadow:0 2px 8px #00000059;--xy-minimap-background-color:#0d1220;--xy-minimap-mask-background-color:#0a0e17bf;--xy-attribution-background-color:transparent}.graph-canvas .react-flow__edge.graph-edge--selected .react-flow__edge-path{stroke:var(--graph-edge-active)}.graph-canvas .react-flow__edge.graph-edge--upstream .react-flow__edge-path{stroke-dasharray:7 4}.graph-canvas .react-flow__edge.graph-edge--downstream .react-flow__edge-path{stroke-dasharray:2 5;opacity:.55}.graph-canvas .react-flow__edge.graph-edge--active .react-flow__edge-path{stroke:var(--graph-edge-active);stroke-width:2.25px;filter:drop-shadow(0 0 4px #eef1f88c)}.graph-canvas .react-flow__edge.graph-edge--dimmed{opacity:.25}.graph-canvas .react-flow__edge marker path{fill:var(--graph-edge)}.graph-canvas .react-flow__edge.graph-edge--active marker path{fill:var(--graph-edge-active)}@media (prefers-reduced-motion:reduce){.graph-canvas .react-flow__edge-path{animation:none!important}}.graph-canvas .react-flow__node-lane{pointer-events:none;cursor:default}.graph-lane{box-sizing:border-box;align-items:center;width:100%;height:100%;padding-left:1rem;display:flex}.graph-lane--odd{background:var(--graph-lane-band)}.graph-lane__label{overflow-wrap:break-word;text-transform:uppercase;letter-spacing:.08em;width:7rem;color:var(--graph-lane-label);font:.72rem/1.3 ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace}.graph-node{box-sizing:border-box;border:1px solid var(--graph-node-border);border-left:4px solid var(--muted);background:var(--graph-node-bg);cursor:pointer;border-radius:.5rem;flex-direction:column;gap:.2rem;width:100%;min-height:100%;padding:.5rem .7rem;font-size:.85rem;transition:opacity .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #0000004d}.graph-node__name{color:var(--graph-node-text);font-weight:600;line-height:1.25}.graph-node__meta{text-transform:uppercase;letter-spacing:.05em;color:var(--graph-node-meta);font:.68rem/1.3 ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace}.graph-node--role-selected{border-color:var(--graph-edge-active);box-shadow:0 0 0 2px var(--graph-edge-active), 0 4px 14px #00000073}.graph-node--role-upstream{border-style:dashed dashed dashed solid}.graph-node--role-downstream{opacity:.72;border-style:dotted dotted dotted solid}.graph-node--origin{box-shadow:0 0 0 2px var(--graph-edge-active), 0 4px 14px #00000073}.graph-node--chained{box-shadow:0 0 0 1px var(--graph-edge-active), 0 2px 8px #00000059}.graph-node--dimmed{opacity:.3;box-shadow:none}@media (prefers-reduced-motion:reduce){.graph-node{transition:none}}.graph-panel{border:1px solid var(--graph-canvas-line);color:#c7ceda;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d1220d9;border-radius:.5rem;flex-direction:column;gap:.4rem;padding:.55rem .75rem;font-size:.72rem;display:flex}.graph-legend__item{align-items:center;gap:.4rem;display:inline-flex}.graph-legend__dot{border-radius:50%;flex:none;width:.6rem;height:.6rem}.graph-legend__roles{border-top:1px solid var(--graph-canvas-line);flex-direction:column;gap:.4rem;margin-top:.5rem;padding-top:.5rem;display:flex}.graph-legend__outline{border:1px solid #c7ceda;border-radius:.15rem;flex:none;width:.85rem;height:.6rem}.graph-legend__outline--selected{border-color:var(--graph-edge-active);box-shadow:0 0 0 1px var(--graph-edge-active)}.graph-legend__outline--upstream{border-style:dashed}.graph-legend__outline--downstream{opacity:.72;border-style:dotted}.graph-readout{text-align:right;text-transform:uppercase;letter-spacing:.05em;color:#8992a6;align-items:flex-end;font:.7rem/1.4 ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace}.page__status{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.session{color:var(--muted);align-items:center;gap:.6rem;font-size:.85rem;display:inline-flex}.session__email{font-weight:500}.session__error{color:var(--warn)}.session__logout{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.login{max-width:22rem}.login__form{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.login__field{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.login__field input{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:.4rem;padding:.5rem .65rem}.login__field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login__error{color:var(--warn);margin:0;font-size:.9rem}.login button[type=submit]{font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:.4rem;padding:.55rem 1rem}.login button[type=submit]:disabled{opacity:.6;cursor:progress}.calendar-bar{z-index:3;background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin:1.25rem 0 .75rem;padding:.5rem 0;display:flex;position:sticky;top:0}.calendar-bar__nav{align-items:center;gap:.5rem;display:flex}.calendar-bar__month{text-align:center;min-width:10.5rem;font-size:1.05rem;display:inline-block}.calendar-bar__month:first-letter,.day__date:first-letter{text-transform:uppercase}.calendar-bar__step,.calendar-bar__today{border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;border-radius:6px;padding:.35rem .75rem}.calendar-bar__step{min-width:2.25rem;font-size:1.1rem;line-height:1.1}.calendar-bar__step:hover:not(:disabled),.calendar-bar__today:hover{border-color:var(--accent);color:var(--accent)}.calendar-bar__step:disabled{opacity:.4;cursor:not-allowed}.calendar-bar__step:focus-visible,.calendar-bar__today:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filters__field--toggle{flex-direction:row;align-items:center;gap:.45rem}.filters__classes{flex:22rem}.filters__chips{flex-wrap:wrap;gap:.4rem;display:flex}.filters__chip{border:1px solid var(--border);cursor:pointer;border-radius:.4rem;align-items:center;gap:.35rem;padding:.25rem .5rem;font:.72rem/1.3 ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;display:inline-flex}.filters__chip--on{border-color:var(--accent);color:var(--accent)}.filters__chip--absent{opacity:.55}.filters__chip:focus-within{outline:2px solid var(--accent);outline-offset:1px}.calendar-scroll{overflow-anchor:none}.calendar{border-collapse:collapse;table-layout:fixed;width:100%}.calendar thead th{top:var(--calendar-bar-height,0px);z-index:2;background:var(--bg);border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:.4rem .6rem;font-size:.82rem;font-weight:600;position:sticky}.calendar__week-head{width:6.5rem}.calendar__week{color:var(--muted);text-align:left;vertical-align:top;white-space:nowrap;padding:.75rem .6rem;font-size:.82rem;font-weight:500}.calendar__week-position{font-variant-numeric:tabular-nums;letter-spacing:.03em;opacity:.75;margin-top:.15rem;font-size:.72rem;display:block}.calendar__row+.calendar__row th,.calendar__row+.calendar__row td{border-top:1px solid var(--border)}.calendar__row,.calendar__month{scroll-margin-top:calc(var(--calendar-bar-height,0px) + 2.6rem)}.calendar__month{border-bottom:2px solid var(--border);text-align:left;padding:1.5rem .6rem .5rem;font-size:1.05rem;font-weight:600}.calendar__month:first-letter{text-transform:uppercase}.calendar__aside{padding:.75rem 0 0}.calendar__aside .month-events{margin:0}.calendar__more{min-height:2.75rem;color:var(--muted);justify-content:center;align-items:center;font-size:.88rem;display:flex}.calendar__more-button{border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;border-radius:6px;padding:.35rem .75rem}.calendar__more-button:hover{border-color:var(--accent);color:var(--accent)}.calendar__more-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar__cell{vertical-align:top;padding:.5rem .4rem}.month-events{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;margin:0 0 1rem;padding:.7rem .9rem;list-style:none}.month-events__item{gap:.6rem;font-size:.88rem;display:flex}.month-events__item+.month-events__item{margin-top:.35rem}.month-events__when{min-width:9.5rem;color:var(--muted);font-variant-numeric:tabular-nums}.month-events__badge{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;border-radius:.3rem;margin-left:.5rem;padding:.05rem .35rem;font-size:.72rem;display:inline-block}.calendar__holiday{color:var(--muted);padding:.9rem .6rem;font-size:.9rem;font-style:italic}.calendar__row--holiday{background:var(--surface)}.day--holiday{color:var(--muted);flex-direction:column;gap:.25rem;margin:0;padding:.4rem 0;display:flex}.day__holiday{font-size:.9rem;font-style:italic}.lesson__subtitle,.lesson__notes{color:var(--muted);font-size:.72rem;display:block}.lesson__notes{white-space:pre-line;font-style:italic}.lesson__material{color:inherit;text-underline-offset:2px;font-size:.75rem;text-decoration:underline}.day__events{gap:.2rem;margin:0 0 .35rem;padding:0;list-style:none;display:grid}.day__event{border-left:3px solid var(--accent);background:var(--surface);border-radius:3px;flex-wrap:wrap;align-items:center;gap:.3rem;margin:0 0 .2rem;padding:.1rem .4rem;font-size:.8rem;display:flex}.day__event[draggable=true]{cursor:grab}.day__event-label{font-weight:600}.day__event-badge{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.day__event .lesson__move,.day__event .lesson__edit{opacity:1;margin-top:0}.day__date{color:var(--muted);margin:0 0 .4rem;font-size:.82rem}.day--today .day__date{color:var(--accent);font-weight:600}.day__slots{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.slot{grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:.5rem;display:grid}.slot__time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.15rem;font-size:.78rem}.slot__body{flex-direction:column;gap:.25rem;min-width:0;display:flex}.slot--empty .slot__none{color:var(--border)}.day__leave,.slot__leave{color:var(--warn);font-size:.78rem}.day__leave{margin:-.2rem 0 .4rem;font-style:italic}.slot__leave{letter-spacing:.04em;font-variant-caps:all-small-caps}.lesson{border:1px solid var(--border);border-left:3px solid var(--lesson-hue,var(--accent));background:var(--surface);color:inherit;border-radius:5px;flex-direction:column;gap:.1rem;padding:.35rem .5rem;text-decoration:none;display:flex}.lesson--tint-0{background:color-mix(in srgb, var(--lesson-hue,var(--accent)) 8%, var(--surface))}.lesson--tint-1{background:color-mix(in srgb, var(--lesson-hue,var(--accent)) 14%, var(--surface))}.lesson--tint-2{background:color-mix(in srgb, var(--lesson-hue,var(--accent)) 20%, var(--surface))}.lesson__link{color:inherit;flex-direction:column;gap:.1rem;text-decoration:none;display:flex}.lesson:hover{border-color:var(--lesson-hue,var(--accent))}.lesson__link,.lesson__title{min-width:0}.lesson .code-badge{white-space:normal;overflow-wrap:anywhere;min-width:0}.lesson__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar-legend{flex-wrap:wrap;gap:.35rem .75rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.calendar-legend__item{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:.35rem;padding:.15rem .4rem;font-size:.78rem;display:inline-flex}.calendar-legend__item:hover,.calendar-legend__item:focus-visible{border-color:var(--border);color:var(--fg)}.calendar-legend__item--on{border-color:var(--accent);color:var(--fg)}.calendar-legend__dot{border-radius:2px;width:.7rem;height:.7rem}.lesson__title{flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:.88rem;line-height:1.3;display:flex}.lesson__meta{color:var(--muted);font-size:.76rem}.calendar-filters__toggle{border:1px solid var(--border);background:var(--surface);min-height:2.75rem;color:var(--fg);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;margin:0 0 .75rem;padding:0 .85rem;font-size:.92rem;display:none}.calendar-filters__toggle[aria-expanded=true]{border-color:var(--accent)}.calendar-filters__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=48rem),(pointer:coarse) and (height<=32rem){.calendar,.calendar tbody,.calendar__row,.calendar__cell,.calendar__week,.calendar__month-row,.calendar__month,.calendar__aside-row,.calendar__aside{width:auto;display:block}.calendar-bar__month{min-width:0}.calendar-bar__nav{gap:.35rem}.calendar__row,.calendar__month{scroll-margin-top:var(--calendar-bar-height,0px)}.calendar thead,.calendar__cell:empty,.calendar__outside{display:none}.calendar__week{white-space:normal;padding:.9rem 0 .25rem}.calendar__week-position{margin:0 0 0 .5rem;display:inline}.calendar__cell{padding:.4rem 0}.calendar-bar{gap:.5rem;margin:.5rem 0;padding:.35rem 0}.calendar-filters__toggle{display:inline-flex}.calendar-filters{display:none}.calendar-filters--open{display:block}}.login__done{color:var(--accent);margin:0;font-size:.9rem}.login h3{margin:1.5rem 0 0;font-size:.95rem}.login .notice h3{margin-top:0}.leaves__scroll{border:1px solid var(--border);border-radius:6px;margin:.5rem 0 1.5rem;position:relative;overflow-x:auto}.leaves{border-collapse:collapse;font-variant-numeric:tabular-nums}.leaves th,.leaves td{border:1px solid var(--border)}.leaves__who{z-index:1;background:var(--bg);text-align:left;min-width:11rem;padding:.35rem .6rem;font-size:.86rem;font-weight:600;position:sticky;left:0}@media (width<=48rem){.leaves__who{min-width:7rem;max-width:7rem}}.leaves__month,.leaves__week{color:var(--muted);text-align:center;white-space:nowrap;padding:.2rem .15rem;font-size:.7rem;font-weight:600}.leaves__month{text-transform:uppercase;letter-spacing:.04em}.leaves__cell{background:var(--surface);width:1.65rem;height:1.5rem}.leaves__cell--off{background:var(--accent)}.leaves__mine{flex-direction:column;gap:.3rem;margin:.4rem 0 1rem;padding:0;list-style:none;display:flex}.leaves__mine li{border:1px solid var(--border);background:var(--surface);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;max-width:34rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.leaves__remove{border:1px solid var(--border);background:var(--bg);color:var(--warn);cursor:pointer;border-radius:6px;padding:.2rem .6rem;font-size:.82rem}.leaves__form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.leaves__form button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:.4rem .85rem}.leaves__form button[type=submit]{border-color:var(--accent);background:var(--accent);color:var(--bg)}.leaves__form button:disabled{opacity:.55;cursor:not-allowed}.leaves__slots{border:1px solid var(--border);border-radius:6px;align-items:center;gap:.55rem;margin:0;padding:.35rem .6rem .4rem;display:flex}.leaves__slots legend{padding:0 .3rem}.leaves__slot{font-variant-numeric:tabular-nums;cursor:pointer;align-items:center;gap:.25rem;font-size:.85rem;display:flex}.leaves__label{min-width:14rem}.lesson--reserved{border-left-style:dashed;border-left-color:var(--warn);text-align:left}.lesson--editable:hover{border-color:var(--warn)}.lesson[draggable=true],.month-events__item[draggable=true]{cursor:grab}.lesson[draggable=true]:active,.month-events__item[draggable=true]:active{cursor:grabbing}.slot__reserve{color:var(--border);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px dashed #0000;border-radius:5px;padding:0 .3rem;line-height:1.3}.slot__reserve:hover,.slot__reserve:focus-visible{border-color:var(--accent);color:var(--accent)}.slot__reserve--extra{opacity:.25;align-self:flex-start;padding:0 .25rem;font-size:.78rem;line-height:1.1;transition:opacity .12s}.slot:hover .slot__reserve--extra,.slot:focus-within .slot__reserve--extra{opacity:1}@media (hover:none){.slot__reserve--extra{opacity:1}}.day__reserve{align-self:flex-start}.calendar__week-kind{color:var(--warn);white-space:normal;margin-top:.15rem;font-size:.72rem;font-weight:600;display:block}.calendar__row--closed-open .calendar__cell{background:color-mix(in srgb, var(--surface) 60%, transparent)}.reservations{border-collapse:collapse;width:100%;margin:.5rem 0 1rem;font-size:.88rem}.reservations th,.reservations td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.4rem .6rem}.reservations thead th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:600}.reservations tbody th{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.reservations td button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:.2rem .6rem;font-size:.82rem}.reservations td button+button{margin-left:.3rem}.reservations__remove{color:var(--warn)}.day--collapsed{flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.day__reveal{border:1px dashed var(--border);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:5px;padding:.1rem .4rem;font-size:.72rem}.day__reveal:hover,.day__reveal:focus-visible{border-style:solid;border-color:var(--accent);color:var(--fg)}.reservations__form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.reservations__form button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:.4rem .85rem}.reservations__form button[type=submit]{border-color:var(--accent);background:var(--accent);color:var(--bg)}.reservations__form button:disabled{opacity:.55;cursor:not-allowed}.reservations__shortcut{border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:999px;padding:.15rem .5rem;font-size:.78rem}.reservations__label{min-width:14rem}.reservations__retenu{background:var(--bg);font-family:inherit;font-size:.78rem}@media (width<=48rem){.table-cards,.table-cards tbody,.table-cards tr,.table-cards td,.table-cards tbody th{display:block}.table-cards thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table-cards tr{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:0 0 .75rem;padding:.6rem .8rem}.table-cards th,.table-cards td{border-bottom:none;padding:.2rem 0}.table-cards tbody th{white-space:normal;padding-bottom:.4rem;font-size:.95rem}.table-cards td[data-label]{min-height:1.4rem;padding-left:7.5rem;position:relative}.table-cards td[data-label]:before{content:attr(data-label);width:7rem;color:var(--muted);font-size:.78rem;position:absolute;top:.25rem;left:0}.table-cards td.table-cards__actions{flex-wrap:wrap;gap:.5rem;padding-top:.6rem;display:flex}.table-cards td.table-cards__actions:empty{display:none}.table-cards td button,.table-cards td button+button{min-height:2.75rem;margin-left:0;padding-inline:.9rem;font-size:.9rem}}.lesson--pinned{border-left-width:5px}.lesson__pin{font-size:.7rem;line-height:1;position:absolute;top:.15rem;right:.25rem}.lesson{position:relative}.lesson__retouched{font-size:.7rem;line-height:1;position:absolute;top:.15rem;right:1.3rem}.calendar-legend__note{color:var(--muted);align-items:center;gap:.35rem;padding:.15rem .4rem;font-size:.78rem;display:inline-flex}.lesson__move,.lesson__edit{color:var(--muted);cursor:pointer;font:inherit;opacity:0;background:0 0;border:1px solid #0000;border-radius:4px;align-self:flex-start;margin-top:.2rem;padding:0 .25rem;font-size:.72rem}.lesson:hover .lesson__move,.lesson:hover .lesson__edit,.lesson__move:focus-visible,.lesson__edit:focus-visible{border-color:var(--border);color:var(--fg);opacity:1}.month-events__move{align-self:center;margin-top:0;margin-left:auto}.month-events__item:hover .month-events__move,.month-events__move:focus-visible{border-color:var(--border);color:var(--fg);opacity:1}.slot__body--drop,.day--drop{outline:2px dashed var(--accent);outline-offset:1px}.modal__backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:min(38rem,100%);padding:.9rem 1rem 1rem;box-shadow:0 12px 32px #00000040}.modal:focus{outline:none}.modal__head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.modal__title{margin:0;font-size:1rem}.modal__close{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;flex:none;padding:.1rem .4rem}.modal__close:hover,.modal__close:focus-visible{border-color:var(--border);color:var(--fg)}.move{margin:.75rem 0 0}.move__recap{flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:.6rem 0 0;font-size:.88rem;display:flex}.move__block--context{border-left-color:var(--muted)}.move__fields{flex-wrap:wrap;gap:.75rem;margin:.75rem 0;display:flex}.move__block{border-left:3px solid var(--border);background:var(--bg);border-radius:4px;margin:.75rem 0;padding:.5rem .75rem}.move__block--conflict{border-left-color:var(--warn)}.move__block--warning{border-left-color:var(--accent)}.move__heading{margin:0 0 .35rem;font-size:.82rem;font-weight:600}.move__note{margin:0;font-size:.82rem}.move__block ul{margin:0;padding-left:1.1rem;font-size:.82rem}.move__proposals{padding:0;list-style:none}.move__proposal{border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer;font:inherit;border-radius:5px;padding:.25rem .5rem;font-size:.82rem}.move__proposal:hover:not(:disabled),.move__proposal:focus-visible{border-color:var(--accent)}.export__group{border:0;margin:.75rem 0;padding:0}.move__actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.move__actions button{border:1px solid var(--border);background:var(--bg);color:inherit;cursor:pointer;font:inherit;border-radius:6px;padding:.4rem .85rem}.move__actions button:first-child{border-color:var(--accent);background:var(--accent);color:var(--bg)}.move__actions button:disabled{opacity:.55;cursor:not-allowed}.lesson--other{opacity:.62;border-left-style:dotted}.lesson--other:hover,.lesson--other:focus-within{opacity:1}.lesson__badge{background:color-mix(in srgb, var(--lesson-hue,var(--accent)) 30%, var(--bg));text-transform:lowercase;border-radius:3px;align-self:flex-start;margin-top:.15rem;padding:0 .3rem;font-size:.68rem}.lesson__register{border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;font:inherit;border-radius:4px;align-self:flex-start;margin-top:.2rem;padding:0 .25rem;font-size:.72rem}.lesson__register:hover,.lesson__register:focus-visible{border-color:var(--accent)}.register{margin:.75rem 0 0}.register p{font-size:.88rem}.assignment-kind{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;white-space:nowrap;border-radius:.3rem;padding:.05rem .45rem;font-size:.72rem;display:inline-block}.assignment-kind--summative{border-color:var(--accent);color:var(--fg)}.assignment-state{white-space:nowrap;font-weight:600}.assignment-state--late,.assignment-state--missing{color:var(--warn)}.assignment-state--on_time{color:var(--ok)}.assignment-state--pending{color:var(--muted);font-weight:400}.assignments{gap:1rem;display:grid}.assignment{border:1px solid var(--border);background:var(--bg);border-radius:.5rem;padding:.9rem 1.1rem}.assignment__head{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.assignment__head h3{margin:0;font-size:1.05rem}.assignment__deadline{font-variant-numeric:tabular-nums;margin:.4rem 0}.assignment__remaining{color:var(--warn)}.assignment__brief p{margin:.3rem 0}.assignment__latest{overflow-wrap:anywhere}.assignment__warning{color:var(--warn);margin:0 0 .5rem;font-size:.88rem}.assignment__history{overflow-wrap:anywhere;margin:.4rem 0 0;padding-left:1.1rem;font-size:.85rem}.assignment__history button{margin-left:.5rem}.assignment-form__wide{flex-basis:100%}.assignment-form__wide textarea,.assignment-form__wide input{box-sizing:border-box;width:100%;max-width:40rem}.assignment-roster{margin-top:1.5rem}.roster__outside{opacity:.75}.day__deadlines{margin:.15rem 0 .3rem;padding:0;font-size:.72rem;list-style:none}.deadline{border-left:3px solid var(--border);padding:.05rem .3rem}.deadline--summative{border-left-color:var(--accent)}.deadline__time{font-variant-numeric:tabular-nums;font-weight:600}.deadline__kind{color:var(--muted)}.calendar__holiday .day__deadlines{margin-top:.4rem}.lesson__link{color:var(--accent)}.lesson--reserved .lesson__link{align-self:flex-start;margin-top:.2rem;font-size:.72rem}.pt-badge{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;white-space:nowrap;border-radius:.3rem;padding:.05rem .45rem;font-size:.72rem;display:inline-block}.pt-badge--published{border-color:var(--ok);color:var(--fg)}.pt-session--current{background:color-mix(in srgb, var(--accent) 8%, transparent)}.pt-session-bar{margin-top:1.25rem}.pt-session-bar p{margin:.3rem 0}.pt-grading{margin-top:1rem}.pt-grading__scroll{position:relative;overflow-x:auto}.pt-table{min-width:52rem}.pt-table__prompts td{color:var(--muted);vertical-align:top;font-size:.75rem;font-style:italic}.pt-band--1{--pt-band:color-mix(in srgb, var(--series-4) 12%, transparent);background:var(--pt-band)}.pt-band--2{--pt-band:color-mix(in srgb, var(--series-3) 12%, transparent);background:var(--pt-band)}.pt-band--3{--pt-band:color-mix(in srgb, var(--series-8) 12%, transparent);background:var(--pt-band)}.pt-band--4{--pt-band:color-mix(in srgb, var(--series-1) 12%, transparent);background:var(--pt-band)}.pt-band--5{--pt-band:color-mix(in srgb, var(--series-5) 12%, transparent);background:var(--pt-band)}.pt-band--6{--pt-band:color-mix(in srgb, var(--series-6) 12%, transparent);background:var(--pt-band)}.pt-band--7{--pt-band:color-mix(in srgb, var(--series-7) 12%, transparent);background:var(--pt-band)}.pt-band--8{--pt-band:color-mix(in srgb, var(--series-2) 12%, transparent);background:var(--pt-band)}.pt-band--outside{opacity:.75}.pt-table tbody th[scope=row]{z-index:1;background:linear-gradient(var(--pt-band,transparent), var(--pt-band,transparent)), var(--bg);position:sticky;left:0}.stars{white-space:nowrap;gap:.15rem;display:inline-flex}.stars__choice{border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:4px;padding:0 .3rem;font-size:.85rem;line-height:1.6}.stars__choice:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--fg)}.stars__choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.pt-comment{box-sizing:border-box;width:100%;min-width:12rem;font:inherit;font-size:.85rem}.pt-score{font-variant-numeric:tabular-nums;white-space:nowrap;background:color-mix(in srgb, color-mix(in srgb, var(--ok) var(--pt-score,0%), var(--warn)) 22%, transparent);font-weight:600}.pt-score--none{color:var(--muted);background:0 0;font-weight:400}.pt-status{color:var(--muted);font-size:.75rem;font-weight:400}.pt-status--error{color:var(--warn)}.pt-card{gap:.2rem;margin:.5rem 0;display:grid}.pt-card__row{gap:.75rem;display:flex}.pt-card__row dt{min-width:7rem;color:var(--muted)}.pt-card__row dd{margin:0}.pt-card__stars{letter-spacing:.1em}.pt-card__comment{white-space:pre-wrap;margin:.4rem 0 0}@media (hover:none) and (pointer:coarse){.lesson__move,.lesson__edit,.month-events__move{border-color:var(--border);color:var(--fg);opacity:1}.lesson__move,.lesson__edit,.month-events__move,.lesson__register,.slot__reserve,.day__reveal,.calendar-bar__step,.calendar-bar__today,.calendar__more-button{min-height:2.75rem;padding-inline:.75rem;font-size:.88rem}.calendar-bar__step{min-width:2.75rem}.slot__reserve--extra{min-height:2.25rem}}@media (width<=48rem){.modal__backdrop{align-items:flex-end;padding:0}.modal{border-bottom:none;border-radius:14px 14px 0 0;width:100%;max-height:92dvh;overflow-y:auto}.modal__close{min-width:2.75rem;min-height:2.75rem}}@media (height<=32rem){.modal__backdrop{padding:.5rem 1rem}}@media (width<=48rem){.reservations__form,.leaves__form{flex-direction:column;align-items:stretch}.reservations__form>.filters__field,.leaves__form>.filters__field,.reservations__label,.leaves__label{flex:none;min-width:0}.reservations__form input:not([type=checkbox],[type=radio]),.reservations__form select,.reservations__form textarea,.leaves__form input:not([type=checkbox],[type=radio]),.leaves__form select{box-sizing:border-box;width:100%;min-height:2.75rem}.leaves__slots{flex-wrap:wrap}.reservations__form>button,.leaves__form>button{align-self:flex-start;min-height:2.75rem}.reservations__form>button[type=submit],.leaves__form>button[type=submit]{align-self:stretch}.stars__choice{align-items:center;min-height:2.75rem;padding:0 .55rem;display:inline-flex}}button.detail__action{cursor:pointer;font:inherit;font-size:.85rem}.vault__page-tools,.vault__row-tools{flex-wrap:wrap;gap:.4rem;display:flex}.vault__page-tools{margin:.25rem 0 .6rem}.vault__row-tools{margin-top:.3rem}.vault__tool{border:1px solid var(--border);background:var(--bg);color:inherit;cursor:pointer;font:inherit;border-radius:5px;padding:.15rem .5rem;font-size:.8rem}.vault__tool:hover:not(:disabled),.vault__tool:focus-visible{border-color:var(--accent)}.vault__tool:disabled{opacity:.45;cursor:not-allowed}.vault__tool--danger:hover:not(:disabled),.vault__tool--danger:focus-visible{border-color:var(--warn)}.vault__fields{flex-direction:column;gap:.75rem;margin:.75rem 0;display:flex}.vault__fields input,.vault__fields textarea,.vault__fields select,.vault select{max-width:100%;font:inherit}.vault__hint{margin-top:.4rem}.vault__warning{color:var(--warn)}.vault__list{grid-template-columns:minmax(0,1fr);gap:.35rem;margin:0;padding-left:1.3rem;display:grid}.vault__row{align-items:center;gap:.35rem;min-width:0;display:flex}.vault__row--source{flex-wrap:wrap;margin:.25rem 0}.vault__row--source textarea{min-width:0;font:inherit;flex:16rem}.vault__row input{flex:auto;min-width:0}.vault__row-label{overflow-wrap:anywhere;flex:auto;min-width:0;font-size:.88rem}.vault__diffs details{margin:.2rem 0}.vault__diffs summary{cursor:pointer;overflow-wrap:anywhere}.vault__diff{border:1px solid var(--border);background:var(--bg);border-radius:5px;max-width:100%;max-height:22rem;margin:.5rem 0;padding:.5rem .6rem;font-size:.75rem;line-height:1.35;overflow:auto}.vault__line--add{color:var(--ok)}.vault__line--del{color:var(--warn)}.vault__line--hunk,.vault__line--file{color:var(--muted)}.vault__output summary{cursor:pointer;font-size:.82rem}.vault__confirm{align-items:flex-start;gap:.5rem;margin:.75rem 0 0;font-size:.86rem;display:flex}.vault__outcome code,.vault__hint code,.vault__warning code{overflow-wrap:anywhere}.import__group{border:0;margin:.75rem 0;padding:0}.import__group legend{padding:0;font-size:.88rem;font-weight:600}.import__checks{flex-wrap:wrap;gap:.25rem .9rem;margin:.35rem 0;display:flex}.import__check{align-items:center;gap:.3rem;font-size:.86rem;display:inline-flex}.import__group>.import__check{margin:.2rem 0;display:flex}.import__columns{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1.25rem;display:grid}.import__scope-panel h3,.import__fields-panel h3{margin:.5rem 0;font-size:1rem}.import__search{flex-direction:column;gap:.25rem;margin:.5rem 0;font-size:.86rem;display:flex}.import__search input{max-width:24rem;font:inherit}.import__tree--root{border:1px solid var(--border);background:var(--bg);border-radius:6px;max-height:34rem;padding:.5rem .75rem;overflow:auto}.import__tree{margin:0;padding-left:1.1rem;list-style:none}.import__node{overflow-wrap:anywhere;margin:.15rem 0;font-size:.86rem}.import__node summary{cursor:pointer}.import__node code{font-size:.8rem}.import__scope{font:inherit;margin:0 0 0 .5rem;font-size:.8rem}.import__inert{color:var(--muted)}.import__state{background:var(--surface);color:var(--muted);border-radius:4px;padding:0 .35em;font-size:.75rem}.import__state--absent,.import__state--créé{color:var(--accent)}.import__state--modifié{color:var(--fg);font-weight:600}.import__objects{margin:.5rem 0;padding:0;list-style:none}.import__object{border-left:3px solid var(--border);overflow-wrap:anywhere;margin:.5rem 0;padding:.4rem .6rem;font-size:.86rem}.import__object-head{margin:0 0 .25rem}.import__fields,.import__notes{margin:0;padding-left:1.1rem}.import__notes{color:var(--muted);font-style:italic}.import__field{font-weight:600}.import__del{color:var(--warn);text-decoration:line-through}.import__add{color:var(--ok);text-decoration:underline}.import__words,.import__texts p{border:1px solid var(--border);background:var(--bg);white-space:pre-wrap;border-radius:5px;max-height:18rem;margin:.35rem 0;padding:.4rem .5rem;overflow:auto}.import__preview{overflow-wrap:anywhere;margin:.25rem 0 .5rem;padding-left:1.1rem;font-size:.84rem}.import__preview summary{cursor:pointer}.import__state--identique{color:var(--muted)}.import__descendance{margin:.5rem 0}@media (width<=48rem){.import__columns{grid-template-columns:minmax(0,1fr)}}
