@font-face{font-family:Outfit;src:url('fonts/Outfit.ttf') format('truetype');font-display:swap}
@font-face{font-family:Cormorant;src:url('fonts/CormorantGaramond.ttf') format('truetype');font-display:swap}
:root{--ink:#131b21;--cream:#e8debf;--muted:#b9c3ba;--gold:#d5ae69;--brass:#71664e;--radius:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#fourlorn-controls{position:fixed;inset:0;z-index:15;pointer-events:none}
#fourlorn-controls button{position:absolute;pointer-events:auto;background:transparent;color:transparent;border:0;border-radius:var(--radius);padding:0;cursor:pointer;font:16px Outfit,sans-serif}
#fourlorn-controls button:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
#landscape-required{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--ink);color:var(--cream);text-align:center;font:16px Outfit,sans-serif}
#landscape-required h1{font:44px Cormorant,serif;margin:0 0 20px}#landscape-required h2{font-size:24px}#landscape-required[hidden]{display:none}
#save-warning{position:fixed;left:16px;bottom:4px;z-index:25;font:14px Outfit,sans-serif;color:#efcf8b;pointer-events:none}
#file-export,#fourlorn-calendar{box-sizing:border-box;color:var(--cream);background:var(--ink);border:1px solid var(--brass);border-radius:8px;width:min(640px,calc(100vw - 48px));max-height:calc(100dvh - 32px);padding:20px;font:16px Outfit,sans-serif}
#file-export[open],#fourlorn-calendar[open]{display:flex;flex-direction:column;gap:16px}
#file-export::backdrop,#fourlorn-calendar::backdrop{background:#000c}
#file-export h2,#fourlorn-calendar h2{font:32px Cormorant,serif;margin:0;flex-shrink:0}
#file-export p,#fourlorn-calendar p{margin:0;line-height:1.5;color:var(--muted)}
#file-export textarea{box-sizing:border-box;width:100%;min-height:60px;height:240px;flex:1 1 auto;resize:vertical;background:#080d10;color:var(--cream);border:1px solid var(--brass);padding:12px;font:14px Outfit,sans-serif}
#file-export footer,#fourlorn-calendar footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;flex-shrink:0}
#file-export footer a,#file-export footer button,#fourlorn-calendar footer button{width:180px;height:48px;flex:0 0 180px;margin:0}
#file-export button,#file-export a,#fourlorn-calendar button,#loading-status button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:1px solid var(--brass);border-radius:var(--radius);color:var(--cream);background:var(--ink);font:16px Outfit,sans-serif;text-decoration:none;cursor:pointer}
#file-export a{background:var(--gold);color:#251d10}
#fourlorn-calendar .calendar-rows{overflow-y:auto;min-height:0;display:grid;gap:12px}
#fourlorn-calendar a{color:var(--gold)}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
@media(max-height:450px){#file-export,#fourlorn-calendar{padding:16px;gap:12px}#file-export textarea{height:120px}}
@media(orientation:portrait){#fourlorn-controls{display:none}}
#fourlorn-controls button:hover{background:#ffffff0b}#fourlorn-controls button:active{background:#00000018}
#usage-choice{position:fixed;right:12px;bottom:8px;z-index:1000;font:12px/1.5 system-ui;color:#ddd;max-width:370px}#usage-choice summary{cursor:pointer;text-align:right}#usage-choice[open]{padding:16px;background:#fff;color:#30343b;border:1px solid #ccc;border-radius:5px;box-shadow:0 3px 20px #0003}#usage-choice p{margin:8px 0}#usage-choice button{padding:6px 9px;background:#f7f8fa;border:1px solid #bbb;border-radius:3px;color:#222;cursor:pointer}
