:root{--paper: #f5f1e8;--paper-raised: #fbf9f4;--paper-band: #ede7d9;--nav-active: #ebe5d6;--ink: #1c1a16;--ink-2: #4a453c;--ink-3: #6e6960;--ink-4: #8a8378;--line-thin: #e4decf;--line-mid: #c6bfad;--line-strong: var(--ink);--a-fill: #ffb227;--a-text: #a8560f;--a-text-hover: #7c3e0a;--b-fill: #2ec4b6;--b-text: #15616d;--phase-night: #0a0e27;--phase-astro: #172b6b;--phase-nautical: #2a4bb8;--phase-civil: #5b7be8;--phase-golden: #ff9e2c;--phase-day: #ffce3d;--font-serif: "Newsreader", Georgia, serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink)}body{font-family:var(--font-serif);overscroll-behavior:none}#app{min-height:100vh}a{color:var(--a-text)}a:hover{color:var(--a-text-hover)}button,input{font-family:var(--font-serif)}.mono{font-family:var(--font-mono)}.tabnum{font-variant-numeric:tabular-nums}table{border-collapse:collapse;width:100%;table-layout:fixed}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.btn{height:30px;min-width:30px;padding:0 13px;background:transparent;border:1px solid var(--line-mid);border-radius:2px;color:var(--ink);font-family:var(--font-serif);font-size:14px;cursor:pointer}.btn:hover{background:var(--paper-raised)}.btn[aria-pressed=true],.btn.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn.icon-btn{width:30px;min-width:30px;padding:0;display:flex;align-items:center;justify-content:center}.icon-outline{color:var(--ink-2)}.icon-outline svg{display:block}::-webkit-scrollbar{display:none}.shell{display:flex;flex-direction:column;min-height:100vh}.app-header{flex-shrink:0;border-bottom:3px double var(--ink);padding:12px 16px 8px}.app-header .row1{display:flex;align-items:center;gap:8px}.app-header h1{margin:0;flex-grow:1;font-size:24px;font-weight:500;line-height:1}.app-header .daynav{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.app-header .daynav .datebox{text-align:center}.app-header .datebox .day{font-size:16px}.app-header .datebox .sub{font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;color:var(--ink-3);margin-top:1px}.app-header .searchbox{display:none}@media(min-width:900px){.app-header{padding:20px 48px 12px;display:flex;align-items:flex-end;gap:32px}.app-header .row1,.app-header .daynav{margin:0}.app-header .brand{flex-grow:1}.app-header h1{font-size:34px;letter-spacing:-.01em}.app-header .tagline{margin:5px 0 0;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--ink-3)}.app-header .datebox .day{font-size:20px;font-weight:500}.app-header .datebox .sub{font-size:10px;margin-top:2px}.app-header .mobile-only{display:none}.app-header .searchbox{display:flex;align-items:center;gap:8px;width:240px;height:32px;padding:0 10px;border:1px solid var(--line-mid);border-radius:2px;background:var(--paper-raised)}.app-header .searchbox input{flex-grow:1;min-width:0;background:transparent;border:0;outline:none;color:var(--ink);font-size:14px}}@media(max-width:899.98px){.desktop-only,.desktop-row,.diff-col{display:none!important}}@media(min-width:900px){.mobile-only,.diff-sub,.mobile-only-inline{display:none!important}}.app-body{flex-grow:1;min-height:0;display:flex;flex-direction:column}@media(min-width:900px){.app-body{flex-direction:row}}.register-nav{flex-shrink:0;display:flex;gap:4px;padding:4px 16px;border-bottom:1px solid var(--line-thin)}.register-nav a{flex:1 1 0;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:2px;text-decoration:none;color:var(--ink-2)}.register-nav a .num{font-family:var(--font-mono);font-size:9px;color:var(--ink-4)}.register-nav a .label{font-size:14px;line-height:1.1}.register-nav a[aria-current=true]{background:var(--nav-active);color:var(--ink)}.register-nav a[aria-current=true] .num{color:var(--a-text)}@media(min-width:900px){.register-nav{width:206px;flex-shrink:0;flex-direction:column;gap:3px;padding:22px 20px 22px 48px;border-right:1px solid var(--line-thin);border-bottom:none}.register-nav a{flex:none;flex-direction:row;gap:12px;justify-content:flex-start;height:auto;padding:9px 10px}.register-nav a .num{font-size:11px}.register-nav a .label{font-size:16px}.register-nav .slots{margin-top:20px;padding-top:14px;border-top:1px solid var(--line-thin);display:flex;flex-direction:column;gap:10px}.register-nav .slot-row{display:flex;align-items:center;gap:8px}.register-nav .slot-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%}.register-nav .slot-name{font-size:16px}.register-nav .slot-coords{font-family:var(--font-mono);font-size:9px;color:var(--ink-3)}}.register-nav .slots{display:none}@media(min-width:900px){.register-nav .slots{display:flex}}.main-content{flex-grow:1;min-width:0;padding:14px 16px 16px;display:flex;flex-direction:column;gap:13px;position:relative}@media(min-width:900px){.main-content{padding:18px 48px 20px 36px}.main-content>*:not(.disc-panel){max-width:calc(100% - 340px)}.main-content>.disc-panel{position:absolute;top:18px;right:48px;width:300px}}.section-eyebrow{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.2em;font-family:var(--font-mono);color:var(--ink-3)}.disc-panel{display:flex;flex-direction:column;gap:12px}.disc-panel .disc-wrap{width:230px;align-self:center}@media(min-width:900px){.disc-panel .disc-wrap{width:100%}}.disc-panel h2{margin:0 0 2px;font-size:12px;font-weight:600;letter-spacing:.2em;font-family:var(--font-mono);color:var(--ink-3)}.disc-panel .legend{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--line-thin)}.disc-panel .legend-row{display:flex;align-items:center;gap:9px}.disc-panel .legend-swatch{width:14px;height:14px;flex-shrink:0}.disc-panel .legend-row .name{font-size:15px}.disc-panel .legend-row .spacer{flex-grow:1}.disc-panel .legend-row .value{font-family:var(--font-mono);font-size:13px}.disc-panel .disc-note{margin:0;font-size:14px;line-height:1.45;color:var(--ink-2)}.data-table{font-size:15px}.data-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.data-table thead tr{border-bottom:1.5px solid var(--ink)}.data-table th{text-align:right;padding:0 0 6px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.16em;color:var(--ink-3)}.data-table thead th:first-child{text-align:left}.data-table th.col-a{color:var(--a-text);font-weight:600}.data-table th.col-b{color:var(--b-text);font-weight:600}.data-table tbody{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px}.data-table tbody tr{border-bottom:1px solid var(--line-thin)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody th{text-align:left;padding:8px 0;font-family:var(--font-serif);font-size:15px;font-weight:400;color:var(--ink)}.data-table tbody td{text-align:right;padding:8px 0}.data-table .sub{display:block;font-family:var(--font-mono);font-size:9px;font-weight:400;color:var(--ink-4)}.data-table .diff{color:var(--ink-3)}.data-table .row-emph{border-bottom:1.5px solid var(--ink)!important;background:var(--paper-band)}.data-table .row-emph th{padding:10px 6px;font-size:18px;font-weight:600}.data-table .row-emph td{padding:10px 0;font-weight:600;font-size:19px}.data-table .row-emph td:last-child,.data-table .row-emph th:last-child{padding-right:6px}.data-table .na{font-family:var(--font-serif);font-style:italic;font-size:15px;color:var(--ink-3)}.search-field{width:100%;box-sizing:border-box;height:38px;padding:0 12px;border:1.5px solid var(--ink);border-radius:2px;background:var(--paper-raised);color:var(--ink);font-family:var(--font-serif);font-size:17px;outline:none}.search-results{list-style:none;margin:0;padding:0;border:1px solid var(--line-mid);border-top:0;background:var(--paper-raised)}.search-results li{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line-thin)}.search-results li:last-child{border-bottom:none}.search-results .name{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results .meta{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results .coords{font-family:var(--font-mono);font-size:11px;color:var(--ink-2)}.search-results .status{padding:10px;font-size:14px;color:var(--ink-3)}.assign-btn{height:26px;min-width:26px;padding:0 7px;background:transparent;border:1px solid var(--line-mid);border-radius:2px;color:var(--ink);font-family:var(--font-serif);font-size:12px;cursor:pointer}.assign-btn:hover{background:var(--paper)}.field-input{width:100%;box-sizing:border-box;height:44px;padding:0 12px;border:1.5px solid var(--ink);border-radius:2px;background:var(--paper-raised);color:var(--ink);font-family:var(--font-serif);font-size:17px;outline:none}.filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-row .label{font-size:14px;color:var(--ink-3);margin-right:4px}.filter-row .sep{width:1px;align-self:stretch;background:var(--line-mid);margin:0 8px}.slider-row{display:flex;align-items:center;gap:16px}.slider-row label{font-size:15px;color:var(--ink-2);white-space:nowrap}.slider-row input[type=range]{flex-grow:1;accent-color:var(--ink);height:22px}.slider-row .readout{font-family:var(--font-mono);font-size:15px;white-space:nowrap}@media(max-width:899.98px){.hide-mobile{display:none!important}}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);font-size:14px;padding:8px 16px;border-radius:2px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:50}.toast.visible{opacity:1}
