:root{--brass:#c9a15a;--brass-bright:#e3bd7a;--rust:#b5533c;--parchment:#ece4d3;--parchment-dim:#a9a597;--ink-navy-deep:#0b0e1a;--ink-navy:#10152a;--panel:#151b33;--panel-line:#c9a15a2e;--star-blue:#7c8fc4;--font-display:"Spectral", Georgia, serif;--font-mono:"IBM Plex Mono", "Courier New", monospace;--radius-plate:2px;--shadow-plate:0 30px 60px -20px #0009;--ease-snap:cubic-bezier(.2, .6, .3, 1);--ease-settle:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body{background:var(--ink-navy-deep);color:var(--parchment);font-family:var(--font-mono);min-height:100%;margin:0;padding:0}body{position:relative;overflow-x:hidden}::selection{background:var(--brass);color:var(--ink-navy-deep)}a{color:var(--brass-bright);text-underline-offset:3px;text-decoration-color:#e3bd7a59;transition:text-decoration-color .2s}a:hover{-webkit-text-decoration-color:var(--brass-bright);text-decoration-color:var(--brass-bright)}.hidden{display:none!important}#starfield{z-index:0;pointer-events:none;position:fixed;inset:0}.grain{z-index:1;pointer-events:none;opacity:.035;position:fixed;inset:0}header,main,footer{z-index:2;position:relative}.masthead{border-bottom:1px solid var(--panel-line);padding:30px clamp(20px,5vw,56px) 21px}.masthead-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;max-width:1120px;margin:0 auto;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{color:var(--brass);font-size:26px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),color .3s;display:inline-block;transform:translateY(-2px)}.brand:hover .brand-mark{color:var(--brass-bright);transform:translateY(-2px)rotate(25deg)}.brand-text h1{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-size:clamp(24px,3vw,32px);font-weight:600}.brand-text p{color:var(--parchment-dim);letter-spacing:.02em;margin:4px 0 0;font-size:12.5px}main{max-width:1120px;margin:0 auto;padding:34px clamp(20px,5vw,56px) 60px}.brass-btn{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--brass);background:linear-gradient(180deg, var(--brass-bright), var(--brass));color:var(--ink-navy-deep);cursor:pointer;border-radius:3px;padding:10px 18px;font-size:12.5px;font-weight:600;transition:transform .18s cubic-bezier(.2,.6,.3,1),box-shadow .18s;position:relative;overflow:hidden}#today-btn{border-radius:3px 4px 3px 3px}#random-btn{border-radius:4px 3px}#save-btn{border-radius:3px 3px 4px 4px}#retry-btn{border-radius:4px 4px 3px}.brass-btn:after{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#0b0e1a47 0%,#0000 65%);width:140%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.brass-btn:active:after{transition:transform .35s cubic-bezier(.16,1,.3,1);transform:translate(-50%,-50%)scale(1)}.brass-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px -6px #c9a15a80}.brass-btn--outline{color:var(--brass-bright);background:0 0}.ghost-btn{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--panel-line);color:var(--parchment-dim);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:6px;padding:9px 14px;font-size:12px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.ghost-btn:hover{border-color:var(--brass);color:var(--brass-bright);background-color:#c9a15a0f}.tick-btn{border:1px solid var(--panel-line);background:var(--panel);width:38px;height:38px;color:var(--parchment);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:15px;transition:border-color .15s,color .15s,transform .15s}.tick-btn:hover{border-color:var(--brass);color:var(--brass-bright)}.tick-btn:active{transform:scale(.92)}.control-strip{border-bottom:1px dashed var(--panel-line);flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:30px;padding-bottom:26px;display:flex}.date-field{flex-direction:column;gap:6px;display:flex}.date-field label{text-transform:uppercase;letter-spacing:.08em;color:var(--parchment-dim);font-size:10.5px}.date-field input[type=date]{font-family:var(--font-mono);background:var(--panel);border:1px solid var(--panel-line);color:var(--parchment);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:3px;padding:8px 10px;font-size:14px;transition:border-color .15s}.date-field input[type=date]:hover{border-color:#c9a15a66}.date-field input[type=date]:focus-visible,.brass-btn:focus-visible,.ghost-btn:focus-visible,.tick-btn:focus-visible{outline:2px solid var(--brass-bright);outline-offset:2px}.plate-wrap{min-height:320px;position:relative}.loading-state,.error-state{color:var(--parchment-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:90px 20px;display:flex}.spinner{width:30px;height:30px;position:relative}.spinner:after{content:"";background:var(--brass);border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}.spinner:before{content:"";background:var(--brass-bright);transform-origin:2.5px 15px;border-radius:50%;width:5px;height:5px;margin-left:-2.5px;animation:1.1s cubic-bezier(.5,0,.5,1) infinite orbit;position:absolute;top:0;left:50%;box-shadow:0 0 6px 1px #e3bd7a80}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.plate{grid-template-columns:1.15fr .85fr;gap:34px;animation:.55s cubic-bezier(.16,1,.3,1) both rise;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.plate{grid-template-columns:1fr}}.plate-frame{background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--radius-plate);box-shadow:var(--shadow-plate);background-image:radial-gradient(circle at 88% 8%,#c9a15a0d,#0000 55%);padding:14px;position:relative}.plate-frame:after{content:"✦ field log";font-family:var(--font-display);letter-spacing:.02em;color:#7a3226;background:var(--parchment);pointer-events:none;opacity:.92;border-radius:1px;padding:1px 8px;font-size:11px;font-style:italic;position:absolute;bottom:-9px;left:22px;transform:rotate(-3.5deg);box-shadow:0 1px 3px #00000059}.corner{border:1px solid var(--brass);opacity:.65;width:13px;height:13px;transition:opacity .3s,width .3s,height .3s;position:absolute}.plate-frame:hover .corner{opacity:.9;width:15px;height:15px}.corner-top-left{border-bottom:none;border-right:none;top:6px;left:6px}.corner-top-right{border-bottom:none;border-left:none;top:6px;right:6px}.corner-bottom-left{border-top:none;border-right:none;bottom:6px;left:6px}.corner-bottom-right{border-top:none;border-left:none;bottom:6px;right:6px}.media-box{aspect-ratio:4/3;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'><circle cx='14' cy='14' r='9' fill='none' stroke='white' stroke-width='1.2' opacity='0.85'/><line x1='14' y1='0' x2='14' y2='7' stroke='white' stroke-width='1.2'/><line x1='14' y1='21' x2='14' y2='28' stroke='white' stroke-width='1.2'/><line x1='0' y1='14' x2='7' y2='14' stroke='white' stroke-width='1.2'/><line x1='21' y1='14' x2='28' y2='14' stroke='white' stroke-width='1.2'/></svg>") 14 14,crosshair;background:#000;border-radius:1px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.media-box img,.media-box iframe{object-fit:cover;border:none;width:100%;height:100%;display:block}.expand-btn{border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:34px;height:34px;color:var(--parchment);cursor:pointer;background:#0b0e1abf;border-radius:50%;font-size:15px;transition:border-color .15s,color .15s,transform .2s;position:absolute;bottom:10px;right:10px}.expand-btn:hover{border-color:var(--brass);color:var(--brass-bright);transform:scale(1.06)}.plate-meta{border-top:1px dashed var(--panel-line);flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}.meta-row{justify-content:space-between;gap:10px;font-size:12px;display:flex}.meta-label{color:var(--parchment-dim);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.meta-mono{color:var(--star-blue);text-align:right}.plate-notes{flex-direction:column;padding-top:4px;display:flex}#apod-title{font-family:var(--font-display);color:var(--parchment);margin:0 0 16px;font-size:clamp(22px,2.6vw,30px);font-weight:600;line-height:1.25;position:relative}#apod-explanation{font-family:var(--font-display);color:#d8d2c2;margin:0 0 24px;font-size:16px;line-height:1.7}.plate-actions{flex-wrap:wrap;gap:12px;margin-top:auto;display:flex}.logbook-drawer{background:var(--ink-navy);border-left:1px solid var(--panel-line);width:min(380px,88vw);height:100%;transition:transform .35s var(--ease-settle);z-index:50;padding:26px 22px;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.logbook-drawer.open{transform:translate(0)}.drawer-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.drawer-head h2{font-family:var(--font-display);margin:0;font-size:20px}.drawer-hint{color:var(--parchment-dim);font-size:12.5px;line-height:1.6}.logbook-list{scrollbar-width:thin;scrollbar-color:var(--brass) transparent;flex-direction:column;gap:12px;margin:18px 0 0;padding:0;list-style:none;display:flex}.logbook-item{border:1px solid var(--panel-line);cursor:pointer;background:var(--panel);border-radius:3px;gap:12px;padding:10px;transition:border-color .25s,background-color .2s;display:flex}.logbook-item:hover{border-color:var(--brass);background-color:#c9a15a0a}.logbook-item img{object-fit:cover;border-radius:2px;flex-shrink:0;width:56px;height:56px}.logbook-item .logbook-item-info{flex:1;min-width:0}.logbook-item .logbook-item-title{font-family:var(--font-display);color:var(--parchment);margin:0 0 3px;font-size:14px}.logbook-item .logbook-item-date{color:var(--star-blue);font-size:10.5px}.logbook-item .logbook-item-remove{color:var(--parchment-dim);cursor:pointer;background:0 0;border:none;align-self:flex-start;font-size:14px;transition:color .15s,transform .15s}.logbook-item .logbook-item-remove:hover{color:var(--rust);transform:rotate(90deg)}.drawer-backdrop{z-index:40;background:#00000080;position:fixed;inset:0}.plate-actions .brass-btn.is-saved{background:linear-gradient(180deg, var(--rust), #8f3f2d);border-color:var(--rust);color:var(--parchment)}.lightbox{z-index:60;background:#061210eb;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.lightbox img{max-width:100%;max-height:100%;box-shadow:var(--shadow-plate);animation:.3s both rise}.lightbox-close{color:var(--parchment);cursor:pointer;background:0 0;border:none;font-size:20px;transition:transform .2s,color .15s;position:absolute;top:20px;right:26px}.lightbox-close:hover{color:var(--brass-bright);transform:rotate(90deg)}.site-foot{text-align:center;color:var(--parchment-dim);border-top:1px solid var(--panel-line);padding:24px 20px 40px;font-size:11.5px}@media (prefers-reduced-motion:reduce){.plate{animation:none}.spinner{animation-duration:1.6s}*{transition-duration:.01ms!important}}.on-this-day{border-bottom:1px dashed var(--panel-line);margin:-8px 0 32px;padding-bottom:26px}.on-this-day h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--parchment-dim);margin:0 0 12px;font-size:15px;font-weight:600}.past-years-strip{scrollbar-width:thin;scrollbar-color:var(--brass) transparent;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.past-year-card{cursor:pointer;border:1px solid var(--panel-line);background:var(--panel);width:150px;transition:border-color .2s ease, transform .2s var(--ease-snap);border-radius:3px;flex:none;overflow:hidden}.past-year-card:hover{border-color:var(--brass);transform:translateY(-3px)}.past-year-card:first-child{border-color:#c9a15a66}.past-year-card img{object-fit:cover;background:#000;width:100%;height:90px;display:block}.past-year-card .past-year-info{padding:8px 9px}.past-year-card .past-year-label{color:var(--brass-bright);letter-spacing:.06em;font-size:10px}.past-year-card .past-year-title{font-family:var(--font-display);color:var(--parchment);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:12.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.archive-view{z-index:55;background:var(--ink-navy-deep);padding:30px clamp(20px,5vw,56px) 60px;position:fixed;inset:0;overflow-y:auto}.archive-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;max-width:1120px;margin:0 auto;display:flex}.archive-month-nav{align-items:center;gap:14px;display:flex}.archive-month-nav h2{font-family:var(--font-display);text-align:center;min-width:200px;margin:0;font-size:22px}.archive-view .drawer-hint{max-width:1120px;margin:10px auto 20px}.archive-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;max-width:1120px;margin:0 auto;display:grid}.archive-card{cursor:pointer;border:1px solid var(--panel-line);background:var(--panel);transition:border-color .2s ease, transform .2s var(--ease-snap);border-radius:4px;overflow:hidden}.archive-card:hover{border-color:var(--brass);transform:translateY(-2px)scale(1.015)}.archive-card img{aspect-ratio:1;object-fit:cover;background:#000;width:100%;display:block}.archive-card .archive-card-info{padding:8px 9px 10px}.archive-card .archive-card-day{color:var(--brass-bright);letter-spacing:.06em;font-size:10px}.archive-card .archive-card-title{font-family:var(--font-display);color:var(--parchment);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:12.5px;line-height:1.3;display:-webkit-box;overflow:hidden}
