@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FO_F.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk7PFO_F.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4jE-_F.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE-_F.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59E-_F.ttf) format('truetype');
}

:root{--ink:#343832;--muted:#81847b;--paper:#f8f7f2;--green:#54634c;--line:#e6e6dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px}button,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,canvas:focus-visible,a:focus-visible{outline:3px solid #a4b48b;outline-offset:5px}header,main,footer{max-width:1230px;margin:auto}.header{height:104px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 20px}.brand{font-family:Manrope,Arial,sans-serif;letter-spacing:-2px;font-size:35px;font-weight:800;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px}.flower{color:#8c9d73;font-size:46px;line-height:1}.brand-dot{margin-left:-9px;color:#94a17e}.header-right{display:flex;align-items:center;gap:30px}.local-only{color:var(--muted);font-size:12px}.language{border:1px solid #dcded3;border-radius:24px;padding:9px 12px;background:#ffffff70;display:flex;gap:6px}.language select{border:0;background:transparent;font-size:12px;max-width:115px;cursor:pointer}.intro{position:relative;text-align:center;padding:45px 20px 32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#78816b;display:flex;align-items:center;justify-content:center;gap:8px}.spark{font-size:22px}h1{font-family:Manrope,Arial,sans-serif;font-size:52px;line-height:1.16;letter-spacing:-2.5px;font-weight:700;margin:15px 0 17px;position:relative;display:inline-block}h1 em{font-style:normal;color:#8b9d72}.hero-star{position:absolute;right:-62px;top:32px;color:#e5b676;font-size:43px;font-weight:400;transform:rotate(12deg)}.intro p{max-width:440px;font-size:13px;line-height:1.75;color:var(--muted);margin:0 auto}.playroom{margin:0 26px;border:1px solid #e0e1d6;border-radius:24px;background:#fffefa;box-shadow:0 12px 40px #63654c06;padding:0 18px 18px;overflow:hidden}.toy-tabs{display:flex;justify-content:center;gap:12px;padding:17px 0;border-bottom:1px solid #eee5dd;margin-bottom:18px}.tab{border:0;background:transparent;border-radius:12px;padding:11px 22px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#8c8a81;transition:.2s}.tab.active{background:#edf0e6;color:#536046}.tab:hover{background:#f0f1e9}.tab-icon{font-size:20px;font-weight:400}.tab-small{font-size:8px;letter-spacing:1px;opacity:.6;font-weight:500;margin-left:4px}.toy-layout{display:grid;grid-template-columns:1fr 320px;gap:35px}.desk{position:relative;min-height:400px;background:#eeeaf2;border:1px solid #e7e2ec;border-radius:17px;overflow:hidden;isolation:isolate;transition:background .5s;display:flex;flex-direction:column;align-items:stretch}.desk:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,#ffffffb0,transparent 65%),linear-gradient(140deg,transparent 65%,#cbc1d328);z-index:-1}.desk-top{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.25px;color:#929098;padding:20px 21px;position:relative;z-index:2}.live-dot{width:5px;height:5px;border-radius:50%;background:#a3a58f}.icon-button{margin-inline-start:auto;display:flex;gap:6px;align-items:center;background:#ffffff8a;border:1px solid #ffffff91;padding:7px 10px;border-radius:20px;font-size:10px;letter-spacing:0;color:#79767e}.icon-button span:first-child{font-size:14px}canvas{width:100%;height:300px;display:block;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;outline-offset:-7px!important}canvas:active{cursor:grabbing}.desk-bottom{height:43px;display:flex;justify-content:center;align-items:center;gap:7px;color:#8b8490;font-size:10px;z-index:1;padding:0 12px;text-align:center}.gesture-icon{font-size:16px;transform:rotate(-15deg);color:#a29aa8}.desk-spark{position:absolute;pointer-events:none;color:#c8bed1}.spark-one{top:31%;left:13%;font-size:30px}.spark-two{top:64%;right:12%;font-size:19px}.toy-info{padding:22px 20px 15px 0}.toy-number{font-size:10px;color:#aaa99d;letter-spacing:1px;display:flex;align-items:center;gap:16px}.toy-number span{font-size:8px;letter-spacing:1.2px;color:#959586}h2{font-family:Manrope,Arial,sans-serif;font-size:31px;line-height:1.2;letter-spacing:-1px;font-weight:600;margin:20px 0 13px;white-space:pre-line}.toy-info p{font-size:12px;line-height:1.8;color:var(--muted);max-width:245px;margin:0 0 21px}.color-label{font-size:8px;letter-spacing:1.2px;font-weight:600;color:#919280}.swatches{display:flex;gap:10px;margin:12px 0 8px}.swatch{width:27px;height:27px;border:4px solid white;border-radius:50%;outline:1px solid #e5e4de;transition:transform .2s}.swatch:hover{transform:scale(1.12)}.swatch.selected{outline:1.5px solid #9a9e8c}.peach{background:#efb19e}.apple{background:#b4c992}.citrus{background:#efcf7f}.color-name{font-size:10px;color:#9d9c91;margin-bottom:21px}.reset{display:flex;align-items:center;justify-content:center;gap:9px;background:#58654e;color:white;border:0;border-radius:10px;padding:12px 24px;font-size:11px;width:100%;max-width:244px;transition:.2s}.reset:hover{background:#414f37;transform:translateY(-1px)}.reset>span:first-child{font-size:19px;line-height:12px}.sound-note{display:flex;gap:10px;font-size:9px;line-height:1.6;color:#a3a195;margin-top:17px}.sound-note>span:first-child{font-size:17px;color:#a1aa8d}.bottom-notes{display:flex;justify-content:center;gap:51px;margin:25px 20px 38px;font-size:10px;color:#94958a}.bottom-notes>span{display:flex;align-items:center;gap:8px}.bottom-notes i{font-size:17px;font-style:normal;color:#a0ab8c}footer{padding:21px 30px 26px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;font-size:10px;color:#a2a295}.mini-brand{text-decoration:none;font-size:16px;font-weight:700;color:#6b725e;letter-spacing:-.7px}footer>span:last-child{margin-inline-start:auto;font-size:9px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#keyboard{height:300px;align-content:center;padding:20px 50px;touch-action:none;user-select:none}.key-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;max-width:350px;margin:0 auto;transform:perspective(600px) rotateX(15deg) rotateZ(-7deg)}.key{height:93px;position:relative;background:#ced4ba;border:1px solid #bdc5a8;border-radius:17px;box-shadow:0 11px 0 #aeb69a,0 15px 2px #4d5b2424,0 22px 18px #63614724;transform:translateY(-7px);transition:transform 100ms,box-shadow 100ms;touch-action:none;padding:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#667252}.key:before{content:'';position:absolute;inset:6px 7px 9px;background:linear-gradient(135deg,#f5f6df,#dee5c9);border-radius:13px;box-shadow:inset 0 2px 1px #fff9,inset 0 -2px 3px #a0a98f33}.key:nth-child(2),.key:nth-child(5){background:#debcae;border-color:#d3aa9a;box-shadow:0 11px 0 #c29d90,0 15px 2px #4d5b2424,0 22px 18px #63614724;color:#aa7d6c}.key:nth-child(2):before,.key:nth-child(5):before{background:linear-gradient(135deg,#fae7db,#eecbbb)}.key:nth-child(3),.key:nth-child(4){background:#c7bfd7;border-color:#b6adc9;box-shadow:0 11px 0 #aaa0bd,0 15px 2px #4d5b2424,0 22px 18px #63614724;color:#9381a6}.key:nth-child(3):before,.key:nth-child(4):before{background:linear-gradient(135deg,#ece7f4,#d4c8e5)}.key.pressed{transform:translateY(2px);box-shadow:0 2px 0 #a3a28c,0 5px 4px #63614722}.key span{z-index:1;font-size:26px;pointer-events:none;line-height:1.2}.key small{z-index:1;font-size:9px;opacity:.65;margin-top:5px;pointer-events:none}#typeout{font-size:12px;letter-spacing:8px;color:#aaa38d;text-align:center;margin-top:24px;height:20px}[hidden]{display:none!important}html[dir=rtl] .toy-info{padding:22px 0 15px 20px}html[dir=rtl] h1{letter-spacing:0}html[dir=rtl] .hero-star{left:-62px;right:auto}@media(min-width:1450px){.intro{padding-top:55px;padding-bottom:40px}.desk{min-height:430px}canvas,#keyboard{height:330px}}@media(max-width:850px){.toy-layout{grid-template-columns:1fr 240px;gap:23px}.tab{padding:10px 15px}.toy-info{padding-right:5px}h2{font-size:27px}.toy-tabs{gap:0}.tab-small{display:none}#keyboard{padding:20px 30px}.key{height:80px}.bottom-notes{gap:25px}}@media(max-width:620px){.header{height:80px;margin:0 20px;padding:0}.brand{font-size:29px}.flower{font-size:35px}.local-only{display:none}.header-right{gap:0}.intro{padding:32px 24px 27px}h1{font-size:36px;letter-spacing:-1.6px;line-height:1.2}.hero-star{font-size:25px;right:-27px;top:24px}.intro p{font-size:12px;max-width:300px}.eyebrow{font-size:8px;letter-spacing:1.5px}.playroom{margin:0 13px;padding:0 10px 17px;border-radius:20px}.toy-tabs{padding:11px 0;margin-bottom:10px;justify-content:space-around}.tab{padding:9px 12px;gap:6px;font-size:11px}.tab-icon{font-size:18px}.toy-layout{display:flex;flex-direction:column;gap:0}.desk{min-height:340px}.desk-top{padding:14px;font-size:7px;letter-spacing:.8px}canvas,#keyboard{height:260px}.desk-bottom{height:38px;font-size:9px}.toy-info{padding:21px 16px 2px;display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.toy-number{grid-column:1/-1}h2{font-size:25px;margin:13px 0 10px;grid-column:1/-1;white-space:normal}.toy-info p{grid-column:1/-1;max-width:none;font-size:12px;margin-bottom:17px}.color-label{grid-column:1}.swatches{grid-column:1;margin:10px 0 8px}.color-name{grid-column:1;margin-bottom:0}.reset{grid-column:2;grid-row:5/7;align-self:center;width:100%;padding:13px 8px}.sound-note{grid-column:2;grid-row:7;margin:0;font-size:8px}.sound-note br{display:none}.sound-note>span:first-child{display:none}.bottom-notes{margin:22px 16px 27px;gap:15px;font-size:9px;flex-wrap:wrap}.bottom-notes>span:last-child{display:none}footer{margin:0 22px;padding:19px 0 24px;gap:13px}footer>span:last-child{display:none}.key-grid{max-width:280px;gap:12px}.key{height:76px}#keyboard{padding:20px 35px}.key span{font-size:22px}html[dir=rtl] .toy-info{padding:21px 16px 2px}html[dir=rtl] .hero-star{left:-27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

html[dir=rtl] .brand,html[dir=rtl] .mini-brand{direction:ltr;unicode-bidi:isolate}
/* Product-study edition: physical keycap clicker charm, not a mini keyboard. */
.brand,.mini-brand{direction:ltr;unicode-bidi:isolate}.desk-spark{opacity:.42}.gesture-icon{font-size:0}.gesture-icon:after{content:'↘';font-size:15px}.swatch:disabled{cursor:default;opacity:1}.swatch:disabled:hover{transform:none}.desk{border-color:#e3dfd3}#keyboard{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;padding:0 30px 0 75px;direction:ltr}.keyring-product{position:relative;width:min(87%,362px);transform:perspective(850px) rotateX(24deg) rotateZ(-9deg);margin-top:25px;isolation:isolate;user-select:none;-webkit-user-select:none}.key-housing{position:relative;background:linear-gradient(155deg,#e5e6dc 5%,#f5f5ec 35%,#d1d3c7 85%);padding:14px 12px 22px;border:1px solid #c0c4b7;border-radius:12px 13px 14px 13px;box-shadow:inset 0 2px 2px #fff,0 6px 0 #bfc3b7,0 8px 0 #a8ada2,0 19px 13px #53554625,10px 26px 27px #53554622;z-index:1}.key-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:none;gap:7px;transform:none;margin:0}.key{--cap:#d9dfc5;--capTop:#f0f1dc;--capLow:#c7ceae;--capSide:#a8b28f;--print:#6f7d59;aspect-ratio:1/1.04;height:auto;border:1px solid var(--capSide);border-radius:6px;background:linear-gradient(135deg,var(--cap),var(--capLow));box-shadow:0 9px 0 var(--capSide),0 10px 1px #55614380,1px 13px 3px #4c534a50;transform:translateY(-7px);transition:transform .06s cubic-bezier(.2,.8,.3,1),box-shadow .06s;color:var(--print);display:block;position:relative}.key:before{inset:3px 6px 10px;border-radius:4px;background:radial-gradient(ellipse at 50% 80%,#fff0 30%,#8b836018 100%),linear-gradient(155deg,var(--capTop),var(--cap));box-shadow:inset 0 1px 1px #ffffffe6,inset 1px 0 1px #ffffffe6,inset 0 -1px 3px #868c6c33,0 1px 0 #ffffff66}.key:after{content:'';position:absolute;inset:auto 10px 7px;height:1px;background:#fff5}.key:nth-child(2){--cap:#e5d6d0;--capTop:#f6e8de;--capLow:#d7bcb0;--capSide:#b79b8e;--print:#977565}.key:nth-child(3){--cap:#d8d1e2;--capTop:#eeebf5;--capLow:#beb4cf;--capSide:#a69ab7;--print:#88779d}.key:nth-child(4){--cap:#e7e0c7;--capTop:#f8f3dc;--capLow:#d5c9a7;--capSide:#b6aa88;--print:#96865e}.key:nth-child(2),.key:nth-child(3),.key:nth-child(4){background:linear-gradient(135deg,var(--cap),var(--capLow));border-color:var(--capSide);color:var(--print);box-shadow:0 9px 0 var(--capSide),0 10px 1px #55614380,1px 13px 3px #4c534a50}.key:nth-child(2):before,.key:nth-child(3):before,.key:nth-child(4):before{background:radial-gradient(ellipse at 50% 80%,#fff0 30%,#8b836018 100%),linear-gradient(155deg,var(--capTop),var(--cap))}.key.pressed{transform:translateY(0);box-shadow:0 2px 0 var(--capSide),0 4px 3px #4c534a50}.key span{position:absolute;inset:18px 9px auto;font-size:13px;letter-spacing:1px;font-family:Manrope,Arial,sans-serif;font-weight:500;text-align:start}.key small{position:absolute;bottom:14px;right:11px;font-size:6px;letter-spacing:.5px;opacity:.55;margin:0}.housing-brand{position:absolute;bottom:3px;left:0;width:100%;font-size:7px;letter-spacing:1px;color:#8b9180;text-align:center}.screw{position:absolute;width:4px;height:4px;border-radius:50%;bottom:6px;background:linear-gradient(110deg,#879185,#edf0e6 65%,#939e90);box-shadow:0 0 1px #6f7766}.screw:after{content:'';position:absolute;width:3px;height:1px;background:#7f8876;top:1.4px;left:.4px;transform:rotate(-20deg)}.screw-left{left:8px}.screw-right{right:8px}.metal-hardware{position:absolute;left:-119px;top:-48px;width:145px;height:100px;overflow:visible;filter:drop-shadow(1px 5px 2px #575b4b25);z-index:2}.keyring-lug{position:absolute;left:-13px;top:21px;width:22px;height:24px;border-radius:7px 0 0 7px;border:4px solid #ced1c4;background:#7d847129;box-shadow:0 5px 0 #afb5a5;z-index:0}#typeout{direction:ltr;letter-spacing:8px;margin-top:45px;margin-left:-35px;font-size:11px;color:#a7a391}.keyring-product.jostle{animation:charm-jostle .22s ease-out}@keyframes charm-jostle{0%{transform:perspective(850px) rotateX(24deg) rotateZ(-9deg)}40%{transform:perspective(850px) rotateX(24deg) rotateZ(-8.5deg) translateY(1px)}100%{transform:perspective(850px) rotateX(24deg) rotateZ(-9deg)}}
@media(max-width:850px) and (min-width:621px){#keyboard{padding-left:66px;padding-right:12px}.metal-hardware{left:-91px;top:-33px;width:114px}.keyring-product{width:92%}.key-housing{padding:11px 8px 20px}.key span{font-size:11px;inset:12px 8px auto}.key small{font-size:5px;bottom:12px}}
@media(max-width:620px){#keyboard{padding:0 20px 0 51px}.keyring-product{width:96%;max-width:290px;margin-top:12px}.key-housing{padding:11px 8px 20px;border-radius:10px}.key-grid{gap:5px}.key{border-radius:5px}.key:before{inset:3px 4px 9px}.key span{font-size:11px;inset:12px 8px auto}.key small{bottom:12px;font-size:5px}.metal-hardware{width:99px;left:-78px;top:-37px}.keyring-lug{top:15px;left:-11px;height:20px;width:19px}.housing-brand{font-size:6px}#typeout{margin-top:36px;margin-left:-25px}.tab{padding-inline:9px;gap:5px}.desk-top{letter-spacing:.65px}}

@media(max-width:620px){.keyring-product{width:82%;margin-left:16px}.key small{font-size:4px}.key span{inset:10px 7px auto;font-size:10px}}
@media(prefers-reduced-motion:reduce){.keyring-product.jostle{animation:none}}
/* Tactile finishing pass: tighter product framing, material chips and moulded caps. */
.intro{padding-top:35px;padding-bottom:29px}.intro p{font-size:13px;line-height:1.8}.eyebrow{letter-spacing:1.8px}.playroom{box-shadow:0 14px 42px #74735a09,0 1px 1px #fff inset}.toy-tabs{gap:15px;padding:15px 0}.tab{transition:background .18s,color .18s,transform .18s}.tab:active{transform:translateY(1px)}.desk{box-shadow:inset 0 1px 0 #ffffff9c;transition:background .35s,border-color .2s}.desk:hover{border-color:#cfd2c2}.desk:before{background:radial-gradient(ellipse at 20% 10%,#fffffff0,transparent 65%),linear-gradient(145deg,#ffffff00 46%,#c3bda31c 100%)}.desk:after{content:'';position:absolute;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E");z-index:3}.desk-spark{opacity:.24}.desk-top{padding-top:17px;padding-bottom:17px}.icon-button{border-color:#ffffffc4;box-shadow:0 2px 6px #6e715707}.icon-button:active{transform:translateY(1px)}.toy-info{padding-top:21px}.toy-info p{line-height:1.83;color:#777c70}.color-label{font-size:8px;letter-spacing:1.05px}.swatches{gap:10px;margin-top:13px}.swatch{width:29px;height:29px;box-shadow:inset -2px -3px 4px #62633719,inset 2px 2px 2px #ffffff70;transition:transform .18s,outline-color .18s,box-shadow .18s}.swatch.selected{outline-color:#82906b;box-shadow:inset -2px -3px 4px #62633719,inset 2px 2px 2px #ffffff70,0 0 0 3px #82906b12}.swatch[data-color="3"]{width:38px;border-radius:9px}.swatch:active{transform:scale(.94)}.color-name{color:#8d9382}.reset{box-shadow:0 3px 7px #42553b12;transition:background .18s,transform .18s,box-shadow .18s}.reset:active{transform:translateY(1px);box-shadow:none}.sound-note{font-size:9px;max-width:244px;color:#969c8b}.key-housing{border-color:#b8bdad;box-shadow:inset 0 2px 2px #fff,0 5px 0 #c1c6b8,0 6px 0 #9ea796,0 8px 0 #b7bfb1,0 10px 0 #9fa897,0 14px 8px #4d56342b,8px 25px 23px #53554625;background:linear-gradient(155deg,#f4f5ea,#dce0d1 85%)}.key-housing:after{content:'';position:absolute;inset:auto 8px -5px;height:1px;background:#8c967c80;box-shadow:0 1px 0 #edf2e2aa;border-radius:50%}.key{border-radius:5px;background:linear-gradient(115deg,var(--capTop),var(--cap) 18%,var(--capLow) 85%);transition:transform .055s cubic-bezier(.1,.7,.3,1),box-shadow .055s}.key:before{inset:3px 6px 12px;border-radius:4px;background:radial-gradient(ellipse at 50% 70%,#71695608 0%,#7169560a 55%,#ffffff70 100%),linear-gradient(160deg,var(--capTop),var(--cap));box-shadow:inset 0 2px 1px #fff9,inset 1px 0 1px #fff9,inset 0 -2px 4px #68694535,0 1px 0 #fff9}.key:nth-child(2):before,.key:nth-child(3):before,.key:nth-child(4):before{background:radial-gradient(ellipse at 50% 70%,#71695608 0%,#7169560c 55%,#ffffff70 100%),linear-gradient(160deg,var(--capTop),var(--cap))}.key span{font-size:12px;opacity:.92;text-shadow:0 .45px .1px #ffffffa0}.key:after{bottom:8px;background:#fff7;inset-inline:8px;height:1px}.key.pressed{transition:transform .035s,box-shadow .035s;transform:translateY(1px);box-shadow:0 1px 0 var(--capSide),0 3px 2px #3a482b55}.metal-hardware{filter:drop-shadow(1px 3px 1.2px #3d4d322b)}
@keyframes charm-jostle{0%{transform:perspective(850px) rotateX(24deg) rotateZ(-9deg)}35%{transform:perspective(850px) rotateX(25deg) rotateZ(-8.65deg) translateY(.7px)}65%{transform:perspective(850px) rotateX(23.8deg) rotateZ(-9.1deg)}100%{transform:perspective(850px) rotateX(24deg) rotateZ(-9deg)}}
@media(max-width:620px){.intro{padding-top:28px;padding-bottom:24px}.intro p{font-size:12px;line-height:1.75}.toy-tabs{gap:0;padding:11px 0}.toy-info{padding-top:19px}.toy-info p{line-height:1.8}.swatches{gap:6px;margin-top:11px}.swatch{width:23px;height:23px;border-width:3px}.swatch[data-color="3"]{width:31px;border-radius:7px}.color-name{font-size:9px;line-height:1.5}.sound-note{font-size:8px}.key span{font-size:10px}.key:before{inset:2px 4px 9px}.desk-top{padding-block:14px}.header{height:76px}}
@media(prefers-reduced-motion:reduce){.keyring-product.jostle{animation:none}}
@media(max-width:620px){.hero-star{right:-12px}html[dir=rtl] .hero-star{left:-12px;right:auto}}
/* Phone is the primary play surface: big targets, controls immediately below the toy. */
html{min-height:100%;overscroll-behavior-x:none}body{min-height:100svh;padding-bottom:env(safe-area-inset-bottom,0px)}button,a,select{touch-action:manipulation}.wax-mode{display:flex;justify-content:center;gap:4px;padding:0 0 10px}.wax-mode button{min-width:83px;min-height:42px;border:1px solid #e0e3d6;background:#fafbf5;border-radius:10px;font-size:11px;padding:8px 15px;transition:background .16s,box-shadow .16s}.wax-mode button.selected{background:#e9eedf;border-color:#a8b393;color:#526443;box-shadow:inset 0 1px 2px #71865013}.wax-mode button:active{transform:translateY(1px)}#desk[data-mode="tower"] canvas{height:360px}.wax-mode[hidden]{display:none}
@media(max-width:620px){
 .header{height:64px;margin-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}.brand{font-size:28px}.flower{font-size:34px}.language{min-height:42px;align-items:center;padding:8px 11px}.language select{font-size:12px;min-height:26px}
 .intro{padding:17px 20px 15px}.intro .eyebrow,.intro p{display:none}.intro h1{font-size:31px;line-height:1.14;letter-spacing:-1.3px;margin:0}.hero-star{font-size:22px;right:-12px;top:21px}.playroom{margin-inline:max(8px,env(safe-area-inset-left,0px)) max(8px,env(safe-area-inset-right,0px));padding:0 8px 12px;border-radius:20px}.toy-tabs{padding:8px 0;margin-bottom:8px;gap:4px}.tab{min-height:44px;flex:1;justify-content:center;border-radius:11px;padding:9px 5px;font-size:11px;gap:6px}.tab-icon{font-size:19px}
 .wax-mode{padding-bottom:8px;gap:5px}.wax-mode button{min-height:44px;min-width:94px;padding:9px 17px;font-size:12px}.desk{border-radius:16px;min-height:0}.desk-top{padding:8px 12px;min-height:56px}.icon-button{min-height:42px;padding:8px 12px;font-size:10px}.desk-top>span:nth-child(2){max-width:132px;line-height:1.5}canvas,#keyboard{height:280px}.desk-bottom{height:44px;font-size:10px;padding:0 14px;line-height:1.45}.desk-spark{display:none}#desk[data-mode="tower"] canvas{height:360px}
 .toy-info{display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:5px 10px;padding:14px 12px 0}.toy-number{display:none}.color-label{grid-row:1;grid-column:1/-1;font-size:8px;letter-spacing:.8px}.swatches{grid-row:2;grid-column:1;gap:6px;margin:5px 0;min-width:0}.swatch{width:44px;height:44px;border-width:6px;flex:none;border-radius:50%;outline-offset:0}.swatch[data-color="3"]{width:44px;border-radius:12px}.reset{grid-row:2;grid-column:2;width:94px;min-height:46px;max-width:none;align-self:center;padding:9px 8px;font-size:11px;line-height:1.35;border-radius:11px}.reset>span:first-child{font-size:20px}.color-name{grid-row:3;grid-column:1/-1;margin-bottom:0;min-height:17px;font-size:10px;line-height:1.5}.sound-note{grid-row:4;grid-column:1/-1;display:block;margin:1px 0 9px;max-width:none;font-size:9px;line-height:1.5}.sound-note>span:first-child{display:none}.toy-info h2{grid-row:5;grid-column:1/-1;font-size:22px;line-height:1.24;letter-spacing:-.65px;margin:9px 0 2px}.toy-info p{grid-row:6;grid-column:1/-1;font-size:12px;line-height:1.7;margin:0 0 5px;max-width:none}.bottom-notes{margin:17px 16px 20px}.header-right{gap:0}.keyring-product{width:82%;margin-left:16px}footer{padding-bottom:max(22px,env(safe-area-inset-bottom,0px))}
 html[dir=rtl] .toy-info{padding:14px 12px 0}
}
@media(max-width:355px){.swatch{width:38px;height:44px;border-inline-width:4px}.swatch[data-color="3"]{width:38px}.swatches{gap:4px}.toy-info{grid-template-columns:minmax(0,1fr) 85px;gap:5px 7px;padding-inline:7px}.reset{width:85px;font-size:10px}.intro h1{font-size:28px}.tab{font-size:10px;gap:4px}.desk-top>span:nth-child(2){max-width:110px}.keyring-product{width:77%}}
@media(max-width:355px){.toy-info{grid-template-columns:minmax(0,1fr);padding-inline:10px;gap:5px}.swatches{gap:8px;grid-column:1;grid-row:2}.swatch,.swatch[data-color="3"]{width:44px;height:44px;border-width:6px}.reset{grid-column:1;grid-row:3;width:100%;min-height:44px}.color-name{grid-row:4}.sound-note{grid-row:5}.toy-info h2{grid-row:6}.toy-info p{grid-row:7}}
@media(max-width:620px){.keyring-product{min-width:230px}.key{min-width:44px;min-height:44px}}
@media(max-width:380px){.metal-hardware{transform:rotate(75deg);transform-origin:84% 67%}}
/* Image-first studio: keep the toy and its controls, not a page of copy. */
.intro,.local-only,.toy-info h2,.toy-info p,.toy-number,.sound-note,.bottom-notes,footer{display:none!important}.header{height:68px}.playroom{margin-top:9px}.toy-layout{display:block}.desk{min-height:0}.toy-tabs{margin-bottom:10px;padding:10px 0}.wax-mode{padding-bottom:10px}.toy-info{display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:center;gap:8px 22px;padding:16px 12px 2px}.color-label{display:none}.swatches{grid-column:1;grid-row:1;margin:0;gap:10px}.color-name{grid-column:2;grid-row:1;margin:0;font-size:12px;max-width:210px;min-height:0}.reset{grid-column:3;grid-row:1;width:150px;min-height:46px;max-width:none;padding:11px 15px}.swatch{width:42px;height:42px;flex:none}.swatch[data-color="3"]{width:47px}.desk-top{min-height:48px;padding-block:7px}canvas,#keyboard{height:clamp(360px,calc(100svh - 260px),720px)}#desk[data-mode="tower"] canvas{height:clamp(430px,calc(100svh - 260px),740px)}.desk-bottom{height:35px;line-height:1.4}.desk-top>span:nth-child(2){opacity:.65;font-size:7px}.keyring-product{width:min(78%,510px)}.key-housing{background:linear-gradient(165deg,#f0f0e7,#d6d8ce 76%,#aeb4a6);box-shadow:inset 0 1px 1px #fff,0 4px 0 #c9cec2,0 5px 0 #8e9784,0 7px 0 #bac1b2,0 8px 0 #9ba590,0 11px 6px #444d322e,6px 19px 21px #454c3230}.metal-hardware{filter:drop-shadow(1.4px 3px 1px #26312944)}.key:before,.key:nth-child(2):before,.key:nth-child(3):before,.key:nth-child(4):before{background:radial-gradient(ellipse at 45% 70%,#62594312 0%,#665c4710 44%,#fff8 100%),linear-gradient(155deg,var(--capTop),var(--cap));box-shadow:inset 0 1px .6px #fff,inset 1px 0 .5px #fff9,inset 0 -2px 3px #53563936,0 1px 0 #fff8}.key span{font-weight:600;opacity:.85;text-shadow:0 .3px 0 #fff9}.key-housing:after{background:#79846d80;box-shadow:0 1px 0 #edf2e2bb}
@media(max-width:620px){.header{height:56px;margin-inline:14px}.brand{font-size:25px}.flower{font-size:29px}.language{min-height:40px;padding:6px 10px}.playroom{margin-top:4px;margin-inline:6px;padding:0 7px 10px;border-radius:18px}.toy-tabs{padding:6px 0;margin-bottom:6px;gap:3px}.tab{min-height:44px;font-size:11px;padding:6px 4px}.wax-mode{padding-bottom:6px}.wax-mode button{min-height:40px;min-width:92px;padding:7px 15px;font-size:11px}.desk{border-radius:14px}.desk-top{min-height:45px;padding:3px 10px}.icon-button{min-height:39px;padding:6px 10px}.desk-top>span:nth-child(2){font-size:6px;max-width:120px}.desk-bottom{height:33px;min-height:33px;font-size:9px;line-height:1.3;padding:0 10px}canvas,#keyboard{height:clamp(335px,calc(100svh - 285px),720px)}#desk[data-mode="tower"] canvas{height:clamp(360px,calc(100svh - 330px),720px)}.toy-info{grid-template-columns:minmax(0,1fr) 94px;justify-content:stretch;padding:12px 9px 0;gap:6px 10px}.swatches{grid-row:1;grid-column:1;gap:6px;margin:0}.swatch,.swatch[data-color="3"]{width:44px;height:44px;border-width:6px}.swatch[data-color="3"]{border-radius:12px}.reset{grid-row:1;grid-column:2;width:94px;min-height:46px;padding:8px 7px;font-size:11px}.color-name{grid-row:2;grid-column:1/-1;min-height:15px;max-width:none;font-size:10px;margin:0}.keyring-product{width:82%;max-width:330px;min-width:240px;transform:perspective(850px) rotateX(19deg) rotateZ(-24deg);margin-top:12px}.keyring-product.jostle{animation:studio-jostle .2s ease-out}#keyboard{padding-right:21px;padding-left:43px}html[dir=rtl] .toy-info{padding:12px 9px 0}}
@keyframes studio-jostle{0%,100%{transform:perspective(850px) rotateX(19deg) rotateZ(-24deg)}45%{transform:perspective(850px) rotateX(19.7deg) rotateZ(-23.5deg) translateY(.8px)}}
@media(max-width:355px){.toy-info{grid-template-columns:minmax(0,1fr);padding-inline:9px;gap:6px}.swatches{grid-column:1;grid-row:1;justify-content:center;gap:8px}.reset{grid-column:1;grid-row:2;width:100%;min-height:44px}.color-name{grid-row:3;grid-column:1;text-align:center}.keyring-product{min-width:220px}.key{min-width:42px}.tab{font-size:10px}.desk-top>span:nth-child(2){max-width:103px}}
@media(prefers-reduced-motion:reduce){.keyring-product.jostle{animation:none}}
@media(max-width:620px){.desk[data-toy="wax"] canvas{height:clamp(335px,calc(100svh - 350px),720px)}.desk[data-toy="slime"] canvas,#keyboard{height:clamp(335px,calc(100svh - 300px),720px)}#desk[data-mode="tower"] canvas{height:clamp(360px,calc(100svh - 350px),720px)}}

/* Fresh milk-pastel colour pass: clear local colour, never a gray/brown veil. */
:root{--paper:#fffaf5;--green:#43845e;--ink:#35443d;--muted:#7b8c83;--line:#e7eee4}
.flower{color:#df8cb0}.brand-dot{color:#dd93b2}.playroom{background:#fffefb;border-color:#e3ecdf;box-shadow:0 9px 30px #7c9e8010}.toy-tabs{border-bottom-color:#f2e6e0}.tab{color:#829087}.tab.active{background:#e2f4e6;color:#43825b}.tab:hover{background:#edf7e9}.tab.active .tab-icon{color:#65a57c;transform:scale(1.08)}.tab-icon{transition:transform .2s,color .2s}.wax-mode button{background:#fffdf5;border-color:#e6e8d8;color:#667c6d}.wax-mode button.selected{background:#e5f5dc;border-color:#acd392;color:#4f8354;box-shadow:inset 0 1px 2px #70a86b12}.desk{border-color:#dfebd7}.desk:before{background:radial-gradient(ellipse at 20% 10%,#fffffff2,transparent 68%),linear-gradient(145deg,#ffffff00 46%,#fff1dd30 100%)}.desk:hover{border-color:#c5dfb9}.icon-button{background:#ffffffbf;color:#73847d}.reset{background:#528a68;box-shadow:0 3px 8px #619c7022}.reset:hover{background:#417957}.reset>span:first-child{transition:transform .22s}.reset:active>span:first-child{transform:rotate(-65deg)}.swatch{box-shadow:inset -1px -2px 3px #4f92550d,inset 2px 2px 2px #ffffffb0}.swatch.selected{outline-color:#7bb58c;box-shadow:inset -1px -2px 3px #4f92550d,inset 2px 2px 2px #ffffffb0,0 0 0 3px #8bcc9d17}.color-name{color:#7c9586}.key{--cap:#c9edb7;--capTop:#edffe5;--capLow:#b6dda4;--capSide:#98c38a;--print:#59814e}.key:nth-child(2){--cap:#ffc6d6;--capTop:#ffe8f0;--capLow:#efafc2;--capSide:#d997ae;--print:#a56680}.key:nth-child(3){--cap:#d8bcf5;--capTop:#f0e5ff;--capLow:#c5a6e5;--capSide:#b193d1;--print:#8862a8}.key:nth-child(4){--cap:#ffedb6;--capTop:#fff8df;--capLow:#f1d994;--capSide:#d6bf7c;--print:#9d854c}.key-housing{background:linear-gradient(165deg,#f7fff4,#e0efdc 76%,#c1d7b9);border-color:#c3d8b9;box-shadow:inset 0 1px 1px #fff,0 4px 0 #d4e6cd,0 5px 0 #a4b99b,0 7px 0 #c1d5b9,0 8px 0 #afc5a5,0 11px 6px #60766025,6px 19px 21px #60706022}.key-housing:after{background:#9bb39080;box-shadow:0 1px 0 #f1fff0bb}.key:before,.key:nth-child(2):before,.key:nth-child(3):before,.key:nth-child(4):before{background:radial-gradient(ellipse at 45% 70%,#66807805 0%,#66807804 44%,#fffa 100%),linear-gradient(155deg,var(--capTop),var(--cap));box-shadow:inset 0 1px .6px #fff,inset 1px 0 .5px #fffb,inset 0 -2px 3px #66786b20,0 1px 0 #fffa}

/* Tactile delight: a springy key return and a tiny bag-charm reaction. */
.key.rebound{animation:cap-rebound .17s cubic-bezier(.2,.7,.3,1)}
@keyframes cap-rebound{0%{transform:translateY(0)}62%{transform:translateY(-9px)}100%{transform:translateY(-7px)}}
@keyframes studio-jostle{0%,100%{transform:perspective(850px) rotateX(19deg) rotateZ(-24deg)}35%{transform:perspective(850px) rotateX(21deg) rotateZ(-23deg) translateY(1.5px)}70%{transform:perspective(850px) rotateX(18deg) rotateZ(-24.5deg)}}
@media(prefers-reduced-motion:reduce){.key.rebound{animation:none}}

/* The play surface is a living material tower, not a small object in a text page. */
.desk-top{position:absolute;inset:0 0 auto;z-index:5}.desk-bottom{position:absolute;inset:auto 0 0;z-index:5;pointer-events:none;background:linear-gradient(transparent,#ffffff6b);text-shadow:0 1px #fff}.desk{display:block}.tower-meter{display:none;position:absolute;inset:13px auto auto 50%;transform:translateX(-50%);gap:5px;z-index:4}.desk[data-mode="tower"] .tower-meter{display:flex}.tower-meter i{width:9px;height:9px;border-radius:50%;background:var(--layer);box-shadow:inset 0 1px 1px #fffd,0 1px 2px #59806725;transition:transform .2s,opacity .2s}.tower-meter i.current{transform:scale(1.3);outline:2px solid #ffffffb0;outline-offset:1px}.tower-meter i.gone{opacity:.16;transform:scale(.7)}
@media(max-width:620px){.desk[data-toy="wax"] canvas,#desk[data-mode="tower"] canvas{height:clamp(390px,calc(100svh - 245px),780px)}.desk[data-toy="slime"] canvas,#keyboard{height:clamp(390px,calc(100svh - 205px),780px)}.desk-top>span:nth-child(2){display:none}.desk-top .icon-button{min-height:36px}.desk-bottom{min-height:33px;padding-bottom:3px}.tower-meter{top:15px;left:17px;transform:none;gap:6px}.tower-meter i{width:10px;height:10px}}

.desk-top .live-dot{display:none}

@media(max-width:355px){.desk[data-toy="wax"] canvas,#desk[data-mode="tower"] canvas{height:clamp(330px,calc(100svh - 300px),730px)}.desk[data-toy="slime"] canvas,#keyboard{height:clamp(330px,calc(100svh - 260px),730px)}}

/* One actual volume, not a tower. The retained 2D renderer is only a compatibility fallback. */
#wax-mode,#tower-meter{display:none!important}.volume-ready #toy{opacity:0;position:relative;z-index:3}.volume-ready #keyboard>*{visibility:hidden}.volume-ready #keyboard{pointer-events:none}.desk canvas.volume-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;pointer-events:none;z-index:1;opacity:1}.volume-ready .desk:after{opacity:.012}.volume-key-hit{position:absolute;z-index:4;opacity:0;border:0;background:transparent;touch-action:none;min-width:44px;min-height:44px;padding:0}.volume-key-hit:focus-visible{opacity:1;background:#ffffff15;outline:2px solid #89bd9b;border-radius:8px}.volume-key-hits[hidden]{display:none}
@media(max-width:620px){.desk[data-toy="wax"] canvas#toy,.desk[data-toy="slime"] canvas#toy,#keyboard{height:clamp(360px,calc(100svh - 205px),780px)}}
@media(max-width:355px){.desk[data-toy="wax"] canvas#toy,.desk[data-toy="slime"] canvas#toy,#keyboard{height:clamp(330px,calc(100svh - 260px),730px)}}

/* Single-object tactile studio; all interactive controls have touch room. */
#sound,.language,.language select{min-height:44px} .brand,.mini-brand{direction:ltr;unicode-bidi:isolate}

/* Stage-filling, image-first mobile layout: chrome floats over the toy. */
@media(max-width:620px){.header{height:50px}.playroom{margin-top:0;margin-inline:3px;padding:0 4px 6px}.toy-tabs{padding:3px 0;margin-bottom:4px}.desk{position:relative;border-radius:16px}.desk-top{position:absolute;top:0;right:0;left:auto;z-index:6;background:none;border:0;min-height:0;padding:6px}.desk-top .live-dot,.desk-top>span:nth-child(2){display:none}.desk-bottom{position:absolute;left:0;right:0;bottom:0;z-index:6;background:none;border:0;pointer-events:none;height:26px;min-height:26px;opacity:.75}canvas,#keyboard{height:max(430px,calc(100svh - 196px))!important}.toy-info{padding:7px 6px 0}.color-name{display:none}}

.key-mode{position:absolute;top:6px;left:8px;z-index:7;display:flex;gap:4px;padding:3px;border-radius:14px;background:#ffffffc8;backdrop-filter:blur(6px)}.key-mode[hidden]{display:none}.key-mode button{min-height:44px;min-width:64px;padding:6px 12px;border:0;border-radius:11px;background:transparent;font:inherit;font-size:12px;color:#6a7a70}.key-mode button.selected{background:#ffe2ef;color:#a2486f;box-shadow:inset 0 1px 2px #a2486f18}html[dir=rtl] .key-mode{left:auto;right:8px}html[dir=rtl] .desk-top{right:auto;left:0}

/* keycap-owned: dense 7x11 candy letter-field fallback, no ring or chassis. */
.desk[data-toy="keys"] #keyboard{padding:56px 6px 30px;direction:ltr;align-items:stretch}
.desk[data-toy="keys"] .keyring-product{width:100%;min-width:0;max-width:none;height:100%;margin:0;transform:none;animation:none}
.desk[data-toy="keys"] .key-housing{height:100%;padding:5px;border:0;border-radius:10px;background:#c4aee8;box-shadow:none}
.desk[data-toy="keys"] .key-grid{height:100%;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(11,minmax(0,1fr));gap:5px;direction:ltr}
.desk[data-toy="keys"] .key{--cap:#c084fc;--capTop:#d4a5ff;--capLow:#a66eef;--capSide:#8b54d4;--print:#fff;min-width:0;min-height:0;aspect-ratio:auto;height:100%;margin:0;border-radius:7px;border-color:var(--capSide);background:radial-gradient(circle at 50% 42%,var(--capTop),var(--cap) 62%,var(--capLow));box-shadow:0 5px 0 var(--capSide),0 7px 3px #5a3c8230;transform:translateY(-4px)}
.desk[data-toy="keys"] .key.pressed{transform:translateY(0);box-shadow:0 1px 0 var(--capSide)}
.desk[data-toy="keys"] .key span{inset:50% 0 auto;transform:translateY(-55%);text-align:center;font-family:'DM Sans',Arial,sans-serif;font-weight:800;letter-spacing:0;color:var(--print);font-size:clamp(14px,4.6vw,26px)}
.desk[data-toy="keys"] .key small,.desk[data-toy="keys"] #typeout,.desk[data-toy="keys"] .metal-hardware,.desk[data-toy="keys"] .keyring-lug,.desk[data-toy="keys"] .housing-brand,.desk[data-toy="keys"] .screw{display:none}
.desk[data-toy="keys"] .key:nth-child(5n+2){--cap:#ff7eb6;--capTop:#ff9ec9;--capLow:#ef5fa0;--capSide:#d94d8c}
.desk[data-toy="keys"] .key:nth-child(5n+3){--cap:#fff7fc;--capTop:#ffffff;--capLow:#f3e8ff;--capSide:#d4b8f5;--print:#a855f7}
.desk[data-toy="keys"] .key:nth-child(5n+4){--cap:#8b5cf6;--capTop:#a78bfa;--capLow:#7c3aed;--capSide:#6d28d9}
.desk[data-toy="keys"] .key:nth-child(13n+7){--cap:#5ee9b5;--capTop:#9af5d0;--capLow:#34d399;--capSide:#10b981;--print:#fff}
.desk[data-toy="keys"] .key:nth-child(17n+11){--cap:#ffd54a;--capTop:#ffe58a;--capLow:#f5c016;--capSide:#e0a800;--print:#fff}
.desk[data-toy="keys"] .key:before,.desk[data-toy="keys"] .key:after{display:none}

/* keycap-owned: shallower, satin glide fallback. */
.desk[data-toy="keys"]:has([data-kmode="glide"].selected) .key{background:linear-gradient(135deg,#fff,var(--cap) 35%,var(--capLow));transform:translateY(-2px);transition:transform .11s ease-out,box-shadow .11s;box-shadow:0 3px 0 var(--capSide),0 5px 3px #5a3c8228}
.desk[data-toy="keys"]:has([data-kmode="glide"].selected) .key.pressed{transform:translateY(0);box-shadow:0 1px 0 var(--capSide)}
.desk[data-toy="keys"] .keyring-product:before,.desk[data-toy="keys"] .keyring-product:after{display:none}
.desk[data-toy="keys"]:has([data-kmode="glide"].selected) .key.rebound{animation:none}

/* Bunny only: four accessible colorways; the keyboard UI remains independent. */
.tab[data-toy="bunny"]{min-height:44px}.tab[data-toy="bunny"].active{background:#fbe5ed;color:#a5647b}.desk[data-toy="bunny"]{border-color:#eedbdc}.playroom:has(.desk[data-toy="bunny"]) .swatch{width:44px;height:44px;border-radius:50%;border-width:6px}.playroom:has(.desk[data-toy="bunny"]) .swatches{gap:6px}
@media(max-width:620px){.tab[data-toy="bunny"]{gap:4px;padding-inline:4px}.desk[data-toy="bunny"] canvas#toy{height:max(430px,calc(100svh - 196px))}}
/* animal picker (Bunny tab: bunny / dog; monkey button stays hidden until its 3D lands) + dog mirrors bunny desk styling */
.animal-picker{position:absolute;top:6px;left:8px;z-index:7;display:flex;gap:4px;padding:3px;border-radius:14px;background:#ffffffc8;backdrop-filter:blur(6px);max-width:calc(100% - 132px)}.animal-picker[hidden],.animal-picker button[hidden]{display:none}.animal-picker button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:44px;padding:6px 11px;border:0;border-radius:11px;background:transparent;font:inherit;font-size:12px;color:#8f7a80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .2s,color .2s}.animal-picker button.selected{background:#fbe5ed;color:#a5647b;box-shadow:inset 0 1px 2px #a5647b18}.animal-picker .animal-icon{font-size:13px;line-height:1}html[dir=rtl] .animal-picker{left:auto;right:8px}@media(max-width:380px){.animal-picker{max-width:calc(100% - 118px)}.animal-picker .animal-icon{display:none}.animal-picker button{padding:6px 9px;font-size:11px}}
.desk[data-toy="dog"]{border-color:#eedbdc}.playroom:has(.desk[data-toy="dog"]) .swatch{width:44px;height:44px;border-radius:50%;border-width:6px}.playroom:has(.desk[data-toy="dog"]) .swatches{gap:6px}
@media(max-width:620px){.desk[data-toy="dog"] canvas#toy{height:max(430px,calc(100svh - 196px))}}

/* A small, local scorebook — the toys still own the desk. */
.play-score{display:flex;align-items:center;gap:24px;padding:16px 22px;margin:0 0 10px;border:1px solid #dedfd1;border-radius:22px;background:#fffdf6;color:#495647}
.play-score>div{display:grid;gap:4px;min-width:0}.play-score span,.board-head{font-size:11px;letter-spacing:.04em;color:#687363}.play-score strong{font-size:20px;font-variant-numeric:tabular-nums}.play-score .player-tag{margin-inline-end:auto}.player-tag strong{font-size:15px;overflow-wrap:anywhere}
.desk-board{margin:0 0 18px;border:1px solid #dedfd1;border-radius:18px;background:#fffdf8;padding:12px 20px;color:#495647}.desk-board summary{cursor:pointer;font-size:13px;font-weight:700;min-height:24px}.desk-board p{font-size:12px;line-height:1.6;color:#687363;margin:10px 0}.desk-board ol{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}.desk-board li,.board-head{display:grid;grid-template-columns:44px 1fr auto;gap:10px;padding:9px 10px;align-items:center}.desk-board li{font-size:13px;border-radius:12px}.desk-board li.is-player{background:#eaf0df;font-weight:700}.desk-board li span:last-child{font-variant-numeric:tabular-nums}.desk-board li span:nth-child(2){overflow-wrap:anywhere}.desk-board .your-place{margin-bottom:0}
@media(max-width:560px){.play-score{gap:14px;padding:13px 16px}.play-score strong{font-size:18px}.player-tag strong{font-size:13px}.desk-board{padding:12px 14px}.play-score span{font-size:10px}}
