:root{--ink:#2f2430;--muted:#7a6b74;--line:#eadfdc;--paper:#fff;--cream:#faf6f3;--rose:#8c4b5a;--rose-soft:#f4e4e1;--gold:#b48a4a;--ok:#3d7a5a;--warn:#a8622a;--danger:#b0303f}*{box-sizing:border-box}body{color:var(--ink);background:var(--cream);margin:0;font:15px/1.75 Hiragino Sans,Noto Sans JP,Noto Sans CJK JP,system-ui,sans-serif}a{color:var(--rose)}h1{letter-spacing:.02em;margin:0 0 8px;font-size:26px;line-height:1.4}h2{margin:24px 0 10px;font-size:17px}small{color:var(--muted)}header.top{z-index:10;background:var(--paper);border-bottom:1px solid var(--line);align-items:center;gap:28px;height:64px;padding:0 32px;display:flex;position:sticky;top:0;box-shadow:0 1px 8px #2f24300a}.brand{color:var(--ink);letter-spacing:.04em;white-space:nowrap;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand small{letter-spacing:.08em;font-size:11px;font-weight:500;display:block}.brand span{line-height:1.25}.logo{width:34px;height:34px}header nav{flex:1;align-items:center;gap:4px;display:flex}header nav a{color:var(--ink);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:14px;text-decoration:none}header nav a:hover{background:var(--cream)}header nav a[aria-current=page]{color:var(--rose);background:var(--rose-soft);font-weight:700}header nav a.cart{align-items:center;gap:6px;margin-left:auto;display:flex}header nav a.cart svg{fill:currentColor;width:20px;height:20px}.count{background:var(--rose);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.account{position:relative}.account>button{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 16px;font-size:14px}.account>button:before{content:"";background:var(--gold);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.account [role=menu]{background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:240px;padding:8px 0;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #2f243029}.account .who{border-bottom:1px solid var(--line);margin:0 0 6px;padding:4px 16px 10px;font-weight:700}.account .who small{font-size:12px;font-weight:400;display:block}.account [role=menuitem]{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 16px;font-size:14px;text-decoration:none;display:block}.account [role=menuitem]:hover{background:var(--cream)}main{background:var(--paper);border:1px solid var(--line);border-radius:16px;max-width:1040px;min-height:60vh;margin:28px auto 48px;padding:32px 40px}footer{text-align:center;color:var(--muted);padding:0 0 32px;font-size:12px}footer a{color:var(--muted)}.lead{color:var(--muted);margin-top:0}.eyebrow{color:var(--gold);letter-spacing:.12em;margin:0;font-size:12px;font-weight:700}.meta{color:var(--muted);margin:0;font-size:13px}.crumbs{margin:0 0 12px;font-size:13px}.hero{background:linear-gradient(120deg, var(--rose-soft), #fbf1e6);border-radius:16px 16px 0 0;margin:-32px -40px 24px;padding:32px 40px}.hero .greeting{margin:8px 0 0;font-size:15px;font-weight:400}.stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat{border:1px solid var(--line);border-radius:12px;padding:16px 20px}.stat p{color:var(--muted);margin:0;font-size:13px}.stat strong{font-size:24px;display:block}.stat a{font-size:13px}.panel{border:1px solid var(--line);border-radius:12px;margin:20px 0;padding:4px 20px 16px}.rows{margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line);gap:16px;padding:10px 0;display:flex}.rows time{color:var(--muted);min-width:88px;font-size:13px}.more{margin-top:8px;font-size:13px;display:inline-block}.quick{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.tile{background:var(--cream);color:var(--ink);text-align:center;border-radius:12px;padding:16px;font-weight:600;text-decoration:none;display:block}.tile:hover{background:var(--rose-soft)}.cards{grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.cards.wide{grid-template-columns:repeat(3,1fr)}.card{border:1px solid var(--line);border-radius:12px;padding:12px}.card a{color:var(--ink);margin-top:8px;font-weight:700;text-decoration:none;display:block}.card a:hover{color:var(--rose)}.card p{margin:2px 0 0;font-size:13px}.swatch{aspect-ratio:16/10;background:linear-gradient(140deg, hsl(var(--hue) 45% 88%), hsl(calc(var(--hue) + 30) 40% 72%));border-radius:10px;place-items:center;display:grid}.swatch span{color:#ffffffeb;text-shadow:0 2px 8px #0000001f;font-size:34px;font-weight:700}.price{font-size:16px;font-weight:700}.price small{margin-left:4px;font-size:11px;font-weight:400}.detail{grid-template-columns:280px 1fr;gap:28px;margin-bottom:20px;display:grid}table{border-collapse:collapse;width:100%;margin:8px 0}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:8px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 8px}td input{width:72px}.total{text-align:right}.total strong{font-size:20px}button,.button{font:inherit;border:1px solid var(--rose);background:var(--paper);color:var(--rose);cursor:pointer;border-radius:999px;padding:7px 18px;font-size:14px;text-decoration:none;display:inline-block}button:hover,.button:hover{background:var(--rose-soft)}button.primary,.button:not(.ghost){background:var(--rose);color:#fff}button.primary:hover,.button:not(.ghost):hover{background:#743c4a}button.ghost{border-color:var(--line);color:var(--ink)}.danger{color:var(--danger)!important;border-color:#e7c3c8!important}button.primary.danger{background:var(--danger);color:#fff!important}.actions{flex-wrap:wrap;gap:10px;margin:16px 0 0;display:flex}.toolbar{justify-content:flex-end;display:flex}label{margin:10px 0;font-size:14px;display:block}label input,label select,label textarea{width:100%;font:inherit;border:1px solid var(--line);background:var(--paper);border-radius:8px;margin-top:4px;padding:8px 10px;display:block}label.choice{align-items:center;gap:8px;display:flex}label.choice input{width:auto;margin:0}.facts{grid-template-columns:140px 1fr;gap:6px 16px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.note{color:var(--warn);background:#fbf1e6;border-radius:10px;padding:12px 16px}.badge{background:var(--cream);border-radius:999px;padding:1px 10px;font-size:12px;display:inline-block}.badge[data-status=配送中],.badge[data-status=出荷準備中]{color:var(--warn);background:#fbf1e6}.badge[data-status=お届け済み],.badge[data-status=お支払い済み]{color:var(--ok);background:#e6f2eb}.badge[data-status=未払い]{color:var(--danger);background:#fbe9eb}.steps{counter-reset:step;margin:16px 0;padding:0;list-style:none;display:flex}.steps li{text-align:center;color:var(--muted);flex:1;padding-top:28px;font-size:13px;position:relative}.steps li:before{content:"";background:var(--line);border-radius:50%;width:16px;height:16px;position:absolute;top:6px;left:calc(50% - 8px)}.steps li.done{color:var(--ink);font-weight:600}.steps li.done:before{background:var(--rose)}[role=tablist]{border-bottom:1px solid var(--line);gap:4px;margin:16px 0;display:flex}[role=tab]{color:var(--muted)!important;background:0 0!important;border:0!important;border-bottom:2px solid #0000!important;border-radius:0!important;padding:8px 14px!important}[role=tab][aria-selected=true]{font-weight:700;border-bottom-color:var(--rose)!important;color:var(--ink)!important}.backdrop{z-index:20;background:#2f24306b;place-items:center;display:grid;position:fixed;inset:0}.backdrop[hidden]{display:none}[role=dialog]{background:var(--paper);border-radius:16px;width:min(520px,100vw - 32px);padding:24px 28px;box-shadow:0 16px 48px #2f24304d}[role=dialog] h2{margin-top:0}.faq .qa{border-bottom:1px solid var(--line)}.faq button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;padding:12px 0;font-weight:600;display:block}.faq button:after{content:"＋";float:right;color:var(--muted)}.faq button[aria-expanded=true]:after{content:"－"}.faq p{color:var(--muted);margin:0 0 12px}.login{background:linear-gradient(140deg, var(--rose-soft), #fbf1e6);place-items:center;gap:24px;min-height:100vh;padding:48px 16px;display:grid}.brand.big{font-size:22px}.brand.big .logo{width:48px;height:48px}form[data-login]{background:var(--paper);border-radius:16px;width:min(400px,100%);padding:28px 32px;box-shadow:0 12px 32px #2f24301f}form[data-login] h1{font-size:20px}form[data-login] button{width:100%;margin-top:8px}.error{color:var(--danger)}.login .demo{width:min(400px,100%);color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.7}.toast{z-index:30;background:var(--ink);color:#fff;border-radius:999px;margin:0;padding:10px 20px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}
