@font-face{font-family:SweetSerif;src:local("Georgia");font-display:swap}

:root{--cream:#fffaf3;--paper:#fffdf8;--rose:#b9637d;--ink:#704553;--muted:#a47a84;--line:#efdae0;--pink:#f7dce2;--deep:#a75270;--gold:#cda66c;--shadow:0 14px 45px #8d455314;--ui:"Trebuchet MS",Arial,sans-serif;--serif:SweetSerif,Georgia,"Times New Roman",serif}

*{box-sizing:border-box}
body{margin:0;color:var(--ink);font-family:var(--ui);background:#fcf4ef;background-image:radial-gradient(ellipse at 9% 1%,#f9dbe285,transparent 48%),radial-gradient(ellipse at 100% 90%,#f5e8d7,transparent 45%);font-size:14px;min-width:320px;min-height:100vh}
button,input{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent;color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,#cake-stage:focus-visible{outline:3px solid #bc789a;outline-offset:4px}
button:disabled{opacity:.4;cursor:default}
.raster-icon{display:inline-block;width:18px;height:18px;flex:none;background-image:url("assets/ui-atlas.png");background-repeat:no-repeat;background-size:var(--icon-scale,400%) var(--icon-scale,400%);background-position:var(--icon-x,0) var(--icon-y,0);vertical-align:middle;pointer-events:none;user-select:none}
.icon-cake{--icon-scale:382.089552%;--icon-x:2.116402%;--icon-y:3.703704%}
.icon-heart{--icon-scale:465.454545%;--icon-x:34.328358%;--icon-y:8.457711%}
.icon-star{--icon-scale:474.074074%;--icon-x:64.356436%;--icon-y:7.920792%}
.icon-blossom{--icon-scale:412.903226%;--icon-x:97.422680%;--icon-y:7.216495%}
.icon-speaker{--icon-scale:412.903226%;--icon-x:3.092784%;--icon-y:38.144330%}
.icon-undo{--icon-scale:449.122807%;--icon-x:34.673367%;--icon-y:38.190955%}
.icon-trash{--icon-scale:426.666667%;--icon-x:66.326531%;--icon-y:36.734694%}
.icon-wand{--icon-scale:457.142857%;--icon-x:96.500000%;--icon-y:35.000000%}
.icon-candle{--icon-scale:387.878788%;--icon-x:1.578947%;--icon-y:64.736842%}
.icon-piping{--icon-scale:457.142857%;--icon-x:34.500000%;--icon-y:64.000000%}
.icon-gift{--icon-scale:474.074074%;--icon-x:64.851485%;--icon-y:64.356436%}
.icon-download{--icon-scale:441.379310%;--icon-x:96.969697%;--icon-y:65.656566%}
.icon-left{--icon-scale:441.379310%;--icon-x:3.030303%;--icon-y:96.969697%}
.icon-right{--icon-scale:441.379310%;--icon-x:34.848485%;--icon-y:96.969697%}
.icon-play{--icon-scale:492.307692%;--icon-x:64.705882%;--icon-y:94.117647%}
.icon-sparkle{--icon-scale:426.666667%;--icon-x:97.959184%;--icon-y:96.938776%}
button{transition:background .16s,transform .16s,box-shadow .16s}
button:active{transform:translateY(1px)}
.app-shell{max-width:1180px;padding:0 24px;margin:auto}
.topbar{height:108px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.brand-seal{position:relative;width:54px;height:54px;border:1px solid #e1b6c4;outline:4px solid #f9e5e8;border-radius:50%;background:#fff7f4;display:grid;place-items:center}
.brand-seal>.icon-cake{width:35px;height:35px}
.seal-spark{position:absolute;right:-5px;top:0;width:19px;height:19px}
.brand-name{font-family:var(--serif);font-size:26px;font-weight:normal;display:block;letter-spacing:-.7px}
.brand-name i{font-weight:normal;color:var(--rose)}
.brand-caption{display:block;font-size:9px;letter-spacing:2.6px;font-weight:bold;margin-top:7px;color:var(--muted)}
.header-controls{display:flex;align-items:center;gap:17px}
.studio-pill{border:1px solid var(--line);border-radius:30px;padding:10px 15px;background:#fffaf5;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}
.studio-pill>span{width:5px;height:5px;border-radius:50%;background:#c990a5}
.round-button{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:#fffaf5;display:grid;place-items:center}
.round-button[aria-pressed="true"]{background:var(--pink);color:var(--deep)}

.studio{display:grid;grid-template-columns:minmax(0,1fr)318px;gap:24px;padding:18px;border:1px solid #e7c9d2;border-radius:22px;background:var(--paper);box-shadow:var(--shadow);position:relative}
.studio::before{content:"";position:absolute;inset:5px;border:1px dashed #f0dce0;border-radius:18px;pointer-events:none}
.scene-panel{min-width:0;position:relative}
.scene-topline{display:flex;align-items:center;justify-content:space-between;height:35px;padding:0 7px 10px;color:var(--muted);font-size:9px;letter-spacing:2px;font-weight:bold}
.scene-spark{width:24px;height:24px}
#cake-stage{position:relative;width:100%;aspect-ratio:1.15;background:#f9eadb url("assets/party-room.png") center/100% 100% no-repeat;border-radius:14px;overflow:hidden;isolation:isolate;touch-action:none;box-shadow:inset 0 0 0 1px #edcfc985;cursor:crosshair}
#cake-art{position:absolute;width:64%;height:auto;left:18%;top:20%;z-index:4;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(3px 7px 7px #834c4720)}
#icing-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}
#decoration-layer{z-index:7;position:absolute;inset:0;pointer-events:none}
.birthday-banner{position:absolute;left:25%;right:25%;top:6%;text-align:center;z-index:3;pointer-events:none;color:#aa6680;text-shadow:0 1px 5px #fff7e6;font-family:var(--serif)}
.birthday-banner>span:first-child{font-size:clamp(15px,2vw,24px);font-style:italic;display:block}
.birthday-banner strong{font-weight:normal;font-size:clamp(27px,3.6vw,46px);letter-spacing:-1px;line-height:1.05;display:block;overflow-wrap:anywhere}
.banner-flourish{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}
.banner-flourish .raster-icon{width:16px;height:16px}
.scene-corner{position:absolute;left:4%;bottom:4%;z-index:10;font-family:var(--serif);font-style:italic;font-size:12px;color:#a47a73;pointer-events:none}
.scene-corner .raster-icon{display:block;width:22px;height:22px;margin:3px auto 0}
.scene-toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px 3px 11px;gap:10px}
.edit-actions{display:flex;gap:18px}
.text-button{display:inline-flex;gap:7px;align-items:center;justify-content:center;border:0;background:transparent;padding:5px 0;font-size:11px;color:var(--muted)}
.text-button:hover{color:var(--deep)}
.text-button .raster-icon{width:18px;height:18px}
.surprise-button{display:flex;gap:7px;align-items:center;background:#faf1e7;border:1px solid #edd9c3;border-radius:9px;padding:9px 12px;font-size:11px;color:#9c784f}
.surprise-button:hover{background:#f5e7d7}
.surprise-button .raster-icon{width:19px;height:19px}
.ambience-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #f2e6e5;padding:10px 0 0}
#lighting-controls{display:flex;gap:3px;background:#f8f0eb;padding:3px;border-radius:8px}
#lighting-controls button{border:0;background:transparent;color:#a58386;font-size:10px;padding:6px 8px;border-radius:6px;display:flex;align-items:center;gap:5px}
#lighting-controls .is-selected{background:#fffdf8;color:#a96c77;box-shadow:0 1px 4px #9d62631a}
.world-section-label{display:inline-flex;align-items:center;gap:7px}
.world-section-label .raster-icon{width:17px;height:17px}
.ambience-bar #motion-button{padding-right:3px;font-size:10px}

.decorating-panel{position:relative;padding:14px 5px 0 0;display:flex;flex-direction:column}
.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:bold;color:var(--muted)}
.tray-heading h1{font-family:var(--serif);font-size:34px;letter-spacing:-1px;font-weight:normal;margin:9px 0 8px;line-height:1.12}
.tray-heading h1 i{color:var(--rose);font-weight:normal}
.tray-heading p{font-size:11px;letter-spacing:.1px;color:var(--muted);margin:0 0 22px}
#category-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}
#category-tabs button{background:transparent;border:1px solid transparent;border-radius:10px;padding:9px 1px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#b09099;font-size:10px}
#category-tabs button .raster-icon{height:28px;width:28px}
#category-tabs .is-selected{background:#fbe9ee;border-color:#f2d6df;color:var(--deep)}
#category-tabs button:hover{background:#fdf0f2}
.choice-title{display:flex;justify-content:space-between;align-items:center}
.choice-title h2{font-family:var(--serif);font-size:18px;font-weight:normal;margin:0}
.choice-title>.raster-icon{width:24px;height:24px}
#tray-subtitle{font-size:10px;color:var(--muted);margin:5px 0 15px;line-height:1.5}
#item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.item-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:126px;border:1px solid #ebded8;border-radius:12px;background:#fcf6ee;padding:7px;touch-action:none;overflow:hidden}
.item-card:nth-child(2){background:#fff0f3}
.item-card:nth-child(3){background:#f6f0fb}
.item-card:nth-child(4){background:#f6eee6}
.item-card:hover{border-color:#d3a4b3;background:#f9e8ee;transform:translateY(-2px)}
.item-card.is-selected{border:1.5px solid #c57c99;box-shadow:0 0 0 2px #f6e1e8}
.item-card.is-selected:after{content:"";position:absolute;right:7px;top:7px;width:18px;height:18px;background:url("assets/ui-atlas.png") 97.959184% 96.938776%/426.666667% 426.666667% no-repeat}
.item-preview{width:78px;height:78px;display:grid;place-items:center}
.item-preview img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.item-name{font-size:11px;color:var(--ink);display:block;margin-top:5px}
.item-note{font-size:8px;color:var(--muted);display:block;margin-top:3px;letter-spacing:.5px}
.piping-tools{border-top:1px dashed #e6d2d8;margin-top:18px;padding-top:13px}
#pipe-button{background:#fff8f4;border:1px solid #e8d4da;display:flex;align-items:center;gap:8px;width:100%;padding:11px;border-radius:9px;font-size:11px}
#pipe-button>.icon-piping{width:22px;height:22px}
#pipe-button .tiny-plus{margin-left:auto;width:16px;height:16px}
#pipe-button[aria-pressed="true"]{background:#f5dce7;border-color:#c991a7}
.swatch-row{display:flex;align-items:center;justify-content:space-between;margin-top:11px;font-size:9px;color:var(--muted)}
#color-swatches{display:flex;gap:6px}
.swatch{width:20px;height:20px;padding:0;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #dfccd3}
.swatch.is-selected{box-shadow:0 0 0 2px #c487a0;outline:none}
.swatch[aria-pressed="true"]{box-shadow:0 0 0 2px #c487a0}
#tool-hint{font-size:9px;line-height:1.6;color:#a48891;margin:14px 0 17px;min-height:29px;display:flex;align-items:center;padding:0 7px;border-left:2px solid #edd0dc}
.party-label{margin-top:auto;padding-top:6px}
.party-label label{font-size:8px;letter-spacing:1.8px;color:var(--muted);font-weight:bold;display:block;margin-bottom:8px}
.name-field{display:flex;align-items:center;gap:9px;border:1px solid #ecd8de;border-radius:9px;background:#fffaf7;padding:9px 11px}
.name-field span{color:#ce9aab}
.name-field input{border:0;background:transparent;min-width:0;flex:1;outline:none;color:var(--ink);font-family:var(--serif);font-size:16px}
.name-field:focus-within{border-color:#c487a0;box-shadow:0 0 0 2px #f3dbe5}
.finish-actions{display:flex;flex-direction:column;gap:8px;margin-top:15px}
.primary-button{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #ba718d;border-radius:11px;background:#bb7893;background-image:linear-gradient(135deg,#ca8aa0,#ae6b8a);color:white;font-size:13px;letter-spacing:.4px;font-weight:bold;padding:14px 15px;box-shadow:0 4px 9px #ae668325,inset 0 1px 0 #ffffff35}
.primary-button:hover{background:#ad6784;box-shadow:0 5px 12px #ae66833b;transform:translateY(-1px)}
.primary-button .raster-icon{width:22px;height:22px}
.save-button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e5d1d8;border-radius:10px;padding:11px;background:#fffcf8;color:#9d7382;font-size:10px}
.save-button:hover{background:#faeef2}
.save-button .raster-icon{width:20px;height:20px}
.tray-footnote{text-align:center;font-family:var(--serif);font-style:italic;color:#b2959d;font-size:11px;margin:11px 0 3px}
.page-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4px;font-size:9px;color:#b28f96}
.page-footer>span:first-child{font-family:var(--serif);font-style:italic;font-size:11px}
.page-footer>span:last-child{font-size:8px;letter-spacing:1.5px}
.page-footer .footer-heart{width:17px;height:17px;margin-left:6px}

.cake-decoration{background:transparent;border:0;padding:0;display:block;pointer-events:auto;touch-action:none;cursor:grab;outline:none;filter:drop-shadow(1px 3px 1px #75433226);z-index:7}
.cake-decoration:active{cursor:grabbing}
.cake-decoration:focus-visible{outline:1px dashed #9d607e;border-radius:8px}
.cake-decoration.is-selected{outline:1px dashed #b57a91;border-radius:8px}
.sticker-image{display:block;width:100%;height:100%;pointer-events:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.candle-flame{position:absolute;left:50%;top:-18%;width:28%;height:23%;object-fit:contain;background:transparent;border:0;transform:translateX(-50%);opacity:0;pointer-events:none;user-select:none}
.lit .candle-flame,.cake-decoration.lit .candle-flame{opacity:1;animation:flicker .7s ease-in-out infinite alternate}
@keyframes flicker{to{transform:translateX(-50%) rotate(-3deg) scale(.96,1.04)}
}
.drag-ghost{pointer-events:none;position:fixed;z-index:100;opacity:.85;filter:drop-shadow(0 5px 5px #75433230)}
#confetti-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:90}
.confetti-piece{position:absolute;width:12px;height:auto;object-fit:contain;background:transparent;border:0;animation:confetti-fall var(--duration,3s) linear forwards}
@keyframes confetti-fall{from{transform:translateY(-10vh) rotate(0)}
to{transform:translateY(110vh) rotate(700deg)}
}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,18px);z-index:150;border:1px solid #e5c5d0;border-radius:12px;background:#fffbf5;box-shadow:0 8px 32px #6b36502b;color:#9d647c;font-size:12px;max-width:90vw;padding:13px 21px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
#toast.is-visible,#toast.visible,#toast.show{opacity:1;transform:translate(-50%,0)}
dialog{border:1px solid #dcaebb;border-radius:24px;background:#fffaf3;padding:40px 35px 28px;text-align:center;max-width:440px;width:calc(100% - 36px);color:var(--ink);box-shadow:0 20px 70px #61405330}
dialog::backdrop{background:#62435050;backdrop-filter:blur(3px)}
.wish-decoration{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:19px}
.wish-decoration .raster-icon{width:30px;height:30px}
dialog h2{font-family:var(--serif);font-size:31px;font-weight:normal;margin:15px 0}
dialog h2 i{color:var(--rose);font-weight:normal}
dialog p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:24px}
dialog .primary-button{width:100%}
dialog .text-button{margin-top:16px;font-size:11px}

body[data-theme="garden"]{--rose:#8a9b80;--deep:#718566;--pink:#e8efe1;--line:#e0e4d7}
body[data-theme="garden"] .primary-button{background-image:linear-gradient(135deg,#9da888,#829273);border-color:#829273}
body[data-theme="garden"] #category-tabs .is-selected{background:#eff2e7;border-color:#d5deca}
body[data-theme="twilight"]{--rose:#9782ae;--deep:#88709f;--pink:#e8e0f0;--line:#e4dae9}
body[data-theme="twilight"] .primary-button{background-image:linear-gradient(135deg,#ac90bc,#8f78ab);border-color:#937aa9}
body[data-theme="twilight"] #category-tabs .is-selected{background:#f1ebf6;border-color:#ddd0e7}

@media(min-width:801px) and (max-height:950px){.app-shell{max-width:1050px}
.topbar{height:89px}
.studio{grid-template-columns:minmax(0,1fr)294px;gap:18px;padding:15px}
.decorating-panel{padding-top:8px}
.tray-heading h1{font-size:29px;margin:6px 0}
.tray-heading p{margin-bottom:15px}
#category-tabs{padding-bottom:9px;margin-bottom:11px}
#category-tabs button{padding:7px 1px;gap:5px}
#category-tabs button .raster-icon{height:25px;width:25px}
.item-card{min-height:105px}
.item-preview{width:61px;height:61px}
#tray-subtitle{margin-bottom:11px}
.piping-tools{margin-top:13px;padding-top:10px}
#pipe-button{padding:8px}
.swatch-row{margin-top:8px}
#tool-hint{margin:10px 0 8px;min-height:27px}
.finish-actions{margin-top:11px}
.primary-button{padding:11px}
.save-button{padding:9px}
.scene-topline{height:28px;font-size:8px}
.scene-toolbar{padding:11px 3px 9px}
.page-footer{padding:16px 4px}
.tray-footnote{margin-top:9px}
}

@media(max-width:800px){.app-shell{padding:0 14px;max-width:650px}
.topbar{height:88px}
.brand-name{font-size:22px}
.brand-seal{width:43px;height:43px;outline-width:3px}
.brand-seal>.icon-cake{width:29px;height:29px}
.brand{gap:11px}
.brand-caption{font-size:7px;letter-spacing:1.8px;margin-top:5px}
.studio-pill{display:none}
.round-button{width:34px;height:34px}
.studio{grid-template-columns:1fr;gap:12px;padding:12px;border-radius:18px}
.scene-topline{height:26px;font-size:8px;padding:0 3px 8px}
.scene-panel{order:0}
.decorating-panel{padding:5px 3px 0}
.tray-heading{display:none}
#category-tabs{padding-bottom:9px;margin-bottom:12px;gap:7px}
#category-tabs button{flex-direction:row;justify-content:center;gap:6px;font-size:11px;padding:10px 2px}
#category-tabs button .raster-icon{width:24px;height:24px}
.tray-content{position:relative}
#item-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.item-card{min-height:110px;padding:6px 3px}
.item-preview{width:64px;height:64px}
.item-name{font-size:10px}
.item-note{font-size:7px;letter-spacing:0}
.piping-tools{margin-top:15px;display:flex;align-items:center;gap:15px;border-top:0;padding-top:0}
#pipe-button{width:auto;flex:1;min-width:0;padding:10px;font-size:10px}
.swatch-row{margin:0;gap:11px}
.swatch-row>span{display:none}
.swatch{width:21px;height:21px}
#tool-hint{min-height:20px;margin:12px 0 15px;font-size:10px}
.party-label{padding-top:9px;border-top:1px dashed #e8d4da;display:flex;align-items:center;gap:14px}
.party-label label{max-width:98px;font-size:8px;line-height:1.6;margin:0}
.name-field{flex:1}
.finish-actions{flex-direction:row;margin-top:14px}
.finish-actions>button{flex:1}
.primary-button{font-size:12px;padding:13px}
.save-button{font-size:11px}
.tray-footnote{margin:13px 0 4px}
.scene-toolbar{padding:11px 2px 9px}
.scene-toolbar .text-button{font-size:10px}
.edit-actions{gap:14px}
.surprise-button{padding:8px 10px;font-size:10px}
.ambience-bar{padding-top:9px}
#lighting-controls button{font-size:9px;padding:5px 7px}
.page-footer{padding:17px 4px;text-align:center;justify-content:center}
.page-footer>span:last-child{display:none}
.birthday-banner>span:first-child{font-size:21px}
.birthday-banner strong{font-size:37px}
.banner-flourish .raster-icon{width:14px;height:14px}
.scene-corner{font-size:10px}
}

@media(max-width:420px){.app-shell{padding:0 8px}
.topbar{height:76px;padding:0 8px}
.brand-name{font-size:19px}
.brand-caption{font-size:6px;letter-spacing:1.6px}
.brand-seal{width:37px;height:37px}
.brand{gap:10px}
.studio{padding:9px;gap:9px}
.scene-topline{font-size:7px;letter-spacing:1.5px;height:24px}
.birthday-banner>span:first-child{font-size:16px}
.birthday-banner strong{font-size:29px}
.banner-flourish{margin-top:2px;gap:5px}
.banner-flourish .raster-icon{width:12px;height:12px}
#category-tabs{gap:3px}
#category-tabs button{font-size:10px;padding:8px 2px}
#category-tabs button .raster-icon{width:22px;height:22px}
.choice-title h2{font-size:17px}
#tray-subtitle{font-size:9px;margin-bottom:10px}
#item-grid{gap:6px}
.item-card{min-height:99px}
.item-preview{width:54px;height:54px}
.item-name{font-size:9px}
.item-note{font-size:6px}
.item-card.is-selected:after{width:13px;height:13px;right:4px;top:4px;font-size:8px}
.piping-tools{gap:9px}
#pipe-button{font-size:9px;padding:9px 7px;gap:5px}
#pipe-button>.icon-piping{width:18px;height:18px}
#color-swatches{gap:5px}
.swatch{width:18px;height:18px}
.scene-toolbar .text-button{font-size:9px}
.edit-actions{gap:10px}
.surprise-button{font-size:9px;padding:7px 8px}
.ambience-bar #motion-button{font-size:9px}
#lighting-controls button{font-size:8px;padding:5px 6px}
.scene-corner{font-size:8px}
.scene-corner .raster-icon{width:16px;height:16px}
.party-label label{font-size:7px;max-width:85px}
.party-label{gap:11px}
.finish-actions{gap:7px}
.finish-actions .primary-button{font-size:11px}
.page-footer>span:first-child{font-size:10px}
}

.theme-orb{display:grid;place-items:center;width:61px;height:61px;border:4px solid #ffffff99;border-radius:50%;box-shadow:inset 0 2px 10px #ffffff77,0 5px 10px #8b627a1c;color:white;font-family:var(--serif);font-size:29px;text-shadow:0 2px 4px #8b627a35}
.theme-orb .raster-icon{width:43px;height:43px}

.item-preview{position:relative;flex:none}
.item-preview img{position:absolute;inset:0;min-width:0;min-height:0;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
body{min-width:280px}
.decorating-panel{min-width:0}
.name-field{min-width:0}
@media(max-width:800px){.studio{grid-template-columns:minmax(0,1fr)}.finish-actions>button{min-width:0}}
@media(max-width:350px){.brand-name{font-size:16px}.brand-caption{font-size:5px;letter-spacing:1.1px}.brand{gap:8px}.header-controls{gap:6px}.piping-tools{gap:5px}#pipe-button{font-size:8px}.swatch{width:16px;height:16px}#color-swatches{gap:4px}#lighting-controls button{padding:5px 4px}}

#cake-stage[data-lighting="night"] .birthday-banner{color:#ffe5d5;text-shadow:0 2px 6px #53384880}

#cake-stage[data-lighting="night"] .banner-flourish{color:#ebc993}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

