@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/cdf703449fd42bc8-s.103uf.8aa8pr3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/3f10656f33c57dec-s.0m4wt3xm5i890.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/56eb15be423b6220-s.0zqusx.h7vgvl.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/96074e70a40501da-s.0fw52gc_mc5b0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/de161955856a921d-s.p.04z8pihzuh7s1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Press Start 2P Fallback";src:local(Arial);ascent-override:44.58%;descent-override:0.0%;line-gap-override:0.0%;size-adjust:224.32%}.press_start_2p_34318281-module__xd_i7q__className{font-family:"Press Start 2P","Press Start 2P Fallback";font-style:normal;font-weight:400}.press_start_2p_34318281-module__xd_i7q__variable{--font-pixel:"Press Start 2P", "Press Start 2P Fallback"}
@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/42b07301cbfb88de-s.00h2pk9.eev0o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/674d141a92451548-s.0utf7qfb0khyu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c8c4ded07fff55c-s.p.0wf336i9wr3zj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:VT323 Fallback;src:local(Arial);ascent-override:89.16%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:89.73%}.vt323_28100766-module__CKL47a__className{font-family:VT323,VT323 Fallback;font-style:normal;font-weight:400}.vt323_28100766-module__CKL47a__variable{--font-vt:"VT323", "VT323 Fallback"}
:root{--sky-top:#4a6d99;--sky-mid:#c98563;--sky-low:#f3c98c;--sky-glow:#ffe0a8;--far-hill:#3d4f6e;--near-hill:#2a3650;--sun:#ffd87a;--sun-core:#fff2c8;--cloud:#f8e8d2;--cloud-shadow:#d8b18a;--pigeon-light:#f5efe5;--pigeon-mid:#9aa1a8;--pigeon-dark:#5b6168;--pigeon-deep:#353a40;--pigeon-belly:#cdd1d5;--beak:#f59a3a;--beak-shadow:#c87420;--eye:#1a1a1a;--pigeon-pink:#e2b4ad;--branch:#4a2d18;--branch-light:#6b4226;--branch-shade:#2d1808;--leaf:#3e6238;--leaf-light:#6a9f5b;--leaf-dark:#243f25;--parchment:#f3e3b6;--parchment-edge:#d8c084;--parchment-shadow:#b89c5c;--rod:#7d4a22;--rod-light:#a86a36;--rod-dark:#4a2b10;--cap:#d8a558;--cap-dark:#8a5e26;--ink:#2a1a08;--seal:#a8312a;--shadow:#1a1413;--white:#fff}*,:before,:after{box-sizing:border-box;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-pixel), "Press Start 2P", monospace;color:var(--shadow);-webkit-font-smoothing:none;background:#000;overflow:hidden}.stage{background:linear-gradient(180deg, var(--sky-top) 0%, #7a7898 28%, var(--sky-mid) 58%, var(--sky-low) 82%, var(--sky-glow) 100%);cursor:default;position:fixed;inset:0;overflow:hidden}.sun{background:var(--sun);width:84px;height:84px;box-shadow:0 0 0 5px var(--sun-core) inset, 0 0 80px 24px #ffd87a8c, 0 0 160px 60px #ffc8784d;clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%);z-index:0;border-radius:0;position:absolute;top:14%;right:16%}.cloud{will-change:transform;pointer-events:none;position:absolute}.cloud .px{background:var(--cloud);image-rendering:pixelated;position:absolute}.cloud .sh{background:var(--cloud-shadow);position:absolute}.horizon-haze{pointer-events:none;z-index:1;background:linear-gradient(#ffd2a000 0%,#ffd2a073 60%,#ffd2a0d9 100%);height:80px;position:absolute;bottom:22%;left:0;right:0}.hills{pointer-events:none;z-index:2;height:22%;position:absolute;bottom:18%;left:0;right:0}.hills svg{width:100%;height:100%;display:block}.ground{pointer-events:none;z-index:3;border-top:4px solid var(--shadow);background:linear-gradient(#6e4d2a 0%,#5a3a1c 22%,#3d2710 100%);height:22%;position:absolute;bottom:0;left:0;right:0}.ground:before{content:"";background:repeating-linear-gradient(90deg,#6e4d2a 0 22px,#8a6033 22px 38px,#4f3318 38px 52px,#6e4d2a 52px 70px);height:18px;position:absolute;top:0;left:0;right:0}.ground:after{content:"";background-image:repeating-linear-gradient(90deg,#0000 0 32px,#345a35 32px 36px,#0000 36px 64px,#4a7c4a 64px 72px,#0000 72px 96px,#345a35 96px 102px,#0000 102px 140px);height:8px;position:absolute;top:-6px;left:0;right:0}.branch-wrap{pointer-events:none;z-index:4;height:200px;position:absolute;bottom:38%;left:0;right:0}.branch-wrap svg{width:100%;height:100%;display:block;overflow:visible}.pigeon{transform-origin:50% 80%;pointer-events:none;z-index:5;will-change:transform;width:192px;height:168px;position:absolute;top:0;left:0}.pigeon svg{width:100%;height:100%;display:block;overflow:visible}.pigeon .layer{transition:opacity;position:absolute;inset:0}.pigeon .layer svg{position:absolute;inset:0}.pigeon .wing-up,.pigeon .wing-down,.pigeon .wing-perch{opacity:0}.pigeon.flying .wing-up{animation:.32s step-end infinite flapA}.pigeon.flying .wing-down{animation:.32s step-end infinite flapB}@keyframes flapA{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes flapB{0%,49%{opacity:0}50%,to{opacity:1}}.pigeon.perched .wing-perch{opacity:1}.pigeon-shadow{pointer-events:none;filter:blur(2px);z-index:4;opacity:0;background:#140f0c52;border-radius:50%;width:110px;height:14px;position:absolute;transform:translate(-50%,-50%)}.speech{z-index:10;pointer-events:none;opacity:0;transform-origin:0 100%;width:380px;position:absolute;transform:scale(.2)}.speech .bubble{background:var(--white);border:4px solid var(--shadow);box-shadow:6px 6px 0 0 var(--shadow), 0 0 0 4px var(--white) inset, 0 0 0 5px #0000000a inset;font-family:var(--font-pixel), "Press Start 2P", monospace;color:var(--shadow);min-height:90px;padding:22px 26px 20px;font-size:13px;line-height:1.7;position:relative}.speech .bubble .caret{background:var(--shadow);width:10px;height:14px;margin-left:2px;animation:.6s step-end infinite blink;display:inline-block;transform:translateY(2px)}.speech .bubble .speech-text-row{display:block}@keyframes blink{50%{opacity:0}}.speech .tail{pointer-events:none;width:40px;height:36px;position:absolute;bottom:-32px;left:-4px}.speech .tail svg{width:100%;height:100%;display:block}.actions{pointer-events:auto;opacity:0;gap:12px;margin-top:18px;display:flex;transform:translateY(6px)}.btn{font-family:var(--font-pixel), "Press Start 2P", monospace;border:4px solid var(--shadow);background:var(--white);color:var(--shadow);cursor:pointer;box-shadow:4px 4px 0 0 var(--shadow);image-rendering:pixelated;letter-spacing:1px;padding:12px 16px;font-size:12px;transition:transform 80ms,box-shadow 80ms,background .12s}.btn:hover{box-shadow:3px 3px 0 0 var(--shadow);background:#fff7d8;transform:translate(1px,1px)}.btn:active{box-shadow:0 0 0 0 var(--shadow);transform:translate(4px,4px)}.btn.primary{background:#ffd866}.btn.primary:hover{background:#ffe79a}.scroll-stage{pointer-events:none;z-index:15;opacity:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scroll-stage .veil{opacity:0;background:#0a05028c;position:absolute;inset:0}.scroll{opacity:0;flex-direction:column;align-items:center;width:600px;max-width:90vw;display:flex;position:relative;transform:scale(.4)}.rod{z-index:3;width:100%;max-width:640px;height:38px;position:relative}.rod .core{background:linear-gradient(to bottom, var(--rod-light) 0%, var(--rod-light) 22%, var(--rod) 23%, var(--rod) 70%, var(--rod-dark) 71%, var(--rod-dark) 100%);border-top:4px solid var(--shadow);border-bottom:4px solid var(--shadow);position:absolute;inset:0 24px}.rod .cap{background:linear-gradient(to bottom, var(--cap) 0%, var(--cap) 30%, var(--cap-dark) 31%, var(--cap-dark) 100%);border:4px solid var(--shadow);width:36px;position:absolute;top:-6px;bottom:-6px}.rod .cap.l{left:0}.rod .cap.r{right:0}.paper{background:repeating-linear-gradient(to bottom, var(--parchment) 0px, var(--parchment) 2px, #ecd9a6 2px, #ecd9a6 4px);background-color:var(--parchment);border-left:4px solid var(--shadow);border-right:4px solid var(--shadow);width:540px;max-width:calc(100% - 28px);box-shadow:inset 0 0 0 4px var(--parchment-edge), inset 18px 0 24px -16px #0000002e, inset -18px 0 24px -16px #0000002e;z-index:2;pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--rod) var(--parchment-edge);height:0;max-height:calc(100vh - 220px);padding:0 50px;position:relative;overflow-y:hidden}.paper.scrollable{overflow-y:auto}.paper::-webkit-scrollbar{width:12px}.paper::-webkit-scrollbar-track{background:var(--parchment-edge);border-left:2px solid var(--shadow)}.paper::-webkit-scrollbar-thumb{background:var(--rod);border:2px solid var(--shadow)}.paper::-webkit-scrollbar-thumb:hover{background:var(--rod-light)}.paper-inner{font-family:var(--font-vt), "VT323", monospace;color:var(--ink);white-space:pre-wrap;text-wrap:pretty;opacity:0;min-height:240px;padding:40px 0 36px;font-size:28px;line-height:1.45;position:relative}.paper-inner .seal{background:var(--seal);width:76px;height:76px;box-shadow:0 0 0 4px var(--shadow), inset 0 0 0 8px #841f1a, inset 0 0 0 14px var(--seal);font-family:var(--font-pixel), "Press Start 2P", monospace;letter-spacing:1px;color:#fde9a6;text-shadow:1px 1px #5a1612;opacity:0;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;bottom:18px;right:0;transform:rotate(-8deg)scale(0)}.paper-inner .typer .caret{background:var(--ink);width:10px;height:22px;margin-left:2px;animation:.6s step-end infinite blink;display:inline-block;transform:translateY(4px)}.close-btn{border:4px solid var(--shadow);background:var(--white);width:44px;height:44px;color:var(--shadow);font-family:var(--font-pixel), "Press Start 2P", monospace;cursor:pointer;pointer-events:auto;z-index:10;box-shadow:4px 4px 0 0 var(--shadow);opacity:0;font-size:14px;position:absolute;top:-22px;right:-22px}.close-btn:hover{background:#ffd866}.close-btn:active{box-shadow:0 0 0 var(--shadow);transform:translate(4px,4px)}.tweaks{background:var(--white);border:4px solid var(--shadow);width:280px;box-shadow:6px 6px 0 0 var(--shadow);z-index:9999;font-family:var(--font-pixel), "Press Start 2P", monospace;color:var(--shadow);padding:18px;font-size:10px;display:none;position:fixed;bottom:20px;right:20px}.tweaks.visible{display:block}.tweaks h3{border-bottom:2px solid var(--shadow);margin-bottom:12px;padding-bottom:8px;font-size:12px}.tweaks .row{margin-bottom:12px}.tweaks label{color:#555;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:9px;display:block}.tweaks textarea,.tweaks input{width:100%;font-family:var(--font-vt), "VT323", monospace;border:2px solid var(--shadow);resize:vertical;color:var(--ink);background:#fdf8ec;padding:6px 8px;font-size:16px}.tweaks textarea{min-height:90px}.tweaks .pill-row{flex-wrap:wrap;gap:6px;display:flex}.tweaks .pill{font-family:var(--font-pixel), "Press Start 2P", monospace;border:2px solid var(--shadow);cursor:pointer;background:#fdf8ec;padding:6px 8px;font-size:9px}.tweaks .pill.active{background:#ffd866}.tweaks .close-x{border:2px solid var(--shadow);background:var(--white);cursor:pointer;width:24px;height:24px;font-size:10px;line-height:1;position:absolute;top:-2px;right:-2px}.tweaks-replay{width:100%;font-family:var(--font-pixel), "Press Start 2P", monospace;border:2px solid var(--shadow);cursor:pointer;background:#ffd866;margin-top:6px;padding:8px;font-size:10px}.hint{font-family:var(--font-pixel), "Press Start 2P", monospace;color:#ffffffb3;text-shadow:2px 2px #0006;letter-spacing:2px;z-index:20;pointer-events:none;font-size:10px;animation:2s ease-in-out infinite bob;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-4px)}}.stage.theme-dusk{background:linear-gradient(#4a6d99 0%,#7a7898 28%,#c98563 58%,#f3c98c 82%,#ffe0a8 100%)}.stage.theme-day{background:linear-gradient(#4ea7d4 0%,#88c8ec 45%,#b8dff0 82%,#d8eef7 100%)}.stage.theme-day .horizon-haze{background:linear-gradient(#dcebf500 0%,#dcebf599 100%)}.stage.theme-dawn{background:linear-gradient(#2c3658 0%,#6a4a78 32%,#d68aa3 65%,#ffd0a0 90%,#ffe6b6 100%)}.stage.theme-night{background:linear-gradient(#0d1432 0%,#1d2150 35%,#322758 70%,#4a2a4e 100%)}.stage.theme-night .horizon-haze{background:linear-gradient(#503c6e00 0%,#503c6e8c 100%)}.stage.theme-night .cloud .px{background:#6e6a8a}.stage.theme-night .cloud .sh{background:#4a4670}.stage.theme-night .ground{background:linear-gradient(#2a1d3a 0%,#1a1228 100%)}.stage.theme-night .ground:before{filter:brightness(.5)hue-rotate(220deg)}.stage.theme-night .sun{clip-path:circle(46% at 60% 40%);background:#e8e8f0;box-shadow:inset 0 0 0 6px #fff,0 0 70px 22px #dcdcff80,0 0 140px 50px #b4b4e640}.stage.theme-night:before{content:"";pointer-events:none;opacity:.85;z-index:0;background-image:radial-gradient(1px 1px at 12% 10%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 22% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 34% 8%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 48% 14%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 60% 6%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 78% 20%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 88% 8%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 92% 16%,#fff 50%,#0000 51%);position:absolute;inset:0}.stage.theme-dawn .cloud .px{background:#f6d0c4}.stage.theme-dawn .cloud .sh{background:#c89faa}.stage.theme-day .cloud .px{background:#fff}.stage.theme-day .cloud .sh{background:#c8d8e6}html.admin-mode,body.admin-mode{overflow:auto}.gate-page{background:linear-gradient(#4a6d99 0%,#7a7898 28%,#c98563 58%,#f3c98c 82%,#ffe0a8 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:32px 20px;display:flex}.gate-card{background:var(--parchment);border:4px solid var(--shadow);width:100%;max-width:420px;box-shadow:8px 8px 0 0 var(--shadow);text-align:center;flex-direction:column;gap:14px;padding:32px 28px;display:flex}.gate-title{font-family:var(--font-pixel), monospace;letter-spacing:2px;color:var(--ink);margin-bottom:4px;font-size:16px}.gate-subtitle{font-family:var(--font-vt), monospace;color:#5a3d1c;margin-bottom:16px;font-size:18px}.gate-label{font-family:var(--font-pixel), monospace;text-transform:uppercase;letter-spacing:1px;color:#5a3d1c;text-align:left;font-size:10px}.gate-error{font-family:var(--font-vt), monospace;color:#8b1c1c;margin-top:4px;font-size:18px}.gate-submit{margin-top:8px}.admin-page{background:linear-gradient(#4a6d99 0%,#7a7898 28%,#c98563 58%,#f3c98c 82%,#ffe0a8 100%) fixed;width:100%;min-height:100vh;padding:32px 20px 80px;position:static;overflow-y:auto}.admin-shell{flex-direction:column;gap:24px;max-width:880px;margin:0 auto;display:flex}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-title{font-family:var(--font-pixel), monospace;color:var(--shadow);letter-spacing:2px;text-shadow:2px 2px #fff6;font-size:18px}.admin-logout{padding:8px 12px;font-size:10px}.admin-compose-link{justify-content:center;align-self:flex-start;align-items:center;text-decoration:none;display:inline-flex}.admin-section{font-family:var(--font-pixel), monospace;letter-spacing:2px;color:var(--shadow);border-bottom:4px solid var(--shadow);text-shadow:1px 1px #ffffff4d;padding-bottom:8px;font-size:12px}.admin-empty{font-family:var(--font-vt), monospace;color:var(--ink);border:3px solid var(--shadow);text-align:center;background:#f3e3b68c;padding:18px;font-size:20px}.admin-error{font-family:var(--font-vt), monospace;color:#fff;border:3px solid var(--shadow);background:#8b1c1c;padding:12px 14px;font-size:18px}.letter-grid{grid-template-columns:1fr;gap:14px;display:grid}.letter-item{color:inherit;background:var(--parchment);border:4px solid var(--shadow);box-shadow:6px 6px 0 0 var(--shadow);padding:16px 18px;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:block}.letter-item:hover{box-shadow:4px 4px 0 0 var(--shadow);background:#f8eccf;transform:translate(2px,2px)}.letter-item-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.letter-slug{font-family:var(--font-pixel), monospace;color:var(--ink);letter-spacing:1px;font-size:12px}.letter-reply-count{font-family:var(--font-pixel), monospace;color:var(--shadow);border:2px solid var(--shadow);letter-spacing:1px;background:#ffd866;padding:4px 8px;font-size:9px}.letter-preview{font-family:var(--font-vt), monospace;color:var(--ink);white-space:pre-wrap;word-break:break-word;max-height:60px;margin-bottom:8px;font-size:18px;line-height:1.3;overflow:hidden}.letter-meta{font-family:var(--font-pixel), monospace;color:#5a3d1c;letter-spacing:1px;justify-content:space-between;align-items:center;gap:8px;font-size:9px;display:flex}.letter-theme{border:2px solid var(--shadow);background:#fdf8ec;padding:3px 6px}.theme-pill-dusk{background:#f3c98c}.theme-pill-dawn{background:#ffd0a0}.theme-pill-day{background:#b8dff0}.theme-pill-night{color:#fff;background:#322758}.letter-date{font-family:var(--font-vt), monospace;letter-spacing:0;font-size:16px}.compose-form{background:var(--parchment);border:4px solid var(--shadow);box-shadow:8px 8px 0 0 var(--shadow);flex-direction:column;gap:8px;padding:22px 24px;display:flex}.field-label{font-family:var(--font-pixel), monospace;letter-spacing:1px;color:var(--ink);margin-top:8px;font-size:11px}.field-hint{font-family:var(--font-vt), monospace;color:#5a3d1c;margin-bottom:6px;font-size:16px}.pixel-input{width:100%;font-family:var(--font-vt), monospace;border:3px solid var(--shadow);color:var(--ink);background:#fdf8ec;padding:10px 12px;font-size:20px}.pixel-input:focus{background:#fffbe8;outline:none}.pixel-textarea{width:100%;font-family:var(--font-vt), monospace;border:3px solid var(--shadow);color:var(--ink);resize:vertical;background:#fdf8ec;padding:12px 14px;font-size:20px;line-height:1.4}.pixel-textarea:focus{background:#fffbe8;outline:none}.compose-dialogue{min-height:110px}.compose-letter{min-height:240px}.compose-submit{align-self:flex-end;margin-top:12px;padding:14px 22px;font-size:14px}.compose-form .pill-row{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.compose-form .pill{font-family:var(--font-pixel), monospace;letter-spacing:1px;border:4px solid var(--shadow);background:var(--white);color:var(--shadow);cursor:pointer;box-shadow:4px 4px 0 0 var(--shadow);align-items:center;gap:8px;padding:10px 14px;font-size:11px;transition:transform 80ms,box-shadow 80ms,background .12s;display:inline-flex;position:relative}.compose-form .pill:before{content:"";border:2px solid var(--shadow);background:var(--swatch,var(--white));flex-shrink:0;width:14px;height:14px;display:inline-block}.compose-form .pill[data-theme-pill=day]{--swatch:linear-gradient(180deg, #4ea7d4, #b8dff0)}.compose-form .pill[data-theme-pill=dusk]{--swatch:linear-gradient(180deg, #7a7898, #f3c98c)}.compose-form .pill[data-theme-pill=dawn]{--swatch:linear-gradient(180deg, #6a4a78, #ffd0a0)}.compose-form .pill[data-theme-pill=night]{--swatch:linear-gradient(180deg, #0d1432, #4a2a4e)}.compose-form .pill:before{background:var(--swatch)}.compose-form .pill:hover{box-shadow:3px 3px 0 0 var(--shadow);background:#fff7d8;transform:translate(1px,1px)}.compose-form .pill:active{box-shadow:0 0 0 0 var(--shadow);transform:translate(4px,4px)}.compose-form .pill.active{box-shadow:2px 2px 0 0 var(--shadow);background:#ffd866;transform:translate(2px,2px)}.slug-row{border:3px solid var(--shadow);background:#fdf8ec;align-items:stretch;gap:0;display:flex}.slug-prefix{font-family:var(--font-pixel), monospace;letter-spacing:1px;color:#5a3d1c;border-right:3px solid var(--shadow);white-space:nowrap;background:#ecd9a6;align-items:center;padding:0 12px;font-size:11px;display:flex}.slug-input{border:none;flex:1;min-width:0}.slug-input:focus{background:#fffbe8}.slug-reroll{border:none;border-left:3px solid var(--shadow);box-shadow:none;letter-spacing:1px;background:#ffd866;border-radius:0;padding:0 14px;font-size:10px}.slug-reroll:hover{box-shadow:none;background:#ffe79a;transform:none}.slug-reroll:active{box-shadow:none;transform:translate(1px,1px)}.sent-card{background:var(--parchment);border:4px solid var(--shadow);box-shadow:8px 8px 0 0 var(--shadow);text-align:center;flex-direction:column;gap:16px;padding:32px 28px;display:flex}.sent-title{font-family:var(--font-pixel), monospace;letter-spacing:2px;color:var(--ink);font-size:14px}.sent-sub{font-family:var(--font-vt), monospace;color:#5a3d1c;font-size:20px}.url-display{border:3px solid var(--shadow);background:#fdf8ec;align-items:stretch;gap:0;display:flex}.url-text{font-family:var(--font-vt), monospace;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;padding:10px 14px;font-size:20px;overflow:hidden}.copy-btn{border:none;border-left:3px solid var(--shadow);box-shadow:none;background:#ffd866;border-radius:0;padding:0 16px;font-size:10px}.copy-btn:hover{box-shadow:none;background:#ffe79a;transform:none}.copy-btn:active{box-shadow:none;transform:translate(1px,1px)}.sent-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.sent-actions .btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.detail-section{background:var(--parchment);border:4px solid var(--shadow);box-shadow:6px 6px 0 0 var(--shadow);flex-direction:column;gap:10px;padding:18px 22px;display:flex}.detail-meta{font-family:var(--font-vt), monospace;color:var(--ink);flex-wrap:wrap;align-items:center;gap:12px;font-size:18px;display:flex}.detail-text{font-family:var(--font-vt), monospace;color:var(--ink);white-space:pre-wrap;word-break:break-word;border:3px solid var(--shadow);background:#fdf8ec;padding:14px 16px;font-size:20px;line-height:1.4}.detail-letter{max-height:360px;font-size:22px;line-height:1.45;overflow-y:auto}.reply-grid{flex-direction:column;gap:12px;display:flex}.reply-card{border:3px solid var(--shadow);background:#fdf8ec;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.reply-head{font-family:var(--font-pixel), monospace;color:#5a3d1c;letter-spacing:1px;justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.reply-name{color:var(--shadow);font-size:11px}.reply-date{font-family:var(--font-vt), monospace;letter-spacing:0;font-size:16px}.reply-card .reply-body{font-family:var(--font-vt), monospace;color:var(--ink);white-space:pre-wrap;word-break:break-word;font-size:20px;line-height:1.4}.reply-stage{z-index:20;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.reply-veil{cursor:pointer;background:#0a05028c;position:absolute;inset:0}.reply-form{z-index:1;flex-direction:column;align-items:center;width:600px;max-width:92vw;display:flex;position:relative}.reply-paper{background:repeating-linear-gradient(to bottom, var(--parchment) 0px, var(--parchment) 2px, #ecd9a6 2px, #ecd9a6 4px);background-color:var(--parchment);border-left:4px solid var(--shadow);border-right:4px solid var(--shadow);width:540px;max-width:calc(100% - 28px);box-shadow:inset 0 0 0 4px var(--parchment-edge), inset 18px 0 24px -16px #0000002e, inset -18px 0 24px -16px #0000002e;max-height:calc(100vh - 220px);padding:28px 36px;overflow-y:auto}.reply-inner{flex-direction:column;gap:12px;display:flex}.reply-label{font-family:var(--font-pixel), monospace;letter-spacing:1px;color:var(--ink);font-size:11px}.reply-form .reply-body{font-family:var(--font-vt), monospace;border:3px solid var(--shadow);color:var(--ink);resize:vertical;background:#fdf8ec;min-height:160px;padding:12px 14px;font-size:22px;line-height:1.4}.reply-form .reply-body:focus{background:#fffbe8;outline:none}.reply-name-input{font-family:var(--font-vt), monospace;border:3px solid var(--shadow);color:var(--ink);background:#fdf8ec;padding:8px 12px;font-size:20px}.reply-name-input:focus{background:#fffbe8;outline:none}.reply-error{font-family:var(--font-vt), monospace;color:#fff;border:3px solid var(--shadow);background:#8b1c1c;padding:10px 12px;font-size:18px}.reply-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}@media (max-width:640px){.speech.speech-mobile{transform-origin:50% 100%;width:92vw;max-width:92vw}.speech.speech-mobile .bubble{min-height:72px;padding:16px 18px 14px;font-size:11px;line-height:1.6}.speech.speech-mobile .tail{bottom:-28px;left:50%;transform:translate(-50%)}.speech.speech-mobile .actions{flex-wrap:wrap;gap:8px;margin-top:14px}.speech.speech-mobile .btn{padding:10px 12px;font-size:10px}.pigeon{width:140px;height:122px}.pigeon-shadow{width:86px}.scroll{width:100%;max-width:94vw}.paper{max-height:calc(100dvh - 200px);padding:0 22px}.paper-inner{padding:28px 0;font-size:22px}.paper-inner .seal{width:60px;height:60px;font-size:9px}.close-btn{width:36px;height:36px;font-size:12px;top:-12px;right:-12px}.reply-stage{padding:14px}.reply-form{max-width:96vw}.reply-paper{width:100%;max-width:100%;max-height:calc(100dvh - 180px);padding:20px 18px}.reply-form .reply-body{min-height:120px;font-size:18px}.reply-name-input{font-size:16px}.reply-actions{flex-wrap:wrap}.tweaks{display:none!important}.admin-page{padding:16px 12px}.admin-shell{gap:16px}.admin-title{letter-spacing:1px;font-size:14px}.admin-header{flex-wrap:wrap;gap:10px}.compose-form{padding:16px 14px}.compose-form .pill{padding:8px 10px;font-size:10px}.compose-dialogue{min-height:90px}.compose-letter{min-height:180px}.pixel-input,.pixel-textarea{font-size:17px}.slug-row{flex-wrap:wrap}.slug-input{flex:60%;min-width:0}.url-display{flex-wrap:wrap}.url-text{word-break:break-all}.letter-item{padding:12px 14px}.letter-slug{font-size:11px}.hint{letter-spacing:1px;font-size:9px;bottom:12px}}
