@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/assets/fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--island-cream:#fdf6e3;--island-dot:#ecdfc1;--island-white:#fff;--island-cocoa:#5a4636;--island-bark:#8a7562;--island-sand:#e6d6b8;--island-sun:#f7c948;--island-sun-shade:#d9a92a;--island-butter:#fff1c2;--island-leaf:#6cc08b;--island-leaf-shade:#4fa772;--island-sky:#7cc6e6;--island-sky-shade:#4fa3c7;--island-coral:#ef8a6f;--island-coral-shade:#c9604a;--island-rose:#ff9fb3;--bg:var(--island-cream);--bg-dot:var(--island-dot);--table:#f5ecd4;--surface:var(--island-white);--surface-sunk:#f7efdc;--text:var(--island-cocoa);--text-muted:var(--island-bark);--outline:var(--island-cocoa);--lift:var(--island-sand);--accent:var(--island-sun);--accent-shade:var(--island-sun-shade);--accent-light:var(--island-butter);--on-accent:var(--island-cocoa);--good:var(--island-leaf);--good-shade:var(--island-leaf-shade);--info:var(--island-sky);--info-shade:var(--island-sky-shade);--danger:var(--island-coral-shade);--love:var(--island-rose);--frame:var(--surface);--r-sm:12px;--r-md:18px;--r-lg:28px;--r-pill:999px;--lift-sm:4px;--lift-md:6px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font-display:"Fredoka", "Nunito", ui-rounded, system-ui, sans-serif;--font-body:"Nunito", ui-rounded, system-ui, sans-serif;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:32px;--fs-3xl:44px;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.12s;--t-med:.22s;--t-slow:.42s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#2a2233;--bg-dot:#362c41;--table:#231c2b;--surface:#3a3046;--surface-sunk:#2f2639;--text:#f6ead6;--text-muted:#c4b2a4;--outline:#f6ead6;--lift:#1c1622;--accent-light:#4a3d2a;--on-accent:#3a2a1e;--danger:var(--island-coral);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#2a2233;--bg-dot:#362c41;--table:#231c2b;--surface:#3a3046;--surface-sunk:#2f2639;--text:#f6ead6;--text-muted:#c4b2a4;--outline:#f6ead6;--lift:#1c1622;--accent-light:#4a3d2a;--on-accent:#3a2a1e;--danger:var(--island-coral);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);font-weight:600;font-size:var(--fs-md);color:var(--text);background-color:var(--bg);background-image:radial-gradient(var(--bg-dot) 2px, transparent 2.6px);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;background-size:18px 18px;line-height:1.4}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}:focus-visible{outline:3px solid var(--info-shade);outline-offset:3px}.muted{color:var(--text-muted)}.label{font-family:var(--font-body);font-weight:800;font-size:var(--fs-xs);letter-spacing:.03em}.px-panel{background:var(--surface);border-radius:var(--r-lg);padding:var(--space-4);box-shadow:0 var(--lift-md) 0 var(--lift)}.px-panel h2{font-family:var(--font-display);font-size:var(--fs-xl);margin:0;font-weight:600;line-height:1.1}.px-btn{--fill:var(--surface);--drop:var(--lift);justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5);margin-bottom:var(--lift-sm);border-radius:var(--r-pill);background:var(--fill);font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);white-space:nowrap;box-shadow:0 var(--lift-sm) 0 var(--drop);transition:transform var(--t-fast) ease-out, box-shadow var(--t-fast) ease-out, filter var(--t-fast);display:inline-flex}.px-btn:hover:not(:disabled){filter:brightness(1.03)}.px-btn:active:not(:disabled){transform:translateY(var(--lift-sm));box-shadow:0 0 0 var(--drop)}.px-btn:disabled{opacity:.5;cursor:default}.px-btn.primary{--fill:var(--accent);--drop:var(--accent-shade);color:var(--on-accent)}.px-btn.good{--fill:var(--good);--drop:var(--good-shade);color:#fff}.px-btn.small{padding:var(--space-1) var(--space-4);font-size:var(--fs-sm)}.px-btn.icon{width:44px;padding:0}.px-btn.icon.active{--fill:var(--accent-light);transform:translateY(var(--lift-sm));box-shadow:0 0 0 var(--drop), inset 0 0 0 3px var(--accent)}.px-btn.block{width:100%;display:flex}.px-link{font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);text-underline-offset:3px;padding:var(--space-1) var(--space-2);border-radius:var(--r-sm);min-height:44px;text-decoration:underline;text-decoration-thickness:2px}.px-field{gap:var(--space-2);flex-direction:column;display:flex}.px-field>span{font-weight:800;font-size:var(--fs-sm);padding-left:var(--space-2)}.px-input{width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--r-md);background:var(--surface-sunk);min-height:48px;color:var(--text);font-size:var(--fs-lg);transition:border-color var(--t-fast);border:3px solid #0000;font-weight:800}.px-input::placeholder{color:var(--text-muted);opacity:.6}.px-input:focus{border-color:var(--accent);outline:none}.px-badge{--fill:var(--accent-light);align-items:center;gap:var(--space-1);padding:2px var(--space-3);border-radius:var(--r-pill);background:var(--fill);color:var(--island-cocoa);font-weight:800;font-size:var(--fs-xs);vertical-align:middle;display:inline-flex}.px-badge.good{--fill:var(--good);color:#fff}.px-badge.info{--fill:var(--info)}.px-dot{background:var(--text-muted);opacity:.6;vertical-align:middle;border-radius:50%;width:10px;height:10px;display:inline-block}.px-dot.on{background:var(--good);opacity:1;animation:2s ease-in-out infinite px-pulse}.px-swatch{border:3px solid var(--surface);width:36px;height:36px;box-shadow:0 3px 0 var(--lift);transition:transform var(--t-med) var(--ease-pop), box-shadow var(--t-fast);border-radius:50%;flex:none}.px-swatch.active,.active>.px-swatch{box-shadow:0 0 0 3px var(--accent), 0 5px 0 var(--lift);transform:translateY(-3px)scale(1.12)}.px-meter{--fill-color:var(--good);--fill-shade:var(--good-shade);border-radius:var(--r-pill);background:var(--surface-sunk);height:14px;position:relative;overflow:hidden}.px-meter>i{border-radius:var(--r-pill);background:var(--fill-color);box-shadow:inset 0 -4px 0 var(--fill-shade);transition:width var(--t-slow) var(--ease-pop);position:absolute;inset:0 auto 0 0}.px-toast{background:var(--surface);color:var(--text);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);font-size:var(--fs-md);box-shadow:0 var(--lift-md) 0 var(--lift);animation:px-pop var(--t-med) var(--ease-pop) both}.px-icon{vertical-align:middle;flex:none;display:inline-block}.px-icon svg{width:100%;height:100%;display:block}.px-faq{gap:var(--space-2);flex-direction:column;display:flex}.px-faq details{background:var(--surface-sunk);border-radius:var(--r-md)}.px-faq summary{min-height:44px;padding:var(--space-2) var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:800;list-style:none;display:flex}.px-faq summary::-webkit-details-marker{display:none}.px-faq summary .px-icon{transition:transform var(--t-fast) var(--ease-pop)}.px-faq details[open] summary .px-icon{transform:rotate(180deg)}.px-faq summary:focus-visible{outline:3px solid var(--outline);outline-offset:2px;border-radius:var(--r-md)}.px-faq p{padding:0 var(--space-3) var(--space-3);color:var(--text-muted);margin:0}@keyframes px-pop{0%{transform:translateY(var(--space-3)) scale(.96);opacity:0}to{opacity:1;transform:none}}@keyframes px-pulse{50%{box-shadow:0 0 0 4px #6cc08b40}}@keyframes px-blink{50%{opacity:.4}}@keyframes px-bob{50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
