@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/static/pretendard.css");:root{--cream:#f5f2ec;--cream-dim:#ede9e0;--white:#fefcf7;--paper:#fbf8f1;--forest:#1f3d2b;--forest-deep:#142818;--ink:#15201a;--ink-soft:#3a4a3f;--sage:#c8d4a8;--sage-dim:#dde5c5;--sage-deep:#a8b886;--amber:#e8a94a;--amber-soft:#f6e5c5;--rust:#c85a3a;--line:rgba(31,61,43,.12);--line-soft:rgba(31,61,43,.06);--mute:rgba(31,61,43,.55);--mute-soft:rgba(31,61,43,.35);--font:"Pretendard","Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",system-ui,sans-serif;--font-mono:"JetBrains Mono","SF Mono","Menlo",monospace;--radius:20px;--radius-sm:12px;--radius-pill:999px;--shadow:0 1px 2px rgba(31,61,43,.04),0 4px 12px rgba(31,61,43,.06);--shadow-lg:0 8px 32px rgba(31,61,43,.12);--transition:0.18s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);color:var(--forest-deep);background:var(--cream);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}@media (min-width:640px){.container{padding:0 28px}}@media (min-width:1024px){.container{padding:0 40px}}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:600;color:var(--mute);font-family:var(--font)}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-p{padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font);font-weight:600;letter-spacing:-.2px;transition:all var(--transition);white-space:nowrap}.btn:hover{opacity:.88;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--forest);color:var(--cream)}.btn-sage{background:var(--sage);color:var(--forest-deep)}.btn-amber{background:var(--amber);color:#3a2a10}.btn-ghost{background:transparent;color:var(--forest);border:1px solid var(--line)}.btn-danger{background:var(--rust);color:#fff}.btn-sm{height:36px;padding:0 16px;font-size:13px}.btn-md{height:48px;padding:0 22px;font-size:15px}.btn-lg{height:56px;padding:0 28px;font-size:16px}.btn-full{width:100%}.btn:disabled{opacity:.4;cursor:default;transform:none}.chip{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:16px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink-soft);font-family:var(--font);transition:all var(--transition)}.chip.active{background:var(--forest);color:var(--cream);border-color:transparent}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.2px;white-space:nowrap}.badge-forest{background:var(--forest);color:var(--cream)}.badge-sage{background:var(--sage);color:var(--forest-deep)}.badge-amber{background:var(--amber);color:#3a2a10}.badge-cream{background:var(--cream-dim);color:var(--forest)}.badge-rust{background:var(--rust);color:#fff}.badge-green{background:var(--sage-dim);color:var(--forest-deep)}.badge-gray{background:var(--cream-dim);color:var(--mute)}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:11px;font-weight:600;color:var(--mute);letter-spacing:.5px;text-transform:uppercase}.input{width:100%;padding:14px 16px;font-size:15px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);outline:none;transition:border var(--transition);font-family:var(--font);color:var(--forest-deep)}.input:focus{border-color:var(--forest)}.input::placeholder{color:var(--mute-soft)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10px;font-weight:700;color:var(--mute);background:var(--cream);border-bottom:1px solid var(--line);white-space:nowrap;letter-spacing:1px;text-transform:uppercase}td,th{padding:12px 16px}td{border-bottom:1px solid var(--line-soft)}.page-title{font-size:28px;font-weight:700;letter-spacing:-.6px;color:var(--forest-deep)}.page-sub{font-size:13px;color:var(--mute);margin-top:4px}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-slide{animation:fadeSlideIn .45s cubic-bezier(.2,.8,.3,1) both}@keyframes fadeScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-scale{animation:fadeScale .3s cubic-bezier(.2,.8,.3,1) both}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .35s cubic-bezier(.2,.8,.3,1) both}@keyframes tapBounce{0%{transform:scale(1)}35%{transform:scale(1.06)}70%{transform:scale(.97)}to{transform:scale(1)}}.tap-bounce{animation:tapBounce .35s cubic-bezier(.34,1.56,.64,1)}@keyframes fillPop{0%{transform:scaleY(.4);opacity:.3}70%{transform:scaleY(1.15);opacity:1}to{transform:scaleY(1);opacity:1}}.fill-pop{animation:fillPop .35s cubic-bezier(.34,1.56,.64,1) both;transform-origin:bottom}@keyframes stampDrop{0%{transform:translateY(-40px) scale(1.25) rotate(-4deg);opacity:0}60%{transform:translateY(6px) scale(.96) rotate(1deg);opacity:1}85%{transform:translateY(-2px) scale(1.02) rotate(-.5deg)}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}.stamp-drop{animation:stampDrop .8s cubic-bezier(.25,.8,.3,1.2) both}@keyframes leafFall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:1}to{transform:translate(var(--dx,20px),120vh) rotate(var(--rot,1turn));opacity:0}}.leaf-fall{animation:leafFall var(--dur,6s) linear infinite}@keyframes countPop{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.count-pop{animation:countPop .25s ease both}@keyframes rippleExpand{0%{transform:scale(0);opacity:.4}to{transform:scale(2.5);opacity:0}}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.sway{animation:sway 4s ease-in-out infinite;transform-origin:bottom center}@keyframes growIn{0%{transform:scale(0) translateY(20px);opacity:0}60%{transform:scale(1.08) translateY(-2px);opacity:1}to{transform:scale(1) translateY(0)}}.grow-in{animation:growIn .9s cubic-bezier(.25,.8,.3,1.2) both;transform-origin:bottom center}@keyframes sparkle{0%,to{opacity:.5;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}.sparkle{animation:sparkle 1.8s ease-in-out infinite}@keyframes rewardBounce{0%{transform:translateY(-10px) scale(.8);opacity:0}60%{transform:translateY(4px) scale(1.04);opacity:1}to{transform:translateY(0) scale(1)}}.reward-bounce{animation:rewardBounce .5s cubic-bezier(.34,1.56,.64,1) both}@media (prefers-reduced-motion:reduce){.count-pop,.fade-slide,.fill-pop,.grow-in,.leaf-fall,.reward-bounce,.sparkle,.stamp-drop,.sway,.tap-bounce{animation:none!important}}.edit-panel{background:var(--white);border-radius:var(--radius);border:1px solid var(--line);padding:20px;box-shadow:var(--shadow)}.progress-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--forest);border-radius:3px;transition:width .3s ease}.sticky-bottom{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--line);padding:12px 20px;box-shadow:0 -8px 32px rgba(31,61,43,.08);z-index:50}