/* A little yarn workshop. Its SVG is a live illustration, never a product photo. */
.eoy-studio { --studio-yarn:#eddbbd; --studio-edge:#b49a7c; --studio-stitch:#c3a887; --studio-inner:#f2c4c1; padding:70px 0; color:var(--ink,#302232); background:#f4ecf6; scroll-margin-top:110px; }
.eoy-studio [hidden] { display:none!important; }
.eoy-studio-heading { max-width:820px; margin-bottom:34px; }
.eoy-studio-heading .eyebrow { color:#7c5b80; font-size:11px; letter-spacing:1px; }
.eoy-studio-heading h2 { margin:15px 0 17px; font-family:var(--display,"Arial Rounded MT Bold",sans-serif); font-size:clamp(34px,3.7vw,53px); font-weight:400; letter-spacing:-.8px; line-height:1.2; text-wrap:balance; }
.eoy-studio-heading h2>span { color:#835283; }
.eoy-studio-heading p { max-width:750px; color:#6a526d; font-size:16px; line-height:1.9; }
.eoy-studio-heading .eoy-studio-choice-count { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:20px; font-size:12px; line-height:1.6; }
.eoy-studio-choice-count>span { padding:6px 11px; border:1px dashed #c9afd1; border-radius:24px; background:#fffaf4; color:#73507c; font-weight:650; }
.eoy-studio-choice-count>small { flex-basis:100%; margin-top:2px; color:#765b7d; font-size:12px; }
.eoy-studio-workbench { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(27px,4.5vw,65px); align-items:start; }
.eoy-studio-preview { position:sticky; top:122px; min-width:0; margin:0; padding:17px; border:1px solid #d2bbd9; border-radius:30px 43px 30px 30px; background:#fffaf1; box-shadow:0 9px 0 -4px #d7c1df80,0 20px 45px #65456a0a; }
.eoy-studio-preview-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:4px 4px 17px; color:#6e536f; font-size:12px; font-weight:650; line-height:1.7; }
.eoy-studio-preview-top>span>span { padding-left:5px; color:#a9677b; font-size:18px; }
.eoy-studio-sample-tag { flex-shrink:0; padding:5px 11px; border:1px dashed #c4a7cd; border-radius:30px; background:#f3e6f5; color:#704d7b; font-size:11px; font-weight:600; }
.eoy-studio-canvas { position:relative; overflow:hidden; border:1px dashed #d6c5d7; border-radius:21px; background-color:#efe5ed; background-image:radial-gradient(#b59fba22 .9px,transparent .9px); background-size:12px 12px; }
.eoy-studio-friend { display:block; width:100%; height:auto; overflow:visible; }
.eoy-studio-body,.eoy-studio-ear { fill:var(--studio-yarn); stroke:var(--studio-edge); stroke-width:2.5; stroke-linejoin:round; transition:fill .25s,stroke .25s; }
.eoy-studio-face { fill:none; stroke:#3e343e; stroke-width:5.5; stroke-linecap:round; stroke-linejoin:round; }
.eoy-studio-open-eyes { stroke-width:10; }
.eoy-studio-embroidered-heart { fill:#d995aa; stroke:#a6637c; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:2.3 1.8; }
.eoy-studio-canvas-flower { position:absolute; left:7%; top:10%; font-size:29px; transform:rotate(-12deg); pointer-events:none; }
.eoy-studio-thread-label { position:absolute; bottom:12px; left:0; right:0; display:flex; justify-content:center; align-items:center; gap:8px; color:#795b73; font-size:11px; font-style:italic; pointer-events:none; }
.eoy-studio-thread-label>span { font-size:21px; }
.eoy-studio-preview figcaption { padding:16px 8px 3px; color:#765f77; font-size:12px; line-height:1.85; text-align:center; }
.eoy-studio-preview-selection { display:none; }
.eoy-studio-form { min-width:0; margin:0; }
.eoy-studio-idea { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:0 0 23px; padding:15px 17px; border:1px dashed #caaccd; border-radius:17px; background:#fffaf4; }
.eoy-studio-idea p { flex:1 1 145px; margin:0; color:#765679; font-size:12px; line-height:1.75; }
.eoy-studio-random { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 14px; border:1px solid #caabc9; border-radius:28px; color:#6f456d; background:#f8e4ec; font:650 12px/1.6 "Segoe UI",Arial,sans-serif; }
.eoy-studio-random>span { font-size:19px; }
.eoy-studio-random:hover:not(:disabled) { background:#f0d2e0; }
.eoy-studio-editing { margin:0 0 23px; padding:16px 18px; border:1px solid #b79cc5; border-radius:17px; background:#eaddef; }
.eoy-studio-editing p { margin:0; color:#62466c; font-size:13px; line-height:1.8; }
.eoy-studio-editing button { min-height:44px; margin-top:8px; padding:7px 0; border:0; background:transparent; color:#65416f; font:650 12px/1.6 "Segoe UI",Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; }
.eoy-studio-control-help { margin:-3px 0 12px; color:#785f7d; font-size:12px; line-height:1.75; }
.eoy-studio-fieldset { min-width:0; margin:0 0 24px; padding:0; border:0; }
.eoy-studio-fieldset legend { float:none; display:flex; align-items:center; gap:11px; width:100%; margin:0 0 13px; padding:0; color:#5b3d61; font-family:var(--display,"Arial Rounded MT Bold",sans-serif); font-size:19px; font-weight:400; line-height:1.5; }
.eoy-studio-fieldset legend>span { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border:1px dashed #c0a3c9; border-radius:50%; color:#87648e; background:#fffaf4; font:650 10px/1 "Segoe UI",Arial,sans-serif; }
.eoy-studio-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.eoy-studio-option { position:relative; display:flex; min-width:0; align-items:center; justify-content:center; flex-direction:column; gap:9px; padding:14px 10px; border:1px solid #d2bcd9; border-radius:16px; background:#fffaf4; color:#6b526e; font-size:13px; font-weight:600; line-height:1.6; text-align:center; cursor:pointer; transition:border-color .2s,background .2s,box-shadow .2s; }
.eoy-studio-option input { position:absolute; top:10px; right:10px; width:15px; height:15px; margin:0; accent-color:#775180; cursor:pointer; }
.eoy-studio-option:has(input:checked) { border-color:#8d669b; background:#f6ebfb; color:#4f315b; box-shadow:inset 0 0 0 1px #8d669b; }
.eoy-studio-option:has(input:focus-visible) { outline:3px solid #80439b; outline-offset:3px; }
.eoy-studio-option input:focus-visible { outline:none; }
.eoy-studio-option-emoji { display:block; margin-top:5px; font-size:29px; line-height:1.3; }
.eoy-studio-colors { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.eoy-studio-colors .eoy-studio-option { padding:14px 7px 10px; gap:8px; font-size:12px; }
.eoy-studio-colors .eoy-studio-option input { width:13px; height:13px; top:8px; right:8px; }
.eoy-studio-swatch { display:block; width:35px; height:35px; border:1px solid #927c8780; border-radius:50%; box-shadow:inset 0 0 0 4px #ffffff4f; }
.eoy-studio-swatch--cream { background:#eddbbd; }
.eoy-studio-swatch--lilac { background:#d5bde7; }
.eoy-studio-swatch--sage { background:#bfd0b3; }
.eoy-studio-swatch--peach { background:#edbda6; }
.eoy-studio-small-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:21px; }
.eoy-studio-small-options legend { font-size:16px; gap:7px; }
.eoy-studio-options--pair { grid-template-columns:1fr; gap:8px; }
.eoy-studio-option--compact { min-height:49px; flex-direction:row; justify-content:space-between; gap:8px; padding:10px 12px 10px 34px; border-radius:12px; font-size:12px; text-align:left; }
.eoy-studio-option--compact input { top:50%; left:11px; right:auto; transform:translateY(-50%); width:14px; height:14px; }
.eoy-studio-option--compact>span[aria-hidden="true"] { color:#98739e; font-size:22px; font-weight:400; }
.eoy-studio-option--compact small { flex-shrink:0; color:#806384; font-size:10px; font-weight:500; }
.eoy-studio-selection { padding:23px; border:1px dashed #c09cbb; border-radius:21px; background:#fff2f3; }
.eoy-studio-selection-label { display:block; margin-bottom:8px; color:#80566f; font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.eoy-studio-selection [data-studio-summary] { min-height:26px; margin:0; color:#5f425f; font-size:14px; line-height:1.9; font-weight:600; }
.eoy-studio-price-row { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:18px 0; }
.eoy-studio-price { display:flex; flex-direction:column; gap:3px; }
.eoy-studio-price>span { color:#876276; font-size:11px; line-height:1.7; }
.eoy-studio-price strong { color:#704362; font-size:29px; line-height:1.25; font-weight:750; letter-spacing:-.6px; font-variant-numeric:tabular-nums; }
.eoy-studio-price-note { margin:0 0 18px; padding-top:13px; border-top:1px dashed #d4b6cc; color:#755568; font-size:12px; line-height:1.8; }
.eoy-studio-reset { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:7px 0; color:#765479; font:600 12px/1.6 "Segoe UI",Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; background:transparent; border:0; cursor:pointer; }
.eoy-studio-reset>span { font-size:20px; }
.eoy-studio-add { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:54px; padding:13px 17px; border:1px solid #77527f; border-radius:30px; background:#77527f; color:#fffaf4; font:650 14px/1.6 "Segoe UI",Arial,sans-serif; cursor:pointer; transition:background .2s,transform .2s,box-shadow .2s; }
.eoy-studio-add>span[aria-hidden="true"] { font-size:21px; }
.eoy-studio-add:hover:not(:disabled) { background:#65416e; transform:translateY(-2px); box-shadow:0 5px 0 #ccb1d25c; }
.eoy-studio-demo-notice { margin:12px 0 0; color:#78566d; font-size:11px; line-height:1.8; text-align:center; }
.eoy-studio-making-note { margin:18px 3px 0; color:#7a637d; font-size:12px; line-height:1.85; }
.eoy-studio-noscript { margin-top:18px; padding:15px; border:1px dashed #ba94c7; border-radius:13px; color:#684b70; background:#fffaf4; font-size:13px; line-height:1.8; }
.eoy-studio :is(button,input):disabled { cursor:default; }
.eoy-studio :is(button):disabled { opacity:.6; }
.eoy-studio :is(button):focus-visible { outline:3px solid #80439b; outline-offset:4px; }
@media(hover:hover) and (pointer:fine) {
  .eoy-studio[data-studio-ready="true"] .eoy-studio-option:hover { border-color:#9673a2; background:#f9f1fc; }
}
@media(max-width:1100px) {
  .eoy-studio-workbench { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; }
  .eoy-studio-preview { padding:13px; }
  .eoy-studio-preview-top { flex-wrap:wrap; gap:7px; }
  .eoy-studio-small-options { gap:13px; }
  .eoy-studio-small-options legend { font-size:14px; }
  .eoy-studio-option--compact { padding-right:9px; font-size:11px; }
}
@media(max-width:800px) {
  .eoy-studio { --studio-sticky-top:88px; --studio-preview-height:166px; padding:48px 0; }
  .admin-bar .eoy-studio { --studio-sticky-top:134px; }
  .eoy-studio-workbench { display:flex; flex-direction:column; gap:26px; align-items:stretch; }
  .eoy-studio-preview { position:sticky; z-index:4; top:var(--studio-sticky-top); display:grid; grid-template-columns:132px minmax(0,1fr); grid-template-rows:auto 1fr; gap:6px 15px; height:var(--studio-preview-height); max-width:620px; width:100%; margin-inline:auto; padding:10px; border-radius:21px; box-shadow:0 5px 0 -2px #d7c1df80,0 9px 20px #65456a14; }
  .eoy-studio-preview-top { grid-column:2; grid-row:1; align-items:start; justify-content:flex-start; padding:0; }
  .eoy-studio-preview-top>span:first-child { display:none; }
  .eoy-studio-preview .eoy-studio-sample-tag { padding:3px 9px; font-size:10px; }
  .eoy-studio-preview .eoy-studio-canvas { grid-column:1; grid-row:1 / span 2; width:100%; height:100%; border-radius:14px; }
  .eoy-studio-preview .eoy-studio-friend { width:100%; height:100%; }
  .eoy-studio-preview .eoy-studio-canvas-flower,
  .eoy-studio-preview .eoy-studio-thread-label { display:none; }
  .eoy-studio-preview-selection { display:flex; grid-column:2; grid-row:2; flex-direction:column; justify-content:center; gap:5px; min-width:0; }
  .eoy-studio-preview-selection strong { color:#604264; font-family:var(--display); font-size:20px; font-weight:400; line-height:1.3; }
  .eoy-studio-preview-selection>span { color:#6c5371; font-size:12px; line-height:1.6; }
  .eoy-studio-preview-selection small { color:#77516f; font-size:12px; font-weight:650; line-height:1.5; }
  .eoy-studio-preview figcaption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  .eoy-studio-form { max-width:620px; width:100%; margin-inline:auto; }
  .eoy-studio-form :is(fieldset,label,button) { scroll-margin-top:calc(var(--studio-sticky-top) + var(--studio-preview-height) + 18px); }
  .eoy-studio-small-options { gap:20px; }
  .eoy-studio-small-options legend { font-size:17px; }
  .eoy-studio-option--compact { font-size:13px; }
}
@media(max-width:600px) {
  .eoy-studio { --studio-sticky-top:80px; --studio-preview-height:160px; padding:39px 0 43px; scroll-margin-top:85px; }
  .admin-bar .eoy-studio { --studio-sticky-top:126px; }
  .eoy-studio-heading { margin-bottom:26px; }
  .eoy-studio-heading h2 { font-size:clamp(30px,8.8vw,42px); line-height:1.23; letter-spacing:-.5px; }
  .eoy-studio-heading p { font-size:14px; line-height:1.85; }
  .eoy-studio-heading .eyebrow { font-size:10px; }
  .eoy-studio-preview { grid-template-columns:112px minmax(0,1fr); gap:5px 12px; padding:9px; border-radius:19px; }
  .eoy-studio-preview-top { padding:0; }
  .eoy-studio-preview-selection strong { font-size:17px; }
  .eoy-studio-preview-selection>span { font-size:11px; line-height:1.5; }
  .eoy-studio-preview-selection small { font-size:11px; }
  .eoy-studio-sample-tag { padding:4px 9px; font-size:10px; }
  .eoy-studio-canvas { border-radius:17px; }
  .eoy-studio-canvas-flower { font-size:23px; }
  .eoy-studio-thread-label { bottom:8px; font-size:10px; }
  .eoy-studio-fieldset { margin-bottom:22px; }
  .eoy-studio-fieldset legend { font-size:19px; }
  .eoy-studio-option { padding-block:13px; }
  .eoy-studio-option-emoji { font-size:28px; }
  .eoy-studio-colors { gap:8px; }
  .eoy-studio-colors .eoy-studio-option { font-size:11px; padding-inline:5px; }
  .eoy-studio-small-options { grid-template-columns:1fr; gap:0; }
  .eoy-studio-options--pair { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .eoy-studio-option--compact { font-size:12px; padding-block:11px; }
  .eoy-studio-selection { padding:21px 18px; }
  .eoy-studio-selection [data-studio-summary] { font-size:13px; }
  .eoy-studio-price strong { font-size:28px; }
  .eoy-studio-add { gap:8px; font-size:13px; padding-inline:12px; }
  .eoy-studio-demo-notice { font-size:11px; }
}
@media(max-width:359px) {
  .eoy-studio-options { gap:7px; }
  .eoy-studio-colors { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eoy-studio-option--compact { font-size:11px; padding-left:31px; }
  .eoy-studio-option--compact small { font-size:9px; }
  .eoy-studio-preview { grid-template-columns:96px minmax(0,1fr); gap:5px 10px; }
}
@media(max-width:800px) and (max-height:600px) {
  .eoy-studio { --studio-preview-height:132px; }
  .eoy-studio-preview { grid-template-columns:86px minmax(0,1fr); gap:3px 11px; padding:7px; }
  .eoy-studio-preview-selection { gap:3px; }
  .eoy-studio-preview-selection strong { font-size:15px; }
  .eoy-studio-preview-selection>span { font-size:10px; }
  .eoy-studio-preview-selection small { font-size:10px; }
  .eoy-studio-preview .eoy-studio-sample-tag { padding:2px 7px; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .eoy-studio *, .eoy-studio *::before, .eoy-studio *::after { animation:none!important; transition:none!important; }
  .eoy-studio-add:hover:not(:disabled) { transform:none; }
}

/* The v20 workbench: stitched paper, a soft drawing and a little drawer of ideas. */
.eoy-studio { padding:86px 0 76px; background-color:#f4edf1; background-image:radial-gradient(#b994ad12 .7px,transparent .7px); background-size:7px 7px; color:#4d344d; }
.eoy-studio-heading { position:relative; max-width:850px; margin-bottom:40px; }
.eoy-studio-heading .eyebrow { color:#74546f; letter-spacing:1.3px; font-size:10px; }
.eoy-studio-heading h2 { font-size:clamp(38px,4.3vw,64px); line-height:1.14; letter-spacing:-1.3px; }
.eoy-studio-heading h2>span { color:#86618b; }
.eoy-studio-heading p { max-width:620px; color:#665367; font-size:15px; line-height:1.85; }
.eoy-studio-choice-count>span { padding:7px 13px; border-color:#c7adb9; background:#fffaf3; color:#624460; }
.eoy-studio-workbench { grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:clamp(28px,4.3vw,64px); }
.eoy-studio-preview { top:116px; padding:20px; border-color:#cfbcc6; border-radius:25px 40px 25px 25px; background:#fffaf2; box-shadow:0 8px 0 -3px #dbc7d5,0 24px 50px #5c375f12; }
.eoy-studio-preview::before { content:""; position:absolute; width:100px; height:29px; left:calc(50% - 50px); top:-14px; z-index:1; transform:rotate(-4deg); background:#d9bbd290; border-inline:2px dashed #c3a4bd60; }
.eoy-studio-preview-top { padding-bottom:18px; color:#694968; }
.eoy-studio-sample-tag { background:#f1e5ed; border-color:#bea6bc; color:#61435d; }
.eoy-studio-canvas { background-color:#eadfe7; background-image:radial-gradient(ellipse at 45% 43%,#fffaf58c 0%,transparent 65%),repeating-linear-gradient(0deg,#bfaaba0a 0,#bfaaba0a 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,#bfaaba0a 0,#bfaaba0a 1px,transparent 1px,transparent 4px); border-color:#ceb9c8; border-radius:18px; }
.eoy-studio-friend { filter:drop-shadow(1px 7px 3px #68466012); }
.eoy-studio-preview .eoy-studio-friend { animation:eoy-studio-breathe 7s ease-in-out infinite; transform-origin:50% 90%; }
.eoy-studio-ear-inner { fill:var(--studio-inner); stroke:none; opacity:.7; }
.eoy-studio-skein { position:absolute; z-index:1; left:4%; top:5%; width:23%; max-width:116px; transform:rotate(-6deg); filter:drop-shadow(1px 4px 2px #79536610); pointer-events:none; }
.eoy-studio-embroidered-star { fill:#f4d48f; stroke:#b59154; stroke-width:1.8; stroke-linejoin:round; stroke-dasharray:2.5 1.7; }
.eoy-studio-thread-label { bottom:17px; right:auto; left:50%; width:max-content; max-width:90%; padding:6px 16px; border:1px dashed #c8a8b9; background:#fffaf0e6; transform:translateX(-50%) rotate(-2deg); box-shadow:1px 2px 0 #ddc9d2; color:#73576e; font-size:11px; font-style:normal; }
.eoy-studio-preview-selection { display:flex; align-items:center; flex-direction:column; gap:4px; padding:21px 0 0; }
.eoy-studio-preview-selection strong { color:#5c3f5d; font-family:var(--display,"Arial Rounded MT Bold",sans-serif); font-weight:400; font-size:27px; line-height:1.25; text-wrap:balance; }
.eoy-studio-preview-selection>span { color:#6a536a; font-size:12px; }
.eoy-studio-preview-selection small { color:#785570; font-size:12px; }
.eoy-studio-preview figcaption { padding:13px 8px 0; color:#6b576a; font-size:11px; line-height:1.7; }
.eoy-studio-preview-toggle { display:none; }
.eoy-studio-idea { border:0; padding:0 0 13px; margin:0; background:none; gap:14px; align-items:end; }
.eoy-studio-idea>div { flex:1 1 190px; }
.eoy-studio-mini-label { display:block; margin-bottom:5px; color:#77536b; font-size:9px; font-weight:750; letter-spacing:1px; }
.eoy-studio-idea p { color:#6d536a; font-size:12px; }
.eoy-studio-random { flex-shrink:0; min-height:40px; border-color:#c6a8bc; background:#fff8f1; color:#694266; font-size:11px; }
.eoy-studio-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.eoy-studio-preset { position:relative; display:flex; flex-direction:column; align-items:center; min-width:0; padding:7px 7px 11px; border:1px solid #d1bdca; border-radius:14px; background:#fffaf4; color:#5d425d; text-align:center; cursor:pointer; transition:background .2s,border-color .2s,transform .2s,box-shadow .2s; }
.eoy-studio-preset-art { display:block; width:100%; max-width:115px; margin-bottom:2px; aspect-ratio:1.24; overflow:hidden; }
.eoy-studio-preset-art .eoy-studio-friend { width:100%; height:100%; animation:none; filter:drop-shadow(0 3px 2px #73557618); }
.eoy-studio-preset strong { font-size:11px; line-height:1.5; font-weight:650; }
.eoy-studio-preset>span:last-child { margin-top:3px; color:#785e74; font-size:10px; line-height:1.5; }
.eoy-studio-preset[aria-pressed="true"] { border-color:#8b6496; box-shadow:inset 0 0 0 1px #8b6496; background:#f4e8f4; }
.eoy-studio-preset[aria-pressed="true"]::after { content:"✓"; display:grid; place-items:center; position:absolute; top:7px; right:7px; width:18px; height:18px; border-radius:50%; background:#7c5885; color:#fff; font-size:11px; }
.eoy-studio-preset-note { margin:11px 0 27px; color:#70576b; font-size:10px; line-height:1.7; }
.eoy-studio-fieldset { margin-bottom:25px; }
.eoy-studio-fieldset legend { font-size:20px; color:#573c59; }
.eoy-studio-fieldset legend>span { color:#745171; border-color:#bda1b5; }
.eoy-studio-control-help { color:#705b70; }
.eoy-studio-control-help--after { margin:10px 0 0; }
.eoy-studio-option { background:#fffaf4; border-color:#d2bdcb; color:#674c65; }
.eoy-studio-option:has(input:checked) { border-color:#896297; background:#f6eafa; color:#50355a; box-shadow:inset 0 0 0 1px #896297; }
.eoy-studio-model-icon { width:54px; height:48px; margin-top:3px; fill:#e6d3df; stroke:#a582a3; stroke-width:1.5; stroke-linejoin:round; }
.eoy-studio-option:has(input:checked) .eoy-studio-model-icon { fill:#d8badb; stroke:#8d6596; }
.eoy-studio-icon-face { fill:none; stroke:#6d496d; stroke-width:2.2; stroke-linecap:round; }
.eoy-studio-colors { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.eoy-studio-colors .eoy-studio-option { padding:12px 7px 10px; }
.eoy-studio-swatch { width:33px; height:33px; position:relative; overflow:hidden; box-shadow:inset -3px -3px 5px #62504915,inset 2px 2px 4px #ffffff6b; }
.eoy-studio-swatch::after { content:""; position:absolute; inset:-4px; background:repeating-linear-gradient(45deg,transparent 0px,transparent 3px,#fff6 3px,#fff6 4px,transparent 4px,transparent 7px); opacity:.55; }
.eoy-studio-swatch--sky { background:#b9d6e3; }
.eoy-studio-swatch--rose { background:#d9a5b3; }
.eoy-studio-small-options { gap:16px; }
.eoy-studio-small-options legend { font-size:16px; }
.eoy-studio-option--compact { min-height:48px; }
.eoy-studio-expression { white-space:nowrap; letter-spacing:1px; font-size:13px!important; color:#684868!important; }
.eoy-studio-option--purpose { min-height:48px; padding:11px 5px 11px 23px; font-size:12px; }
.eoy-studio-option--purpose input { left:9px; top:50%; right:auto; transform:translateY(-50%); width:13px; height:13px; }
.eoy-studio-gift-note { margin-top:16px; }
.eoy-studio-note-label,.eoy-studio-gift-note>label,.eoy-studio-copy-fallback>label { display:block; margin:0 0 8px; color:#614860; font-size:12px; font-weight:600; line-height:1.7; }
.eoy-studio-note-label>span,.eoy-studio-gift-note>label>span { color:#785f75; font-size:10px; font-weight:400; margin-left:6px; }
.eoy-studio :is(textarea,[data-studio-gift-note]) { display:block; width:100%; min-height:48px; padding:12px 14px; border:1px solid #c9b1c3; border-radius:12px; background:#fffaf4; color:#533b55; font-family:inherit; font-size:13px; line-height:1.8; resize:vertical; }
.eoy-studio :is(textarea,[data-studio-gift-note])::placeholder { color:#806e7e; opacity:1; }
.eoy-studio :is(textarea,[data-studio-gift-note]):focus-visible { outline:3px solid #80518f; outline-offset:3px; }
.eoy-studio-note-help { display:flex; gap:15px; justify-content:space-between; margin:8px 0 0; font-size:10px; }
.eoy-studio-note-help>span:last-child { flex-shrink:0; font-variant-numeric:tabular-nums; }
.eoy-studio-gift-note .eoy-studio-control-help { margin:8px 0 0; font-size:10px; }
.eoy-studio-selection { position:relative; padding:23px; border-color:#bfa3b7; border-radius:17px 23px 17px 17px; background:#fff5f2; box-shadow:3px 5px 0 #dec9d43d; }
.eoy-studio-selection-label { color:#6e4964; font-size:9px; letter-spacing:1px; }
.eoy-studio-summary-chips { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:15px 0 0; }
.eoy-studio-summary-chips>div { min-width:0; padding:7px 9px; border:1px dashed #d2b8c7; border-radius:8px; background:#fffcf8; }
.eoy-studio-summary-chips dt { font-size:9px; color:#775e72; }
.eoy-studio-summary-chips dd { margin:3px 0 0; color:#5d425b; font-size:10px; font-weight:600; line-height:1.55; overflow-wrap:anywhere; }
.eoy-studio-price-row { margin:13px 0; }
.eoy-studio-price-note { color:#674c60; }
.eoy-studio-add { min-height:56px; background:#71517d; border-color:#71517d; font-size:14px; box-shadow:0 4px 0 #d6b9d0; }
.eoy-studio-add:hover:not(:disabled) { background:#5d4068; }
.eoy-studio-demo-notice { color:#6b5064; }
.eoy-studio-brief-tools { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 14px; margin-top:15px; }
.eoy-studio-brief-tools button { min-height:44px; padding:6px 0; border:0; background:none; color:#664667; font-family:inherit; font-size:11px; font-weight:650; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.eoy-studio-storage-note { margin:4px 0 0; color:#745e70; font-size:10px; line-height:1.7; text-align:center; }
.eoy-studio-feedback { margin:9px 0 0; color:#584357; font-size:12px; font-weight:600; line-height:1.8; text-align:center; }
.eoy-studio-feedback:empty { margin:0; }
.eoy-studio-copy-fallback { margin-top:14px; }
.eoy-studio-copy-fallback textarea { font-size:12px; }
.eoy-studio-copy-fallback p { margin:7px 0 0; color:#6f596b; font-size:11px; line-height:1.7; }
.eoy-studio-making-note { color:#6c576b; font-size:11px; }
.eoy-studio-next-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:27px 0 0; margin:42px 0 0; list-style:none; border-top:1px dashed #cbb2c3; }
.eoy-studio-next-steps>li { display:flex; gap:13px; min-width:0; }
.eoy-studio-next-steps>li>span { display:grid; place-items:center; flex:0 0 30px; height:30px; border:1px dashed #bfa1b8; border-radius:50%; background:#fff9f1; color:#7b5875; font-size:12px; }
.eoy-studio-next-steps strong { color:#654867; font-family:var(--display,"Arial Rounded MT Bold",sans-serif); font-size:17px; font-weight:400; }
.eoy-studio-next-steps p { max-width:280px; margin:8px 0 0; color:#715b70; font-size:12px; line-height:1.8; }
@keyframes eoy-studio-breathe { 0%,100% { transform:translateY(0) rotate(-.35deg); } 50% { transform:translateY(-3px) rotate(.35deg); } }
@media(hover:hover) and (pointer:fine) { .eoy-studio-preset:hover:not(:disabled) { background:#f7edf5; border-color:#ab83ad; transform:translateY(-2px); box-shadow:0 4px 0 #d8bfd733; } }
@media(max-width:1100px) { .eoy-studio-workbench { gap:30px; } .eoy-studio-preview { padding:15px; } .eoy-studio-small-options legend { font-size:14px; } .eoy-studio-expression { font-size:11px!important; letter-spacing:0; } }
@media(max-width:800px) {
  .eoy-studio { --studio-sticky-top:86px; --studio-preview-height:132px; padding:54px 0; }
  .eoy-studio-workbench { display:flex; gap:29px; }
  .eoy-studio-preview { top:var(--studio-sticky-top); grid-template-columns:105px minmax(0,1fr); grid-template-rows:29px 1fr; height:var(--studio-preview-height); padding:9px; gap:2px 13px; border-radius:16px; scroll-margin-top:calc(var(--studio-sticky-top) + 18px); }
  .eoy-studio-preview::before { width:65px; height:20px; left:calc(50% - 32px); top:-10px; }
  .eoy-studio-preview-top { align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:6px; }
  .eoy-studio-preview-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:29px; padding:3px 5px; border:0; background:none; color:#674265; font-family:inherit; font-size:10px; font-weight:650; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
  .eoy-studio-preview-selection { align-items:start; justify-content:center; padding:0; gap:4px; }
  .eoy-studio-preview-selection strong { font-size:19px; }
  .eoy-studio-preview-selection>span { font-size:11px; line-height:1.5; }
  .eoy-studio-preview .eoy-studio-skein { display:none; }
  .eoy-studio-preview .eoy-studio-friend { animation:none; }
  .eoy-studio-small-options legend { font-size:17px; }
  .eoy-studio-expression { font-size:13px!important; letter-spacing:1px; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview { position:relative; top:auto; display:flex; flex-direction:column; height:auto; padding:15px; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview-top { width:100%; padding:3px 0 9px; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview-top>span:first-child { display:none; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-canvas { max-width:430px; height:auto; margin:auto; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-friend { height:auto; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview-selection { align-items:center; padding-top:12px; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview figcaption { position:static; width:auto; height:auto; margin:0; overflow:visible; clip-path:none; white-space:normal; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview .eoy-studio-skein { display:block; }
  .eoy-studio-next-steps { gap:18px; }
}
@media(max-width:600px) {
  .eoy-studio { --studio-sticky-top:78px; --studio-preview-height:128px; padding:46px 0; }
  .eoy-studio-heading h2 { font-size:clamp(34px,9.6vw,45px); line-height:1.17; }
  .eoy-studio-heading .eyebrow { font-size:9px; letter-spacing:.9px; }
  .eoy-studio-heading p { font-size:13px; }
  .eoy-studio-heading .eoy-studio-choice-count { font-size:10px; gap:6px; }
  .eoy-studio-choice-count>span { padding:5px 9px; }
  .eoy-studio-preview { grid-template-columns:94px minmax(0,1fr); gap:3px 10px; }
  .eoy-studio-preview-selection strong { font-size:17px; }
  .eoy-studio-preview-selection>span { font-size:10px; }
  .eoy-studio-preview .eoy-studio-sample-tag { padding:3px 7px; font-size:9px; }
  .eoy-studio-form :is(fieldset,label,button) { scroll-margin-top:calc(var(--studio-sticky-top) + var(--studio-preview-height) + 18px); }
  .eoy-studio-presets { gap:8px; }
  .eoy-studio-preset { border-radius:12px; padding:5px 4px 10px; }
  .eoy-studio-preset strong { font-size:10px; }
  .eoy-studio-preset>span:last-child { font-size:9px; }
  .eoy-studio-preset-note { margin-bottom:23px; }
  .eoy-studio-small-options { grid-template-columns:1fr; gap:0; }
  .eoy-studio-options--pair { grid-template-columns:1fr; }
  .eoy-studio-option--compact { min-height:46px; font-size:12px; }
  .eoy-studio-purpose { gap:7px; }
  .eoy-studio-option--purpose { font-size:10px; padding-left:22px; }
  .eoy-studio-selection { padding:20px 16px; }
  .eoy-studio-summary-chips { gap:6px; }
  .eoy-studio-summary-chips>div { padding:7px; }
  .eoy-studio-summary-chips dd { font-size:9px; }
  .eoy-studio-next-steps { grid-template-columns:1fr; gap:21px; margin-top:30px; padding-top:25px; }
  .eoy-studio-next-steps p { max-width:none; margin-top:5px; }
  .eoy-studio :is(textarea,[data-studio-gift-note]) { font-size:16px; }
}
@media(max-width:800px) and (max-height:600px) { .eoy-studio { --studio-preview-height:114px; } .eoy-studio-preview { grid-template-columns:83px minmax(0,1fr); } .eoy-studio-preview-selection strong { font-size:16px; } }
@media(max-width:359px) { .eoy-studio-presets { grid-template-columns:repeat(2,minmax(0,1fr)); } .eoy-studio-colors { grid-template-columns:repeat(3,minmax(0,1fr)); } .eoy-studio-preview { grid-template-columns:78px minmax(0,1fr); } .eoy-studio-preview-toggle { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .eoy-studio *, .eoy-studio *::before, .eoy-studio *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .eoy-studio-preset:hover:not(:disabled) { transform:none; } }

/* v21: a tactile, three-step atelier, not a long configuration form. */
.eoy-studio { position:relative; isolation:isolate; padding:65px 0; background-color:#eaf0e5; background-image:radial-gradient(#63776316 .65px,transparent .65px),linear-gradient(110deg,#fbf7ea80,#e6eee480 65%,#f0deda80); background-size:6px 6px,100% 100%; color:#352f37; }
.eoy-studio::before { content:""; position:absolute; inset:13px 15px; z-index:-1; pointer-events:none; border-block:1px dashed #9daa95; }
.eoy-studio-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.8fr); column-gap:60px; max-width:none; margin-bottom:32px; align-items:center; }
.eoy-studio-heading .eyebrow { grid-column:1/-1; width:max-content; max-width:100%; padding:7px 12px; border:1px solid #cbd4c1; background:#fffaf0; border-radius:24px; color:#5b6d53; font-size:11px; letter-spacing:1.1px; line-height:1.7; }
.eoy-studio-heading .eyebrow>span { margin-right:5px; font-size:16px; }
.eoy-studio-heading h2 { position:relative; grid-column:1; grid-row:2/4; margin:15px 0 0; font-size:clamp(42px,4.2vw,63px); line-height:1.07; letter-spacing:-1.4px; color:#352f37; }
.eoy-studio-heading h2>span { color:#715778; }
.eoy-studio-heading .eoy-studio-heading-daisy { display:inline-block; position:absolute; margin-left:16px; bottom:3px; color:#bf7d77; font-family:Georgia,serif; font-size:55px; transform:rotate(-12deg); }
.eoy-studio-heading p { grid-column:2; margin:14px 0 0; max-width:460px; color:#53604f; font-size:15px; line-height:1.8; }
.eoy-studio-heading .eoy-studio-choice-count { margin-top:15px; font-size:12px; gap:7px; }
.eoy-studio-choice-count>span { padding:6px 10px; border-color:#b7c6af; color:#53654d; background:#fbf9ee; }
.eoy-studio-workbench { grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:28px; align-items:start; }
.eoy-studio-preview { top:115px; padding:18px; background:#fffbef; border:1px solid #b9c6af; border-radius:28px 35px 28px 28px; box-shadow:0 7px 0 -2px #bac9ae,0 18px 40px #46614415; }
.eoy-studio-preview::before { top:-12px; width:78px; height:25px; left:calc(50% - 39px); background:#dfb5bd9c; border-color:#cfa0b060; transform:rotate(-7deg); }
.eoy-studio-preview-top { padding:0 3px 12px; color:#52644d; font-size:12px; }
.eoy-studio-sample-tag { background:#e9efde; border-color:#bec9ae; color:#4f6449; font-size:12px; }
.eoy-studio-canvas { aspect-ratio:1.12; display:grid; place-items:center; border-color:#b8c6ac; border-radius:20px; background-color:#dce7ce; background-image:radial-gradient(ellipse at 36% 22%,#fffcfbd9,transparent 72%),repeating-linear-gradient(0deg,#7d947c0b 0,#7d947c0b 1px,transparent 1px,transparent 6px),repeating-linear-gradient(90deg,#7d947c0b 0,#7d947c0b 1px,transparent 1px,transparent 6px); }
.eoy-studio-canvas::before { content:""; position:absolute; inset:11px; border:1px dashed #96b08f80; border-radius:15px; pointer-events:none; }
.eoy-studio-preview .eoy-studio-friend { width:100%; height:100%; max-height:405px; padding:0 18px 8px; filter:drop-shadow(3px 9px 4px #45614325); animation:none; }
.eoy-studio-skein { left:4%; top:6%; width:20%; opacity:.9; }
.eoy-studio-thread-label { bottom:13px; font-size:12px; color:#5f6153; background:#fffbed; border-color:#aebe9e; padding:4px 11px; box-shadow:1px 2px 0 #b7c5aa; }
.eoy-studio-preview-selection { padding-top:16px; gap:4px; }
.eoy-studio-preview-selection strong { color:#3d4939; font-size:26px; }
.eoy-studio-preview-selection>span { color:#5a6753; font-size:12px; }
.eoy-studio-preview figcaption { color:#65705d; font-size:12px; line-height:1.7; padding-top:10px; }
.eoy-studio-form { padding:20px; background:#fffaf1; border:1px solid #cfbdc6; border-radius:28px; box-shadow:0 6px 0 -2px #d7c2cd,0 18px 40px #6249570c; }
.eoy-studio-stepper { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0 0 23px; padding:5px; border:1px dashed #d3b9c9; border-radius:20px; background:#f1e7ed; }
.eoy-studio-stepper button { min-width:0; min-height:69px; display:grid; grid-template-columns:25px minmax(0,1fr); gap:2px 7px; align-content:center; align-items:center; padding:10px 9px; border:1px solid transparent; border-radius:15px; color:#6b5669; text-align:left; transition:background .2s,color .2s; }
.eoy-studio-stepper button>span { grid-row:1/3; width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:#fffaf1; color:#715c6f; font-size:10px; }
.eoy-studio-stepper strong { font-size:12px; font-weight:750; line-height:1.6; overflow-wrap:anywhere; }
.eoy-studio-stepper small { grid-column:2; font-size:10px; line-height:1.5; }
.eoy-studio-stepper [aria-selected="true"] { background:#52684c; border-color:#52684c; color:#fff9ec; box-shadow:0 3px 0 #40523a; }
.eoy-studio-stepper [aria-selected="true"]>span { color:#47623f; background:#e7efd8; }
.eoy-studio-step-panel { min-width:0; outline:none; scroll-margin-top:122px; }
.eoy-studio-stepper button { scroll-margin-top:122px; }
.eoy-studio-resume:has([hidden]) { display:none; }
.eoy-studio-resume { margin:-9px 0 18px; }
.eoy-studio-resume button { min-height:44px; padding:8px 12px; border:1px dashed #bca0b7; border-radius:20px; color:#74536f; background:#f7eaf1; font-size:12px; font-weight:650; }
.eoy-studio-step-panel:focus-visible { outline:3px solid #80518f; outline-offset:7px; border-radius:8px; }
.eoy-studio-inspiration { margin:0 0 25px; border:1px dashed #d0b5c7; border-radius:18px; background:#f8eff5; }
.eoy-studio-inspiration>summary { display:flex; align-items:center; gap:9px; min-height:48px; padding:13px 15px; font-size:12px; font-weight:700; color:#72516f; list-style:none; cursor:pointer; }
.eoy-studio-inspiration>summary::-webkit-details-marker { display:none; }
.eoy-studio-inspiration>summary:focus-visible { outline:3px solid #80518f; outline-offset:3px; border-radius:18px; }
.eoy-studio-inspiration-toggle { margin-left:auto; font-size:22px; line-height:1; font-weight:400; transition:transform .2s; }
.eoy-studio-inspiration[open] .eoy-studio-inspiration-toggle { transform:rotate(45deg); }
.eoy-studio-inspiration-content { padding:0 12px 12px; }
.eoy-studio-idea { padding-bottom:10px; gap:10px; }
.eoy-studio-mini-label { display:none; }
.eoy-studio-idea p { font-size:12px; }
.eoy-studio-random { min-height:44px; font-size:12px; padding:8px 11px; }
.eoy-studio-presets { gap:7px; }
.eoy-studio-preset { border-color:#d2bfcd; background:#fffaf3; padding:8px 5px 10px; border-radius:13px; }
.eoy-studio-preset-art { max-width:102px; aspect-ratio:1.35; }
.eoy-studio-preset strong { font-size:12px; }
.eoy-studio-preset>span:last-child { font-size:11px; color:#715d70; }
.eoy-studio-preset-note { margin:11px 2px 0; font-size:12px; color:#71586b; line-height:1.7; }
.eoy-studio-fieldset { margin-bottom:20px; }
.eoy-studio-fieldset legend { color:#453844; font-size:20px; }
.eoy-studio-fieldset legend>span { border-color:#c6b8c2; color:#775a70; background:#f7eff5; }
.eoy-studio-option { border-color:#d9c8d1; border-radius:15px; color:#5c475b; background:#fffcf5; min-height:54px; }
.eoy-studio-option:has(input:checked) { border-color:#83628b; background:#f0e2f2; color:#503258; box-shadow:inset 0 0 0 1px #83628b,0 3px 0 #e0ccdf; }
.eoy-studio-models .eoy-studio-option { padding:14px 5px 10px; }
.eoy-studio-model-icon { width:65px; height:56px; }
.eoy-studio-control-help { font-size:12px; color:#6c5b68; }
.eoy-studio-colors { grid-template-columns:repeat(3,minmax(0,1fr)); }
.eoy-studio-colors .eoy-studio-option { flex-direction:row; justify-content:flex-start; gap:9px; padding:10px 7px; font-size:12px; }
.eoy-studio-colors .eoy-studio-option input { opacity:0; inset:auto; width:1px; height:1px; }
.eoy-studio-swatch { flex-shrink:0; width:31px; height:31px; box-shadow:inset -3px -4px 4px #62504930,inset 2px 2px 4px #fff9; }
.eoy-studio-colors .eoy-studio-option:has(input:checked) .eoy-studio-swatch::before { content:"✓"; position:absolute; inset:0; z-index:1; display:grid; place-items:center; color:#423744; text-shadow:0 1px 2px #fff; font-size:16px; font-weight:750; }
.eoy-studio-small-options { gap:14px; }
.eoy-studio-small-options legend { font-size:16px; }
.eoy-studio-option--compact { min-height:48px; font-size:12px; }
.eoy-studio-selection { background:#edf1e5; border-color:#a7b699; border-radius:18px; padding:20px; box-shadow:0 3px 0 #b7c5aa80; }
.eoy-studio-selection-label { font-size:11px; color:#596952; }
.eoy-studio-selection [data-studio-summary] { color:#3e4c37; font-size:15px; }
.eoy-studio-summary-chips dt { font-size:11px; color:#6a6e5e; }
.eoy-studio-summary-chips dd { font-size:12px; color:#4c5846; }
.eoy-studio-summary-chips>div { border-color:#c4cfb4; background:#fffaf2; }
.eoy-studio-note-label,.eoy-studio-gift-note>label { font-size:13px; }
.eoy-studio-note-label>span,.eoy-studio-gift-note>label>span,.eoy-studio-gift-note .eoy-studio-control-help,.eoy-studio-note-help { font-size:12px; }
.eoy-studio-price-note { font-size:12px; color:#596452; border-top-color:#bbc8ad; }
.eoy-studio-add { background:#78547c; border-color:#78547c; min-height:56px; font-size:15px; box-shadow:0 4px 0 #d2b5cb; }
.eoy-studio-demo-notice,.eoy-studio-storage-note,.eoy-studio-making-note { font-size:12px; }
.eoy-studio-brief-tools button { font-size:12px; }
.eoy-studio-step-actions { display:none; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-top:23px; padding-top:18px; border-top:1px dashed #dac4d2; }
.eoy-studio[data-studio-stepped="true"] .eoy-studio-step-actions { display:flex; }
.eoy-studio-step-hint { flex:1 1 155px; font-size:12px; color:#786173; line-height:1.7; }
.eoy-studio-step-actions [data-studio-next] { display:flex; gap:13px; align-items:center; justify-content:center; min-height:48px; padding:11px 17px; border-radius:25px; background:#78547c; color:#fffaf0; font-size:13px; font-weight:700; box-shadow:0 3px 0 #d4b5cf; }
.eoy-studio-step-back { display:none; align-items:center; gap:7px; min-height:44px; padding:8px 3px; color:#795b77; font-size:12px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.eoy-studio[data-studio-stepped="true"] .eoy-studio-step-back { display:inline-flex; }
.eoy-studio-back-top { margin:0 0 15px; }
.eoy-studio-next-steps { margin-top:32px; gap:22px; border-color:#b5c2a8; }
.eoy-studio-next-steps>li>span { border-color:#b0bea5; background:#fff9ec; color:#57734e; }
.eoy-studio-next-steps strong { color:#4e6347; }
.eoy-studio-next-steps p { color:#5d6d54; font-size:12px; }
.eoy-studio-preview.eoy-studio-is-changing .eoy-studio-friend { animation:eoy-studio-hello .45s ease-out both; }
@keyframes eoy-studio-hello { 0%,100% { transform:rotate(0) scale(1); } 35% { transform:rotate(-3deg) scale(1.025); } 70% { transform:rotate(2deg) scale(1); } }
@media(hover:hover) and (pointer:fine) { .eoy-studio-stepper button:hover:not(:disabled):not([aria-selected="true"]) { background:#e4d5df; } .eoy-studio-step-actions [data-studio-next]:hover { background:#66416b; } }
@media(max-width:1100px) { .eoy-studio-heading { column-gap:30px; } .eoy-studio-form { padding:17px; } .eoy-studio-stepper button { grid-template-columns:1fr; text-align:center; padding:8px 4px; } .eoy-studio-stepper button>span { grid-row:auto; margin-inline:auto; } .eoy-studio-stepper small { display:none; } .eoy-studio-colors .eoy-studio-option { flex-direction:column; gap:6px; } }
@media(max-width:800px) {
  .eoy-studio { padding:47px 0; --studio-sticky-top:85px; --studio-preview-height:111px; }
  .admin-bar .eoy-studio { --studio-sticky-top:117px; }
  .eoy-studio-heading { display:block; margin-bottom:29px; }
  .eoy-studio-heading h2 { max-width:540px; margin-top:17px; font-size:48px; }
  .eoy-studio-heading .eoy-studio-heading-daisy { font-size:45px; }
  .eoy-studio-heading p { max-width:570px; margin-top:17px; font-size:14px; }
  .eoy-studio-workbench { display:flex; gap:22px; }
  .eoy-studio-preview { z-index:5; top:var(--studio-sticky-top); height:var(--studio-preview-height); grid-template-columns:86px minmax(0,1fr); grid-template-rows:27px 1fr; gap:1px 10px; padding:8px; border-radius:18px; }
  .eoy-studio-preview .eoy-studio-canvas { aspect-ratio:auto; border-radius:12px; }
  .eoy-studio-canvas::before { inset:5px; border-radius:8px; }
  .eoy-studio-preview .eoy-studio-friend { padding:0 3px; max-height:none; }
  .eoy-studio-preview-selection { padding:0; }
  .eoy-studio-preview-selection strong { font-size:19px; }
  .eoy-studio-preview-selection>span { font-size:12px; }
  .eoy-studio-preview .eoy-studio-sample-tag { font-size:10px; padding:2px 7px; }
  .eoy-studio-preview-toggle { min-width:44px; min-height:29px; font-size:11px; padding:3px 4px; color:#52604c; }
  .eoy-studio-form { padding:18px; max-width:620px; }
  .eoy-studio-form :is(fieldset,label,button),.eoy-studio-step-panel { scroll-margin-top:calc(var(--studio-sticky-top) + var(--studio-preview-height) + 18px); }
  .eoy-studio-stepper { margin-bottom:21px; }
  .eoy-studio-stepper button { min-height:60px; padding:7px 4px; }
  .eoy-studio-stepper strong { font-size:12px; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview { height:auto; padding:15px; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-canvas { max-width:340px; aspect-ratio:1.12; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview-selection { align-items:center; padding-top:12px; }
  .eoy-studio[data-preview-expanded="true"] .eoy-studio-preview figcaption { font-size:12px; }
}
@media(max-width:600px) {
  .eoy-studio { --studio-sticky-top:78px; --studio-preview-height:109px; }
  .admin-bar .eoy-studio { --studio-sticky-top:124px; }
  .eoy-studio-heading h2 { font-size:clamp(36px,10.5vw,46px); }
  .eoy-studio-heading .eyebrow { font-size:10px; letter-spacing:.8px; }
  .eoy-studio-heading .eoy-studio-heading-daisy { font-size:38px; margin-left:12px; }
  .eoy-studio-heading .eoy-studio-choice-count { font-size:12px; }
  .eoy-studio-form { padding:15px 12px; border-radius:22px; }
  .eoy-studio-inspiration>summary { font-size:12px; padding:11px 10px; }
  .eoy-studio-inspiration-content { padding:0 8px 12px; }
  .eoy-studio-idea>div { flex-basis:145px; }
  .eoy-studio-presets { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .eoy-studio-preset-art { max-width:105px; }
  .eoy-studio-preset>span:last-child { font-size:12px; }
  .eoy-studio-preview-selection strong { font-size:18px; }
  .eoy-studio-preview-selection>span { font-size:11px; }
  .eoy-studio-fieldset legend { font-size:18px; }
  .eoy-studio-fieldset legend>span { width:23px; height:23px; flex-basis:23px; }
  .eoy-studio-model-icon { width:49px; height:45px; }
  .eoy-studio-models .eoy-studio-option { font-size:12px; }
  .eoy-studio-colors .eoy-studio-option { font-size:12px; }
  .eoy-studio-small-options { grid-template-columns:1fr; gap:0; }
  .eoy-studio-options--pair { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .eoy-studio-option--compact { flex-direction:column; justify-content:center; align-items:center; min-height:73px; padding:20px 4px 8px; gap:4px; font-size:12px; text-align:center; }
  .eoy-studio-option--compact input { top:8px; left:calc(50% - 7px); transform:none; }
  .eoy-studio-option--compact .eoy-studio-expression { font-size:13px!important; }
  .eoy-studio-purpose .eoy-studio-option--purpose { font-size:12px; }
  .eoy-studio-step-actions { gap:10px; }
  .eoy-studio-step-actions [data-studio-next] { font-size:12px; padding-inline:14px; }
  .eoy-studio-step-hint { flex-basis:100%; }
  .eoy-studio-selection { padding:18px 12px; }
  .eoy-studio-summary-chips { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eoy-studio-summary-chips dd { font-size:12px; }
  .eoy-studio-next-steps { grid-template-columns:1fr; gap:18px; }
}
@media(max-width:359px) { .eoy-studio-heading h2 { font-size:36px; } .eoy-studio-heading .eoy-studio-heading-daisy { display:none; } .eoy-studio-preview { grid-template-columns:75px minmax(0,1fr); } .eoy-studio-preview-selection strong { font-size:16px; } .eoy-studio-preview-selection>span { font-size:11px; } .eoy-studio-stepper strong { font-size:12px; } .eoy-studio-stepper button { padding-inline:2px; } }
@media(max-width:800px) and (max-height:600px) { .eoy-studio { --studio-preview-height:95px; } .eoy-studio-preview { grid-template-columns:69px minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .eoy-studio-preview.eoy-studio-is-changing .eoy-studio-friend { animation:none!important; } }

/* v22: one little shelf of friends, with room for many more ideas. */
.eoy-studio [data-studio-model-picker] { min-width:0; max-width:100%; margin-bottom:4px; }
.eoy-studio [data-studio-model-picker] .eoy-studio-control-help { margin-bottom:10px; }
.eoy-studio .eoy-studio-model-toolbar { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; gap:5px; margin:0 0 9px; }
.eoy-studio .eoy-studio-model-toolbar>label { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; color:#655662; font-size:12px; line-height:1.5; font-weight:650; }
.eoy-studio .eoy-studio-model-toolbar>label>span { margin:0; color:#715078; font-size:16px; line-height:1; }
.eoy-studio [data-studio-model-search] { display:block; width:100%; min-width:0; min-height:44px; margin:0; padding:10px 13px; border:1px solid #cebac8; border-radius:14px; background:#fffcf6; color:#463545; font:inherit; font-size:13px; line-height:1.5; box-shadow:inset 0 2px 3px #6b485405; }
.eoy-studio [data-studio-model-search]::placeholder { color:#786b76; opacity:1; }
.eoy-studio [data-studio-model-search]:focus-visible { outline:3px solid #80518f; outline-offset:3px; }
.eoy-studio .eoy-studio-model-filters { display:flex; flex-wrap:nowrap; align-items:center; gap:6px; min-width:0; max-width:100%; margin:0 0 10px; padding:2px 3px 5px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#c7adb9 transparent; touch-action:pan-x pan-y; }
.eoy-studio [data-studio-model-category] { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:5px; min-height:44px; padding:8px 11px; border:1px solid #d5c5cf; border-radius:24px; color:#675563; background:#fcf7ef; font:inherit; font-size:12px; font-weight:650; line-height:1.5; white-space:nowrap; cursor:pointer; transition:background .18s,color .18s,border-color .18s; }
.eoy-studio [data-studio-model-category][aria-pressed="true"] { border-color:#53684d; color:#fffaf0; background:#53684d; box-shadow:0 2px 0 #aebaa3; }
.eoy-studio [data-studio-model-category]:focus-visible { outline:3px solid #80518f; outline-offset:2px; }
.eoy-studio .eoy-studio-options.eoy-studio-models[data-studio-model-rail] { display:flex; flex-wrap:nowrap; gap:9px; min-width:0; width:100%; max-width:100%; margin:0; padding:4px 4px 11px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; scroll-padding-inline:4px; overscroll-behavior-x:contain; touch-action:pan-x pan-y; scrollbar-width:thin; scrollbar-color:#af8ba5 #f0e6ed; -webkit-overflow-scrolling:touch; }
.eoy-studio [data-studio-model-rail]::-webkit-scrollbar { height:6px; }
.eoy-studio [data-studio-model-rail]::-webkit-scrollbar-track { border-radius:6px; background:#f0e6ed; }
.eoy-studio [data-studio-model-rail]::-webkit-scrollbar-thumb { border:1px solid #f0e6ed; border-radius:6px; background:#af8ba5; }
.eoy-studio [data-studio-model-rail]:focus-visible { outline:3px solid #80518f; outline-offset:3px; border-radius:15px; }
.eoy-studio .eoy-studio-models [data-studio-model-card] { flex:0 0 112px; width:112px; min-width:112px; min-height:112px; max-height:118px; gap:5px; padding:16px 6px 9px; border:1px solid #d4bdcd; border-radius:17px; background:#fffaf3; color:#60465e; font-size:12px; font-weight:650; line-height:1.45; scroll-snap-align:start; scroll-margin-inline:4px; box-shadow:0 2px 0 #e1ced93b; }
.eoy-studio .eoy-studio-models [data-studio-model-card]>span:not([aria-hidden="true"]) { max-width:100%; overflow-wrap:anywhere; }
.eoy-studio .eoy-studio-models [data-studio-model-card] .eoy-studio-model-icon { flex:0 0 auto; width:63px; height:53px; margin-top:0; fill:#e9d8e4; stroke:#a884a0; }
.eoy-studio .eoy-studio-models [data-studio-model-card] input { top:8px; right:8px; width:15px; height:15px; margin:0; opacity:0; accent-color:#76547c; }
.eoy-studio .eoy-studio-models [data-studio-model-card]::before { content:""; position:absolute; top:8px; right:8px; width:15px; height:15px; border:1px solid #bd9cb5; border-radius:50%; background:#fffaf6; pointer-events:none; }
.eoy-studio .eoy-studio-models [data-studio-model-card]:has(input:checked) { border-color:#78567f; background:#efe1f1; color:#4c3254; box-shadow:inset 0 0 0 1px #78567f,0 3px 0 #d8bdd3; }
.eoy-studio .eoy-studio-models [data-studio-model-card]:has(input:checked)::after { content:"✓"; position:absolute; top:7px; right:7px; display:grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#fffaf2; background:#78567f; font-size:12px; line-height:1; font-weight:750; pointer-events:none; }
.eoy-studio .eoy-studio-models [data-studio-model-card]:has(input:checked) .eoy-studio-model-icon { fill:#d7bddc; stroke:#87628e; }
.eoy-studio .eoy-studio-models [data-studio-model-card]:has(input:focus-visible) { outline:3px solid #80518f; outline-offset:2px; }
.eoy-studio .eoy-studio-model-rail-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:nowrap; gap:10px; min-width:0; margin:7px 3px 0; }
.eoy-studio [data-studio-model-count] { flex:1 1 auto; min-width:0; margin:0; color:#715a6a; font-size:12px; line-height:1.55; font-variant-numeric:tabular-nums; }
.eoy-studio .eoy-studio-model-rail-controls { display:flex; align-items:center; flex:0 0 auto; gap:6px; }
.eoy-studio :is([data-studio-model-prev],[data-studio-model-next]) { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; min-width:44px; min-height:44px; padding:7px; border:1px solid #c5abbf; border-radius:50%; color:#715078; background:#f4e9f1; font:inherit; font-size:22px; font-weight:500; line-height:1; cursor:pointer; box-shadow:0 2px 0 #e0cad9; transition:background .18s,border-color .18s,transform .18s; }
.eoy-studio :is([data-studio-model-prev],[data-studio-model-next]):disabled { border-color:#d7c9d2; color:#a393a0; background:#faf4f7; opacity:.7; box-shadow:none; cursor:default; }
.eoy-studio [data-studio-model-empty] { margin:10px 3px 0; padding:15px 13px; border:1px dashed #cbb3c3; border-radius:14px; color:#685067; background:#faf0f5; font-size:13px; line-height:1.65; text-wrap:pretty; }
@media(hover:hover) and (pointer:fine) {
  .eoy-studio [data-studio-model-category]:hover:not([aria-pressed="true"]):not(:disabled) { border-color:#ad91a5; background:#f3e7ee; }
  .eoy-studio .eoy-studio-models [data-studio-model-card]:hover:not(:has(input:checked)) { border-color:#a582a7; background:#f8edf6; }
  .eoy-studio :is([data-studio-model-prev],[data-studio-model-next]):hover:not(:disabled) { border-color:#8c658f; background:#eadbe9; transform:translateY(-1px); }
}
@media(max-width:600px) {
  .eoy-studio [data-studio-model-search] { min-height:44px; padding:10px 12px; font-size:16px; }
  .eoy-studio .eoy-studio-model-filters { gap:5px; margin-bottom:8px; }
  .eoy-studio [data-studio-model-category] { padding-inline:10px; }
  .eoy-studio .eoy-studio-options.eoy-studio-models[data-studio-model-rail] { gap:8px; padding-inline:3px; scroll-padding-inline:3px; }
  .eoy-studio .eoy-studio-models [data-studio-model-card] { flex-basis:100px; width:100px; min-width:100px; min-height:107px; max-height:114px; padding:15px 5px 8px; }
  .eoy-studio .eoy-studio-models [data-studio-model-card] .eoy-studio-model-icon { width:59px; height:51px; }
  .eoy-studio .eoy-studio-model-rail-footer { margin-top:5px; }
}
@media(prefers-reduced-motion:reduce) { .eoy-studio [data-studio-model-rail] { scroll-behavior:auto; } .eoy-studio :is([data-studio-model-prev],[data-studio-model-next]):hover:not(:disabled) { transform:none; } }

/* v23: one roomy worktable. The playful controls stay together, not behind tabs. */
.eoy-studio[data-studio-layout="single"] .eoy-studio-workbench { display:grid; grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr); gap:24px; align-items:start; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-preview { top:115px; padding:15px; border-radius:25px 31px 25px 25px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-preview-top { flex-wrap:wrap; gap:7px; padding-bottom:10px; font-size:12px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-canvas { aspect-ratio:auto; height:195px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-preview .eoy-studio-friend { max-height:195px; padding:0 12px 5px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-preview-selection { padding-top:12px; gap:3px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-preview-selection strong { font-size:23px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-preview figcaption { padding:9px 1px 0; font-size:12px; line-height:1.6; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-form { max-width:none; width:100%; min-width:0; padding:23px; border-radius:26px; }
.eoy-studio[data-studio-layout="single"] :is(.eoy-studio-stepper,.eoy-studio-step-actions,.eoy-studio-step-back) { display:none; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 20px; padding:0 0 18px; border-bottom:1px dashed #d5bfce; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar>div { flex:1 1 185px; min-width:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-create-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar strong { display:block; margin:0 0 5px; color:#4b384b; font-family:var(--display,"Arial Rounded MT Bold",sans-serif); font-size:22px; font-weight:400; line-height:1.35; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar p { margin:0; color:#6d5969; font-size:12px; line-height:1.65; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar [data-studio-random] { flex:0 1 auto; min-height:48px; padding:11px 15px; border:1px solid #79597e; border-radius:24px; color:#fffaf2; background:#79597e; font-size:13px; line-height:1.5; font-weight:700; box-shadow:0 3px 0 #d6bed2; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar [data-studio-random]>span { font-size:19px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar [data-studio-restore] { min-height:44px; padding:8px 0; border:0; border-radius:0; color:#73546f; background:none; font:inherit; font-size:12px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:17px 23px; min-width:0; margin-bottom:17px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls>.eoy-studio-model-fieldset { grid-column:1/-1; min-width:0; margin-bottom:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls>.eoy-studio-color-fieldset { min-width:0; margin-bottom:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls .eoy-studio-fieldset legend { gap:8px; margin-bottom:10px; font-size:18px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls .eoy-studio-fieldset legend>span { flex:0 0 24px; width:24px; height:24px; font-size:11px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls>.eoy-studio-small-options { display:grid; grid-template-columns:minmax(0,1fr); gap:15px; min-width:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-small-options .eoy-studio-fieldset { margin-bottom:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-small-options legend { font-size:16px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-colors { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-colors .eoy-studio-option { flex-direction:column; justify-content:center; gap:5px; min-height:72px; padding:9px 4px; font-size:12px; line-height:1.4; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-swatch { width:29px; height:29px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-options--pair { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-option--compact { flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:57px; padding:7px 4px; font-size:12px; text-align:center; line-height:1.45; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-option--compact input { inset:6px 6px auto auto; width:12px; height:12px; transform:none; opacity:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-option--compact:has(input:checked) { border-color:#78567f; background:#efe2f0; box-shadow:inset 0 0 0 1px #78567f; }
.eoy-studio[data-studio-layout="single"] :is(.eoy-studio-inspiration,.eoy-studio-extra-details) { min-width:0; margin:0 0 10px; border:1px dashed #d2bbc9; border-radius:16px; background:#f9f0f5; }
.eoy-studio[data-studio-layout="single"] :is(.eoy-studio-inspiration,.eoy-studio-extra-details)>summary { display:flex; align-items:center; justify-content:space-between; gap:9px; min-height:48px; padding:12px 14px; color:#72566e; font-size:12px; font-weight:650; line-height:1.65; list-style:none; cursor:pointer; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-extra-details>summary::-webkit-details-marker { display:none; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-extra-details>summary:focus-visible { outline:3px solid #80518f; outline-offset:3px; border-radius:16px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-extra-details>div { min-width:0; padding:0 14px 15px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-extra-details .eoy-studio-fieldset { margin-bottom:15px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-extra-details .eoy-studio-fieldset legend { font-size:17px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-selection { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; align-items:center; margin-top:18px; padding:16px 18px; border-radius:18px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-selection>* { grid-column:1/-1; margin-block:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-selection [data-studio-summary] { grid-column:1; grid-row:2; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-selection .eoy-studio-price-row { grid-column:2; grid-row:2; margin:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-summary-chips { display:flex; flex-wrap:wrap; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-summary-chips>div { display:flex; align-items:center; gap:6px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-summary-chips dd { margin:0; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-selection-label { margin-bottom:5px; font-size:11px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-selection [data-studio-summary] { font-size:14px; line-height:1.75; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-summary-chips { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:10px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-summary-chips>div { padding:6px 7px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-summary-chips dd { margin-top:2px; font-size:12px; line-height:1.5; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-price-note { margin:10px 0 13px; padding-top:10px; line-height:1.6; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-add { min-height:50px; padding:11px 14px; font-size:14px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-brief-tools { margin-top:9px; gap:3px 14px; }
.eoy-studio[data-studio-layout="single"] .eoy-studio-making-note { display:none; }
@media(min-width:1100px) {
  .eoy-studio[data-studio-layout="single"] [data-studio-model-picker] { display:grid; grid-template-columns:minmax(200px,.8fr) minmax(0,1.5fr); gap:0 12px; align-items:end; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-model-toolbar { margin-bottom:10px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-model-filters { align-self:end; }
  .eoy-studio[data-studio-layout="single"] :is([data-studio-model-rail],[data-studio-model-empty],.eoy-studio-model-rail-footer) { grid-column:1/-1; }
}
@media(hover:hover) and (pointer:fine) { .eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar [data-studio-random]:hover:not(:disabled) { border-color:#68436f; background:#68436f; } }
@media(min-width:801px) and (max-width:1000px) {
  .eoy-studio[data-studio-layout="single"] .eoy-studio-workbench { grid-template-columns:minmax(0,.58fr) minmax(0,1.42fr); gap:18px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-form { padding:19px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview { padding:12px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview-top { gap:5px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-sample-tag { font-size:11px; padding-inline:7px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls { gap:17px 15px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls .eoy-studio-fieldset legend { font-size:16px; }
}
@media(max-width:800px) {
  .eoy-studio[data-studio-layout="single"] .eoy-studio-workbench { display:flex; flex-direction:column; align-items:stretch; gap:22px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview { top:var(--studio-sticky-top); height:var(--studio-preview-height); padding:8px; border-radius:18px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview-top { flex-wrap:nowrap; padding:0; font-size:12px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview .eoy-studio-canvas { height:100%; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview .eoy-studio-friend { max-height:none; padding:0 3px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview-selection { padding:0; gap:3px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview-selection strong { font-size:19px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-form { max-width:620px; padding:20px; margin-inline:auto; }
  .eoy-studio[data-studio-layout="single"][data-preview-expanded="true"] .eoy-studio-preview { position:relative; top:auto; height:auto; padding:15px; }
  .eoy-studio[data-studio-layout="single"][data-preview-expanded="true"] .eoy-studio-canvas { aspect-ratio:1.12; height:auto; max-width:340px; }
  .eoy-studio[data-studio-layout="single"][data-preview-expanded="true"] .eoy-studio-preview-selection { padding-top:12px; }
}
@media(max-width:600px) {
  .eoy-studio[data-studio-layout="single"] .eoy-studio-form { padding:18px 12px; border-radius:22px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar { align-items:flex-start; gap:9px; margin-bottom:17px; padding-bottom:15px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar>div { flex-basis:100%; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar strong { font-size:21px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-create-bar [data-studio-random] { flex:1 1 auto; justify-content:center; min-height:46px; padding:11px 13px; font-size:13px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls { grid-template-columns:minmax(0,1fr); gap:19px; margin-bottom:18px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls>.eoy-studio-small-options { grid-template-columns:minmax(0,1fr); gap:17px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-single-controls .eoy-studio-fieldset legend { font-size:18px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-colors .eoy-studio-option { flex-direction:row; justify-content:flex-start; gap:6px; min-height:52px; padding:8px 5px; font-size:12px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-swatch { width:25px; height:25px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-option--compact { min-height:56px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview-selection strong { font-size:18px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-selection { padding:15px 12px; margin-top:16px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-summary-chips { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eoy-studio[data-studio-layout="single"] :is(.eoy-studio-inspiration,.eoy-studio-extra-details)>summary { padding-inline:11px; }
}
@media(max-width:359px) {
  .eoy-studio[data-studio-layout="single"] .eoy-studio-colors .eoy-studio-option { flex-direction:column; padding-inline:3px; min-height:65px; gap:4px; }
  .eoy-studio[data-studio-layout="single"] .eoy-studio-preview-selection strong { font-size:16px; }
}

/* v24: small construction hints, without turning the shelf into a taller grid. */
.eoy-studio[data-studio-models="simple-first"] .eoy-studio-effort-note { margin:-3px 0 10px; max-width:100%; color:#65715d; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.eoy-studio[data-studio-models="simple-first"] .eoy-studio-models [data-studio-model-card] { min-height:124px; max-height:124px; gap:3px; padding:12px 6px 8px; }
.eoy-studio[data-studio-models="simple-first"] .eoy-studio-models [data-studio-model-card] .eoy-studio-model-icon { width:57px; height:42px; }
.eoy-studio[data-studio-models="simple-first"] .eoy-studio-models [data-studio-model-card]>span:not([aria-hidden="true"]):not(.eoy-studio-model-effort) { display:grid; place-items:center; min-height:32px; max-width:100%; font-size:12px; line-height:1.35; text-wrap:balance; }
.eoy-studio[data-studio-models="simple-first"] .eoy-studio-model-effort { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; align-self:center; max-width:100%; min-height:18px; margin:0; padding:1px 6px; border:0; border-radius:9px; color:#53664d; background:#edf2e6; font-family:inherit; font-size:12px; font-weight:500; line-height:1.3; white-space:nowrap; }
.eoy-studio[data-studio-models="simple-first"] [data-model-effort="detailed"] .eoy-studio-model-effort,
.eoy-studio[data-studio-models="simple-first"] .eoy-studio-model-effort[data-model-effort="detailed"] { color:#75626d; background:#f0e9ed; }
.eoy-studio[data-studio-models="simple-first"] [data-studio-model-card]:has(input:checked) .eoy-studio-model-effort { background:#fffbf6; }
@media(max-width:600px) {
  .eoy-studio[data-studio-models="simple-first"] .eoy-studio-models [data-studio-model-card] { padding:12px 5px 8px; }
  .eoy-studio[data-studio-models="simple-first"] .eoy-studio-models [data-studio-model-card] .eoy-studio-model-icon { width:54px; height:42px; }
  .eoy-studio[data-studio-models="simple-first"] .eoy-studio-model-effort { padding-inline:5px; }
}

/* v25: a candy-coloured yarn garden. Decoration stays behind the worktable. */
.eoy-studio[data-studio-finish="candy"] { color:#56305f; background-color:#f8d7dd; background-image:radial-gradient(ellipse at 3% 18%,#ffd0b9 0%,#ffd0b9 18%,transparent 55%),radial-gradient(ellipse at 96% 21%,#dfc5ff 0%,#dfc5ff 24%,transparent 63%),radial-gradient(ellipse at 20% 91%,#cde89f 0%,#cde89f 20%,transparent 58%),repeating-linear-gradient(135deg,transparent 0,transparent 6px,#7436570c 6px,#7436570c 7px,transparent 7px,transparent 12px),linear-gradient(122deg,#ffe594,#fbd0d8 46%,#dfc5ff); background-size:100% 100%; }
.eoy-studio[data-studio-finish="candy"]::before { border-color:#af789d; }
.eoy-studio[data-studio-finish="candy"]>.shell { position:relative; z-index:1; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-heading .eyebrow { color:#56305f; border-color:#bf93ab; background:#ffe594; box-shadow:0 3px 0 #bd769c26; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-heading h2 { color:#56305f; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-heading h2>span:not(.eoy-studio-heading-daisy) { color:#a73370; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-heading .eoy-studio-heading-daisy { color:#b84587; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-heading p { color:#64415f; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-choice-count>span { color:#56305f; background:#fff1cf; border-color:#b78a9c; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-form { background:#fffaf1; border-color:#bd81b0; box-shadow:0 6px 0 -2px #b383b5,0 18px 40px #6534631c; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-preview { background:#fff2ce; border-color:#af799b; box-shadow:0 7px 0 -2px #d18ba9,0 18px 40px #6831531b; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-preview::before { background:#e9a6cbd9; border-color:#ad679571; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-preview-top { color:#653d60; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-sample-tag { color:#56305f; border-color:#b38bd2; background:#dfc5ff; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-canvas { border-color:#ac75a7; background-color:#dfc5ff; background-image:radial-gradient(ellipse at 35% 22%,#fffaf26e,transparent 70%),repeating-linear-gradient(0deg,transparent 0,transparent 6px,#79476b10 6px,#79476b10 7px,transparent 7px,transparent 12px),repeating-linear-gradient(90deg,transparent 0,transparent 6px,#79476b10 6px,#79476b10 7px,transparent 7px,transparent 12px),conic-gradient(from 12deg at 48% 55%,#ffd0b9 0deg 90deg,#dfc5ff 90deg 180deg,#ffe594 180deg 270deg,#cde89f 270deg 360deg); background-size:100% 100%; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-canvas::before { border-color:#996181a6; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-thread-label { color:#653454; background:#fff3d5; border-color:#b582a0; box-shadow:1px 2px 0 #c99abc; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-preview-selection strong { color:#56305f; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-preview-selection>span,
.eoy-studio[data-studio-finish="candy"] .eoy-studio-preview figcaption { color:#68415e; }
.eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-create-bar strong,.eoy-studio-fieldset legend) { color:#56305f; }
.eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-create-bar p,.eoy-studio-control-help,.eoy-studio-model-toolbar>label,.eoy-studio-effort-note) { color:#694763; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-create-bar { border-color:#c5a0b6; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-fieldset legend>span { color:#56305f; border-color:#bd87b0; background:#efd9ff; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-create-bar [data-studio-random],
.eoy-studio[data-studio-finish="candy"] .eoy-studio-add { color:#fffaf2; border-color:#56305f; background:linear-gradient(110deg,#653268,#96375f); box-shadow:0 3px 0 #dc9ebc; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-create-bar [data-studio-restore] { color:#71386b; }
.eoy-studio[data-studio-finish="candy"] [data-studio-model-search] { color:#56305f; border-color:#bf91b1; background:#fffcf5; }
.eoy-studio[data-studio-finish="candy"] [data-studio-model-search]::placeholder { color:#785872; }
.eoy-studio[data-studio-finish="candy"] [data-studio-model-category] { color:#56305f; border-color:#c2a1b7; background:#ffedcd; }
.eoy-studio[data-studio-finish="candy"] [data-studio-model-category][aria-pressed="true"] { color:#fffaf2; border-color:#56305f; background:#56305f; box-shadow:0 2px 0 #c6a1c6; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-studio-model-card] { --studio-card-candy:#ffe0ca; --studio-card-yarn:#f0b699; color:#56305f; border-color:#ba89ac; background-color:var(--studio-card-candy); background-image:radial-gradient(#75456715 .65px,transparent .65px); background-size:6px 6px; box-shadow:0 2px 0 #c89bb633; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-model-category="nature"] { --studio-card-candy:#e0edb4; --studio-card-yarn:#b5d87c; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-model-category="fruit"] { --studio-card-candy:#ffebae; --studio-card-yarn:#edca68; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-model-category="shapes"] { --studio-card-candy:#e4d0ff; --studio-card-yarn:#c0a0ec; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-studio-model-card] .eoy-studio-model-icon { fill:var(--studio-card-yarn); stroke:#88587c; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-studio-model-card]::before { border-color:#a7799a; background:#fff8ee; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-studio-model-card]:has(input:checked) { color:#56305f; border-color:#56305f; background:#dfc5ff; box-shadow:inset 0 0 0 1px #56305f,0 3px 0 #be90be; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-studio-model-card]:has(input:checked)::after { color:#fffaf2; background:#56305f; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-studio-model-card]:has(input:checked) .eoy-studio-model-icon { fill:#c0a0ec; stroke:#774680; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-model-effort { color:#4b5933; background:#f9ffe6; }
.eoy-studio[data-studio-finish="candy"] [data-model-effort="detailed"] .eoy-studio-model-effort { color:#724063; background:#fff0f6; }
.eoy-studio[data-studio-finish="candy"] [data-studio-model-count] { color:#704762; }
.eoy-studio[data-studio-finish="candy"] [data-studio-model-rail] { scrollbar-color:#a56b97 #f1d5e8; }
.eoy-studio[data-studio-finish="candy"] [data-studio-model-rail]::-webkit-scrollbar-track { background:#f1d5e8; }
.eoy-studio[data-studio-finish="candy"] [data-studio-model-rail]::-webkit-scrollbar-thumb { border-color:#f1d5e8; background:#a56b97; }
.eoy-studio[data-studio-finish="candy"] :is([data-studio-model-prev],[data-studio-model-next]):not(:disabled) { color:#56305f; border-color:#b885a7; background:#f0d8fb; box-shadow:0 2px 0 #cba4c0; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-option:not([data-studio-model-card]) { color:#56305f; border-color:#c6a0b8; background:#fff4dd; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-option:not([data-studio-model-card]):has(input:checked) { color:#56305f; border-color:#794781; background:#ead0ff; box-shadow:inset 0 0 0 1px #794781; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-swatch--cream { background:#ffe6b7; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-swatch--lilac { background:#d5b1f2; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-swatch--sage { background:#c5dda2; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-swatch--peach { background:#ffc3a6; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-swatch--sky { background:#aedcf0; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-swatch--rose { background:#eda9c5; }
.eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-inspiration,.eoy-studio-extra-details) { border-color:#c794b4; background:#f5e1f4; }
.eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-inspiration,.eoy-studio-extra-details)>summary { color:#653764; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-selection { border-color:#a2b26d; background:#e5efbd; box-shadow:0 3px 0 #b7c481; }
.eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-selection-label,.eoy-studio-selection [data-studio-summary],.eoy-studio-price-note) { color:#43542f; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-price-note { border-color:#adbc89; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-summary-chips>div { border-color:#abbc82; background:#fff5dc; }
.eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-summary-chips dt,.eoy-studio-summary-chips dd) { color:#4e5633; }
.eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-brief-tools button,.eoy-studio-storage-note,.eoy-studio-feedback) { color:#604559; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-next-steps { border-color:#a8799f; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-next-steps>li>span { color:#56305f; border-color:#b58bab; background:#fff0c8; font-size:20px; }
.eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-next-steps strong,.eoy-studio-next-steps p) { color:#65405f; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-garden { position:absolute; inset:0; z-index:0; overflow:clip; pointer-events:none; user-select:none; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-garden * { pointer-events:none; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-yarn-route { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; opacity:.5; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-yarn-route path { fill:none; stroke:#b05d96; stroke-width:2.5; stroke-linecap:round; stroke-dasharray:3 5; }
.eoy-studio[data-studio-finish="candy"] [class*="eoy-studio-sticker--"] { --studio-sticker-angle:-6deg; position:absolute; display:block; width:64px; aspect-ratio:1; line-height:1; font-size:48px; transform:rotate(var(--studio-sticker-angle)); filter:drop-shadow(0 3px 0 #80516a24); animation:eoy-candy-bob 6s ease-in-out infinite; }
.eoy-studio[data-studio-finish="candy"] [class*="eoy-studio-sticker--"] svg { display:block; width:100%; height:100%; }
.eoy-studio[data-studio-finish="candy"] [class*="eoy-studio-sticker--"]>span { position:absolute; top:calc(100% + 3px); left:-5px; width:72px; padding:3px 4px; border:1px dashed #c28ba9; border-radius:8px; color:#754365; background:#fff4d8; font-family:inherit; font-size:10px; font-weight:650; line-height:1.5; text-align:center; transform:rotate(-4deg); }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-sticker--bear { top:33%; left:1%; width:60px; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-sticker--flower { --studio-sticker-angle:8deg; top:15px; right:5%; width:57px; animation-delay:-2s; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-sticker--yarn { --studio-sticker-angle:7deg; top:76%; left:1.2%; width:56px; animation-delay:-4s; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-sticker--heart { --studio-sticker-angle:-9deg; bottom:16px; right:3%; width:47px; animation-delay:-1s; }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-confetti { position:absolute; top:8px; right:1px; display:flex; align-items:center; gap:12px; color:#9d397b; font-size:22px; line-height:1; pointer-events:none; transform:rotate(7deg); }
.eoy-studio[data-studio-finish="candy"] .eoy-studio-confetti>span:nth-child(2) { transform:translateY(7px) rotate(-13deg); }
@keyframes eoy-candy-bob { 0%,100% { transform:translateY(0) rotate(var(--studio-sticker-angle)); } 50% { transform:translateY(-3px) rotate(calc(var(--studio-sticker-angle) + 2deg)); } }
@media(hover:hover) and (pointer:fine) {
  .eoy-studio[data-studio-finish="candy"] .eoy-studio-models [data-studio-model-card]:hover:not(:has(input:checked)) { border-color:#8b548c; background-color:var(--studio-card-candy); box-shadow:0 3px 0 #c795b844; }
  .eoy-studio[data-studio-finish="candy"] [data-studio-model-category]:hover:not([aria-pressed="true"]):not(:disabled) { color:#56305f; border-color:#a87699; background:#ffdeb9; }
  .eoy-studio[data-studio-finish="candy"] .eoy-studio-create-bar [data-studio-random]:hover:not(:disabled),
  .eoy-studio[data-studio-finish="candy"] .eoy-studio-add:hover:not(:disabled) { background:#56305f; }
}
@media(max-width:1200px) { .eoy-studio[data-studio-finish="candy"] :is(.eoy-studio-sticker--bear,.eoy-studio-sticker--yarn) { display:none; } }
@media(max-width:800px) {
  .eoy-studio[data-studio-finish="candy"] .eoy-studio-preview-toggle { color:#653d60; }
  .eoy-studio[data-studio-finish="candy"] .eoy-studio-yarn-route { opacity:.24; }
  .eoy-studio[data-studio-finish="candy"] .eoy-studio-sticker--flower { top:12px; right:5%; width:36px; }
  .eoy-studio[data-studio-finish="candy"] .eoy-studio-sticker--heart { bottom:10px; right:5%; width:32px; }
}
@media(max-width:600px) { .eoy-studio[data-studio-finish="candy"] .eoy-studio-confetti { display:none; } }
@media(prefers-reduced-motion:reduce) { .eoy-studio[data-studio-finish="candy"] [class*="eoy-studio-sticker--"] { animation:none!important; } }
