:root{--ink: #241f18;--ink-soft: rgba(36, 31, 24, .6);--ink-faint: rgba(36, 31, 24, .45);--kraft: #e7dcc6;--board: #b8956a;--card: #fffdf6;--card-border: rgba(36, 31, 24, .2);--tan: #e8dca8;--accent: #c33a26;--accent-ink: #fff2e2;--brown: #5b4a33;--tap: 44px}*{box-sizing:border-box}body{margin:0;font-family:Archivo,system-ui,sans-serif;background:var(--kraft);color:var(--ink)}a{color:inherit;text-decoration:none}.board{min-height:100vh}.board__header{display:flex;align-items:center;gap:16px;padding:14px 16px;background:#241f18e6;color:var(--kraft)}.board__header--minimal{background:var(--ink)}.board__wordmark{font-family:Permanent Marker,cursive;font-size:19px;flex:none;white-space:nowrap;display:flex;align-items:center;min-height:var(--tap)}.board__ticker{display:none;font-family:Courier Prime,monospace;font-size:12px;color:#e8dca8;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.board__error{color:var(--accent);padding:16px}.board__empty{font-family:Caveat,cursive;font-size:20px;color:var(--brown);padding:40px 16px}@media (min-width: 600px){.board__header{gap:20px;padding:16px 28px}.board__wordmark{font-size:21px}.board__ticker{display:block}.board__error,.board__empty{padding-left:28px;padding-right:28px}}.pinboard-frame{max-width:880px;margin:0 auto;padding:0 12px 32px}@media (min-width: 600px){.pinboard-frame{margin-top:28px;padding:0 20px 40px}}.pinboard{background-color:var(--board);background-image:radial-gradient(rgba(36,31,24,.09) 1.5px,transparent 1.5px);background-size:7px 7px;padding:16px;border:6px solid #6b4f30;box-shadow:0 18px 34px -18px #241f1899;display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 600px){.pinboard{grid-template-columns:repeat(2,1fr);gap:18px;padding:22px;border-width:10px}}@media (min-width: 960px){.pinboard{grid-template-columns:repeat(3,1fr)}}.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.pager__button{min-height:var(--tap);padding:0 18px;border:1px solid var(--ink);background:var(--card);color:var(--ink);font-family:Courier Prime,monospace;font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer}.pager__button:disabled{opacity:.35;cursor:not-allowed}.pager__status{font-family:Courier Prime,monospace;font-size:12px;letter-spacing:.06em;color:var(--ink-soft)}.pin-card{display:block;background:var(--card);border:1px solid var(--card-border);padding:10px;box-shadow:0 10px 18px -14px #241f18;transition:transform .1s ease}.pin-card:active{transform:scale(.98)}@media (min-width: 960px){.pin-card:nth-child(6n+1){transform:rotate(-1.2deg)}.pin-card:nth-child(6n+2){transform:rotate(.8deg)}.pin-card:nth-child(6n+3){transform:rotate(-.6deg)}.pin-card:nth-child(6n+4){transform:rotate(1.4deg)}.pin-card:nth-child(6n+5){transform:rotate(-1.8deg)}.pin-card:nth-child(6n+6){transform:rotate(.5deg)}.pin-card:active{transform:scale(.98) rotate(0)}}.pin-card__photo{position:relative;aspect-ratio:4 / 3;background:repeating-linear-gradient(45deg,#e3d5b8 0,#e3d5b8 9px,#dccdad 9px,#dccdad 18px);border:1px dashed rgba(36,31,24,.3);display:flex;align-items:center;justify-content:center}.pin-card__photo img{width:100%;height:100%;object-fit:cover}.pin-card__photo-label{font-family:Courier Prime,monospace;font-size:10.5px;letter-spacing:.1em;color:var(--ink-soft)}.pin-card__price{position:absolute;bottom:9px;right:9px;background:var(--accent);color:var(--accent-ink);font-family:Courier Prime,monospace;font-weight:700;font-size:15px;padding:4px 9px;transform:rotate(-3deg);box-shadow:0 2px 5px #241f1866}.pin-card__reserved{position:absolute;top:10px;left:10px;transform:rotate(-5deg);background:var(--ink);color:var(--kraft);font-family:Permanent Marker,cursive;font-size:13px;padding:4px 10px;box-shadow:0 1px 2px #241f1840}.pin-card__title{margin-top:9px;font-size:14px;font-weight:600;color:var(--ink)}.pin-card__desc{font-family:Caveat,cursive;font-size:17px;color:var(--brown);margin-top:2px}.pin-card__area{font-family:Courier Prime,monospace;font-size:10.5px;letter-spacing:.08em;color:var(--ink-faint);margin-top:4px}.detail-frame{max-width:560px;margin:0 auto;padding:0 0 48px}.detail__back{display:flex;align-items:center;min-height:var(--tap);padding:0 16px;font-size:13px;color:var(--ink-soft)}@media (min-width: 960px){.detail-frame{max-width:1040px;padding:24px 24px 64px}.detail__back{padding:0 0 12px}}.detail{background:var(--kraft);display:grid;grid-template-columns:1fr}@media (min-width: 960px){.detail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}}.detail__photo{position:relative;aspect-ratio:4 / 3;background:repeating-linear-gradient(45deg,#e3d5b8 0,#e3d5b8 10px,#dccdad 10px,#dccdad 20px);border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:center}.detail__photo img{width:100%;height:100%;object-fit:cover}.detail__photo-open{width:100%;height:100%;border:none;padding:0;margin:0;background:none;cursor:zoom-in;display:block}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14100aeb;display:flex;align-items:center;justify-content:center}.lightbox__image{max-width:92vw;max-height:88vh;object-fit:contain;cursor:default}.lightbox__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff1f;color:var(--kraft);font-size:18px;cursor:pointer}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;border-radius:50%;background:#ffffff1f;color:var(--kraft);font-size:26px;line-height:1;cursor:pointer}.lightbox__nav--prev{left:14px}.lightbox__nav--next{right:14px}.lightbox__count{position:absolute;bottom:16px;left:50%;transform:translate(-50%);color:var(--kraft);font-family:Courier Prime,monospace;font-size:12px;letter-spacing:.08em}@media (min-width: 960px){.detail__photo{border:1px solid var(--card-border);border-radius:4px;position:sticky;top:24px}}.detail__photo-label{font-family:Courier Prime,monospace;font-size:11px;letter-spacing:.12em;color:var(--ink-soft)}.detail__price{position:absolute;bottom:14px;right:14px;background:var(--accent);color:var(--accent-ink);font-family:Courier Prime,monospace;font-weight:700;font-size:20px;padding:7px 12px;transform:rotate(-3deg)}.detail__body{padding:20px 16px}@media (min-width: 960px){.detail__body{padding:0}}.detail__title{font-size:22px;font-weight:700;margin:0;line-height:1.25}@media (min-width: 600px){.detail__title{font-size:26px}}.detail__meta{font-size:13px;color:var(--ink-soft);margin-top:6px}.detail__tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.detail__tag{display:flex;align-items:center;min-height:32px;font-size:12px;font-weight:600;color:var(--ink);background:var(--tan);padding:0 11px}.detail__tag--outline{font-weight:400;background:none;border:1px solid rgba(36,31,24,.3)}.detail__reserved-banner{margin-top:16px;padding:12px 14px;background:var(--tan);border:1px solid rgba(36,31,24,.25);font-size:13px;color:var(--ink)}.detail__description{margin-top:16px;padding:16px;background:var(--card);border:1px solid var(--card-border);font-family:Caveat,cursive;font-size:19px;line-height:1.4;color:var(--ink)}.detail__seller{margin-top:16px;display:flex;align-items:center;gap:12px;padding:14px;background:var(--card);border:1px solid var(--card-border)}.detail__seller-avatar{width:44px;height:44px;border-radius:50%;background:var(--board);flex:none}.detail__seller-name{font-size:15px;font-weight:600}.detail__seller-meta{font-size:12px;color:var(--ink-soft)}.detail__contact{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:18px;padding:0 15px;border:none;background:var(--ink);color:var(--kraft);text-decoration:none;font-weight:700;font-size:15px;font-family:inherit;cursor:pointer}.detail__contact:disabled{cursor:not-allowed;opacity:.55}.detail__contact-note{margin-top:10px;text-align:center;font-size:12px;color:var(--ink-faint);padding:0 16px}@media (min-width: 960px){.detail__contact-note{padding:0}}.status-card{max-width:420px;margin:48px auto;text-align:center;padding:28px 20px;background:var(--card);border:1px solid var(--card-border);font-size:15px}.status-card__back{display:inline-flex;align-items:center;min-height:var(--tap);margin-top:8px;font-size:13px;color:var(--accent)}
