/* Cake Shop: warm bakery materials, distinct icing colors, short motion. */
.cake-shop{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff0f0;border:1px solid #efd4ce;border-radius:16px;padding:17px 18px;margin-bottom:22px;color:#753c41}
.cake-shop-tag{display:block;font-size:8px;line-height:1.5;letter-spacing:.14em;font-weight:800;color:#a56669}
.cake-shop strong{display:block;font:600 27px/1.25 Georgia,serif;margin:2px 0 4px}
.cake-shop small{font-size:11px;color:#926b6c;line-height:1.5;display:block}
.cake-shop-sizes{display:flex;gap:8px;flex-shrink:0}
.cake-size-button{min-height:53px;padding:8px 14px;background:#fffaf7;border:1px solid #e3c3bd;border-radius:11px;font-size:15px;font-weight:750;color:#794148}
.cake-size-button span{display:block;font-size:9px;font-weight:500;margin-top:4px}
.cake-size-button:hover,.cake-size-button.selected{background:#ad4861;color:white;border-color:#ad4861}
.cake-collection-heading{font-size:9px;font-weight:800;letter-spacing:.15em;color:#b3576a;margin:17px 11px 3px}
.cake-pack-card .pack-color{background:#fbe6e7!important;color:#ab4960!important}
.cake-pack-card.active{border-color:#ebc7cc;background:#fff8f7}
.cake-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cake-level-card{position:relative;aspect-ratio:auto;min-height:185px;border:1px solid #ebd9c9;background:linear-gradient(150deg,#fffdf6,#faf0e7);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:9px 8px 15px;overflow:hidden;border-radius:16px;color:#754736;transition:transform .16s,border-color .16s}
.cake-level-card:hover{transform:translateY(-3px);border-color:#c2827d;background:#fff6eb}
.cake-level-card.current{border:2px solid #b14e69;padding:8px 7px 14px}
.cake-level-card.solved{background:linear-gradient(150deg,#fff7ed,#f8e6e1);color:#874b4d}
.cake-card-number{position:absolute;top:12px;left:13px;font-size:11px;font-weight:750;color:#ad8a70}
.cake-portrait{display:block;overflow:hidden;flex:none;width:100%;height:100%}
.cake-level-card .cake-portrait{width:125px;height:120px;max-width:100%;margin-top:2px;filter:drop-shadow(0 5px 5px #6d38221a)}
.cake-card-name{font:600 15px/1.25 Georgia,serif;text-align:center;margin-top:2px}
.cake-card-note{font-size:9px;font-weight:500;color:#95755f;line-height:1.5;margin-top:6px}
.cake-recipe[hidden]{display:none}
.cake-recipe{display:flex;align-items:center;gap:11px;margin:-4px 0 19px;padding:6px 11px 6px 5px;min-height:69px;border-radius:14px;background:var(--cake-tint);border:1px solid color-mix(in srgb,var(--cake-accent) 15%,transparent)}
.cake-recipe>.cake-portrait{height:62px;width:68px;filter:drop-shadow(0 4px 4px #6d38221a);animation:cake-arrive .5s ease-out both}
.cake-recipe-copy{flex:1;min-width:0}
.cake-recipe-copy p{font-size:11px;line-height:1.5;margin-top:4px;color:var(--muted)}
.cake-recipe-size{flex:none;font-size:14px;font-weight:750;color:var(--cake-accent);font-variant-numeric:tabular-nums;line-height:1.5;text-align:center}
.cake-recipe-size span{display:block;letter-spacing:.1em;font-size:7px;color:var(--muted);font-weight:700}
body.cake-mode{--bg:#fcf7f1;--surface:#fffdf7;--ink:#563c32;--muted:#96796c;--line:#eddfd0;--accent:var(--cake-accent);--accent-soft:var(--cake-tint);--shadow:0 14px 40px #7540290a;background:radial-gradient(ellipse at 80% 0,var(--cake-tint),transparent 65%),var(--bg)}
.cake-mode .topbar{background:var(--cake-accent)}
.cake-mode .level-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:500;letter-spacing:-.025em}
.cake-mode .level-heading{margin-bottom:16px}
.cake-mode .board-shell{position:relative;isolation:isolate;background:linear-gradient(145deg,#fffdf5,#f8eddb);border:1px solid #e6cfb1;border-bottom:5px solid #d2b48d;box-shadow:0 5px 0 #ead8bc,0 16px 35px #8f582510;padding-top:22px}
.cake-mode .board{border-radius:9px;box-shadow:0 0 0 4px #e9d7b9,0 0 0 6px #fffaf0}
.cake-mode .board-message{color:#987852}
.cake-mode .hint-button{color:var(--cake-accent);border-color:color-mix(in srgb,var(--cake-accent) 25%,transparent)}
.cake-mode .hint-button .icon{color:var(--cake-accent)}
.cake-mode .primary{box-shadow:0 5px 13px #86492d18}
.cake-mode .metric-label{color:#a3826a}
.cake-mode .metrics strong{color:#72513c}
.cake-sprinkles{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:3;border-radius:inherit}
.cake-sprinkle{position:absolute;width:4px;height:9px;border-radius:3px;pointer-events:none;animation:cake-sprinkle .72s cubic-bezier(.18,.61,.45,1) both;box-shadow:inset 1px 0 #fff6}
.cake-win .win-art{display:none}
.cake-win-portrait{width:160px;height:143px;margin:-10px auto 6px;animation:cake-arrive .55s cubic-bezier(.2,.9,.25,1.25) both}
.cake-win .eyebrow{color:var(--cake-accent)}
.cake-win h2{font-family:Georgia,serif;font-weight:500;letter-spacing:-.02em}
.cake-win .stars{color:#ca932c}
@keyframes cake-arrive{from{opacity:0;transform:translateY(8px) rotate(-6deg) scale(.9)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes cake-sprinkle{0%{opacity:0;transform:translate(-50%,-50%) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(var(--spin)) scale(.65)}}
.dark .cake-shop{background:#3e2d32;border-color:#69444b;color:#f3c8c8}
.dark .cake-shop-tag{color:#c89c9e}
.dark .cake-shop small{color:#c5a3a3}
.dark .cake-size-button{background:#4e353b;border-color:#7b515a;color:#f3cfce}
.dark .cake-size-button.selected{background:#ad4861;color:#fff}
.dark .cake-level-card{background:linear-gradient(145deg,#453731,#302924);border-color:#735448;color:#f2d2b8}
.dark .cake-card-note{color:#c5a388}
.dark .cake-level-card.current{border-color:#e99db5}
.dark .cake-pack-card.active{background:#402d32;border-color:#77505a}
.dark body.cake-mode{--bg:#241e1b;--surface:#332925;--ink:#f4e1cd;--muted:#bea68d;--line:#564136;--cake-tint:#443033;--shadow:0 14px 40px #0002;background:var(--bg)}
.dark .cake-mode .board-shell{background:linear-gradient(145deg,#4b3a30,#382a22);border-color:#775b42;border-bottom-color:#2c2017;box-shadow:0 5px 0 #1c1510,0 16px 35px #0002}
.dark .cake-mode .board{box-shadow:0 0 0 4px #785c43,0 0 0 6px #3d3026}
.dark .cake-mode .board-message,.dark .cake-mode .metric-label{color:#bb9c7c}
.dark .cake-mode .metrics strong{color:#edcfaa}
.dark .cake-mode .hint-button{background:#443033}
.dark .cake-mode .hint-button,.dark .cake-mode .hint-button .icon{color:#f2b8c7}
.dark .cake-mode .cake-recipe{background:#3b2d28}
.dark .cake-mode .cake-recipe-size{color:#f0beab}
@media(max-width:480px){
  .cake-shop{padding:13px;gap:10px;margin-bottom:17px;flex-wrap:wrap}
  .cake-shop strong{font-size:24px}.cake-shop small{font-size:10px}
  .cake-shop-sizes{margin-left:auto}.cake-size-button{padding:8px 10px;font-size:13px;min-width:66px}
  .cake-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .cake-level-card{min-height:162px;padding-bottom:12px}
  .cake-level-card .cake-portrait{width:105px;height:103px}
  .cake-card-name{font-size:14px}.cake-card-number{left:10px;top:9px;font-size:10px}
  .cake-mode .level-heading h2{font-size:26px}.cake-mode .level-heading{margin-bottom:13px}
  .cake-mode .level-arrows{gap:5px}.cake-mode .pack-link{max-width:210px}
  .cake-recipe{gap:7px;margin:0 0 15px;padding-right:9px;min-height:62px}
  .cake-recipe>.cake-portrait{width:53px;height:52px}
  .cake-recipe-copy p{font-size:9px}.cake-recipe .cake-shop-tag{font-size:7px;letter-spacing:.08em}
  .cake-recipe-size{font-size:12px}.cake-recipe-size span{font-size:6px}
  .cake-mode .board-shell{padding:16px 15px 0;border-radius:15px}
  .cake-mode .board-message{font-size:10px}
  .cake-win-portrait{width:145px;height:130px}
}
@media(max-width:359px){.cake-mode .level-heading h2{font-size:23px}.cake-shop{gap:9px}.cake-shop-sizes{width:100%;margin-top:2px}.cake-size-button{flex:1}.cake-recipe-copy p{max-width:145px}.cake-recipe>.cake-portrait{width:45px}.cake-recipe-size{font-size:11px}}
@media(prefers-reduced-motion:reduce){.cake-portrait,.cake-win-portrait,.cake-sprinkle{animation:none!important}.cake-level-card{transition:none!important}.cake-sprinkles{display:none}}
