:root{--desk:#23211c;--desk-glow:#353028;--paper:#f6efdc;--ink:#2e2a22;--faded:#827a68;--rule:#b3a98c;--accent:#9d2f1e;--edge:7px;--mono:"Courier Prime", "Shippori Mincho", "Noto Serif JP", "Courier New", Courier, ui-monospace, monospace;--brush:"Yuji Syuku", "Shippori Mincho", serif}*,:before,:after{box-sizing:border-box}html{color-scheme:light}body{background:radial-gradient(120% 90% at 50% 0%, var(--desk-glow), var(--desk) 62%);min-height:100vh;font-family:var(--mono);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:clamp(20px,5vh,56px) 16px;font-size:14px;line-height:1.45;display:flex}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px dashed var(--accent);outline-offset:3px}.sheet{filter:drop-shadow(0 22px 30px #0006)drop-shadow(0 4px 8px #0000004d);width:min(400px,100%);margin:auto;position:relative;transform:rotate(-.4deg)}.sheet:before,.sheet:after{content:"";width:100%;height:var(--edge);background:var(--paper);pointer-events:none;position:absolute;left:0}.sheet:before{top:calc(-1 * var(--edge));mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M0 7 L6 0 L12 7 Z'/%3E%3C/svg%3E");mask-repeat:repeat-x;mask-size:12px var(--edge)}.sheet:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M0 0 L12 0 L6 7 Z'/%3E%3C/svg%3E");mask-repeat:repeat-x;mask-size:12px var(--edge);top:100%}.paper{background-color:var(--paper);background-image:radial-gradient(140% 110% at 50% 30%,#0000 62%,#604a261a),repeating-linear-gradient(0deg,#2e2a2205 0 1px,#0000 1px 4px);padding:34px 26px 30px;position:relative}.doc-title{border:2px solid var(--ink);outline:1px solid var(--ink);outline-offset:2px;letter-spacing:.18em;text-indent:.18em;padding:5px 7px;font-size:12.5px;font-weight:700;position:absolute;top:28px;right:24px}.stamp{width:76px;height:76px;color:var(--accent);opacity:.78;mix-blend-mode:multiply;pointer-events:none;user-select:none;position:absolute;top:52px;right:34px;transform:rotate(10deg)}.stamp svg{width:100%;height:100%;display:block}.side{writing-mode:vertical-rl;letter-spacing:.32em;color:var(--faded);pointer-events:none;user-select:none;font-size:10.5px;position:absolute;top:34px;left:12px}.kicker{text-align:center;letter-spacing:.26em;text-transform:none;color:var(--faded);margin:0;font-size:11.5px;font-weight:500}.shop-name{text-align:center;font-family:var(--brush);letter-spacing:.14em;margin:10px 0 4px;padding-left:.14em;font-size:clamp(32px,9vw,40px);font-weight:400;line-height:1.18}.shop-sub{text-align:center;letter-spacing:.42em;text-transform:uppercase;color:var(--faded);margin:0 0 12px;padding-left:.42em;font-size:10.5px}.addr{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--faded);margin:0;font-size:11.5px}hr{border:none;border-top:1px solid var(--rule);margin:16px 0}hr.double{border-top:3px double var(--ink)}.meta{text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;row-gap:4px;font-size:12.5px;display:flex}.items{margin:0;padding:0;list-style:none}.row{align-items:baseline;gap:8px;padding:7px 0;display:flex}.entry{flex-direction:column;min-width:0;display:flex}.label{letter-spacing:.04em;text-transform:uppercase;font-weight:700}.label-line{align-items:baseline;gap:10px;display:flex}.demo{letter-spacing:.08em;color:var(--accent);font-size:11px;font-weight:700}.demo:hover{text-decoration:underline dotted}.arrow{font-weight:400;display:inline-block}.label:hover{color:var(--accent)}.row:has(.label:hover) .leader{border-bottom-color:var(--accent)}.note{color:var(--ink);margin-top:2px;font-size:12px}.note-en{color:var(--faded);margin-top:1px;font-size:11px}.leader{border-bottom:2px dotted var(--rule);flex:1;min-width:14px;transition:border-color .12s;transform:translateY(-3px)}.price{white-space:nowrap;font-size:13px;font-weight:700}.totals{font-size:13px}.tline{justify-content:space-between;gap:12px;padding:3px 0;display:flex}.tline .filler{border-bottom:1px dotted var(--rule);flex:1;transform:translateY(-4px)}.tline.grand{border-top:3px double var(--ink);margin-top:10px;padding-top:9px;font-size:19px;font-weight:700}.tnote{color:var(--faded);margin:6px 0 0;font-size:11px}.also{text-align:center;letter-spacing:.3em;text-transform:uppercase;color:var(--faded);margin:0 0 8px;font-size:10.5px}.contacts{letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:2px 0;margin:0;padding:0;font-size:13px;font-weight:700;list-style:none;display:flex}.contacts li+li:before{content:"·";color:var(--faded);margin:0 10px;font-weight:400}.contacts a:hover{color:var(--accent)}.barcode{background-image:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 5px, var(--ink) 5px 6px, transparent 6px 11px, var(--ink) 11px 15px, transparent 15px 17px), repeating-linear-gradient(90deg, transparent 0 3px, var(--ink) 3px 5px, transparent 5px 19px);max-width:260px;height:52px;margin:24px auto 8px}.serial{text-align:center;letter-spacing:.5em;padding-left:.5em;font-size:12px}.fineprint{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:var(--faded);margin:20px 0 0;font-size:10.5px;line-height:2}.fineprint strong{color:var(--ink)}@media print{body{background:#fff;padding:0;display:block}.sheet{filter:none;width:80mm;margin:0 auto;transform:none}}@media (width<=389px){.doc-title,.stamp{display:none}}
