:root{color-scheme:light;--ink:#142c39;--muted:#526574;--paper:#f3f6f7;--line:#cbd8df;--accent:#116b65;--accent-dark:#07534e;--gold:#cc9e45;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}[hidden]{display:none!important}a{color:var(--accent-dark);text-underline-offset:4px}a:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible,.file-button:focus-within{outline:3px solid var(--gold);outline-offset:3px}button,select,.file-button{font:inherit;min-height:46px;border:1px solid #9caeb8;border-radius:10px;padding:10px 15px;background:#fff;color:var(--ink);cursor:pointer}button:hover:not(:disabled),.file-button:hover{background:#e7f2f0}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover:not(:disabled){background:var(--accent-dark)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px max(20px,calc((100vw - 1460px)/2));background:#102d3d;color:#fff;border-bottom:3px solid var(--gold)}.topbar a{color:#fff;text-decoration:none}.brand{font-weight:750;white-space:nowrap}.topbar nav{display:flex;gap:8px;flex-wrap:wrap}.topbar nav a{padding:9px 13px;border-radius:8px}.topbar nav a[aria-current=page]{background:#24716e}.topbar nav a:hover{background:#244857}main{max-width:1500px;margin:auto;padding:26px 24px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}h1{font-size:clamp(1.9rem,3.2vw,2.8rem);margin:0;letter-spacing:-.035em}h2{margin:0 0 9px;font-size:1.15rem}.description{max-width:85ch;line-height:1.55;margin:15px 0}.actions,.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.status{min-height:42px;border-left:4px solid var(--accent);padding:10px 14px;background:#e3eeed;border-radius:0 8px 8px 0;line-height:1.45;margin:18px 0}.status.error{border-color:#a23636;background:#ffeded}.tool-panel{border:1px solid var(--line);padding:20px;background:white;border-radius:16px;box-shadow:0 5px 23px #142c3909}.toolbar a{margin-left:8px}.secondary{margin:15px 0}.compact-label{margin-left:10px}.hint{font-size:.9rem;line-height:1.5;color:var(--muted)}.empty-state{min-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px dashed #a8bcc5;border-radius:12px;line-height:1.7;padding:20px;color:var(--muted);background:#f8fafb}.empty-state small{font-size:.85rem}.calculator-host{display:flex;justify-content:center;min-height:720px}.calculator-host .empty-state{width:100%}.calculator-host iframe{border:0;width:368px;max-width:100%;height:720px;display:block}.applet-host{height:min(72vh,760px);min-height:520px;width:100%;overflow:hidden}.applet-host .empty-state{height:100%}.applet-inner{width:100%;height:100%}.python-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;margin-top:22px}.editor-column label{display:block;font-weight:700;margin-bottom:9px}textarea{display:block;resize:vertical;width:100%;min-height:410px;background:#112c3a;color:#f4fbff;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:clamp(18px,1.6vw,23px);line-height:1.6;tab-size:4;border:2px solid #264d5c;border-radius:10px;padding:17px;white-space:pre;overflow-wrap:normal}pre{min-height:180px;max-height:450px;overflow:auto;margin:0;background:#eef4f5;border:1px solid var(--line);border-radius:10px;padding:17px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(18px,1.6vw,23px);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;line-height:1.55}.figures{display:grid;gap:15px;margin-top:15px}.figures img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}footer{font-size:.78rem;color:var(--muted);line-height:1.55;margin:24px 0 0}footer p{margin:7px 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body:has(main:fullscreen){overflow:hidden}main:fullscreen{max-width:none;width:100%;height:100%;background:var(--paper);overflow:auto;padding:20px}.projection .topbar{padding-top:10px;padding-bottom:10px}.projection .eyebrow,.projection footer{display:none}.projection main{padding-top:16px}.projection .description{margin:8px 0}.projection .applet-host{height:calc(100vh - 290px)}@media(max-width:800px){:root{font-size:16px}.topbar{align-items:flex-start;flex-direction:column;padding:12px 15px;gap:8px}main{padding:20px 13px}.page-heading{align-items:flex-start;flex-direction:column;gap:13px}.tool-panel{padding:13px}.python-workspace{grid-template-columns:1fr}.calculator-host{min-height:600px}.applet-host{min-height:430px;height:65vh}button,.file-button,select{padding:9px 12px}.toolbar a{margin-left:0}textarea{min-height:300px}}@media print{.topbar,.actions,.toolbar,footer,.status{display:none}body,main{background:#fff}main{padding:0}.tool-panel{box-shadow:none;border:0}.python-workspace{display:block}textarea{color:#111;background:white;min-height:auto;height:auto}.hint{font-size:10pt}pre{max-height:none}.calculator-host iframe{display:none}}

a.button{display:inline-flex;padding:14px 20px;border:1px solid #9caeb8;border-radius:12px;text-decoration:none;background:white;font-weight:650}.projection .topbar,.projection .description,.projection .hint,.projection footer,.projection .eyebrow{display:none}.projection .page-heading .actions{display:none}.projection .status:not(.error){display:none}.projection main{padding:12px}.projection h1{font-size:24px}.projection .tool-panel{padding:12px}.projection .applet-host{height:calc(100vh - 125px);min-height:380px}.projection .calculator-host{min-height:0}.projection .calculator-host iframe{height:min(720px,calc(100vh - 125px))}

/* Afficheur officiel NumWorks ; plein écran disponible aussi dans la projection. */
.projection .page-heading .actions{display:flex}
.projection #projection-window{display:none}
.numworks-display-fullscreen:fullscreen,.numworks-display-focus{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;min-height:0;max-width:none;margin:0;padding:0;overflow:hidden;background:#101516}
.numworks-display-focus{z-index:10000}
.numworks-display-controls{position:absolute;z-index:2;top:.45rem;right:.45rem;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}
.numworks-display-controls[hidden]{display:none}
.numworks-display-controls span{color:#fff;background:#101516cc;padding:.15rem .35rem;font-size:.8rem}
.numworks-display-exit{background:#fffffff2}
