*,:before,:after{box-sizing:border-box}html,body,#root{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;margin:0;padding:0}html{color:#f5f6fa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0b1020;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px}body{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-color:#0000;background-image:radial-gradient(1200px 800px at 20% 0,#2a1b4f 0%,#0000 60%),radial-gradient(900px 700px at 100% 100%,#122a5a 0%,#0000 55%),linear-gradient(#0b1020 0%,#0a0d1c 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit;background:0 0;border:0;outline:none;font-size:16px}input::placeholder{color:#f5f6fa73}.glass{-webkit-backdrop-filter:blur(20px)saturate(140%);background:linear-gradient(135deg,#ffffff29 0%,#ffffff0f 100%);border:1px solid #ffffff2e;border-radius:22px;box-shadow:0 30px 60px -20px #0000008c,inset 0 1px #ffffff2e}.glass-strong{background:linear-gradient(135deg,#ffffff38 0%,#ffffff14 100%)}.btn{letter-spacing:.2px;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-weight:600;transition:transform .12s,box-shadow .2s,background .2s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.99)}.btn-primary{color:#fff;background:linear-gradient(135deg,#7c5cff 0%,#4c8bff 100%);box-shadow:0 10px 30px -8px #4c8bff8c,inset 0 1px #ffffff59}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-ghost{color:#d7daea;background:#ffffff0f;border:1px solid #ffffff1f}.btn-danger{color:#fff;background:linear-gradient(135deg,#ff6a6a 0%,#ff3d6b 100%)}.btn-block{width:100%;padding:16px 22px;font-size:17px}.app{flex-direction:column;justify-content:stretch;align-items:stretch;min-height:100dvh;display:flex;position:relative}.screen{flex-direction:column;flex:1;display:flex}.center{flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}h1{letter-spacing:-.5px;margin:0;font-size:32px;font-weight:700;line-height:1.1}h2{letter-spacing:-.3px;margin:0;font-size:22px;font-weight:600}.muted{color:#f5f6faa6}.small{font-size:13px}.field{background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:8px;padding:12px 14px;transition:border .16s,background .16s;display:flex}.field:focus-within{background:#ffffff1a;border-color:#7c5cffb3}.field input{width:100%}.field .prefix{color:#f5f6fa8c;font-weight:600}.app{min-height:100svh}.landing{min-height:100dvh;position:relative;overflow:hidden}.landing-bg{pointer-events:none;z-index:0;background:radial-gradient(60% 40% at 20% 10%,#7c5cff59,#0000 70%),radial-gradient(50% 35% at 90% 80%,#4ecdc440,#0000 70%);position:absolute;inset:0}.landing-content{z-index:1;flex:1;padding:24px;position:relative}.landing-card{text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:420px;padding:32px 24px;display:flex}.landing-emblem{filter:drop-shadow(0 10px 20px #00000073);margin-top:-8px;animation:6s ease-in-out infinite emblemFloat}@keyframes emblemFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.landing-title{letter-spacing:-1px;background:linear-gradient(135deg,#fff 0%,#d2c8ff 60%,#b6f2ec 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:38px;font-weight:800;line-height:1}.landing-tagline{letter-spacing:2px;text-transform:uppercase;color:#b2a8ffd9;margin:-10px 0 4px;font-size:14px;font-weight:600}.landing-blurb{max-width:28ch;margin:0;font-size:15px}.landing-foot{margin-top:4px}.setup{min-height:100dvh;padding:16px;position:relative;overflow-y:auto}.setup-content{flex-direction:column;gap:18px;max-width:480px;margin:0 auto;padding-top:24px;padding-bottom:40px;display:flex;position:relative}.setup-back{color:#d7daea;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:24px;display:inline-flex;position:absolute;top:10px;left:6px}.setup-card{flex-direction:column;gap:18px;padding:24px;display:flex}.setup-label{letter-spacing:.4px;text-transform:uppercase;color:#f5f6faa6;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.setup-section{display:block}.setup-total-display{margin-top:6px;display:block}.setup-names{flex-direction:column;gap:8px;display:flex}.setup-name-row{align-items:center;gap:8px;display:flex}.setup-name-field{flex:1}.setup-name-remove{color:#d7daea;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;line-height:1;display:inline-flex}.setup-name-remove:disabled{opacity:.35;cursor:not-allowed}.setup-add-row{color:#a99cff;align-self:flex-start;padding:8px 4px;font-size:14px;font-weight:600}.setup-actions{flex-direction:column;gap:10px;padding:0 4px;display:flex}.row{border-radius:18px;grid-template-columns:10px 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid;position:relative}.row-color{border-radius:6px;width:8px;height:36px;box-shadow:inset 0 1px #ffffff73,0 0 12px #ffffff0f}.row-name-wrap{background:#ffffff0d;border-color:#ffffff1a;padding:8px 36px 8px 12px;position:relative}.row-name{width:100%;color:var(--text,#f5f6fa);font-size:16px;font-weight:600}.row-arrow{pointer-events:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.row-arrow-up{color:#7fff7f;background:#7fff7f26;border:1px solid #7fff7f8c;animation:.95s cubic-bezier(.4,1.4,.5,1) forwards rowArrowUp;box-shadow:0 0 10px #7fff7f73,inset 0 0 6px #7fff7f40}.row-arrow-down{color:#ff6b6b;background:#ff6b6b26;border:1px solid #ff6b6b8c;animation:.95s cubic-bezier(.4,1.4,.5,1) forwards rowArrowDown;box-shadow:0 0 10px #ff6b6b73,inset 0 0 6px #ff6b6b40}@keyframes rowArrowUp{0%{opacity:0;transform:translateY(calc(12px - 50%))scale(.5)}20%{opacity:1;transform:translateY(calc(-50% - 2px))scale(1.15)}70%{opacity:1;transform:translateY(-50%)scale(1)}to{opacity:0;transform:translateY(calc(-50% - 16px))scale(.95)}}@keyframes rowArrowDown{0%{opacity:0;transform:translateY(calc(-50% - 12px))scale(.5)}20%{opacity:1;transform:translateY(calc(2px - 50%))scale(1.15)}70%{opacity:1;transform:translateY(-50%)scale(1)}to{opacity:0;transform:translateY(calc(16px - 50%))scale(.95)}}.row-stepper{grid-template-columns:32px auto 32px;align-items:center;gap:6px;display:inline-grid}.row-step{color:#f5f6fa;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:inline-flex}.row-step:active{transform:scale(.92)}.row-values{flex-direction:column;justify-content:center;align-items:center;min-width:92px;line-height:1.05;display:flex}.row-primary-line{letter-spacing:-.5px;color:#fff;align-items:baseline;gap:1px;font-size:22px;font-weight:700;display:inline-flex}.row-input{font:inherit;color:inherit;text-align:right;background:0 0;border:0;min-width:1.2ch;max-width:6ch;padding:0}.row-input:focus{outline:none}.row-unit{color:#f5f6fa99;font-size:16px;font-weight:600}.row-secondary{color:#f5f6fa80;letter-spacing:.2px;margin-top:2px;font-size:12px;font-weight:500}.row-remove{color:#ff8a8ab3;background:#ff5a5a0f;border:1px solid #ff5a5a2e;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-left:2px;transition:background .16s,color .16s,border-color .16s,transform .12s;display:inline-flex}.row-remove:hover,.row-remove:focus-visible{color:#ff8a8a;background:#ff5a5a2e;border-color:#ff5a5a8c;outline:none}.row-remove:active{transform:scale(.94)}.pie3d-wrap{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;max-width:480px;margin:0 auto;position:relative}.pie3d-svg{filter:drop-shadow(0 22px 28px #00000073);width:100%;height:auto;display:block}.pie3d-slice,.pie3d-sides path{transition:d .36s cubic-bezier(.4,1.2,.4,1)}.pie3d-label-text{fill:#fff;stroke:#000000a6;stroke-width:3.5px;stroke-linejoin:round;paint-order:stroke fill;letter-spacing:-.1px;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;font-weight:800}.pie-label-arrow{transform-origin:50%;transform-box:fill-box}.pie-label-arrow circle{stroke-width:1.4px}.pie-label-arrow text{stroke:none;paint-order:fill;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-size:9px;font-weight:800}.pie-label-arrow-up circle{fill:#7fff7f47;stroke:#7fff7fd9;filter:drop-shadow(0 0 6px #7fff7f80)}.pie-label-arrow-up text{fill:#c9ffc9}.pie-label-arrow-down circle{fill:#ff6b6b47;stroke:#ff6b6bd9;filter:drop-shadow(0 0 6px #ff6b6b80)}.pie-label-arrow-down text{fill:#ffd2d2}.pie-label-arrow-up{animation:.95s cubic-bezier(.4,1.4,.5,1) forwards pieArrowUp}.pie-label-arrow-down{animation:.95s cubic-bezier(.4,1.4,.5,1) forwards pieArrowDown}@keyframes pieArrowUp{0%{opacity:0;transform:translateY(8px)scale(.5)}20%{opacity:1;transform:translateY(-2px)scale(1.18)}70%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(.95)}}@keyframes pieArrowDown{0%{opacity:0;transform:translateY(-8px)scale(.5)}20%{opacity:1;transform:translateY(2px)scale(1.18)}70%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.95)}}.mode-toggle{isolation:isolate;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;grid-template-columns:1fr 1fr;width:100%;max-width:320px;margin:0 auto;padding:4px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff14,inset 0 -2px 6px #00000040}.mode-toggle-pellet{z-index:0;background:linear-gradient(135deg,#7c5cff 0%,#4c8bff 100%);border-radius:999px;width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .32s cubic-bezier(.4,1.2,.4,1);position:absolute;top:4px;left:4px;box-shadow:0 6px 14px -4px #4c8bff99,inset 0 1px #ffffff59}.mode-toggle-opt{z-index:1;color:#f5f6fa8c;border-radius:999px;padding:10px 18px;font-weight:600;transition:color .22s,transform .22s;position:relative}.mode-toggle-opt.active{color:#fff}.modal-backdrop{-webkit-backdrop-filter:blur(6px);z-index:100;background:#080a1c8c;justify-content:center;align-items:center;padding:24px;animation:.2s both backdropFade;display:flex;position:fixed;inset:0}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}.modal-card{flex-direction:column;gap:14px;width:100%;max-width:380px;padding:24px;animation:.28s cubic-bezier(.4,1.2,.4,1) both modalIn;display:flex}@keyframes modalIn{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.modal-actions-stack{flex-direction:column;align-items:stretch;gap:8px}.confirm-backdrop{z-index:110;-webkit-backdrop-filter:blur(6px);background:#080a1c8c;justify-content:center;align-items:center;padding:24px;animation:.2s both confirmFadeIn;display:flex;position:fixed;inset:0}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirm-card{text-align:center;flex-direction:column;gap:12px;width:100%;max-width:360px;padding:24px;animation:.26s cubic-bezier(.4,1.2,.4,1) both confirmCardIn;display:flex}@keyframes confirmCardIn{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-icon{color:#ff8a8a;background:#ff5a5a1f;border:1px solid #ff5a5a59;border-radius:999px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto;display:inline-flex;box-shadow:0 0 24px #ff5a5a2e,inset 0 0 12px #ff5a5a14}.confirm-actions{justify-content:center;gap:10px;margin-top:6px;display:flex}.confirm-actions .btn{flex:1;max-width:160px}.main{flex-direction:column;min-height:100dvh;display:flex;position:relative}.main-report{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:14px;padding:12px 14px 110px;scroll-padding-bottom:200px;display:flex;overflow-y:auto}.main-header{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.main-restart{padding:8px 14px;font-size:14px}.main-total{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:flex-end;padding:6px 12px;transition:background .16s,border-color .16s;display:flex}.main-total:hover,.main-total:focus-visible{background:#7fff7f0f;border-color:#7fff7f40;outline:none}.main-total-label{letter-spacing:.6px;text-transform:uppercase;color:#f5f6fa80;font-size:10px}.main-total-value{letter-spacing:-.5px;align-items:baseline;font-size:22px;font-weight:700;display:inline-flex}.main-total-input{font:inherit;color:inherit;text-align:right;background:0 0;border:0;border-bottom:1px dashed #7fff7f80;min-width:4ch;max-width:10ch;margin-left:2px;padding:0}.main-total-input:focus{border-bottom-color:#7fff7fe6;outline:none}.main-toggle-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.main-pct-total{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;transition:all .22s}.main-pct-total.ok{color:#b8f5cb;background:#2ecc712e;border-color:#2ecc7173}.main-pct-total.bad{color:#ffd1d1;background:#ff757529;border-color:#ff757566}.main-pct-remain{opacity:.85;font-weight:500}.main-rows{flex-direction:column;gap:10px;padding-top:4px;display:flex}.main-add-row{color:#a99cff;background:#ffffff0a;border:1px dashed #ffffff2e;border-radius:999px;align-self:center;margin-top:6px;padding:12px 22px;font-weight:600}.main-add-row:hover{background:#ffffff14}.main-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);z-index:5;background:linear-gradient(#0b102000 0%,#0b1020d9 30%,#0b1020f2 100%);position:fixed;bottom:0;left:0;right:0}
