@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap";:root{font-family:Manrope,Segoe UI,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#0a0d15}a{color:inherit}body{font-family:Nunito,Segoe UI,system-ui,-apple-system,sans-serif;background:#fdf6fb;color:#2c1c33}.app-shell{min-height:100vh;background:radial-gradient(120% 90% at 12% 12%,#ffd2f0cc,#fff0 50%),radial-gradient(140% 120% at 80% 10%,#cec7ffa6,#fff0 52%),linear-gradient(180deg,#fff7fb,#f7f1ff 55%,#fdf6fb);color:#2c1c33}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(120deg,#ffdff5e6,#d7c9ffe6);border-bottom:1px solid rgba(255,179,213,.35)}.brand{display:flex;align-items:center;gap:.65rem}.brand .dot{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:#fff;box-shadow:0 6px 20px #00000014;font-size:1.1rem}nav{display:none}.content{padding:1.25rem;max-width:1200px;margin:0 auto}.hero{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em}.title{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;color:#301b3a}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#9f84b7}.title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tabs{display:flex;flex-wrap:wrap;gap:.35rem;background:#ffe6f6cc;padding:.35rem;border-radius:16px;border:1px solid rgba(255,179,213,.45);box-shadow:0 12px 28px #ffa6e140;overflow-x:auto}.tabs button{background:none;color:#5a3f6b;border:none;padding:.6rem 1.2rem;border-radius:12px;font-weight:700;white-space:nowrap;flex:0 0 auto}.tabs button.active{background:linear-gradient(135deg,#ffb7e1,#c7b8ff);color:#2c1c33;box-shadow:0 8px 22px #c7b8ff59;border:1px solid rgba(199,184,255,.7)}.tabs button:hover{color:#2c1c33}.panel{background:#fff;border:1px solid rgba(255,179,213,.4);border-radius:18px;padding:1.1rem 1.35rem;box-shadow:0 16px 36px #ffb6d52e,0 8px 18px #725d8e14}details.panel{padding:0}details.panel summary{list-style:none;cursor:pointer;padding:1.1rem 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}details.panel summary::-webkit-details-marker{display:none}details.panel[open] summary{border-bottom:1px solid rgba(255,179,213,.4);margin-bottom:.35rem}details.panel .section-body{padding:0 1.35rem 1.1rem}.section-actions{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.section-body{margin-top:.85rem}.tag-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;background:#ffe0f2d9;color:#5a3f6b;border:1px solid rgba(255,179,213,.5);font-weight:600}.chip-remove{background:none;border:none;color:#000;cursor:pointer;font-weight:800}.dropzone{border:1px dashed rgba(199,184,255,.7);background:#fff9;border-radius:14px;padding:.85rem 1rem;box-shadow:inset 0 1px #fff9}.dropzone:hover{background:linear-gradient(135deg,#ffb7e11f,#c1b8ff29)}.file-input{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.file-input input[type=file]{display:none}.small{font-size:.9rem}.add-all-btn{min-width:122px;padding:.55rem .9rem;border-radius:12px;border:1px solid rgba(199,184,255,.8);background:#fffc;box-shadow:0 10px 20px #c7b8ff40}.add-all-btn:hover{border-color:#c7b8ff}.time-text{color:#2c1c33;font-weight:700;letter-spacing:.01em}.date-control{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:nowrap}.arrow-group{display:inline-flex;gap:.35rem}.pill.loading{background:#fff4e5;color:#a35400;border:1px solid rgba(255,173,51,.6)}.pill.success{background:#e7f6ed;color:#1b7f3d;border:1px solid rgba(73,181,117,.5)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{border:1px solid rgba(255,179,213,.35);background:linear-gradient(180deg,#fffffff2,#fff5fceb);border-radius:14px;padding:.9rem 1.05rem;color:#2c1c33;text-align:left;box-shadow:0 10px 28px #ffb6d538,0 4px 12px #725d8e14}.card.store{cursor:pointer;transition:all .2s ease}.card.store:hover,.card.store.active{border-color:#ffb3d5cc;box-shadow:0 0 0 2px #ffb3d559;background:linear-gradient(180deg,#ffe6f6cc,#fffffff2)}.card,.panel,.tabs button,button,input,select,textarea{transition:all .18s ease}.card:hover{transform:translateY(-2px);box-shadow:0 16px 32px #ffb6d53d,0 10px 24px #725d8e1f}.tabs button:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 10px 22px #c7b8ff59}.admin-tabs{background:radial-gradient(120% 140% at 16% 10%,#ffccf1e6,#cfc1ffbf);border-radius:18px;border:1px solid rgba(199,184,255,.6);padding:.5rem .6rem;gap:.35rem;box-shadow:0 14px 32px #c7b8ff47,0 10px 24px #ffb6d538;flex-wrap:nowrap;overflow-x:auto}.admin-tabs button{border-radius:14px;padding:.7rem 1.2rem;background:#ffffffa6;border:1px solid transparent;font-weight:800;color:#2c1c33;white-space:nowrap;min-width:120px}.admin-tabs button.active{background:linear-gradient(135deg,#c1b8ff,#ffbfe8);color:#2b2143;border-color:#fff9;box-shadow:0 10px 24px #c1b8ff59}.admin-tabs button:hover{transform:translateY(-1px) scale(1.01)}button.primary,button.ghost,button.secondary,button{cursor:pointer;position:relative;overflow:hidden}button.primary:after,button.ghost:after,button.secondary:after,button:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.35),transparent 45%);opacity:0;transition:opacity .2s ease}button:hover:after{opacity:1}.card.product{display:inline-flex;flex-direction:column;gap:.6rem;width:100%;position:relative;overflow:hidden;isolation:isolate}.card.product:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 20% 20%,rgba(255,200,255,.35),transparent 50%),radial-gradient(circle at 80% 0%,rgba(180,200,255,.25),transparent 45%);filter:blur(12px);z-index:0}.card.product>*{position:relative;z-index:1}.card.product .counter{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;width:100%}.card.product.slide-out{animation:slideLeft .26s cubic-bezier(.22,.61,.36,1) forwards}.card.product.compact{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.card.product input{width:90px;text-align:center}.ghost.toggle-sound,.panel .section-actions .ghost{background:#ffffffb3;border:1px solid rgba(199,184,255,.4);border-radius:12px;padding:.55rem .9rem;box-shadow:0 10px 22px #c7b8ff33}.action-row .ghost.danger{background:linear-gradient(135deg,#ffe0e6,#ffc2d4);color:#b32645;border:1px solid rgba(255,140,170,.7);box-shadow:0 10px 20px #ff98bc59;padding:.6rem 1rem;border-radius:14px;min-width:90px;text-align:center}.segmented{display:inline-flex;background:#ffe6f6d9;border:1px solid rgba(199,184,255,.5);border-radius:14px;overflow:hidden;box-shadow:0 10px 24px #c7b8ff47}.segmented button{border:none;background:transparent;padding:.55rem .9rem;font-weight:700;color:#5a3f6b}.segmented button.active{background:linear-gradient(135deg,#ffb7e1,#c7b8ff);color:#2c1c33;box-shadow:inset 0 0 0 1px #ffffffb3}.count-btn{min-width:42px;height:42px;border-radius:12px;background:#ffe0f2cc;border:1px solid rgba(199,184,255,.4);box-shadow:0 8px 16px #c7b8ff2e;font-weight:800}.count-input{width:86px;border-radius:12px;background:#fff;border:1px solid rgba(199,184,255,.5);box-shadow:inset 0 1px 3px #0000000a;transition:transform .16s ease,box-shadow .16s ease}.count-btn.bump,.count-input.bump{animation:bump .2s ease}.wobble-on-hover:hover{animation:wobble .38s ease}.primary.glow{background:linear-gradient(135deg,#ffd2f3,#c7b8ff);box-shadow:0 10px 22px #c7b8ff59;border:1px solid rgba(255,255,255,.7)}.toast-pop{position:fixed;bottom:24px;right:24px;background:linear-gradient(135deg,#ffb7e1,#c7b8ff);color:#2c1c33;padding:.9rem 1.2rem;border-radius:14px;box-shadow:0 14px 32px #c7b8ff59;font-weight:800;transform-origin:center;animation:flip-pop .7s ease}.center-pop{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;z-index:20}.center-pop-inner{padding:1.2rem 1.6rem;border-radius:20px;background:linear-gradient(135deg,#ffd8f5,#d5c7ff);color:#2b1b3d;font-weight:800;font-size:1rem;line-height:1.4;box-shadow:0 24px 52px #c7b8ff73;border:1px solid rgba(255,255,255,.85);animation:spin-tilt .85s ease forwards,glow 1.5s ease-in-out infinite alternate;text-align:center;min-width:320px;max-width:min(540px,90vw);display:inline-flex;align-items:center;justify-content:center;gap:.6rem}@keyframes flip-pop{0%{transform:perspective(600px) rotateX(-80deg) scale(.9);opacity:0}50%{transform:perspective(600px) rotateX(0) scale(1.04);opacity:1}to{transform:perspective(600px) rotateX(0) scale(1);opacity:1}}@keyframes pop-in{0%{transform:scale(.96);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes slideLeft{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(-26px) scale(.96) rotate(-1deg);opacity:0;height:0;margin:0;padding-top:0;padding-bottom:0}}@keyframes bump{0%{transform:scale(.95)}60%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes wobble{0%{transform:translate(0)}30%{transform:translate(-4px) rotate(-2deg)}60%{transform:translate(4px) rotate(2deg)}to{transform:translate(0)}}@keyframes spin-tilt{0%{transform:rotateX(-50deg) rotate(-4deg) scale(.82);opacity:0}50%{transform:rotateX(6deg) rotate(2deg) scale(1.04);opacity:1}to{transform:rotateX(0) rotate(0) scale(1);opacity:1}}@keyframes glow{0%{box-shadow:0 20px 45px #c7b8ff66,0 0 #ffc8ff52;filter:drop-shadow(0 0 8px rgba(255,200,255,.35))}to{box-shadow:0 24px 52px #c7b8ff8c,0 0 0 8px #ffc8ff38;filter:drop-shadow(0 0 12px rgba(199,184,255,.5))}}@keyframes floaty{0%{transform:translateY(2px)}50%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes spin-pop{0%{transform:scale(.9) rotateX(12deg)}50%{transform:scale(1.05) rotateX(0)}to{transform:scale(1) rotateX(0)}}.card.leaderboard ol{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.55rem}.card.leaderboard li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;border-radius:12px;padding:.5rem .6rem;background:#ffffffad;animation:rise-in .36s ease forwards;opacity:0;transform:translateY(6px) scale(.99)}.card.leaderboard .meta{justify-self:end;font-size:.8rem;color:#7a658d}.card.leaderboard li.medal .meta{color:inherit}.card.leaderboard .score{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;gap:.05rem}.card.leaderboard .score strong{font-weight:800;font-variant-numeric:tabular-nums}.card.leaderboard .score small{font-size:.68rem;color:#7a658d}.card.leaderboard li.medal .score small{color:inherit}@keyframes rise-in{0%{opacity:0;transform:translateY(8px) scale(.98);filter:blur(1px)}60%{opacity:1;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.card.leaderboard li.medal.gold{background:linear-gradient(135deg,#ffe9a3,#ffd86b);color:#4a3200}.card.leaderboard li.medal.silver{background:linear-gradient(135deg,#f0f3ff,#d9e1ff);color:#24304f}.card.leaderboard li.medal.bronze{background:linear-gradient(135deg,#ffe3d1,#ffc6a1);color:#4d2d1b}.card.leaderboard li.medal .badge{background:#ffffffb3;color:inherit}.badge{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffe0f2d9;color:#5a3f6b}.pill{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;background:#ffe0f2d9;color:#5a3f6b;border:1px solid rgba(255,179,213,.5)}.pill.warning{background:#ffefcde6;color:#b57200;border-color:#ffcd95b3}.pill.neutral{background:#f6f4ffe6;color:#5a3f6b;border-color:#c7b8ff99}.input,.select,input[type=number]{width:100%;border-radius:12px;border:1px solid rgba(199,184,255,.5);background:#fff;color:#2c1c33;padding:.7rem .9rem;font-size:1rem}.select{width:auto}button{cursor:pointer}button.primary{background:linear-gradient(135deg,#ffb7e1,#c7b8ff);color:#2c1c33;font-weight:800;border:none;padding:.65rem 1rem;border-radius:12px;transition:transform .15s ease,box-shadow .2s ease}button.primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px #c7b8ff59}button.ghost{background:#f6f4ffe6;color:#5a3f6b;border:1px solid rgba(199,184,255,.5);width:38px;height:38px;border-radius:10px;transition:transform .15s ease,box-shadow .2s ease}button.ghost.danger{border-color:#ff779299;color:#b82343;background:#ffd6def2}button.primary:active,button.ghost:active{transform:translateY(0)}button.primary,button.ghost{animation:pop-in .24s ease}.action-row{display:flex;gap:.55rem;justify-content:flex-end;flex-wrap:wrap}.status{padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(199,184,255,.4);background:linear-gradient(135deg,#ffe0f2e6,#c7b8ff59);color:#2c1c33;animation:floaty 1s ease}.status.success{border-color:#71cb9999;background:linear-gradient(135deg,#eafff4f2,#c7ffe499);color:#1f7a43;animation:spin-pop .8s ease}.status.warning{border-color:#ffc176b3;background:linear-gradient(135deg,#fff5e0f2,#ffe0b199);color:#8a4b00}.actions{margin-top:.65rem;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.4rem}.stack{display:flex;flex-direction:column}.stack.gap-lg{gap:1rem}.stack.gap-xl{gap:1.5rem}.list{display:flex;flex-direction:column;gap:.65rem}.counter input{max-width:90px}.muted{color:#7c6895}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{border-bottom:1px solid rgba(255,255,255,.06);padding:.6rem;text-align:left}.toggle{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:#5a3f6b}.toggle input{accent-color:#70f1a0}.chart{display:flex;flex-direction:column;gap:1rem}.chart-row{display:flex;flex-direction:column;gap:.35rem}.bar-track{width:100%;height:12px;border-radius:999px;background:#c7b8ff40;overflow:hidden;border:1px solid rgba(199,184,255,.35)}.bar-fill{height:100%;background:linear-gradient(135deg,#ffb7e1,#c7b8ff)}@media(max-width:720px){.topbar{flex-direction:column;align-items:flex-start;gap:.5rem}.title-row{flex-direction:column;align-items:flex-start}.tabs{width:100%}.tabs button{flex:1}}
