:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--cream:#fbf6ec;--surface:#fffdf8;--surface-muted:#f4ecdc;--line:#e2d5bd;--text:#2a2420;--text-muted:#5b5148;--green:#1d4d33;--green-dark:#143825;--green-soft:#e3eee6;--red:#9e1f24;--red-dark:#7d171b;--red-soft:#f8e4e2;--gold:#b8892f;--focus:#1d4d33;--radius:14px;--serif:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cream);min-height:100dvh;color:var(--text);font-family:var(--sans);-webkit-text-size-adjust:100%;font-size:16px;line-height:1.5}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{max-width:1120px;margin:0 auto;padding:24px 16px 48px}.page-header{text-align:center;border-bottom:2px solid var(--line);background-image:linear-gradient(90deg, transparent, var(--red) 30%, var(--green) 70%, transparent);background-position:bottom;background-repeat:no-repeat;background-size:100% 2px;margin-bottom:24px;padding-bottom:20px}h1{font-family:var(--serif);color:var(--red);margin:0 0 8px;font-size:clamp(1.9rem,7vw,3rem);font-weight:700;line-height:1.15}h2{font-family:var(--serif);color:var(--green)}.intro{max-width:34em;color:var(--text-muted);margin:0 auto}.admin-bar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;padding:16px}.panel h2{margin:0 0 12px;font-size:1.35rem}.empty{text-align:center;color:var(--text-muted);padding:32px 0}.grid{grid-template-columns:1fr;gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:560px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.grid>li{display:flex}.card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--green);border-radius:var(--radius);flex-direction:column;width:100%;display:flex;overflow:hidden;box-shadow:0 1px 3px #2a24200f}.card.reserved{border-top-color:var(--red)}.card.editing{padding:16px}.card-image{aspect-ratio:4/3;border-bottom:1px solid var(--line);background:#fff;justify-content:center;align-items:center;display:flex}.card-image img{object-fit:contain;width:100%;height:100%;padding:8px}.no-image{color:var(--text-muted);font-size:.9rem}.card-body{flex-direction:column;flex:1;gap:10px;padding:14px 16px 16px;display:flex}.card-title{overflow-wrap:anywhere;margin:0;font-size:1.15rem;line-height:1.3}.details{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0;display:grid}.details dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem}.details dd{overflow-wrap:anywhere;margin:0;font-weight:600}.description,.notes{overflow-wrap:anywhere;margin:0;font-size:.95rem}.description{color:var(--text-muted)}.notes{background:var(--surface-muted);border-radius:8px;padding:8px 10px}.notes-label{font-weight:600}.shop-link{color:var(--green);text-underline-offset:3px;align-self:flex-start;font-weight:600}.shop-link:hover{color:var(--green-dark)}.reserve{margin-top:auto;padding-top:6px}.reserve-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reserve-form,.item-form{flex-direction:column;gap:12px;display:flex}.badge{border-radius:999px;padding:6px 12px;font-size:.95rem;font-weight:600;display:inline-block}.badge.taken{background:var(--red-soft);color:var(--red-dark)}.badge.mine{background:var(--green-soft);color:var(--green-dark)}.admin-controls{border-top:1px dashed var(--line);padding-top:10px}.admin-controls.confirm p{margin:0 0 10px;font-weight:600}.button-row{flex-wrap:wrap;gap:8px;display:flex}.button{font:inherit;cursor:pointer;border:2px solid #0000;border-radius:10px;min-height:44px;padding:8px 16px;font-weight:600}.button:disabled{opacity:.6;cursor:not-allowed}.button.primary{background:var(--green);color:#fff}.button.primary:hover:not(:disabled){background:var(--green-dark)}.button.secondary{background:var(--surface);color:var(--green);border-color:var(--green)}.button.secondary:hover:not(:disabled),.button.secondary[aria-pressed=true]{background:var(--green-soft)}.button.danger{background:var(--red);color:#fff}.button.danger:hover:not(:disabled){background:var(--red-dark)}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field label,.reserve-form label{font-weight:600}.field-pair{gap:12px;display:flex}.field-pair .field{flex:1}.field-pair .field.narrow{flex:0 0 6.5em}.inline-field{flex-direction:column;gap:8px;display:flex}@media (min-width:560px){.inline-field{flex-direction:row}.inline-field input{flex:1}}input,textarea{font:inherit;width:100%;min-height:44px;color:var(--text);background:#fff;border:1px solid #8f8273;border-radius:8px;padding:8px 10px}textarea{resize:vertical}.image-preview{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:220px;margin-top:8px}.image-preview img{object-fit:contain;width:100%;height:auto;max-height:220px;display:block}.image-drop{border:2px dashed var(--line);background:var(--surface-muted);border-radius:10px;margin-top:8px;padding:12px}.image-drop p{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.paste-import{margin-top:4px}.paste-import summary{cursor:pointer;color:var(--green);padding:6px 0;font-weight:600}.paste-import[open]{flex-direction:column;gap:8px;display:flex}.bookmarklet-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:16px;padding:12px 16px;display:none}.bookmarklet-panel h2{margin:0 0 6px;font-size:1.1rem}.bookmarklet-panel p{color:var(--text-muted);margin:0}.bookmarklet{background:var(--red);color:#fff;cursor:grab;border-radius:999px;margin-right:6px;padding:4px 12px;font-weight:600;text-decoration:none;display:inline-block}@media (min-width:760px) and (hover:hover){.bookmarklet-panel{display:block}}@media (hover:none){.desktop-only{display:none}}.hint{color:var(--text-muted);margin:-4px 0 0;font-size:.9rem}.message{color:var(--red-dark);margin:0;font-size:.95rem}.message:empty{display:none}.admin-notice{margin-bottom:16px}.error-panel{text-align:center;max-width:34em;margin:0 auto}
