:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1f232c;--line: #2a2f3a;--text: #e8eaf0;--text-dim: #9aa1b1;--accent: #4c8dff;--t1: #22c55e;--t2: #eab308;--t3: #f97316;--danger: #ef4444;--radius: 12px;--tap: 44px;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Malgun Gothic,sans-serif;font-size:15px;line-height:1.5;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.app{display:flex;flex-direction:column;height:100%;max-width:640px;margin:0 auto}.header{position:sticky;top:0;z-index:20;background:#0f1115f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:env(safe-area-inset-top) 12px 8px}.header-top{display:flex;align-items:center;gap:8px;padding:10px 0 8px}.header-top h1{font-size:16px;margin:0;flex:1;min-width:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-top .chip-logout{flex:0 0 auto;padding:7px 12px;border-radius:999px;background:var(--surface-2);color:var(--text-dim);font-size:12px;white-space:nowrap}.list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 12px 96px}.chip-row{display:flex;gap:6px;margin-bottom:6px}.chip-row:last-of-type{margin-bottom:0}.chip{flex:1 1 0;min-width:0;padding:9px 6px;border-radius:999px;background:var(--surface-2);color:var(--text-dim);font-size:13px;border:1px solid transparent;white-space:nowrap;text-align:center;overflow:hidden;text-overflow:ellipsis}.chip[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:600}.chip.t1[aria-pressed=true]{background:var(--t1);color:#04210f}.chip.t2[aria-pressed=true]{background:var(--t2);color:#2a2100}.chip.t3[aria-pressed=true]{background:var(--t3);color:#2a1400}select.gu{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-height:var(--tap);font-weight:600}input.search{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-height:var(--tap);margin-top:6px}input.search::placeholder{color:#6b7280}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:8px;display:flex;gap:10px;align-items:flex-start}.card.picked{border-color:var(--accent);background:#172033}.card-check{width:26px;height:26px;flex:0 0 auto;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;font-size:15px;margin-top:2px}.card-check[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.card-body{flex:1;min-width:0}.card-title{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.card-title strong{font-size:16px;font-weight:650;overflow-wrap:anywhere}.tier-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;flex:0 0 auto}.tier-1{background:#22c55e29;color:var(--t1)}.tier-2{background:#eab30829;color:var(--t2)}.tier-3{background:#f9731629;color:var(--t3)}.card-meta{color:var(--text-dim);font-size:13px;margin-top:3px;overflow-wrap:anywhere}.card-meta.by-other{color:#d8b4fe;font-weight:600}.card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.tag{font-size:11px;padding:2px 7px;border-radius:5px;background:var(--surface-2);color:var(--text-dim)}.tag.on{background:#4c8dff2e;color:#8fb6ff}.tag.done{background:#22c55e29;color:var(--t1)}.tag.no{background:#ef444429;color:#fca5a5}.tag.other{background:#a855f733;color:#d8b4fe;font-weight:600}.card-actions{display:flex;gap:6px;margin-top:9px}.btn-sm{flex:1;min-height:38px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);font-size:13px;font-weight:600}.btn-sm.naver{color:#6ee7a8}.btn-sm.tel{color:#8fb6ff}.btn-sm:disabled{opacity:.35}.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#0f1115f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:flex;gap:8px;max-width:640px;margin:0 auto}.btn{flex:1;min-height:48px;border-radius:10px;font-weight:700;background:var(--accent);color:#fff}.btn.ghost{background:var(--surface-2);border:1px solid var(--line);color:var(--text);flex:0 0 auto;padding:0 16px}.btn:disabled{opacity:.4}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0009;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:640px;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto}.sheet h2{margin:0 0 2px;font-size:18px}.field{margin-top:16px}.field>label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px;font-weight:600}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{flex:1 1 auto;min-width:62px;min-height:var(--tap);border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-dim);font-size:13px}.seg button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650}textarea.memo{width:100%;min-height:84px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical}input[type=date]{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px;min-height:var(--tap)}.notice{padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--text-dim);font-size:14px;margin:12px;line-height:1.65}.notice.error{border-color:var(--danger);color:#fca5a5}.notice.hint{border-color:#3b4252}.notice-head{display:flex;align-items:flex-start;gap:8px}.notice-head button{flex:0 0 auto;color:var(--text-dim);font-size:18px;line-height:1;padding:0 2px}.notice code{background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:12px}.empty{text-align:center;color:var(--text-dim);padding:48px 16px;font-size:14px}.counts{font-size:12px;color:var(--text-dim);padding:4px 2px 8px}.login{max-width:360px;margin:0 auto;padding:56px 20px}.login h1{font-size:20px;margin-bottom:4px}.login p{color:var(--text-dim);font-size:13px;margin-top:0}.login input{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px;min-height:var(--tap);margin-top:8px}.login .btn{width:100%;margin-top:14px}.spinner{text-align:center;color:var(--text-dim);padding:40px;font-size:14px}
