:root{--color-mint: #7ED6C8;--color-lavender: #B8A9D9;--color-lilac-light: #D9D0F0;--color-blush: #F2CFC0;--color-bg: #F0EDF8;--color-surface: #FFFFFF;--color-text-main: #3D3A52;--color-text-sub: #7B7890;--color-on-mint: #3D3A52;--color-on-lavender: #FFFFFF;--color-text-sub-rgb: 123, 120, 144;--color-lilac-light-rgb: 217, 208, 240;--color-mint-rgb: 126, 214, 200;--font-display: "Noto Serif KR", serif;--font-body: "Noto Sans KR", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--shadow-card: 0 4px 24px rgba(61, 58, 82, .1)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-main);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:14px;color:var(--color-text-main)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;margin:0}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 20px 40px}@media (max-width: 768px){.app-main{padding:16px 12px 28px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:500;font-size:14px;transition:transform .15s ease,opacity .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-mint);color:var(--color-on-mint)}.btn-secondary{background:var(--color-lavender);color:var(--color-on-lavender)}.btn-outline{background:transparent;border:1px solid var(--color-text-sub);color:var(--color-text-main)}.btn-ghost{background:transparent;color:var(--color-text-sub)}.card-panel{background:var(--color-surface);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-card)}.goal-summary-sticky{position:sticky;top:76px;z-index:30}@media (max-width: 768px){.goal-summary-sticky{position:static;top:auto}}.input,.textarea,.select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--color-lilac-light);color:var(--color-text-main);outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-lavender)}.textarea{resize:vertical;min-height:80px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:500;color:var(--color-text-sub)}.row{display:flex;gap:12px}.row>*{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid-2>*{min-width:0}.scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.resume-grid{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:24px}@media (max-width: 900px){.resume-grid{grid-template-columns:1fr}}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}.tag{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--color-blush);color:var(--color-text-main);font-size:12px;font-weight:500}.section-title{font-size:18px;margin-bottom:16px;color:var(--color-text-main)}.muted{color:var(--color-text-sub);font-size:13px}.watermark{margin-top:12px;text-align:center;font-size:11px;color:var(--color-text-sub);font-family:var(--font-mono)}.page-credit{width:100%;text-align:center;padding:20px 16px 28px;font-size:11px;color:var(--color-text-sub);font-family:var(--font-mono);opacity:.75;border-top:1px solid rgba(var(--color-text-sub-rgb),.18)}.page-credit a{color:inherit;text-decoration:underline}.page-credit a:hover{color:var(--color-text-main)}.inline-edit{background:transparent;border:none;outline:none;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;padding:2px 4px;margin:-2px -4px;border-radius:4px;width:100%;resize:none;line-height:inherit}.inline-edit::placeholder{color:var(--color-text-sub);opacity:.6}.inline-edit:hover:not(:focus){background:rgba(var(--color-lilac-light-rgb),.6)}.inline-edit:focus{background:rgba(var(--color-lilac-light-rgb),.7);box-shadow:0 0 0 2px var(--color-mint)}.inline-date{font-family:var(--font-mono);font-size:12px;color:var(--color-text-sub);background:transparent;border:none;outline:none;padding:2px 4px;border-radius:4px;cursor:pointer}.inline-date:hover{background:var(--color-lilac-light)}.inline-year{font-family:var(--font-mono);font-size:14px;color:var(--color-text-main);background:var(--color-lilac-light);border:1px solid var(--color-lilac-light);outline:none;padding:6px 8px;border-radius:6px;width:64px;text-align:center}.inline-year:hover,.inline-year:focus{border-color:var(--color-lavender)}.inline-quarter{font-family:var(--font-mono);font-size:14px;color:var(--color-text-main);background:var(--color-lilac-light);border:1px solid var(--color-lilac-light);outline:none;padding:6px 10px;border-radius:6px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.inline-quarter:hover,.inline-quarter:focus{border-color:var(--color-lavender)}.inline-tag-select{background:var(--color-blush);color:var(--color-text-main);border:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit}.inline-tag-select:focus{outline:2px solid var(--color-mint)}.resume-item-row{position:relative;padding:12px 0;border-bottom:1px dashed var(--color-lilac-light)}.resume-item-row .row-actions{position:absolute;top:12px;right:-6px;display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.resume-item-row:hover .row-actions,.resume-item-row:focus-within .row-actions{opacity:1}.icon-btn{width:26px;height:26px;border-radius:50%;background:var(--color-surface);color:var(--color-text-sub);border:1px solid var(--color-lilac-light);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;line-height:1;padding:0}.icon-btn:hover{color:var(--color-text-main);border-color:var(--color-lavender)}.add-item-btn{width:100%;padding:12px;margin-top:12px;border:2px dashed var(--color-lilac-light);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-sub);font-size:14px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.add-item-btn:hover{border-color:var(--color-mint);background:rgba(var(--color-mint-rgb),.08);color:var(--color-text-main)}.add-item-btn:disabled{opacity:.5;cursor:not-allowed}.photo-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;border-radius:50%;font-size:11px;opacity:0;cursor:pointer;transition:opacity .15s}.photo-edit-wrap:hover .photo-edit-overlay{opacity:1}
