@font-face{font-family:Pretendard;src:url(/fonts/Pretendard.subset.woff2) format("woff2-variations");font-weight:45 930;font-display:swap}:root{--bg: #f2f4f6;--surface: #ffffff;--ink: #191f28;--sub: #4e5968;--muted: #66707d;--line: #e5e8eb;--fill: #f2f4f6;--fill-press: #e8ebed;--primary: #1b64da;--primary-press: #124e9e;--primary-tint: #e8f3ff;--danger: #d92b22;--danger-tint: #ffeceb;--st-todo-bg: #f2f4f6;--st-todo-fg: #5f6976;--st-draft-bg:#fff3e0;--st-draft-fg:#b45309;--st-ok-bg: #e8f3ff;--st-ok-fg: #1b64da;--st-no-bg: #ffeceb;--st-no-fg: #c9302a;--pin-todo: #8b95a1;--pin-draft: #f59e0b;--pin-ok: #1b64da;--pin-no: #d92b22;--r-card: 16px;--r-btn: 12px;--r-input: 12px;--r-sheet: 20px;--tap: 52px;--t-xs: .8125rem;--t-sm: .875rem;--t-base: .9375rem;--t-md: 1.0625rem;--t-lg: 1.25rem;--t-xl: 1.5rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--dur: .16s;--ease: cubic-bezier(.25, .1, .25, 1);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}a,button,input,select,textarea,.chip,.row-link{touch-action:manipulation}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-size:var(--t-base);line-height:1.5;letter-spacing:-.01em;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit;font-variant-numeric:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.bar{display:flex;align-items:center;gap:var(--sp-2);height:56px;padding:0 var(--sp-2) 0 var(--sp-1);padding-top:env(safe-area-inset-top);box-sizing:content-box;background:var(--surface);position:sticky;top:0;z-index:10}.bar>*{flex:none}.bar h1{font-size:var(--t-md);font-weight:700;letter-spacing:-.03em;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar .sub{color:var(--muted);font-size:var(--t-sm);flex:none}.icon-btn{text-decoration:none}.icon-btn{width:44px;height:44px;display:grid;place-items:center;flex:none;border:none;background:none;border-radius:50%;color:var(--ink);font-size:28px;font-weight:300;line-height:1;padding-bottom:4px;cursor:pointer}.icon-btn:active{background:var(--fill)}.text-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-2);flex:none;border:none;background:none;border-radius:8px;color:var(--sub);font-size:var(--t-sm);font-weight:600;text-decoration:none;cursor:pointer}.text-btn:active{background:var(--fill)}.text-btn .count{display:inline-block;min-width:18px;margin-left:4px;padding:1px 5px;border-radius:999px;background:var(--primary);color:#fff;font-size:11px;font-weight:700}.sync{display:inline-flex;align-items:center;gap:5px;flex:none;min-height:32px;padding:0 10px;border:none;border-radius:999px;font-size:var(--t-xs);font-weight:600;white-space:nowrap}.sync-busy{background:var(--fill);color:var(--muted)}.sync-off{background:var(--fill);color:var(--sub)}.sync-pend{background:var(--st-draft-bg);color:var(--st-draft-fg);cursor:pointer}.sync-pend:active{filter:brightness(.96)}.summary{background:var(--surface);padding:0 var(--sp-5) var(--sp-5)}.summary-top{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3)}.summary-num{font-size:1.75rem;font-weight:800;letter-spacing:-.04em}.summary-of{color:var(--muted);font-size:var(--t-sm)}.summary-right{margin-left:auto;color:var(--sub);font-size:var(--t-sm);font-weight:600}.bar-track{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--fill)}.bar-seg{transition:flex-grow var(--dur) var(--ease)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 var(--sp-5);border:none;border-radius:var(--r-btn);background:var(--fill);color:var(--sub);font-size:var(--t-md);font-weight:700;letter-spacing:-.02em;cursor:pointer;transition:background var(--dur) var(--ease)}.btn:active{background:var(--fill-press)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:active{background:var(--primary-press)}.btn.danger{background:var(--danger);color:#fff}.btn.quiet{background:none;color:var(--muted);font-weight:600}.btn.quiet:active{background:var(--fill)}.btn:disabled{opacity:.4;cursor:not-allowed}.page{padding:var(--sp-4) var(--sp-4);padding-bottom:calc(96px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto}.card{background:var(--surface);border-radius:var(--r-card);padding:var(--sp-5);margin-bottom:var(--sp-3)}.card h2{font-size:var(--t-md);font-weight:700;letter-spacing:-.03em;margin:0 0 var(--sp-4)}.row{display:flex;gap:var(--sp-2);align-items:center}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:var(--t-sm)}label.f{display:block;font-size:var(--t-sm);font-weight:600;color:var(--sub);margin:var(--sp-4) 0 var(--sp-2)}label.f:first-of-type{margin-top:0}input.f,select.f,textarea.f{width:100%;min-height:var(--tap);padding:var(--sp-3) var(--sp-4);border:none;border-radius:var(--r-input);background:var(--fill);color:var(--ink);font-size:1rem;font-weight:500;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input.f:focus,select.f:focus,textarea.f:focus{background:var(--surface);box-shadow:inset 0 0 0 2px var(--primary);outline:none}textarea.f{min-height:88px;resize:vertical;line-height:1.5}input.f::placeholder,textarea.f::placeholder{color:var(--muted);font-weight:400}input.f[type=number]{font-size:var(--t-lg);font-weight:700;text-align:right}.opts{display:flex;gap:var(--sp-5);margin-top:var(--sp-4)}.opts label{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;cursor:pointer;font-size:var(--t-sm);font-weight:600;color:var(--sub)}.opts input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:0}.seg{display:flex;gap:var(--sp-1);padding:var(--sp-1);background:var(--fill);border-radius:14px}.seg button{flex:1;min-height:46px;border:none;border-radius:11px;background:none;color:var(--muted);font-size:var(--t-md);font-weight:700;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink)}.seg button.ok[aria-pressed=true]{color:var(--st-ok-fg)}.seg button.no[aria-pressed=true]{color:var(--st-no-fg)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chip{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 var(--sp-4);border:none;border-radius:999px;background:var(--fill);color:var(--sub);font-size:var(--t-sm);font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.chip:active{background:var(--fill-press)}.chip[aria-pressed=true]{background:var(--primary-tint);color:var(--primary-press);font-weight:700}.chip.no[aria-pressed=true]{background:var(--st-no-bg);color:var(--st-no-fg)}.badge{display:inline-flex;align-items:center;gap:3px;padding:4px 9px;border-radius:8px;font-size:var(--t-xs);font-weight:700;white-space:nowrap}.badge .glyph{font-size:.85em}.notice{background:var(--primary-tint);color:var(--primary-press);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-btn);font-size:var(--t-sm);font-weight:600;margin-bottom:var(--sp-3)}.notice.error{background:var(--danger-tint);color:var(--st-no-fg)}.picker{width:100%;min-height:92px;margin-top:var(--sp-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;border-radius:var(--r-input);background:var(--fill);color:var(--sub);font-size:var(--t-sm);font-weight:600;cursor:pointer}.picker:active{background:var(--fill-press)}.picker .plus{font-size:22px;line-height:1;color:var(--muted)}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--sp-2);margin-top:var(--sp-2)}.thumb{position:relative;aspect-ratio:1;border-radius:var(--r-input);overflow:hidden;background:var(--fill)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .x{position:absolute;top:4px;right:4px;width:28px;height:28px;display:grid;place-items:center;border:none;border-radius:50%;background:#191f2899;color:#fff;font-size:15px;line-height:1;padding:0;cursor:pointer}.thumb .pend{position:absolute;bottom:0;left:0;right:0;background:#191f28a6;color:#fff;font-size:11px;font-weight:600;text-align:center;padding:2px 0}.slot{border-top:1px solid var(--line);margin-top:var(--sp-3);padding-top:var(--sp-3)}.slot:first-of-type{border-top:none;margin-top:var(--sp-4);padding-top:0}.area-row{display:flex;justify-content:space-between;align-items:center;margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--fill);border-radius:var(--r-input);font-weight:700;font-size:var(--t-md)}.slot-foot{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:2px;padding:0 2px}.slot-foot .area{font-weight:700;font-size:var(--t-sm)}.picker-pair{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.picker-pair .picker{flex:1;margin-top:0}.pick-row{display:flex;gap:var(--sp-2)}.pick-row .btn{flex:1}.tray{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-4)}.tray-item{display:flex;gap:var(--sp-3);align-items:flex-start;padding-top:var(--sp-3);border-top:1px solid var(--line)}.tray-item:first-child{border-top:none;padding-top:0}.tray-thumb{width:76px;height:76px;flex:none;padding:0;border:none;border-radius:var(--r-input);overflow:hidden;background:var(--fill);cursor:pointer}.tray-thumb img{width:100%;height:100%;object-fit:cover;display:block}.side-head{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:52px;padding:0;border:none;background:none;text-align:left;cursor:pointer;color:inherit}.side-head .chev-down{color:var(--muted);font-size:13px;flex:none;transition:transform var(--dur) var(--ease)}.side-head[aria-expanded=true] .chev-down{transform:rotate(180deg)}.side-sum{color:var(--sub);font-size:var(--t-sm);font-weight:600}.side-sum.off{color:var(--muted);font-weight:500}.thumb-open{display:block;width:100%;height:100%;padding:0;border:none;background:none;cursor:pointer}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;background:#0d0f12;animation:fade-in var(--dur) var(--ease)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);padding-top:max(var(--sp-2),env(safe-area-inset-top));color:#fff;font-size:var(--t-sm);font-weight:600}.viewer-body{flex:1;display:grid;place-items:center;min-height:0;padding:var(--sp-3)}.viewer-body img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.viewer-note{color:#fff;opacity:.7;font-size:var(--t-sm)}.viewer-nav{display:flex;gap:var(--sp-2);padding:var(--sp-3);padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom))}.viewer-nav .btn{flex:1;background:#ffffff24;color:#fff}.viewer-nav .btn:disabled{opacity:.35}.foot{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) var(--sp-3);padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom));background:var(--surface);max-width:560px;margin:0 auto}.foot .btn{flex:1}.foot .btn.primary{flex:2}.maproot{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg)}.mapbox{flex:1;position:relative;min-height:0}#map{position:absolute;top:0;right:0;bottom:0;left:0}.filters{display:flex;gap:6px;padding:var(--sp-2) var(--sp-4) var(--sp-3);overflow-x:auto;scrollbar-width:none;background:var(--surface)}.filters::-webkit-scrollbar{display:none}.filters .chip{white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;background:#191f2859;animation:fade-in var(--dur) var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:30;max-width:560px;margin:0 auto;background:var(--surface);border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:var(--sp-2) var(--sp-5) var(--sp-5);padding-bottom:max(var(--sp-5),env(safe-area-inset-bottom));animation:sheet-up .26s var(--ease);overscroll-behavior:contain}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.grip{width:40px;height:4px;border-radius:2px;background:#d1d6db;margin:0 auto var(--sp-4)}.toolbar{background:var(--surface);position:sticky;top:calc(56px + env(safe-area-inset-top));z-index:9}.toolbar>*{max-width:560px;margin-left:auto;margin-right:auto}.toolbar{padding:0 var(--sp-4) var(--sp-3)}.toolbar .row{margin-top:var(--sp-2)}.stats{display:flex;gap:var(--sp-2);margin:0}.stats>div{flex:1;background:var(--fill);border-radius:var(--r-input);padding:var(--sp-3) var(--sp-4)}.stats dt{font-size:var(--t-xs);color:var(--muted);font-weight:600;margin-bottom:2px}.stats dd{margin:0;font-size:var(--t-md);font-weight:700;letter-spacing:-.02em}.stats dd.warn{color:var(--st-draft-fg)}.who{display:inline-flex;align-items:center;min-height:44px;flex:none;padding:0 var(--sp-2);border:none;background:none;border-radius:8px;color:var(--sub);font-size:var(--t-sm);font-weight:600;cursor:pointer}.who:active{background:var(--fill)}.list{list-style:none;margin:0;padding:0;background:var(--surface);border-radius:var(--r-card);overflow:hidden}.list li{content-visibility:auto;contain-intrinsic-size:auto 76px}.list li+li .row-link:before{content:"";position:absolute;top:0;left:var(--sp-5);right:0;border-top:1px solid var(--line)}.row-link{position:relative;display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-4) var(--sp-5);min-height:68px;text-decoration:none;color:inherit}.row-link:active{background:#f9fafb}.row-link .name{font-weight:600;letter-spacing:-.02em}.row-link .no{color:var(--muted);font-size:var(--t-sm);font-weight:500}.row-link .sub{color:var(--muted);font-size:var(--t-xs);display:block;margin-top:2px}.chev{color:#c4cad0;font-size:18px;flex:none}.empty{text-align:center;color:var(--muted);padding:56px var(--sp-4);font-size:var(--t-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
