/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4
 * genre: editorial · macrostructure: Workbench · theme: Studio · nav: N1a · footer: Ft2
 * audience: 客户 · use: 试工艺并寻找实物与厂家 · tone: 简洁精致 */
@import url('tokens.css');
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;scroll-behavior:smooth}body{font:14px/1.6 var(--font-body);color:var(--color-ink);background:var(--color-paper)}button,input,select{font:inherit;color:inherit}button,a,input,select{ -webkit-tap-highlight-color:var(--color-clear)}button,a{cursor:pointer}button{border:0;background:none;white-space:nowrap}button:hover{background:var(--color-tint)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}button:disabled{opacity:.35;cursor:default}a{color:inherit;text-decoration:none}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--color-line);background:var(--color-white);gap:20px}.brand{font-family:var(--font-display);font-size:28px;font-weight:700;display:flex;gap:16px;align-items:center;white-space:nowrap}.brand span{font:10px var(--font-body);letter-spacing:2px;font-weight:400}nav{display:flex;gap:35px;align-items:center}nav a,nav button{font-size:13px}nav .current{color:var(--color-accent);position:relative}nav .current:after{position:absolute;content:'';height:3px;bottom:-30px;left:0;right:0;background:var(--color-accent)}#saved{border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:8px 14px}#saveCount{margin-left:10px;color:var(--color-muted)}main{max-width:1600px;margin:auto;padding:0 4%}.intro{display:flex;justify-content:space-between;align-items:center;padding:45px 0 35px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--color-muted)}h1{font-family:var(--font-display);font-size:36px;font-weight:500;letter-spacing:1px;line-height:1.45;margin:10px 0}h1 span{color:var(--color-accent)}p{margin:7px 0;color:var(--color-muted);font-size:12px}.edition{font-size:12px;text-align:right;line-height:2}.edition span{font-size:10px;color:var(--color-muted)}.lab{display:grid;grid-template-columns:240px minmax(0,1fr) 260px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-white);overflow:hidden}.options,.layers{padding:var(--space-panel)}.options{border-right:1px solid var(--color-line)}.layers{border-left:1px solid var(--color-line)}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}h2{font-size:16px;font-weight:600;margin:0}.panel-title>span{font-size:10px;color:var(--color-muted)}.search{position:relative}.search input{width:100%;background:var(--color-paper);border:1px solid var(--color-line);padding:9px 27px 9px 11px;border-radius:var(--radius-sm);font-size:11px}.search span{position:absolute;right:10px;top:5px;font-size:20px}.category{margin-top:23px}.category-title{font-size:10px;letter-spacing:1px;color:var(--color-muted);margin-bottom:8px}.craft{display:flex;align-items:center;gap:9px;width:100%;padding:9px 7px;border-radius:var(--radius-sm);font-size:12px;text-align:left;margin:3px 0}.craft.selected{background:var(--color-tint);color:var(--color-accent)}.swatch{width:24px;height:24px;border-radius:5px;border:1px solid var(--color-line);display:inline-block;flex-shrink:0}.craft .check{margin-left:auto}.feather{background:repeating-radial-gradient(ellipse at 0% 100%,var(--color-foil) 0px,var(--color-white) 3px,var(--color-blue) 5px,var(--color-foil) 7px)}.white{background:var(--color-white)}.gloss{background:linear-gradient(120deg,var(--color-blue),var(--color-white),var(--color-pink))}.matte{background:var(--color-stage)}.gold{background:linear-gradient(110deg,var(--color-gold),var(--color-white),var(--color-gold))}.holo{background:linear-gradient(130deg,var(--color-pink),var(--color-blue),var(--color-gold),var(--color-pink))}.small{font-size:10px;line-height:1.9;margin:17px 0;color:var(--color-muted)}.toolbar{height:66px;display:flex;justify-content:space-between;align-items:center;padding:0 23px}.segmented{background:var(--color-paper);padding:3px;border-radius:6px;display:flex}.segmented button{font-size:11px;padding:6px 12px;border-radius:4px}.segmented .active{background:var(--color-white);box-shadow:0 1px 4px var(--color-shadow)}select{font-size:11px;border:0;background:var(--color-clear);max-width:110px}.stage{height:407px;background:var(--color-stage);position:relative;display:flex;align-items:center;justify-content:center;perspective:1000px;overflow:hidden;background-image:radial-gradient(var(--color-foil) .7px,var(--color-clear) .7px);background-size:15px 15px}.stage-label{position:absolute;top:18px;left:23px;font-size:8px;letter-spacing:1.8px;color:var(--color-muted)}.sample{width:232px;height:310px;position:relative;transform:rotate(-7deg);box-shadow:12px 20px 24px var(--color-shadow);transition:transform var(--dur-fast);background:var(--color-white)}#surfaces,.surface,.art{position:absolute;inset:0}.surface{transition:transform var(--dur-fast),opacity var(--dur-fast);border:1px solid var(--color-line)}.surface.feather{opacity:1}.surface.white{background:linear-gradient(130deg,var(--color-white),var(--color-clear) 85%)}.surface.gloss{opacity:.32;mix-blend-mode:screen;background:linear-gradient(125deg,var(--color-clear) 12%,var(--color-white) 33%,var(--color-clear) 49%,var(--color-white) 80%,var(--color-clear))}.surface.matte{opacity:.5}.surface.gold{opacity:.45;clip-path:polygon(6% 5%,30% 5%,30% 7%,6% 7%,6% 5%,92% 80%,94% 80%,94% 95%,92% 95%)}.surface.holo{opacity:.38;mix-blend-mode:color}.art{padding:22px;color:var(--color-ink);pointer-events:none;z-index:20;overflow:hidden}.art-title{font-family:var(--font-display);font-size:31px;line-height:1.4;position:absolute;bottom:70px}.flower{font-size:152px;line-height:1;position:absolute;top:10px;right:10px;font-family:var(--font-display);color:var(--color-accent);opacity:.72}.orbit{border:1px solid var(--color-accent);border-radius:50%;width:175px;height:175px;position:absolute;top:38px;left:20px;transform:rotate(-25deg) scaleY(.65)}.art-sub{position:absolute;bottom:51px;font-size:6px;letter-spacing:1.3px}.art-bottom{position:absolute;bottom:17px;font-size:5px;left:22px;right:22px;border-top:1px solid var(--color-ink);padding-top:8px;display:flex;justify-content:space-between}.sample.badge{border-radius:50%;width:265px;height:265px;overflow:hidden}.sample.ticket{height:180px;width:300px}.ticket .flower{font-size:115px}.ticket .art-title{font-size:23px;bottom:51px}.ticket .art-sub{bottom:35px}.stage-foot{position:absolute;bottom:14px;left:23px;right:23px;display:flex;justify-content:space-between;font-size:9px;color:var(--color-muted)}.stage-foot button{font-size:10px}.preview-settings{padding:17px 23px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}.preview-settings label{display:flex;align-items:center;gap:9px}input[type=range]{width:85px;accent-color:var(--color-accent)}.preview-settings button{font-size:10px}.note{border-top:1px solid var(--color-line);display:flex;gap:10px;padding:14px 23px}.note>span{border:1px solid var(--color-muted);border-radius:50%;font-size:9px;width:14px;height:14px;line-height:13px;text-align:center;flex-shrink:0}.note p{font-size:9px;margin:0}.layer{border:1px solid var(--color-line);padding:12px 8px;display:flex;align-items:center;gap:8px;border-radius:7px;margin-bottom:9px;background:var(--color-white);cursor:grab}.layer .name{font-size:11px;flex:1}.layer .name small{display:block;font-size:8px;color:var(--color-muted)}.layer .moves{display:flex;flex-direction:column}.moves button{font-size:9px;line-height:14px;padding:0 3px}.layer .remove{font-size:14px;color:var(--color-muted);padding:0 2px}.combo{border-top:1px solid var(--color-line);margin-top:24px;padding-top:18px;min-height:115px}.combo p{font-size:10px;color:var(--color-ink)}#compatibility{font-size:9px;color:var(--color-warning);margin-top:9px}.primary,.secondary{width:100%;padding:11px;border-radius:6px;font-size:11px;margin-top:10px}.primary{background:var(--color-accent);color:var(--color-white)}.primary:hover{background:var(--color-ink)}.secondary{border:1px solid var(--color-line)}.results{padding:45px 0}.section-head,.supplier-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px;gap:20px}.section-head h2{font-family:var(--font-display);font-size:25px;font-weight:500;margin-top:6px}.section-head h2 span{font:10px var(--font-body);color:var(--color-muted);margin-left:12px}.filter{font-size:11px;white-space:nowrap}.filter input{accent-color:var(--color-accent)}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.case-image{height:210px;display:flex;justify-content:center;align-items:center;background:var(--color-stage);position:relative;overflow:hidden}.case-image .mini{height:155px;width:112px;box-shadow:10px 14px 15px var(--color-shadow);transform:rotate(-12deg);display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--font-display);font-size:21px;color:var(--color-ink)}.case-image .mini:before{content:'✳';font-size:60px;line-height:1.1}.case-image.rose{background:var(--color-pink)}.case-image.blue{background:var(--color-blue)}.case-image .badge{position:absolute;left:12px;top:12px;background:var(--color-white);font-size:8px;padding:3px 7px}.case-title{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px}.case-title button{font-size:11px}.case-tags{font-size:10px;color:var(--color-muted);margin-top:4px}.supplier-head{margin-top:40px;padding-top:26px;border-top:1px solid var(--color-line)}.demo-label{font-size:9px;color:var(--color-muted)}.supplier{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--color-line)}.supplier-icon{height:40px;width:40px;background:var(--color-tint);display:grid;place-items:center;font-family:var(--font-display);font-size:19px}.supplier h3{font-size:13px;margin:0}.supplier p{font-size:10px}.supplier .status{font-size:10px;color:var(--color-accent);margin-left:auto}.supplier button{border:1px solid var(--color-line);font-size:11px;padding:7px 12px;border-radius:5px}footer{border-top:1px solid var(--color-line);padding:25px 0 35px;display:flex;align-items:center;justify-content:space-between}footer .brand{font-size:23px}footer .brand span{font-size:9px;letter-spacing:0}footer>span{font-size:9px;color:var(--color-muted)}dialog{border:1px solid var(--color-line);border-radius:12px;padding:32px;max-width:520px;width:calc(100% - 32px);background:var(--color-white);color:var(--color-ink)}dialog::backdrop{background:var(--color-shadow);backdrop-filter:blur(4px)}#close{position:absolute;top:8px;right:10px;font-size:23px}dialog h2{font-size:21px;margin-bottom:15px}dialog label{display:block;font-size:12px;margin-top:16px}dialog input[type=text],dialog textarea{width:100%;padding:10px;border:1px solid var(--color-line);border-radius:6px;background:var(--color-paper);font:inherit;color:inherit}dialog .choice{display:inline-flex;margin:8px 10px 0 0;gap:4px}dialog textarea{height:80px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--color-ink);color:var(--color-white);padding:10px 20px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;z-index:100}.empty{padding:35px;border:1px dashed var(--color-line);grid-column:1/-1;color:var(--color-muted);font-size:12px}.explode .sample{transform:rotateX(38deg) rotateZ(-22deg) scale(.8);overflow:visible}.explode .art{transform:translateZ(105px)}.explode #surfaces{transform-style:preserve-3d}.explode .sample{transform-style:preserve-3d}.bright .sample{filter:brightness(1.13) saturate(1.15)}@media(min-width:1450px){.stage{height:455px}.lab{grid-template-columns:260px minmax(0,1fr) 290px}}@media(max-width:1050px){.lab{grid-template-columns:195px minmax(0,1fr) 220px}.options,.layers{padding:18px}.intro h1{font-size:29px}.edition{display:none}.toolbar{padding:0 12px}.segmented button{padding:6px 8px}.sample{width:200px;height:280px}.preview-settings{flex-wrap:wrap}.note{padding:12px}.stage{height:370px}nav{gap:20px}}@media(max-width:768px){header{height:auto;min-height:75px;flex-wrap:wrap;padding:15px 5%;gap:12px}.brand{font-size:24px}.brand span{font-size:8px;letter-spacing:1px}header nav{order:3;width:100%;justify-content:space-between}nav .current:after{bottom:-9px}#saved{font-size:10px;padding:6px}.intro{padding:28px 0 22px}.intro h1{font-size:27px}.intro h1 span{display:block}.intro p{font-size:11px}.lab{grid-template-columns:1fr}.options{border-right:0;border-bottom:1px solid var(--color-line)}.panel-title{margin-bottom:12px}#catalog{display:flex;gap:14px;flex-wrap:wrap}.category{margin-top:14px;flex:1;min-width:110px}.craft{font-size:10px;padding:7px 4px}.options>.small{display:none}.layers{border-left:0;border-top:1px solid var(--color-line)}.layers>.small{margin:7px 0}.layer{padding:9px}.combo{margin-top:15px;min-height:0}.stage{height:370px}.sample{width:210px;height:280px}.preview-settings{justify-content:space-between}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.case-image{height:170px}.case-image .mini{width:90px;height:130px;font-size:18px}.section-head,.supplier-head{align-items:start;flex-direction:column;gap:10px}.section-head h2{font-size:23px}.section-head h2 span{display:inline-block}.supplier{gap:10px;flex-wrap:wrap}.supplier .status{font-size:8px}.supplier button{margin-left:auto}.supplier-icon{width:32px;height:32px}footer{gap:20px;align-items:start;flex-direction:column}.case-title{font-size:11px}.case-tags{font-size:9px}}@media(max-width:375px){.brand{gap:9px}.brand span{letter-spacing:0}.intro h1{font-size:25px}.case-grid{grid-template-columns:minmax(0,1fr)}.preview-settings{padding:12px}.supplier .status{margin-left:42px}h1,h2{overflow-wrap:anywhere;min-width:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
