:root{--paper:#f7f2e8;--paper-deep:#efe7d3;--ink:#1a1a1a;--sumi:#4a4a4a;--sumi-soft:#6b6660;--gold:#a87d3a;--gold-soft:#c9a365;--red-ink:#a33c2a;--rule:#d8cfb9;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100vh;margin:0;padding:0}body{background-image:radial-gradient(circle at 20% 30%,#a87d3a09 0,#0000 2px),radial-gradient(circle at 70% 80%,#1a1a1a06 0,#0000 1.5px),radial-gradient(circle at 50% 55%,#a87d3a05 0,#0000 2px);background-size:180px 180px,220px 220px,300px 300px}#root{flex-direction:column;align-items:center;min-height:100vh;display:flex}.app{flex-direction:column;gap:3rem;width:100%;max-width:680px;padding:3rem 1.5rem 5rem;display:flex}.header{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;display:flex}.title{letter-spacing:.18em;color:var(--ink);text-transform:uppercase;margin:0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.85rem;font-weight:400}.subtitle{letter-spacing:.28em;text-transform:uppercase;color:var(--sumi-soft);margin:0;font-size:.72rem}.nav{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);gap:0;margin-top:.5rem;padding:.35rem 0;display:flex}.nav button{color:var(--sumi-soft);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:.6rem 1.5rem;font-family:inherit;font-size:.72rem;transition:color .16s}.nav button:hover{color:var(--ink)}.nav button[aria-current=page]{color:var(--gold)}.haiku{flex-direction:column;align-items:center;gap:1.75rem;padding:2.5rem 1rem;display:flex}.haiku-lines{text-align:center;color:var(--ink);letter-spacing:.01em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.35rem;font-weight:400;line-height:2.05}.haiku-lines>span{display:block}.haiku-attribution{letter-spacing:.22em;text-transform:uppercase;color:var(--sumi-soft);text-align:center;font-size:.7rem}.haiku-attribution .era{color:var(--sumi-soft);opacity:.7;margin-left:.6rem}.haiku-attribution .season{letter-spacing:.3em;color:var(--gold-soft);margin-top:.4rem;font-size:.62rem;display:block}.ornament{color:var(--sumi);opacity:.72}.today{flex-direction:column;align-items:center;gap:2.25rem;display:flex}.today-date{letter-spacing:.2em;color:var(--sumi-soft);text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.7rem}.today-controls{letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:2rem;font-size:.7rem;display:flex}.today-controls button{color:var(--sumi);font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem .75rem;transition:color .16s}.today-controls button:hover{color:var(--gold)}.today-controls .index{color:var(--sumi-soft);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.composer{flex-direction:column;align-items:stretch;gap:2rem;display:flex}.composer-hint{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--sumi-soft);font-size:.72rem}.composer-lines{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-direction:column;gap:1rem;padding:1.5rem 0;display:flex}.composer-line{grid-template-columns:1fr auto;align-items:center;gap:1.25rem;display:grid}.composer-line input{border:0;border-bottom:1px solid var(--rule);color:var(--ink);background:0 0;outline:none;padding:.6rem 0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.2rem;line-height:1.6;transition:border-color .18s}.composer-line input:focus{border-bottom-color:var(--gold-soft)}.composer-line input::placeholder{color:var(--sumi-soft);opacity:.45;font-style:italic}.counter{letter-spacing:.1em;color:var(--sumi-soft);text-align:right;min-width:3.25rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;transition:color .2s}.counter.hit{color:var(--gold)}.counter.over{color:var(--red-ink)}.composer-actions{justify-content:center;gap:1rem;display:flex}.composer-actions button{border:1px solid var(--rule);color:var(--sumi);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.75rem 1.75rem;font-family:inherit;font-size:.72rem;transition:all .18s}.composer-actions button:hover:not(:disabled){color:var(--gold);border-color:var(--gold-soft)}.composer-actions button:disabled{opacity:.4;cursor:not-allowed}.composer-actions button.primary.ready{color:var(--gold);border-color:var(--gold);animation:2.6s ease-in-out infinite goldGlow;box-shadow:0 0 #a87d3a00}@keyframes goldGlow{0%,to{box-shadow:0 0 #a87d3a00}50%{box-shadow:0 0 18px 2px #a87d3a1f}}.scroll{flex-direction:column;gap:2.5rem;margin-top:1rem;display:flex}.scroll-label{text-align:center;letter-spacing:.28em;text-transform:uppercase;color:var(--sumi-soft);border-top:1px solid var(--rule);padding-top:1rem;font-size:.68rem}.scroll-empty{text-align:center;color:var(--sumi-soft);opacity:.7;font-size:.8rem;font-style:italic}.scroll-entry{flex-direction:column;align-items:center;gap:.75rem;display:flex;position:relative}.scroll-entry .delete{color:var(--sumi-soft);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;opacity:.5;background:0 0;border:0;padding:.25rem .5rem;font-family:inherit;font-size:.65rem;transition:all .18s}.scroll-entry .delete:hover{opacity:1;color:var(--red-ink)}.scroll-entry-date{letter-spacing:.18em;color:var(--sumi-soft);text-transform:uppercase;opacity:.7;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.64rem}.archive{flex-direction:column;gap:2rem;display:flex}.archive-filter{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);justify-content:center;gap:0;padding:.35rem 0;display:flex}.archive-filter button{color:var(--sumi-soft);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:.55rem 1.25rem;font-family:inherit;font-size:.68rem;transition:color .16s}.archive-filter button:hover{color:var(--ink)}.archive-filter button[aria-pressed=true]{color:var(--gold)}.archive-list{flex-direction:column;gap:3rem;padding-top:.5rem;display:flex}.footer{text-align:center;letter-spacing:.28em;text-transform:uppercase;color:var(--sumi-soft);opacity:.6;border-top:1px solid var(--rule);padding-top:2rem;font-size:.62rem}
