:root{--bg: #F6F5F1;--bg-side: #F0EEE8;--surface: #FFFFFF;--surface-sunk: #FAF9F6;--ink: #1B1A17;--ink-2: #4A4740;--ink-3: #5E5B53;--ink-4: #8A877E;--line: #E4E1D8;--line-strong: #D6D2C6;--accent: #1E5E4E;--accent-ink: #123E33;--accent-soft: #DCEBE4;--warn: #C2410C;--warn-soft: #FFFBF4;--warn-line: #E8C9A0;--danger: #A3361F;--nav: #1B1A17;--nav-on: #8FD3B8;--badge: #E0582A;--scrim: rgba(27, 26, 23, .42);--sidebar-w: 280px;--sidebar-w-collapsed: 72px;--header-h: 60px;--header-h-mobile: 56px;--icon-md: 20px;--icon-sm: 18px;--icon-xs: 14px;--font-lg: 20px;--font-md: 16px;--font-sm: 14px;--avatar: 24px;--btn-h: 44px;--radius: 12px;--radius-lg: 16px;--mnav-h: 48px;--mnav-bottom: calc(6px + env(safe-area-inset-bottom)) ;--font: "IBM Plex Sans KR", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--font-sm)}a{color:var(--accent)}a:hover{color:var(--accent-ink)}button,input,textarea,select{font:inherit;color:inherit}.mono{font-family:var(--mono)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);padding:0 18px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:var(--font-sm);font-weight:500;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn--dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn--danger{color:var(--danger)}.input{width:100%;height:var(--btn-h);padding:0 14px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-sunk);font-size:15px}textarea.input{height:auto;min-height:88px;padding:12px 14px;resize:vertical}.label{font-size:var(--font-sm);font-weight:500;color:var(--ink-2)}.chip{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:var(--font-sm);white-space:nowrap;cursor:pointer}.chip--on{background:var(--ink);border-color:var(--ink);color:#fff}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}
