:root{--bg:#f5f6f7;--panel:#fff;--border:#dcdfe6;--border-soft:#ebeef5;--text:#303133;--muted:#606266;--subtle:#909399;--primary:#409eff;--primary-hover:#66b1ff;--shadow:0 4px 12px #0000000a;--radius:8px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button,a{font:inherit}.fabric-page{min-height:100vh;padding:20px 0 36px}.fabric-page__grain{display:none}.shell{width:min(1160px,100% - 32px);margin:0 auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel:before{display:none}.hero-card{padding:22px}.hero-card__label{color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:12px}.hero-card__body{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.hero-card h1{margin:0;font-size:30px;font-weight:700;line-height:1.2}.hero-card__intro{max-width:52rem;color:var(--muted);margin:12px 0 0}.hero-card__stamp{border:1px solid var(--border);border-radius:var(--radius);background:#fafafa;flex:0 0 200px;padding:14px 16px}.hero-card__stamp span{color:var(--subtle);margin-bottom:6px;font-size:12px;display:block}.hero-card__stamp strong{font-size:16px;font-weight:600}.notice-stack{gap:8px;margin-top:14px;display:grid}.notice-ribbon{border:1px solid var(--border-soft);border-radius:var(--radius);color:var(--muted);background:#fafafa;margin:0;padding:12px 14px}.board{margin-top:16px;padding:16px}.board__head{color:var(--subtle);font-size:12px}.fabric-button:focus-visible{outline-offset:1px;border-color:var(--primary);outline:2px solid #409eff33}.board__head{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) 180px;gap:16px;padding:4px 0 12px;font-weight:500;display:grid}.shop-list{display:grid}.shop-card{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) 180px;grid-template-areas:"name name""prices actions";gap:12px 16px;padding:16px 0;display:grid}.shop-card:last-child{border-bottom:none}.shop-card__name-wrap{grid-area:name;min-width:0}.shop-card__name{margin:0;font-size:22px;font-weight:700;line-height:1.3}.shop-card__prices{grid-area:prices;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.price-chip{border:1px solid var(--border);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 12px;transition:border-color .18s,background-color .18s;display:flex}.price-chip:hover{background:#fafafa;border-color:#c0c4cc}.price-chip__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);overflow:hidden}.price-chip__value{flex-shrink:0;font-size:16px;font-weight:600}.price-chip__value:before{content:"¥";margin-right:2px}.shop-card__actions{grid-area:actions;align-content:start;gap:8px;display:grid}.fabric-button{border:1px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;justify-content:center;align-items:center;min-height:40px;padding:0 12px;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.fabric-button:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 2px 8px #409eff2e}.fabric-button:active{opacity:.92}.fabric-button--secondary{border-color:var(--border);color:var(--text);background:#fff}.fabric-button--secondary:hover{background:#f5f7fa;border-color:#c0c4cc}.empty-panel{color:var(--muted);text-align:center;padding:24px 0 8px}@media (width<=980px){.hero-card__body{flex-direction:column;align-items:stretch}.hero-card__stamp{flex-basis:auto}.shop-card__prices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.shell{width:min(100% - 20px,100%)}.hero-card,.board{padding:14px}.board__head{grid-template-columns:1fr}.board__head span:last-child{display:none}.shop-card{grid-template-columns:1fr;grid-template-areas:"name""prices""actions"}.shop-card__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.hero-card h1,.shop-card__name{font-size:22px}.shop-card__prices,.shop-card__actions{grid-template-columns:1fr}}
