@font-face{font-family:Cormorant;src:url(/fonts/cormorant-garamond.woff2) format("woff2");font-style:normal;font-weight:300 700;font-display:swap}@font-face{font-family:Sauce;src:url(/fonts/open-sauce-regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Sauce;src:url(/fonts/open-sauce-medium.woff2) format("woff2");font-weight:500 700;font-display:swap}:root{font-family:Sauce,Arial,sans-serif;color:#383b2b;background:#f6f3eb;font-synthesis:none;font-size:14px;--ink:#383b2b;--muted:#706b5d;--bronze:#805630;--line:#dcd6c8;--olive:#697149;--paper:#fffdf7;--serif:Cormorant,Georgia,serif;accent-color:var(--bronze);scroll-behavior:smooth;scrollbar-color:#b8ac95 #f6f3eb;scrollbar-width:thin}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button{color:inherit}svg{flex-shrink:0;vertical-align:middle}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #805630;outline-offset:4px}input{caret-color:var(--bronze)}::selection{background:#d8c7a5;color:#302b21}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500}h1{text-wrap:balance;font-size:58px;letter-spacing:-.035em;line-height:1.1}h2{font-size:31px;letter-spacing:-.025em;line-height:1.15}h3{font-size:13px;font-weight:500;line-height:1.5}p{line-height:1.75}button{touch-action:manipulation}input[type=range]{touch-action:pan-y}input[type=checkbox]{width:17px;height:17px;flex-shrink:0;cursor:pointer}input[type=number]{font-variant-numeric:tabular-nums}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;z-index:10;background:var(--paper);padding:14px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header,main,.site-footer{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.site-header{height:95px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-family:var(--serif);font-size:37px;line-height:1;text-decoration:none;display:flex;align-items:center;gap:9px;letter-spacing:-.035em;font-weight:600}.brand-sun{color:var(--bronze);display:inline-flex;margin-right:2px}.wordmark-dot{color:var(--bronze);margin-left:-8px}.site-header nav{display:flex;align-self:stretch;gap:36px;margin-left:20px}.site-header nav a{position:relative;display:flex;align-items:center;text-decoration:none;font-size:12px;color:var(--muted)}.site-header nav .nav-active{color:var(--ink)}.nav-active:after{content:"";position:absolute;height:2px;bottom:-1px;inset-inline:0;background:var(--bronze)}.text-button{background:none;border:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;padding:12px 4px;min-height:44px}.text-button:hover{color:var(--bronze)}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 0 34px}.page-intro p{margin-top:13px;font-size:13px;color:var(--muted)}.button{min-height:45px;border:0;border-radius:5px;padding:12px 16px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:500;transition:background-color .16s ease-out}.button-primary{background:var(--bronze);color:#fffdf6}.button-primary:hover:not(:disabled){background:#684322}.button-secondary{border:1px solid #cfc4b1;background:transparent;color:#5e513c}.button-secondary:hover:not(:disabled){background:#eae2d3}.intro-export{flex-shrink:0;margin-top:15px;padding-inline:19px}.studio{display:grid;grid-template-columns:300px minmax(0,1fr);border:1px solid #d7d0c1;border-radius:12px;overflow:hidden;scroll-margin-top:20px;background:var(--paper)}.settings-panel{border-right:1px solid var(--line);display:flex;flex-direction:column}.location-section{padding:29px 25px 24px}.section-copy{font-size:12px;color:var(--muted);margin-top:7px}.field-label{font-size:11px;font-weight:500;color:#6b624e;display:block}.location-section>.field-label{margin-top:27px;margin-bottom:9px}.select-wrap{height:46px;border:1px solid #d5cbb8;border-radius:5px;display:flex;align-items:center;gap:8px;padding-inline:11px;color:var(--bronze);background:#fcfaf4;position:relative}.select-wrap select{width:100%;height:44px;appearance:none;background:transparent;border:0;font-size:11px;color:var(--ink);padding-right:18px;min-width:0;cursor:pointer}.select-wrap>svg:last-child{position:absolute;right:9px;pointer-events:none}.select-wrap:focus-within{outline:2px solid var(--bronze);outline-offset:3px}.select-wrap select:focus-visible{outline:0}.latitude-header{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:8px}.latitude-header label{font-size:11px;color:var(--muted)}.latitude-header output{font-family:var(--serif);font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-.02em;color:var(--bronze);font-variant-numeric:tabular-nums}.range{--fill:50%;display:block;width:100%;height:34px;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;margin:3px 0 0;border-radius:2px}.range::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(to right,var(--bronze) var(--fill),#dcd2be var(--fill))}.range::-moz-range-track{height:3px;border-radius:2px;background:linear-gradient(to right,var(--bronze) var(--fill),#dcd2be var(--fill))}.range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:#926a3f;border:3px solid #fffdf7;margin-top:-7px;box-shadow:0 1px 4px #644b3b3d}.range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#926a3f;border:3px solid #fffdf7;box-shadow:0 1px 4px #644b3b3d}.range:hover::-webkit-slider-thumb{background:#654523}.range-endpoints{display:flex;justify-content:space-between;font-size:9px;color:#786e5b;margin-top:-2px}.exact-latitude{margin-top:13px}.exact-latitude summary{font-size:10px;color:#756b57;cursor:pointer;min-height:36px;display:flex;align-items:center;gap:6px;width:fit-content;list-style:none}.exact-latitude summary::-webkit-details-marker{display:none}.exact-latitude[open] summary svg{transform:rotate(180deg)}.exact-row{display:flex;align-items:center;gap:10px;font-size:11px;justify-content:space-between}.exact-row input{width:100px;min-height:44px;border:1px solid var(--line);border-radius:3px;padding:8px;color:var(--ink);background:#fff}.exact-latitude p{font-size:10px;color:var(--muted);margin-top:8px}.equator-note,.field-error{font-size:11px;color:#864424;background:#f4e9d9;padding:10px;margin-top:10px;border-radius:4px}.geometry-section{border-top:1px solid var(--line);padding:23px 25px}.gnomon-diagram{height:113px;margin-top:3px}.gnomon-diagram svg{width:100%;height:100%}.measurement-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;margin-top:11px}.measurement-row strong{font-size:17px;font-weight:500;color:var(--bronze);font-variant-numeric:tabular-nums}.small-copy{font-size:11px;color:var(--muted);line-height:1.8}.geometry-section>.small-copy{margin-top:9px}.checkbox-label{min-height:44px;display:flex;align-items:center;gap:9px;font-size:11px;margin-top:12px;cursor:pointer}.checkbox-label input{margin:0}.export-section{border-top:1px solid var(--line);padding:24px 25px 25px;margin-top:auto;background:#f3eee2;scroll-margin-top:30px}.export-section .small-copy{margin-top:8px;margin-bottom:17px}.export-section .button{width:100%}.export-section .button-primary>svg:last-child{margin-left:auto}.export-section .button-primary>svg:first-child{margin-right:0}.export-section .button-secondary{margin-top:9px;justify-content:space-between}.button-secondary span{font-weight:400;font-size:10px;opacity:.8}.export-footnote{text-align:center;font-size:9px;color:#706651;margin-top:13px}.export-status{font-size:11px;margin-top:8px;color:#625b43}.export-status:empty{display:none}.simulation{min-width:0;display:flex;flex-direction:column}.dial-stage{position:relative;background:#ece7dc;min-height:525px;display:flex;align-items:center;justify-content:center;flex:1;overflow:hidden;transition:background-color .5s ease-out}.stage-toolbar{position:absolute;z-index:1;top:24px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;font-size:10px;gap:12px;color:#6c624f}.live-status{display:flex;align-items:center;gap:7px}.status-dot{width:6px;height:6px;border-radius:50%;background:#9c7443}.status-dot.night{background:#736e68}.stage-view{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.dial-art{width:min(100%,565px);margin:25px 0 17px}.dial-art>svg{display:block;width:100%;height:auto}.stage-caption{position:absolute;bottom:20px;inset-inline:28px;display:flex;justify-content:space-between;align-items:center;color:#6c624f;font-size:9px;gap:12px}.stage-caption>span:first-child{display:flex;align-items:center;gap:6px}.caption-separator{margin:0 6px;color:#6c624f}.night-mode{background:#e0e1dc}.night-mode .dial-art{filter:saturate(.5)}.time-panel{padding:24px 30px 19px;border-top:1px solid var(--line);background:#fcfaf4}.time-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.time-value{display:flex;align-items:baseline;gap:7px;margin-top:3px}.time-value output{font-family:var(--serif);font-size:39px;line-height:1.2;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.time-value>span{font-size:10px;color:var(--muted)}.play-button{display:flex;align-items:center;justify-content:center;min-height:43px;padding:7px 13px 7px 9px;gap:6px;background:#eee8da;border:1px solid #dbd1bd;border-radius:5px;font-size:10px;color:#6e5636}.play-button:hover{background:#e7dcc7}.time-range{margin-top:5px;height:32px}.time-range::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,#c4c0b4 0%,#c4c0b4 var(--sunrise),#ae8954 var(--sunrise),#ae8954 var(--sunset),#c4c0b4 var(--sunset),#c4c0b4 100%)}.time-range::-moz-range-track{height:4px;background:linear-gradient(to right,#c4c0b4 0%,#c4c0b4 var(--sunrise),#ae8954 var(--sunrise),#ae8954 var(--sunset),#c4c0b4 var(--sunset),#c4c0b4 100%)}.time-range::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8px}.time-ticks{display:flex;justify-content:space-between;font-size:9px;color:#7b715d;margin-top:-1px;font-variant-numeric:tabular-nums}.season-header{margin-top:23px;display:flex;justify-content:space-between;align-items:center;gap:10px}.season-header output{font-size:10px;color:#73654d}.season-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.season-buttons button{display:flex;gap:5px;justify-content:center;align-items:center;min-height:40px;font-size:10px;background:none;border:1px solid #ddd4c3;border-radius:4px;color:#6b5e48;white-space:nowrap}.season-buttons button span{font-size:9px}.season-buttons button:hover{background:#eee9dd}.season-buttons button[aria-pressed=true]{border-color:#a08b64;background:#e9e5d5;color:#4b5639}.day-range{height:27px;margin-top:6px}.day-range::-webkit-slider-runnable-track{height:2px;background:#dfd6c4}.day-range::-moz-range-track{height:2px;background:#dfd6c4}.day-range::-webkit-slider-thumb{width:12px;height:12px;border-width:2px;margin-top:-5px}.day-range::-moz-range-thumb{width:8px;height:8px;border-width:2px}.solar-readings{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:#6c624f;margin-top:4px}.solar-readings>span:first-child{display:flex;align-items:center;gap:7px}.solar-readings strong{font-weight:500;color:#5b563f;margin-left:4px;font-variant-numeric:tabular-nums}.solar-time-note{border-top:1px solid #e6e0d3;padding-top:13px;margin-top:17px;font-size:9px;color:#7a715f;display:flex;align-items:flex-start;gap:7px;line-height:1.65}.solar-time-note svg{margin-top:1px}.make-section{display:grid;grid-template-columns:300px minmax(0,1fr);gap:55px;padding:60px 0 46px}.make-intro h2{font-size:35px;line-height:1.08;letter-spacing:-.025em}.make-intro p{font-size:11px;color:var(--muted);margin-top:16px;line-height:1.9}.make-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:1px 0 0;margin:0;gap:30px}.make-steps li{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.step-number{width:27px;height:27px;border:1px solid #bca985;color:#876336;border-radius:50%;display:grid;place-items:center;font-size:11px;font-family:Georgia,serif}.make-steps h3{font-size:12px;font-weight:500}.make-steps p{font-size:10px;color:var(--muted);line-height:1.9;margin-top:8px}.angle-table-section{border-block:1px solid var(--line);scroll-margin-top:30px}.angle-table-section summary{list-style:none;min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-size:12px}.angle-table-section summary::-webkit-details-marker{display:none}.angle-table-section summary>span{display:flex;align-items:center;gap:10px}.angle-table-section summary>span:last-child{font-size:10px;color:var(--muted)}.angle-table-section[open] summary>span:last-child>svg{transform:rotate(180deg)}.angle-table-body{max-width:850px;margin-inline:auto;padding:5px 0 30px}.angle-table-body p{font-size:12px;color:var(--muted)}.table-scroll{overflow-x:auto;margin-top:22px}table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums;text-align:left}th,td{padding:12px 16px;border-bottom:1px solid #e4ddcf}thead th{background:#eae5d9;font-size:11px;font-weight:500}tbody th{font-weight:400}tbody td{color:var(--bronze)}.angle-table-body .formula{font-size:11px;margin-top:25px}.angle-table-body .source-links{font-size:10px;margin-top:15px}.source-links a:hover{color:var(--bronze)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:29px 34px;font-size:10px;color:#776e5c}.footer-brand{display:flex;gap:6px;align-items:center;font-family:var(--serif);font-size:21px;color:var(--ink);text-decoration:none}.footer-brand svg{color:var(--bronze)}.site-footer>span:last-child{font-size:9px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;border-radius:4px}.icon-button:hover{background:#ede4d3}dialog{width:min(560px,calc(100% - 36px));border:1px solid #c5b89d;border-radius:12px;background:#fffdf6;padding:27px;color:var(--ink);box-shadow:0 15px 60px #302b2140}dialog::backdrop{background:#302b2170}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-header h2{font-size:32px}.about-lines{margin-top:20px}.about-lines p{font-size:13px;margin-block:12px;color:#6a604d}.about-help{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--bronze);margin-top:23px;padding-block:12px}@media(min-width:1500px){.page-intro{padding-top:53px;padding-bottom:42px}.site-header{height:104px}}@media(max-width:1100px){.site-header,main,.site-footer{width:calc(100% - 64px)}.studio{grid-template-columns:275px minmax(0,1fr)}.location-section,.geometry-section,.export-section{padding-inline:21px}.location-section h2{font-size:28px}h1{font-size:50px}.intro-export{font-size:11px;padding-inline:14px}.dial-stage{min-height:480px}.dial-art{margin-block:35px}.time-panel{padding-inline:24px}.season-buttons button{flex-direction:column;gap:2px;min-height:44px}.make-section{grid-template-columns:260px minmax(0,1fr);gap:35px}.make-steps{gap:20px}.stage-toolbar,.stage-caption{inset-inline:22px}}@media(max-width:800px){.site-header,main,.site-footer{width:calc(100% - 40px)}.site-header{height:79px}.wordmark{font-size:32px}.brand-sun svg{width:24px}.site-header nav{gap:21px;margin-left:0}.site-header nav a{font-size:11px}.about-button{font-size:11px}.page-intro{padding:32px 0 28px}.page-intro h1{font-size:43px}.page-intro p{font-size:11px;max-width:35ch}.intro-export{font-size:0;gap:0;min-width:44px;width:44px;height:44px;padding:12px}.intro-export svg{width:20px;height:20px}.studio{grid-template-columns:245px minmax(0,1fr)}.location-section,.geometry-section,.export-section{padding-inline:18px}.location-section h2{font-size:26px}.section-copy{font-size:11px}.location-section>.field-label{margin-top:21px}.select-wrap{padding-inline:8px}.select-wrap select{font-size:10px}.latitude-header output{font-size:25px}.time-panel{padding-inline:18px}.stage-view{display:none}.stage-toolbar{top:20px}.dial-stage{min-height:400px}.dial-art{margin-block:50px}.stage-caption{font-size:8px;inset-inline:15px;bottom:17px}.stage-caption>span:last-child{display:none}.time-value output{font-size:35px}.play-button{font-size:9px;padding-inline:8px;gap:3px}.season-buttons{gap:5px}.solar-readings{font-size:9px;align-items:flex-start}.solar-readings>span:last-child{text-align:right;max-width:100px}.solar-time-note{font-size:9px}.make-section{grid-template-columns:1fr;gap:30px;padding-top:40px}.make-intro h2{font-size:34px}.make-intro br{display:none}.make-intro p{margin-top:9px}.make-steps{gap:28px}.make-steps li{gap:12px}.site-footer>span:last-child{max-width:130px;text-align:right;line-height:1.6}}@media(max-width:600px){.site-header,main,.site-footer{width:calc(100% - 32px)}.site-header{height:73px;gap:15px}.wordmark{font-size:31px;gap:7px}.brand-sun{margin-right:0}.brand-sun svg{width:25px}.site-header nav{margin-left:auto}.site-header nav a{font-size:10px}.site-header nav a:last-child{display:none}.about-button{padding:10px 0 10px 7px}.about-button span{display:none}.about-button{width:32px}.page-intro{padding:30px 0 25px;gap:12px}.page-intro h1{font-size:42px;max-width:9ch}.page-intro p{font-size:11px;line-height:1.8;max-width:30ch;margin-top:10px}.intro-export{align-self:flex-end;margin-bottom:3px;background:transparent;border:1px solid #c6b697;color:var(--bronze)}.intro-export:hover:not(:disabled){background:#e6dbc6}.studio{display:flex;flex-direction:column;border-radius:10px}.settings-panel{display:contents}.location-section{order:0;padding:24px 22px 18px}.location-section h2{font-size:30px}.section-copy{font-size:11px}.location-section>.field-label{margin-top:20px}.select-wrap select{font-size:12px}.select-wrap{height:46px;padding-inline:11px}.latitude-header{margin-top:19px}.latitude-header output{font-size:28px}.latitude-range{height:37px}.range-endpoints{font-size:10px}.exact-latitude{margin-top:5px}.exact-latitude summary{font-size:10px;min-height:35px}.simulation{order:1;border-top:1px solid var(--line)}.dial-stage{min-height:0;display:block}.dial-art{width:100%;margin:36px auto 25px}.stage-toolbar{top:19px;inset-inline:19px;font-size:9px}.stage-view{display:block;font-size:8px}.stage-caption{bottom:16px;inset-inline:18px;font-size:8px}.stage-caption>span:last-child{display:inline}.time-panel{padding:22px}.time-heading{align-items:center}.time-value output{font-size:41px}.play-button{font-size:10px;padding-inline:13px;gap:7px;min-height:44px}.time-range{height:40px;margin-top:1px}.time-ticks{font-size:9px}.season-header{margin-top:23px}.season-buttons{gap:6px}.season-buttons button{font-size:11px;min-height:45px;flex-direction:row;gap:4px}.season-buttons button span{font-size:8px}.day-range{height:35px;margin-top:4px}.solar-readings{font-size:10px;align-items:center;margin-top:1px}.solar-readings>span:last-child{max-width:unset}.solar-time-note{font-size:9px;line-height:1.8;margin-top:18px}.geometry-section{order:2;padding:23px 22px 17px}.geometry-section h3{font-size:14px}.gnomon-diagram{max-width:270px;margin-inline:auto;height:125px}.measurement-row{font-size:12px}.small-copy{font-size:11px}.checkbox-label{font-size:12px;margin-top:8px}.export-section{order:3;padding:24px 22px}.export-section h3{font-size:14px}.export-section .small-copy{margin-bottom:19px;max-width:34ch}.export-section .button{min-height:47px;font-size:12px}.export-section .button-primary{justify-content:center}.export-section .button-primary>svg:last-child{margin-left:auto}.export-section .button-primary>svg:first-child{margin-right:auto}.export-footnote{font-size:10px}.make-section{padding:37px 5px 32px;gap:26px}.make-intro h2{font-size:33px;line-height:1.1;max-width:15ch}.make-intro p{font-size:11px;line-height:1.8;margin-top:11px}.make-steps{grid-template-columns:1fr;gap:23px}.make-steps li{flex-direction:row;gap:15px}.step-number{flex-shrink:0}.make-steps h3{font-size:12px;padding-top:3px}.make-steps p{font-size:11px;margin-top:5px;line-height:1.85}.angle-table-section summary{padding:16px 4px;font-size:11px;min-height:70px;gap:12px}.angle-table-section summary>span:last-child{font-size:0;gap:0}.angle-table-section summary>span:last-child svg{width:18px}.angle-table-body{padding:0 4px 24px}.angle-table-body p{font-size:11px}th,td{padding:11px 8px;font-size:10px}thead th{font-size:9px}.angle-table-body .formula{font-size:10px}.site-footer{padding-block:24px 28px;flex-wrap:wrap;gap:14px;font-size:9px}.site-footer>span:nth-child(2){margin-left:auto}.site-footer>span:last-child{max-width:unset;flex-basis:100%;text-align:left;font-size:9px}.footer-brand{font-size:20px}dialog{padding:21px}.dialog-header h2{font-size:29px}.about-lines p{font-size:12px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{body{background:#fff}.site-header,.page-intro,.settings-panel,.time-panel,.make-section,.angle-table-section,.site-footer,.skip-link{display:none}main{width:100%}.studio{display:block;border:0}.dial-stage{background:#fff;min-height:0}.dial-art{width:170mm}.stage-toolbar,.stage-caption{display:none}}.range{min-height:44px}.exact-latitude summary{min-height:44px}.about-button{min-width:44px}
