:root{--bg:#04060c;--dim:#c9d6ff9e;--focus-ring:#ffe7c2;--ink:#d6e0ff;--line:#d6e0ff26;--panel:#141c34e6;--sunlight:#ffe7c2;--sunlight-line:#ffc87899;--veil:#04060c99;--warm-border:#ffecc873;--warm-fill:#ffecc81a;--well:#04060c80;--mark-amber:#fab938;--mark-gray:#767d93;--mark-green:#3cdd7f;--font-mono:ui-monospace, monospace;--font-sans:ui-sans-serif, system-ui, sans-serif;--radius-card:16px;--radius-field:8px;--radius-pill:999px;--radius-toast:12px;--fade-control:.3s;--fade-hint:1.2s;--fade-toast:.6s;--loading-delay:.4s;--layer-sky:0;--layer-chrome:1;--layer-toast:2;--control-size:40px;--gutter:16px;--toolbar-gap:8px;--safe-bottom:max(var(--gutter), env(safe-area-inset-bottom));--safe-top:max(var(--gutter), env(safe-area-inset-top));--width-card:420px;--width-page:680px;--width-panel:480px;--width-toast:520px}body,html{background:var(--bg);color:var(--ink);margin:0}.sky-page,.sky-page body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;height:100%;overflow:hidden}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-button{background:var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer;height:var(--control-size);opacity:.6;transition:opacity var(--fade-control);width:var(--control-size);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.icon-button:focus-visible,.icon-button:hover{opacity:1}.icon-button:disabled{cursor:default;opacity:.25}.icon-button__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.icon-button--off .icon-button__icon--off,.icon-button__icon--on{display:block}.icon-button--off .icon-button__icon--on,.icon-button__icon--off{display:none}.pill-button{border:1px solid var(--line);border-radius:var(--radius-pill);box-sizing:border-box;color:var(--ink);cursor:pointer;font:inherit;background:0 0;justify-content:center;align-items:center;min-height:44px;padding:8px 18px;text-decoration:none;display:inline-flex}.pill-button--primary{background:var(--warm-fill);border-color:var(--warm-border)}.pill-button:focus-visible,.pill-button:hover{border-color:var(--ink)}.pill-button:disabled{border-color:var(--line);cursor:default;opacity:.45}.pill-button--small{min-height:36px;padding:6px 14px;font-size:14px}.night-card{border-radius:var(--radius-card);box-sizing:border-box;color:var(--ink);font:15px/1.55 var(--font-sans);background:radial-gradient(circle at 9% 14%,#d6e0ffb3 0 1px,#0000 1.5px),radial-gradient(circle at 23% 61%,#d6e0ff73 0 1px,#0000 1.5px),radial-gradient(circle at 37% 88%,#d6e0ff8c 0 1px,#0000 1.5px),radial-gradient(circle at 52% 33%,#d6e0ff59 0 1px,#0000 1.5px),radial-gradient(circle at 66% 9%,#d6e0ff99 0 1px,#0000 1.5px),radial-gradient(circle at 78% 52%,#d6e0ff73 0 1px,#0000 1.5px),radial-gradient(circle at 91% 24%,#d6e0ffa6 0 1px,#0000 1.5px),radial-gradient(circle at 86% 81%,#d6e0ff66 0 1px,#0000 1.5px),radial-gradient(circle at 14% 95%,#d6e0ff80 0 1px,#0000 1.5px),radial-gradient(120% 60% at 50% 0,#ffc87814,#0000 70%),linear-gradient(170deg,#18203ef7,#080b18f7);border:1px solid #d6e0ff2e;box-shadow:0 0 48px #7896ff1a}.night-card p{margin:0 0 10px}.night-card .muted{color:var(--dim);font-size:13px}.night-card__tip{border-left:2px solid var(--sunlight-line);padding-left:10px}.info{box-sizing:border-box;color:inherit;max-width:none;height:100%;max-height:none;padding:var(--gutter);background:0 0;border:0;width:100%;margin:0}.info[open]{justify-content:center;align-items:center;display:flex}.info::backdrop{background:var(--veil)}.info__card{max-height:calc(100vh - 32px);max-width:var(--width-card);touch-action:pan-y;padding:20px 22px;overflow-y:auto}.info__title{color:var(--sunlight);margin:0 0 10px;font-size:17px;font-weight:600}.info__actions{justify-content:space-between;align-items:center;margin-top:6px}.info__actions,.info__links{flex-wrap:wrap;gap:8px;display:flex}.info__close{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);cursor:pointer;font:inherit;background:0 0;padding:6px 16px}.info__close:focus-visible,.info__close:hover{border-color:var(--ink)}.toast{background:var(--panel);border-radius:var(--radius-toast);color:var(--ink);font:15px/1.45 var(--font-sans);max-width:min(var(--width-toast),calc(100vw - 32px));opacity:0;pointer-events:none;text-align:center;left:50%;top:calc(var(--safe-top) + 52px);transition:opacity var(--fade-toast);width:max-content;z-index:var(--layer-toast);padding:12px 16px;position:fixed;transform:translate(-50%)}.toast--visible{opacity:1}.sky-canvas{z-index:var(--layer-sky);display:block;position:fixed;top:0;left:0}.toolbar{gap:var(--toolbar-gap);right:var(--gutter);top:var(--safe-top);z-index:var(--layer-chrome);display:flex;position:fixed}.corner,.sky-hint{text-shadow:0 0 3px var(--bg),0 0 8px var(--bg)}.corner{font:15px/1.35 var(--font-sans);left:var(--gutter);max-width:calc(100vw - var(--gutter)*2 - var(--toolbar-buttons,4)*(var(--control-size) + var(--toolbar-gap)));min-height:var(--control-size);top:var(--safe-top);z-index:var(--layer-chrome);flex-direction:column;justify-content:center;display:flex;position:fixed}.corner__title{color:var(--ink);font-size:inherit;margin:0;font-weight:600}.corner__badge{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--dim);letter-spacing:.04em;vertical-align:1px;white-space:nowrap;margin-left:4px;padding:1px 7px;font-size:11px;font-weight:400}.corner__link{color:var(--dim);letter-spacing:.03em;font-size:14px;text-decoration:none}.corner__link:focus-visible,.corner__link:hover{color:var(--ink);text-decoration:underline}.sky-hint{bottom:max(28px,env(safe-area-inset-bottom));color:var(--dim);font:15px/1.4 var(--font-sans);left:var(--gutter);letter-spacing:.03em;pointer-events:none;right:var(--gutter);text-align:center;transition:opacity var(--fade-hint);z-index:var(--layer-chrome);margin:0;position:fixed}.sky-hint--hidden{opacity:0}.mark{box-sizing:border-box;vertical-align:-2px;border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.mark--green{background:var(--mark-green)}.mark--amber{border:2px dashed var(--mark-amber)}.mark--gray{background:var(--mark-gray);transform:scale(.72)}.mark-legend{margin:0 0 10px;padding:0;list-style:none}.mark-legend__item{align-items:center;gap:10px;display:flex}.mark-legend__arrow{fill:none;height:14px;stroke:var(--mark-amber);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:none;width:14px}.site{background:radial-gradient(120% 50% at 50% 0,#ffc8780f,transparent 70%),var(--bg);box-sizing:border-box;font:16px/1.6 var(--font-sans);min-height:100vh;padding:var(--safe-top) var(--gutter) var(--safe-bottom);flex-direction:column;display:flex}.site-header{max-width:var(--width-page);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;width:100%;margin:0 auto;display:flex}.site-header__name{color:var(--sunlight);letter-spacing:.02em;font-weight:600;text-decoration:none}.site-header__nav{flex-wrap:wrap;gap:4px 16px;display:flex}.site-footer__link,.site-header__link{color:var(--dim);letter-spacing:.03em;font-size:14px;text-decoration:none}.site-footer__link:focus-visible,.site-footer__link:hover,.site-header__link:focus-visible,.site-header__link:hover,.site-header__name:focus-visible,.site-header__name:hover{color:var(--ink);text-decoration:underline}.site-header__link[aria-current=page]{color:var(--ink)}.site-main{flex:1;margin:24px auto}.site-footer,.site-main{max-width:var(--width-page);width:100%}.site-footer{color:var(--dim);text-align:center;margin:0 auto;font-size:13px}.site-footer p{margin:0}.prose{padding:24px 24px 14px}.prose h1{margin:0 0 14px;font-size:26px;line-height:1.25}.prose h1,.prose h2{color:var(--sunlight);font-weight:600}.prose h2{margin:26px 0 8px;font-size:19px}.prose h3{margin:18px 0 6px;font-size:16px;font-weight:600}.prose a{color:var(--ink)}.prose ol,.prose ul{margin:0 0 10px;padding-left:22px}.prose li{margin-bottom:4px}.prose__lead{color:var(--dim);font-size:17px}.prose__actions{flex-wrap:wrap;gap:8px;margin:16px 0 10px;display:flex}
