:root{--bg:#07101d;--surface:#0e1a2b;--surface2:#132238;--line:#20324b;--text:#f4f7fb;--muted:#8fa3bc;--accent:#5b8cff;--accent2:#74a0ff;--green:#35d49a;--red:#ff6b7a;--yellow:#ffc857;--shadow:0 16px 44px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 90% -10%,#17366b 0,transparent 32%),var(--bg);color:var(--text);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif;min-height:100vh}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) 20px 10px;max-width:960px;margin:auto}.eyebrow{margin:0 0 4px;color:var(--accent2);font-size:10px;font-weight:800;letter-spacing:.16em}.topbar h1,.section-heading h2,.dialog-head h2{margin:0;font-size:20px}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:rgba(19,34,56,.8);font-size:20px;cursor:pointer}main{max-width:960px;margin:auto;padding:8px 16px 112px}.hero-card{padding:22px;border:1px solid rgba(116,160,255,.24);border-radius:24px;background:linear-gradient(135deg,rgba(37,76,145,.8),rgba(15,29,51,.92));box-shadow:var(--shadow);margin-bottom:28px}.hero-heading,.hero-meta,.section-heading,.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between}.hero-heading{color:#c4d4ef;font-size:13px}.sync-state{font-size:11px;padding:5px 9px;border-radius:20px;background:rgba(7,16,29,.35)}.hero-value{display:block;font-size:34px;letter-spacing:-.04em;margin:13px 0 16px}.hero-meta{justify-content:flex-start;gap:20px;color:#b9c8df;font-size:12px}.view{display:none}.view.active{display:block;animation:enter .22s ease}@keyframes enter{from{opacity:0;transform:translateY(6px)}}.section-heading{margin:0 2px 14px}.section-heading h2{font-size:19px}.card-list{display:grid;gap:10px}.account-card,.profit-card,.goal-card,.mini-card,.chart-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(19,34,56,.96),rgba(12,24,41,.96));border-radius:18px}.account-card,.profit-card{padding:16px;cursor:pointer}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.account-name,.profit-date{font-weight:800}.account-sub,.profit-note,.card-bottom{color:var(--muted);font-size:12px}.account-amount{font-weight:800;text-align:right}.account-krw{color:var(--yellow)}.card-bottom{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.ticker{padding:4px 7px;border-radius:8px;background:rgba(91,140,255,.13);color:#9db9ff;font-weight:700}.empty{padding:32px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.mini-card{padding:15px}.mini-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.chart-card{padding:16px;margin-bottom:12px}.chart-card h3{font-size:14px;margin:0 0 14px}.chart-wrap{height:260px}.goal-card{padding:18px}.goal-line{display:flex;justify-content:space-between;gap:10px;margin-bottom:13px}.goal-line span{color:var(--muted);font-size:12px}.progress{height:10px;border-radius:8px;background:#07101d;overflow:hidden}.progress>div{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--accent),var(--green))}.goal-detail{margin-top:10px;color:var(--muted);font-size:11px}.primary,.secondary,.danger{border-radius:12px;padding:11px 15px;border:1px solid transparent;font-weight:750;cursor:pointer}.primary{background:var(--accent);color:white}.secondary{background:var(--surface2);border-color:var(--line)}.danger{background:rgba(255,107,122,.12);border-color:rgba(255,107,122,.4);color:var(--red)}.small{padding:8px 11px;font-size:12px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:9px max(10px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom));background:rgba(7,16,29,.92);border-top:1px solid var(--line);backdrop-filter:blur(18px)}.nav-button{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:700;padding:5px}.nav-button span{display:block;font-size:21px;margin-bottom:2px}.nav-button.active{color:var(--accent2)}dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,5,14,.72);backdrop-filter:blur(4px)}dialog form{padding:20px}.dialog-head{margin-bottom:20px}.form-fields{display:grid;gap:13px}.form-fields label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.form-fields input,.form-fields select{width:100%;border:1px solid var(--line);background:#091524;color:var(--text);padding:13px;border-radius:12px}.dialog-actions{gap:8px;margin-top:20px}.dialog-actions span{flex:1}.hidden{display:none!important}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.install{grid-column:1/-1}.file-button{text-align:center;cursor:pointer}.file-button input{display:none}.settings-note{font-size:11px;line-height:1.6;color:var(--muted);margin:16px 2px 0}.toast{position:fixed;z-index:50;left:50%;bottom:96px;transform:translate(-50%,20px);background:#eef4ff;color:#07101d;padding:11px 16px;border-radius:12px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.2s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){main{padding-left:24px;padding-right:24px}.card-list{grid-template-columns:repeat(2,1fr)}#view-goals .card-list{grid-template-columns:repeat(2,1fr)}.bottom-nav{left:50%;right:auto;bottom:16px;transform:translateX(-50%);width:420px;border:1px solid var(--line);border-radius:20px;padding:8px;background:rgba(7,16,29,.94)}.hero-value{font-size:42px}}
@media(max-width:420px){.hero-value{font-size:29px}.hero-meta{gap:12px}.settings-actions{grid-template-columns:1fr}.install{grid-column:auto}}
.install-guide{padding:20px}.install-guide ol{margin:12px 0;padding-left:24px;line-height:1.9}.install-guide strong{color:var(--accent2)}
.welcome-actions{display:grid;gap:10px;margin-top:22px}
.chart-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.chart-card-title h3{margin:0}.chart-card-title button{white-space:nowrap}
@media(display-mode:standalone){.install{display:none!important}}
