:root{--ink:#242323;--muted:#696461;--paper:#faf9f7;--line:#e5dfdb;--accent:#9b365f;--selected:#fbf0f4;--pink:#d84b8e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}.demo{background:#f0ede9;color:#655e58;text-align:center;padding:6px 12px;font-size:11px;letter-spacing:.04em}header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1020px;margin:auto;padding:22px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-logo{display:block;width:236px;height:auto}.header-note{font-size:11px;letter-spacing:.12em;color:var(--muted)}main{max-width:788px;margin:auto;padding:0 32px}.intro{padding:44px 0 30px;position:relative}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.23em;font-weight:600;color:var(--muted);margin:0 0 15px}.eyebrow::before{content:'';height:1px;width:28px;background:var(--accent)}h1{font-size:35px;font-weight:500;line-height:1.5;letter-spacing:.07em;margin:0}p{margin:12px 0}.intro>p:last-child{font-size:13px;color:var(--muted);line-height:1.9;margin-top:18px}nav{padding:8px 0 24px}nav ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}nav li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:10px 0;border-bottom:2px solid var(--line)}nav li::before{content:attr(data-number);width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px;flex-shrink:0}nav li.active{border-color:var(--accent);color:var(--ink);font-weight:650}nav li.active::before{background:var(--ink);color:white;border-color:var(--ink)}nav li.completed::before{content:'✓';background:var(--selected);color:var(--accent);border-color:#e6bacd}.selection-status{display:flex;justify-content:space-between;gap:12px;background:white;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:6px;font-size:12px;color:var(--muted);margin-bottom:14px}.selection-status strong{color:var(--ink);font-size:14px}.step{padding:16px 0 10px}.step-count{font-size:10px;letter-spacing:.18em;color:var(--accent);margin:0 0 8px}h2{font-size:23px;font-weight:550;letter-spacing:.03em;margin:0 0 22px;line-height:1.6}h2:focus{outline:none}h3{font-size:15px;font-weight:650;margin:28px 0 13px}fieldset{border:0;margin:0;padding:0}.products{display:grid;grid-template-columns:1fr 1fr;gap:16px}.product{position:relative;display:block;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;cursor:pointer}.product img{display:block;width:100%;height:248px;object-fit:cover}.product span{display:block;padding:18px}.product b{font-size:18px;font-weight:550;letter-spacing:.06em}.product small,.choice small{display:block;color:var(--muted);font-size:12px;font-weight:400;line-height:1.65;margin-top:5px}.product input{position:absolute;top:13px;right:13px;width:24px;height:24px;accent-color:var(--accent);filter:drop-shadow(0 1px 3px #0002)}.product:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.product:has(input:checked) span{background:var(--selected)}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative;display:flex;align-items:center;gap:12px;min-height:62px;border:1px solid var(--line);padding:16px;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;margin:0}.choice input{width:19px;height:19px;accent-color:var(--accent);flex:0 0 19px}.choice:has(input:checked){border-color:var(--accent);background:var(--selected);box-shadow:inset 0 0 0 1px var(--accent)}.choice.full{margin-top:12px;background:transparent;border-style:dashed}.choice.full span{flex:1}.choice.full::after{content:'↗';font-size:20px;font-weight:400}.product:focus-within,.choice:focus-within{outline:3px solid var(--accent);outline-offset:4px}.hint{font-size:12px;color:var(--muted);line-height:1.85;margin:13px 0}.size-intro{display:flex;align-items:center;justify-content:space-between;gap:10px}.size-intro small{font-size:11px;color:var(--muted)}#sizeOptions{grid-template-columns:1fr}#sizeOptions .choice{min-height:82px;padding:17px 18px}#sizeOptions .choice>span{font-weight:600;flex:1;padding-right:58px}#sizeOptions .choice small{font-size:12px;margin-top:3px}.recommend-badge{position:absolute;right:14px;top:16px;border-radius:20px;padding:3px 9px;background:#f6e794;color:#51461e;font-size:10px;font-style:normal;letter-spacing:.02em}.choice.recommended{border-color:#e6bacd}.choice.recommended:has(input:checked){border-color:var(--accent)}label:not(.product,.choice,.consent){display:block;font-size:14px;margin:24px 0 8px}label>span:not(.product span,.choice span){font-size:12px;color:var(--muted);margin-left:5px}input[type=date],input[type=text],input:not([type]),select,textarea{display:block;width:100%;border:1px solid #bfb6b0;border-radius:8px;background:#fff;padding:14px;color:var(--ink);font:inherit;font-size:16px;min-height:54px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.actions{display:flex;gap:10px;padding:22px 0;border-top:1px solid var(--line);margin:18px 0 0}button{border:1px solid var(--ink);border-radius:8px;padding:16px 22px;background:var(--ink);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;min-height:56px}#next{flex:1;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:16px}.secondary{background:transparent;color:var(--ink);min-width:80px;border-color:#bbb1aa}button:disabled{opacity:.55;cursor:wait}.notice{background:#f3eee9;border-radius:8px;padding:18px;margin:24px 0;font-size:13px}.notice p{margin:7px 0 0;color:var(--muted)}.consent{display:flex;gap:12px;align-items:center;font-size:14px;min-height:48px}.consent input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}dl{background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px 20px;margin:24px 0}dl div{display:grid;grid-template-columns:100px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:15px 0}dl div:last-child{border:0}dt{font-size:12px;color:var(--muted)}dd{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}#error{background:#fff0eb;color:#8c3023;border-left:3px solid #ae402d;padding:14px;font-size:14px}footer{border-top:1px solid var(--line);margin-top:14px;padding:25px 0 35px;font-size:11px;line-height:2;color:var(--muted);text-align:center}a{color:inherit}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}.done{font-size:30px;margin:26px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;background:#fff;border:1px solid var(--line);padding:20px;border-radius:8px}#complete p{font-size:14px}@media(max-width:480px){.header-inner{padding:16px 20px}.brand-logo{width:190px}.header-note{font-size:10px;letter-spacing:.04em;max-width:82px}main{padding:0 20px}.intro{padding:28px 0 22px}h1{font-size:29px}.intro>p:last-child{margin-top:13px;font-size:12px}nav{padding-top:0;padding-bottom:18px}nav li{font-size:11px;gap:5px}nav li::before{width:21px;height:21px}.step{padding-top:12px}h2{font-size:20px;margin-bottom:18px}.products{gap:10px}.product img{height:180px}.product span{padding:13px 11px}.product b{font-size:15px}.product small{font-size:11px}.choice{padding:14px 12px;font-size:13px;gap:9px}.choice small{font-size:11px}.choices{gap:8px}.selection-status{padding:10px 12px}dl{padding:3px 14px}dl div{grid-template-columns:83px 1fr;gap:10px}.actions{position:sticky;bottom:0;background:var(--paper);padding:14px 0 max(14px,env(safe-area-inset-bottom));z-index:2}#error{scroll-margin-bottom:110px}nav{scroll-margin-top:16px}}@media(max-width:350px){.header-note{display:none}.product img{height:150px}.choice{padding:12px 8px;font-size:12px}.product b{font-size:14px}}@media(prefers-reduced-motion:no-preference){.product,.choice,button{transition:background .16s,border-color .16s,box-shadow .16s}button:hover{background:#484140}.secondary:hover{background:#f1e9e5}.product:hover,.choice:hover{border-color:#b7899c}}

/* Keep the complete brand phrase together at narrow widths. */
.header-note{white-space:nowrap;flex-shrink:0;line-height:1.6}.header-inner{flex-wrap:wrap}.optional{font-size:11px;font-weight:400;color:var(--muted);margin-left:6px}@media(max-width:480px){.header-inner{gap:8px}.header-note{display:block;max-width:none;width:100%;font-size:11px;letter-spacing:.08em}.brand-logo{width:190px}.intro>p:last-child{overflow-wrap:break-word}}

/* Keep wrapping and the vessel visible so the two flower types are clear. */
.products .product img{height:auto;aspect-ratio:2/3;object-fit:contain;background:#f1efeb}

.stand-product{grid-column:1/-1;display:grid;grid-template-columns:140px 1fr;align-items:center}.products .stand-product img{aspect-ratio:4/5}.stand-product span{padding:20px}.stand-product input{z-index:1}@media(max-width:480px){.stand-product{grid-template-columns:110px 1fr}.stand-product span{padding:18px}.stand-product b{font-size:17px}}

.bank-guide{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff}.bank-guide h3{margin-top:0}.bank-guide img{display:block;width:100%;height:auto}.bank-guide a{display:inline-block;min-height:44px;font-size:13px}.bank-guide>a{display:block}.bank-guide p{font-size:13px}

.selected-date{margin:10px 0 0;color:var(--accent);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
