@import url("https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400&display=swap");:root{--color-paper:#f5f0e8;--color-paper-light:#faf7f2;--color-ink:#1a1a1a;--color-ink-light:#4a4a4a;--color-ink-faint:#8a8a8a;--color-accent:#c45b3e;--color-accent-hover:#a84832;--color-border:#d4cfc5;--font-typewriter:"Courier Prime","Courier New","Courier",monospace;--font-handwritten:"Georgia",serif;--font-body:var(--font-typewriter);--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--content-width:40rem;--radius:4px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);color:var(--color-ink);background-color:var(--color-paper);position:relative}body:before{content:"";position:absolute;height:100%;width:100%;inset:0;background:url(/images/paper-texture.jpg) 50%/cover;opacity:.35;pointer-events:none;z-index:-1;line-height:1.7}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}h1,h2,h3{font-family:var(--font-typewriter);font-weight:400;line-height:1.3}.container{max-width:72rem;margin:0 auto;padding:0 var(--space-6)}.content{max-width:var(--content-width);margin:0 auto;text-align:center}.handwritten{font-family:var(--font-handwritten);font-style:italic}.landing{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) var(--space-6);gap:var(--space-4)}.landing__logo{max-width:240px;width:50%;height:auto}.landing__mockup{max-width:280px;max-height:30vh;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.12))}.landing__tagline{font-size:1.15rem;color:var(--color-ink-light);letter-spacing:.05em}.landing__form{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.landing__input{padding:var(--space-3) var(--space-4);font-family:var(--font-typewriter);font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-paper-light);width:260px;max-width:100%;text-align:center}.landing__input:focus{outline:none;border-color:var(--color-accent)}.about p{color:var(--color-ink-light);margin-bottom:var(--space-4);font-size:1.05rem}.about p:last-child{margin-bottom:0}.signup__msg{width:100%;font-size:.9rem;margin-top:var(--space-2)}.signup__msg--ok{color:#2e7d32}.signup__msg--err{color:var(--color-accent)}.btn{display:inline-block;padding:var(--space-3) var(--space-8);background:rgba(120,160,70,.35);border:1px solid rgba(120,160,70,.3);border-radius:var(--radius);font-family:var(--font-typewriter);font-size:1rem;cursor:pointer;width:260px;max-width:100%}.btn,.btn:hover{color:var(--color-ink)}.btn:hover{background:rgba(120,160,70,.5)}.footer{border-top:1px solid var(--color-border);padding:var(--space-8) var(--space-6);color:var(--color-ink-faint);font-size:.875rem;margin-top:var(--space-16);text-align:center}.footer p+p{margin-top:var(--space-2)}.competitions-list{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}.competition-card{display:block;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:var(--color-ink)}.competition-card:hover{border-color:var(--color-accent)}.competition-card h2{font-size:1.1rem;margin-bottom:var(--space-2)}.competition-meta{font-size:.85rem;color:var(--color-ink-faint);margin-top:var(--space-2)}.competition-description{color:var(--color-ink-light);margin:var(--space-4) 0}.competition-page{padding-top:var(--space-8)}.competition-form{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;margin-top:var(--space-6);max-width:400px;margin-left:auto;margin-right:auto}.competition-form input,.competition-form textarea,.poem-editor{width:100%}.poem-textarea{width:100%;padding:var(--space-4);font-family:var(--font-typewriter);font-size:.95rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-paper-light);resize:vertical;min-height:200px}.poem-textarea:focus{outline:none;border-color:var(--color-accent)}.poem-counter{color:var(--color-ink-faint);text-align:right}.poem-counter,.poem-errors{font-size:.8rem;margin-top:var(--space-2)}.poem-errors{color:var(--color-accent);list-style:none}.tier-selection{width:100%;flex-direction:column}.tier-option,.tier-selection{display:flex;gap:var(--space-2)}.tier-option{align-items:center;font-size:.95rem;cursor:pointer}.tier-option.sold-out{opacity:.5;cursor:not-allowed}.shipping-fields{width:100%;gap:var(--space-3)}.admin-login,.shipping-fields{display:flex;flex-direction:column}.admin-login{min-height:100vh;align-items:center;justify-content:center;gap:var(--space-4)}.admin-login form{display:flex;flex-direction:column;gap:var(--space-3);width:260px}.admin-login .error{color:var(--color-accent);font-size:.85rem}.admin-dashboard{max-width:900px;margin:0 auto;padding:var(--space-8) var(--space-6)}.admin-dashboard h1{margin-bottom:var(--space-6)}.admin-dashboard h2{margin:var(--space-6) 0 var(--space-4)}.admin-table{width:100%;border-collapse:collapse;margin-top:var(--space-4);font-size:.85rem}.admin-table td,.admin-table th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.admin-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-ink-faint)}.admin-table a{color:var(--color-accent)}.status-badge{font-size:.7rem;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.status-draft{background:#e0e0e0;color:#666}.status-open{background:rgba(120,160,70,.2);color:#4a7a20}.status-judging{background:rgba(230,168,50,.2);color:#a07020}.status-announced{background:rgba(91,155,213,.2);color:#3070a0}.status-printed{background:rgba(196,91,206,.2);color:#8040a0}.admin-create-form{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius)}.admin-create-form input,.admin-create-form textarea{padding:var(--space-2) var(--space-3);font-family:var(--font-typewriter);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem}.admin-create-form label{font-size:.85rem;color:var(--color-ink-light);display:flex;align-items:center;gap:var(--space-2)}.admin-actions{display:flex;gap:var(--space-3);margin:var(--space-4) 0}.admin-entry{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-3)}.admin-entry.winner{border-color:rgba(120,160,70,.5);background:rgba(120,160,70,.05)}.admin-entry-header{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2);font-size:.9rem}.winner-badge{background:rgba(120,160,70,.2);color:#4a7a20;padding:1px 6px;border-radius:3px;font-size:.75rem}.admin-poem{font-family:var(--font-typewriter);font-size:.9rem;white-space:pre-wrap;margin:var(--space-3) 0;padding:var(--space-3);background:var(--color-paper-light);border-radius:var(--radius)}.admin-entry-meta{font-size:.8rem;color:var(--color-ink-faint)}.btn-small{font-size:.75rem;padding:2px 8px;background:rgba(120,160,70,.35);border:1px solid rgba(120,160,70,.3);border-radius:var(--radius);cursor:pointer;font-family:var(--font-typewriter)}.address{font-size:.8rem}