:root{--ink:#1d1d1b;--sky:#dff1ff;--paper:#fff;--frosting:#ff7eb6;--frosting-soft:#ffe3f0;--lemon:#ffd84d;--mint:#4fd1a0;--grape:#8d6bff;--muted:#5b6475;--off:#d9dde5;--danger:#c62828;--display:"Baloo 2", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--body:"Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--line:3px;--pop:4px 4px 0 var(--ink);--pop-sm:3px 3px 0 var(--ink);--radius:22px;--bounce:cubic-bezier(.34, 1.8, .5, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:600 16px/1.45 var(--body);color:var(--ink);background:var(--sky)}*{box-sizing:border-box}body{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--sky);-webkit-tap-highlight-color:transparent;margin:0;overflow-x:hidden}#app{z-index:1;max-width:960px;margin:0 auto;position:relative}h1,h2,legend{font-family:var(--display);text-wrap:balance;font-weight:800}h1{align-items:center;gap:12px;margin:4px 0 8px;font-size:2rem;line-height:1;display:flex}h1:before{content:"";border:var(--line) solid var(--ink);background:var(--lemon) url(../florks/flork-cake.svg) 50% 30% / 130% no-repeat;width:54px;height:54px;box-shadow:var(--pop-sm);transform-origin:50% 90%;border-radius:50%;flex:none;animation:2.6s ease-in-out infinite wave}h2{margin:8px 0;font-size:1.5rem;line-height:1.1}button{color:var(--ink)}:focus-visible{outline:3px dashed var(--grape);outline-offset:3px}.error{color:var(--danger)}.preview{aspect-ratio:1;border:var(--line) solid var(--ink);background:radial-gradient(circle at 50% 55%, var(--paper) 0 52%, #ffe9a8 53% 100%);width:100%;max-width:360px;box-shadow:var(--pop);object-fit:contain;border-radius:28px;margin:0 auto 16px;padding:6%;display:block}.palette{border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:var(--pop);flex-wrap:wrap;gap:10px;margin:0;padding:12px 14px 16px;display:flex}.palette legend{border:2px solid var(--ink);background:var(--lemon);border-radius:999px;padding:4px 12px 2px;font-size:1.05rem}.swatch{border:var(--line) solid var(--ink);width:46px;height:46px;box-shadow:var(--pop-sm);cursor:pointer;transition:transform .35s var(--bounce);border-radius:50%}.swatch:hover{transform:scale(1.12)rotate(-6deg)}.swatch:active{transform:scale(.9)}.swatch[aria-pressed=true]{box-shadow:0 0 0 4px var(--paper), 0 0 0 7px var(--ink);transform:scale(1.15)}.swatch.custom{background:conic-gradient(#ff5d5d,#ffd84d,#4fd1a0,#4fb3ff,#8d6bff,#ff7eb6,#ff5d5d)}.number-field{font-family:var(--display);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;font-size:1.15rem;font-weight:800;display:flex}.number-field input{border:var(--line) solid var(--ink);background:var(--paper);width:4.2ch;box-shadow:var(--pop-sm);color:var(--ink);font:800 2.2rem/1 var(--display);font-variant-numeric:tabular-nums;text-align:center;border-radius:16px;padding:6px 8px 2px}.number-field input:focus{background:var(--lemon)}.wheel-panel{width:100%;animation:pop-in .4s var(--bounce);flex-direction:column;align-items:center;gap:12px;padding-top:8px;display:flex}.wheel-panel[hidden]{display:none}.wheel{aspect-ratio:1;border:var(--line) solid var(--ink);width:min(240px,70vw);box-shadow:var(--pop);touch-action:none;cursor:crosshair;background:radial-gradient(closest-side,#fff,#0000),conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;position:relative}.wheel-shade{pointer-events:none;background:#000;border-radius:50%;position:absolute;inset:0}.wheel-knob{border:4px solid var(--paper);width:26px;height:26px;box-shadow:0 0 0 2px var(--ink);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.brightness{flex-direction:column;gap:6px;width:min(240px,70vw);font-weight:800;display:flex}.brightness input{border:2px solid var(--ink);appearance:none;background:linear-gradient(to right, #000, var(--full,#fff));border-radius:999px;width:100%;height:18px}.brightness input::-webkit-slider-thumb{appearance:none;border:var(--line) solid var(--ink);background:var(--paper);border-radius:50%;width:28px;height:28px}.brightness input::-moz-range-thumb{border:var(--line) solid var(--ink);background:var(--paper);border-radius:50%;width:22px;height:22px}.wheel-hex{border:2px solid var(--ink);background:var(--paper);border-radius:999px;padding:4px 12px;font-family:ui-monospace,monospace}.editor{gap:16px;display:grid}.mini-preview{aspect-ratio:1;border:var(--line) solid var(--ink);background:var(--paper);width:120px;box-shadow:var(--pop-sm);border-radius:18px;padding:6px}@media (width>=600px){.editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.preview{margin:0;position:sticky;top:16px}.mini-preview{display:none}}.controls .palette+.palette{margin-top:20px}.sprinkles{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sprinkles i{border:2px solid var(--ink);opacity:.5;border-radius:4px;width:22px;height:7px;animation:9s ease-in-out infinite alternate drift;position:absolute}.confetti{z-index:20;border:2px solid var(--ink);pointer-events:none;border-radius:3px;width:10px;height:14px;position:fixed}@keyframes wave{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-12deg)}80%{transform:rotate(10deg)}90%{transform:rotate(-6deg)}}@keyframes drift{0%{transform:translateY(0) rotate(var(--rot,0deg))}to{transform:translateY(-26px) rotate(calc(var(--rot,0deg) + 50deg))}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.hint{max-width:65ch;color:var(--muted)}.link{border:var(--line) solid var(--ink);background:var(--paper);min-height:44px;box-shadow:var(--pop-sm);font:800 1rem/1 var(--display);cursor:pointer;border-radius:999px;align-items:center;padding:8px 16px 6px;transition:transform .12s;display:inline-flex}.link:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;padding-bottom:120px;display:grid}.card{border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:var(--pop);font:inherit;color:inherit;transition:transform .35s var(--bounce), background .2s;flex-direction:column;align-items:center;gap:4px;padding:8px 8px 12px;display:flex;position:relative}button.card{cursor:pointer}button.card:hover{transform:rotate(-2deg)translateY(-3px)}button.card:nth-child(2n):hover{transform:rotate(2deg)translateY(-3px)}button.card:active{box-shadow:1px 1px 0 var(--ink);transform:scale(.93)}.card[aria-pressed=true]{background:var(--frosting-soft)}button.card:after{content:"✓";border:var(--line) solid var(--ink);background:var(--mint);width:36px;height:36px;font:800 1.1rem/1 var(--display);transition:transform .4s var(--bounce);border-radius:50%;place-items:center;display:grid;position:absolute;top:-12px;right:-12px;transform:scale(0)}button.card[aria-pressed=true]:after{transform:scale(1)}.card-image{aspect-ratio:1;object-fit:contain;width:100%;animation:3s ease-in-out infinite bob}.card:nth-child(3n+1) .card-image{animation-delay:-1s}.card:nth-child(3n+2) .card-image{animation-delay:-2s}.card-name{font:800 1.05rem/1.1 var(--display);text-align:center}.card-edit{width:100%;font:inherit;color:inherit;cursor:pointer;transition:transform .35s var(--bounce);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;display:flex}.card-edit:hover{transform:rotate(-2deg)scale(1.03)}.card-edit:active{transform:scale(.94)}.copies{font:800 1rem/1 var(--display);justify-content:center;align-items:center;gap:6px;display:flex}.copies input{border:var(--line) solid var(--ink);background:var(--lemon);width:2.6em;color:var(--ink);font:800 1.3rem/1 var(--display);font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;border-radius:12px;padding:6px 6px 3px}.copies input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.copies input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.action-bar{z-index:5;padding:18px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom, transparent, var(--sky) 40%);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.summary{border:2px solid var(--ink);background:var(--paper);font:800 1rem/1 var(--display);border-radius:999px;padding:8px 14px 6px}.primary{border:var(--line) solid var(--ink);background:var(--frosting);min-height:52px;box-shadow:0 6px 0 var(--ink);color:var(--ink);font:800 1.2rem/1 var(--display);cursor:pointer;border-radius:999px;padding:14px 28px 11px;transition:transform .12s,box-shadow .12s}.primary:active{box-shadow:0 1px 0 var(--ink);transform:translateY(5px)}.primary:disabled{background:var(--off);color:var(--muted);box-shadow:0 6px 0 var(--ink);cursor:default;transform:none}.common-settings{border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:var(--pop);flex-direction:column;gap:14px;margin:12px 0 24px;padding:16px;display:flex}.option-toggle{min-height:44px;font-family:var(--display);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:1.1rem;font-weight:800;line-height:1.2;display:flex}.option-toggle input{box-sizing:border-box;border:var(--line) solid var(--ink);appearance:none;background:radial-gradient(circle, var(--paper) 0 9px, var(--ink) 9.5px 11.5px, transparent 12px) left center / 28px 28px no-repeat var(--off);cursor:pointer;width:58px;height:34px;transition:background-position .35s var(--bounce), background-color .2s;border-radius:999px;flex:none;margin:0;padding:0}.option-toggle input:checked{background-color:var(--mint);background-position:100%}.option .palette{box-shadow:var(--pop-sm);animation:pop-in .4s var(--bounce);margin:8px 0 4px}.age-field .number-field{margin:4px 0 0}.option>[hidden]{display:none}.common-settings>.hint,.age-field .hint{margin:0;font-size:.9rem}@keyframes bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-1.5deg)}}.print-layout{flex-direction:column;display:flex}.print-layout .cake-preview{order:-1}@media (width>=900px){.print-layout{grid-template-columns:1fr minmax(320px,40%);align-items:start;gap:24px;display:grid}.print-layout .cake-preview{order:0;margin-top:0;position:sticky;top:16px}}.cake-preview{border:var(--line) solid var(--ink);border-radius:var(--radius);background:radial-gradient(circle at 50% 30%, var(--paper), var(--frosting-soft));width:100%;max-width:560px;box-shadow:var(--pop);margin:10px auto 18px;padding:6px 8px 2px;position:relative}.cake-preview svg{width:100%;height:auto;max-height:60vh;display:block;overflow:visible}.cake-stand{fill:#eaf6ff;stroke:var(--ink);stroke-width:1.5px}.cake-side{fill:#fff4e3;stroke:var(--ink);stroke-width:1.8px}.cake-top{fill:#fffaf1;stroke:var(--ink);stroke-width:1.8px}.pick{stroke:#c79a5b;stroke-width:1.6px;stroke-linecap:round}.topper{transform-box:fill-box;transform-origin:50% 100%}.topper.pop-in{animation:topper-pop .45s var(--bounce) both}.cake-more{border:2px solid var(--ink);background:var(--lemon);font:800 .9rem/1 var(--display);border-radius:999px;padding:5px 10px 3px;position:absolute;bottom:10px;right:12px}.copies .step{border:var(--line) solid var(--ink);background:var(--paper);width:34px;height:34px;box-shadow:2px 2px 0 var(--ink);color:var(--ink);font:800 1.3rem/1 var(--display);cursor:pointer;border-radius:50%}.copies .step:active{box-shadow:none;transform:translate(2px,2px)}@keyframes topper-pop{0%{transform:scale(0)}}.cake-mini{z-index:6;border:var(--line) solid var(--ink);background:radial-gradient(circle at 50% 30%, var(--paper), var(--frosting-soft));width:78px;height:78px;box-shadow:var(--pop-sm);cursor:pointer;animation:pop-in .3s var(--bounce);border-radius:50%;padding:6px;display:none;position:fixed;top:10px;right:10px}.cake-mini svg{width:100%;height:100%;max-height:none}.cake-mini.bump{animation:mini-bump .4s var(--bounce)}@media (width<=899px){.cake-preview.away .cake-mini{display:block}}@keyframes mini-bump{40%{transform:scale(1.18)rotate(-6deg)}}.lang-button{z-index:7;border:var(--line) solid var(--ink);background:var(--paper);width:56px;height:44px;box-shadow:var(--pop-sm);cursor:pointer;border-radius:14px;place-items:center;padding:0;transition:transform .12s;display:grid;position:absolute;top:16px;right:16px}.lang-button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.lang-button .flag{width:36px}#app>h1:first-child{padding-right:72px}.flag{aspect-ratio:3/2;border:2px solid var(--ink);border-radius:5px;flex:none;height:auto;display:block}.lang-dialog{border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--paper);width:min(420px,100% - 32px);max-height:calc(100% - 32px);color:var(--ink);box-shadow:var(--pop);animation:pop-in .3s var(--bounce);padding:0}.lang-dialog::backdrop{background:#1d1d1b73}.lang-box{padding:20px}.lang-box h2{text-align:center;margin:0 0 14px}.lang-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.lang-item{border:var(--line) solid var(--ink);background:var(--paper);min-height:48px;box-shadow:var(--pop-sm);font:800 1rem/1.1 var(--body);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:8px 12px;transition:transform .12s;display:flex}.lang-item .flag{width:32px}.lang-item:hover{background:var(--frosting-soft)}.lang-item:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.lang-item[aria-current=true]{background:var(--lemon)}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(./baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(./nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}
