@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&display=swap";:root{color-scheme:dark;font-family:Manrope,Segoe UI,sans-serif;--bg: #101011;--bg-soft: #171719;--panel: #1d1d20;--panel-strong: #26262a;--line: #34343a;--text: #f3f3ef;--text-soft: #b8b8b1;--text-faint: #8f8f88;--ok: #efefe8;--danger: #b5b5ad}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--bg);color:var(--text)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.splash{min-height:100dvh;display:grid;place-items:center;color:var(--text-soft)}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px;position:relative;background:var(--bg)}.login-card{width:min(100%,420px);display:grid;gap:20px;justify-items:center;padding:28px 20px;border:1px solid var(--line);border-radius:24px;background:var(--panel);text-align:center}.login-logo{width:min(72vw,235px)}.login-copy h1,.app-header h1,.section-head h2,.hero-panel h2,.profile-card h2,.scanner-head h2{margin:0;letter-spacing:0}.login-copy p,.section-head p,.hero-panel p,.profile-card p,.scanner-head p{margin:8px 0 0;color:var(--text-soft);line-height:1.45}.eyebrow{display:inline-block;margin-bottom:8px;color:var(--text-faint);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.float-ball{position:absolute;display:grid;place-items:center;width:62px;height:62px;border:1px solid var(--line);border-radius:18px;background:var(--bg-soft);color:var(--text-soft)}.ball-one{left:18px;top:14%;transform:rotate(-9deg)}.ball-two{right:18px;bottom:14%;transform:rotate(9deg)}.button{min-height:44px;border:1px solid var(--line);border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:800;cursor:pointer}.button:disabled{cursor:not-allowed;opacity:.56}.button-primary{background:var(--ok);color:#0f0f10;border-color:#d8d8d2}.button-secondary{background:var(--panel-strong);color:var(--text)}.button-danger{background:#29292d;color:var(--text-soft)}.form-error{margin:0;color:var(--text-soft);font-size:14px}.app-shell{width:min(100%,760px);min-height:100dvh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px calc(102px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.app-header h1{font-size:30px}.avatar{width:48px;height:48px;border-radius:14px;object-fit:cover;border:1px solid var(--line)}.app-main,.page-stack{display:grid;gap:14px}.hero-panel,.section-head,.profile-card,.stats-grid>div,.progress-card,.expense-card,.scanner-head,.scanner-view,.scanner-code,.overlay-card{border:1px solid var(--line);border-radius:20px;background:var(--panel)}.hero-panel,.section-head,.scanner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}.hero-panel h2{font-size:30px}.progress-ring{--progress: 0%;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ecece8 var(--progress),#39393f 0)}.progress-ring span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--panel);color:var(--text);font-size:14px;font-weight:800}.progress-card,.expense-card,.scanner-view,.scanner-code,.overlay-card{padding:16px}.progress-card-head h3,.expense-title h3{margin:0;display:flex;align-items:center;gap:8px;font-size:17px}.pie-wrap{display:flex;align-items:center;gap:14px;margin-top:14px}.pie-chart{--progress: 0%;width:156px;height:156px;border-radius:50%;background:conic-gradient(#efefe9 var(--progress),#3b3b41 0);position:relative}.pie-chart:after{content:"";position:absolute;inset:26px;background:var(--panel);border-radius:50%;border:1px solid var(--line)}.pie-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.pie-legend strong{font-size:22px}.pie-legend span{color:var(--text-soft);font-size:12px;font-weight:700}.expense-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.expense-title strong{font-size:28px}.expense-actions{margin-top:14px;display:grid;grid-template-columns:1fr auto;gap:8px}.search-field{min-height:46px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-strong);color:var(--text-soft)}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips button{flex:0 0 auto;height:38px;border:1px solid var(--line);border-radius:999px;padding:0 12px;background:var(--panel-strong);color:var(--text-soft);font-weight:800;display:inline-flex;align-items:center;gap:6px}.chips button img{width:20px;height:15px;border-radius:4px}.chips button.selected{background:var(--ok);color:#101011;border-color:#d9d9d0}.sticker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sticker-card{min-height:144px;display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.sticker-card.owned{border-color:#63636b;background:#232327}.sticker-main{border:0;padding:0;display:grid;gap:4px;text-align:left;background:transparent;color:var(--text)}.sticker-main-head{display:flex;align-items:center;gap:8px}.sticker-main-head img{width:26px;height:19px;border-radius:5px;border:1px solid var(--line)}.sticker-main strong{font-size:18px}.sticker-main span{color:var(--text-soft);font-size:12px;font-weight:700}.sticker-main .sticker-country{color:var(--text)}.duplicate-stepper{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:6px}.duplicate-stepper button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--panel-strong);color:var(--text)}.duplicate-stepper span{text-align:center;color:var(--text);font-weight:800}.plain-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.plain-list span{min-height:52px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-weight:800}.plain-list.detailed span{place-items:start;padding:10px;gap:4px}.plain-list.detailed img{width:24px;height:18px;border-radius:4px}.plain-list.detailed b{font-size:14px}.plain-list.detailed small{color:var(--text-soft)}.profile-card{display:flex;align-items:center;gap:14px;padding:16px}.profile-card img{width:64px;height:64px;border-radius:16px;object-fit:cover}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-grid>div{display:grid;gap:6px;padding:14px;text-align:center}.stats-grid strong{font-size:22px}.stats-grid span{color:var(--text-soft);font-size:12px;font-weight:800}.scanner-modes{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.scanner-modes button{height:36px;padding:0 12px;border:0;background:transparent;color:var(--text-soft);display:inline-flex;align-items:center;gap:6px}.scanner-modes .active{background:var(--ok);color:#101011}.scanner-view{display:grid;gap:12px}.scanner-video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#0f0f10}.scanner-frame{width:min(72vw,280px);aspect-ratio:3/4;border-radius:18px;border:2px solid #e5e5dd;margin:-64% auto 0;pointer-events:none}.scanner-code{display:grid;gap:10px}.scanner-code-actions{display:flex;gap:8px}.overlay-card{display:grid;gap:12px}.overlay-card-head{display:flex;align-items:center;justify-content:space-between}.overlay-card-head h3{margin:0;font-size:28px}.overlay-card-head button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--panel-strong);color:var(--text)}.overlay-card p{margin:0;color:var(--text-soft)}.overlay-card-actions{display:flex;gap:8px}.bottom-nav{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 24px),720px);height:72px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;border:1px solid var(--line);border-radius:20px;background:#101011f5}.bottom-nav a{min-width:0;display:grid;place-items:center;gap:2px;color:var(--text-faint);text-decoration:none;font-size:11px;font-weight:800}.bottom-nav a.active{border-radius:14px;background:var(--ok);color:#101011}@media(min-width:620px){.sticker-grid,.plain-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
