@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300..500&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--paper:#fbfbf9;--paper-2:#f3f2ee;--paper-3:#eae8e1;--ink:#101010;--ink-soft:#323232;--smoke:#4a4a4a;--whisper:#6b6b6b;--fog:#e6e4de;--accent:var(--ink);--positive:#2f7d4f;--blue:#00e;--rust:#7a2b1a;--focus:var(--accent);--display:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Inter", -apple-system, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--display-weight:400;--r-sm:8px;--r-md:16px;--r-card:24px;--r-pill:999px;--ease:cubic-bezier(.22, .61, .36, 1);--dur:.25s;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--wash-sky:linear-gradient(155deg, #e6eef1 0%, #eef1ee 55%, #f5efe9 100%);--wash-lilac:linear-gradient(155deg, #e9e3f1 0%, #e6e6ef 50%, #f1e8ea 100%);--wash-peach:linear-gradient(155deg, #f6e9da 0%, #f1e4d6 50%, #eee7df 100%);--wash-mint:linear-gradient(155deg, #e0ede4 0%, #e7eef0 55%, #f0ece2 100%);--fs-h1:clamp(32px, 5vw, 44px);--fs-h2:clamp(26px, 3.4vw, 34px);--fs-h3:clamp(20px, 2.4vw, 26px);--fs-h4:18px;--fs-eyebrow:12px;--fs-body:16px;--fs-small:14px;--lh-heading:1.1;--lh-sub:1.3;--lh-body:1.55;--max:1080px;--gutter:clamp(20px, 4vw, 48px);--section-y:clamp(32px, 5vw, 56px);--rule:1px solid var(--fog)}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}ul[class],ol[class]{padding:0;list-style:none}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}h1,h2,h3,h4{font-family:var(--display);font-weight:var(--display-weight);line-height:var(--lh-heading);letter-spacing:-.02em}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.eyebrow{font-family:var(--mono);font-size:var(--fs-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--whisper)}.muted{color:var(--whisper)}.small{font-size:var(--fs-small)}.mono{font-family:var(--mono)}.serif{font-family:var(--display);font-weight:var(--display-weight)}.shell{flex-direction:column;min-height:100dvh;display:flex}.wrap{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.section{padding-block:var(--section-y)}.stack>*+*{margin-top:var(--space-4)}.stack-lg>*+*{margin-top:var(--space-6)}.row{gap:var(--space-3);align-items:center;display:flex}.row-between{gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.grow{flex:1}.site-header{border-bottom:var(--rule);background:var(--paper);z-index:10;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;display:flex}.brand{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);font-size:19px;font-weight:500}.brand:hover{text-decoration:none}.brand span{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--whisper);margin-top:-2px;font-size:10px;display:block}.nav{gap:var(--space-4);align-items:center;display:flex}.nav a{color:var(--ink);font-size:var(--fs-small)}.nav a.active{text-underline-offset:4px;text-decoration:underline}.nav a,.nav button{white-space:nowrap}.nav-name{text-overflow:ellipsis;max-width:16ch;overflow:hidden}@media (width<=600px){.nav{gap:var(--space-3)}.nav-name{max-width:10ch}.site-header .wrap{gap:var(--space-3)}.nav-listings{display:none}.brand{font-size:17px}}.site-footer{border-top:var(--rule);padding-block:var(--space-5);color:var(--whisper);font-size:var(--fs-small);margin-top:auto}.auth-shell{min-height:100dvh;padding:var(--space-6) var(--gutter);background:var(--wash-peach);place-items:center;display:grid}.auth-card{background:var(--paper);border-radius:var(--r-card);width:100%;max-width:480px;padding:clamp(24px,5vw,40px);box-shadow:0 1px 2px #1010100a,0 12px 32px #1010100f}.auth-card h1{margin-bottom:var(--space-2)}.auth-alt{margin-top:var(--space-5);font-size:var(--fs-small);color:var(--smoke)}.field{display:block}.field+.field{margin-top:var(--space-4)}.field>label,.fieldset>legend{font-size:var(--fs-small);margin-bottom:var(--space-2);font-weight:500;display:block}.field .hint{font-size:var(--fs-small);color:var(--whisper);margin-bottom:var(--space-2);display:block}.input,.textarea,.select{border:1px solid var(--fog);border-radius:var(--r-pill);width:100%;min-height:46px;transition:border-color var(--dur) var(--ease);background:#fff;padding:12px 18px}.textarea{border-radius:var(--r-md);resize:vertical;min-height:132px;line-height:var(--lh-body)}.select{border-radius:var(--r-sm);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23101010' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.input:hover,.textarea:hover,.select:hover{border-color:var(--smoke)}.input:focus,.textarea:focus,.select:focus{border-color:var(--ink);outline-offset:1px}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--rust)}.grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.grid-2>.field+.field{margin-top:0}@media (width<=600px){.grid-2{grid-template-columns:1fr}}.error-text{color:var(--rust);font-size:var(--fs-small);margin-top:var(--space-2)}.banner{border-radius:var(--r-md);padding:var(--space-3) var(--space-4);font-size:var(--fs-small);border:1px solid var(--fog);background:var(--paper-2)}.banner.error{border-color:var(--rust);color:var(--rust);background:#fdf3f1}.banner.positive{border-color:var(--positive);color:var(--positive);background:#f1f7f3}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--r-pill);min-height:46px;font-size:var(--fs-small);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), opacity var(--dur) var(--ease);border:1px solid #0000;padding:12px 24px;font-weight:500;display:inline-flex}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:var(--ink-soft)}.btn.ghost{border-color:var(--ink);color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--paper-2)}.btn.quiet{color:var(--smoke);padding-inline:var(--space-3);background:0 0}.btn.quiet:hover{color:var(--ink)}.btn.danger{border-color:var(--rust);color:var(--rust);background:0 0}.btn.danger:hover{background:#fdf3f1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.block{width:100%}.card{border-radius:var(--r-card);border:1px solid var(--fog);padding:var(--space-5);background:#fff}.listing-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.listing-card{border:1px solid var(--fog);border-radius:var(--r-card);transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);background:#fff;flex-direction:column;display:flex;overflow:hidden}.listing-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px #10101014}.listing-card .thumb{aspect-ratio:4/3;background:var(--wash-sky);place-items:center;display:grid;overflow:hidden}.listing-card .thumb img{object-fit:cover;width:100%;height:100%}.listing-card .thumb .placeholder{font-family:var(--mono);font-size:var(--fs-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--whisper)}.listing-card .body{padding:var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.listing-card h3{font-size:var(--fs-h4)}.listing-card .price{font-family:var(--mono);font-weight:500}.listing-card .actions{padding-top:var(--space-3);gap:var(--space-2);margin-top:auto;display:flex}.chip{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-pill);border:1px solid var(--fog);background:var(--paper-2);color:var(--smoke);align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.chip.live{border-color:var(--positive);color:var(--positive);background:#f1f7f3}.chip.review{border-color:var(--ink);color:var(--ink);background:var(--paper-2)}.chip.rejected{border-color:var(--rust);color:var(--rust);background:#fdf3f1}.empty{border-radius:var(--r-card);background:var(--wash-mint);padding:clamp(32px, 7vw, 72px) var(--space-5);text-align:center}.empty h2{margin-bottom:var(--space-3)}.empty p{color:var(--smoke);max-width:44ch;margin:0 auto var(--space-5)}.fieldset{border:0;margin:0;padding:0}.fieldset+.fieldset{margin-top:var(--space-5)}.choice-list{gap:var(--space-2);display:grid}.choice{gap:var(--space-3);border:1px solid var(--fog);border-radius:var(--r-md);padding:var(--space-3) var(--space-4);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);background:#fff;align-items:flex-start;display:flex}.choice:hover{border-color:var(--smoke)}.choice:has(input:checked){border-color:var(--ink);background:var(--paper-2)}.choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.choice input{accent-color:var(--ink);margin-top:4px}.choice .label{font-weight:500;font-size:var(--fs-small)}.choice .hint{color:var(--whisper);font-size:var(--fs-small);display:block}.photo-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.photo{border-radius:var(--r-md);background:var(--paper-2);aspect-ratio:1;border:1px solid var(--fog);position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo .cover-flag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:var(--r-pill);padding:3px 8px;font-size:10px;position:absolute;top:8px;left:8px}.photo .photo-actions{inset-inline:8px;justify-content:space-between;gap:6px;display:flex;position:absolute;bottom:8px}.photo .icon-btn{border-radius:var(--r-pill);cursor:pointer;color:var(--ink);background:#fffffff0;border:0;place-items:center;width:30px;height:30px;font-size:15px;line-height:1;display:grid}.photo .icon-btn:hover{background:#fff}.photo .icon-btn.danger{color:var(--rust)}.photo .icon-btn:disabled{opacity:.4;cursor:not-allowed}.photo.pending{place-items:center;display:grid}.dropzone{border:1px dashed var(--smoke);border-radius:var(--r-md);padding:var(--space-6) var(--space-4);text-align:center;background:var(--paper-2);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease)}.dropzone:hover{border-color:var(--ink);background:var(--paper-3)}.dropzone.busy{opacity:.6;pointer-events:none}.detail-grid{gap:var(--space-6);grid-template-columns:1.1fr .9fr;display:grid}@media (width<=768px){.detail-grid{grid-template-columns:1fr}}.spec-list{border-top:var(--rule)}.spec-list div{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--rule);display:flex}.spec-list dt{font-family:var(--mono);font-size:var(--fs-small);color:var(--whisper);letter-spacing:.06em;text-transform:uppercase}.spec-list dd{text-align:right}.autosave{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--whisper);font-size:11px}.centered-note{text-align:center;place-items:center;min-height:60dvh;display:grid}.toolbar{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.toolbar .input,.toolbar .select{width:auto;min-width:200px}.sticky-actions{background:linear-gradient(to top, var(--paper) 70%, transparent);padding-block:var(--space-4);gap:var(--space-3);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.thumb-fallback{width:100%;height:100%;min-height:120px;padding:var(--space-4);text-align:center;background:var(--paper-2);border-radius:inherit;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--whisper);place-items:center;font-size:11px;display:grid}
