:root{--paper:#080f1d;--ink:#dfe8ef;--navy:#edf3f7;--teal:#9dd8f1;--purple:#b5b1ec;--mint:#b4dfdf;--line:#a4c8df29;--muted:#a6bac9;--wash:#121e30;--radius:3px;color-scheme:dark}
html{scroll-behavior:auto}body{background:#050b16;color:var(--ink);overflow-x:hidden}a{color:var(--teal)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #c0eeff;outline-offset:5px}
#deep-space{position:fixed;inset:0;background:#050b16 url('space/sky.webp') center/cover no-repeat;z-index:-3;pointer-events:none}#deep-space:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#02061166,transparent 65%)}#space-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2}#space-veil{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#040b16d9 0,#040b1666 32%,transparent 72%)}body[data-page=mappa] #space-veil{background:#040b1626}body[data-page=slide] #space-veil,body[data-page=code] #space-veil{background:#040b1644}
.site-header{height:100px;background:#060d18bb;border-color:#b0cfe529;gap:25px;padding:0 4vw;position:relative;z-index:3}.brand{font-size:21px;letter-spacing:2.4px;gap:15px}.brand strong{font-weight:400;color:#acd9ed}.brand small{display:block;font:10px/1.8 Nimbus,sans-serif;letter-spacing:2.9px;color:#adc0cc}.brand-orbit{width:30px;height:30px;border:1px solid #a9d5ec;border-radius:50%;display:block;position:relative;transform:rotate(-35deg)}.brand-orbit:before{content:"";position:absolute;inset:8px -8px;border:1px solid #a9d5ec;border-radius:50%}.brand-orbit:after{content:"";position:absolute;width:4px;height:4px;background:#d4f1ff;border-radius:50%;left:8px;top:3px}.site-header nav{gap:25px}.site-header nav a{font-size:13px;color:#bbcdd9}.site-header nav a[aria-current=page]{color:#f2f8fc;text-decoration:underline;text-underline-offset:10px;text-decoration-color:#9fd8ef}.motion-toggle{color:#c1d6e2;background:transparent;border:1px solid #b3d9ec40;padding:9px 12px;font-size:11px;min-height:38px;white-space:nowrap}.motion-toggle:hover{background:#accde514}.wrap{max-width:1440px}.eyebrow{font-weight:400;color:#abd6eb;font-size:11px;letter-spacing:2.6px}.button{background:#d8eaf2;border-color:#d8eaf2;color:#102332;border-radius:1px;font-size:14px;font-weight:700;padding:14px 21px}.button:hover{background:#f3fbff;color:#102332}.button.secondary{border-color:#a8c4d14d;color:#d9e6ed;background:#091323a6}.button.secondary:hover{background:#203348;border-color:#bfd9e8}.button.small{font-size:13px}.lead{color:#bfced9;line-height:1.7}
/* Decorative planet anchors may extend off-screen; contain their layout overflow
   without clipping text or changing the fixed WebGL canvas and its coordinates. */
.planet-viewport{position:absolute;inset:0;overflow:clip;pointer-events:none;z-index:-1}.resource-band{background:#0b182be8;border:1px solid #a4c8df20;border-radius:2px}.resource-band h2{font-size:32px}.resource-band a{color:#badfee}
.atlas-intro{padding:54px 0 24px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.atlas-intro h1{font-size:50px;margin:0 0 18px}.atlas-intro .lead{max-width:560px;font-size:17px;margin:0}.atlas-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.atlas-toolbar button{background:transparent;border:1px solid #a6c5dc24;color:#b6cbd8;padding:10px 16px;font-size:13px}.atlas-toolbar button[aria-pressed=true]{background:#d7e7f0;color:#122535;border-color:#d7e7f0}.star-map{position:relative;margin:32px 0 65px;min-height:300px}.star-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:32px;row-gap:30px;position:relative}.world-card{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:250px;padding:5px 5px 20px;text-decoration:none;color:#dce7ef}.world-orbit{height:150px;display:flex;align-items:center;justify-content:center;width:100%;position:relative}.world-orbit:after{content:"";position:absolute;left:50%;top:50%;width:144px;height:144px;transform:translate(-50%,-50%);border:1px solid #a6cee61c;border-radius:50%;transition:border-color .25s,transform .25s}.world-card:hover .world-orbit:after,.world-card:focus-visible .world-orbit:after{border-color:#a6cee68a;transform:translate(-50%,-50%) scale(1.07)}.planet-slot{width:124px;height:124px;pointer-events:none;flex:none}.planet-slot.ringed{width:86px;height:86px}.world-card .world-name{color:#adccdd;font:11px/1.6 LMMono,monospace;letter-spacing:1.2px;margin:12px 0 8px}.world-card h2{font-size:16px;line-height:1.35;letter-spacing:0;font-weight:400;margin:0;max-width:205px}.world-card .world-type{font-size:11px;margin-top:8px;color:#96adbd}.world-card .visited{font:10px LMMono,monospace;letter-spacing:.5px;color:#b1d6cd;margin-top:8px}.star-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}.star-routes path{stroke:#9cc4dc32;stroke-width:1;fill:none;stroke-dasharray:3 8}.map-note{font-size:13px;color:#a5bbc9;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:10px}.map-note a{text-decoration:none}
.catalogue{padding-top:10px}.module-card{background:#0a1628ed;border:1px solid #a6c5dc30;border-radius:2px}.module-card:hover{box-shadow:none;border-color:#aecfe467}.module-card p{color:#a9bdcc}.card-kind{color:#a9becd}.module-card.project{border-top:1px solid #b5b1ec77}.card-top{margin-bottom:22px}.filters button,.tabs button{color:#b0c5d5}.filters button[aria-pressed=true],.tabs button[aria-selected=true]{background:#c9e2ef;color:#13293a}.search input{color:#dceaf3}.search input::placeholder{color:#a0b5c5}.result-count{margin-top:0}.project-intro{padding:50px 0 35px}.project-intro h1{font-size:48px}.project-intro .lead{max-width:620px;font-size:18px}.project-parents{display:flex;gap:8px;flex-wrap:wrap;margin:5px 0 15px}.project-parents>span{flex-basis:100%;font-size:12px;color:#a9bdcc}.project-parents a{font:12px LMMono,monospace;background:#b4cde312;padding:5px 9px;text-decoration:none}
.module-head{position:relative;min-height:520px;max-width:none;padding:35px 0 55px;isolation:isolate}.module-head h1{max-width:650px;font-size:clamp(39px,4.5vw,62px);line-height:1.08;position:relative;z-index:1}.module-head .lead{max-width:560px;font-size:19px;color:#b9cbd8;position:relative;z-index:1}.module-head .eyebrow{position:relative;z-index:1}.module-head .actions{position:relative;z-index:1}.module-planet{position:absolute;width:760px;height:760px;top:-20px;right:-220px;z-index:-1;pointer-events:none}.module-planet.ringed{width:540px;height:540px;top:85px;right:-80px}.planet-designation{display:flex;align-items:center;gap:20px;margin-bottom:28px;color:#9cbacb;font:12px LMMono,monospace}.planet-designation:before{content:"";height:1px;width:38px;background:#a4d8ed}.planet-designation strong{font-weight:400;letter-spacing:2px;color:#cee7f3}.cross-nav a{max-width:48%}.breadcrumb{color:#aac1d0}.breadcrumb a{color:#bdddeb}
.reading-planet{position:fixed;width:550px;height:550px;right:-210px;bottom:-150px;pointer-events:none;z-index:-1}.reading-planet.ringed{width:360px;height:360px;right:-100px;bottom:-60px}.viewer{padding-top:0}.reader-title{padding:10px 0 0}.reader-title h1{max-width:900px}.reader-sidebar{background:#071222eb;padding:22px 17px;max-height:calc(100vh - 35px);border:1px solid #a6c4db26}.reader-sidebar input{background:#152338;color:#d9e6ee;border-color:#a3bfd13d}.toc-link{color:#b7c9d7}.toc-link:hover{background:#17304a}.toc-link[aria-current=page]{background:#213d54;color:#e2f4ff}.reader-tools{background:#081426eb;padding:10px 12px;border:1px solid #adcbdf25}.pager button{background:#1b3045;color:#dbeaf3;border-color:#98b9d24d}.slide-frame{background:#f8f6f1;border:1px solid #b9cfdb42;box-shadow:0 12px 45px #0006}.slide-caption{background:#06101dda;padding:10px 12px;margin-top:0}.reading{color:#253344;background:#f8f6f1;border-radius:1px;border:1px solid #d6dad9}.reading .math{background:#eeede7;border-color:#087c74;color:#253344}.reading .aside-text{border-color:#d6dad9}.reading .recall{background:#e9f0e9;border-color:#087c74;color:#253344}.reading figcaption{color:#657180}.reading a{color:#087c74}.reading .math mjx-container{color:#253344}.study-actions{background:#071222eb;padding:20px}.study-actions button.done{background:#b7ded4;color:#14342f}.code-top select{color:#dfeaf2;background:#13243a;border-color:#a7c3d342}.code-panel{background:#071222eb;padding:25px;border:1px solid #a2c1d02b}pre{background:#07101e;border:1px solid #9fbed62b;color:#d5e8e9;font-size:14px}.code-top strong{overflow-wrap:anywhere;font-size:14px}.notice{background:#101f33;border-color:#91b7cb38}.notice h3{color:#d9e9f2}.resources-page{max-width:1200px}.resource-card{background:#0b182bec;border-color:#94b5ce33;border-radius:2px}.resource-card p{color:#afc2d1}.resource-card h2{font-size:24px}.site-footer{background:#050c17e6;color:#a8bfce;font-size:13px}.site-footer strong{font-size:17px;letter-spacing:1px}.space-credits{padding:15px 5vw 25px;background:#050c17e6;font-size:11px;color:#96aebf;line-height:1.8}.space-credits a{color:#a9c1d0}.skip{color:#13293a}.loading,.error{background:#071222ec}
#flight-layer{position:fixed;inset:0;background:#040b17dc;z-index:20;pointer-events:auto}.flight-caption{position:absolute;top:18%;left:7vw;width:min(450px,80vw);z-index:23}.flight-caption h2{font-size:clamp(36px,5vw,65px);font-weight:400;letter-spacing:2px}.flight-caption p{color:#c2d7e3}.flight-caption .eyebrow{font-size:11px}.flight-caption .button{margin-top:20px}body.in-flight #space-canvas{z-index:21}body.in-flight .flight-caption{position:fixed;z-index:22}body.in-flight #flight-layer{background:linear-gradient(90deg,#030915f0,#030915aa)}body.in-flight .site-header,body.in-flight main{pointer-events:none}.space-fallback #deep-space{background-image:url('space/fallback.webp')}.space-fallback .world-orbit:before{content:"";width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#7a98b0,#16314e 55%,#050911 85%)}.space-fallback .world-orbit .planet-slot{display:none}
body.in-flight #space-veil{z-index:20;background:#030915df}body.in-flight #flight-layer{z-index:22;background:transparent}.code-panel .notice{margin:25px 0 0}.wrap:has(>.code-panel) .module-head{min-height:0;padding-bottom:35px}
@media(min-width:1650px){.module-planet{right:-100px}}
@media(max-width:1150px){.site-header{gap:20px}.site-header nav{gap:18px}.brand{font-size:18px}.brand small{font-size:9px}.motion-toggle{font-size:10px;padding:8px}.star-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.module-head h1{max-width:590px}.module-planet{right:-330px}.module-planet.ringed{right:-220px}.module-head .lead{max-width:480px}}
@media(max-width:850px){.site-header{height:auto;min-height:115px;flex-wrap:wrap;padding:20px 5vw 14px;gap:18px}.site-header nav{order:3;width:100%;justify-content:space-between;margin:0}.motion-toggle{margin-left:auto;font-size:11px}.star-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.atlas-intro{align-items:flex-start;flex-direction:column;gap:20px}.atlas-intro h1{font-size:44px}.module-head{min-height:640px}.module-planet{top:250px;right:-260px;width:680px;height:680px}.module-planet.ringed{top:310px;width:430px;height:430px;right:-80px}.module-head h1{max-width:620px}.module-head .lead{max-width:500px}.reader-tools{top:0}.section-head p{max-width:600px}.code-panel{padding:20px}.cross-nav a{max-width:100%}}
@media(max-width:540px){.brand{font-size:18px;letter-spacing:1.8px}.brand-orbit{width:25px;height:25px}.brand small{font-size:9px;letter-spacing:2.1px}.site-header{gap:14px}.site-header nav{gap:8px}.site-header nav a{font-size:12px}.motion-toggle{max-width:110px;white-space:normal;line-height:1.25;padding:8px}.resource-band{margin-bottom:40px}.atlas-intro{padding-top:35px}.atlas-intro h1{font-size:37px;letter-spacing:-1px}.atlas-intro .lead{font-size:16px}.atlas-toolbar{gap:6px}.atlas-toolbar button{font-size:12px;padding:9px 10px;min-height:42px}.star-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:15px}.world-card{min-height:240px;padding:0 0 15px}.world-card h2{font-size:14px;max-width:155px}.world-orbit{height:138px}.world-orbit:after{width:125px;height:125px}.world-orbit .planet-slot{width:112px;height:112px}.world-orbit .planet-slot.ringed{width:70px;height:70px}.world-card .world-name{font-size:10px;letter-spacing:.8px;margin:7px 0}.world-card .world-type{font-size:10px}.star-map{margin-bottom:35px}.star-routes{display:none}.module-head{min-height:700px;padding-top:15px}.module-head h1{font-size:38px;line-height:1.12}.module-head .lead{font-size:17px}.module-head .actions{gap:9px}.module-head .button{font-size:12px;padding:11px 14px}.planet-designation{font-size:11px;gap:12px;flex-wrap:wrap;margin-bottom:22px}.planet-designation:before{width:25px}.module-planet{top:380px;right:-280px;width:600px;height:600px}.module-planet.ringed{top:460px;width:350px;height:350px;right:-120px}.project-intro h1{font-size:37px}.project-intro .lead{font-size:17px}.reader-tools{padding:9px 7px}.tabs button{font-size:12px;padding:9px 8px}.pager button{width:36px;height:38px}.slide-caption{font-size:11px;flex-wrap:wrap;gap:9px}.reader-title h1{font-size:23px}.reading-planet{width:360px;height:360px;right:-170px;bottom:-80px}.code-panel{padding:15px}.code-top select{min-width:0}.code-note{overflow-wrap:anywhere}.study-actions{padding:16px}.space-credits{font-size:11px}.flight-caption{top:14%;left:7vw}.flight-caption h2{font-size:37px}.cross-nav{gap:18px}.eyebrow{font-size:11px}.reading .math{font-size:19px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.world-orbit:after{transition:none}}

/* Course attribution and parent-site navigation, shared by every route. */
.course-origin{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding:11px 4vw;border-bottom:1px solid #a4c8df26;background:#07111eee;color:#adc1cf;font-size:12px;line-height:1.6}
.course-origin p{margin:0}.course-origin p>span{color:#d5b782;font:10px/1.6 LMMono,monospace;letter-spacing:1.2px;text-transform:uppercase}.course-origin strong{color:#e0eaf1;font-weight:400}.main-site-link{color:#d9be91;white-space:nowrap;text-decoration:none}.main-site-link:hover{text-decoration:underline;text-underline-offset:4px}.course-origin .main-site-link{display:flex;align-items:center;min-height:28px}
.site-footer .course-author{margin:12px 0 4px}.site-footer .course-author strong{font-size:13px;letter-spacing:0;font-weight:400;color:#d5e5ed}.site-footer .course-parent{font-size:12px;margin-top:4px}
@media(max-width:650px){.course-origin{padding:10px 5vw;align-items:flex-start;flex-wrap:wrap;gap:4px;font-size:11px}.course-origin p{width:100%}.course-origin p>span{font-size:9px;letter-spacing:.8px}.course-origin .main-site-link{min-height:32px}}
