@layer tokens{:root{--parchment:#f2e8d5;--parchment-deep:#e6d8bd;--ink:#2b2118;--ink-soft:#5c4a35;--brass:#9a6f2e;--brass-bright:#c9973f;--engraved:#b9a583;--sun:#d8a33a;--earth:#3f6ea8;--jupiter:#a8763f;--moon-io:#c8a24a;--moon-europa:#9fa9b8;--moon-ganymede:#8c7b62;--moon-callisto:#6e6154;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--gap:.85rem}}@layer structure{*{box-sizing:border-box}body{background:var(--parchment);color:var(--ink);font-family:var(--serif);margin:0;font-size:15px;line-height:1.45}.app{gap:var(--gap);padding:var(--gap);grid-template:"top top top""tabs tabs tabs""left stage right"minmax(0,1fr)"notice notice notice""credit credit credit"/minmax(15rem,17rem) minmax(0,1fr) minmax(20rem,25rem);min-height:100vh;display:grid}.tabs{grid-area:tabs}.topbar{border-bottom:1px solid var(--engraved);grid-area:top;align-items:baseline;gap:.5rem;padding-bottom:.4rem;display:flex}.topbar__title{letter-spacing:.01em;flex:1;margin:0;font-size:1.05rem;font-weight:600}.dock--left{grid-area:left}.dock--right{grid-area:right}.stage{grid-area:stage}.notice{grid-area:notice}.dock{gap:var(--gap);flex-direction:column;max-height:calc(100vh - 6rem);display:flex;overflow-y:auto}.stage{gap:var(--gap);flex-direction:column;min-width:0;max-height:calc(100vh - 6rem);display:flex;overflow-y:auto}@media (max-width:75rem){.app{grid-template-columns:1fr;grid-template-areas:"top""tabs""stage""left""right""notice"}.dock,.stage{max-height:none}}:root[data-notes=off] .note:not(.note--live){display:none}.credit{grid-area:credit}@media (max-width:75rem){.app{grid-template-areas:"top""stage""left""right""notice""credit"}}}@layer components{.field-dot,.body,.moon,.plot__dot,.plot__fit,.curve__dot{left:var(--x);top:var(--y);border-radius:50%;position:absolute;translate:-50% -50%}.map{position:relative}.map__field{aspect-ratio:1;border:1px solid var(--engraved);background:radial-gradient(circle, var(--parchment) 62%, var(--parchment-deep));border-radius:50%;width:min(100%,30rem);margin:0 auto;position:relative;overflow:hidden}.orbit{width:var(--diameter);aspect-ratio:1;border:1px solid var(--engraved);border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.body--sun{aspect-ratio:1;background:var(--sun);width:1.1rem;box-shadow:0 0 .6rem #d8a33a99}.body--earth{aspect-ratio:1;background:var(--earth);width:.62rem}.body--jupiter{aspect-ratio:1;background:var(--jupiter);width:.92rem}.sightline{left:var(--x);top:var(--y);height:1px;width:var(--length);background:var(--brass);opacity:.6;transform-origin:0;rotate:var(--angle);position:absolute}.sightline__label{left:var(--x);top:var(--y);border:1px solid var(--engraved);white-space:nowrap;color:var(--brass);background:#f2e8d5d9;padding:.05rem .35rem;font-size:.72rem;position:absolute;translate:-50% -160%}.sightline__label--empty{display:none}.jovian__field{aspect-ratio:1;border:1px solid var(--engraved);background:var(--parchment-deep);width:min(100%,24rem);margin:0 auto;position:relative;overflow:hidden}.jovian__planet{aspect-ratio:1;background:var(--jupiter);z-index:2;border-radius:50%;width:1.1rem;position:absolute;top:50%;left:50%;translate:-50% -50%}.jovian__shadow{width:var(--length);transform-origin:0;height:1.1rem;translate:0 -50%;rotate:var(--angle);background:linear-gradient(90deg,#2b211880,#2b21180f);position:absolute;top:50%;left:50%}.jovian__orbit{width:var(--diameter);aspect-ratio:1;border:1px solid var(--engraved);opacity:.5;border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.jovian__caption{color:var(--ink-soft);margin:.4rem 0 0;font-size:.85rem}.moon{aspect-ratio:1;z-index:3;width:.52rem}.moon--io{background:var(--moon-io)}.moon--europa{background:var(--moon-europa)}.moon--ganymede{background:var(--moon-ganymede)}.moon--callisto{background:var(--moon-callisto)}.moon--watched{box-shadow:0 0 0 2px var(--brass-bright)}.moon--actual{border:1px dashed var(--ink-soft);opacity:.75;z-index:2;background:0 0}.moon--eclipsed{opacity:.15}.moon__link{left:var(--x);top:var(--y);height:1px;width:var(--length);background:var(--ink-soft);opacity:.5;transform-origin:0;rotate:var(--angle);z-index:1;position:absolute}:root[data-true-positions=false] .moon--actual,:root[data-true-positions=false] .moon__link{display:none}.telescope__field{border:1px solid var(--engraved);background:#14100b;border-radius:.4rem;height:9rem;margin:.5rem 0;position:relative;overflow:hidden}.telescope__lane{height:50%;position:absolute;left:0;right:0}.telescope__lane--seen{top:0}.telescope__field--single .telescope__lane--seen{height:100%}.telescope__lane--true{background:#9fa9b80f;border-top:1px dashed #cbbb9c59;top:50%}.telescope__laneLabel{letter-spacing:.04em;color:#8d8069;font-size:.62rem;position:absolute;top:.3rem;left:.45rem}.telescope__lane--armed .telescope__laneLabel{color:var(--brass-bright)}.telescope__lane--armed:before{content:"";background:var(--brass-bright);width:2px;position:absolute;top:0;bottom:0;left:0}.telescope__planet{width:var(--diameter);aspect-ratio:1;background:linear-gradient(#d8ab6a,#9c6c39);border-radius:50%;min-width:.5rem;position:absolute;top:50%;left:50%;translate:-50% -50%}.telescope__moon{left:var(--x);aspect-ratio:1;background:#f8efdb;border-radius:50%;width:.38rem;transition:opacity .5s linear;position:absolute;top:50%;translate:-50% -50%;box-shadow:0 0 .35rem #f8efdbb3}.telescope__moon--watched{box-shadow:0 0 0 2px var(--brass-bright), 0 0 .4rem #f8efdbcc}.telescope__moon--eclipsed,.telescope__moon--behind{opacity:0}.telescope__name{color:#cbbb9c;white-space:nowrap;font-size:.62rem;position:absolute;top:.6rem;left:50%;translate:-50%}.telescope__lane--true .telescope__moon{background:#cfd8e4;box-shadow:0 0 .3rem #cfd8e48c}.telescope__lane--true .telescope__moon--watched{box-shadow:0 0 0 2px var(--brass-bright), 0 0 .35rem #cfd8e4b3}.telescope__clock{font-variant-numeric:tabular-nums;color:var(--brass);margin:.2rem 0 0;font-size:.95rem}.telescope__status{color:var(--ink-soft);margin:0}.telescope__delay{margin:.15rem 0 0}.panel{border:1px solid var(--engraved);background:#ffffff59;padding:.7rem .85rem}.panel__title{letter-spacing:.02em;margin:0 0 .45rem;font-size:1rem}.panel__actions{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.button{font:inherit;border:1px solid var(--brass);background:var(--brass-bright);color:#201709;cursor:pointer;padding:.3rem .7rem;font-size:.88rem}.button--quiet{color:var(--ink);background:0 0}.button--on{background:var(--parchment-deep)}.button:disabled{opacity:.4;cursor:default}.chip{font:inherit;border:1px solid var(--engraved);cursor:pointer;background:0 0;padding:.15rem .5rem;font-size:.8rem}.chip--active{background:var(--brass-bright);border-color:var(--brass)}.controls__group+.controls__group{border-top:1px solid var(--engraved);margin-top:.8rem;padding-top:.6rem}.controls__label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .35rem;font-size:.72rem}.controls__row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.controls__column{flex-direction:column;gap:.35rem;margin-top:.45rem;display:flex}.controls__column .button{text-align:left}.controls__readout{font-variant-numeric:tabular-nums;color:var(--ink-soft);min-width:3.5rem;font-size:.8rem}.controls__sliderRow{grid-template-columns:4.5rem 1fr 2.2rem;align-items:center;gap:.4rem;margin-bottom:.3rem;display:grid}.controls__sliderLabel{color:var(--ink-soft);font-size:.8rem}.controls__slider{width:100%;accent-color:var(--brass)}.readout__headline{color:var(--brass);margin:0;font-size:1.15rem}.readout__line{margin:.15rem 0 0}.readout__line--muted{color:var(--ink-soft)}.note{color:var(--ink-soft);margin:.35rem 0;font-size:.88rem;font-style:italic}.note--live{font-style:normal}.wiki-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--brass);text-decoration-color:var(--brass);text-underline-offset:.15em}.wiki-link:hover{color:var(--brass);text-decoration-color:currentColor}.notice{border-left:3px solid var(--brass);background:#c9973f1f;margin:0;padding:.45rem .7rem;font-size:.85rem}.curve__plot{padding-left:3rem;position:relative}.curve__field{border-left:1px solid var(--ink-soft);border-bottom:1px solid var(--ink-soft);cursor:pointer;background:#ffffff4d;height:7rem;position:relative}.curve__axisX{height:1.1rem;position:relative}.curve__year{left:var(--x);font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-size:.68rem;position:absolute;top:.1rem;translate:-50%}.curve__year--first{translate:0}.curve__year--last{translate:-100%}.curve__year:before{content:"";border-left:1px solid var(--ink-soft);height:.25rem;position:absolute;top:-.25rem;left:50%}.curve__year--first:before{left:0}.curve__year--last:before{left:100%}.curve__dot{background:var(--brass);width:2px;height:2px}.curve__tick{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.7rem;position:absolute;left:0}.curve__tick--high{top:0}.curve__tick--low{bottom:.6rem}.curve__mark{left:var(--x);width:1px;position:absolute;top:0;bottom:0;translate:-50%}.curve__mark--nearest{background:repeating-linear-gradient(180deg, var(--earth) 0 3px, transparent 3px 6px)}.curve__mark--furthest{background:repeating-linear-gradient(180deg, var(--jupiter) 0 3px, transparent 3px 6px)}.curve__playhead{left:var(--x);background:var(--ink);width:2px;position:absolute;top:-2px;bottom:-2px;translate:-50%}.curve__playhead--offscale{opacity:.25}.curve__reading{left:var(--x);top:var(--y);background:var(--earth);opacity:.75;border-radius:50%;width:.3rem;height:.3rem;position:absolute;translate:-50% -50%}.curve__overlayNote{margin:.35rem 0 0;font-size:.8rem}.curve__caption{color:var(--ink-soft);margin:.35rem 0 0;font-size:.78rem}.log__table{border-collapse:collapse;width:100%;font-size:.8rem}.log__table th,.log__table td{border-bottom:1px solid var(--engraved);text-align:left;padding:.2rem .3rem}.log__cell--number{font-variant-numeric:tabular-nums;text-align:right}.log__body{max-height:16rem;overflow-y:auto}.log__count{color:var(--ink-soft);margin:0 0 .3rem;font-size:.85rem}.solve__route+.solve__route{border-top:1px solid var(--engraved);margin-top:1.1rem;padding-top:.9rem}.solve__routeTitle{margin:0 0 .25rem;font-size:.95rem}.solve__step{font-variant-numeric:tabular-nums;margin:.15rem 0}.solve__answer{color:var(--brass);margin:.45rem 0;font-size:1.05rem}.plot{margin:.6rem 0}.plot__field{border-left:1px solid var(--ink-soft);border-bottom:1px solid var(--ink-soft);height:9rem;position:relative}.plot__dot{background:var(--earth);width:.3rem;height:.3rem}.plot__fit{background:var(--brass);width:2px;height:2px}.plot__axis{color:var(--ink-soft);text-align:center;font-size:.78rem;display:block}.plot__axis--y{text-align:left}.walkthrough__counter{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem}.walkthrough__body{margin:.3rem 0 0;font-size:.92rem}.predict{border:1px solid var(--engraved);border-left:3px solid var(--brass);background:var(--parchment-deep);margin:.7rem 0 0;padding:.6rem .7rem}.predict__title{letter-spacing:.02em;margin:0 0 .35rem;font-size:.95rem}.predict__time{border-bottom:1px dotted var(--engraved);margin:.2rem 0;padding:.25rem 0}.predict__label{color:var(--ink-soft);font-size:.8rem;display:block}.predict__value{font-variant-numeric:tabular-nums;font-weight:600;display:block}.predict__time--steady .predict__value{color:var(--ink-soft)}.predict__time--corrected .predict__value{color:var(--brass)}.predict__verdict{margin:.5rem 0 0;font-weight:600}.predict .button{margin-top:.5rem}.log__howto{color:var(--ink-soft);margin:0 0 .6rem;padding-left:1.1rem;font-size:.84rem}.log__howto li{margin-bottom:.15rem}.log__record{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.button--record{padding:.45rem 1rem;font-size:1rem}.log__shortcut{color:var(--ink-soft);font-size:.78rem}.log__feedback{min-height:1.2rem;color:var(--brass);margin:0 0 .35rem;font-size:.84rem}.comparison__row{border-top:1px solid var(--engraved);grid-template-columns:8.5rem 1fr;gap:.5rem;padding:.25rem 0;display:grid}.comparison__label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-size:.76rem}.comparison__value{font-size:.9rem}.comparison__rule{border:0;border-top:1px solid var(--brass);margin:.6rem 0 0}.tabs{border-bottom:1px solid var(--engraved);gap:.3rem;display:flex}.tab{font:inherit;border:1px solid var(--engraved);color:var(--ink-soft);cursor:pointer;background:0 0;border-bottom:none;border-radius:.3rem .3rem 0 0;margin-bottom:-1px;padding:.35rem .9rem;font-size:.9rem}.tab--active{background:var(--parchment);border-color:var(--brass);border-bottom:1px solid var(--parchment);color:var(--ink);font-weight:600}.game{border-color:var(--brass)}.game__answer{color:var(--brass);margin:.4rem 0;font-size:1.05rem}.game__verdict{border-left:3px solid var(--brass);background:#c9973f24;margin:.4rem 0 0;padding:.4rem .6rem}.controls__exact{font:inherit;border:1px solid var(--engraved);width:5rem;color:var(--ink);background:#ffffff73;padding:.1rem .3rem;font-size:.8rem}.controls__unit{color:var(--ink-soft);font-size:.78rem}.credit{border-top:1px solid var(--engraved);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;padding:.5rem .2rem 0;font-size:.72rem;display:flex}.credit__line{margin:0}.credit a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--brass);text-decoration-color:var(--brass);text-underline-offset:.15em}.credit a:hover{color:var(--brass);text-decoration-color:currentColor}.credit__marks{align-items:center;gap:.9rem;display:flex}.credit__mark{text-decoration:none;transition:color .12s;display:block}.credit__mark:hover{color:var(--brass)}.credit__mark svg{width:auto;height:1.6rem;display:block}.credit__mark--wordmark svg{height:1.05rem}}
