:root{--bg: #fbf7ec;--fg: #20262a;--card: #fffdf7;--line: #20262a;--muted: #6b7280;--primary: #ff6b5c;--accent: #17b0c4;--pos: #17b0c4;--neg: #e5484d;--danger: #e5484d;--radius: 14px 12px 15px 11px;--shadow: 3px 3px 0 var(--line)}:root[data-theme=dark]{--bg: #20262a;--fg: #fbf7ec;--card: #2a3238;--line: #fbf7ec;--muted: #9aa5ad}*{box-sizing:border-box}body{margin:0;font-family:Sarabun,system-ui,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Itim,cursive;font-weight:400}.screen{min-height:100dvh;padding:1.25rem;max-width:640px;margin:0 auto}.screen--center{display:grid;place-items:center;gap:1rem;text-align:center}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:600}.rough-defs{position:absolute;width:0;height:0;overflow:hidden}.field{position:relative;z-index:0;display:block;margin-bottom:.6rem}.field:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2.5px solid var(--line);border-radius:var(--radius);filter:url(#rough-sm-2)}.input,.select{display:block;width:100%;padding:.75rem .9rem;font:inherit;color:var(--fg);background:none;border:2.5px solid transparent;border-radius:var(--radius);margin-bottom:0}.btn{position:relative;z-index:0;font:inherit;font-weight:600;padding:.7rem 1rem;color:var(--fg);background:none;border:none;cursor:pointer;transition:transform .05s ease}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);filter:url(#rough-sm-3)}.btn:active{transform:translate(2px,2px)}.btn:active:before{box-shadow:1px 1px 0 var(--line)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary,.btn--danger{color:#fff}.btn.btn--primary:before{background:var(--primary)}.btn.btn--danger:before{background:var(--danger)}.btn.btn--ghost:before{background:transparent;box-shadow:none}.btn--small{padding:.4rem .7rem;font-size:.85rem}.btn--small:before{filter:url(#rough-sm-1)}.card{position:relative;z-index:0;background:none;border:none;box-shadow:none;padding:1rem;margin:1rem 0}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);filter:url(#rough-1)}.recent__title{margin-bottom:.5rem}.recent__list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.recent__item{display:flex;gap:.5rem}.recent__open{position:relative;z-index:0;flex:1;display:flex;justify-content:space-between;align-items:center;font:inherit;text-align:left;padding:.7rem .9rem;background:none;border:none;box-shadow:none;cursor:pointer;color:var(--fg)}.recent__open:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);filter:url(#rough-3)}.recent__item:nth-child(3n+2) .recent__open:before{filter:url(#rough-1)}.recent__item:nth-child(3n) .recent__open:before{filter:url(#rough-2)}.recent__code{font-family:Itim,cursive;letter-spacing:.1em;color:var(--muted)}.recent__forget{border:none;background:none;font-size:1.1rem;cursor:pointer;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:.5rem}.theme-toggle{position:relative;z-index:0;font-size:1.3rem;line-height:1;padding:.35rem .55rem;background:none;border:none;box-shadow:none;cursor:pointer;color:var(--fg)}.theme-toggle:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2.5px solid var(--line);border-radius:50%;box-shadow:var(--shadow);filter:url(#rough-sm-3)}.lang-switch{position:relative;z-index:0;display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;font-weight:700;line-height:1;color:var(--fg);padding:.5rem .7rem;min-height:44px;background:none;border:none;cursor:pointer}.lang-switch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2.5px solid var(--line);border-radius:13px 11px 14px 12px;box-shadow:var(--shadow);filter:url(#rough-sm-3)}.lang-switch__icon{width:1.15rem;height:1.15rem;flex:none;color:var(--muted)}.lang-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.group{padding-bottom:6rem}.group__header{display:flex;justify-content:space-between;align-items:center}.group__title{font-size:1.9rem;margin:.85rem 0 1rem;overflow-wrap:anywhere}.group__share-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1.35rem}.btn--brand{min-width:44px;min-height:44px;padding:.4rem .7rem;border-radius:10px;color:#fff;display:inline-grid;place-items:center}.btn.btn--brand:before{content:none}.btn--brand svg{width:22px;height:22px;display:block}.btn--brand:active{transform:translate(1px,1px)}.btn--brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--line{background:#06c755}.btn--messenger{background:#0084ff}.own-group-nudge{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.own-group-nudge__text{margin:0;font-weight:600}.section{margin:1.6rem 0;padding:1rem 1.1rem 1.15rem;background:var(--card);border-radius:16px;box-shadow:0 2px 12px #20262a0d}.section__title{margin:0 0 .6rem;display:flex;align-items:center;gap:.4rem}.section__icon{width:1.15em;height:1.15em;flex:none;color:var(--muted)}.field-label{margin:.9rem 0 .4rem;font-size:1rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{position:relative;z-index:0;display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .6rem;background:none;border:none}.chip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2.5px solid var(--line);border-radius:var(--radius);filter:url(#rough-sm-2)}.chips>*:nth-child(3n+2):before{filter:url(#rough-sm-3)}.chips>*:nth-child(3n):before{filter:url(#rough-sm-1)}.chip__name{font:inherit;border:none;background:none;cursor:pointer;color:var(--fg)}.chip__input{font:inherit;border:none;background:none;width:6rem;color:var(--fg)}.chip__remove{border:none;background:none;cursor:pointer;color:var(--muted)}.chip__remove--blocked{opacity:.35;cursor:not-allowed}.chip--add{cursor:pointer;font-weight:600}.chip--add:before{box-shadow:var(--shadow)}.expenses{display:grid;gap:.6rem}.expense{position:relative;z-index:0;display:block;width:100%;text-align:left;font:inherit;color:var(--fg);background:none;border:none;box-shadow:none;padding:.8rem;cursor:pointer}.expense:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);filter:url(#rough-1)}.expenses>.expense:nth-child(3n+2):before{filter:url(#rough-2)}.expenses>.expense:nth-child(3n):before{filter:url(#rough-3)}.expense__row{display:flex;justify-content:space-between;gap:.5rem;font-weight:600}.expense__desc{overflow-wrap:anywhere}.expense__meta{font-size:.85rem;margin-top:.25rem}.balances,.transfers{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.balance,.transfer{position:relative;z-index:0;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .7rem;border:none}.balance:before,.transfer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border:2px dashed var(--line);border-radius:var(--radius);filter:url(#rough-sm-2)}.balances>.balance:nth-child(3n+2):before,.transfers>.transfer:nth-child(3n+2):before{filter:url(#rough-sm-3)}.balances>.balance:nth-child(3n):before,.transfers>.transfer:nth-child(3n):before{filter:url(#rough-sm-1)}.balance--pos span:last-child{color:var(--pos);font-weight:600}.balance--neg span:last-child{color:var(--neg);font-weight:600}.balance--settled span:last-child{color:var(--muted)}.transfer--done{opacity:.6;text-decoration:line-through}.settlement-remark{margin:.5rem 0 0;font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;padding:1rem;z-index:10}.modal{position:relative;z-index:0;width:100%;max-width:460px;background:none;border:none;box-shadow:none;padding:0}.modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--bg);border:2.5px solid var(--line);border-radius:18px 15px 19px 14px;box-shadow:var(--shadow);filter:url(#rough-1)}.modal__body{max-height:90dvh;overflow-y:auto;padding:1.25rem}.modal__title{margin:0 0 .75rem}.modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.payer-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.payer-row .field{margin-bottom:0}.payer-row .field--select{flex:1}.payer-row .field--amount{width:7rem}.field--amount:before{filter:url(#rough-sm-3)}.payer-row:nth-child(3n+2) .field:before{filter:url(#rough-sm-1)}.payer-row:nth-child(3n+2) .field--amount:before{filter:url(#rough-sm-2)}.payer-row:nth-child(3n) .field:before{filter:url(#rough-sm-3)}.payer-row:nth-child(3n) .field--amount:before{filter:url(#rough-sm-1)}.icon-btn{border:none;background:none;font-size:1.1rem;cursor:pointer;color:var(--muted)}.participants{display:flex;flex-wrap:wrap;gap:.6rem}.check{display:inline-flex;align-items:center;gap:.35rem}.check input{width:1.15rem;height:1.15rem}.fab{position:fixed;right:1rem;bottom:1rem;padding:.85rem 1.2rem;font:inherit;font-weight:700;color:#fff;background:none;border:none;box-shadow:none;cursor:pointer;z-index:5}.fab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--primary);border:2.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);filter:url(#rough-3)}.fab:disabled{opacity:.5}.member-color-0{--mc-fill: #ffd9d4;--mc-ink: #c2402f;--mc-line: #f0a79c}.member-color-1{--mc-fill: #ffe3c7;--mc-ink: #b96410;--mc-line: #f2b877}.member-color-2{--mc-fill: #fdf0bf;--mc-ink: #8a6708;--mc-line: #e2c85c}.member-color-3{--mc-fill: #e2f2c2;--mc-ink: #5b7f1c;--mc-line: #b6d47f}.member-color-4{--mc-fill: #cdefd8;--mc-ink: #2c7a4b;--mc-line: #86cea3}.member-color-5{--mc-fill: #c7eeee;--mc-ink: #0f7c85;--mc-line: #7ccfd6}.member-color-6{--mc-fill: #cfe7fb;--mc-ink: #1667a8;--mc-line: #86bfe8}.member-color-7{--mc-fill: #d6ddfa;--mc-ink: #3a4fb0;--mc-line: #9aa9ea}.member-color-8{--mc-fill: #e0d7f8;--mc-ink: #6244a8;--mc-line: #b2a0e4}.member-color-9{--mc-fill: #f0d4f2;--mc-ink: #8f3d95;--mc-line: #d69fdb}.member-color-10{--mc-fill: #fbd4e4;--mc-ink: #b23a6b;--mc-line: #efa2c2}.member-color-11{--mc-fill: #ebdfd0;--mc-ink: #7d5c39;--mc-line: #cbb094}:root[data-theme=dark] .member-color-0{--mc-fill: #5a2b26;--mc-ink: #ff9a8c;--mc-line: #b45c4e}:root[data-theme=dark] .member-color-1{--mc-fill: #5c3a1b;--mc-ink: #ffb672;--mc-line: #b8823c}:root[data-theme=dark] .member-color-2{--mc-fill: #55471a;--mc-ink: #f2d264;--mc-line: #b09a3c}:root[data-theme=dark] .member-color-3{--mc-fill: #3e4f1f;--mc-ink: #c3e07a;--mc-line: #85a34c}:root[data-theme=dark] .member-color-4{--mc-fill: #24503a;--mc-ink: #7fd8a3;--mc-line: #4f9a72}:root[data-theme=dark] .member-color-5{--mc-fill: #1a4d52;--mc-ink: #6fd6de;--mc-line: #3f9aa2}:root[data-theme=dark] .member-color-6{--mc-fill: #1d4262;--mc-ink: #86c4f5;--mc-line: #4a86bd}:root[data-theme=dark] .member-color-7{--mc-fill: #2b3467;--mc-ink: #a3b0f7;--mc-line: #5f6cc0}:root[data-theme=dark] .member-color-8{--mc-fill: #3b2f63;--mc-ink: #bfa9f5;--mc-line: #7a63c2}:root[data-theme=dark] .member-color-9{--mc-fill: #542a58;--mc-ink: #e59ceb;--mc-line: #a05fa8}:root[data-theme=dark] .member-color-10{--mc-fill: #5a2740;--mc-ink: #f79bc0;--mc-line: #b3557f}:root[data-theme=dark] .member-color-11{--mc-fill: #4a3a2a;--mc-ink: #d6b487;--mc-line: #967a55}.chip.chip--member:before{background:var(--mc-fill);border-color:var(--mc-line)}.chip--member .chip__name{color:var(--mc-ink)}.member-name{color:var(--mc-ink);font-weight:600}.landing__hero{text-align:center;margin:.5rem 0 1.25rem}.landing__logo{width:56px;height:56px;display:block;margin:0 auto .75rem}.landing__headline{font-size:1.6rem;line-height:1.25;margin:0 0 .5rem}.landing__subhead{color:var(--muted);margin:0 auto;max-width:34rem}.landing__stepper{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.landing__stepper-item{position:relative;display:grid;justify-items:center;gap:.4rem;padding:0 .25rem;text-align:center}.landing__stepper-item:not(:last-child):after{content:"";position:absolute;top:1rem;left:50%;width:100%;height:2px;background:var(--line);opacity:.22}.landing__stepper-num{position:relative;z-index:1;width:2rem;height:2rem;display:grid;place-items:center;font-family:Itim,cursive;font-size:.95rem;color:#fff}.landing__stepper-num:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--primary);border:2px solid var(--line);border-radius:50%;filter:url(#rough-sm-1)}.landing__stepper-label{font-family:Itim,cursive;font-size:.9rem;line-height:1.2;color:var(--fg);max-width:7rem}.landing__section{margin:2.25rem 0}.landing__section-title{font-size:1.25rem;margin:0 0 1rem}.landing__divider{height:3px;width:62%;margin:2.25rem auto;border:none;background:var(--line);opacity:.45;border-radius:2px;filter:url(#rough-sm-2)}.landing__steps{list-style:none;padding:0;margin:0;display:grid;gap:1.1rem}.landing__step{display:grid;grid-template-columns:2.4rem 1fr;gap:.8rem;align-items:start;position:relative}.landing__step:not(:last-child):after{content:"";position:absolute;left:1.2rem;top:2.6rem;bottom:-1.1rem;width:2px;background:var(--line);opacity:.22}.landing__step-num{position:relative;z-index:0;width:2.4rem;height:2.4rem;display:grid;place-items:center;font-family:Itim,cursive;font-size:1.05rem;color:#fff}.landing__step-num:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--primary);border:2px solid var(--line);border-radius:50%;filter:url(#rough-sm-1)}.landing__step-title{font-size:1.02rem;margin:.2rem 0 .15rem}.landing__step-desc{color:var(--muted);margin:0}.landing__features{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}@media(min-width:720px){.landing__features{grid-template-columns:1fr 1fr}}.landing__feature{position:relative;z-index:0;display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem .8rem}.landing__feature:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:2px 2px 0 var(--line);filter:url(#rough-sm-2)}.landing__feature-check{color:var(--pos);font-weight:700}.landing__faq{display:grid;gap:.6rem}.landing__faq-item{position:relative;z-index:0}.landing__faq-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:2px 2px 0 var(--line);filter:url(#rough-sm-3)}.landing__faq-q{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;padding:.6rem .9rem;cursor:pointer;font-weight:700;list-style:none}.landing__faq-q::-webkit-details-marker{display:none}.landing__faq-q:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing__faq-chevron{color:var(--muted);font-size:1.3rem;transition:transform .2s ease}.landing__faq-item[open] .landing__faq-chevron{transform:rotate(90deg)}.landing__faq-a{color:var(--muted);margin:0;padding:0 .9rem .8rem}.landing__footer{margin:2.5rem 0 1rem;text-align:center}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.brand{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--fg)}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.brand__mark{width:1.7rem;height:1.7rem;display:block;flex:none}.brand__name{font-family:Itim,cursive;font-size:1.35rem}.create-card,.join-card{margin:.75rem 0;padding:.9rem 1rem}.card__label{display:block;font-weight:700;font-size:.9rem;margin:0 0 .35rem;color:var(--fg)}.btn--block{width:100%}.theme-toggle{min-width:44px;min-height:44px;display:inline-grid;place-items:center}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){[data-reveal]{animation:landing-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 45%}@keyframes landing-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}}.btn{min-height:44px}
