:root{color-scheme:light;--bg:#f8f5ef;--surface:#fffaf2;--surface-strong:#fff;--text:#221b15;--muted:#7d7063;--line:#eadfce;--accent:#d46b2c;--accent-dark:#9f4215;--shadow:0 18px 60px rgba(55,38,22,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top left,rgba(255,214,174,.55),transparent 34rem),var(--bg);color:var(--text);margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-shell{display:flex;flex-direction:column;min-height:100vh}.site-footer,.site-header,main{margin:0 auto;width:min(1180px,calc(100% - 32px))}.site-header{align-items:center;display:flex;gap:24px;justify-content:space-between;padding:28px 0}.footer-links,.site-nav{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.95rem;font-weight:700;gap:10px 18px}.footer-links a,.site-nav a{transition:color .16s ease}.footer-links a.router-link-active,.footer-links a:hover,.site-nav a.router-link-active,.site-nav a:hover{color:var(--accent-dark)}.brand{align-items:center;display:inline-flex;gap:12px}.brand-mark{background:var(--text);border-radius:16px;color:var(--surface);display:grid;font-weight:800;height:48px;place-items:center;width:48px}.brand small,.brand strong{display:block}.brand small,.eyebrow,.header-note,.result-count,.site-footer{color:var(--muted)}main{flex:1}.hero{align-items:end;display:grid;gap:32px;grid-template-columns:minmax(0,1fr) auto;padding:56px 0 34px}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;margin:0 0 10px;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:clamp(2.3rem,7vw,5.4rem);letter-spacing:-.07em;line-height:.95;margin-bottom:16px;max-width:760px}.hero-text{color:var(--muted);font-size:1.12rem;line-height:1.7;max-width:620px}.hero-card,.notice-card,.state-card{background:#fffaf2d1;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.hero-card{min-width:190px;padding:24px}.hero-card strong{display:block;font-size:3rem;line-height:1}.hero-card span{color:var(--muted)}.toolbar{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:28px}.search-input{background:var(--surface-strong);border:1px solid var(--line);border-radius:999px;color:var(--text);font:inherit;outline:none;padding:15px 20px;width:min(520px,100%)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #d46b2c24}.product-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));padding-bottom:56px}.product-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:30px;box-shadow:0 10px 34px #37261614;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.product-card.in-request{border-color:#d46b2c8c;box-shadow:0 14px 42px #9f421529}.product-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.detail-image-wrap,.product-image-wrap{background:#eee1d0;display:grid;overflow:hidden;place-items:center}.product-image-wrap{aspect-ratio:1;position:relative}.selection-badge{background:var(--text);border-radius:999px;box-shadow:0 8px 22px #221b1538;color:var(--surface);font-size:.78rem;font-weight:900;letter-spacing:.02em;padding:8px 11px;position:absolute;right:12px;top:12px;z-index:1}.detail-image-wrap img,.product-image-wrap img{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}.product-image-wrap img{inset:0;position:absolute}.product-card-body{display:grid;gap:12px;padding:18px}.product-card h2{font-size:1.05rem;line-height:1.25;margin:0}.product-card p{color:var(--muted);display:-webkit-box;font-size:.93rem;line-height:1.6;margin:0;min-height:3.2em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.detail-price,.product-card strong{color:var(--accent-dark);font-size:1.18rem}.state-card{display:grid;gap:8px;margin-bottom:56px;padding:28px}.error-card{background:#fff2ef;border-color:#efb6a8}.state-card small{color:var(--muted)}.image-placeholder{color:var(--muted);display:grid;height:100%;min-height:180px;place-items:center;width:100%}.image-placeholder.large{min-height:420px}.back-link{color:var(--accent-dark);display:inline-flex;font-weight:700;margin:24px 0}.product-detail{align-items:start;display:grid;gap:42px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);padding-bottom:64px}.detail-image-wrap{aspect-ratio:1;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow)}.thumb-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));margin-top:16px}.thumb-button{aspect-ratio:1;background:var(--surface-strong);border:2px solid transparent;border-radius:18px;cursor:pointer;overflow:hidden;padding:0}.thumb-button.active{border-color:var(--accent)}.thumb-button img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.detail-content{background:#fffaf2e0;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);padding:clamp(24px,4vw,40px);position:sticky;top:24px}.detail-content h1{font-size:clamp(2rem,5vw,4rem);margin-bottom:18px}.detail-description{color:var(--muted);line-height:1.8;margin-top:26px;white-space:pre-line}.availability-badge{border-radius:999px;display:inline-flex;font-weight:800;margin:0 0 18px;padding:8px 12px}.availability-badge.unavailable,.sold-notice{background:#fff2ef;color:#8c1f11}.notice-card{box-shadow:none;color:var(--muted);margin-top:28px;padding:18px}.primary-button{background:var(--accent);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:800;justify-content:center;margin-top:28px;padding:16px 22px;transition:background .16s ease,transform .16s ease;width:100%}.primary-button:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.62}.form-error{background:#fff2ef;border-left:4px solid #c7361f;color:#8c1f11}.form-error,.success-note{border-radius:12px;margin:16px 0 0;padding:12px 14px}.success-note{background:#e9f8ef;border-left:4px solid #1d8f4f;color:#176b3a}.text-link{color:var(--accent-dark);font-weight:800}.info-page{padding:56px 0 72px}.info-page h1{margin-bottom:18px}.info-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:34px}.info-card{background:#fffaf2e0;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 34px #37261614;padding:clamp(20px,3vw,28px)}.info-card h2{font-size:1.22rem;margin:0 0 12px}.detail-list,.info-card p,.info-list{color:var(--muted);line-height:1.75}.info-list{margin:0;padding-left:1.2rem}.detail-list{display:grid;gap:16px;margin:0}.detail-list div{display:grid;gap:4px}.detail-list dt{color:var(--text);font-weight:800}.detail-list dd{margin:0}.todo-note{background:#d46b2c17;border-left:4px solid var(--accent);border-radius:12px;padding:12px 14px}.admin-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.secondary-button{background:var(--surface-strong);border:1px solid var(--line);border-radius:999px;color:var(--accent-dark);cursor:pointer;display:inline-flex;font:inherit;font-weight:800;justify-content:center;padding:12px 18px}.full-width-button{margin-top:12px;width:100%}.link-button{background:transparent;border:0;color:var(--accent-dark);cursor:pointer;font:inherit;font-weight:800;padding:0}.danger-link{color:#8c1f11}.compact-hero{padding-bottom:22px}.request-layout{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) minmax(320px,430px);padding-bottom:64px}.request-items{display:grid;gap:16px}.request-item{align-items:center;background:var(--surface-strong);border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 34px #37261614;display:grid;gap:18px;grid-template-columns:120px minmax(0,1fr);padding:14px}.request-item-image{aspect-ratio:1;background:#eee1d0;border-radius:18px;display:grid;overflow:hidden;place-items:center}.request-item-image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.request-item h2{font-size:1.08rem;margin:0 0 8px}.request-item strong{color:var(--accent-dark)}.request-item-actions{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px}.request-summary{background:#fffaf2eb;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:clamp(20px,3vw,28px);position:sticky;top:24px}.request-summary h2{margin-bottom:14px}.request-steps{color:var(--muted);line-height:1.7;margin:0 0 8px;padding-left:1.2rem}.request-steps li{margin-bottom:4px}.empty-request{align-items:start;gap:16px}.inline-primary{margin-top:0;padding:14px 22px;width:auto}.field-label{color:var(--text);display:block;font-weight:800;margin:14px 0 8px}.text-area{background:var(--surface-strong);border:1px solid var(--line);border-radius:18px;color:var(--text);font:inherit;line-height:1.5;padding:14px;resize:vertical;width:100%}.text-area:focus{border-color:var(--accent);box-shadow:0 0 0 4px #d46b2c24;outline:none}.button-stack{display:grid;gap:12px;margin-top:16px}.admin-table-wrap{background:var(--surface-strong);border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 34px #37261614;overflow-x:auto}.admin-table{border-collapse:collapse;min-width:980px;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--line);padding:16px;text-align:left;vertical-align:top}.admin-table th{background:#d46b2c14;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.admin-table tr:last-child td{border-bottom:0}.admin-table small{color:var(--muted);display:block;margin-top:6px;max-width:320px}.admin-table code{color:var(--muted);font-size:.82rem}.status-pill{border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:800;padding:6px 10px}.status-paid{background:#e7f8ef;color:#176b3a}.status-pending{background:#fff4d7;color:#7a5410}.status-failed{background:#fff0ee;color:#9a2615}.status-expired{background:#eee;color:#5d5d5d}.site-footer{border-top:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:24px 0 32px}@media(max-width:760px){.hero,.site-footer,.site-header,.toolbar{align-items:flex-start;flex-direction:column}.footer-links,.site-nav{gap:10px 14px}.admin-header,.hero,.product-detail,.request-item,.request-layout{grid-template-columns:1fr}.detail-content,.request-summary{position:static}.request-item-image{width:100%}}
