:root{--primary: #2A6DF5;--primary-hover: #1b5be4;--secondary: #1A2B4C;--background: #F4F7FC;--surface: #FFFFFF;--text: #1A2B4C;--text-muted: #64748b;--border: #e2e8f0;--radius: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Montserrat,Poppins,system-ui,-apple-system,sans-serif;background-color:var(--background);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{width:80%;margin:0 auto;padding:2rem}h1,h2,h3{font-weight:700;letter-spacing:-.025em;color:var(--secondary)}a{color:var(--primary);text-decoration:none}button,.btn-primary{cursor:pointer;border:none;border-radius:var(--radius);padding:.75rem 1.5rem;font-weight:500;transition:all .2s ease;font-family:inherit;font-size:1rem}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 4px 6px -1px #2a6df54d}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 8px -1px #2a6df566}.glass-panel{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,1);border-radius:var(--radius);padding:2rem;box-shadow:0 10px 15px -3px #1a2b4c0d,0 4px 6px -2px #1a2b4c06}.btn-fab{width:32px;height:32px;display:flex!important;align-items:center;justify-content:center;background-color:#fff!important;color:var(--primary)!important;border:1px solid var(--primary)!important;border-radius:50%!important;font-size:1.25rem!important;padding:0!important;transition:all .2s ease!important;cursor:pointer;line-height:1!important;box-shadow:0 2px 4px #0000000d}.btn-fab:hover{background-color:var(--primary)!important;color:#fff!important;transform:scale(1.1) rotate(180deg)!important}.btn-fab.no-rotate:hover{transform:scale(1.1)!important}.skill-tag{background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:all .2s ease;cursor:default;overflow:hidden;white-space:nowrap;min-height:28px;min-width:70px}.skill-actions{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:8px;background:var(--primary);opacity:0;visibility:hidden;transition:all .2s ease;z-index:1}.skill-tag:hover .skill-actions{opacity:1;visibility:visible}.skill-tag.hobby-tag{background:transparent;color:var(--primary);border:1px solid var(--primary)}.hobby-tag .btn-icon-sm,.app-item .btn-icon-sm{color:var(--primary);border-color:#2a6df54d;background:transparent}.hobby-tag .btn-icon-sm.delete,.app-item .btn-icon-sm.delete{color:#ef4444;border-color:#ef44444d;background:transparent}.btn-icon-sm{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s}.btn-icon-sm:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.btn-icon-sm.delete:hover{background:#ef4444;color:#fff;border-color:#ef4444}.skill-tag.editing{padding-right:3.5rem;background:#fff;border:1px solid var(--primary);color:var(--text);min-width:120px}.skill-edit-input{background:transparent;color:inherit;border:none;padding:0;font-size:inherit;font-family:inherit;outline:none;width:100%;min-width:60px;z-index:2}.skill-edit-actions{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:flex;gap:2px;z-index:3}.btn-edit-save,.btn-edit-cancel{width:22px;height:22px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0}.btn-edit-save{background:#22c55e;color:#fff}.btn-edit-cancel{background:#ef4444;color:#fff}.btn-edit-save:hover,.btn-edit-cancel:hover{transform:scale(1.1);filter:brightness(1.1)}.exp-item{position:relative;padding:.75rem;border-radius:var(--radius);transition:background .2s ease}.exp-item:hover{background:#2a6df508}.exp-header{position:relative;cursor:default}.exp-actions{position:absolute;top:0;right:0;display:flex;gap:.5rem;opacity:0;visibility:hidden;transition:all .2s ease;background:#fff;padding:4px;border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border);z-index:5}.exp-header:hover .exp-actions{opacity:1;visibility:visible}.btn-icon-exp{background:transparent;border:none;color:var(--text-muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative;padding:0}.btn-icon-exp svg{display:block;width:16px;height:16px;stroke:currentColor;pointer-events:none}.btn-icon-exp:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.btn-icon-exp.delete:hover{background:#ef4444;color:#fff}.btn-icon-exp:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-5px);background:var(--secondary);color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.btn-icon-exp:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-10px)}.btn-iv-back:hover{background:var(--border)!important;color:var(--primary)!important;transform:scale(1.05)}.btn-iv-download:hover{background:var(--primary-hover)!important;transform:translateY(-2px);box-shadow:0 4px 12px #2a6df54d}.btn-iv-download svg,.btn-iv-back svg{transition:transform .2s ease}.btn-iv-download:hover svg{transform:translateY(1px)}@media print{body *{visibility:hidden!important}.printable-cv,.printable-cv *{visibility:visible!important}.printable-cv{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:0!important}@page{margin:.5in}}
