:root{--ink:#18323a;--muted:#5b7074;--paper:#f5f8f6;--line:#c7d7d3;--accent:#087976;--max-width:560px;color:var(--ink);background:#dfe9e5;font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#ccdcd7;margin:0}button,a{font:inherit}button{cursor:pointer}.app-shell{max-width:var(--max-width);background:var(--paper);min-height:100dvh;margin:0 auto;overflow:hidden}.site-header{justify-content:space-between;align-items:center;padding:18px 20px 12px;display:flex}.brand{color:var(--ink);letter-spacing:-.05em;align-items:center;font:500 20px Georgia,serif;text-decoration:none;display:inline-flex}.brand small{color:var(--muted);letter-spacing:.13em;margin-top:2px;font:600 8px Arial,sans-serif;display:block}.favorites-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:99px;align-items:center;gap:5px;padding:8px 10px;font-size:13px;display:inline-flex}.favorites-button span:first-child{color:var(--accent);font-size:19px;line-height:.7}.hero{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#dcebe6;padding:42px 20px 32px}.eyebrow,.section-label{color:var(--accent);letter-spacing:.12em;margin:0 0 10px;font-size:10px;font-weight:700}.hero h1,.how-it-works h2{letter-spacing:-.07em;margin:0;font:500 clamp(30px,9vw,43px)/1.18 Georgia,Hiragino Mincho ProN,serif}.hero p:not(.eyebrow){color:#38545a;margin:20px 0;font-size:14px;line-height:1.9}.text-link{color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.text-link span{color:var(--accent);padding-left:6px}.catalog-controls{border-bottom:1px solid var(--line);margin:0 -20px 23px;padding:0 20px 15px}.filter-topline{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.filter-title{color:var(--muted);letter-spacing:.04em;margin:0;font-size:11px;font-weight:700}.filter-trigger{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:1px;padding:7px 10px;font-size:11px;font-weight:700}.filter-trigger span{background:var(--accent);color:#fff;border-radius:50%;place-items:center;min-width:16px;height:16px;margin-left:4px;font-size:9px;display:inline-grid}.filter-row{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.active-filter-summary{color:var(--muted);margin:11px 0 0;font-size:10px}.filter-chip{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:1px;flex:none;padding:9px 13px;font-size:12px}.filter-chip.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.catalog{padding:28px 20px 112px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.section-heading h2{letter-spacing:-.05em;margin:0;font:500 26px Georgia,serif}.section-heading span{color:var(--muted);font-size:11px}.style-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px;display:grid}.style-card{min-width:0}.infinite-loader{color:var(--muted);text-align:center;justify-items:center;gap:10px;padding:34px 0 2px;display:grid}.infinite-loader p{margin:0;font-size:11px}.infinite-loader button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:1px;padding:10px 14px;font-size:12px;font-weight:700}.infinite-loader button:disabled{opacity:.55}.infinite-loader.is-complete{padding-top:31px}.infinite-loader.is-complete p:before{color:var(--accent);content:"✓";padding-right:7px}.image-button{aspect-ratio:.74;background:#eee9e2;border:0;border-radius:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.style-art{background:#d5dedb;width:100%;height:100%}.style-art img{object-fit:cover;width:100%;height:100%;display:block}.image-caption{color:#fff;letter-spacing:.02em;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#11262ddb;padding:9px 10px 10px;font-size:10px;font-weight:700;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.card-meta{justify-content:space-between;align-items:center;gap:6px;padding-top:9px;display:flex}.style-meta{color:var(--muted);margin:0;font-size:10px;font-weight:700}.heart-button{border:1px solid var(--line);width:31px;height:31px;color:var(--ink);background:#fff;border-radius:50%;flex:0 0 31px;place-items:center;padding:0;font-size:19px;display:grid}.heart-button.is-saved{border-color:var(--accent);color:var(--accent);background:#dcefeb}.selection-dock{z-index:2;right:max(16px, calc((100vw - var(--max-width)) / 2 + 16px));bottom:16px;left:max(16px, calc((100vw - var(--max-width)) / 2 + 16px));background:var(--ink);color:#fff;border-radius:13px;justify-content:space-between;align-items:center;padding:12px 13px 12px 16px;display:flex;position:fixed;box-shadow:0 14px 35px #15353a38}.selection-dock div{align-items:baseline;gap:5px;display:flex}.selection-dock span{font:24px Georgia,serif}.selection-dock small{color:#cfdfdb;font-size:10px}.selection-dock button{color:var(--ink);background:#e3f0ec;border:0;border-radius:8px;padding:9px 10px;font-size:11px;font-weight:700}.how-it-works{color:#f2f8f6;background:#16363e;padding:58px 20px 68px}.how-it-works .section-label{color:#9bd3c8}.how-it-works h2{font-size:28px}.how-it-works ol{margin:35px 0 26px;padding:0;list-style:none}.how-it-works li{border-top:1px solid #36545a;gap:15px;padding:13px 0;font-size:13px;display:flex}.how-it-works li span{color:#9bd3c8;letter-spacing:.1em;font-size:10px}.notice{color:#c2d7d2;font-size:11px;line-height:1.75}.detail-sheet{border:0;border-radius:20px 20px 0 0;width:min(560px,100%);max-width:none;margin:auto 0 0;padding:0;box-shadow:0 -12px 50px #0003}.detail-sheet::backdrop{background:#10292f80}.sheet-handle{background:#c7d7d3;border-radius:99px;width:34px;height:4px;margin:10px auto 0}.close-button{z-index:2;background:#ffffffe6;border:0;border-radius:50%;width:33px;height:33px;font-size:23px;position:absolute;top:16px;right:15px}.detail-image{background:#d5dedb;border-radius:14px 14px 0 0;height:min(54vh,430px);overflow:hidden}.detail-image img{object-fit:cover;width:100%;height:100%;display:block}.detail-body{padding:22px 20px 30px}.detail-body h2{letter-spacing:-.05em;margin:0;font:500 29px Georgia,serif}.detail-id{color:var(--muted);margin:8px 0 20px;font-size:11px}.detail-specs{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;margin:0 0 20px;display:grid}.detail-specs div{background:var(--paper);padding:12px}.detail-specs dt{color:var(--muted);font-size:9px}.detail-specs dd{margin:4px 0 0;font-size:12px}.detail-note{border-left:2px solid var(--accent);color:#355157;background:#e7f1ee;margin:0 0 20px;padding:13px;font-size:11px;line-height:1.75}.save-button{background:var(--ink);color:#fff;border:0;border-radius:8px;width:100%;padding:15px;font-size:14px;font-weight:700}.save-button.is-saved{background:var(--accent)}.filter-sheet{border:0;border-radius:16px 16px 0 0;width:min(560px,100%);max-width:none;max-height:min(84dvh,720px);margin:auto 0 0;padding:0;box-shadow:0 -12px 50px #0003}.filter-sheet::backdrop{background:#1612107a}.filter-sheet-header{border-bottom:1px solid var(--line);padding:19px 20px 14px;position:relative}.filter-sheet-header .section-label{margin-bottom:6px}.filter-sheet-header h2{letter-spacing:-.05em;margin:0;font:500 25px Georgia,serif}.filter-groups{max-height:calc(min(84dvh,720px) - 194px);padding:8px 20px 22px;overflow-y:auto}.filter-group{border-bottom:1px solid var(--line);padding:18px 0}.filter-group h3{margin:0 0 11px;font-size:12px}.filter-options{flex-wrap:wrap;gap:8px;display:flex}.filter-option{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:1px;padding:9px 11px;font-size:11px}.filter-option.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.filter-sheet-actions{padding:13px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);grid-template-columns:.72fr 1.28fr;gap:9px;display:grid}.filter-sheet-actions button{border-radius:1px;padding:13px 10px;font-size:12px;font-weight:700}.reset-filter-button{border:1px solid var(--line);color:var(--ink);background:0 0}.apply-filter-button{background:var(--ink);color:#fff;border:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=600px){.app-shell{box-shadow:0 0 46px #4a3d3421}.detail-sheet{left:0;right:0}}
