:root{--bg:#f6f8f9;--surface:#fff;--surface-2:#edf1f3;--text:#1d2428;--muted:#637079;--line:#dde3e7;--accent:#0e7c86;--accent-text:#fff;--plus:#1f8a4c;--danger:#c0392b;--sun:#ffd166;--radius:4px;--shadow:0 1px 2px #0000000a, 0 4px 12px #0000000d;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14181b;--surface:#1d2226;--surface-2:#262c31;--text:#e8edf0;--muted:#93a0a8;--line:#333b41;--accent:#2fa4ae;--plus:#4cc27e;--danger:#ef6b5b}}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{text-wrap:balance;margin:0}button,input,textarea,select{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.error{color:var(--danger)}.empty{justify-items:center;gap:12px;padding:48px 0;display:grid}.spacer{flex:1}.stack{gap:16px;display:grid}.title{letter-spacing:-.02em;font-size:1.3rem}.hero-emoji{margin:0;font-size:3rem}.link{cursor:pointer;color:var(--accent);text-align:left;background:0 0;border:0;padding:0}.btn{background:var(--surface-2);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:40px;min-height:40px;padding:0 16px;font-size:.95rem;display:inline-flex}.btn.small{min-height:32px;padding:0 12px;font-size:.85rem}.btn.ghost{background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-text);font-weight:600}.btn.icon{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;font-size:1.2rem}.btn.danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn:disabled{opacity:.4;cursor:default}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app{max-width:760px;margin:0 auto;padding:0 16px 112px}.app.narrow{max-width:520px}.topbar{z-index:500;padding:12px 0;padding-top:max(12px, env(safe-area-inset-top));background:var(--bg);align-items:center;gap:8px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.topbar-title{font-size:1.1rem}.trip-head{min-width:0}.trip-head h1{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:1.15rem;overflow:hidden}.trip-head p{margin:2px 0 0}.tabs{background:var(--surface-2);border-radius:999px;gap:2px;padding:3px;display:flex}.tabs a{text-align:center;color:var(--muted);border-radius:999px;flex:1;padding:8px 0;font-size:.95rem}.tabs a.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.trip-sticky{z-index:500;background:var(--bg);margin-bottom:4px;padding-bottom:12px;position:sticky;top:0}.trip-sticky .topbar{position:static}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);gap:10px;padding:16px;display:grid}.card h2{font-size:1.05rem}.badge{background:var(--surface-2);color:var(--muted);border-radius:999px;flex:none;padding:3px 10px;font-size:.75rem;font-weight:600}.badge.on{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.fab{right:max(16px,50vw - 364px);bottom:calc(24px + env(safe-area-inset-bottom));z-index:600;cursor:pointer;background:var(--accent);width:56px;height:56px;color:var(--accent-text);border:0;border-radius:50%;place-items:center;font-size:1.6rem;display:grid;position:fixed;box-shadow:0 6px 20px #0003}.section{margin-top:8px;margin-bottom:24px}.section-title{color:var(--muted);margin:0 4px 10px;font-size:.9rem;font-weight:600}.trip-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.trip-card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border-left:4px solid var(--accent);align-items:center;gap:12px;padding:18px;display:flex}.trip-card:hover{background:var(--surface-2)}.trip-card>div{flex:1;min-width:0}.trip-card h3{margin-bottom:4px;font-size:1.1rem}.trip-card p{margin:0}.editor{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);gap:16px;padding:20px;display:grid}.editor.flat{box-shadow:none;background:0 0;padding:0}.editor label,.field{color:var(--muted);gap:6px;font-size:.85rem;display:grid}.editor input:not([type=checkbox],[type=radio]),.editor textarea,.editor select{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--text);border-radius:3px;padding:10px 12px;font-size:1rem}.editor input:focus,.editor textarea:focus,.editor select:focus{outline:2px solid var(--accent);outline-offset:-1px}.editor textarea{resize:vertical}.editor fieldset{border:0;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;display:flex}.editor legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:.85rem}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.chip{cursor:pointer;border:1.5px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:7px 14px;position:relative;color:var(--text)!important;font-size:.9rem!important;display:inline-flex!important}.chip input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.chip.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:600}.chip:focus-within{outline:2px solid var(--accent)}.check{cursor:pointer;align-items:center;gap:8px;font-size:.95rem;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.amount-input{align-items:center;gap:8px;display:flex}.editor .amount-input input{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.sheet-backdrop{z-index:1000;overscroll-behavior:contain;background:#0006;place-items:end center;display:grid;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;padding:8px 20px calc(24px + env(safe-area-inset-bottom));border-radius:5px 5px 0 0;animation:.2s ease-out up;overflow-y:auto}.sheet-head{z-index:1;background:var(--surface);justify-content:space-between;align-items:center;padding:8px 0 12px;display:flex;position:sticky;top:0}.sheet-head h2{font-size:1.15rem}@media (width>=640px){.sheet-backdrop{align-items:center}.sheet{border-radius:5px}}@keyframes up{0%{opacity:0;transform:translateY(24px)}}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login-card{background:var(--surface);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:5px;gap:14px;padding:32px 24px;display:grid}.login-card .brand{text-align:center;font-size:1.8rem}.login-card>p{text-align:center;margin:-6px 0 6px}.login-card label{color:var(--muted);gap:6px;font-size:.85rem;display:grid}.login-card input{border:1px solid var(--line);background:var(--bg);border-radius:3px;padding:12px;font-size:1rem}.login-card .btn{min-height:48px}.invite-link{background:var(--surface-2);overflow-wrap:anywhere;border-radius:3px;padding:10px 12px;font-size:.85rem;display:block}.member-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.member-list li{align-items:center;gap:10px;min-height:48px;display:flex}.member-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.avatar{background:color-mix(in srgb, var(--accent) 16%, transparent);width:36px;height:36px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.day-picker{scrollbar-width:none;padding:2px;scroll-snap-type:x proximity;gap:8px;margin:0 -16px;padding-inline:16px;display:flex;overflow-x:auto}.day-picker::-webkit-scrollbar{display:none}.day-picker button{scroll-snap-align:start;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:3px;flex:none;justify-items:center;gap:2px;padding:8px 14px;display:grid;position:relative}.day-picker button strong{font-size:.9rem}.day-picker button span{color:var(--muted);font-size:.75rem}.day-picker button.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.day-picker button.on strong{color:var(--accent)}.day-count{background:var(--accent);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-style:normal;display:grid;position:absolute;top:-6px;right:-6px}.day-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.day-head h2{margin-right:auto;font-size:1.1rem}.timeline{margin:0;padding:0;list-style:none}.stop{align-items:flex-start;gap:12px;display:flex}.stop-num{background:var(--surface-2);width:30px;height:30px;color:var(--muted);border-radius:50%;flex:none;place-items:center;margin-top:12px;font-size:.85rem;font-weight:700;display:grid}.stop-num.on{background:var(--accent);color:#fff}.stop-body{background:var(--surface);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);flex:1;align-items:center;gap:4px;padding:4px 6px 4px 0;display:flex}.stop-main{text-align:left;cursor:pointer;border-radius:var(--radius);background:0 0;border:0;flex:1;gap:3px;min-width:0;padding:10px 14px;display:grid}.stop-main:hover{background:var(--surface-2)}.stop-main strong{font-size:1rem}.stop-time{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.stop-memo{color:var(--muted);white-space:pre-wrap;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.stop-tools{flex:none;align-items:center;display:flex}.leg{border-left:2px dashed var(--line);margin-left:14px;padding:6px 0 6px 28px}.leg a{color:var(--accent)}.plain-list{gap:6px;margin:0;padding-left:18px;display:grid}@media (width<=480px){.stop-tools .btn.icon{width:30px;min-width:30px}.stop-tools .btn.small{padding:0 8px}}.place-search{gap:6px;display:grid}.place-input{align-items:center;gap:8px;display:flex}.place-search p{margin:0}.place-results{border:1px solid var(--line);border-radius:3px;max-height:260px;margin:0;padding:4px;list-style:none;display:grid;overflow-y:auto}.place-results button{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:2px;gap:2px;padding:8px 10px;display:grid}.place-results button:hover,.place-results button:focus-visible{background:var(--surface-2)}.place-results .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map{border-radius:var(--radius);height:min(60dvh,520px);box-shadow:var(--shadow);z-index:0;overflow:hidden}.map-controls{justify-content:flex-end;display:flex}.pin span{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.75rem;font-weight:700;display:grid;box-shadow:0 2px 6px #00000059}.legend{gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.legend i{vertical-align:middle;border-radius:2px;width:14px;height:4px;margin-right:8px;display:inline-block}.route-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.route-list li{align-items:center;gap:10px;display:flex}.route-list .stop-num{width:26px;height:26px;margin:0;font-size:.75rem}.route-leg{font-variant-numeric:tabular-nums;margin-left:auto}.leaflet-popup-content{font-family:inherit}.summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.summary div{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);gap:4px;min-width:0;padding:12px;display:grid}.summary strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.05rem}.segmented{background:var(--surface-2);border-radius:999px;gap:2px;padding:3px;display:flex}.segmented button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;flex:1;padding:8px 0}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.my-balance{border-left:4px solid var(--line);gap:4px}.my-balance strong{font-size:1.3rem}.my-balance.plus{border-left-color:var(--plus)}.my-balance.plus strong{color:var(--plus)}.my-balance.minus{border-left-color:var(--danger)}.my-balance.minus strong{color:var(--danger)}.transfers{gap:6px;margin:0;padding:0;list-style:none;display:grid}.transfers li{background:var(--surface-2);border-radius:3px;align-items:center;gap:8px;padding:10px 12px;display:flex}.transfers li.me{outline:1.5px solid var(--accent)}.transfers .arrow{color:var(--muted)}.transfers strong{font-variant-numeric:tabular-nums;margin-left:auto}.table-wrap{overflow-x:auto}.balance-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.balance-table th,.balance-table td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 6px}.balance-table th:first-child{text-align:left}.balance-table thead th{color:var(--muted);font-size:.8rem;font-weight:500}.group-title{justify-content:space-between;margin:8px 4px;font-size:.9rem;display:flex}.money-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.money-list button{text-align:left;cursor:pointer;border-radius:var(--radius);background:var(--surface);width:100%;box-shadow:var(--shadow);color:var(--text);border:0;align-items:center;gap:12px;padding:12px 14px;display:flex}.money-list button:hover{background:var(--surface-2)}.money-emoji{font-size:1.4rem}.money-main{flex:1;gap:2px;min-width:0;display:grid}.money-main strong,.money-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.money-list button>strong{font-variant-numeric:tabular-nums}@media (width<=420px){.summary strong{font-size:.95rem}.summary div{padding:10px}}html{-webkit-tap-highlight-color:transparent}a,button,label,input,textarea,select{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.row2.top{align-items:start}.field-head{justify-content:space-between;align-items:center;display:flex}.wheel-add{border:1px dashed var(--line);cursor:pointer;width:100%;min-height:46px;color:var(--accent);background:0 0;border-radius:3px;font-size:.95rem}.wheel{border:1px solid var(--line);background:var(--surface);height:96px;color:var(--text);border-radius:3px;justify-content:center;align-items:center;gap:2px;display:flex;position:relative;overflow:hidden}.wheel-col{z-index:1;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;outline:none;flex:1;min-width:0;height:96px;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 30% 70%,#0000);mask-image:linear-gradient(#0000,#000 30% 70%,#0000)}.wheel-col::-webkit-scrollbar{display:none}.wheel-col:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:3px}.wheel-item{cursor:pointer;white-space:nowrap;scroll-snap-align:center;width:100%;height:32px;color:var(--muted);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0;font-size:.95rem;display:block}.wheel-item.on{color:var(--text);font-weight:700}.wheel-colon{z-index:1;font-weight:700;position:relative}.wheel-band{background:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;border-radius:2px;height:32px;position:absolute;top:32px;left:4px;right:4px}.cat-filter{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.cat-filter::-webkit-scrollbar{display:none}.cat-filter .chip{font:inherit;white-space:nowrap;background:0 0;flex:none}.notice{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);border-radius:3px;margin:0;padding:10px 12px;font-size:.9rem}.place-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.place-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);gap:10px;padding:12px;display:grid}.place-main{text-align:left;width:100%;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;align-items:flex-start;gap:10px;padding:0;display:flex}.place-emoji{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:1rem;display:grid}.place-text{gap:3px;min-width:0;display:grid}.place-text .small{overflow-wrap:anywhere}.place-text .badge{justify-self:start}.place-tools{flex-wrap:wrap;gap:6px;display:flex}.day-choices{gap:8px;display:grid}.day-choice{border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:3px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.day-choice:hover,.day-choice:focus-visible{border-color:var(--accent)}.saved-pin span{background:var(--surface);border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;display:grid;box-shadow:0 1px 4px #00000059}.map-controls{flex-wrap:wrap;gap:16px}.day-choice .small{white-space:nowrap;flex:none}.offline-note{background:var(--surface-2);color:var(--muted);border-radius:3px;margin:0 0 12px;padding:10px 12px;font-size:.85rem}
