:root{--acc: #f0614f;--acc-deep: #d64a38;--acc-soft: #ffede9;--acc-soft2: #fff1ed;--teal: #1f9c86;--ink: #2f2739;--ink-2: #6e6379;--muted: #8b8195;--muted-2: #a79cb2;--paper: #fff7ef;--paper-2: #fffcf8;--sand: #efe3d6;--soft: #f8f2eb;--soft-2: #f5eee6;--line: #eadfd2;--shadow: 0 2px 8px rgba(47, 39, 57, .07);--shadow-lg: 0 10px 30px rgba(47, 39, 57, .12);--r: 14px;--r-lg: 20px}*{box-sizing:border-box}body{margin:0;background:var(--sand);font-family:Nunito,system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-wrap:pretty}button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit}a{color:var(--acc);text-decoration:none}.app{min-height:100dvh;display:flex;justify-content:center}.app__frame{width:100%;max-width:480px;min-height:100dvh;background:var(--paper);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 0 60px #2f273921}.topbar{flex:none;display:flex;align-items:center;gap:12px;padding:16px 20px 10px}.topbar__logo{height:26px;width:auto;display:block}.iconbtn{flex:none;width:40px;height:40px;border-radius:var(--r);background:#fff;display:grid;place-items:center;box-shadow:var(--shadow)}.iconbtn--dot:after{content:"";position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:99px;background:var(--acc);border:2px solid #fff}.screen{flex:1;overflow-y:auto;overscroll-behavior-y:contain;padding:0 0 104px;scrollbar-width:none}.screen::-webkit-scrollbar{width:0;height:0}.screen__title{padding:2px 20px 14px;font:800 19px/1.2 "Baloo 2",Nunito;letter-spacing:-.4px}.screen__head{display:flex;align-items:center;gap:11px;padding:2px 20px 14px}.screen__head .screen__title{padding:0}.screen__sub{font:700 12.5px/1.4 Nunito;color:var(--muted);margin-top:2px}.backbtn{flex:none;width:38px;height:38px;border-radius:13px;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow);animation:pop .18s ease both}.pad{padding:0 20px}.tabs{position:absolute;left:0;right:0;bottom:0;z-index:7;padding:10px 14px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--paper) 36%)}.tabs__bar{display:flex;gap:4px;background:#fff;border-radius:24px;padding:8px;box-shadow:0 4px 16px #2f27391a}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:58px;justify-content:center;border-radius:18px;font:800 12px Nunito;color:var(--muted);transition:background .18s ease}.tab.is-on{background:var(--acc-soft);color:var(--acc);box-shadow:none}.card{background:#fff;border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow);margin-bottom:12px}.card__title{font:800 15px "Baloo 2",Nunito;margin:0 0 6px}.muted{color:var(--muted);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:var(--r);width:100%;background:var(--acc);color:#fff;font:800 15px Nunito;box-shadow:0 6px 16px #f0614f47}.btn:active{background:var(--acc-deep)}.btn:disabled{opacity:.55;box-shadow:none}.btn--ghost{background:#fff;color:var(--ink);box-shadow:var(--shadow)}.field{display:grid;gap:6px;margin-bottom:14px}.field>label{font:700 12.5px Nunito;color:var(--ink-2)}.input{width:100%;padding:13px 14px;border-radius:var(--r);background:#fff;border:1.5px solid var(--line);font-size:15px}.input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.alert{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:var(--r);background:var(--acc-soft);color:var(--acc-deep);font:600 13.5px Nunito}.finput,.ftext{width:100%;border-radius:16px;border:2px solid #eadfd2;background:#fffcf8;font:700 14px Nunito;color:var(--ink);outline:none}.finput{height:46px;padding:0 15px}.ftext{padding:14px 15px;line-height:1.5;resize:none}.finput:focus,.ftext:focus{border-color:var(--acc)}.flabel{display:block;font:800 12.5px/1.2 Nunito;color:#6e6379;margin-bottom:8px}.center{min-height:100dvh;display:grid;place-items:center;padding:24px}.spin{width:18px;height:18px;border-radius:99px;border:2.5px solid #fbd9d3;border-top-color:var(--acc);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.fade{animation:fadeUp .3s ease both}.slide{animation:slideIn .28s cubic-bezier(.2,.9,.3,1) both}.pop{animation:pop .2s ease both}
