:root{
  --blue:#1e88e5; --aqua:#00bcd4; --yellow:#ffc107; --purple:#7e57c2;
  --coral:#ff6b4a; --lime:#8bc34a; --navy:#1a237e; --ink:#14214d;
  --paper:#f8fbff; --shadow:0 16px 45px rgba(47,71,132,.16);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Nunito,Arial,sans-serif;color:var(--ink);background:
  radial-gradient(circle at 12% 6%,rgba(88,177,255,.14),transparent 20%),
  radial-gradient(circle at 88% 8%,rgba(255,197,71,.15),transparent 18%),
  linear-gradient(#fff,#f5faff 66%,#edf7ff);min-height:100vh}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
.shell{width:min(1540px,96vw);margin:auto}
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.91);backdrop-filter:blur(16px);border-bottom:1px solid rgba(36,83,149,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}
.logo{display:flex;align-items:center;gap:12px;min-width:max-content}
.logo-stack{display:grid;gap:4px}.logo-top,.logo-bottom{display:flex;gap:4px}
.logo-block{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;color:white;font-weight:1000;font-size:26px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.14),0 4px 8px rgba(35,55,120,.15);text-shadow:0 2px 0 rgba(0,0,0,.12)}
.logo-top .logo-block{width:50px;height:50px;font-size:30px}.c1{background:#ef553e}.c2{background:#80c41c}.c3{background:#13bfc5}.c4{background:#804fd2}.c5{background:#ffb914}.c6{background:#248be5}.c7{background:#ff9f1c}
.logo-copy strong{display:block;font-size:18px;letter-spacing:.18em}.logo-copy small{font-weight:900;letter-spacing:.13em;color:#485a8a}
.nav{display:flex;align-items:center;gap:10px}.nav a{padding:12px 15px;border-radius:14px;font-weight:900}.nav a.active{color:var(--blue);background:#edf6ff}.nav a:hover{background:#f3f7ff}
.start-btn,.primary-btn{border:0;border-radius:999px;padding:13px 23px;background:linear-gradient(135deg,var(--coral),#ff8b52);color:white;font-weight:1000;box-shadow:0 8px 18px rgba(255,107,74,.28)}
.secondary-btn{border:0;border-radius:999px;padding:12px 20px;background:linear-gradient(135deg,#6847d3,#9748e8);color:#fff;font-weight:1000;box-shadow:0 8px 18px rgba(104,71,211,.25)}
.ghost-btn{border:1px solid #cfe0f5;background:white;border-radius:999px;padding:11px 18px;color:#2b4a82;font-weight:900}
.hero{padding:36px 0 12px;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.45;z-index:-1}.hero:before{width:280px;height:280px;background:#d7f2ff;left:-80px;top:70px}.hero:after{width:350px;height:350px;background:#fff0c6;right:-100px;top:30px}
.hero-head{text-align:center;margin-bottom:18px}.hero-head h1{font-size:clamp(34px,5vw,66px);margin:0;font-weight:1000;letter-spacing:-.04em}.hero-head p{margin:8px 0 0;font-weight:900;color:#526796;font-size:18px}
.carousel-wrap{display:grid;grid-template-columns:1fr 2.2fr 1fr;gap:16px;align-items:stretch;position:relative}.world-card{border-radius:28px;background:white;box-shadow:var(--shadow);overflow:hidden;border:1px solid #e0ebf9;min-height:380px;display:flex;flex-direction:column}.world-card.side{opacity:.92;transform:scale(.96);align-self:center}.world-art{position:relative;min-height:245px;overflow:hidden;background:var(--bg,#dff2ff)}.world-card.side .world-art{min-height:230px}.world-art svg{width:100%;height:100%;position:absolute;inset:0}.featured-ribbon{position:absolute;left:18px;top:16px;background:#7b4dd3;color:white;padding:8px 16px;border-radius:8px;font-weight:1000;font-size:13px;z-index:5}.world-copy{padding:18px 22px 22px}.world-copy h2,.world-copy h3{margin:0 0 4px;font-size:32px}.world-copy h3{font-size:23px}.world-copy p{margin:0 0 15px;color:#4f638e;font-weight:700;line-height:1.4}.world-card.side .world-copy{padding:14px 18px 18px}.world-card.side .world-copy p{font-size:14px}.world-card.side .primary-btn{font-size:13px;padding:10px 14px}.carousel-arrow{position:absolute;top:42%;width:54px;height:54px;border-radius:50%;border:1px solid #d8e5f5;background:#fff;color:#6438c5;font-size:26px;font-weight:1000;box-shadow:0 10px 22px rgba(43,65,127,.18);z-index:10}.carousel-arrow.prev{left:-26px}.carousel-arrow.next{right:-26px}.dots{display:flex;justify-content:center;gap:8px;padding:18px 0 4px}.dot{width:10px;height:10px;border-radius:50%;border:0;background:#ced8e8;padding:0}.dot.active{background:#7c42d4;transform:scale(1.2)}
.section{padding:24px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.section-head h2{margin:0;font-size:30px}.section-head p{margin:0;color:#61749c;font-weight:800}
.world-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.world-tile{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #e0ebf9;box-shadow:0 9px 24px rgba(39,74,137,.10);transition:.2s}.world-tile:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(39,74,137,.16)}.world-tile .thumb{height:150px;position:relative;background:#e7f6ff;overflow:hidden}.world-tile .thumb svg{position:absolute;inset:0;width:100%;height:100%}.tile-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-weight:1000}.tile-footer span:first-child{display:flex;align-items:center;gap:9px}.round-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:white;background:var(--accent,#5b64e8)}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.how-card{background:white;border:1px solid #e0ebf9;border-radius:20px;padding:20px;min-height:155px;display:flex;gap:14px;box-shadow:0 8px 22px rgba(39,74,137,.08)}.step-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:white;background:var(--accent,#227fe1);font-weight:1000;font-size:20px;flex:none}.how-card h3{margin:2px 0 7px}.how-card p{margin:0;color:#607399;font-weight:700;line-height:1.45}
.parent-strip{margin:24px 0 40px;background:linear-gradient(90deg,#eef8ff,#fff,#f6f1ff);border:1px solid #e1eaf7;border-radius:24px;padding:20px;display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:16px;box-shadow:var(--shadow)}.parent-main h3{margin:0 0 5px;font-size:24px}.parent-main p,.parent-item p{margin:0;color:#607399;font-weight:700;line-height:1.45}.parent-item{padding-left:16px;border-left:1px solid #dbe6f4}.parent-item strong{display:block;margin-bottom:4px}
.footer{padding:28px 0 34px;color:#66789b;font-weight:700;text-align:center}
/* Castle builder */
.builder-page{background:linear-gradient(#ecf8ff,#fbfdff 58%,#f2f9ff)}.builder-shell{width:min(1560px,98vw);margin:14px auto 40px}.builder-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;background:rgba(255,255,255,.92);border:1px solid #deebf9;border-radius:20px;padding:11px 14px;box-shadow:0 10px 25px rgba(40,75,135,.12)}.builder-title{display:flex;align-items:center;gap:12px}.builder-title h1{margin:0;font-size:26px}.builder-title small{display:block;color:#65779d;font-weight:800}.builder-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tool-btn{border:1px solid #d8e6f6;background:#fff;color:#294a83;border-radius:12px;padding:10px 13px;font-weight:900}.tool-btn.emphasis{background:#6f4bd5;color:white;border-color:#6f4bd5}.tool-btn.danger{color:#a83d4b}.builder-grid{display:grid;grid-template-columns:250px minmax(0,1fr) 250px;gap:12px}.panel{background:rgba(255,255,255,.94);border:1px solid #dbe8f7;border-radius:20px;box-shadow:0 12px 28px rgba(39,74,137,.11);overflow:hidden}.panel-head{padding:14px 16px;border-bottom:1px solid #e5eef9;font-weight:1000}.palette{padding:10px;max-height:720px;overflow:auto}.cat-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#7b8daf;font-weight:1000;margin:10px 5px 6px}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.palette-item{border:1px solid #dfeaf8;background:#f9fcff;border-radius:14px;padding:9px 5px;text-align:center;font-size:12px;font-weight:900;color:#3f5b8f;min-height:76px}.palette-item:hover{background:#eef7ff;border-color:#bcd9f6}.palette-icon{height:42px;display:grid;place-items:center;font-size:30px;position:relative}.canvas-wrap{position:relative;min-height:720px;border-radius:20px;overflow:hidden;border:1px solid #cfe0f2;box-shadow:0 12px 30px rgba(39,74,137,.14);background:#bfe6ff}.build-canvas{position:absolute;inset:0;overflow:hidden;touch-action:none;background:linear-gradient(#bde8ff 0 65%,#75c653 65% 100%)}.build-canvas.sunset{background:linear-gradient(#ffb57e 0,#a683e0 48%,#765dba 65%,#588b48 65%)}.build-canvas.night{background:linear-gradient(#101a5a 0,#283978 62%,#385c43 65%,#2d5f3c 65%)}.build-canvas:before{content:"";position:absolute;left:0;right:0;bottom:35%;height:60px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.35));pointer-events:none}.sun{position:absolute;width:76px;height:76px;border-radius:50%;background:#ffd95d;right:7%;top:8%;box-shadow:0 0 45px #fff2a7;pointer-events:none}.night .sun{background:#fff7d0;width:58px;height:58px;box-shadow:0 0 30px rgba(255,255,220,.8)}.ground-lines{position:absolute;left:0;right:0;bottom:0;height:35%;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.piece{position:absolute;transform-origin:center;user-select:none;touch-action:none;cursor:grab;display:grid;place-items:center}.piece.selected{outline:3px dashed rgba(103,66,209,.8);outline-offset:4px}.piece:active{cursor:grabbing}.piece .inner{width:100%;height:100%;display:grid;place-items:center;position:relative;pointer-events:none}.wall .inner{border-radius:7px;background:linear-gradient(135deg,#d7d4cc,#b9b5ad);border:2px solid #9c9890;background-image:linear-gradient(90deg,rgba(255,255,255,.23) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.08) 1px,transparent 1px);background-size:34px 100%,100% 28px}.wall-purple .inner{background:linear-gradient(135deg,#ded6f0,#bba7e1);border-color:#927dc4;background-image:linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.08) 1px,transparent 1px);background-size:34px 100%,100% 28px}.roof .inner{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(#7c4fd0,#4f2e9c);filter:drop-shadow(0 5px 0 rgba(60,33,109,.24))}.roof-red .inner{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(#e96452,#a93331)}.tower .inner{background:linear-gradient(#d5d1c7,#aaa69f);border:2px solid #97938c;border-radius:7px;background-image:linear-gradient(rgba(0,0,0,.07) 1px,transparent 1px);background-size:100% 27px}.tower .inner:before{content:"";position:absolute;left:-8%;right:-8%;top:-18%;height:24%;clip-path:polygon(50% 0,100% 100%,0 100%);background:#7245c2}.door .inner{background:linear-gradient(90deg,#82512f,#b87a4b,#82512f);border:3px solid #5c391f;border-radius:50% 50% 5px 5px}.door .inner:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#ffd15d;right:18%;top:52%}.window .inner{border-radius:50% 50% 8px 8px;border:5px solid #e8cf67;background:conic-gradient(#35a7ff,#e64d9a,#ffd04a,#5cd874,#35a7ff);box-shadow:inset 0 0 0 3px #5d3d99}.rose-window .inner{border-radius:50%;border:5px solid #e7c85e;background:conic-gradient(#ffdf4a,#4fceea,#b46dec,#fb6580,#ffdf4a);box-shadow:inset 0 0 0 4px #604499}.cross .inner:before,.cross .inner:after{content:"";position:absolute;background:linear-gradient(#ffe78c,#e3ad29);border-radius:3px;box-shadow:0 2px 5px rgba(131,89,8,.35)}.cross .inner:before{width:28%;height:100%}.cross .inner:after{width:88%;height:24%;top:27%}.flag .inner:before{content:"";position:absolute;width:10%;height:100%;left:22%;background:#6d5b49}.flag .inner:after{content:"";position:absolute;width:65%;height:46%;left:29%;top:7%;background:#ef4e58;clip-path:polygon(0 0,100% 18%,73% 52%,100% 84%,0 100%)}.tree .inner:before{content:"";position:absolute;width:18%;height:42%;bottom:0;background:#80512d;border-radius:4px}.tree .inner:after{content:"";position:absolute;width:88%;height:72%;top:0;border-radius:50% 50% 44% 44%;background:radial-gradient(circle at 30% 30%,#80d64a 0 23%,transparent 24%),radial-gradient(circle at 67% 28%,#6cc53e 0 27%,transparent 28%),radial-gradient(circle at 48% 62%,#4ead34 0 33%,transparent 34%)}.bush .inner{border-radius:50%;background:radial-gradient(circle at 24% 60%,#67bd3d 0 35%,transparent 36%),radial-gradient(circle at 55% 38%,#80cf49 0 39%,transparent 40%),radial-gradient(circle at 82% 62%,#5aaf36 0 33%,transparent 34%)}.flower .inner{font-size:min(52px,80%);filter:drop-shadow(0 3px 2px rgba(0,0,0,.16))}.bridge .inner{border-radius:50% 50% 8px 8px;background:#c99b62;border:4px solid #916c42;clip-path:polygon(0 35%,18% 5%,82% 5%,100% 35%,100% 100%,0 100%)}.knight .inner,.princess .inner,.dragon .inner{font-size:min(78px,90%);filter:drop-shadow(0 5px 3px rgba(0,0,0,.18))}.selected-tools{padding:14px;display:grid;gap:10px}.selected-tools .name{font-weight:1000;font-size:18px}.selected-tools small{color:#7184a9;font-weight:800}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.edit-grid button{border:1px solid #dbe7f7;background:#f8fbff;border-radius:12px;padding:10px 6px;font-weight:900;color:#39588d}.edit-grid button:hover{background:#eef6ff}.edit-grid .delete{color:#aa3e4c}.settings{padding:14px;border-top:1px solid #e6eef8}.settings label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;color:#7184a9}.settings input{width:100%;margin:6px 0 12px;border:1px solid #d6e4f5;border-radius:12px;padding:11px;color:#233d72;font-weight:900}.time-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.time-row button{border:1px solid #d8e5f4;background:#fff;border-radius:10px;padding:8px 3px;font-weight:900;font-size:12px}.time-row button.active{background:#6e4bd4;color:white;border-color:#6e4bd4}.save-panel{margin-top:12px;background:#fff;border:1px solid #dbe8f7;border-radius:20px;padding:14px;box-shadow:0 10px 25px rgba(39,74,137,.10)}.save-row{display:flex;gap:8px;flex-wrap:wrap}.status{margin-top:8px;color:#5d719a;font-weight:800;font-size:13px;min-height:20px}.parent-amazon{margin-top:18px;background:#fff;border:1px solid #e0eaf6;border-radius:22px;padding:20px;box-shadow:0 10px 24px rgba(39,74,137,.09)}.parent-amazon h2{margin:0 0 5px}.parent-amazon p{color:#607399;font-weight:700}.amazon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.amazon-card{background:#f8fbff;border:1px solid #dfe9f7;border-radius:16px;padding:16px}.amazon-card strong{display:block;margin-bottom:5px}.amazon-card p{font-size:14px;margin:0 0 12px}.amazon-card a{display:inline-block;background:#ffb000;color:#1b2853;font-weight:1000;padding:10px 13px;border-radius:12px}.disclosure{font-size:12px;color:#7b8cac;margin-top:12px}
.coming-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#eef3fb;color:#7a8baa;font-size:12px;font-weight:1000}
@media(max-width:1100px){.nav{display:none}.carousel-wrap{grid-template-columns:.8fr 2.1fr .8fr}.world-grid{grid-template-columns:repeat(2,1fr)}.builder-grid{grid-template-columns:210px minmax(0,1fr)}.builder-grid>.panel:last-child{grid-column:1/-1}.selected-tools{grid-template-columns:1fr 2fr;align-items:start}.amazon-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header-inner{padding:9px 0}.logo-copy{display:none}.start-btn{padding:11px 14px}.hero{padding-top:18px}.carousel-wrap{grid-template-columns:1fr}.world-card.side{display:none}.carousel-arrow.prev{left:6px}.carousel-arrow.next{right:6px}.world-grid,.how-grid,.parent-strip{grid-template-columns:1fr}.parent-item{border-left:0;border-top:1px solid #dbe6f4;padding:14px 0 0}.builder-grid{display:block}.palette{max-height:none}.palette-grid{grid-template-columns:repeat(4,1fr)}.canvas-wrap{min-height:520px;margin:10px 0}.panel:last-child{margin-top:10px}.selected-tools{display:block}.amazon-grid{grid-template-columns:1fr 1fr}.builder-top{align-items:flex-start}.builder-title small{display:none}}

/* =========================================================
   Castle Builder V2 — simple kid-first viewport/navigation
   ========================================================= */
.builder-v2 .builder-shell{width:min(1600px,98vw)}
.builder-v2 .kid-tip{margin:-2px 0 10px;padding:9px 14px;border-radius:14px;background:#fff8d9;border:1px solid #f2dd91;color:#624f1f;font-weight:800;font-size:14px}
.builder-v2-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px;align-items:start}
.builder-v2 .block-panel{height:clamp(500px,68vh,730px);display:flex;flex-direction:column}
.builder-v2 .palette{flex:1;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}
.builder-v2 .palette-item{min-height:84px;font-size:13px;touch-action:manipulation}
.builder-v2 .palette-icon{height:46px;font-size:32px}
.builder-v2 .game-column{min-width:0}
.builder-v2 .canvas-wrap{height:clamp(500px,68vh,730px);min-height:0;position:relative;overflow:hidden;touch-action:none;background:#d9efff;isolation:isolate}
.builder-v2 .build-canvas{position:absolute;inset:auto;width:1000px;height:560px;overflow:hidden;transform-origin:0 0;will-change:transform;touch-action:none;box-shadow:0 12px 36px rgba(31,64,122,.14)}
.builder-v2 .piece{touch-action:none}
.builder-v2 .piece.selected{outline:5px solid #7e49df;outline-offset:5px;border-radius:8px;filter:drop-shadow(0 0 9px rgba(126,73,223,.36))}
.builder-v2 .view-controls{position:absolute;right:12px;top:12px;z-index:40;display:flex;align-items:center;gap:5px;padding:6px;background:rgba(255,255,255,.94);border:1px solid #d4e5f7;border-radius:15px;box-shadow:0 8px 20px rgba(40,70,130,.16);backdrop-filter:blur(8px)}
.builder-v2 .view-controls button{width:45px;height:45px;border:1px solid #dbe7f5;border-radius:11px;background:#fff;color:#315083;font-weight:1000;font-size:20px;touch-action:manipulation}
.builder-v2 .view-controls button.fit{width:auto;padding:0 11px;font-size:13px}
.builder-v2 .view-controls span{min-width:48px;text-align:center;font-size:12px;font-weight:1000;color:#556b98}
.builder-v2 .object-toolbar{position:absolute;z-index:45;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px;background:rgba(255,255,255,.96);border:2px solid #d9c7fa;border-radius:18px;box-shadow:0 11px 25px rgba(75,46,139,.22);max-width:calc(100% - 18px);overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
.builder-v2 .object-toolbar[hidden]{display:none}
.builder-v2 .object-toolbar .selected-mini{padding:0 8px;font-size:12px;color:#6843bd;font-weight:1000}
.builder-v2 .object-toolbar button{min-height:46px;border:1px solid #dcdff2;background:#f8f9ff;border-radius:11px;padding:8px 11px;color:#334f83;font-weight:1000;font-size:13px;touch-action:manipulation}
.builder-v2 .object-toolbar button.delete{background:#fff0f1;border-color:#f2c8cf;color:#a03949}
.builder-v2 .empty-hint{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;text-align:center;padding:18px 24px;border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 10px 30px rgba(41,71,128,.12);color:#46618f}
.builder-v2 .empty-hint[hidden]{display:none}.builder-v2 .empty-hint strong{display:block;font-size:22px;color:#5e3bb1}.builder-v2 .empty-hint span{font-weight:800}
.builder-v2 .builder-bottom-panel{display:grid;grid-template-columns:minmax(290px,.75fr) 1.5fr;gap:12px;margin-top:12px}
.builder-v2 .settings-v2,.builder-v2 .save-v2{background:#fff;border:1px solid #dbe8f7;border-radius:18px;padding:12px 14px;box-shadow:0 9px 22px rgba(39,74,137,.08)}
.builder-v2 .settings-v2{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;align-items:end}
.builder-v2 .settings-v2 label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;color:#7184a9;display:block;margin-bottom:5px}
.builder-v2 .settings-v2 input{width:100%;border:1px solid #d6e4f5;border-radius:11px;padding:10px 11px;color:#233d72;font-weight:900}
.builder-v2 .save-v2{margin-top:0}
.builder-v2 .parent-pill{display:inline-block;background:#e9f3ff;color:#2866a6;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:1000;letter-spacing:.08em}
.builder-v2 .parent-amazon-head h2{margin:8px 0 3px}
.builder-v2 .real-products{grid-template-columns:repeat(3,1fr)}
.builder-v2 .product-card{padding:0;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.builder-v2 .product-image{display:grid;place-items:center;height:230px;background:#fff;border-bottom:1px solid #e8eef6;padding:10px}
.builder-v2 .product-image img{width:100%;height:100%;object-fit:contain;display:block}
.builder-v2 .product-copy{padding:15px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.builder-v2 .product-copy strong{font-size:17px;color:#243d70}.builder-v2 .product-copy p{flex:1;margin:5px 0 12px}
.builder-v2 .amazon-btn{display:inline-block;background:#ffb000;color:#17264e!important;border-radius:12px;padding:10px 13px;font-weight:1000}
.builder-v2 .disclosure strong{color:#4c5f86}

@media(max-width:980px){
 .builder-v2-grid{grid-template-columns:180px minmax(0,1fr)}
 .builder-v2 .palette-grid{grid-template-columns:1fr}
 .builder-v2 .block-panel,.builder-v2 .canvas-wrap{height:clamp(470px,66vh,680px)}
 .builder-v2 .builder-bottom-panel{grid-template-columns:1fr}
 .builder-v2 .real-products{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
 .builder-v2 .builder-shell{width:100%;margin-top:7px;padding:0 6px}
 .builder-v2 .builder-top{margin-bottom:7px;padding:8px 9px}.builder-v2 .builder-title h1{font-size:21px}
 .builder-v2 .builder-actions{gap:5px}.builder-v2 .builder-actions .tool-btn{padding:8px 9px;font-size:12px}
 .builder-v2 .kid-tip{font-size:12px;padding:7px 9px;margin-bottom:7px}
 .builder-v2-grid{display:flex;flex-direction:column;gap:7px}
 .builder-v2 .block-panel{width:100%;height:auto;max-height:190px;order:1}
 .builder-v2 .panel-head{padding:8px 11px}
 .builder-v2 .palette{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px}.builder-v2 .cat-label{display:none}.builder-v2 .palette-grid{display:flex;gap:7px;flex:none}
 .builder-v2 .palette-item{width:86px;min-width:86px;min-height:74px;padding:6px 4px;font-size:11px}.builder-v2 .palette-icon{height:35px;font-size:27px}
 .builder-v2 .game-column{width:100%;order:2}
 .builder-v2 .canvas-wrap{height:clamp(390px,57vh,570px);margin:0}
 .builder-v2 .view-controls{right:6px;top:6px;padding:4px;gap:3px}.builder-v2 .view-controls button{width:40px;height:40px}.builder-v2 .view-controls button.fit{padding:0 8px;font-size:11px}.builder-v2 .view-controls span{min-width:40px;font-size:11px}
 .builder-v2 .object-toolbar{left:6px;right:6px;bottom:6px;transform:none;max-width:none;border-radius:14px;padding:5px}.builder-v2 .object-toolbar .selected-mini{display:none}.builder-v2 .object-toolbar button{min-height:43px;padding:7px 9px;font-size:12px}
 .builder-v2 .builder-bottom-panel{gap:7px;margin-top:7px}.builder-v2 .settings-v2{grid-template-columns:1fr 1.15fr;padding:9px}.builder-v2 .time-row button{padding:8px 2px;font-size:11px}
 .builder-v2 .save-v2{padding:9px}.builder-v2 .save-row{display:grid;grid-template-columns:1fr 1fr}.builder-v2 .save-row .tool-btn{font-size:12px;padding:9px 6px}
 .builder-v2 .real-products{grid-template-columns:1fr}.builder-v2 .product-card{display:grid;grid-template-columns:130px 1fr}.builder-v2 .product-image{height:100%;min-height:170px;border-bottom:0;border-right:1px solid #e8eef6}.builder-v2 .product-copy{padding:12px}.builder-v2 .product-copy strong{font-size:15px}
}
@media(orientation:landscape) and (max-height:620px){
 .builder-v2 .header{position:relative}.builder-v2 .header-inner{padding:5px 0}.builder-v2 .logo-stack{transform:scale(.72);transform-origin:left center}.builder-v2 .ghost-btn{padding:8px 12px}
 .builder-v2 .builder-top{padding:6px 9px}.builder-v2 .kid-tip{display:none}.builder-v2 .builder-title h1{font-size:19px}.builder-v2 .builder-title .round-icon{width:28px;height:28px}.builder-v2 .builder-actions .tool-btn{padding:6px 8px;font-size:11px}
 .builder-v2-grid{grid-template-columns:145px minmax(0,1fr)}.builder-v2 .block-panel,.builder-v2 .canvas-wrap{height:calc(100dvh - 138px);min-height:330px}.builder-v2 .palette-grid{grid-template-columns:1fr}.builder-v2 .palette-item{min-height:61px;font-size:10px}.builder-v2 .palette-icon{height:29px;font-size:24px}
 .builder-v2 .builder-bottom-panel,.builder-v2 .parent-amazon,.builder-v2 .footer{margin-top:8px}
}

/* =========================================================
   Castle Builder V3 — castle-first, solid toy pieces, 65 assets
   ========================================================= */
.builder-v3 .build-canvas{width:1000px;height:600px;background:linear-gradient(#bce8ff 0 63%,#77c853 63% 100%)}
.builder-v3 .build-canvas.sunset{background:linear-gradient(#ffb879 0,#a783df 46%,#765fba 63%,#608e49 63%)}
.builder-v3 .build-canvas.night{background:linear-gradient(#111b57 0,#2a3977 60%,#405f46 63%,#315f3e 63%)}
.builder-v3 .v3-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.builder-v3 .v3-panel-head small{font-size:10px;color:#7486aa;background:#eef5ff;border-radius:999px;padding:4px 7px;white-space:nowrap}
.builder-v3 .category-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:8px;border-bottom:1px solid #e7eef8;background:#fbfdff}
.builder-v3 .category-tab{border:1px solid #dce8f6;background:#fff;color:#4e6592;border-radius:10px;padding:7px 8px;font-size:10px;font-weight:1000;line-height:1.1;touch-action:manipulation}
.builder-v3 .category-tab.active{background:#6e4bd4;color:#fff;border-color:#6e4bd4;box-shadow:0 5px 12px rgba(110,75,212,.24)}
.builder-v3 .palette{padding:8px}
.builder-v3 .palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.builder-v3 .palette-item{min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fff;border:2px solid #e1e9f6;box-shadow:0 4px 0 rgba(48,73,123,.06);touch-action:manipulation}
.builder-v3 .palette-item:active{transform:translateY(2px);box-shadow:none}
.builder-v3 .palette-item span{display:block;line-height:1.1}

/* Placed pieces are intentionally fully opaque: no ghost/translucent building blocks. */
.builder-v3 .piece,.builder-v3 .piece .inner{opacity:1!important}
.builder-v3 .piece{filter:drop-shadow(0 5px 2px rgba(39,52,81,.16));}
.builder-v3 .piece.selected{outline:6px solid #7d49df;outline-offset:5px;border-radius:10px;filter:drop-shadow(0 0 10px rgba(126,73,223,.42)) drop-shadow(0 5px 2px rgba(39,52,81,.16))}
.builder-v3 .piece .inner{--piece-color:#c9c5ba;--piece-accent:#868178;width:100%;height:100%;position:relative;display:grid;place-items:center;overflow:visible}

/* stone structure */
.builder-v3 .shape-wall,.builder-v3 .shape-corner,.builder-v3 .shape-keep,.builder-v3 .shape-gatehouse,.builder-v3 .shape-archway,.builder-v3 .shape-battlement,.builder-v3 .shape-stairs,.builder-v3 .shape-bridge,
.builder-v3 .shape-tower-square,.builder-v3 .shape-tower-round,.builder-v3 .shape-tower-watch,.builder-v3 .shape-turret{
  background-color:var(--piece-color);border:5px solid var(--piece-accent);box-shadow:inset 0 0 0 3px rgba(255,255,255,.22),0 6px 0 rgba(68,66,62,.10);
  background-image:linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(rgba(60,58,54,.10) 1px,transparent 1px);background-size:38px 100%,100% 30px;
}
.builder-v3 .shape-wall{border-radius:8px}
.builder-v3 .shape-corner{border-radius:10px;clip-path:polygon(0 0,100% 0,100% 44%,68% 44%,68% 100%,0 100%)}
.builder-v3 .shape-keep{border-radius:8px}
.builder-v3 .shape-keep:before{content:"";position:absolute;left:-3%;right:-3%;top:-8%;height:14%;background:repeating-linear-gradient(90deg,var(--piece-color) 0 13%,transparent 13% 20%);border-bottom:5px solid var(--piece-accent)}
.builder-v3 .shape-gatehouse{border-radius:9px}
.builder-v3 .shape-gatehouse:before{content:"";position:absolute;left:31%;bottom:-5px;width:38%;height:58%;border:5px solid var(--piece-accent);border-bottom:0;border-radius:50% 50% 0 0;background:#4b4f59}
.builder-v3 .shape-archway{border-radius:9px;background-image:radial-gradient(ellipse at 50% 70%,#48505a 0 31%,transparent 32%),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(rgba(60,58,54,.10) 1px,transparent 1px);background-size:auto,38px 100%,100% 30px}
.builder-v3 .shape-battlement{border-radius:5px;background:repeating-linear-gradient(90deg,var(--piece-color) 0 15%,transparent 15% 23%);border-bottom:5px solid var(--piece-accent)}
.builder-v3 .shape-stairs{clip-path:polygon(0 100%,0 75%,25% 75%,25% 50%,50% 50%,50% 25%,75% 25%,75% 0,100% 0,100% 100%);background:var(--piece-color);border:0;box-shadow:inset 0 -6px 0 var(--piece-accent)}
.builder-v3 .shape-bridge{border-radius:50% 50% 8px 8px;clip-path:polygon(0 35%,18% 5%,82% 5%,100% 35%,100% 100%,0 100%);background:var(--piece-color)}
.builder-v3 .shape-drawbridge{border:5px solid var(--piece-accent);border-radius:7px;background:repeating-linear-gradient(90deg,var(--piece-color) 0 18px,#8b552e 18px 23px);box-shadow:inset 0 0 0 3px rgba(255,255,255,.12)}

/* towers */
.builder-v3 .shape-tower-square{border-radius:8px}
.builder-v3 .shape-tower-square:before{content:"";position:absolute;left:-4%;right:-4%;top:-9%;height:14%;background:repeating-linear-gradient(90deg,var(--piece-color) 0 15%,transparent 15% 24%);border-bottom:4px solid var(--piece-accent)}
.builder-v3 .shape-tower-round{border-radius:45% 45% 12px 12px}
.builder-v3 .shape-tower-round:before{content:"";position:absolute;left:-4%;right:-4%;top:-9%;height:14%;border-radius:50%;background:var(--piece-color);border:4px solid var(--piece-accent)}
.builder-v3 .shape-tower-watch{border-radius:7px}
.builder-v3 .shape-tower-watch:before{content:"";position:absolute;left:-18%;right:-18%;top:-9%;height:19%;background:var(--piece-color);border:5px solid var(--piece-accent);border-radius:8px}
.builder-v3 .shape-turret{border-radius:8px}
.builder-v3 .shape-turret:before{content:"";position:absolute;left:-10%;right:-10%;top:-9%;height:16%;background:repeating-linear-gradient(90deg,var(--piece-color) 0 16%,transparent 16% 27%);border-bottom:3px solid var(--piece-accent)}

/* roofs */
.builder-v3 .shape-roof{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(var(--piece-color),var(--piece-accent));border-bottom:7px solid var(--piece-accent);filter:drop-shadow(0 6px 0 rgba(50,40,70,.17))}
.builder-v3 .shape-cone{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(100deg,var(--piece-accent),var(--piece-color) 48%,#efefef);filter:drop-shadow(0 5px 0 rgba(50,40,70,.17))}
.builder-v3 .shape-flat-roof{border:4px solid var(--piece-accent);border-radius:8px;background:repeating-linear-gradient(90deg,var(--piece-color) 0 15%,var(--piece-accent) 15% 18%)}

/* doors / windows / details */
.builder-v3 .shape-door{border:4px solid var(--piece-accent);border-radius:50% 50% 7px 7px;background:linear-gradient(90deg,var(--piece-accent),var(--piece-color),var(--piece-accent));box-shadow:inset 0 0 0 5px rgba(255,255,255,.08)}
.builder-v3 .shape-door:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#f4ce52;right:18%;top:55%}
.builder-v3 .shape-iron-gate{border:5px solid var(--piece-accent);border-radius:45% 45% 5px 5px;background:repeating-linear-gradient(90deg,var(--piece-accent) 0 6px,#737e8f 6px 17px),repeating-linear-gradient(0deg,transparent 0 22px,var(--piece-accent) 22px 27px),#737e8f}
.builder-v3 .shape-window,.builder-v3 .shape-window-tall{border:5px solid var(--piece-accent);border-radius:50% 50% 8px 8px;background:linear-gradient(135deg,#84ddf3,var(--piece-color) 50%,#84ddf3);box-shadow:inset 0 0 0 4px rgba(255,255,255,.42)}
.builder-v3 .shape-window:before,.builder-v3 .shape-window-tall:before{content:"";position:absolute;left:46%;top:0;bottom:0;width:4px;background:var(--piece-accent)}
.builder-v3 .shape-window:after,.builder-v3 .shape-window-tall:after{content:"";position:absolute;top:47%;left:0;right:0;height:4px;background:var(--piece-accent)}
.builder-v3 .shape-window-round{border:5px solid var(--piece-accent);border-radius:50%;background:conic-gradient(#ffd752,#62cbe9,#8a6bda,#ee6f8b,#ffd752);box-shadow:inset 0 0 0 5px #ffffff}
.builder-v3 .shape-banner{border:4px solid var(--piece-accent);background:linear-gradient(var(--piece-color),var(--piece-accent));clip-path:polygon(0 0,100% 0,100% 84%,50% 100%,0 84%)}
.builder-v3 .shape-flag:before{content:"";position:absolute;left:18%;top:0;bottom:0;width:8px;background:#6a5846;border-radius:5px}
.builder-v3 .shape-flag:after{content:"";position:absolute;left:24%;top:7%;width:72%;height:48%;background:linear-gradient(var(--piece-color),var(--piece-accent));clip-path:polygon(0 0,100% 12%,78% 50%,100% 88%,0 100%)}

/* nature */
.builder-v3 .shape-tree:before{content:"";position:absolute;width:20%;height:43%;left:40%;bottom:0;background:#83502c;border:3px solid #5d371e;border-radius:6px}
.builder-v3 .shape-tree:after{content:"";position:absolute;width:92%;height:75%;left:4%;top:0;border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 28% 35%,#7bd053 0 24%,transparent 25%),radial-gradient(circle at 69% 30%,#66bd47 0 28%,transparent 29%),radial-gradient(circle at 48% 65%,var(--piece-color) 0 35%,transparent 36%);filter:drop-shadow(0 4px 0 rgba(40,90,35,.18))}
.builder-v3 .shape-bush{border-radius:50%;background:radial-gradient(circle at 23% 63%,var(--piece-color) 0 35%,transparent 36%),radial-gradient(circle at 54% 37%,#73c55b 0 39%,transparent 40%),radial-gradient(circle at 82% 64%,var(--piece-accent) 0 34%,transparent 35%)}
.builder-v3 .shape-rock{border:4px solid var(--piece-accent);background:linear-gradient(145deg,#a4adb5,var(--piece-color) 55%,var(--piece-accent));clip-path:polygon(8% 78%,18% 28%,40% 6%,73% 16%,96% 63%,82% 94%,22% 96%)}
.builder-v3 .shape-grass{background:repeating-linear-gradient(75deg,transparent 0 6px,var(--piece-color) 6px 10px,transparent 10px 15px);clip-path:polygon(0 100%,5% 45%,10% 100%,18% 20%,24% 100%,32% 50%,39% 100%,47% 18%,54% 100%,63% 45%,70% 100%,79% 24%,86% 100%,94% 50%,100% 100%)}
.builder-v3 .shape-path{border:4px solid var(--piece-accent);border-radius:50%;background:radial-gradient(ellipse at center,var(--piece-color),var(--piece-accent));transform:perspective(120px) rotateX(18deg)}
.builder-v3 .shape-moat{border:4px solid var(--piece-accent);border-radius:48%;background:repeating-radial-gradient(ellipse at 30% 50%,#ffffff 0 5px,#4ec2df 6px 18px),linear-gradient(#77dced,var(--piece-color));box-shadow:inset 0 6px 0 rgba(255,255,255,.3)}

/* props */
.builder-v3 .shape-chest{border:4px solid var(--piece-accent);border-radius:45% 45% 8px 8px;background:linear-gradient(#bb7b43,var(--piece-color));box-shadow:inset 0 -24px 0 rgba(80,45,20,.12)}
.builder-v3 .shape-chest:before{content:"";position:absolute;left:46%;top:0;bottom:0;width:9px;background:#e1b54a;border:2px solid #9c741e}
.builder-v3 .shape-chest:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#f5da69;border:2px solid #936f20;left:45%;top:50%}
.builder-v3 .shape-barrel{border:4px solid var(--piece-accent);border-radius:35% / 12%;background:linear-gradient(90deg,var(--piece-accent),var(--piece-color) 15% 85%,var(--piece-accent));box-shadow:inset 0 14px 0 rgba(75,45,25,.15),inset 0 -14px 0 rgba(75,45,25,.15)}
.builder-v3 .shape-crate{border:5px solid var(--piece-accent);background:linear-gradient(45deg,transparent 44%,var(--piece-accent) 45% 55%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--piece-accent) 45% 55%,transparent 56%),var(--piece-color)}
.builder-v3 .shape-bench{border-bottom:12px solid var(--piece-accent);background:linear-gradient(var(--piece-color),var(--piece-color)) center 30%/100% 30% no-repeat}
.builder-v3 .shape-bench:before,.builder-v3 .shape-bench:after{content:"";position:absolute;bottom:0;width:9px;height:55%;background:var(--piece-accent)}
.builder-v3 .shape-bench:before{left:15%}.builder-v3 .shape-bench:after{right:15%}
.builder-v3 .shape-catapult{background:linear-gradient(20deg,transparent 44%,var(--piece-accent) 45% 55%,transparent 56%),linear-gradient(-20deg,transparent 44%,var(--piece-accent) 45% 55%,transparent 56%)}
.builder-v3 .shape-catapult:before{content:"";position:absolute;left:12%;right:12%;bottom:18%;height:18%;background:var(--piece-color);border:4px solid var(--piece-accent);border-radius:8px}
.builder-v3 .shape-catapult:after{content:"";position:absolute;width:18px;height:80%;left:55%;bottom:24%;background:var(--piece-accent);transform:rotate(-28deg);border-radius:8px}
.builder-v3 .shape-cannon:before{content:"";position:absolute;width:82%;height:35%;left:7%;top:22%;border-radius:40% 15% 15% 40%;background:linear-gradient(var(--piece-color),var(--piece-accent));border:4px solid var(--piece-accent)}
.builder-v3 .shape-cannon:after{content:"";position:absolute;width:58%;height:55%;left:25%;bottom:0;background:radial-gradient(circle at 18% 72%,#5f4730 0 14%,#2e251d 15% 21%,transparent 22%),radial-gradient(circle at 82% 72%,#5f4730 0 14%,#2e251d 15% 21%,transparent 22%),linear-gradient(90deg,transparent 0 12%,#7f5e38 12% 88%,transparent 88%)}

/* characters + emoji details sit on solid toy cards instead of transparent floating images */
.builder-v3 .shape-sticker,.builder-v3 .shape-character,.builder-v3 .shape-character-wide{border:4px solid #cfd5e2;border-radius:24px;background:linear-gradient(145deg,#ffffff,#f5f7fb);box-shadow:0 7px 0 rgba(42,50,75,.10),inset 0 0 0 4px #ffffff}
.builder-v3 .shape-character,.builder-v3 .shape-character-wide{background:linear-gradient(145deg,#fff7d9,#ffffff 75%);border-color:#a6b0c4}
.builder-v3 .piece-emoji{font-size:min(78px,82%);line-height:1;filter:drop-shadow(0 3px 1px rgba(35,45,70,.20));transform:none!important}
.builder-v3 .shape-character .piece-emoji{font-size:min(64px,78%)}
.builder-v3 .shape-character-wide .piece-emoji{font-size:min(82px,78%)}

.builder-v3 .object-toolbar{bottom:10px}
.builder-v3 .object-toolbar button{min-height:48px}
.builder-v3 .parent-amazon{margin-top:20px}

@media(max-width:980px){
 .builder-v3 .builder-v2-grid{grid-template-columns:225px minmax(0,1fr)}
 .builder-v3 .palette-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
 .builder-v3 .builder-v2-grid{display:flex}
 .builder-v3 .block-panel{max-height:220px}
 .builder-v3 .category-tabs{padding:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .builder-v3 .category-tab{font-size:10px;padding:7px 9px;white-space:nowrap}
 .builder-v3 .palette{display:block;overflow-x:auto;overflow-y:hidden;padding:7px}
 .builder-v3 .palette-grid{display:flex;gap:7px}
 .builder-v3 .palette-item{width:96px;min-width:96px;min-height:82px}
 .builder-v3 .canvas-wrap{height:clamp(410px,58vh,590px)}
 .builder-v3 .object-toolbar{overflow-x:auto}
}
@media(orientation:landscape) and (max-height:620px){
 .builder-v3 .builder-v2-grid{grid-template-columns:175px minmax(0,1fr)}
 .builder-v3 .block-panel,.builder-v3 .canvas-wrap{height:calc(100dvh - 136px);min-height:335px}
 .builder-v3 .category-tabs{padding:4px;gap:4px}.builder-v3 .category-tab{padding:5px 6px;font-size:9px}
 .builder-v3 .palette-item{min-height:66px}.builder-v3 .palette-icon{height:32px;font-size:25px}
}
