:root{--bg:#0d0b09;--panel:#14110edb;--panel-solid:#191511;--line:#ece0c83d;--line-strong:#ece0c880;--text:#f1eadb;--text-sub:#cfc4b0;--primary:#ebe1cc;--primary-text:#1a1612;--accent:#b39b70;--radius:2px;--btn-h:48px;--btn-h-s:40px;--gutter:16px;--mincho:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "Noto Serif CJK JP", serif;--gothic:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo", "Noto Sans JP", sans-serif;--top-h:56px;--notice-h:32px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width>=600px){:root{--gutter:24px}}@media (aspect-ratio>=9/10) and (width>=700px){:root{--top-h:64px;--gutter:32px}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--gothic);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.7}body{overflow:hidden}button{font:inherit;color:inherit}img{display:block}p,h1,h2,dl,dd,ul{margin:0;padding:0}ul{list-style:none}[hidden]{display:none!important}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{position:fixed;inset:0;overflow:hidden}.scene{touch-action:manipulation;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.topbar{height:calc(var(--top-h) + var(--safe-t));padding:var(--safe-t) var(--gutter) 0;z-index:10;background:linear-gradient(#0d0b09cc,#0d0b0900);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.topbar__label{font-family:var(--mincho);letter-spacing:.06em;color:var(--text);font-size:13px;font-weight:600;line-height:1.5}.topbar__label span{white-space:nowrap}@media (width<=599px){.topbar__label{font-size:12px}.topbar__label span{display:block}}.topbar__nav{flex:none;gap:8px;display:flex}.count{border:1px solid var(--line-strong);border-radius:var(--radius);text-align:center;font-variant-numeric:tabular-nums;min-width:24px;height:24px;margin-left:8px;padding:0 4px;font-size:13px;line-height:22px;display:inline-block}.btn{min-height:var(--btn-h);border-radius:var(--radius);letter-spacing:.06em;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 24px;font-size:15px;font-weight:500;line-height:1.3;transition:background-color .2s,color .2s,border-color .2s,opacity .2s;display:inline-flex;position:relative}.btn:after{content:"";position:absolute;inset:-4px}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:default}.btn--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn--line{border-color:var(--line-strong);color:var(--text)}.btn--quiet{border-color:var(--line);color:var(--text);background:#0d0b0980}.btn--text{min-height:var(--btn-h-s);color:var(--text-sub);text-underline-offset:4px;padding:0 8px;text-decoration:underline}.btn--s{min-height:var(--btn-h-s);padding:0 16px;font-size:14px}.btn--icon{width:var(--btn-h);letter-spacing:0;padding:0;font-size:18px}.btn--wide{width:100%}@media (hover:hover){.btn--primary:not(:disabled):hover{color:var(--primary);background:0 0}.btn--line:not(:disabled):hover,.btn--quiet:not(:disabled):hover{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn--text:not(:disabled):hover{color:var(--text)}}.notice{height:calc(var(--notice-h) + var(--safe-b));padding-bottom:var(--safe-b);border-top:1px solid var(--line);letter-spacing:.04em;color:var(--text-sub);z-index:60;background:#0d0b09d6;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.panel{left:var(--gutter);right:var(--gutter);bottom:calc(var(--notice-h) + var(--safe-b) + 16px);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);opacity:0;visibility:hidden;z-index:5;padding:24px;transition:opacity .5s,transform .5s,visibility 0s linear .5s;position:absolute;transform:translateY(8px)}.panel.is-on{opacity:1;visibility:visible;transition:opacity .6s,transform .6s,visibility;transform:none}@media (aspect-ratio>=9/10) and (width>=700px){.panel{width:min(400px,34vw - 48px);min-width:336px;right:auto;bottom:calc(var(--notice-h) + 32px);padding:32px}.panel--shelf{width:min(320px,26vw);min-width:280px;padding:24px}}.panel__kicker{letter-spacing:.08em;color:var(--accent);margin-bottom:8px;font-size:12px}.panel__title{font-family:var(--mincho);letter-spacing:.08em;margin-bottom:8px;font-size:28px;font-weight:600;line-height:1.4}.panel__title--m{letter-spacing:.06em;font-size:22px}.panel__text{color:var(--text-sub);margin-bottom:16px;font-size:14px;line-height:1.8}.panel__text--s{margin-bottom:8px;font-size:13px}.panel__price{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin-bottom:24px;display:flex}.panel__price>span:nth-child(2){font-family:var(--mincho);letter-spacing:.02em;font-size:22px;font-weight:600}.panel__price-label{letter-spacing:.06em;color:var(--text-sub);border:1px solid var(--line);border-radius:var(--radius);padding:0 8px;font-size:12px}.panel__tax{color:var(--text-sub);margin-left:-8px;font-size:12px}.panel__note{color:var(--text-sub);margin:0 0 16px;font-size:12px;line-height:1.7}.panel__actions{gap:8px;display:grid}.panel__actions--row{grid-template-columns:1fr 1fr}.panel--status{justify-content:space-between;align-items:center;gap:16px;padding:16px 16px 16px 24px;display:flex}.panel__status{font-family:var(--mincho);letter-spacing:.08em;font-size:16px}.panel__status:after{content:"";vertical-align:middle;background:var(--accent);width:24px;height:1px;margin-left:16px;animation:1.6s ease-in-out 3 breathe;display:inline-block}@keyframes breathe{50%{width:48px}}.result{grid-template-columns:96px 1fr;gap:16px;margin-bottom:16px;display:grid}.result__img,.detail__img,.grid__img,.cart-item__img{aspect-ratio:2/3;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);background:#2a241e;width:100%;height:auto}.result__no{letter-spacing:.06em;color:var(--text-sub);margin-bottom:4px;font-size:12px}.tag{letter-spacing:.06em;color:var(--text);border-bottom:1px solid var(--accent);margin-bottom:8px;font-size:12px;display:inline-block}.sheet{z-index:20;opacity:0;background:#08070580;transition:opacity .3s;position:absolute;inset:0}.sheet.is-on{opacity:1}.sheet__inner{left:0;right:0;bottom:calc(var(--notice-h) + var(--safe-b));max-height:calc(100% - var(--top-h) - var(--safe-t) - 8px - var(--notice-h) - var(--safe-b));overscroll-behavior:contain;padding:24px var(--gutter);background:var(--panel-solid);border-top:1px solid var(--line);transition:transform .35s;position:absolute;overflow-y:auto;transform:translateY(24px)}.sheet.is-on .sheet__inner{transform:none}@media (aspect-ratio>=9/10) and (width>=700px){.sheet__inner{width:440px;max-height:none;padding:calc(var(--top-h) + 16px) 32px 32px;border-top:0;border-left:1px solid var(--line);top:0;left:auto;transform:translate(24px)}.sheet--wide .sheet__inner{width:min(960px,92vw)}}.sheet__close{position:absolute;top:8px;right:8px}@media (aspect-ratio>=9/10) and (width>=700px){.sheet__close{top:calc(var(--top-h) + 8px);right:24px}}.detail{grid-template-columns:112px 1fr;gap:16px;margin:16px 0 8px;display:grid}@media (width>=600px){.detail{grid-template-columns:1fr}.detail__img{width:200px}}.qty{align-items:center;gap:8px;margin-bottom:16px;display:flex}.qty__label{color:var(--text-sub);letter-spacing:.06em;margin-right:auto;font-size:13px}.qty__value{text-align:center;font-variant-numeric:tabular-nums;min-width:40px;font-size:18px}.grid{border-top:1px solid var(--line);grid-template-columns:1fr;margin-top:16px;display:grid}@media (width>=700px){.grid{grid-template-columns:1fr 1fr;column-gap:32px}}.grid__item{border-bottom:1px solid var(--line);grid-template-columns:104px 1fr;gap:16px;padding:16px 0;display:grid}.grid__body{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.grid__name{font-family:var(--mincho);letter-spacing:.06em;font-size:16px;font-weight:600;line-height:1.5}.grid__meta{color:var(--text-sub);font-size:12px}.grid__price{font-variant-numeric:tabular-nums;font-size:14px}.grid__item .btn{margin-top:auto}.grid__price{margin-bottom:8px}.cart-empty{color:var(--text-sub);margin:16px 0;font-size:14px}.cart-list{border-top:1px solid var(--line);margin:16px 0}.cart-item{border-bottom:1px solid var(--line);grid-template-columns:56px 1fr;gap:16px;padding:16px 0;display:grid}.cart-item__name{font-family:var(--mincho);letter-spacing:.06em;font-size:15px;font-weight:600}.cart-item__price{color:var(--text-sub);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:13px}.cart-item__row{align-items:center;gap:8px;display:flex}.cart-item__row .qty__value{min-width:32px;font-size:16px}.cart-item__row .btn--icon{width:40px;min-height:40px}.cart-item__sum{font-variant-numeric:tabular-nums;margin-left:auto}.cart-total,.done-total{color:var(--text-sub);justify-content:space-between;align-items:baseline;margin:8px 0 16px;font-size:13px;display:flex}.cart-total strong,.done-total strong{font-family:var(--mincho);color:var(--text);font-variant-numeric:tabular-nums;font-size:22px}.done-list{border-top:1px solid var(--line);margin:16px 0 0;font-size:13px}.done-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.modal{z-index:30;padding:var(--gutter) var(--gutter) calc(var(--gutter) + var(--notice-h) + var(--safe-b));opacity:0;background:#0807059e;place-items:center;transition:opacity .3s;display:grid;position:absolute;inset:0}.modal.is-on{opacity:1}.modal__inner{background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);width:min(420px,100%);max-height:calc(100% - 32px);padding:32px 24px 24px;overflow-y:auto}.confirm{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;gap:8px 16px;margin:16px 0;padding:16px 0;font-size:14px;display:grid}.confirm dt{color:var(--text-sub);font-size:13px}.hover-label{z-index:8;pointer-events:none;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--mincho);letter-spacing:.06em;opacity:0;white-space:nowrap;background:#0d0b09db;padding:4px 8px;font-size:14px;transition:opacity .15s;position:absolute}.hover-label.is-on{opacity:1}.toast{z-index:40;left:50%;top:calc(var(--top-h) + var(--safe-t) + 8px);background:var(--primary);color:var(--primary-text);border-radius:var(--radius);letter-spacing:.04em;opacity:0;pointer-events:none;white-space:nowrap;padding:8px 16px;font-size:14px;transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%,-8px)}.toast.is-on{opacity:1;transform:translate(-50%)}.loader{z-index:50;background:var(--bg);place-content:center;justify-items:center;gap:16px;transition:opacity .8s,visibility 0s linear .8s;display:grid;position:absolute;inset:0}.app:not(.is-loading) .loader{opacity:0;visibility:hidden}.loader__title{font-family:var(--mincho);letter-spacing:.1em;font-size:15px;font-weight:600}.loader__bar{background:var(--line);width:160px;height:1px;overflow:hidden}.loader__fill{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform .3s;display:block;transform:scaleX(0)}.loader__text{letter-spacing:.08em;color:var(--text-sub);font-size:12px}.flat,.app.is-flat .scene{display:none}.app.is-flat .flat{background:radial-gradient(ellipse at 50% 35%, #ffd6a029, #0d0b0900 60%), var(--bg);display:block;position:absolute;inset:0}.flat-note{z-index:6;top:calc(var(--top-h) + var(--safe-t) + 8px);left:var(--gutter);right:var(--gutter);color:var(--text-sub);font-size:13px;position:absolute}@media (aspect-ratio>=9/10) and (width>=700px){.panel .btn{padding:0 16px}}@media (aspect-ratio<=9/10) and (height<=760px){.panel{bottom:calc(var(--notice-h) + var(--safe-b) + 8px);padding:16px}.panel__kicker{margin-bottom:4px}.panel__title{margin-bottom:4px;font-size:22px}.panel__title--m{font-size:19px}.panel__text{margin-bottom:8px;font-size:13px;line-height:1.7}.panel__price{margin-bottom:16px}.panel__note{margin-bottom:8px}.result{grid-template-columns:64px 1fr;gap:16px;margin-bottom:8px}.result .panel__text--s{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:10ms!important;animation:none!important}}
