:root{--color-canvas: #f8faff;--color-surface: #fff;--color-border: #e2eaf5;--color-border-input: #d5deeb;--color-ink: #0d1a38;--color-ink-body: #172b4d;--color-muted: #647b9b;--color-muted-strong: #526986;--color-primary: #155eef;--color-primary-dark: #004eeb;--color-chart-bar-top: #79b4ff;--color-primary-pale: #eaf2ff;--color-primary-tint: #edf4ff;--color-tab-inactive: #8792a5;--color-danger: #c33a40;--color-danger-dot: #ef4444;--color-success: #257457;--color-success-badge: #287c77;--color-success-badge-bg: #e3f5ef;--color-warn: #b64d20;--color-warn-bg: #fff1e9;--color-notice: #9a4b24;--color-notice-bg: #fffaf6;--color-retry: #e77a29;--color-retry-bg: #fff7ed;--color-notice-border: #f0d2be;--color-backdrop: rgba(13, 31, 62, .55);--color-kakao: #fee500;--font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--fw-black: 900;--fs-xs: 10px;--fs-caption: 11px;--fs-small: 12px;--fs-body-s: 13px;--fs-body: 14px;--fs-body-l: 15px;--fs-input: 16px;--fs-title-s: 17px;--fs-header: 18px;--fs-h2: 21px;--fs-h1: 23px;--fs-h1-l: 25px;--fs-display: 29px;--fs-hero: 31px;--lh-body: 1.5;--lh-loose: 1.6;--lh-title: 1.25;--ls-title: -.05em;--space-shell-x: 20px;--space-cost-x: 16px;--space-card-home: 15px;--space-card-panel: 18px;--space-card-input: 20px;--space-card-gap: 10px;--space-section: 20px;--space-field: 8px;--space-inline: 8px;--radius-card: 20px;--radius-card-home: 21px;--radius-button: 13px;--radius-input: 12px;--radius-chip: 999px;--radius-sheet: 24px;--radius-modal: 22px;--radius-icon-box: 12px;--radius-badge: 6px;--shadow-card: 0 8px 25px rgba(35, 57, 88, .055);--shadow-primary: 0 10px 20px rgba(21, 94, 239, .22);--shadow-sheet: 0 24px 70px rgba(11, 28, 60, .26);--shadow-shell: 0 0 48px rgba(25, 43, 70, .14);--shadow-nav: 0 -3px 16px rgba(32, 60, 100, .063);--ring-focus: 0 0 0 3px rgba(21, 94, 239, .1);--color-focus-border: #4c86f1;--color-border-chip: #dce4ee;--color-chip-open-border: #8bb3f5;--color-primary-wash: #f6f9ff;--color-chevron: #60748e;--color-chevron-bg: #f0f4f9;--color-step-idle: #687993;--color-step-idle-bg: #eef2f8;--color-sheet-close-bg: #f2f5f9;--shadow-chip: 0 2px 7px rgba(29, 52, 82, .04);--ring-chip-open: 0 0 0 3px rgba(21, 94, 239, .09);--shadow-chip-home: 0 4px 12px rgba(22, 51, 96, .04);--color-muted-ink: #3e506a;--h-header: 58px;--h-nav: 76px;--h-button: 50px;--h-input: 48px;--h-tab: 44px;--h-chip: 38px;--h-toggle: 21px;--w-toggle: 36px;--h-toggle-knob: 15px;--h-stepper-dot: 23px;--h-avatar: 36px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--h-view: calc(100svh - var(--safe-top));--w-shell: 430px;--z-sticky: 10;--z-nav: 20;--z-toast: 30;--z-sheet: 100;--z-modal: 110;--z-overlay: 1000;--color-pending: #9a6a10;--color-pending-bg: #fff4dc;--color-danger-soft: #b44c4c;--color-danger-soft-bg: #fff8f8;--color-danger-soft-border: #f0d2d2;--color-validation: #9b6317;--color-validation-bg: #fff5e9;--ws-avatar-0-ink: #2460b4;--ws-avatar-0-bg: #edf4ff;--ws-avatar-1-ink: #976379;--ws-avatar-1-bg: #fce8ee;--ws-avatar-2-ink: #2b7883;--ws-avatar-2-bg: #e4f6f2;--ws-avatar-3-ink: #7463b9;--ws-avatar-3-bg: #f0e6fc;--ws-avatar-4-ink: #8c7553;--ws-avatar-4-bg: #fff1df;--avatar-0-ink: #0961d8;--avatar-0-bg: #e8f2ff;--avatar-1-ink: #159a75;--avatar-1-bg: #e6f7f0;--avatar-2-ink: #ec7417;--avatar-2-bg: #fff0e5;--avatar-3-ink: #6d54e9;--avatar-3-bg: #eeebff;--avatar-4-ink: #d33e83;--avatar-4-bg: #ffe9f1;--avatar-5-ink: #068b8b;--avatar-5-bg: #e1f5f4;--color-cost-rent: #f17363;--color-cost-rent-bg: #f7f8fb;--color-violet: #7752e8;--color-violet-bg: #f1efff;--color-dashed: #a9c9ff;--color-placeholder: #aab4c2;--color-insurance: #159b68;--color-insurance-bg: #e6f7ee;--color-retirement: #814de0;--color-retirement-bg: #f2eaff;--color-extras-bg: #eef2f7;--color-increase: #e3504c;--color-decrease: #238663;--color-trend: #b7d3ff;--color-trend-empty: #dbe6f5;--color-hero-border: #d4e4ff;--color-cost-ingredients: #f0aa5a;--color-cost-labor: #678de8;--color-cost-rent-dot: #a78be4;--color-cost-other: #9aa9bd;--color-chart-leader: #9aa9bc;--color-panel: #f3f7fc;--color-negative: #c34d55;--color-hero-from: #f2f7ff;--color-hero-to: #eaf3ff}@font-face{font-family:Pretendard;font-weight:900;font-display:swap;src:local("Pretendard Black"),url(/assets/Pretendard-Black.subset-DBVlHUpa.woff2) format("woff2"),url(/assets/Pretendard-Black.subset-BHKzTnjN.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:800;font-display:swap;src:local("Pretendard ExtraBold"),url(/assets/Pretendard-ExtraBold.subset-C8ahUYWx.woff2) format("woff2"),url(/assets/Pretendard-ExtraBold.subset-A1cPG3di.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:700;font-display:swap;src:local("Pretendard Bold"),url(/assets/Pretendard-Bold.subset-NvQkMce4.woff2) format("woff2"),url(/assets/Pretendard-Bold.subset-ByYJKlCl.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:600;font-display:swap;src:local("Pretendard SemiBold"),url(/assets/Pretendard-SemiBold.subset-DdMYyxPR.woff2) format("woff2"),url(/assets/Pretendard-SemiBold.subset-Doheemvi.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:500;font-display:swap;src:local("Pretendard Medium"),url(/assets/Pretendard-Medium.subset-D07TkZcI.woff2) format("woff2"),url(/assets/Pretendard-Medium.subset-D-vxZJjN.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:local("Pretendard Regular"),url(/assets/Pretendard-Regular.subset-BZqc2FCe.woff2) format("woff2"),url(/assets/Pretendard-Regular.subset-Dpq6qleg.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:300;font-display:swap;src:local("Pretendard Light"),url(/assets/Pretendard-Light.subset--7YfZPHv.woff2) format("woff2"),url(/assets/Pretendard-Light.subset-BH9bwXKk.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:200;font-display:swap;src:local("Pretendard ExtraLight"),url(/assets/Pretendard-ExtraLight.subset-Dne8vBUr.woff2) format("woff2"),url(/assets/Pretendard-ExtraLight.subset-D-kBGiz2.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:100;font-display:swap;src:local("Pretendard Thin"),url(/assets/Pretendard-Thin.subset-CIJfwvSz.woff2) format("woff2"),url(/assets/Pretendard-Thin.subset-DjxeqmoS.woff) format("woff")}:root{scrollbar-gutter:auto;font-family:var(--font-family);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:var(--color-ink);background:var(--color-canvas)}*,*:before,*:after{box-sizing:border-box}html,body{scrollbar-width:thin}body{margin:0;min-width:320px;min-height:100vh;min-height:100svh;word-break:keep-all;overflow-wrap:break-word;color:var(--color-ink);background:var(--color-canvas)}#root{min-height:100svh;padding-top:var(--safe-top)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:where(h1,h2,h3,p,span,strong,small,em,button,label){word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,p{margin:0}img,svg{max-width:100%;display:block}input,select,textarea{font-size:var(--fs-input)}input[type=checkbox],input[type=radio]{font-size:inherit}.bottom-nav{position:fixed;z-index:var(--z-nav);bottom:0;left:50%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,var(--w-shell));min-height:var(--h-nav);padding:8px 16px calc(10px + var(--safe-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-nav);transform:translate(-50%)}.bottom-nav__tab{display:grid;min-width:0;text-decoration:none;color:var(--color-tab-inactive)}.bottom-nav__inner{display:grid;justify-items:center;align-content:center;gap:5px;min-height:52px;color:inherit;font-size:var(--fs-small);font-weight:var(--fw-bold)}.bottom-nav__inner svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-nav__tab:last-child svg circle{fill:currentColor;stroke:none}.bottom-nav__label{color:inherit;font-size:var(--fs-small);font-weight:var(--fw-bold)}.bottom-nav__tab.is-active{color:var(--color-primary)}.bottom-nav__tab.is-active .bottom-nav__label{font-weight:var(--fw-black)}.bottom-nav__tab:focus-visible{outline:2px solid var(--color-focus-border);outline-offset:-3px;border-radius:var(--radius-icon-box)}.shell{position:relative;width:min(100%,var(--w-shell));min-height:var(--h-view);margin:0 auto;padding:0 var(--space-shell-x) var(--safe-bottom);color:var(--color-ink-body);background:var(--color-canvas);box-shadow:var(--shadow-shell)}.shell--nav{padding-bottom:calc(var(--h-nav) + var(--safe-bottom))}.inline-message{margin:var(--space-inline) 0 0;font-size:var(--fs-small);line-height:var(--lh-body)}.inline-message--error{color:var(--color-danger)}.inline-message--muted{color:var(--color-muted);font-size:var(--fs-body-s);line-height:1.55}.inline-message--notice{margin:12px 0 0;padding:12px 15px;border:1px solid var(--color-notice-border);border-radius:var(--radius-input);color:var(--color-notice);font-size:var(--fs-body-s);font-weight:var(--fw-extrabold);text-align:center;background:var(--color-notice-bg)}.empty-state{padding:25px 14px;border:1px dashed var(--color-border-input);border-radius:14px;text-align:center;background:var(--color-surface)}.empty-state__title{display:block;color:var(--color-ink-body);font-size:var(--fs-small);font-weight:var(--fw-extrabold)}.empty-state__body{margin:8px 0 0;color:var(--color-muted);font-size:var(--fs-caption);line-height:1.55}.empty-state__action{margin-top:14px}.not-found{display:grid;align-content:center;width:min(100%,var(--w-shell));min-height:var(--h-view);margin:0 auto;padding:var(--space-shell-x)}.not-found__home{display:inline-block;min-height:40px;padding:0 16px;border-radius:var(--radius-button);color:var(--color-primary);font-size:var(--fs-body-s);font-weight:var(--fw-extrabold);line-height:40px;text-decoration:none;background:var(--color-primary-pale)}.toast-slot{position:fixed;z-index:var(--z-toast);bottom:calc(28px + var(--safe-bottom));left:50%;width:max-content;max-width:calc(100% - 34px);transform:translate(-50%);pointer-events:none}.toast{padding:12px 15px;border-radius:var(--radius-input);color:var(--color-surface);font-size:var(--fs-small);background:var(--color-ink-body);box-shadow:var(--shadow-card)}
