:root{--bg: #f5edd8;--text: #2a1f0e;--accent: #8b6e3c;--accent-light: #c4a265;--font-title: "Playfair Display", serif;--font-body: "EB Garamond", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px}body{font-family:var(--font-body);color:var(--text);background-color:var(--bg);background-image:repeating-linear-gradient(transparent,transparent 1.6rem,rgba(139,110,60,.08) 1.6rem,rgba(139,110,60,.08) 1.65rem);min-height:100vh;line-height:1.7;-webkit-font-smoothing:antialiased}.app{max-width:680px;margin:0 auto;padding:1rem 1.25rem 3rem}.header{text-align:center;padding:2.5rem 0 1.5rem}.header h1{font-family:var(--font-title);font-weight:900;font-size:2.4rem;color:var(--text);letter-spacing:.02em}.subtitle{font-style:italic;color:var(--accent);margin-top:.25rem;font-size:1.05rem}.main{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.intro{text-align:center;max-width:520px;line-height:1.8;color:var(--text);opacity:.92}.intro p{margin-bottom:.75rem}.intro-how{font-size:.9rem;font-style:italic;color:var(--accent)}.btn-primary{font-family:var(--font-body);font-size:1.1rem;padding:.75rem 2rem;background:var(--text);color:var(--bg);border:2px solid var(--text);cursor:pointer;box-shadow:3px 3px 0 var(--accent);transition:transform .15s,box-shadow .15s;letter-spacing:.03em}.btn-primary:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--accent)}.btn-primary:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{font-family:var(--font-body);font-size:.95rem;padding:.5rem 1.25rem;background:transparent;color:var(--accent);border:1px solid var(--accent);cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#8b6e3c1a}.btn-link{font-family:var(--font-body);font-size:.9rem;background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline;padding:0}.btn-link:hover{color:var(--text)}.manual-search{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:420px}.input{font-family:var(--font-body);font-size:1rem;padding:.6rem .9rem;border:1px solid var(--accent-light);background:#ffffff80;color:var(--text);outline:none;transition:border-color .2s}.input:focus{border-color:var(--accent)}.spinner-container{text-align:center;padding:2rem 0}.spinner{display:inline-block;font-size:2.5rem;color:var(--accent);animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-text{margin-top:.5rem;font-style:italic;color:var(--accent)}.error-box{background:#b43c281a;border-left:3px solid #b43c28;padding:.75rem 1rem;color:#5a1e12;width:100%;max-width:520px}.article{position:relative;background:#ffffff59;padding:2rem 1.75rem;margin-top:1rem;width:100%;border:1px solid var(--accent-light)}.article:before{content:"";position:absolute;top:6px;left:6px;right:-6px;bottom:-6px;border:1px solid var(--accent-light);pointer-events:none}.article-title{font-family:var(--font-title);font-weight:700;font-size:1.6rem;margin-bottom:1rem;color:var(--text);border-bottom:1px solid var(--accent-light);padding-bottom:.5rem}.article-body p{margin-bottom:1rem;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.article-body a{color:var(--accent);text-decoration:underline}.article-body a:hover{color:var(--text)}.drop-cap:first-letter{font-family:var(--font-title);font-weight:900;float:left;font-size:3.4rem;line-height:.8;padding-right:.15rem;padding-top:.1rem;color:var(--accent)}.fadeIn{animation:fadeIn .6s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.notif-banner{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#8b6e3c1f;border-bottom:1px solid var(--accent-light);font-size:.9rem;gap:.75rem}.notif-active{background:#3c8b501a;border-color:#3c8b504d}.byellea-footer{text-align:center;padding:1.5rem 0 .5rem;font-style:italic;font-size:.85rem;color:var(--accent)}.byellea-footer a{color:var(--accent);text-decoration:none;font-weight:600}.byellea-footer a:hover{text-decoration:underline}@media (max-width: 480px){html{font-size:16px}.header h1{font-size:1.8rem}.article{padding:1.25rem 1rem}.notif-banner{flex-direction:column;text-align:center}}
