@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/gnomon/assets/fraunces-italic-vietnamese-B7PmIdA3.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/gnomon/assets/fraunces-italic-latin-ext-C5JMU4hr.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/gnomon/assets/fraunces-italic-latin-BEbM7Mn6.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/fraunces-vietnamese-Czevyj-6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/fraunces-latin-ext-CJcjJNj7.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/fraunces-latin-DihXLNYH.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:560;font-display:swap;src:url(/gnomon/assets/fraunces-vietnamese-Czevyj-6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:560;font-display:swap;src:url(/gnomon/assets/fraunces-latin-ext-CJcjJNj7.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:560;font-display:swap;src:url(/gnomon/assets/fraunces-latin-DihXLNYH.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:650;font-display:swap;src:url(/gnomon/assets/fraunces-vietnamese-Czevyj-6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:650;font-display:swap;src:url(/gnomon/assets/fraunces-latin-ext-CJcjJNj7.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:650;font-display:swap;src:url(/gnomon/assets/fraunces-latin-DihXLNYH.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-400-cyrillic-ext-xuaO2J-f.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-400-cyrillic-BSMlKf0J.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-400-vietnamese-BulugwFq.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-400-latin-ext-BmRBH3aV.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-400-latin-DMJ8VG8y.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-500-cyrillic-ext-BqneJy0T.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-500-cyrillic-Bq9vWWag.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-500-vietnamese-DZ4AoWbu.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-500-latin-ext-CAhNIIs5.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/ibm-plex-mono-500-latin-DSY6xOcd.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/gnomon/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/gnomon/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/gnomon/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/gnomon/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/gnomon/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/gnomon/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/gnomon/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/gnomon/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/gnomon/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/gnomon/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/gnomon/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/gnomon/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/gnomon/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/gnomon/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/gnomon/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/gnomon/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #eef0e6;--ink-muted: #97a0ac;--ink-faint: #818a96;--ground: #14171a;--panel: #1b1f24;--panel-raised: #21262c;--hairline: #2c333b;--brass: #c9a24b;--brass-bright: #e8c874;--teal: #6f95a8;--danger: #d9724c;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--radius: 3px;--shadow-panel: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 8px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box}[hidden]{display:none!important}html{color-scheme:dark}body{margin:0;background:var(--ground);background-image:radial-gradient(circle at 15% -10%,#1f242a 0%,var(--ground) 55%);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}a{color:var(--brass-bright)}::selection{background:var(--brass);color:#1a1a1a}:focus-visible{outline:2px solid var(--brass-bright);outline-offset:2px}.app{max-width:1440px;margin:0 auto;padding:0 clamp(16px,3vw,40px) 64px}.masthead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding:28px 0 20px;border-bottom:1px solid var(--hairline);margin-bottom:24px}.wordmark{font-family:var(--font-display);font-weight:650;font-size:clamp(28px,4vw,38px);letter-spacing:.02em;color:var(--ink);margin:0;display:flex;align-items:baseline;gap:10px}.wordmark small{font-family:var(--font-mono);font-size:11px;color:var(--brass);letter-spacing:.18em;text-transform:uppercase;font-weight:500}.tagline{font-family:var(--font-display);font-style:italic;font-weight:500;color:var(--ink-muted);font-size:clamp(14px,1.6vw,17px);margin:0;max-width:46ch}.layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(300px,360px);gap:20px;align-items:start;grid-template-areas:"settings preview details"}.dial-settings{grid-area:settings}.stage{grid-area:preview}.details-rail{grid-area:details}.layout>*{min-width:0}@media(max-width:1180px){.layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);grid-template-areas:"settings preview" "details details"}.details-rail{grid-column:1 / -1}}@media(max-width:820px){.layout{grid-template-columns:1fr;grid-template-areas:"preview" "settings" "details"}.details-rail{grid-column:auto}}.panel{background:var(--panel);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-panel);padding:18px 18px 20px;margin-bottom:16px}.panel h2{font-family:var(--font-display);font-weight:650;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}.panel h2 .count{color:var(--ink-faint);font-family:var(--font-mono);font-weight:400;text-transform:none;letter-spacing:0;margin-left:6px}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.field-row{display:flex;gap:10px}.field-row>.field{flex:1;min-width:0}label{display:block;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:5px}input[type=text],input[type=number],input[type=date],input[type=time],select{width:100%;background:var(--ground);border:1px solid var(--hairline);border-radius:var(--radius);color:var(--ink);font-family:var(--font-mono);font-size:13.5px;padding:8px 10px}input[type=number]:invalid{border-color:var(--danger)}input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:#f4aa8f;font-size:12px;overflow-wrap:anywhere}.field-error:empty,.hint:empty{display:none}input[type=range]{width:100%;accent-color:var(--brass)}select{font-family:var(--font-body);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%);background-position:calc(100% - 16px) center,calc(100% - 11px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}input:focus,select:focus{border-color:var(--brass)}.hint{font-size:11.5px;color:var(--ink-faint);margin-top:4px;overflow-wrap:anywhere}.segmented{display:flex;flex-wrap:wrap;gap:6px}.segmented button{flex:1;min-width:max-content}button{font-family:var(--font-body);font-size:13px;font-weight:500;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--hairline);background:var(--panel-raised);color:var(--ink);cursor:pointer;transition:border-color .12s ease}button:hover{border-color:var(--brass)}button[aria-pressed=true],button.primary{background:var(--brass);border-color:var(--brass);color:#211a08;font-weight:600}button.primary:hover{background:var(--brass-bright);border-color:var(--brass-bright)}button.ghost{background:transparent}button:disabled{opacity:.6;cursor:not-allowed}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);margin-bottom:8px;cursor:pointer}.checkbox-row:last-child{margin-bottom:0}.checkbox-row input{accent-color:var(--brass);width:15px;height:15px}.stage{background:var(--panel);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-panel);padding:20px;display:flex;flex-direction:column;gap:14px}.stage-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.stage-canvas{background:#0c0e10;border:1px solid var(--hairline);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;padding:12px;min-height:clamp(220px,25vw,360px);overflow:auto}.stage-canvas svg{max-width:100%;height:auto;display:block;max-height:520px}.stage-canvas.zoomed{display:block;max-height:540px}.stage-canvas.zoomed svg{max-width:none;max-height:none}.preview-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.preview-controls output{min-width:4ch;text-align:center;font:12px var(--font-mono)}.stage h2{font:600 19px var(--font-display);margin:0;color:var(--brass-bright)}.settings-link{font-size:12px}.stage-canvas[data-theme=laser],.gnomon-thumb[data-theme=laser]{background:#fff}.readout{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:4px 18px}.readout strong{color:var(--brass-bright);font-weight:500}.time-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.time-controls .slider-wrap{flex:1;min-width:min(200px,100%)}.time-controls{width:100%;min-width:0}.time-controls input[type=date]{flex:1 1 150px;min-width:0}.time-controls input[type=time]{flex:1 1 110px;min-width:0}.time-controls .hint{flex-basis:100%}.skip-link{position:absolute;left:16px;top:-100px;z-index:10;padding:12px;background:var(--ground)}.skip-link:focus{top:8px}.orientation-text{font-size:13px;color:var(--ink);line-height:1.55;margin:0}.motto{border-left:2px solid var(--brass);padding-left:12px}.motto .latin{font-family:var(--font-display);font-style:italic;font-size:17px;color:var(--brass-bright);margin:0 0 4px}.motto .translation{font-size:13px;color:var(--ink);margin:0 0 4px}.motto .attribution{font-size:11.5px;color:var(--ink-faint);margin:0}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gnomon-thumb{background:#0c0e10;border:1px solid var(--hairline);border-radius:var(--radius);padding:10px;display:flex;justify-content:center}.gnomon-thumb svg{max-width:100%;height:auto;max-height:280px}table.eot-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:11px}table.eot-table th,table.eot-table td{text-align:right;padding:3px 4px;border-bottom:1px solid var(--hairline);color:var(--ink-muted)}table.eot-table th:first-child,table.eot-table td:first-child{text-align:left;color:var(--ink)}.section{margin-top:40px}.section h2{font-family:var(--font-display);font-weight:650;font-size:22px;color:var(--ink);border-bottom:1px solid var(--hairline);padding-bottom:10px;margin-bottom:18px}.instructions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.instructions-grid .panel{margin-bottom:0}.instructions-grid h3{font-family:var(--font-display);font-size:16px;color:var(--brass);margin:0 0 8px}.instructions-grid p{font-size:13.5px;color:var(--ink-muted);line-height:1.6;margin:0}footer.site-footer{margin-top:48px;padding-top:20px;border-top:1px solid var(--hairline);color:var(--ink-faint);font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page-main{display:contents}
