@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--bg:#050d19;--panel:rgba(11,24,43,.88);--line:rgba(177,198,231,.17);--text:#f1f4fa;--muted:#a9b6ca;--blue:#253c60;--gold:#e8c98d}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#14294a 0%,#071426 42%,#030811 100%);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden}
.stars{position:fixed;inset:0;pointer-events:none;opacity:.6;background-image:radial-gradient(1px 1px at 10% 18%,#fff 98%,transparent),radial-gradient(1px 1px at 82% 12%,#d8e7ff 98%,transparent),radial-gradient(1.5px 1.5px at 70% 36%,#fff 98%,transparent),radial-gradient(1px 1px at 25% 54%,#fff 98%,transparent),radial-gradient(1px 1px at 90% 72%,#d8e7ff 98%,transparent),radial-gradient(1px 1px at 45% 8%,#fff 98%,transparent);background-size:100% 100%}
.shell{position:relative;width:min(100% - 28px,680px);margin:0 auto;padding:36px 0 24px}.top{text-align:center;margin-bottom:26px}.moon{font-size:52px;color:var(--gold);line-height:1;text-shadow:0 0 32px #e8c98d66}.eyebrow{font-size:10px;letter-spacing:.22em;color:#b9c9e1;margin:13px 0 7px}.top h1{font:italic 500 clamp(32px,7vw,48px) 'Playfair Display',serif;margin:0}.subtitle{color:var(--muted);font:italic 15px 'Playfair Display',serif;margin:10px 0}
.card{background:linear-gradient(145deg,rgba(15,31,54,.94),rgba(5,14,27,.96));border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:0 24px 70px #0006;backdrop-filter:blur(12px);margin:18px 0}.envelope{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 15px;border:1px solid #d8c39b77;border-radius:18px;color:var(--gold);font-size:34px;background:linear-gradient(135deg,#263d5d,#101c31);transform:rotate(-3deg)}h2{font:italic 500 25px 'Playfair Display',serif;margin:8px 0 10px;text-align:center}h3{font:500 18px 'Playfair Display',serif}p{line-height:1.65}.muted{color:var(--muted);font-size:13px;text-align:center}.small{font-size:12px}.card form{display:grid;gap:10px;margin-top:20px}input,textarea{width:100%;padding:14px 15px;color:var(--text);background:#050d1a;border:1px solid #6c83a344;border-radius:12px;font:inherit;outline:none}input:focus,textarea:focus{border-color:#a9c3ef88}textarea{resize:vertical;line-height:1.65}label{font-size:12px;color:#c5d1e3;margin-top:4px}button{border:0;border-radius:12px;padding:14px 16px;background:linear-gradient(100deg,#d9bd84,#f0dbad);color:#18243a;font:700 14px 'DM Sans',sans-serif;cursor:pointer}button span{float:right}.secondary{background:#1b2c48;border:1px solid #879dc455;color:#f3e6c8;width:100%;margin-top:12px}.quiet{background:transparent;color:#c4d1e5;border:1px solid var(--line);padding:9px 12px}.error{color:#ffb7c1;font-size:12px;min-height:16px;margin:0}.hidden{display:none!important}.letter-card{background:linear-gradient(145deg,#f2e8d7,#dfd1bd);color:#1d2636;border-color:#f7ead7;box-shadow:0 25px 80px #0008}.letter-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.12em;color:#56647b}.tiny-moon{text-align:center;font-size:28px;color:#8b9ab1;margin:20px 0 6px}.letter-card h2{font-size:28px}.letter-body{white-space:pre-wrap;font:17px/1.9 'Playfair Display',serif;color:#283143;min-height:80px}.letter-card .muted{color:#67748a}.letter-card hr,.admin-card hr{border:0;border-top:1px solid #7c8ba533;margin:24px 0}.letter-card h3{margin-bottom:10px}.archive-item,.log-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #7c8ba522;font-size:13px}.archive-item button{padding:8px 10px;font-size:11px;background:#e5d5bd}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.admin-heading h2{text-align:left;margin:4px 0;font-size:24px}.admin-heading .eyebrow{margin:0}.admin-card .muted{text-align:left}.admin-card form{margin-top:18px}.logs .log-item{color:#cfdaeb}.log-time{color:var(--gold);white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{display:flex;justify-content:space-between;color:#7889a4;font-size:10px;letter-spacing:.05em;padding:18px 5px}@media(min-width:620px){.shell{padding-top:52px}.card{padding:32px}.top{margin-bottom:34px}}