*{box-sizing:border-box}html,body{margin:0;background:#000;color:#fff;font:22px/1.35 system-ui,sans-serif}main{max-width:600px;margin:auto;padding:14px 20px}[hidden]{display:none!important}#intro{min-height:540px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}.logo{object-fit:contain}h1{font-size:42px;font-weight:600;margin:0}p{margin:0}#instruction{font-size:28px;max-width:440px}#cal-status{font-size:18px;color:#fff;min-height:50px}button{font:inherit;padding:14px 20px;color:#fff;background:#000;border:2px solid #888;border-radius:12px;cursor:pointer}button:disabled{color:#aaa;cursor:wait}button:focus-visible{outline:3px solid #fff;outline-offset:3px}#confirm{width:min(100%,400px);text-align:center}progress{display:block;width:min(100%,400px);height:14px;accent-color:#fff}header{display:flex;align-items:center;gap:10px;border-bottom:1px solid #555;padding-bottom:8px}header strong{font-size:24px}#status{color:#fff;font-size:16px;margin:8px 0;min-height:22px}#sky{display:block;width:100%;height:auto;border:1px solid #666}#debug{font:12px/1.4 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:#fff;margin:8px 0}nav{display:flex;gap:8px}nav button{flex:1;font-size:17px;padding:10px 8px}footer{font-size:10px;color:#ccc;margin-top:8px}a{color:#fff}@media(max-width:400px){#intro{min-height:90vh}#instruction{font-size:24px}}

html,body{height:100%;overflow:hidden;overscroll-behavior:none}main{height:100dvh;overflow:hidden;display:flex;flex-direction:column}#intro{height:100%;min-height:0;flex:1}#results{height:100%;min-height:0;display:flex;flex-direction:column}#results header,#status,#debug,nav,footer{flex-shrink:0}#sky{flex:1;min-height:80px;height:0;width:100%}#debug{white-space:pre;overflow:hidden;font-size:11px;line-height:1.4}nav button{margin:0}progress{flex-shrink:0}

#settings-open{margin-left:auto;padding:5px 10px;line-height:1}#settings-open svg{display:block}dialog{color:#fff;background:#000;border:2px solid #888;border-radius:16px;width:min(90vw,480px);max-height:90dvh;padding:20px;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.85)}dialog h2{margin:0 0 14px;font-size:28px}dialog>button{display:block;width:100%;margin-top:10px;text-align:left}fieldset{border:0;margin:0;padding:0}legend{font-size:20px;margin-bottom:10px}.ranges{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ranges button{font-size:20px;padding:10px}.ranges button[aria-pressed=true]{background:#fff;color:#000;border-color:#fff}#sky{margin-bottom:0}

#sky{border:0}#results header{border-bottom:0}#settings-open{border:0}
