:root{--ink:#452344;--paper:#faf7f1;--pink:#bd4276}html{scroll-padding-top:95px}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}header{padding:10px 5%;position:sticky;top:0;background:#faf7f1f5;backdrop-filter:blur(12px);z-index:10;min-height:80px}.brand img{width:78px!important;height:78px!important;object-fit:contain!important}nav a{min-height:44px;display:flex;align-items:center}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #bd4276;outline-offset:5px}button{font:inherit}.hero{padding:30px 5% 40px;gap:28px;grid-template-columns:1fr}.hero h1{font-size:clamp(40px,10vw,58px);margin:15px 0;line-height:1.12}.hero p{font-size:17px;margin:14px 0 22px}.hero .button{display:block;text-align:center;min-height:50px}.hero-art{transform:none;border-radius:140px 140px 18px 18px;padding:22px;max-width:430px;width:100%}.hero-art>.canvas{height:auto;aspect-ratio:1.2}section{padding:32px 5%}.section-head{display:block}.section-head>.note{display:block;margin-top:12px}.grid{grid-template-columns:1fr;gap:24px;margin-top:22px}.grid article{background:#fff;border:1px solid #45234412;border-radius:20px;padding:12px;overflow:hidden}.piece{height:auto;aspect-ratio:1.12;border-radius:12px;padding:25px}.piece .canvas{height:100%;min-height:200px}.meta{margin-top:18px;padding:0 4px}.size{padding:0 4px;margin:10px 0 16px}.details-button{width:100%;min-height:48px;border:1px solid #decbd8;color:var(--ink);background:#faf5f9;border-radius:12px;cursor:pointer}.about{margin:15px 5%;padding:26px;border-radius:22px;grid-template-columns:1fr;gap:12px}.about p{font-size:17px}h2{font-size:30px;line-height:1.25}.contact{padding-top:45px;padding-bottom:45px}.contact p{font-size:17px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;background:#fffdf9f7;backdrop-filter:blur(12px);border-top:1px solid #e8dce4;padding:10px 5% calc(10px + env(safe-area-inset-bottom));display:flex;gap:12px;z-index:20}.mobile-bar a,.mobile-bar button{min-height:48px;flex:1;border-radius:30px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px}.mobile-bar a:first-child{background:var(--ink);color:white}.mobile-bar a:nth-child(2){border:1px solid #d8c6d5}.mobile-bar button{border:0;background:#f1e5ee;color:var(--ink)}[hidden]{display:none!important}.install-note{text-align:center;font-size:14px;background:#f0e8f0;padding:18px;border-radius:14px;margin:20px 5%}dialog{border:0;border-radius:24px;padding:26px;max-width:480px;width:calc(100% - 32px);color:var(--ink);background:var(--paper);max-height:85dvh;overflow:auto}dialog::backdrop{background:#2b182b99}dialog .canvas{height:240px;border-width:8px;margin:15px 0}dialog h2{font-size:27px}dialog p{font-size:16px}.close{border:1px solid #d8c6d5;background:white;min-height:44px;border-radius:50px;padding:8px 18px;cursor:pointer}.status{margin:12px 5%;padding:12px;background:#f2e7cb;border-radius:12px;font-size:14px}footer{font-size:12px;padding:25px 5%;gap:15px;flex-wrap:wrap}@media(min-width:740px){.hero{grid-template-columns:1fr 1fr;padding:60px 7%;gap:55px}.hero h1{font-size:clamp(52px,6vw,80px)}.hero .button{display:inline-block}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.piece{padding:18px}.piece .canvas{min-height:160px}.about{grid-template-columns:1fr 1fr;padding:40px}.section-head{display:flex}.mobile-bar{max-width:600px;left:50%;right:auto;transform:translateX(-50%);width:100%;border-radius:24px 24px 0 0}.brand img{width:90px!important;height:90px!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
