.poem-library-page{background:rgb(var(--background));min-height:100vh;color:rgb(var(--foreground))}.poem-library-shell{max-width:42rem;margin:0 auto;padding:5.5rem 1.25rem 2rem}.poem-library-header h1{font-size:1.6rem;font-weight:700}.poem-library-header p{color:rgb(var(--foreground) / .65);margin-top:.5rem;line-height:1.8}.poem-library-tabs{grid-template-columns:1fr 1fr;gap:.5rem;margin:1.5rem 0;display:grid}.poem-library-tabs button{border:1px solid rgb(var(--foreground) / .12);background:rgb(var(--foreground) / .04);border-radius:999px;justify-content:center;align-items:center;gap:.45rem;min-height:2.75rem;display:inline-flex}.poem-library-tabs button.active{background:rgb(var(--foreground) / .14);border-color:rgb(var(--foreground) / .24)}.poem-library-actions{justify-content:flex-end;margin-bottom:.75rem;display:flex}.poem-library-actions button,.poem-library-remove{color:rgb(var(--foreground) / .7);background:0 0;border:0}.poem-library-list{gap:.75rem;display:grid}.poem-library-item{border:1px solid rgb(var(--foreground) / .1);background:rgb(var(--foreground) / .03);border-radius:1rem;grid-template-columns:1fr auto;align-items:start;gap:.5rem;padding:.9rem 1rem;display:grid}.poem-library-link{gap:.25rem;display:grid}.poem-library-link strong{font-size:1rem}.poem-library-link span,.poem-library-link time{color:rgb(var(--foreground) / .62);font-size:.82rem}.poem-library-link p{color:rgb(var(--foreground) / .82);margin-top:.2rem;line-height:1.7}.poem-library-empty{text-align:center;color:rgb(var(--foreground) / .62);padding:2rem 0;line-height:1.8}.poet-search-panel,.poet-geo-section{width:100%;max-width:min(92vw,760px);margin:1.5rem auto 0;padding:0 .25rem}.poet-info-section-title{margin-bottom:.75rem;font-size:.95rem;font-weight:600}.poet-search-results,.poet-geo-list{gap:.65rem;display:grid}.poet-search-result-link{border:1px solid rgb(var(--foreground) / .1);background:rgb(var(--foreground) / .04);border-radius:.9rem;gap:.2rem;padding:.8rem .95rem;display:grid}.poet-search-result-link span,.poet-search-status,.poet-geo-status{color:rgb(var(--foreground) / .62);font-size:.82rem}.poet-search-form{grid-template-columns:1fr auto;align-items:center;gap:.5rem;margin-bottom:.75rem;display:grid}.poet-search-form input{border:1px solid rgb(var(--foreground) / .14);background:rgb(var(--foreground) / .04);width:100%;min-height:2.75rem;color:inherit;border-radius:999px;padding:0 1rem}.poet-geo-list li{justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.poet-geo-map{border:0;border-radius:1rem;width:100%;height:14rem;margin-top:.85rem}.pwa-install-banner{left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:1205;background:rgb(var(--background) / .95);border:1px solid rgb(var(--foreground) / .14);border-radius:1rem;gap:.65rem;padding:.95rem 1rem;display:grid;position:fixed;box-shadow:0 18px 40px #00000047}.pwa-install-actions{gap:.5rem;display:flex}.pwa-install-actions button{border:1px solid rgb(var(--foreground) / .14);border-radius:.8rem;flex:1;min-height:2.5rem}.pwa-install-actions button.primary{background:rgb(var(--foreground) / .14)}.poem-favorite-button.is-active{color:#f87171}.account-form{gap:1rem;display:grid}.account-field{gap:.4rem;display:grid}.account-field small{color:rgb(var(--foreground) / .62);font-size:.8rem}.account-field input{border:1px solid rgb(var(--foreground) / .14);background:rgb(var(--foreground) / .04);width:100%;min-height:2.75rem;color:inherit;border-radius:.9rem;padding:0 1rem}.account-field input:focus-visible{outline:2px solid rgb(var(--foreground) / .5);outline-offset:2px}.account-error{color:#f87171;min-height:1.5rem;line-height:1.7}.account-primary,.account-secondary{border:1px solid rgb(var(--foreground) / .24);background:rgb(var(--foreground) / .14);border-radius:999px;justify-content:center;align-items:center;gap:.45rem;min-height:2.75rem;padding:0 1.25rem;display:inline-flex}.account-secondary{background:0 0}.account-primary:disabled{opacity:.6}.account-profile-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.account-section{margin-top:2rem}.account-section h2{margin-bottom:.75rem;font-size:1.05rem;font-weight:600}.account-chips{flex-wrap:wrap;gap:.5rem;display:flex}.account-chips li{border:1px solid rgb(var(--foreground) / .12);background:rgb(var(--foreground) / .04);border-radius:999px;padding:.35rem .85rem;font-size:.9rem}
