:root{color-scheme:dark;--bg:#0b1512;--panel:#101d19;--panel-light:#14231e;--cream:#efecdc;--muted:#a0aea2;--subtle:#74897b;--gold:#d7ba7e;--line:#ffffff13;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--cream);background:var(--bg);font-family:var(--sans);font-size:14px;line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}button{border:0}.app-header{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:11px;letter-spacing:2.3px;font-weight:600}.brand-mark{color:var(--gold);font-size:33px;font-weight:400;line-height:1}.brand-light{color:var(--muted);font-weight:400}.header-right{display:flex;gap:25px;align-items:center}.save-state{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.save-state>span{width:5px;height:5px;border-radius:50%;background:#86a68a}.icon-button{width:36px;height:36px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:6px;font-size:23px}.icon-button:hover{background:#ffffff08;border-color:var(--line)}.icon{display:inline-block;flex-shrink:0;vertical-align:middle}main{max-width:1440px;padding:46px 42px 22px;margin:auto}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:31px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:2.1px;margin:0 0 12px}h1{font-family:var(--serif);font-size:clamp(36px,4vw,55px);font-weight:400;letter-spacing:-1.6px;margin:0 0 11px;line-height:1.05}.intro-text{color:var(--muted);font-size:13px;margin:0}.intro-actions{display:flex;align-items:center;gap:9px;padding-bottom:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:10px 15px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;border:1px solid transparent;text-decoration:none}.button .icon{width:16px;height:16px}.primary{background:var(--gold);color:#142118;border-color:var(--gold)}.primary:hover{background:#e5cca0}.secondary{background:#ffffff03;border-color:#ffffff1b;color:#d3d8c7}.secondary:hover{background:#ffffff09;border-color:#ffffff30}.text-button{color:var(--muted);background:none;padding:0;font-size:11px}.text-button:hover{color:var(--cream)}.text-button>span{margin-left:8px}.export-menu{position:relative}.export-menu summary{list-style:none;cursor:pointer}.export-menu summary::-webkit-details-marker{display:none}.export-menu summary>span{margin-left:5px;color:var(--muted)}.menu-items{position:absolute;right:0;top:calc(100% + 8px);width:254px;background:#1a2b22;border:1px solid #d7ba7e3b;border-radius:9px;padding:7px;z-index:20;box-shadow:0 12px 40px #0006}.menu-items button{padding:12px;display:block;width:100%;text-align:left;border-radius:5px;background:none;font-size:12px}.menu-items button:hover{background:#ffffff08}.toolbar{display:flex;align-items:center;gap:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin-bottom:22px}.year-picker{display:flex;gap:4px;align-items:center;border-right:1px solid var(--line);padding-right:19px}.year-picker .icon-button{width:28px;color:#a2b0a2;font-size:24px}.year-picker input{width:69px;text-align:center;background:none;border:0;color:var(--cream);font-family:var(--serif);font-size:24px;appearance:textfield;-moz-appearance:textfield}.year-picker input::-webkit-inner-spin-button,.year-picker input::-webkit-outer-spin-button{-webkit-appearance:none}.layer-toggles{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.layer-toggles label{cursor:pointer;display:flex;align-items:center;gap:7px;font-size:11px;color:#b9c3b4;white-space:nowrap}.layer-toggles input{accent-color:#c6b080;width:13px;height:13px;margin:0;cursor:pointer}.layer-toggles .icon{width:15px;height:15px;color:#aac3d3}.zone-button{margin-left:auto;color:var(--muted);font-size:11px;background:none;padding:8px 0;white-space:nowrap}.zone-button span{margin-left:9px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:22px;align-items:start}.wheel-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.wheel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:21px 25px 0}.micro-label{font-size:9px;letter-spacing:1.5px;color:#a2b39e;margin:0}.wheel-heading .micro-label>span{color:#53685b;margin:0 8px}.wheel-heading .micro-label:last-child{color:var(--subtle);letter-spacing:.3px}.wheel-container{padding:3px 19px 0;line-height:0}.wheel-container svg{display:block;width:100%;height:auto;margin:auto;max-height:860px}.wheel-legend{display:flex;gap:20px;align-items:center;justify-content:center;padding:0 20px 24px;margin-top:-2px;color:#a9b5a5;font-size:10px;flex-wrap:wrap;line-height:1.4}.wheel-legend>span{display:flex;gap:7px;align-items:center}.wheel-legend i{display:block;width:7px;height:7px}.legend-sun{border:1px solid var(--gold);border-radius:50%}.legend-moon{border-radius:50%;background:#c4d6e4}.legend-custom{background:var(--gold);transform:rotate(45deg)}.wheel-legend .legend-help{font-size:10px;color:#7d9583;width:100%;justify-content:center;margin-top:-6px}.inspector{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.detail{padding:25px 25px 24px;position:relative}.detail-kicker{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-bottom:17px;display:flex;justify-content:space-between;align-items:center}.detail-kicker .icon{color:#bba779;width:15px;height:15px}.detail-symbol{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;margin-bottom:15px;border:1px solid #ffffff15;background:#ffffff03}.detail-symbol .icon{width:24px;height:24px}.detail h2{font-family:var(--serif);font-size:33px;font-weight:400;line-height:1.15;letter-spacing:-.6px;margin:0 0 12px;overflow-wrap:anywhere}.date-badge{display:inline-flex;gap:7px;align-items:center;font-size:11px;color:#d3c8a5;padding:4px 8px;background:#d7ba7e0b;border:1px solid #d7ba7e24;border-radius:4px}.detail-subtitle{font-size:12px;color:#d6d9c5;margin:17px 0 7px}.detail-description{font-size:12px;line-height:1.75;color:var(--muted);margin:7px 0 17px;white-space:pre-wrap;overflow-wrap:anywhere}.astronomy-note{font-size:10px;color:#809887;line-height:1.65;margin:10px 0 17px}.detail .edit-button{width:100%;font-size:11px;min-height:36px}.moment-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:14px 0}.moment-box p{margin:0}.moment-box .moment-time{color:#d9e5e8;font-family:var(--serif);font-size:25px;margin:1px 0 2px}.moment-box .moment-zone{font-size:10px;color:var(--muted)}.agenda-heading{padding:22px 22px 0;border-top:1px solid var(--line)}.tabs{display:flex;gap:5px;margin-top:15px;padding-bottom:13px;border-bottom:1px solid var(--line)}.tabs button{flex:1;background:none;color:#9aae9e;padding:6px 4px;border-radius:5px;font-size:11px;white-space:nowrap}.tabs button[aria-selected="true"]{background:#d7ba7e13;color:#e5d3a4}.tabs button span{font-size:9px;margin-left:4px;color:#748b78}.event-list{padding:5px 13px 14px;max-height:366px;overflow:auto;scrollbar-width:thin;scrollbar-color:#496353 transparent}.event-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 10px;border-radius:6px;background:none;text-align:left;color:#d7dfcf;border:1px solid transparent;margin-top:2px}.event-row:hover{background:#ffffff04}.event-row.selected{background:#ffffff05;border-color:#d7ba7e33}.event-row .row-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#ffffff04;flex-shrink:0}.row-icon .icon{width:16px;height:16px}.row-main{flex:1;min-width:0}.row-name{font-size:12px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-date{display:block;color:#869e8a;font-size:10px;margin-top:2px}.row-arrow{color:#68816e;font-size:16px}.empty-state{color:var(--muted);font-size:12px;padding:18px 10px;text-align:center;line-height:1.7}.empty-state .button{margin-top:11px}.cycle-notes{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:28px;padding:22px 0}.cycle-notes>div+div{padding-left:30px;border-left:1px solid var(--line)}.cycle-notes p{font-size:12px;color:#d1d6c4;margin:7px 0 0;line-height:1.6}.cycle-notes p>span{color:#63796a;margin:0 7px}.cycle-notes p small{color:#829d87;font-size:10px;margin-left:9px}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#7c9582;font-size:11px;margin-top:21px}footer p{margin:0}.modal{border:1px solid #d7ba7e40;border-radius:13px;padding:28px;max-width:510px;width:calc(100% - 32px);color:var(--cream);background:#14231c;box-shadow:0 25px 120px #0008;max-height:86vh;overflow:auto}.modal::backdrop{background:#040c08b8;backdrop-filter:blur(5px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.modal h2{font:28px var(--serif);margin:0}.modal-heading .icon-button{font-size:27px}.field{display:block;font-size:11px;color:#b8c7b3;margin-bottom:16px}.field input,.field textarea,.field select{display:block;margin-top:7px;width:100%;background:#0b1812;border:1px solid #ffffff21;color:var(--cream);border-radius:5px;padding:10px 11px;font-size:12px}.field input[type="color"]{height:39px;padding:5px;width:67px}.field textarea{min-height:100px;resize:vertical;line-height:1.65}.field input:disabled{color:#748b77;opacity:.6}.field-hint{font-size:11px;color:#91a28d;line-height:1.7;margin:0 0 20px}.check-field{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#afbeaa;margin:-6px 0 16px;line-height:1.6}.check-field input{accent-color:var(--gold);margin-top:4px;flex-shrink:0}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:21px}.detail .form-actions .button{padding:9px 12px;min-height:35px;font-size:11px}.edit-heading{font:25px var(--serif);margin:0 0 19px}.form-error{font-size:11px;color:#e4b599;margin:8px 0}.delete-button{font-size:10px;color:#c79387;background:none;padding:0;margin:12px 0 0}.about-content p{font-size:12px;line-height:1.8;color:#b2c0ac;margin:0 0 17px}.about-content strong{color:#dddac3;font-weight:500}.about-content table{border-collapse:collapse;width:100%;font-size:11px;margin:0 0 18px;color:#c4d0bc}.about-content th,.about-content td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--line)}.about-content th{font-weight:500;color:var(--gold)}.source-links{border-top:1px solid var(--line);padding-top:17px;display:flex;flex-direction:column;gap:10px}.source-links a{font-size:11px;color:#ccbc92;text-decoration:none}.source-links a:hover{text-decoration:underline}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#253829;color:#e9e4cb;border:1px solid #d7ba7e66;border-radius:8px;padding:12px 18px;font-size:12px;z-index:100;max-width:calc(100% - 30px);box-shadow:0 8px 30px #0004;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1500px){main{max-width:1480px}.workspace{grid-template-columns:minmax(0,1fr) 380px}.app-header{padding-left:max(42px,calc((100vw - 1396px)/2));padding-right:max(42px,calc((100vw - 1396px)/2))}}
@media(max-width:1120px){main{padding:35px 26px 20px}.app-header{padding:0 26px}.workspace{grid-template-columns:minmax(0,1fr) 315px;gap:17px}.wheel-container{padding:8px 6px 0}.wheel-heading{padding:18px 19px 0}.intro-actions{gap:6px}.button{padding:10px 11px}.layer-toggles{gap:14px}.toolbar{gap:17px}.detail{padding:22px}.tabs{gap:2px}.tabs button{font-size:10px}.tabs button span{margin-left:2px}.cycle-notes{gap:22px}.cycle-notes>div+div{padding-left:21px}}
@media(max-width:900px){.intro{align-items:flex-start;flex-direction:column;gap:22px}.intro-actions{width:100%;justify-content:flex-start}.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:14px}.layer-toggles{gap:11px}.today-toggle{display:none!important}.year-picker{padding-right:13px}.toolbar{gap:12px}.zone-button{max-width:160px;overflow:hidden;text-overflow:ellipsis}.wheel-heading .micro-label{font-size:8px;letter-spacing:1px}.wheel-heading .micro-label:last-child{display:none}.wheel-legend{gap:14px;padding:12px 10px 19px}.detail h2{font-size:30px}.cycle-notes{grid-template-columns:1fr 1fr}.cycle-notes>div:last-child{display:none}}
@media(max-width:720px){.app-header{height:65px;padding:0 18px}.brand{font-size:9px;letter-spacing:1.7px;gap:8px}.brand-mark{font-size:28px}.save-state{font-size:0}.header-right{gap:12px}.save-state>span{width:6px;height:6px}.header-right .icon-button{width:31px}.brand-light{display:none}main{padding:30px 16px 20px}.intro{margin-bottom:24px}.eyebrow{font-size:9px}.intro-text{font-size:12px;max-width:320px;line-height:1.7}.intro-actions{gap:7px}.intro-actions .button{font-size:11px;min-height:37px;padding:9px 11px}.intro-actions .primary{margin-left:auto}.toolbar{padding:10px 0;gap:8px;flex-wrap:wrap;justify-content:space-between}.year-picker{padding-right:11px;gap:0}.year-picker .icon-button{width:21px}.year-picker input{font-size:23px;width:61px}.layer-toggles{flex:1;justify-content:center;gap:12px}.layer-toggles label{font-size:10px;gap:5px}.layer-toggles label .icon{display:none}.zone-button{font-size:10px;max-width:100%;width:100%;margin-left:0;text-align:right;padding:2px 0 0}.workspace{grid-template-columns:1fr;gap:18px}.wheel-heading{padding:18px 17px 0}.wheel-heading .micro-label:last-child{display:block;font-size:8px}.wheel-container{padding:7px 3px 0}.wheel-legend{font-size:10px;margin-top:-3px;padding-top:0}.inspector{display:grid;grid-template-columns:1fr}.detail{padding:24px}.detail-symbol{width:40px;height:40px;margin-bottom:11px}.detail h2{font-size:34px}.detail-kicker{margin-bottom:14px}.detail-description{font-size:12px}.agenda-heading{padding:20px 23px 0}.tabs{gap:8px}.tabs button{font-size:12px;padding:8px}.tabs button span{font-size:10px;margin-left:5px}.event-list{max-height:324px;padding:6px 14px 15px}.cycle-notes{margin-top:23px;padding:18px 0;gap:17px}.cycle-notes p{font-size:11px}.cycle-notes>div+div{padding-left:16px}.micro-label{font-size:8px;letter-spacing:1px}footer{font-size:10px;align-items:flex-start;gap:14px}footer p{max-width:180px}footer .text-button{font-size:10px;text-align:right;max-width:140px}.modal{padding:23px}.modal h2{font-size:25px}}
@media(max-width:390px){.intro-actions .button{padding:9px 8px;font-size:10px;gap:5px}.layer-toggles{gap:8px}.layer-toggles label{font-size:9px}.layer-toggles input{width:12px;height:12px}.year-picker{padding-right:5px}.year-picker input{width:55px}.tabs{gap:2px}.tabs button{font-size:11px}.wheel-heading .micro-label>span{margin:0 3px}.brand{letter-spacing:1px}.cycle-notes p small{display:block;margin-left:0}}
@media print{@page{size:A4 portrait;margin:9mm}body{background:white;color:#222;print-color-adjust:exact;-webkit-print-color-adjust:exact}.app-header,.intro-actions,.toolbar,.inspector,.cycle-notes,footer,.wheel-legend,.wheel-heading,dialog,#toast{display:none!important}main{padding:0;max-width:none}.intro{margin:0 0 10px;display:block}.eyebrow{color:#665a40;font-size:8px;margin:0 0 5px}h1{font-size:26px;color:#222;margin-bottom:5px}.intro-text{font-size:10px;color:#555}.workspace{display:block}.wheel-panel{border:0;border-radius:0;width:100%;background:none;break-inside:avoid}.wheel-container{padding:0}.wheel-container svg{width:100%;max-width:190mm;max-height:none;margin:0 auto}}
[hidden]{display:none!important}.view-tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);margin:0 0 22px;padding:0 0 13px}.view-tabs button{background:transparent;color:#a6b9a7;padding:11px 15px;border:1px solid transparent;border-radius:6px;font-size:13px}.view-tabs button.active{background:#d7ba7e12;color:#ead6a7;border-color:#d7ba7e28}.view-tabs button span{font-size:10px;opacity:.6;margin-left:13px}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tabs button{font-size:10px;padding:8px 2px}.tabs button:nth-last-child(-n+2){grid-column:span 2}.source-inline{display:inline-block;color:#ccb782;font-size:11px;text-decoration:none;margin:0 0 16px}.source-inline:hover{text-decoration:underline}.date-comparison{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d7ba7e25;border-radius:6px;background:#d7ba7e06;padding:12px;margin:12px 0 18px;gap:10px}.date-comparison span{display:block;font-size:10px;color:#90a58e;margin-bottom:5px}.date-comparison strong{font-family:Georgia,serif;font-weight:400;font-size:15px;color:#e8d6b0}.lunar-sequence{border-top:1px solid var(--line);padding-top:14px;margin:15px 0}.lunar-sequence>div{display:flex;gap:11px;margin-top:13px}.sequence-number{width:22px;height:22px;border:1px solid #a8bba322;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:10px;color:#d7ba7e}.lunar-sequence p{margin:0}.lunar-sequence p span,.lunar-sequence p strong,.lunar-sequence p small{display:block}.lunar-sequence p span{font-size:10px;color:#90a58e;line-height:1.4}.lunar-sequence p strong{font-size:12px;color:#d9dfca;font-weight:400;margin-top:3px}.lunar-sequence p small{font-size:10px;color:#859b89;margin-top:3px}.calendar-footnote{font-size:10px;line-height:1.7;color:#7f9584;margin:17px 0 0;padding-top:13px;border-top:1px solid var(--line)}.observance{display:grid;gap:4px;margin:18px 0}.observance span{font-size:10px;color:#90a58e}.observance strong{font-size:13px;color:#d8dec9;font-weight:400;margin-bottom:9px}.layers-menu{position:relative;font-size:11px;color:#b5c3af}.layers-menu summary{cursor:pointer;list-style:none;padding:8px 12px;background:#ffffff04;border:1px solid var(--line);border-radius:5px}.layers-menu summary span{padding-left:7px}.layers-content{position:absolute;left:0;top:38px;z-index:15;min-width:220px;background:#17281e;border:1px solid #d7ba7e40;border-radius:7px;padding:15px;box-shadow:0 8px 24px #0008;display:grid;gap:15px}.layers-content label{font-size:11px!important}.legend-bede{background:#b7c6a3}.legend-scandi{background:#96b7c4}.legend-julian{background:#c3a5ba}#christian-legend{color:#b7c7e6}#jewish-legend{color:#d2b1df}#eclipse-legend{color:#d59b86}.historical-notice{border:1px solid #cbb78124;border-radius:6px;background:#d7ba7e06;color:#a5b79d;font-size:11px;line-height:1.7;padding:14px 18px;margin:0 0 20px}.wide-modal{max-width:760px}.form-error{color:#edbaa2;font-size:12px;line-height:1.6}.danger{color:#d4a28f}.compare-intro{display:flex;justify-content:space-between;gap:25px;align-items:center;margin:31px 0 26px}.compare-intro h2{font-family:Georgia,serif;font-weight:400;font-size:34px;letter-spacing:-.4px;color:#e9e3ce;margin:9px 0 12px}.compare-intro p:last-child{font-size:13px;line-height:1.8;color:#9db19d;max-width:680px}.compare-intro .button{flex-shrink:0}.compare-form{display:grid;grid-template-columns:1.3fr 1.5fr .8fr 1.2fr 1fr .6fr;gap:16px;background:#101d19;border:1px solid var(--line);border-radius:9px;padding:24px}.compare-form .field{margin:0}.compare-submit{display:flex;align-items:end;grid-column:1/-1;justify-content:flex-end}.compare-shortcuts{grid-column:1/-1;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:#9caf97;border-top:1px solid var(--line);padding-top:17px}.compare-shortcuts button{padding:5px 10px;border:1px solid #9caf9727;color:#cfc8a9;border-radius:4px;background:#d7ba7e08;font-size:11px}.compare-shortcuts .field-hint{margin:0 0 0 auto;font-size:10px;max-width:430px}.compare-form .form-error{grid-column:1/-1;margin:0}.comparison-results{margin-top:25px;border:1px solid var(--line);background:#101d19;border-radius:9px;overflow:hidden}.comparison-results-heading{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;border-bottom:1px solid var(--line)}.comparison-results-heading p{margin:0}.table-scroll{overflow:auto}.compare-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;min-width:920px}.compare-table thead th{font-size:10px;letter-spacing:.7px;color:#8ba28e;font-weight:400;background:#ffffff02;padding:14px 15px;border-bottom:1px solid var(--line)}.compare-table td,.compare-table tbody th{padding:20px 15px;border-bottom:1px solid #ffffff07;color:#cdd7c3;line-height:1.6;font-weight:400;white-space:nowrap}.compare-table tbody th{white-space:normal;min-width:150px}.compare-table tbody th strong{display:block;font-weight:400;color:#e3dfc9}.compare-table tbody th span,.compare-table small{display:block;font-size:10px;color:#89a18b;margin-top:3px}.compare-table tr:last-child td,.compare-table tr:last-child th{border-bottom:0}.offset-badge{color:#e6cc92;background:#d7ba7e0e;border:1px solid #d7ba7e20;border-radius:5px;padding:5px 8px;display:inline-block}.comparison-actions .icon-button{width:27px;height:30px;vertical-align:middle}.comparison-actions .icon{width:14px}.comparison-actions .text-button{font-size:10px;padding-right:9px}.comparison-empty{padding:30px;text-align:center;color:#97ac96;font-size:12px}.study-notes{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:26px 0 38px}.study-notes p{font-size:12px;line-height:1.8;color:#92a88f;margin:9px 0}.needle-control{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin:0 20px 19px;font-size:10px;color:#b5c0a9}.needle-control label{display:flex;align-items:center;gap:9px}.needle-control input{border:1px solid #d7ba7e25;border-radius:4px;padding:6px 8px;background:#0b1812;color:#d7cfad;font-size:11px;color-scheme:dark}.needle-control .text-button{font-size:10px}.needle-control .needle-key{height:1px;width:20px;background:#e8cf92;display:inline-block}.wheel-container svg{max-height:none}.layer-toggles label:has(input:disabled){opacity:.45}.icon-button:disabled,.text-button:disabled{opacity:.4;cursor:default}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #dfc58b;outline-offset:3px}
@media(max-width:1120px){.compare-form{grid-template-columns:repeat(3,1fr)}.view-tabs button span{display:none}.wheel-legend{gap:10px}.layer-toggles{gap:12px}}
@media(max-width:720px){.view-tabs{gap:5px}.view-tabs button{font-size:12px;padding:10px 12px;flex:1}.compare-intro{flex-direction:column;align-items:flex-start;margin-top:25px;gap:12px}.compare-intro h2{font-size:29px}.compare-intro p:last-child{font-size:12px}.compare-form{padding:18px;gap:13px;grid-template-columns:1fr 1fr}.compare-form .field:first-child{grid-column:1/-1}.compare-shortcuts .field-hint{margin:6px 0 0;max-width:none;width:100%}.study-notes{grid-template-columns:1fr;gap:15px;margin-top:22px}.tabs button{font-size:11px}.layers-menu summary{padding:7px 9px}.layer-toggles{gap:8px;justify-content:flex-end}.layer-toggles label{font-size:10px}.layers-content{right:0;left:auto}.needle-control{margin:0 15px 16px}.compare-submit .button{width:100%}.comparison-results-heading{padding:15px}.comparison-results-heading .text-button{font-size:10px}.toolbar{row-gap:10px}.wheel-container{padding-top:14px}}
@media print{.view-tabs,.needle-control{display:none!important}#compare-panel{color:#222}#compare-panel .compare-form,.compare-intro .button,.comparison-results-heading button,.comparison-actions{display:none!important}.compare-intro h2{color:#222;font-size:24px}.compare-intro p:last-child,.study-notes p{color:#555}.comparison-results{background:white;border-color:#ddd}.compare-table{min-width:0;font-size:8px}.compare-table td,.compare-table tbody th{color:#222;padding:9px 5px;white-space:normal}.compare-table thead th{color:#555;padding:9px 5px}.compare-table tbody th{min-width:0}.compare-table tbody th strong{color:#222}.compare-table tbody th span,.compare-table small{color:#666}.table-scroll{overflow:visible}.offset-badge{color:#222}.compare-table thead th:last-child{display:none}.study-notes{gap:20px;margin:16px 0}.compare-intro{margin-top:15px}.historical-notice{color:#555}}

/* Norse observances: the displayed dates name the evening that begins each night. */
.legend-norse{border:1px solid #ceb788;border-radius:50%;box-shadow:0 0 0 2px #ceb78828}.night-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.night-chips>span{border:1px solid #d7ba7e26;border-radius:4px;padding:4px 7px;color:#c8c7ac;font-size:10px}.norse-related{margin-top:23px;border-top:1px solid var(--line);padding-top:18px}.related-event{margin-top:10px;width:100%;white-space:normal;text-align:left}.tabs button:nth-last-child(-n+2){grid-column:auto}.tabs button:last-child{grid-column:auto}

.life-stage{margin:20px 0;padding:16px;border:1px solid #d7ba7e29;background:#d7ba7e06;border-radius:7px}.life-stage strong{display:block;font-family:Georgia,serif;font-size:18px;line-height:1.4;font-weight:400;color:#e3d1a6;margin-top:9px}.life-stage p:not(.micro-label){color:#adbaa5;font-size:12px;line-height:1.7;margin:10px 0}.life-stage small{display:block;color:#889e87;font-size:10px;line-height:1.5;margin-top:10px}

.calendar-year-label{font-size:9px;line-height:1.3;color:#9eb09a;max-width:43px}.yule-planner{border:1px solid #d7ba7e2b;background:#101d19;border-radius:9px;margin:0 0 22px}.yule-planner>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;cursor:pointer;color:#e5d4ad;font-family:Georgia,serif;font-size:21px;list-style:none}.yule-planner>summary::-webkit-details-marker{display:none}.yule-planner>summary::after{content:'⌄';font-family:Arial,sans-serif;font-size:15px;color:#a7ad8e}.yule-planner:not([open])>summary::after{content:'›'}.yule-rule{font-family:Arial,sans-serif;font-size:10px;color:#9faf94;margin-left:auto}.yule-planner-body{padding:0 22px 16px}.yule-controls{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.yule-controls>div:first-child{flex:1;min-width:240px}.yule-controls p:not(.micro-label){font-size:12px;color:#a5b39c;margin:7px 0 0}.yule-year-picker{display:flex;align-items:center;gap:12px}.yule-year-picker label{color:#b5c0a9;font-size:11px}.yule-year-picker>div{display:flex;align-items:center;gap:3px}.yule-year-picker input{color:#e6d7b3;font-family:Georgia,serif;font-size:22px;text-align:center;background:#0b1712;border:1px solid #d7ba7e2c;border-radius:4px;width:87px;padding:5px;color-scheme:dark}.yule-year-picker .icon-button{width:27px;height:33px}.yule-presets{display:flex;gap:6px}.yule-presets button{padding:6px 9px;background:transparent;border:1px solid #d7ba7e26;border-radius:4px;color:#afba9e;font-size:11px}.yule-presets button[aria-pressed="true"]{color:#ead6a4;background:#d7ba7e17;border-color:#d7ba7e66}#yule-result .lunar-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}#yule-result .lunar-sequence>.micro-label{grid-column:1/-1}#yule-result .lunar-sequence>div{border:1px solid #d7ba7e20;border-radius:6px;padding:14px;margin:0;gap:10px}#yule-result .lunar-sequence strong{font-family:Georgia,serif;font-size:19px;font-weight:400;margin:5px 0}.sacrifice-days .astronomy-note{margin-bottom:0}.yule-result-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;color:#91a88c}.yule-result-actions>.button{white-space:normal}.yule-range{margin:12px 0 0;font-size:10px;color:#78937d}#yule-result .sacrifice-days{padding:15px 18px;margin:0 0 16px}#yule-result .sacrifice-days>strong{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:6px 0}#yule-result .night-chips>span{font-size:11px}.yule-result-actions{margin-bottom:5px}
@media(max-width:720px){.calendar-year-label{max-width:35px;font-size:8px}.toolbar{flex-wrap:wrap}.yule-planner>summary{font-size:20px;padding:17px;flex-wrap:wrap;gap:7px}.yule-rule{font-size:9px;margin:0;width:90%;order:3}.yule-planner>summary::after{margin-left:auto}.yule-planner-body{padding:0 17px 14px}.yule-controls{gap:13px}.yule-controls>div:first-child{min-width:100%;flex-basis:100%}.yule-year-picker{gap:8px}.yule-presets{margin-left:auto}#yule-result .lunar-sequence{grid-template-columns:1fr;gap:9px;margin-top:16px}#yule-result .lunar-sequence>div{padding:12px}#yule-result .lunar-sequence strong{font-size:17px}#yule-result .sacrifice-days>strong{font-size:20px}.yule-result-actions{align-items:flex-start;flex-direction:column}.yule-result-actions>.button{width:100%}}@media(max-width:390px){.yule-presets{margin-left:0;width:100%}}@media print{.yule-planner{display:none!important}}

.legend-new-moon{border-radius:50%;background:#101d19;border:1.5px solid #9eb4c2}.lunar-sequence .sequence-event{display:block;background:none;padding:0;text-align:left;font-family:inherit;font-size:12px;font-weight:400;color:#d9dfca;margin-top:3px;text-decoration:underline;text-underline-offset:3px;line-height:1.5}.lunar-sequence .sequence-event:hover{color:#e4cb95}.yule-result .lunar-sequence .sequence-event{font-family:Georgia,serif;font-size:19px;margin:5px 0}@media(max-width:700px){.yule-result .lunar-sequence .sequence-event{font-size:17px}}
.bede-history{border:1px solid #b7c6a326;border-radius:7px;background:#b7c6a305;padding:16px;margin:18px 0}.bede-history h3{font:400 21px/1.4 Georgia,serif;color:#dfdfc6;margin:10px 0 14px}.bede-history .observance{margin:14px 0 7px}.bede-history .observance strong{line-height:1.7;overflow-wrap:anywhere}.bede-history .detail-description{font-size:12px;line-height:1.85}.bede-history .astronomy-note{line-height:1.8}.bede-history .source-inline{margin:5px 0 0;line-height:1.6}
.season-lab,.julian-drift{padding:25px;background:#101d19;border:1px solid var(--line);border-radius:9px;margin:24px 0}.lab-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.lab-heading h3{font:400 27px Georgia,serif;color:#e9e3ce;margin:8px 0 10px}.lab-heading p:not(.micro-label){font-size:12px;line-height:1.8;color:#9db19d;max-width:740px;margin:0}.lab-heading>.field{min-width:160px;margin:0}.lab-presets{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0;color:#9caf97;font-size:11px}.lab-presets button{padding:7px 10px;border:1px solid #d7ba7e25;border-radius:5px;color:#d9cfaf;background:#d7ba7e08;font-size:11px}.lab-presets button[aria-pressed="true"]{color:#ead6a4;background:#d7ba7e17;border-color:#d7ba7e66}.season-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.season-card{border:1px solid #d7ba7e20;border-radius:7px;padding:18px;background:#ffffff02}.season-card .micro-label{font-size:9px;line-height:1.7;margin:0}.season-card h4{font:400 23px/1.4 Georgia,serif;color:#ead6a4;margin:15px 0 0}.season-calendar{font-size:10px;color:#c2b28c}.season-card>p:not(.micro-label){font-size:11px;color:#aabca5;line-height:1.7;margin:12px 0 0}.season-card>p.season-time{color:#8da38f;font-size:10px;margin-top:5px}.season-card>.text-button{font-size:10px;text-align:left;padding:0;margin:17px 0 0}.lab-footnote{font-size:11px;line-height:1.8;color:#8ba18c;margin:18px 0 0}.lab-sources{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 0}.lab-sources a{font-size:10px;color:#c7b483;text-decoration:none}.lab-sources a:hover{text-decoration:underline}.drift-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.drift-metrics>div{padding:18px;border:1px solid #d7ba7e20;border-radius:6px}.drift-metrics span{display:block;color:#91a58e;font-size:11px;margin-bottom:10px}.drift-metrics strong{font:400 28px Georgia,serif;color:#e6d5ad}.drift-metrics small{font:12px system-ui,sans-serif;color:#9fb296}.drift-formula{font-size:12px;color:#c1cbb5;line-height:1.8;margin:17px 0 22px}.drift-formula strong{font-weight:400;color:#e6d5ad}.drift-controls{display:grid;grid-template-columns:minmax(130px,220px) 22px minmax(130px,220px);gap:14px;align-items:center}.drift-controls .field{margin:0}.drift-arrow{color:#d7ba7e;padding-top:20px;text-align:center}.drift-result{background:#d7ba7e09;border-left:2px solid #d7ba7e77;padding:18px 20px;border-radius:0 6px 6px 0}.drift-result>strong{display:block;font:400 34px/1.5 Georgia,serif;color:#ead6a4;margin:7px 0}.drift-result>strong small{font:12px system-ui,sans-serif;color:#c2c7ad}.drift-result>p{font-size:12px;line-height:1.8;color:#a8b89e;margin:4px 0 0}.solar-gap-controls{display:flex;gap:24px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.solar-gap-controls .field{margin:0;min-width:220px}.solar-gap-controls p{font-size:11px;line-height:1.8;color:#8fa58e;max-width:630px;margin:0}.compare-table{min-width:1280px}
@media(max-width:1050px){.season-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.drift-metrics strong{font-size:24px}}@media(max-width:650px){.season-lab,.julian-drift{padding:18px}.lab-heading{display:block}.lab-heading>.field{display:block;margin-top:17px;max-width:190px}.lab-heading h3{font-size:23px}.season-cards,.drift-metrics{grid-template-columns:1fr}.season-card h4{margin-top:10px}.drift-controls{grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr);gap:8px}.drift-result>strong{font-size:29px}.drift-result>strong small{display:block}.solar-gap-controls{display:block;padding:18px}.solar-gap-controls .field{display:block}.solar-gap-controls p{margin-top:12px}}
@media print{.season-lab,.julian-drift,.season-card,.drift-metrics>div,.drift-result{background:white;border-color:#bbb;break-inside:avoid}.lab-heading h3,.season-card h4,.drift-metrics strong,.drift-result>strong,.drift-formula strong{color:#222}.lab-heading p:not(.micro-label),.season-card>p:not(.micro-label),.season-calendar,.lab-footnote,.drift-result>p,.drift-result>strong small,.drift-metrics span,.drift-metrics small,.drift-formula,.solar-gap-controls p{color:#555}.lab-presets,.season-card button,.lab-sources,.drift-controls,.lab-heading>.field{display:none}.season-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.season-card h4{font-size:19px}.season-lab,.julian-drift{padding:15px;margin:15px 0}.lab-heading h3{font-size:22px}.drift-metrics strong{font-size:23px}.compare-table{min-width:0;font-size:8px}.compare-table td,.compare-table tbody th{white-space:normal;min-width:0;padding:7px 4px}.solar-gap-controls .field{color:#222}.solar-gap-controls select{background:white;color:#222;border-color:#bbb}.table-scroll{overflow:visible}}
.christmas-lab{border:1px solid #d7ba7e2b;border-radius:9px;background:#12231a;padding:26px;margin:20px 0 26px}.christmas-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:18px 0}.christmas-solstice{color:#a6b69d;font-size:12px;line-height:1.9;margin:20px 0 8px}.christmas-solstice strong{color:#e7d5ab;font-weight:400}.christmas-cards .christmas-gap{font:400 21px Georgia,serif;color:#e4cc98;margin:14px 0 0}.christmas-lab>.button{margin-top:18px;white-space:normal;text-align:left}.christmas-history{margin-top:23px;border-top:1px solid #d7ba7e26;padding-top:18px}.christmas-history summary{cursor:pointer;color:#c6cbb6;font-size:12px}.history-table{width:100%;border-collapse:collapse;margin-top:18px;min-width:570px}.history-table th,.history-table td{text-align:left;padding:13px 12px;border-bottom:1px solid #d7ba7e18;font-size:12px;color:#bbc5ae}.history-table thead th{color:#8ea38a;font-size:10px;font-weight:400}.history-table tbody th{font-weight:400}.history-table button{font-size:12px;text-align:left;color:#dbc493}.rite-notes{margin-top:18px;padding-top:1px;border-top:1px solid #d7ba7e1f}.rite-notes .micro-label{margin:18px 0 0}.rite-notes .detail-description{margin-top:9px}.rite-notes .source-inline{display:block;line-height:1.7;overflow-wrap:anywhere}.christmas-detail{margin-top:24px;border-top:1px solid #d7ba7e28;padding-top:18px}.compare-table{min-width:1450px}#roman-legend{color:#d9a47f}#islamic-legend{color:#88c8b7}#orthodox-legend{color:#e0b783}
@media(max-width:650px){.christmas-lab{padding:18px}.christmas-cards{grid-template-columns:1fr}.christmas-solstice{font-size:11px}.christmas-cards .christmas-gap{font-size:20px}}
@media print{.christmas-lab{background:white;border-color:#bbb;break-inside:avoid}.christmas-solstice,.christmas-solstice strong,.christmas-cards .christmas-gap,.christmas-history summary,.history-table th,.history-table td{color:#333}.christmas-lab>.button{display:none}.christmas-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-table{min-width:0}.history-table button{color:#333}}
.calendar-export-presets{display:flex;flex-wrap:wrap;gap:8px 15px;margin:0 0 20px}
.calendar-export-layers{border:1px solid #ffffff21;border-radius:6px;padding:14px;margin:0 0 16px}
.calendar-export-layers legend{font-size:12px;color:var(--cream);padding:0 6px}
#calendar-export-layers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#calendar-export-layers .check-field{margin:0;align-items:center}
#calendar-export-layers .check-field input{margin:0}
#calendar-export-layers .check-field span{flex:1}
#calendar-export-layers small{color:#91a28d;font-variant-numeric:tabular-nums}
#calendar-export-layers .empty-layer{opacity:.5}
@media(max-width:520px){#calendar-export-layers{grid-template-columns:1fr}}
