:root{font-family:system-ui,-apple-system,'Noto Sans KR',sans-serif;color:#e9edf8;background:#080e1c;font-size:15px}*{box-sizing:border-box}body{margin:0}.app{max-width:1030px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;padding:12px 0 24px}.brand{font-size:22px;font-weight:900;letter-spacing:.08em}.brand span{color:#a1b8ff}.brand small{display:block;font-size:9px;letter-spacing:.22em;color:#8c9ab9;margin-top:4px}.tag,.eyebrow{font-size:12px;color:#8eb6ff}.tag{border:1px solid #31446c;padding:8px 12px;border-radius:30px}.intro{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#1c2b56,#131b32);padding:28px;border:1px solid #2a3960;border-radius:22px;margin-bottom:22px}h1{font-size:clamp(25px,4vw,36px);line-height:1.35;margin:12px 0}p{color:#a7b2c9;line-height:1.7}.hero-icon{font-size:72px;color:#86a8ff}nav{display:grid;grid-template-columns:repeat(4,1fr);background:#111a2e;border-radius:14px;padding:5px;gap:5px;margin-bottom:22px}nav button{background:transparent;border:0;color:#9da9c1;padding:13px;cursor:pointer;border-radius:10px}nav button.selected{background:#344f92;color:white;font-weight:700}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{background:#121c31;border:1px solid #293751;border-radius:18px;padding:20px;margin-bottom:14px}.metric{font-size:clamp(20px,3vw,28px);font-weight:800;margin-top:12px;overflow-wrap:anywhere}.muted{color:#95a5c0;font-size:13px}.red{color:#ff8f9b}.green{color:#75dbb2}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn{border:0;background:#668bf4;color:#071025;font-weight:800;border-radius:10px;padding:12px 16px;cursor:pointer}.btn.alt{background:#263857;color:#d8e2fa}.btn.danger{background:#5a2935;color:#ffc6ce}.btn:disabled{opacity:.4;cursor:not-allowed}input,select,textarea{background:#0c1425;color:#eef3ff;border:1px solid #3b4d6f;border-radius:9px;padding:12px;width:100%;font:inherit}label{display:block;font-size:13px;color:#aab8d1;margin-bottom:6px}.field{flex:1;min-width:145px}.form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.form .btn{margin-bottom:1px}.asset{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #293751;padding:13px 0;gap:10px}.asset:first-of-type{border:0}.tiny{font-size:12px;color:#92a4c4}.note{border-left:3px solid #7196ed;padding:10px 14px;background:#172440;color:#c7d5f0;border-radius:0 10px 10px 0;margin:12px 0}.history{border-left:2px solid #35496d;padding:0 0 20px 20px;margin-left:8px}.history strong{color:#f1f4ff}.empty{text-align:center;padding:40px 10px;color:#9cabc6}footer{text-align:center;color:#7d8aa7;font-size:12px;line-height:1.8;padding:30px 0}h2{font-size:19px;margin:4px 0 18px}h3{font-size:16px;margin:4px 0 14px}hr{border:0;border-top:1px solid #293751;margin:16px 0}.chart{display:flex;align-items:end;gap:8px;height:140px;border-bottom:1px solid #34435d}.bar{background:#7699ee;min-width:12px;flex:1;border-radius:5px 5px 0 0;position:relative}.bar span{position:absolute;bottom:-22px;left:0;width:100%;font-size:10px;text-align:center;color:#8da0be}@media(max-width:600px){.app{padding:12px}.intro{padding:20px}.hero-icon{font-size:42px}.cards{grid-template-columns:1fr 1fr}.cards .card:last-child{grid-column:span 2}.card{padding:16px}nav button{font-size:12px;padding:11px 3px}}

/* V0.5.1: brighter Korean mobile finance UI, better touch targets */
:root{color:#18253c;background:#f4f7fc;color-scheme:light}body{background:#f4f7fc}.brand{color:#18253c}.brand span{color:#3c69dc}.brand small{color:#657897}.tag{background:#eaf1ff;border-color:#cbd9f7;color:#4169bf}.intro{background:linear-gradient(115deg,#e6efff,#f8fbff);border-color:#d8e3f4}.eyebrow,.hero-icon{color:#4169d6}p{color:#556781}nav{background:#e5ecf8}nav button{color:#4e6180;min-height:48px}nav button.selected{background:#426bda;color:white}.card{background:white;border-color:#dde5f1;box-shadow:0 2px 10px #253c5a08}.muted,.tiny{color:#637795}.metric{color:#172844}.metric.red,.red{color:#c94459}.metric.green,.green{color:#167d5c}.btn{background:#426bda;color:white;min-height:46px}.btn.alt{background:#eaf0fb;color:#345ba9}.btn.danger{background:#ffe7ea;color:#b33a50}.asset{border-color:#e4eaf4}.note{background:#eef4ff;color:#355277;border-color:#547cde}input,select,textarea{background:#fff;color:#20304c;border-color:#cbd6e8;min-height:46px}label{color:#516783}hr{border-color:#e2e9f3}.empty{color:#607592}.history{border-color:#cbd8ed}.history strong{color:#1d2f4d}footer{color:#647795}.upload{display:inline-flex;align-items:center;cursor:pointer}.card .card{background:#f8faff;box-shadow:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8aabff;outline-offset:2px}@media(max-width:600px){.cards{grid-template-columns:1fr 1fr}.intro h1{font-size:25px}.brand{font-size:18px}.form .btn{flex:1}nav{position:sticky;top:0;z-index:5;box-shadow:0 2px 8px #263f6320}}
/* V0.5.2 onboarding */
.onboarding{max-width:610px;margin:0 auto 24px}.onboarding h2{font-size:23px;line-height:1.45}.onboarding form{display:grid;gap:20px;margin-top:24px}.onboarding .field{min-width:0}.onboarding .field label{font-weight:700;color:#2b3d59}.onboarding .btn{width:100%}nav[hidden]{display:none!important}.onboarding input,.onboarding select{margin-top:7px}
.progress-track{height:8px;border-radius:99px;background:#e6edf6;overflow:hidden;margin-top:14px}.progress-fill{height:100%;border-radius:99px;background:#2875f0;transition:width .2s}

/* V0.5.5 Journey chart */
.journey-svg{width:100%;height:auto;display:block;max-height:330px;margin:12px 0 20px}.journey-month-detail{border-radius:12px;background:#f8faff;padding:12px 16px;margin-top:14px}.journey-month-detail .btn{margin-top:12px}@media(max-width:600px){.journey-svg{min-height:180px}}

/* V0.5.8 reflection timeline */
.reflection-counts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.reflection-counts span{padding:9px 11px;background:#eef4fc;border-radius:10px;font-size:13px}.reflection-list{display:grid;gap:9px}.reflection-row{width:100%;display:grid;gap:5px;text-align:left;padding:13px;border:1px solid #e0e8f2;border-radius:12px;background:white;color:#18263c;cursor:pointer}.reflection-row:hover,.reflection-row:focus-visible{border-color:#2875d4;background:#f7faff}.reflection-row small{color:#62738b}.reflection-prompts{border-top:1px solid #e5eaf0;margin-top:12px;padding-top:12px}.reflection-prompts p{font-size:14px;margin:8px 0}

/* V0.6.7: Galaxy-first mobile touch and reading ergonomics */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}.app{min-width:0}button,input,select,textarea{font:inherit}button{touch-action:manipulation}button,.btn,.upload{min-height:48px}textarea{min-height:116px;resize:vertical;line-height:1.6}input,select,textarea{font-size:16px} .card,.intro,.note,.history,.reflection-row{min-width:0;overflow-wrap:anywhere}.asset>div,.form>.field{min-width:0} .actions>.btn{white-space:normal;text-align:center}.reflection-row{min-height:56px}.reflection-row small{line-height:1.55}.journey-svg{max-width:100%;overflow:visible} :focus-visible{outline:3px solid #316de2;outline-offset:3px}
@media(max-width:600px){
 .app{padding:12px 12px calc(22px + env(safe-area-inset-bottom,0px))}
 header{padding:8px 0 16px;gap:10px;flex-wrap:wrap}.tag{font-size:11px;padding:7px 10px}
 .intro{padding:18px;gap:10px;margin-bottom:16px}.intro h1{font-size:clamp(22px,6vw,28px)}.intro p{font-size:14px}.hero-icon{font-size:32px}
 nav{position:sticky;top:0;z-index:20;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:0 -12px 16px;padding:7px 12px;border-radius:0;border-bottom:1px solid #d6e2f4;background:#f0f5ff;box-shadow:0 4px 12px #263f6317}
 nav button{font-size:13px;min-height:52px;padding:10px 2px;line-height:1.35}
 .cards{grid-template-columns:minmax(0,1fr)}.cards .card:last-child{grid-column:auto}.card{padding:16px;border-radius:16px;margin-bottom:12px}
 .form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.form .field,.form .btn{width:100%;min-width:0}
 .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.actions>.btn{width:100%;min-width:0}
 .asset{align-items:flex-start;flex-wrap:wrap;gap:10px}.asset>*{max-width:100%}
 .metric{font-size:clamp(22px,6vw,28px)}.reflection-counts{display:grid;grid-template-columns:minmax(0,1fr)}
 .reflection-counts span{line-height:1.5}.reflection-row{padding:15px}.journey-month-detail{padding:14px}
 footer{padding:24px 0 calc(24px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){.brand{font-size:17px}.tag{font-size:10px}nav button{font-size:12px}.actions{grid-template-columns:minmax(0,1fr)}.intro{padding:15px}.hero-icon{display:none}}
@media(prefers-reduced-motion:reduce){.progress-fill{transition:none}html{scroll-behavior:auto}}
