
Sleepm 生物晶体
十六种水晶和两种贵金属,排列成新月形状。点击任意一颗星,即可了解对应的宝石;或者让星空带你开启一场探索之旅。
01 / 18
Sleepm 中的每块石头和每块金属都融为一体。轻触其中一块,它便会在天空中亮起。
这十八种元素都融入了每一件Sleepm生物晶体作品之中。
宝石描述反映了传统知识和民间传说,仅供娱乐参考。Sleepm产品属于保健产品,并非用于诊断、治疗、治愈或预防任何疾病或健康状况。
(function(){
var U="https://sleepm.com/wp-content/uploads/2026/06/";function IMG(s){return U+s+".webp";}
var C=[
["Flint","flint","The ancient grounding stone, as old as firelight."],
["Natural Jasper","JasperNatural","Raw and unpolished, straight from the earth."],
["Dalmatian Jasper","dalmation-jasper","Speckled and playful, the light-hearted one."],
["Leopard Jasper","jasperleopard","Patterned, earthy and famously steadying."],
["Red Jasper","redjasper","The quiet anchor of the blend."],
["Aventurine","aventurine","A soothing green, long linked with renewal."],
["Serpentine Jade","SerpentineJade","Snake jade, a symbol of vitality and long life."],
["Sodalite","Sodalite","Deep blue, the stone of clear thoughts."],
["Fluorspar","flourspar","Banded violet and sea-green, kept for focus."],
["Amethyst","amethystsleepm","Violet calm, lore's favorite for racing minds."],
["Rose Quartz","rosequartz","The soft one, folklore's keeper of tenderness."],
["Citrine","../07/citrine-new","Bottled sunrise, for brighter mornings."],
["Orange Calcite","orangecalcite","Radiant amber warmth."],
["Heliotrope","Heliotrope-Bloodstone","The traveler's stone of old caravans."],
["Selenite","Selenite","Named for the moon and kept for stillness."],
["Clear Quartz","quartz","The clarifier, anchor of the whole blend."],
["Silver","silver","Bright and lustrous, the cool counterpoint."],
["Gold","gold","The noble thread that warms the weave."]
];
var N=C.length,NS="http://www.w3.org/2000/svg",svg=document.getElementById("cstSky");
var cx=430,cy=400,R=320,d=0.45*R,ix=cx+d,r=Math.sqrt(Math.pow(0.5*R-d,2)+0.75*R*R);
var P=[],i,t;
for(i=0;11>i;i++){t=(60+i*24)*Math.PI/180;P.push({x:cx+R*Math.cos(t),y:cy-R*Math.sin(t),side:"out",a:t});}
var phi=Math.acos((0.5*R-d)/r)*180/Math.PI;
var a0=360-phi,a1=phi,step=(a0-a1)/8;
for(i=1;7>=i;i++){t=(a0-i*step)*Math.PI/180;P.push({x:ix+r*Math.cos(t),y:cy-r*Math.sin(t),side:"in",a:t});}
function el(n,a){var e=document.createElementNS(NS,n);for(var k in a)e.setAttribute(k,a[k]);return e;}
var pts=P.map(function(p){return p.x.toFixed(1)+","+p.y.toFixed(1)}).join(" ");
svg.appendChild(el("polyline",{"class":"trail",points:pts+" "+P[0].x.toFixed(1)+","+P[0].y.toFixed(1)}));
var lit=el("polyline",{"class":"lit",points:pts});svg.appendChild(lit);
var segLen=[0];for(i=1;N>i;i++)segLen.push(segLen[i-1]+Math.hypot(P[i].x-P[i-1].x,P[i].y-P[i-1].y));
var total=segLen[N-1];lit.setAttribute("stroke-dasharray",total);lit.setAttribute("stroke-dashoffset",total);
var nodes=P.map(function(p,k){
var g=el("g",{"class":"node",tabindex:"0",role:"button","aria-label":C[k][0]});
g.appendChild(el("circle",{"class":"halo",cx:p.x,cy:p.y,r:22}));
g.appendChild(el("circle",{"class":"glow",cx:p.x,cy:p.y,r:7}));
g.appendChild(el("circle",{"class":"core",cx:p.x,cy:p.y,r:k>15?4.5:5}));
g.appendChild(el("circle",{"class":"hit",cx:p.x,cy:p.y,r:26}));
var tx,ty,anc;
if(p.side==="out"){var c=Math.cos(p.a),s=Math.sin(p.a);tx=p.x+c*20;ty=p.y-s*20+5;anc=-0.25>c?"end":(c>0.25?"start":"middle");if(anc==="middle")ty=p.y-s*24+(0>s?14:0);}
else{tx=p.x-16;ty=p.y+5;anc="end";}
var tt=el("text",{x:tx,y:ty,"text-anchor":anc});tt.textContent=C[k][0];g.appendChild(tt);
g.addEventListener("click",function(){pick(k,true)});
g.addEventListener("keydown",function(e){if(e.key==="Enter"||e.key===" "){e.preventDefault();pick(k,true)}});
svg.appendChild(g);return g;
});
var grid=document.getElementById("cst_grid");if(!grid)return;
var chips=C.map(function(c,k){
var b=document.createElement("button");b.className="chip";b.type="button";b.setAttribute("aria-pressed","false");
var im=document.createElement("img");im.alt="";im.loading="lazy";im.src=IMG(c[1]);var sp=document.createElement("span");sp.textContent=c[0];b.appendChild(im);b.appendChild(sp);
b.addEventListener("click",function(){pick(k,true);document.querySelector(".cst .stage").scrollIntoView({behavior:matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"})});
grid.appendChild(b);return b;
});
var cur=-1,card=document.getElementById("cst_card");
function pad(n){return (10>n?"0":"")+n}
function pick(k,user){
if(user)setPlay(false);
cur=(k+N)%N;
nodes.forEach(function(n,j){n.classList.toggle("on",j===cur)});
chips.forEach(function(b,j){b.setAttribute("aria-pressed",j===cur?"true":"false")});
lit.setAttribute("stroke-dashoffset",total-segLen[cur]);
var c=C[cur];
document.getElementById("cImg").src=IMG(c[1]);
document.getElementById("cNum").textContent=pad(cur+1)+" / "+N;
document.getElementById("cName").textContent=c[0];
document.getElementById("cLore").textContent=c[2];
document.getElementById("cKind").textContent=cur>15?"Noble metal":"Crystal";
card.classList.remove("fade");void card.offsetWidth;card.classList.add("fade");
}
var playing=true,timer=null,playBtn=document.getElementById("cst_play");
function setPlay(on){playing=on;playBtn.textContent=on?"Pause tour":"Play tour";playBtn.setAttribute("aria-pressed",on?"true":"false");clearInterval(timer);if(on)timer=setInterval(function(){pick(cur+1)},3800);}
playBtn.addEventListener("click",function(){setPlay(!playing)});
document.getElementById("cst_prev").addEventListener("click",function(){pick(cur-1,true)});
document.getElementById("cst_next").addEventListener("click",function(){pick(cur+1,true)});
var reduce=matchMedia("(prefers-reduced-motion: reduce)").matches;
pick(9);setPlay(!reduce);
var cv=document.getElementById("cst_dust"),cx2=cv.getContext("2d"),stars=[],W,H,rgb;
function size(){var b=cv.getBoundingClientRect(),dp=Math.min(devicePixelRatio||1,2);W=b.width;H=b.height;cv.width=W*dp;cv.height=H*dp;cx2.setTransform(dp,0,0,dp,0,0);
stars=[];var n=Math.round(W*H/5200);for(var j=0;n>j;j++)stars.push({x:Math.random()*W,y:Math.random()*H,r:Math.random()*1.1+.25,p:Math.random()*6.28,s:.4+Math.random()*1.2});
rgb=getComputedStyle(document.documentElement).getPropertyValue("--c-dust").trim()||"233,236,255";draw(0);}
function draw(ts){cx2.clearRect(0,0,W,H);for(var j=0;stars.length>j;j++){var s=stars[j],a=reduce?.5:.25+.45*(.5+.5*Math.sin(s.p+ts/1000*s.s));cx2.fillStyle="rgba("+rgb+","+a.toFixed(2)+")";cx2.beginPath();cx2.arc(s.x,s.y,s.r,0,6.283);cx2.fill();}}
function loop(ts){draw(ts);requestAnimationFrame(loop)}
size();addEventListener("resize",size);
try{matchMedia("(prefers-color-scheme: dark)").addEventListener("change",size);new MutationObserver(size).observe(document.documentElement,{attributes:true,attributeFilter:["class","data-theme"]});}catch(e){}
if(!reduce)requestAnimationFrame(loop);
})();
(function(){var s=document.getElementById('sky');if(s){s.setAttribute('viewBox','0 95 1620 670');s.setAttribute('preserveAspectRatio','xMidYMid meet');}})();
(function(){var btn=document.querySelector('.lb-btn');if(btn){btn.addEventListener('click',function(e){e.preventDefault();document.documentElement.classList.toggle('lbopen');});}var menu=document.querySelector('.lb-menu');if(menu){menu.addEventListener('click',function(){document.documentElement.classList.remove('lbopen');});}})();