@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&family=Lora:ital,wght@0,400;0,500;1,400&display=swap";:root{--newsprint: #f4efe4;--newsprint-dark: #e8e0d0;--ink: #1a1a18;--ink-light: #3d3d38;--ink-faded: #6b6b63;--rule: #1a1a18;--rule-light: #c4bba8;--accent: #8b0000;--font-display: "Playfair Display", "Times New Roman", Georgia, serif;--font-body: "Lora", "Times New Roman", Georgia, serif;--page-max: 640px;--page-pad: 16px}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--newsprint);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body{min-height:100vh;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.008) 3px,rgba(0,0,0,.008) 4px),var(--newsprint)}.masthead{text-align:center;padding:24px var(--page-pad) 0;max-width:var(--page-max);margin:0 auto}.masthead-rule{height:4px;background:var(--ink);border:none;margin-bottom:6px}.masthead-rule-thin{height:1px;background:var(--ink);border:none;margin-bottom:12px}.masthead-title{font-family:var(--font-display);font-weight:900;font-size:3rem;letter-spacing:.04em;text-transform:uppercase;line-height:1;margin-bottom:2px}.masthead-subtitle{font-family:var(--font-display);font-style:italic;font-size:.8rem;color:var(--ink-faded);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}.masthead-dateline{font-family:var(--font-body);font-size:.7rem;color:var(--ink-faded);letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:0}.masthead-nav{display:flex;gap:16px}.masthead-nav a{font-family:var(--font-display);font-size:.75rem;color:var(--ink);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:color .15s}.masthead-nav a:hover{color:var(--accent)}.page{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-pad) 80px}.classifieds-header{font-family:var(--font-display);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;text-align:center;padding:12px 0;border-bottom:2px solid var(--ink);margin-bottom:0;color:var(--ink-faded)}.invite-codes{padding:16px 0;border-bottom:1px solid var(--rule-light)}.invite-codes-label{font-family:var(--font-display);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faded);cursor:pointer;list-style:none}.invite-codes-label::-webkit-details-marker{display:none}.invite-codes-label:after{content:" +"}.invite-codes[open] .invite-codes-label:after{content:" −"}.invite-codes[open] .invite-codes-label{margin-bottom:8px}.invite-code{display:block;width:100%;text-align:left;font-family:var(--font-body);font-size:.75rem;color:var(--ink-light);background:none;border:none;padding:4px 0;cursor:pointer;word-break:break-all;transition:color .15s}.invite-code:hover{color:var(--ink)}.invite-code:active:after{content:" — copied";color:var(--ink-faded);font-style:italic}.classifieds-grid{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--rule-light)}.classified-card{border-right:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light);padding:12px;text-decoration:none;color:var(--ink);display:block;transition:background .15s}.classified-card:hover{background:var(--newsprint-dark)}.classified-card-photo{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block;filter:grayscale(15%) contrast(1.05);margin-bottom:8px}.classified-card-nophoto{width:100%;aspect-ratio:3 / 4;background:var(--newsprint-dark);display:flex;align-items:center;justify-content:center;margin-bottom:8px;border:1px solid var(--rule-light)}.classified-card-nophoto span{font-family:var(--font-display);font-style:italic;font-size:.75rem;color:var(--ink-faded)}.classified-card-name{font-family:var(--font-display);font-weight:700;font-size:.85rem;line-height:1.2}.profile-back{font-family:var(--font-display);font-size:.75rem;color:var(--ink-faded);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;display:inline-block;padding:16px 0 12px;transition:color .15s}.profile-back:hover{color:var(--ink)}.profile-name{font-family:var(--font-display);font-weight:900;font-size:2rem;line-height:1.1;margin-bottom:4px;border-bottom:2px solid var(--ink);padding-bottom:8px}.profile-bio{font-family:var(--font-body);font-size:.95rem;line-height:1.6;color:var(--ink-light);margin:12px 0;white-space:pre-wrap}.profile-instagram{display:inline-block;font-family:var(--font-display);font-size:.8rem;letter-spacing:.05em;color:var(--ink);text-decoration:none;border:1px solid var(--ink);padding:6px 16px;margin:8px 0 20px;transition:background .15s,color .15s}.profile-instagram:hover{background:var(--ink);color:var(--newsprint)}.profile-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:16px;border:1px solid var(--rule-light)}.profile-gallery img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block;filter:grayscale(15%) contrast(1.05)}.edit-heading{font-family:var(--font-display);font-weight:900;font-size:1.5rem;border-bottom:2px solid var(--ink);padding:16px 0 8px;margin-bottom:20px}.edit-field{margin-bottom:20px}.edit-label{font-family:var(--font-display);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faded);display:block;margin-bottom:4px}.edit-input{width:100%;font-family:var(--font-body);font-size:.95rem;padding:8px 0;border:none;border-bottom:1px solid var(--rule-light);background:transparent;color:var(--ink);outline:none;transition:border-color .15s}.edit-input:focus{border-bottom-color:var(--ink)}.edit-textarea{width:100%;font-family:var(--font-body);font-size:.95rem;padding:8px 0;border:none;border-bottom:1px solid var(--rule-light);background:transparent;color:var(--ink);outline:none;resize:vertical;min-height:80px;line-height:1.6;transition:border-color .15s}.edit-textarea:focus{border-bottom-color:var(--ink)}.edit-photos{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:20px;border:1px solid var(--rule-light)}.edit-photo-slot{aspect-ratio:3 / 4;position:relative;background:var(--newsprint-dark);cursor:pointer;overflow:hidden}.edit-photo-slot img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(15%) contrast(1.05)}.edit-photo-slot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink-faded);font-family:var(--font-display);font-style:italic;font-size:.75rem}.edit-photo-slot-empty:before{content:"+";font-style:normal;font-size:1.5rem;line-height:1}.edit-photo-delete{position:absolute;top:6px;right:6px;width:24px;height:24px;background:var(--ink);color:var(--newsprint);border:none;cursor:pointer;font-size:14px;line-height:24px;text-align:center;opacity:0;transition:opacity .15s}.edit-photo-slot:hover .edit-photo-delete{opacity:1}.edit-save{font-family:var(--font-display);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--newsprint);border:none;padding:10px 32px;cursor:pointer;transition:opacity .15s}.edit-save:disabled{opacity:.4;cursor:default}.edit-save:hover:not(:disabled){opacity:.85}.auth-page{max-width:440px;margin:40px auto;padding:0 var(--page-pad)}.auth-page .cl-rootBox{position:relative;left:50%;transform:translate(-50%)}.auth-divider{display:flex;align-items:center;gap:12px;margin:48px 0}.auth-divider-line{flex:1;height:1px;background:var(--rule-light)}.auth-divider-text{font-family:var(--font-display);font-style:italic;font-size:.8rem;color:var(--ink-faded);white-space:nowrap}.invitation-section{margin-bottom:40px}.invitation-heading{font-family:var(--font-display);font-weight:900;font-size:1.25rem;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:20px}.invitation-confirmation{text-align:center;padding:24px 0}.invitation-confirmation-text{font-family:var(--font-display);font-style:italic;font-size:.95rem;color:var(--ink-light)}.loading{text-align:center;padding:40px 0;font-family:var(--font-display);font-style:italic;color:var(--ink-faded);font-size:.85rem}.error{text-align:center;padding:20px 0;font-family:var(--font-body);color:var(--accent);font-size:.85rem}.load-more{text-align:center;padding:20px 0;border-top:1px solid var(--rule-light)}.load-more button{font-family:var(--font-display);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;background:none;border:1px solid var(--ink);padding:8px 24px;cursor:pointer;color:var(--ink);transition:background .15s,color .15s}.load-more button:hover{background:var(--ink);color:var(--newsprint)}
