@import "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap";:root{color:#f4ead7;font-synthesis:none;background:#18130e;font-family:Zen Maru Gothic,Noto Sans JP,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{background:#18130e}body{background:#18130e;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.site{background-color:#18130e;background-image:linear-gradient(#9a84681a 1px,#0000 1px),linear-gradient(90deg,#9a84681a 1px,#0000 1px);background-size:25px 25px;min-height:100dvh}.topbar{background:#18130ef5;border-top:4px solid #5c4940;border-bottom:1px solid #9a8468;justify-content:space-between;align-items:center;max-width:none;padding:16px max(24px,50% - 560px);display:flex}.brand{color:#f4ead7;letter-spacing:-.03em;font-size:18px;font-weight:700;text-decoration:none}.brand:hover{color:#e8849a}.topbar-nav{align-items:center;gap:16px;display:flex}.topbar-nav a{color:#f4ead7;border:1px dashed #9a8468;border-radius:7px;padding:6px 12px;font-size:13px;text-decoration:none;transition:border-color .15s,color .15s}.topbar-nav a:hover{color:#e8849a;border-color:#e8849a}.container{min-width:0;max-width:1120px;margin:0 auto;padding:48px 24px 64px}.intro{border-bottom:1px solid #9a8468;min-width:0;max-width:none;margin-bottom:24px;padding-bottom:40px}h1{color:#f4ead7;letter-spacing:-.05em;margin:0;font-size:clamp(34px,5vw,46px);line-height:1.2}h2{color:#f4ead7;letter-spacing:-.03em;margin:0;font-size:21px;line-height:1.4}h3{color:#f4ead7;margin:0;font-size:15px}p{line-height:1.7}.muted{color:#b9aa91}.status-line{color:#b9aa91;border-top:1px solid #9a8468;border-bottom:1px solid #9a8468;grid-template-columns:repeat(2,minmax(0,1fr));max-width:330px;margin:26px 0 0 auto;font-size:12px;display:grid}.status-line span{gap:4px;padding:11px 16px;display:grid}.status-line span+span{border-left:1px solid #9a8468}.status-line strong{color:#f4ead7;font-size:13px}.status-line span:last-child strong{color:#e8849a}.notice,.error{border:1px solid;align-items:flex-start;gap:10px;margin:18px 0 24px;padding:12px 14px;font-size:13px;display:flex}.notice{color:#d6ead8;background:#1d3024;border-color:#52795f}.error{color:#f2d2cc;background:#351b19;border-color:#8a4a43}.warning{color:#f5dfb5;background:#3a2a17;border-color:#aa8750}.layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:32px;min-width:0;display:grid}.section,.summary,.lookup{border-radius:0;min-width:0}.section{border-top:1px solid #9a8468;border-bottom:1px solid #9a8468}.section-head{border-bottom:1px solid #9a8468;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;display:flex}.inventory-state{color:#b9aa91;font-size:12px}.categories{scrollbar-width:none;border-bottom:1px solid #9a8468;gap:8px;margin:0;padding:12px 0;display:flex;overflow-x:auto}.categories::-webkit-scrollbar{display:none}.category{color:#b9aa91;background:0 0;border:1px dashed #9a8468;border-radius:6px;flex:none;padding:6px 12px;font-size:13px;transition:border-color .15s,color .15s,background .15s}.category:hover{color:#e8849a;border-color:#e8849a}.category.active{color:#241b15;background:#e8849a;border-color:#e8849a;font-weight:700}.products{display:block}.product{color:#f4ead7;text-align:left;background:0 0;border:0;border-bottom:1px solid #6d5d4c;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:16px;min-width:0;min-height:0;padding:20px 0;transition:background .15s;display:grid}.product:hover{background:#2d221ab8}.product-info,.product-actions{min-width:0}.product-actions{justify-items:end;gap:10px;display:grid}.product-name{color:#f4ead7;font-weight:700;line-height:1.45}.product-meta{color:#b9aa91;justify-content:flex-end;align-items:baseline;gap:16px;font-size:12px;display:flex}.price{color:#f4ead7;font-size:18px;font-weight:700}.product.low .product-meta{color:#e8849a}.product.low .price{color:#f4ead7}.line-controls{align-items:center;gap:8px;display:flex}.qty-button{color:#f4ead7;background:0 0;border:1px solid #9a8468;border-radius:5px;width:32px;height:32px;padding:0;transition:border-color .15s,color .15s}.qty-button:hover:not(:disabled){color:#e8849a;border-color:#e8849a}.qty{color:#f4ead7;text-align:center;font-variant-numeric:tabular-nums;min-width:18px;font-size:14px}.summary{color:#f4ead7;background:#241b15;border:1px solid #9a8468;padding:20px;position:sticky;top:20px;box-shadow:3px 4px #e8849a24}.summary-head{border-bottom:1px solid #9a8468;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:13px;display:flex}.selection-count{color:#e8849a;white-space:nowrap;font-size:11px;font-weight:700}.empty{color:#b9aa91;background:#18130e;border:1px dashed #6d5d4c;margin:0 0 20px;padding:14px;font-size:13px}.line{border-bottom:1px solid #6d5d4c;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 0;display:grid}.line-info{min-width:0}.line-name{color:#f4ead7;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.line-price{color:#b9aa91;font-size:12px}.total{color:#b9aa91;justify-content:space-between;align-items:baseline;margin:20px 0;font-size:13px;font-weight:700;display:flex}.total strong{color:#f4ead7;font-variant-numeric:tabular-nums;font-size:28px}.primary,.secondary{border-radius:7px;width:100%;min-height:44px;padding:10px 14px;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.primary{color:#241b15;background:#e8849a;border:1px solid #e8849a}.primary:hover:not(:disabled){background:#f4ead7;border-color:#f4ead7}.secondary{color:#f4ead7;background:0 0;border:1px dashed #9a8468}.secondary:hover:not(:disabled){color:#e8849a;border-color:#e8849a}.actions{gap:8px;display:grid}.field{gap:6px;margin:16px 0;display:grid}.field label{color:#f4ead7;font-size:13px;font-weight:700}.field input{box-sizing:border-box;color:#f4ead7;background:#18130e;border:1px solid #9a8468;border-radius:6px;outline:none;width:100%;min-width:0;min-height:42px;padding:9px 12px}.field input::placeholder{color:#b9aa91}.field input:focus{outline-offset:1px;border-color:#e8849a;outline:1px solid #e8849a}.help{color:#b9aa91;margin:5px 0 0;font-size:11px;line-height:1.7}.lookup{border-top:1px solid #9a8468;border-bottom:1px solid #9a8468;margin-top:40px;padding:20px 0}.lookup .help{margin:8px 0 20px}.lookup form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.lookup .field{margin:0}.lookup .secondary{white-space:nowrap;width:auto}.reservation-result{border-top:1px solid #9a8468;margin-top:24px;padding-top:20px}.key{color:#f4ead7;letter-spacing:.08em;text-align:center;background:#18130e;border:1px solid #9a8468;margin:12px 0;padding:12px;font-size:17px;font-weight:900}.qr-wrap{justify-items:center;gap:12px;margin:18px 0 0;display:grid}.qr-wrap img{width:220px;height:220px;image-rendering:pixelated;background:#fff}.download{color:#f4ead7;border:1px dashed #9a8468;border-radius:6px;padding:6px 12px;font-size:12px;text-decoration:none;transition:border-color .15s,color .15s}.download:hover{color:#e8849a;border-color:#e8849a}.modal-backdrop{z-index:20;background:#0c0906d1;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.reservation-modal{color:#f4ead7;background:#241b15;border:1px solid #9a8468;width:min(100%,520px);max-height:min(90dvh,760px);padding:22px;overflow-y:auto;box-shadow:4px 5px #e8849a29}.modal-header{border-bottom:1px solid #9a8468;justify-content:space-between;align-items:start;gap:16px;padding-bottom:14px;display:flex}.modal-kicker{color:#b9aa91;margin:0 0 4px;font-size:11px}.modal-header h2{margin:0}.modal-close{color:#f4ead7;background:0 0;border:1px dashed #9a8468;border-radius:6px;flex:none;min-height:36px;padding:7px 12px;font-size:12px;font-weight:700}.modal-close:hover{color:#e8849a;border-color:#e8849a}.modal-status{color:#e8849a;margin-top:18px;font-size:13px;font-weight:700}.modal-key{color:#f4ead7;letter-spacing:.08em;text-align:center;background:#18130e;border:1px solid #9a8468;margin:12px 0;padding:12px;font-size:17px;font-weight:900}.modal-lines{border-top:1px solid #6d5d4c}.modal-line{border-bottom:1px solid #6d5d4c;justify-content:space-between;gap:14px;padding:11px 0;font-size:13px;display:flex}.modal-line strong{color:#b9aa91;text-align:right;font-size:12px;font-weight:400}.modal-total{color:#b9aa91;justify-content:space-between;align-items:baseline;margin:18px 0;font-size:13px;font-weight:700;display:flex}.modal-total strong{color:#f4ead7;font-variant-numeric:tabular-nums;font-size:25px}.modal-qr{border-top:1px solid #9a8468;justify-items:center;gap:12px;padding-top:18px;display:grid}.modal-qr img{width:220px;height:220px;image-rendering:pixelated;background:#fff}.reservation-modal>.secondary{margin-top:12px}.turnstile{border:1px dashed #6d5d4c;min-height:65px;margin:16px 0}.footer{color:#b9aa91;max-width:1120px;margin:0 auto;padding:0 24px 32px;font-size:12px}@media (width>=841px){.intro{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;display:flex}.intro h1{max-width:700px}.status-line{margin-top:0}}@media (width<=840px){.layout{grid-template-columns:1fr}.summary{position:static}}@media (width<=560px){.topbar{padding:14px 16px}.container{padding:32px 16px 48px}.intro{padding-bottom:28px}.status-line{max-width:none;margin-top:22px}.status-line span{padding:10px 12px}.product{gap:10px;padding:16px 0}.product-actions{gap:9px}.product-meta{flex-direction:column;align-items:end;gap:2px}.qty-button{width:36px;height:36px;font-size:18px}.summary{padding:17px}.summary-head{padding-bottom:12px}.summary .field input,.lookup .field input{min-height:44px;font-size:16px}.lookup{margin-top:32px}.lookup form{grid-template-columns:1fr}.lookup .secondary{width:100%}.footer{padding:0 16px 28px}.modal-backdrop{align-items:end;padding:8px}.reservation-modal{max-height:calc(100dvh - 16px);padding:17px}.modal-line{flex-direction:column;gap:3px}.modal-line strong{text-align:left}.modal-qr img{aspect-ratio:1;width:min(220px,70vw);height:auto}}
