:root{--purple: #6C4CF1;--purple-dk: #4B2FC9;--purple-lt: #EEE9FF;--teal: #16C8A0;--teal-dk: #0E9A7B;--teal-lt: #DDF8F0;--sun: #FFC83D;--sun-dk: #E0A400;--sun-lt: #FFF4D1;--coral: #FF6B6B;--coral-dk: #D94B4B;--coral-lt: #FFE4E4;--sky: #3DB2FF;--ink: #22184A;--ink-2: #6B6390;--line: #E7E2FA;--card: #FFFFFF;--page: #F4F1FF}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{background:var(--page)}body{font-family:Nunito,system-ui,sans-serif;color:var(--ink);font-size:16px;min-height:100vh}button{font:inherit;color:inherit}input,select{font:inherit}a{color:var(--purple-dk)}.f{font-family:Fredoka,Nunito,sans-serif}h1,h2,h3{font-family:Fredoka,Nunito,sans-serif;font-weight:700}h1{font-size:26px}h2{font-size:21px}h3{font-size:17px;font-weight:600}.app{max-width:520px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.page{flex:1;padding:14px 16px 96px}.wide{max-width:1040px;margin:0 auto;padding:18px 16px 60px}.card{background:var(--card);border-radius:20px;padding:14px;margin-bottom:12px;border:2px solid var(--line)}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.muted{color:var(--ink-2);font-weight:700;font-size:13px}.small{font-size:12px}.big{font-family:Fredoka;font-weight:700;font-size:36px;line-height:1.05}.up{color:var(--teal-dk);font-weight:800}.down{color:var(--coral-dk);font-weight:800}.center{text-align:center}.mt{margin-top:12px}.mb{margin-bottom:12px}.pill{font-size:11px;font-weight:800;padding:3px 10px;border-radius:99px;background:var(--purple-lt);color:var(--purple-dk);display:inline-block}.pill.sun{background:var(--sun-lt);color:#7a5600}.pill.teal{background:var(--teal-lt);color:var(--teal-dk)}.pill.coral{background:var(--coral-lt);color:var(--coral-dk)}.btn{display:block;width:100%;border:none;border-radius:16px;padding:13px 14px;font-family:Fredoka;font-weight:600;font-size:18px;color:#fff;cursor:pointer;background:var(--purple);box-shadow:0 5px 0 var(--purple-dk);transition:transform .06s,box-shadow .06s;text-align:center;text-decoration:none}.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--purple-dk)}.btn.teal{background:var(--teal);box-shadow:0 5px 0 var(--teal-dk)}.btn.coral{background:var(--coral);box-shadow:0 5px 0 var(--coral-dk)}.btn.sun{background:var(--sun);color:var(--ink);box-shadow:0 5px 0 var(--sun-dk)}.btn.ghost{background:#fff;color:var(--ink);box-shadow:0 4px 0 var(--line);border:2px solid var(--line)}.btn.small{font-size:15px;padding:9px 12px;border-radius:13px}.btn:disabled{opacity:.5;cursor:default}.btn.inline{display:inline-block;width:auto}.input{width:100%;padding:13px 14px;border-radius:14px;border:2px solid var(--line);background:#fff;font-size:18px;font-family:Fredoka;font-weight:500;color:var(--ink);outline:none}.input:focus{border-color:var(--purple)}.label{font-weight:800;font-size:13px;color:var(--ink-2);margin:12px 0 6px;display:block}.error{background:var(--coral-lt);color:var(--coral-dk);font-weight:800;border-radius:12px;padding:10px 12px;margin:10px 0;font-size:14px}.note{background:var(--sun-lt);border:2px solid var(--sun);border-radius:14px;padding:9px 12px;font-weight:800;font-size:13px}.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;scrollbar-width:none}.chip{flex-shrink:0;font-size:13px;font-weight:800;padding:6px 12px;border-radius:99px;background:#fff;border:2px solid var(--line);cursor:pointer}.chip.on{background:var(--purple);color:#fff;border-color:var(--purple)}.tile{display:flex;align-items:center;gap:10px;background:#fff;border-radius:18px;padding:10px 12px;margin-bottom:8px;border:2px solid var(--line);cursor:pointer;width:100%;text-align:left}.tile:active{transform:scale(.98)}.ico{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:23px;flex-shrink:0}.tname{font-family:Fredoka;font-weight:600;font-size:15.5px;line-height:1.15}.tsub{font-size:12px;color:var(--ink-2);font-weight:700}.tprice{margin-left:auto;text-align:right;font-family:Fredoka;font-weight:600;font-size:16px;white-space:nowrap}.tprice small{display:block;font-family:Nunito;font-size:12.5px}.nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fff;border-top:2px solid var(--line);padding:7px 0 calc(9px + env(safe-area-inset-bottom));z-index:10}.nav-in{display:flex;justify-content:space-around;width:100%;max-width:520px}.nav a{text-align:center;font-size:11px;font-weight:800;color:var(--ink-2);text-decoration:none;flex:1}.nav a span{display:block;font-size:22px;line-height:1.2}.nav a.active{color:var(--purple)}.amts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.amt{text-align:center;font-family:Fredoka;font-weight:600;font-size:17px;padding:11px;border-radius:14px;background:#fff;border:2px solid var(--line);cursor:pointer}.amt.on{border-color:var(--teal);background:var(--teal-lt);color:var(--teal-dk)}.mood{display:flex;gap:6px;margin-top:6px}.mood div{flex:1;text-align:center;font-size:12px;font-weight:800;padding:7px 2px;border-radius:12px;background:#f2f0f8;color:var(--ink-2);border:2px solid transparent}.mood .on{background:var(--teal-lt);color:var(--teal-dk);border-color:var(--teal)}.mood .on.worried{background:var(--coral-lt);color:var(--coral-dk);border-color:var(--coral)}.mood .on.unsure{background:var(--sun-lt);color:#7a5600;border-color:var(--sun)}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--sun-lt)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:8px;margin:8px 0 14px}.pod{width:92px;text-align:center}.pod .av{width:50px;height:50px;margin:0 auto 4px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;border:3px solid #fff}.pod .stand{border-radius:14px 14px 0 0;font-family:Fredoka;font-weight:700;color:#fff;font-size:22px;padding-top:6px}.pod .n{font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lrow{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:9px 12px;margin-bottom:6px;border:2px solid var(--line);font-weight:800;font-size:14px}.lrow.me{border-color:var(--purple);background:var(--purple-lt)}.rank{font-family:Fredoka;width:24px;color:var(--ink-2)}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#22184a73;z-index:30;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--page);width:100%;max-width:520px;border-radius:26px 26px 0 0;padding:18px 16px calc(22px + env(safe-area-inset-bottom));max-height:92vh;overflow-y:auto}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#22184a73;z-index:30;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:22px;padding:18px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto}.pics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pic{font-size:38px;padding:10px 0;border-radius:18px;background:#fff;border:2px solid var(--line);cursor:pointer;text-align:center}.pic:active{transform:scale(.94);background:var(--purple-lt)}.pin-dots{display:flex;justify-content:center;gap:10px;margin:10px 0 14px}.pin-dots div{width:48px;height:48px;border-radius:14px;background:#fff;border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;font-size:28px}.pin-dots div.on{border-style:solid;border-color:var(--purple)}.avatars{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.avatars button{font-size:28px;padding:6px 0;border-radius:14px;background:#fff;border:2px solid var(--line);cursor:pointer}.avatars button.on{border-color:var(--purple);background:var(--purple-lt)}.toast{position:fixed;top:14px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;font-weight:800;padding:11px 18px;border-radius:14px;z-index:50;max-width:92vw;text-align:center;animation:drop .25s ease-out}@keyframes drop{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}.pop{animation:pop .5s cubic-bezier(.2,1.6,.4,1)}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;overflow:hidden}.confetti i{position:absolute;top:-20px;width:10px;height:14px;border-radius:3px;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{text-align:left;font-size:12px;color:var(--ink-2);font-weight:800;padding:6px 8px;border-bottom:2px solid var(--line)}table.t td{padding:8px;border-bottom:1px solid var(--line);font-weight:700}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--purple-lt)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.scroll-x{overflow-x:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#fff;border-bottom:2px solid var(--line)}@media print{.noprint{display:none!important}body{background:#fff}}
