{"id":2,"date":"2026-05-10T17:01:33","date_gmt":"2026-05-10T17:01:33","guid":{"rendered":"https:\/\/timebmi.com\/?page_id=2"},"modified":"2026-05-10T17:14:30","modified_gmt":"2026-05-10T17:14:30","slug":"sample-page","status":"publish","type":"page","link":"https:\/\/timebmi.com\/?page_id=2","title":{"rendered":"AI Resume Builder for free"},"content":{"rendered":"<style id=\"arb-inline-style\">\n\/* ============================================================\n   AIapps Resume Builder v4 \u2014 All-in-One SPA, Apple Liquid Glass\n   Single shortcode, tabbed navigation, 100 templates.\n   ============================================================ *\/\n\n\/* CRITICAL: full-bleed breakout from theme content column *\/\n.arb-app{\n  position:relative;\n  width:100vw;\n  max-width:100vw;\n  margin-left:calc(50% - 50vw);\n  margin-right:calc(50% - 50vw);\n  margin-top:0;\n  margin-bottom:0;\n  left:0;\n  right:0;\n  --arb-bg:linear-gradient(180deg,#fbfbfd 0%,#f5f5f7 100%);\n  --arb-text:#1d1d1f;\n  --arb-text-muted:#6e6e73;\n  --arb-text-soft:#86868b;\n  --arb-blue:#0071e3;\n  --arb-blue-h:#0077ed;\n  --arb-purple:#a855f7;\n  --arb-pink:#ec4899;\n  --arb-green:#34c759;\n  --arb-orange:#ff9500;\n  --arb-red:#ff3b30;\n  --arb-glass:rgba(255,255,255,0.72);\n  --arb-glass-strong:rgba(255,255,255,0.88);\n  --arb-divider:rgba(0,0,0,0.08);\n  --arb-divider-2:rgba(0,0,0,0.15);\n  --arb-shadow-sm:0 1px 3px rgba(0,0,0,0.04),0 0 0 0.5px rgba(0,0,0,0.04);\n  --arb-shadow-md:0 8px 24px -8px rgba(0,0,0,0.12),0 0 0 0.5px rgba(0,0,0,0.04);\n  --arb-shadow-lg:0 30px 80px -20px rgba(0,0,0,0.18),0 0 0 0.5px rgba(0,0,0,0.04);\n  --arb-r-sm:10px; --arb-r-md:14px; --arb-r-lg:18px; --arb-r-xl:22px; --arb-r-pill:980px;\n  --arb-grad:linear-gradient(135deg,#0071e3 0%,#a855f7 50%,#ec4899 100%);\n  --arb-font:-apple-system,BlinkMacSystemFont,\"SF Pro Display\",\"SF Pro Text\",\"Segoe UI\",\"Inter\",Helvetica,Arial,sans-serif;\n  --arb-font-mono:ui-monospace,\"SF Mono\",Menlo,Monaco,\"Roboto Mono\",monospace;\n  font-family:var(--arb-font);\n  color:var(--arb-text);\n  background:var(--arb-bg);\n  border-radius:0;\n  overflow:hidden;\n  border:0;\n  box-shadow:none;\n  -webkit-font-smoothing:antialiased;\n  -moz-osx-font-smoothing:grayscale;\n  letter-spacing:-0.005em;\n  line-height:1.5;\n  box-sizing:border-box;\n}\n.arb-app *,.arb-app *::before,.arb-app *::after{box-sizing:border-box}\n\n\/* Reset button defaults so WP theme can't override our styles *\/\n.arb-app button{font-family:inherit;line-height:inherit;text-transform:none;-webkit-appearance:button;background:none;border:none;color:inherit;font-size:inherit;padding:0;cursor:pointer}\n.arb-app ul{list-style:none;margin:0;padding:0}\n.arb-app li{margin:0;padding:0}\n.arb-app input,.arb-app textarea,.arb-app select{font-family:var(--arb-font);color:inherit;background:transparent}\n\n\/* Inner content max-width wrapper for landing\/templates\/examples *\/\n.arb-wrap{max-width:1200px;margin:0 auto;padding:0 24px}\n\n\/* Floating gradient orbs - constrained to top portion *\/\n.arb-orbs{position:absolute;top:0;left:0;right:0;height:1200px;overflow:hidden;pointer-events:none;z-index:0}\n.arb-orb{position:absolute;width:500px;height:500px;border-radius:50%;filter:blur(120px);opacity:0.22}\n.arb-orb-1{background:var(--arb-blue);top:-220px;left:-200px;animation:arb-float 22s ease-in-out infinite}\n.arb-orb-2{background:var(--arb-purple);top:-150px;right:-200px;animation:arb-float 26s ease-in-out infinite reverse}\n.arb-orb-3{background:var(--arb-pink);top:600px;left:30%;animation:arb-float 20s ease-in-out infinite}\n@keyframes arb-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,50px) scale(1.08)}}\n.arb-app > *:not(.arb-orbs){position:relative;z-index:1}\n\n\/* Typography *\/\n.arb-app h1,.arb-app h2,.arb-app h3,.arb-app h4{font-family:var(--arb-font);color:var(--arb-text);letter-spacing:-0.02em;font-weight:600;margin:0 0 12px;line-height:1.1}\n.arb-app h1{font-size:clamp(2.4rem,5vw,3.6rem)}\n.arb-app h2{font-size:clamp(1.6rem,3vw,2.4rem)}\n.arb-app h3{font-size:1.2rem}\n.arb-app p{color:var(--arb-text-muted);margin:0 0 12px;line-height:1.5;font-size:17px}\n.arb-app a{color:var(--arb-blue);text-decoration:none}\n.arb-app a:hover{text-decoration:underline}\n.arb-grad-text{background:var(--arb-grad);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}\n\n\/* Buttons *\/\n.arb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 22px;border-radius:var(--arb-r-pill);font-family:var(--arb-font);font-size:15px;font-weight:500;border:none;cursor:pointer;transition:all 0.18s ease;white-space:nowrap;-webkit-appearance:none;letter-spacing:-0.01em;text-decoration:none}\n.arb-btn-primary{background:var(--arb-blue);color:#fff}\n.arb-btn-primary:hover{background:var(--arb-blue-h);transform:scale(1.02)}\n.arb-btn-primary:active{transform:scale(0.98)}\n.arb-btn-glass{background:rgba(255,255,255,0.6);color:var(--arb-text);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider)}\n.arb-btn-glass:hover{background:rgba(255,255,255,0.85);transform:scale(1.02)}\n.arb-btn-ghost{background:transparent;color:var(--arb-text-muted)}\n.arb-btn-ghost:hover{color:var(--arb-text);background:rgba(0,0,0,0.04)}\n.arb-btn-ai{background:var(--arb-grad);background-size:200% 200%;color:#fff;font-weight:600;animation:arb-grad 6s ease infinite}\n.arb-btn-ai:hover{transform:scale(1.04);box-shadow:0 6px 20px rgba(0,113,227,0.4)}\n@keyframes arb-grad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}\n.arb-btn-sm{padding:6px 14px;font-size:13px}\n\n\/* TOP NAV (sticky liquid-glass tabs) *\/\n.arb-nav{display:flex;align-items:center;gap:18px;padding:14px 32px;background:rgba(255,255,255,0.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:0.5px solid var(--arb-divider);position:sticky;top:0;z-index:50;width:100%}\n.arb-nav-logo{font-size:18px;font-weight:600;letter-spacing:-0.02em;flex-shrink:0;display:flex;align-items:center;gap:6px}\n.arb-nav-logo .arb-grad-text{margin-right:4px;font-weight:700}\n.arb-nav-logo small{color:var(--arb-text-soft);font-weight:400;font-size:14px}\n.arb-tabs{display:flex !important;gap:4px;margin:0;padding:4px;list-style:none;background:rgba(0,0,0,0.05);border-radius:var(--arb-r-pill);flex-wrap:wrap;visibility:visible !important;opacity:1 !important}\n.arb-tab{padding:8px 18px !important;border-radius:var(--arb-r-pill) !important;font-size:13px !important;font-weight:500 !important;color:var(--arb-text-muted) !important;cursor:pointer !important;border:none !important;background:transparent !important;font-family:inherit !important;transition:all 0.15s !important;letter-spacing:-0.005em !important;line-height:1.4 !important;display:inline-block !important;text-decoration:none !important}\n.arb-tab:hover{color:var(--arb-text) !important;background:rgba(0,0,0,0.03) !important}\n.arb-tab.arb-active{background:#fff !important;color:var(--arb-text) !important;box-shadow:0 1px 3px rgba(0,0,0,0.1) !important}\n.arb-nav-cta{margin-left:auto;flex-shrink:0}\n@media (max-width:900px){.arb-nav{padding:10px 14px;gap:10px;flex-wrap:wrap}.arb-tabs{order:3;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.arb-tab{flex-shrink:0}.arb-nav-cta{margin-left:auto}}\n\n\/* PANELS - !important to win against any theme display rules *\/\n.arb-panel{display:none !important}\n.arb-panel.arb-active{display:block !important;animation:arb-fade 0.3s ease}\n@keyframes arb-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}\n\n\/* HERO (landing tab) *\/\n.arb-hero{text-align:center;padding:80px 24px 40px}\n.arb-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:rgba(255,255,255,0.6);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider);border-radius:var(--arb-r-pill);font-size:13px;color:var(--arb-text-muted);font-weight:500;margin-bottom:22px}\n.arb-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--arb-green);box-shadow:0 0 12px var(--arb-green);animation:arb-pulse 2s infinite}\n@keyframes arb-pulse{0%,100%{opacity:1}50%{opacity:0.4}}\n.arb-hero h1{margin-bottom:16px}\n.arb-hero p{font-size:21px;max-width:640px;margin:0 auto 32px;line-height:1.4}\n.arb-hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}\n\n\/* DEMO video frame *\/\n.arb-demo{margin:40px auto 60px;max-width:1100px;padding:0 32px}\n.arb-demo-window{background:rgba(255,255,255,0.55);backdrop-filter:saturate(180%) blur(30px);-webkit-backdrop-filter:saturate(180%) blur(30px);border:0.5px solid rgba(255,255,255,0.6);border-radius:var(--arb-r-xl);box-shadow:var(--arb-shadow-lg);padding:14px;overflow:hidden}\n.arb-demo-bar{display:flex;align-items:center;gap:6px;padding:8px 12px 12px}\n.arb-demo-bar span{width:12px;height:12px;border-radius:50%}\n.arb-demo-bar span:nth-child(1){background:#ff5f56}\n.arb-demo-bar span:nth-child(2){background:#ffbd2e}\n.arb-demo-bar span:nth-child(3){background:#27c93f}\n.arb-demo-bar small{margin:0 auto;font-family:var(--arb-font-mono);color:var(--arb-text-soft);font-size:11px}\n.arb-demo-frame{aspect-ratio:16\/10;border-radius:var(--arb-r-md);overflow:hidden;background:#000;position:relative}\n.arb-demo-frame svg{width:100%;height:100%;display:block}\n\n\/* Features grid *\/\n.arb-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:0 32px;max-width:1300px;margin:0 auto 60px}\n.arb-feature{padding:24px;background:rgba(255,255,255,0.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider);border-radius:var(--arb-r-lg);transition:transform 0.25s,box-shadow 0.25s}\n.arb-feature:hover{transform:translateY(-3px);box-shadow:var(--arb-shadow-md)}\n.arb-feature-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(0,113,227,0.12),rgba(168,85,247,0.12));font-size:20px;margin-bottom:14px}\n.arb-feature h3{font-size:17px;font-weight:600;margin:0 0 4px}\n.arb-feature p{font-size:14px;margin:0;line-height:1.5}\n\n\/* Section title *\/\n.arb-section-title{text-align:center;font-size:clamp(1.8rem,3vw,2.6rem);margin:60px auto 32px;letter-spacing:-0.02em;max-width:1100px;padding:0 32px}\n\n\/* TOOLBAR (builder) *\/\n.arb-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 18px;margin:24px 32px 16px;background:rgba(255,255,255,0.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider);border-radius:var(--arb-r-md);max-width:1600px;margin-left:auto;margin-right:auto}\n@media (max-width:1100px){.arb-toolbar{margin:18px 18px 12px}}\n.arb-toolbar select{padding:8px 14px;border-radius:var(--arb-r-pill);background:rgba(255,255,255,0.9);border:0.5px solid var(--arb-divider);font-family:var(--arb-font);font-size:13px;color:var(--arb-text);min-width:180px;cursor:pointer;transition:all 0.15s}\n.arb-toolbar select:focus{outline:none;border-color:var(--arb-blue);box-shadow:0 0 0 3px rgba(0,113,227,0.18)}\n.arb-spacer{flex:1}\n\n\/* BUILDER layout - fills available width *\/\n.arb-builder{display:grid;grid-template-columns:minmax(360px,1fr) 1.3fr;gap:20px;padding:0 32px 32px;max-width:1600px;margin:0 auto}\n@media (max-width:1100px){.arb-builder{grid-template-columns:1fr;padding:0 18px 24px}}\n.arb-form{padding:22px;background:rgba(255,255,255,0.7);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider);border-radius:var(--arb-r-lg);max-height:78vh;overflow-y:auto}\n.arb-form::-webkit-scrollbar{width:8px}\n.arb-form::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);border-radius:4px}\n\n.arb-section{margin-bottom:22px;padding-bottom:20px;border-bottom:0.5px solid var(--arb-divider)}\n.arb-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}\n.arb-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px}\n.arb-section-head h3{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--arb-text-soft);font-family:var(--arb-font-mono);margin:0;font-weight:600}\n.arb-actions{display:flex;gap:6px}\n\n.arb-field{margin-bottom:14px}\n.arb-field label{display:block;font-size:12px;color:var(--arb-text-muted);margin-bottom:5px;font-weight:500}\n.arb-field input,.arb-field textarea,.arb-field select{width:100%;padding:10px 14px;border-radius:var(--arb-r-sm);background:rgba(255,255,255,0.85);border:0.5px solid var(--arb-divider);color:var(--arb-text);font-family:var(--arb-font);font-size:14px;transition:all 0.15s ease;-webkit-appearance:none}\n.arb-field input:focus,.arb-field textarea:focus,.arb-field select:focus{outline:none;border-color:var(--arb-blue);box-shadow:0 0 0 3px rgba(0,113,227,0.18)}\n.arb-field textarea{min-height:86px;resize:vertical;line-height:1.5}\n.arb-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n.arb-hint{display:block;margin-top:4px;font-size:11px;color:var(--arb-text-soft)}\n.arb-strong-bullet{color:var(--arb-green);font-weight:600}\n.arb-weak-bullet{color:var(--arb-orange);font-weight:600}\n\n.arb-item{padding:16px;border-radius:var(--arb-r-sm);background:rgba(255,255,255,0.65);border:0.5px solid var(--arb-divider);margin-bottom:10px;position:relative}\n.arb-item-remove{position:absolute;top:8px;right:8px;background:transparent;border:none;color:var(--arb-text-soft);cursor:pointer;font-size:16px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;transition:all 0.15s}\n.arb-item-remove:hover{background:var(--arb-red);color:#fff}\n\n.arb-preview{padding:22px;background:rgba(255,255,255,0.7);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider);border-radius:var(--arb-r-lg);max-height:78vh;overflow-y:auto}\n.arb-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:11px;color:var(--arb-text-soft);font-family:var(--arb-font-mono);text-transform:uppercase;letter-spacing:0.12em}\n.arb-paper-toggle{display:inline-flex;background:rgba(0,0,0,0.05);border-radius:var(--arb-r-pill);padding:2px}\n.arb-paper-toggle button{background:transparent;border:none;padding:4px 12px;font-size:11px;border-radius:var(--arb-r-pill);cursor:pointer;color:var(--arb-text-muted);font-family:var(--arb-font-mono)}\n.arb-paper-toggle button.arb-active{background:#fff;color:var(--arb-text);box-shadow:0 1px 3px rgba(0,0,0,0.1)}\n.arb-canvas{background:#fff;color:#1a1a1a;border-radius:var(--arb-r-md);padding:44px;min-height:700px;box-shadow:0 20px 60px rgba(0,0,0,0.12);font-family:'Georgia',serif;line-height:1.5;transition:max-width 0.3s ease}\n.arb-paper-a4{max-width:794px;margin:0 auto}\n.arb-paper-letter{max-width:816px;margin:0 auto}\n\n\/* MODALS *\/\n.arb-modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.4);backdrop-filter:saturate(180%) blur(8px);-webkit-backdrop-filter:saturate(180%) blur(8px);z-index:99999;align-items:center;justify-content:center;padding:20px}\n.arb-modal-bg.arb-open{display:flex}\n.arb-modal{background:rgba(255,255,255,0.95);backdrop-filter:saturate(180%) blur(30px);-webkit-backdrop-filter:saturate(180%) blur(30px);border:0.5px solid var(--arb-divider);border-radius:var(--arb-r-lg);padding:32px;max-width:640px;width:100%;max-height:88vh;overflow-y:auto;position:relative;box-shadow:var(--arb-shadow-lg);animation:arb-modal 0.25s ease}\n@keyframes arb-modal{from{opacity:0;transform:scale(0.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}\n.arb-modal h2{font-size:24px;margin-bottom:16px}\n.arb-modal-close{position:absolute;top:16px;right:16px;background:rgba(0,0,0,0.05);border:none;color:var(--arb-text);cursor:pointer;font-size:18px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;transition:all 0.15s}\n.arb-modal-close:hover{background:rgba(0,0,0,0.1)}\n\n\/* TOAST *\/\n.arb-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:12px 22px;background:rgba(0,0,0,0.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);color:#fff;border-radius:var(--arb-r-pill);font-size:14px;font-weight:500;z-index:100000;box-shadow:var(--arb-shadow-lg);animation:arb-toast-in 0.3s ease}\n@keyframes arb-toast-in{from{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%,0)}}\n\n\/* TEMPLATES gallery *\/\n.arb-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:0 32px 60px;max-width:1600px;margin:0 auto}\n@media (max-width:900px){.arb-tpl-grid{padding:0 18px 40px;gap:12px}}\n.arb-tpl-card{border-radius:var(--arb-r-lg);background:rgba(255,255,255,0.7);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider);cursor:pointer;overflow:hidden;transition:transform 0.25s,box-shadow 0.25s;position:relative}\n.arb-tpl-card:hover{transform:translateY(-4px);box-shadow:var(--arb-shadow-md)}\n.arb-tpl-thumb{background:#fff;height:280px;overflow:hidden;position:relative;border-bottom:0.5px solid var(--arb-divider)}\n.arb-tpl-thumb > div{transform:scale(0.34);transform-origin:top left;width:294%;height:294%;pointer-events:none}\n.arb-tpl-info{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}\n.arb-tpl-info strong{font-size:13px;font-weight:600}\n.arb-tpl-info small{color:var(--arb-text-soft);font-size:11px;font-family:var(--arb-font-mono)}\n.arb-tpl-rank{position:absolute;top:10px;left:10px;padding:3px 9px;background:rgba(0,0,0,0.85);color:#fff;font-size:10px;font-weight:700;border-radius:var(--arb-r-pill);font-family:var(--arb-font-mono)}\n.arb-tpl-pro{position:absolute;top:10px;right:10px;padding:3px 9px;background:var(--arb-grad);color:#fff;font-size:10px;font-weight:700;border-radius:var(--arb-r-pill);letter-spacing:0.05em}\n.arb-filter{display:flex;flex-wrap:wrap;gap:6px;padding:0 32px;max-width:1600px;margin:0 auto 20px;justify-content:center}\n.arb-filter .arb-btn{padding:6px 14px;font-size:12px}\n\n\/* Examples *\/\n.arb-search-wrap{max-width:640px;margin:0 auto 28px;padding:0 24px;position:relative}\n.arb-search{width:100%;padding:14px 22px;border-radius:var(--arb-r-pill);background:rgba(255,255,255,0.7);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider);font-size:16px;font-family:var(--arb-font);color:var(--arb-text);transition:all 0.15s}\n.arb-search:focus{outline:none;border-color:var(--arb-blue);box-shadow:0 0 0 4px rgba(0,113,227,0.15)}\n.arb-cat{margin-bottom:32px;padding:0 32px;max-width:1400px;margin-left:auto;margin-right:auto}\n.arb-cat h2{font-size:12px;text-transform:uppercase;letter-spacing:0.12em;color:var(--arb-text-soft);font-family:var(--arb-font-mono);margin-bottom:14px;padding-bottom:10px;border-bottom:0.5px solid var(--arb-divider);font-weight:600}\n.arb-ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}\n.arb-ex{padding:12px 16px;border-radius:var(--arb-r-sm);background:rgba(255,255,255,0.65);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border:0.5px solid var(--arb-divider);cursor:pointer;font-size:14px;transition:all 0.15s}\n.arb-ex:hover{border-color:var(--arb-blue);transform:translateX(3px);background:rgba(255,255,255,0.9)}\n\n\/* Cover letter standalone *\/\n.arb-cl{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 32px 32px;max-width:1400px;margin:0 auto}\n@media (max-width:900px){.arb-cl{grid-template-columns:1fr;padding:0 18px 24px}}\n.arb-cl-out{padding:28px;border-radius:var(--arb-r-lg);background:#fff;color:#222;font-family:'Georgia',serif;min-height:420px;white-space:pre-wrap;line-height:1.7;box-shadow:0 8px 24px rgba(0,0,0,0.08);font-size:14px}\n\n\/* Tracker *\/\n.arb-kanban{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:14px;padding:0 32px 32px;overflow-x:auto;max-width:1600px;margin:0 auto}\n@media (max-width:1200px){.arb-kanban{grid-template-columns:repeat(5,260px)}}\n.arb-col{background:rgba(255,255,255,0.6);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:0.5px solid var(--arb-divider);border-radius:var(--arb-r-md);padding:14px;min-height:320px}\n.arb-col-head{font-family:var(--arb-font-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--arb-text-soft);font-weight:600;margin-bottom:12px;padding-bottom:10px;border-bottom:0.5px solid var(--arb-divider);display:flex;justify-content:space-between}\n.arb-card{background:rgba(255,255,255,0.95);border:0.5px solid var(--arb-divider);border-radius:var(--arb-r-sm);padding:12px 14px;margin-bottom:8px;cursor:grab;transition:all 0.15s}\n.arb-card:hover{border-color:var(--arb-blue);transform:translateX(2px);box-shadow:var(--arb-shadow-sm)}\n.arb-card.dragging{opacity:0.5;transform:rotate(2deg)}\n.arb-card-co{font-weight:600;font-size:14px;margin-bottom:3px}\n.arb-card-role{color:var(--arb-text-muted);font-size:12px;margin-bottom:6px}\n.arb-card-meta{color:var(--arb-text-soft);font-size:11px;font-family:var(--arb-font-mono)}\n\n\/* Score ring *\/\n.arb-score-ring{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:conic-gradient(from -90deg,var(--arb-blue) calc(var(--arb-score,0) * 1%),rgba(0,0,0,0.08) 0);position:relative}\n.arb-score-ring::before{content:'';position:absolute;inset:10px;border-radius:50%;background:rgba(255,255,255,0.95)}\n.arb-score-ring strong{position:relative;font-size:44px;font-weight:600;letter-spacing:-0.02em;background:var(--arb-grad);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}\n.arb-score-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:0.5px solid var(--arb-divider);font-size:14px}\n.arb-score-row:last-child{border-bottom:none}\n.arb-score-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}\n.arb-good{background:var(--arb-green)}\n.arb-bad{background:var(--arb-orange)}\n\n\/* Tags *\/\n.arb-tag{display:inline-block;padding:4px 12px;background:rgba(0,113,227,0.1);color:var(--arb-blue);border-radius:var(--arb-r-pill);font-size:12px;font-weight:500;margin:0 4px 4px 0}\n.arb-tag-found{background:rgba(52,199,89,0.12);color:#1d8230}\n.arb-tag-missing{background:rgba(255,149,0,0.12);color:#b3680a}\n\n\/* Banner *\/\n.arb-banner{display:flex;align-items:center;gap:10px;margin:0 auto 24px;padding:14px 22px;background:rgba(52,199,89,0.08);border:0.5px solid rgba(52,199,89,0.3);border-radius:var(--arb-r-md);font-size:13px;color:var(--arb-text-muted);max-width:1600px;margin-left:32px;margin-right:32px}\n.arb-banner-icon{width:24px;height:24px;border-radius:50%;background:var(--arb-green);display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;flex-shrink:0}\n@media (max-width:900px){.arb-banner{margin-left:18px;margin-right:18px}}\n\n\/* Footer *\/\n.arb-footer{padding:32px 24px;text-align:center;border-top:0.5px solid var(--arb-divider);font-size:13px;color:var(--arb-text-soft)}\n.arb-footer p{font-size:13px;margin:0;color:var(--arb-text-soft)}\n\n\/* Mobile *\/\n@media (max-width:600px){\n  .arb-app{border-radius:var(--arb-r-md)}\n  .arb-hero{padding:40px 18px 24px}\n  .arb-hero h1{font-size:36px}\n  .arb-hero p{font-size:17px}\n  .arb-features{padding:0 18px}\n  .arb-builder{padding:0 18px 18px}\n  .arb-toolbar{margin:18px 18px 12px;padding:10px 14px}\n}\n\n\/* Print *\/\n@media print{\n  body *{visibility:hidden !important}\n  .arb-app .arb-canvas,.arb-app .arb-canvas *{visibility:visible !important}\n  .arb-app .arb-canvas{position:absolute !important;left:0;top:0;box-shadow:none !important;width:100% !important;max-width:100% !important;padding:0 !important}\n}\n\n<\/style>\n<div class=\"alignfull arb-outer\" style=\"width:100%;max-width:none;clear:both;margin:0\"><div class=\"arb-app\" data-app=\"all\" data-template=\"modern\"><div class=\"arb-orbs\"><span class=\"arb-orb arb-orb-1\"><\/span><span class=\"arb-orb arb-orb-2\"><\/span><span class=\"arb-orb arb-orb-3\"><\/span><\/div><nav class=\"arb-nav\"><div class=\"arb-nav-logo\"><span class=\"arb-grad-text\">AIapps<\/span><small>Resume<\/small><\/div><ul class=\"arb-tabs\"><li><button class=\"arb-tab arb-active\" data-tab=\"home\">Home<\/button><\/li><li><button class=\"arb-tab\" data-tab=\"builder\">Builder<\/button><\/li><li><button class=\"arb-tab\" data-tab=\"templates\">Templates<\/button><\/li><li><button class=\"arb-tab\" data-tab=\"examples\">Examples<\/button><\/li><li><button class=\"arb-tab\" data-tab=\"cover\">Cover Letter<\/button><\/li><li><button class=\"arb-tab\" data-tab=\"tracker\">Tracker<\/button><\/li><\/ul><button class=\"arb-btn arb-btn-primary arb-btn-sm arb-nav-cta\" data-goto=\"builder\">Start free<\/button><\/nav><!-- ============ HOME ============ --><div class=\"arb-panel arb-active\" data-panel=\"home\"><section class=\"arb-hero\"><div class=\"arb-eyebrow\">AI-Powered \u00b7 Free \u00b7 No Signup<\/div><h1>Resumes that <span class=\"arb-grad-text\">get noticed.<\/span><\/h1><p>Real-time editing. Liquid-glass clarity. 100 templates. Zero servers. Build in minutes \u2014 entirely in your browser.<\/p><div class=\"arb-hero-cta\"><button class=\"arb-btn arb-btn-primary\" data-goto=\"builder\">Start building \u2192<\/button><button class=\"arb-btn arb-btn-glass\" data-goto=\"templates\">Browse 100 templates<\/button><\/div><\/section><div class=\"arb-demo\"><div class=\"arb-demo-window\"><div class=\"arb-demo-bar\"><span><\/span><span><\/span><span><\/span><small>aiapps.resume.builder \u00b7 live preview<\/small><\/div><div class=\"arb-demo-frame\"><svg viewBox=\"0 0 800 500\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" preserveAspectRatio=\"xMidYMid meet\"><defs><linearGradient id=\"arb-bg\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0%\" stop-color=\"#0a0a0c\"\/><stop offset=\"100%\" stop-color=\"#1c1c1f\"\/><\/linearGradient><linearGradient id=\"arb-grad-svg\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0%\" stop-color=\"#0071e3\"\/><stop offset=\"50%\" stop-color=\"#a855f7\"\/><stop offset=\"100%\" stop-color=\"#ec4899\"\/><\/linearGradient><filter id=\"arb-glow\"><feGaussianBlur stdDeviation=\"4\"\/><\/filter><\/defs><rect width=\"800\" height=\"500\" fill=\"url(#arb-bg)\"\/><circle cx=\"100\" cy=\"100\" r=\"180\" fill=\"#0071e3\" opacity=\"0.18\" filter=\"url(#arb-glow)\"\/><circle cx=\"700\" cy=\"420\" r=\"180\" fill=\"#a855f7\" opacity=\"0.18\" filter=\"url(#arb-glow)\"\/><rect x=\"20\" y=\"20\" width=\"340\" height=\"460\" rx=\"16\" fill=\"rgba(255,255,255,0.06)\" stroke=\"rgba(255,255,255,0.12)\"\/><text x=\"42\" y=\"56\" fill=\"rgba(255,255,255,0.55)\" font-family=\"ui-monospace,monospace\" font-size=\"11\" letter-spacing=\"2\">PERSONAL<\/text><rect x=\"42\" y=\"68\" width=\"296\" height=\"36\" rx=\"10\" fill=\"rgba(255,255,255,0.08)\"\/><text x=\"56\" y=\"92\" fill=\"#fff\" font-size=\"14\" opacity=\"0\">Alex Morgan\n              <animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.5s\" begin=\"0.5s\" fill=\"freeze\"\/><\/text><rect x=\"42\" y=\"116\" width=\"296\" height=\"36\" rx=\"10\" fill=\"rgba(255,255,255,0.08)\"\/><text x=\"56\" y=\"140\" fill=\"#fff\" font-size=\"14\" opacity=\"0\">Senior Product Designer\n              <animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.5s\" begin=\"1.4s\" fill=\"freeze\"\/><\/text><text x=\"42\" y=\"186\" fill=\"rgba(255,255,255,0.55)\" font-family=\"ui-monospace,monospace\" font-size=\"11\" letter-spacing=\"2\">SUMMARY<\/text><rect x=\"240\" y=\"174\" width=\"98\" height=\"22\" rx=\"11\" fill=\"url(#arb-grad-svg)\" opacity=\"0\"><animate attributeName=\"opacity\" values=\"0;1;1;0\" keyTimes=\"0;0.1;0.7;1\" dur=\"2.5s\" begin=\"2s\" fill=\"freeze\"\/><\/rect><text x=\"289\" y=\"190\" fill=\"#fff\" font-size=\"11\" font-weight=\"600\" text-anchor=\"middle\" opacity=\"0\"><animate attributeName=\"opacity\" values=\"0;1;1;0\" keyTimes=\"0;0.1;0.7;1\" dur=\"2.5s\" begin=\"2s\" fill=\"freeze\"\/>\n              \u2728 AI Write\n            <\/text><rect x=\"42\" y=\"200\" width=\"296\" height=\"74\" rx=\"10\" fill=\"rgba(255,255,255,0.08)\"\/><text x=\"56\" y=\"222\" fill=\"rgba(255,255,255,0.85)\" font-size=\"11\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.6s\" begin=\"3.2s\" fill=\"freeze\"\/><tspan x=\"56\" dy=\"0\">Designer with 8+ years shaping<\/tspan><tspan x=\"56\" dy=\"14\">end-to-end product experiences<\/tspan><tspan x=\"56\" dy=\"14\">across consumer and B2B SaaS.<\/tspan><\/text><text x=\"42\" y=\"296\" fill=\"rgba(255,255,255,0.55)\" font-family=\"ui-monospace,monospace\" font-size=\"11\" letter-spacing=\"2\">EXPERIENCE<\/text><rect x=\"42\" y=\"306\" width=\"296\" height=\"86\" rx=\"10\" fill=\"rgba(255,255,255,0.08)\"\/><text x=\"56\" y=\"328\" fill=\"#fff\" font-size=\"13\" font-weight=\"600\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"4.2s\" fill=\"freeze\"\/>Senior PD @ Apple\n            <\/text><text x=\"56\" y=\"348\" fill=\"rgba(255,255,255,0.7)\" font-size=\"11\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"4.6s\" fill=\"freeze\"\/>\u2022 Led design for new device onboarding flow\n            <\/text><text x=\"56\" y=\"364\" fill=\"rgba(255,255,255,0.7)\" font-size=\"11\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"4.9s\" fill=\"freeze\"\/>\u2022 Shipped iOS components used by 1B+ users\n            <\/text><text x=\"56\" y=\"380\" fill=\"rgba(255,255,255,0.7)\" font-size=\"11\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"5.2s\" fill=\"freeze\"\/>\u2022 Mentored 6 designers across 3 product teams\n            <\/text><g opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.6s\" begin=\"6.2s\" fill=\"freeze\"\/><rect x=\"42\" y=\"412\" width=\"296\" height=\"42\" rx=\"12\" fill=\"rgba(52,199,89,0.18)\" stroke=\"rgba(52,199,89,0.5)\"\/><text x=\"80\" y=\"437\" fill=\"#34c759\" font-size=\"13\" font-weight=\"600\">\u2713 ATS Score: 94\/100<\/text><\/g><rect x=\"380\" y=\"20\" width=\"400\" height=\"460\" rx=\"16\" fill=\"#fff\"\/><text x=\"580\" y=\"64\" fill=\"#1d1d1f\" font-size=\"22\" font-weight=\"700\" text-anchor=\"middle\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.5s\" begin=\"1s\" fill=\"freeze\"\/>Alex Morgan\n            <\/text><text x=\"580\" y=\"84\" fill=\"#86868b\" font-size=\"13\" text-anchor=\"middle\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.5s\" begin=\"1.9s\" fill=\"freeze\"\/>Senior Product Designer\n            <\/text><text x=\"580\" y=\"100\" fill=\"#86868b\" font-size=\"10\" text-anchor=\"middle\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.5s\" begin=\"2.1s\" fill=\"freeze\"\/>alex@email.com \u00b7 (555) 123-4567 \u00b7 San Francisco, CA\n            <\/text><line x1=\"400\" y1=\"116\" x2=\"760\" y2=\"116\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"2.4s\" fill=\"freeze\"\/><\/line><text x=\"400\" y=\"142\" fill=\"#1d1d1f\" font-size=\"11\" font-weight=\"700\" letter-spacing=\"2\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"3s\" fill=\"freeze\"\/>SUMMARY\n            <\/text><text x=\"400\" y=\"162\" fill=\"#1d1d1f\" font-size=\"11\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.6s\" begin=\"3.5s\" fill=\"freeze\"\/><tspan x=\"400\" dy=\"0\">Designer with 8+ years shaping end-to-end product<\/tspan><tspan x=\"400\" dy=\"14\">experiences across consumer and B2B SaaS.<\/tspan><\/text><text x=\"400\" y=\"210\" fill=\"#1d1d1f\" font-size=\"11\" font-weight=\"700\" letter-spacing=\"2\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"4s\" fill=\"freeze\"\/>EXPERIENCE\n            <\/text><text x=\"400\" y=\"232\" fill=\"#1d1d1f\" font-size=\"13\" font-weight=\"600\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"4.3s\" fill=\"freeze\"\/>Senior Product Designer\n            <\/text><text x=\"760\" y=\"232\" fill=\"#86868b\" font-size=\"11\" text-anchor=\"end\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"4.3s\" fill=\"freeze\"\/>2021 - Present\n            <\/text><text x=\"400\" y=\"248\" fill=\"#0071e3\" font-size=\"11\" font-weight=\"500\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"4.5s\" fill=\"freeze\"\/>Apple, Cupertino\n            <\/text><text x=\"400\" y=\"268\" fill=\"#1d1d1f\" font-size=\"11\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"4.8s\" fill=\"freeze\"\/>\u2022 Led design for new device onboarding flow\n            <\/text><text x=\"400\" y=\"284\" fill=\"#1d1d1f\" font-size=\"11\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"5.1s\" fill=\"freeze\"\/>\u2022 Shipped iOS components used by 1B+ users\n            <\/text><text x=\"400\" y=\"300\" fill=\"#1d1d1f\" font-size=\"11\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"5.4s\" fill=\"freeze\"\/>\u2022 Mentored 6 designers across 3 product teams\n            <\/text><text x=\"400\" y=\"338\" fill=\"#1d1d1f\" font-size=\"11\" font-weight=\"700\" letter-spacing=\"2\" opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.4s\" begin=\"5.8s\" fill=\"freeze\"\/>SKILLS\n            <\/text><g opacity=\"0\"><animate attributeName=\"opacity\" from=\"0\" to=\"1\" dur=\"0.6s\" begin=\"6s\" fill=\"freeze\"\/><rect x=\"400\" y=\"350\" width=\"78\" height=\"22\" rx=\"11\" fill=\"#f5f5f7\"\/><text x=\"439\" y=\"365\" fill=\"#0071e3\" font-size=\"11\" text-anchor=\"middle\">Figma<\/text><rect x=\"486\" y=\"350\" width=\"98\" height=\"22\" rx=\"11\" fill=\"#f5f5f7\"\/><text x=\"535\" y=\"365\" fill=\"#0071e3\" font-size=\"11\" text-anchor=\"middle\">Prototyping<\/text><rect x=\"592\" y=\"350\" width=\"116\" height=\"22\" rx=\"11\" fill=\"#f5f5f7\"\/><text x=\"650\" y=\"365\" fill=\"#0071e3\" font-size=\"11\" text-anchor=\"middle\">Design Systems<\/text><\/g><g opacity=\"0\"><animate attributeName=\"opacity\" values=\"0;1\" dur=\"0.6s\" begin=\"7s\" fill=\"freeze\"\/><rect x=\"540\" y=\"420\" width=\"200\" height=\"40\" rx=\"20\" fill=\"url(#arb-grad-svg)\"\/><text x=\"640\" y=\"445\" fill=\"#fff\" font-size=\"13\" font-weight=\"700\" text-anchor=\"middle\">\u2193 Download PDF<\/text><\/g><rect width=\"800\" height=\"500\" fill=\"url(#arb-bg)\" opacity=\"0\"><animate attributeName=\"opacity\" values=\"0;0;1;0\" keyTimes=\"0;0.93;0.97;1\" dur=\"9.5s\" repeatCount=\"indefinite\"\/><\/rect><\/svg><\/div><\/div><\/div><h2 class=\"arb-section-title\">Built for the way you actually <span class=\"arb-grad-text\">job-hunt.<\/span><\/h2><div class=\"arb-features\"><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\u26a1<\/div><h3>Real-time preview<\/h3><p>Every keystroke renders instantly.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83c\udfa8<\/div><h3>100 templates<\/h3><p>Modern, Minimal, Two-column, Creative, more.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\u2728<\/div><h3>AI bullet writer<\/h3><p>One click. Achievement bullets per role.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83c\udfaf<\/div><h3>ATS score<\/h3><p>See exactly what to fix before submitting.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83d\udd0d<\/div><h3>JD analyzer<\/h3><p>Paste a job \u2014 see missing keywords.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83d\udc8c<\/div><h3>Cover letters<\/h3><p>Tailored letters from your resume.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83d\udcca<\/div><h3>Strength meter<\/h3><p>Live score per achievement bullet.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83d\udd17<\/div><h3>LinkedIn import<\/h3><p>Paste profile \u2192 auto-fill everything.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83d\udcb0<\/div><h3>Salary insight<\/h3><p>Range estimate by role + location.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83d\udccb<\/div><h3>Job tracker<\/h3><p>Drag-drop kanban for applications.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\u23f1<\/div><h3>Version history<\/h3><p>5 saves restorable any time.<\/p><\/div><div class=\"arb-feature\"><div class=\"arb-feature-icon\">\ud83d\udd12<\/div><h3>100% private<\/h3><p>Browser-only. Your data stays yours.<\/p><\/div><\/div><div style=\"text-align:center;padding:40px 24px 60px\"><h2 style=\"font-size:36px;letter-spacing:-0.02em;margin-bottom:14px\">Ready in <span class=\"arb-grad-text\">3 minutes.<\/span><\/h2><p style=\"font-size:18px;margin-bottom:24px\">Most users finish their resume on the first try.<\/p><button class=\"arb-btn arb-btn-primary\" data-goto=\"builder\">Start building \u2192<\/button><\/div><\/div><!-- ============ BUILDER ============ --><div class=\"arb-panel\" data-panel=\"builder\"><div class=\"arb-toolbar\"><select id=\"arb-tpl-select\" aria-label=\"Choose template\"><\/select><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"score-resume\">\ud83d\udcca Score<\/button><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"cover-letter-modal\">\u2709 Cover Letter<\/button><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"salary\">\ud83d\udcb0 Salary<\/button><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"show-history\">\u23f1 History<\/button><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"save-version\">\ud83d\udcbe Save<\/button><span class=\"arb-spacer\"><\/span><button class=\"arb-btn arb-btn-ghost arb-btn-sm\" data-action=\"reset-resume\">Reset<\/button><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"export-docx\">\u2193 Word<\/button><button class=\"arb-btn arb-btn-primary arb-btn-sm\" data-action=\"export-pdf\">\u2193 PDF<\/button><\/div><div class=\"arb-builder\"><div class=\"arb-form\" id=\"arb-form\"><\/div><div class=\"arb-preview\"><div class=\"arb-preview-head\"><span>Live preview<\/span><div class=\"arb-paper-toggle\"><button class=\"arb-active\" data-action=\"paper-a4\">A4<\/button><button data-action=\"paper-letter\">Letter<\/button><\/div><\/div><div class=\"arb-canvas arb-paper-a4\" id=\"arb-canvas\"><\/div><\/div><\/div><div class=\"arb-banner\"><span class=\"arb-banner-icon\">\u2713<\/span><span>100% private. Your resume saves only in your browser. Nothing is uploaded.<\/span><\/div><div class=\"arb-modal-bg\" id=\"arb-modal-score\"><div class=\"arb-modal\"><button class=\"arb-modal-close\" data-action=\"close-modal\" aria-label=\"Close\">\u00d7<\/button><div class=\"arb-modal-body\"><\/div><\/div><\/div><div class=\"arb-modal-bg\" id=\"arb-modal-cl\"><div class=\"arb-modal\"><button class=\"arb-modal-close\" data-action=\"close-modal\" aria-label=\"Close\">\u00d7<\/button><div class=\"arb-modal-body\"><\/div><\/div><\/div><div class=\"arb-modal-bg\" id=\"arb-modal-li\"><div class=\"arb-modal\"><button class=\"arb-modal-close\" data-action=\"close-modal\" aria-label=\"Close\">\u00d7<\/button><div class=\"arb-modal-body\"><\/div><\/div><\/div><div class=\"arb-modal-bg\" id=\"arb-modal-salary\"><div class=\"arb-modal\"><button class=\"arb-modal-close\" data-action=\"close-modal\" aria-label=\"Close\">\u00d7<\/button><div class=\"arb-modal-body\"><\/div><\/div><\/div><div class=\"arb-modal-bg\" id=\"arb-modal-history\"><div class=\"arb-modal\"><button class=\"arb-modal-close\" data-action=\"close-modal\" aria-label=\"Close\">\u00d7<\/button><div class=\"arb-modal-body\"><\/div><\/div><\/div><\/div><!-- ============ TEMPLATES ============ --><div class=\"arb-panel\" data-panel=\"templates\"><section class=\"arb-hero\" style=\"padding:48px 24px 16px\"><div class=\"arb-eyebrow\">100 Templates \u00b7 Ranked by popularity<\/div><h1>Pick a <span class=\"arb-grad-text\">template.<\/span><\/h1><p>Sorted by best-selling. Click any to apply it to your resume.<\/p><\/section><div class=\"arb-filter\" id=\"arb-tpl-filter\"><\/div><div class=\"arb-tpl-grid\" id=\"arb-tpl-grid\"><\/div><\/div><!-- ============ EXAMPLES ============ --><div class=\"arb-panel\" data-panel=\"examples\"><section class=\"arb-hero\" style=\"padding:48px 24px 24px\"><div class=\"arb-eyebrow\">Examples<\/div><h1>Resume examples for <span class=\"arb-grad-text\">every role.<\/span><\/h1><p>Click any title to start with that role pre-filled.<\/p><\/section><div class=\"arb-search-wrap\"><input type=\"text\" class=\"arb-search\" id=\"arb-ex-search\" placeholder=\"Search 140+ job titles\u2026\"><\/div><div id=\"arb-ex-host\"><\/div><\/div><!-- ============ COVER LETTER ============ --><div class=\"arb-panel\" data-panel=\"cover\"><section class=\"arb-hero\" style=\"padding:48px 24px 24px\"><div class=\"arb-eyebrow\">AI Cover Letter<\/div><h1>Generate a <span class=\"arb-grad-text\">cover letter<\/span> in seconds.<\/h1><p>Fill in the basics. AI handles the rest.<\/p><\/section><div class=\"arb-cl\"><div class=\"arb-form\" style=\"max-height:none\"><div class=\"arb-section\"><div class=\"arb-section-head\"><h3>Your details<\/h3><\/div><div class=\"arb-field\"><label>Your Name<\/label><input type=\"text\" id=\"arb-cl-name\" placeholder=\"Alex Morgan\"><\/div><div class=\"arb-field-row\"><div class=\"arb-field\"><label>Role<\/label><input type=\"text\" id=\"arb-cl-role2\" placeholder=\"Senior Designer\"><\/div><div class=\"arb-field\"><label>Company<\/label><input type=\"text\" id=\"arb-cl-company\" placeholder=\"Acme Inc\"><\/div><\/div><div class=\"arb-field\"><label>About you (optional)<\/label><textarea id=\"arb-cl-summary\" placeholder=\"2\u20133 sentences highlighting your best fit\u2026\"><\/textarea><\/div><div style=\"display:flex;gap:8px;margin-top:6px\"><button class=\"arb-btn arb-btn-primary\" id=\"arb-cl-go\">Generate letter<\/button><button class=\"arb-btn arb-btn-glass\" id=\"arb-cl-copy\">Copy<\/button><\/div><\/div><\/div><div class=\"arb-cl-out\" id=\"arb-cl-output\">Your generated cover letter will appear here.<\/div><\/div><\/div><!-- ============ TRACKER ============ --><div class=\"arb-panel\" data-panel=\"tracker\"><section class=\"arb-hero\" style=\"padding:48px 24px 24px\"><div class=\"arb-eyebrow\">Job Tracker<\/div><h1>Track every <span class=\"arb-grad-text\">application.<\/span><\/h1><p>Drag cards between columns. Saves to your browser only.<\/p><div class=\"arb-hero-cta\"><button class=\"arb-btn arb-btn-primary\" id=\"arb-add-job\">+ Add job<\/button><button class=\"arb-btn arb-btn-ghost\" id=\"arb-clear-jobs\">Clear all<\/button><\/div><\/section><div class=\"arb-kanban\" id=\"arb-kanban\"><\/div><div class=\"arb-banner\"><span class=\"arb-banner-icon\">\u2713<\/span><span>Stored in browser local storage only \u2014 never transmitted.<\/span><\/div><\/div><footer class=\"arb-footer\"><p>AIapps Resume Builder \u00b7 Privacy-first \u00b7 100% client-side \u00b7 Free forever<\/p><\/footer><\/div>\n<\/div><script id=\"arb-inline-script\" data-cfasync=\"false\" data-no-defer=\"1\" data-no-optimize=\"1\" data-no-minify=\"1\">\n\/* AIapps Resume Builder v4 \u2014 Template Engine (100 templates, structurally distinct) *\/\n(function(global) {\n  'use strict';\n\n  if (global.ARB_TEMPLATES) return;\n\n  var SAMPLE = {\n    name: 'Alex Morgan',\n    title: 'Senior Product Designer',\n    email: 'alex.morgan@email.com',\n    phone: '(555) 123-4567',\n    location: 'San Francisco, CA',\n    linkedin: 'linkedin.com\/in\/alexmorgan',\n    summary: 'Designer with 8+ years shaping end-to-end product experiences across consumer and B2B SaaS. Shipped components used by 1B+ users.',\n    experience: [\n      { role: 'Senior Product Designer', company: 'Apple', start: '2021', end: 'Present', bullets: [\n        'Led design for new device onboarding flow used by millions',\n        'Shipped iOS UI components adopted across 3 product teams',\n        'Mentored 6 designers and ran weekly critique sessions'\n      ]},\n      { role: 'Product Designer', company: 'Airbnb', start: '2018', end: '2021', bullets: [\n        'Redesigned host onboarding driving 24% completion lift',\n        'Established design system tokens used across 12 surfaces'\n      ]}\n    ],\n    education: [\n      { degree: 'B.A. Visual Design', school: 'RISD', start: '2014', end: '2018' }\n    ],\n    skills: ['Figma','Prototyping','Design Systems','User Research','Visual Design','Interaction Design','Sketch','Webflow','Motion'],\n    projects: [], certifications: [], languages: []\n  };\n\n  function esc(s) { if (s == null) return ''; return String(s).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;'); }\n  function bullets(bs) {\n    if (!bs || !bs.length) return '';\n    return '<ul style=\"margin:6px 0 0 18px;padding:0\">' + bs.map(function(b){ return '<li style=\"margin-bottom:3px\">' + esc(b) + '<\/li>'; }).join('') + '<\/ul>';\n  }\n  function initials(name) {\n    if (!name) return '?';\n    var parts = String(name).trim().split(\/\\s+\/);\n    if (parts.length === 1) return parts[0].charAt(0).toUpperCase();\n    return (parts[0].charAt(0) + parts[parts.length-1].charAt(0)).toUpperCase();\n  }\n\n  \/\/ ============================================================\n  \/\/ 10 STRUCTURALLY DISTINCT DESIGNS (mirrors Etsy best-sellers)\n  \/\/ ============================================================\n  var DESIGNS = {\n\n    \/\/ 1. MODERN: Bold name + thick accent underline + clean grid (Etsy #1 best-seller)\n    modern: function(d, t) {\n      var accent = t.accent || '#0071e3';\n      return '<div style=\"font-family:\\'Inter\\',-apple-system,Arial,sans-serif;color:#1a1a1a;max-width:780px;margin:auto\">' +\n        '<header style=\"margin-bottom:24px;padding-bottom:18px;border-bottom:3px solid ' + accent + '\">' +\n          '<h1 style=\"font-size:34px;font-weight:800;margin:0;letter-spacing:-0.5px;color:#0a0a0a\">' + esc(d.name||'Your Name') + '<\/h1>' +\n          '<div style=\"font-size:15px;color:' + accent + ';font-weight:600;margin-top:2px;letter-spacing:0.5px;text-transform:uppercase\">' + esc(d.title||'') + '<\/div>' +\n          '<div style=\"font-size:11px;color:#555;margin-top:10px;letter-spacing:0.3px\">' + [d.email,d.phone,d.location,d.linkedin].filter(Boolean).map(esc).join('  \u2022  ') + '<\/div>' +\n        '<\/header>' +\n        sec('PROFILE', d.summary ? '<p style=\"font-size:13px;line-height:1.55;margin:0;color:#333\">' + esc(d.summary) + '<\/p>' : '') +\n        sec('EXPERIENCE', (d.experience||[]).map(function(e) {\n          return '<div style=\"margin-bottom:14px;font-size:13px\"><div style=\"display:flex;justify-content:space-between;align-items:baseline\"><strong style=\"font-size:14px\">' + esc(e.role||'') + '<\/strong><span style=\"color:#888;font-size:11px\">' + esc(e.start||'') + ' \u2014 ' + esc(e.end||'') + '<\/span><\/div><div style=\"color:' + accent + ';font-weight:600;font-size:12px\">' + esc(e.company||'') + '<\/div>' + bullets(e.bullets) + '<\/div>';\n        }).join('')) +\n        sec('EDUCATION', (d.education||[]).map(function(e) {\n          return '<div style=\"font-size:13px;margin-bottom:6px\"><strong>' + esc(e.degree||'') + '<\/strong> \u00b7 ' + esc(e.school||'') + ' <span style=\"color:#888;font-size:11px\">(' + esc(e.start||'') + '\u2013' + esc(e.end||'') + ')<\/span><\/div>';\n        }).join('')) +\n        sec('SKILLS', (d.skills||[]).length ? '<div>' + d.skills.map(function(s){ return '<span style=\"display:inline-block;background:' + accent + '15;color:' + accent + ';padding:4px 11px;border-radius:3px;font-size:11px;font-weight:600;margin:0 4px 4px 0;letter-spacing:0.3px\">' + esc(s) + '<\/span>'; }).join('') + '<\/div>' : '') +\n      '<\/div>';\n      function sec(title, body) { if (!body) return ''; return '<section style=\"margin-bottom:18px\"><h2 style=\"font-size:11px;color:' + accent + ';letter-spacing:2.5px;font-weight:700;margin-bottom:9px;padding-bottom:5px;border-bottom:1px solid #e0e0e0\">' + title + '<\/h2>' + body + '<\/section>'; }\n    },\n\n    \/\/ 2. MINIMAL PHOTO: Centered avatar circle + ultra-light Helvetica + spaced caps\n    minimal: function(d, t) {\n      var accent = t.accent || '#888';\n      var pic = '<div style=\"width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#f0f0f0,#d8d8d8);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:300;color:' + accent + ';margin:0 auto 14px;border:2px solid #fff;box-shadow:0 0 0 1px #ddd\">' + initials(d.name) + '<\/div>';\n      return '<div style=\"font-family:\\'Helvetica Neue\\',Helvetica,Arial,sans-serif;color:#222;max-width:780px;margin:auto;text-align:center;font-weight:300\">' +\n        '<header style=\"margin-bottom:26px\">' +\n          pic +\n          '<h1 style=\"font-size:32px;margin:0;font-weight:200;letter-spacing:5px;text-transform:uppercase\">' + esc(d.name||'Your Name') + '<\/h1>' +\n          '<div style=\"font-size:11px;color:#666;margin-top:4px;letter-spacing:6px;font-weight:400\">' + esc((d.title||'').toUpperCase()) + '<\/div>' +\n          '<div style=\"margin:12px auto;width:40px;border-bottom:1px solid #999\"><\/div>' +\n          '<div style=\"font-size:10px;color:#888;letter-spacing:2px\">' + [d.email,d.phone,d.location,d.linkedin].filter(Boolean).map(esc).join('  \u00b7  ') + '<\/div>' +\n        '<\/header>' +\n        '<div style=\"text-align:left;padding:0 8px\">' +\n          (d.summary ? '<p style=\"font-size:13px;text-align:center;font-style:italic;color:#555;font-weight:300;max-width:520px;margin:0 auto 22px\">\"' + esc(d.summary) + '\"<\/p>' : '') +\n          sec('Experience', (d.experience||[]).map(function(e){\n            return '<div style=\"margin-bottom:14px;font-size:13px\"><div style=\"font-weight:500\">' + esc(e.role||'') + ' <span style=\"color:#888;font-weight:300\">\u00b7  ' + esc(e.company||'') + '<\/span><\/div><div style=\"color:#aaa;font-size:11px;letter-spacing:1px;margin:1px 0 4px\">' + esc(e.start||'') + ' \u2014 ' + esc(e.end||'') + '<\/div>' + bullets(e.bullets) + '<\/div>';\n          }).join('')) +\n          sec('Education', (d.education||[]).map(function(e){\n            return '<div style=\"font-size:13px;margin-bottom:5px\"><strong style=\"font-weight:500\">' + esc(e.degree||'') + '<\/strong>  \u00b7  ' + esc(e.school||'') + '<\/div>';\n          }).join('')) +\n          sec('Skills', (d.skills||[]).length ? '<p style=\"font-size:13px;margin:0;text-align:center;letter-spacing:1.5px;color:#444;font-weight:300\">' + d.skills.map(esc).join('  \/  ') + '<\/p>' : '') +\n        '<\/div>' +\n      '<\/div>';\n      function sec(title, body) { if (!body) return ''; return '<section style=\"margin-bottom:18px\"><h2 style=\"font-size:10px;letter-spacing:5px;text-transform:uppercase;color:' + accent + ';margin-bottom:10px;font-weight:400;text-align:center;border-top:1px solid #eee;padding-top:14px\">' + title + '<\/h2>' + body + '<\/section>'; }\n    },\n\n    \/\/ 3. SIDEBAR: Dark left column with photo + skills + contact (THE iconic Etsy resume style)\n    sidebar: function(d, t) {\n      var accent = t.accent || '#1e293b';\n      var pic = '<div style=\"width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,0.18);border:2px solid rgba(255,255,255,0.5);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:300;color:#fff;margin:0 auto 18px\">' + initials(d.name) + '<\/div>';\n      return '<div style=\"font-family:\\'Inter\\',-apple-system,Arial,sans-serif;color:#1a1a1a;max-width:780px;margin:auto;display:grid;grid-template-columns:230px 1fr;gap:0;background:#fff\">' +\n        '<aside style=\"background:' + accent + ';color:#fff;padding:26px 20px\">' +\n          pic +\n          '<h1 style=\"font-size:18px;margin:0 0 4px;font-weight:700;text-align:center;letter-spacing:0.5px\">' + esc(d.name||'Your Name') + '<\/h1>' +\n          '<div style=\"font-size:11px;color:rgba(255,255,255,0.85);text-align:center;margin-bottom:22px;font-weight:400\">' + esc(d.title||'') + '<\/div>' +\n          asideSec('CONTACT', '<div style=\"font-size:10px;line-height:1.9;color:rgba(255,255,255,0.92)\">' +\n            (d.email ? '<div style=\"margin-bottom:5px;word-break:break-all\">\u2709 ' + esc(d.email) + '<\/div>' : '') +\n            (d.phone ? '<div style=\"margin-bottom:5px\">\u260e ' + esc(d.phone) + '<\/div>' : '') +\n            (d.location ? '<div style=\"margin-bottom:5px\">\u2316 ' + esc(d.location) + '<\/div>' : '') +\n            (d.linkedin ? '<div style=\"word-break:break-all\">\u2b21 ' + esc(d.linkedin) + '<\/div>' : '') +\n          '<\/div>') +\n          asideSec('SKILLS', (d.skills||[]).length ? d.skills.map(function(s){ return '<div style=\"font-size:11px;margin-bottom:7px;color:rgba(255,255,255,0.92)\"><span style=\"display:inline-block;width:6px;height:6px;background:#fff;border-radius:50%;margin-right:7px;vertical-align:middle\"><\/span>' + esc(s) + '<\/div>'; }).join('') : '') +\n          asideSec('EDUCATION', (d.education||[]).map(function(e){\n            return '<div style=\"font-size:11px;color:rgba(255,255,255,0.92);margin-bottom:8px;line-height:1.4\"><strong>' + esc(e.degree||'') + '<\/strong><br>' + esc(e.school||'') + '<br><span style=\"color:rgba(255,255,255,0.65);font-size:10px\">' + esc(e.start||'') + '\u2013' + esc(e.end||'') + '<\/span><\/div>';\n          }).join('')) +\n        '<\/aside>' +\n        '<main style=\"padding:26px 24px\">' +\n          mainSec('PROFILE', d.summary ? '<p style=\"font-size:13px;line-height:1.55;margin:0;color:#333\">' + esc(d.summary) + '<\/p>' : '') +\n          mainSec('EXPERIENCE', (d.experience||[]).map(function(e){\n            return '<div style=\"margin-bottom:14px;font-size:13px;padding-left:14px;border-left:2px solid ' + accent + '\"><div style=\"font-weight:700;font-size:14px\">' + esc(e.role||'') + '<\/div><div style=\"color:' + accent + ';font-weight:500;font-size:12px\">' + esc(e.company||'') + ' \u00b7 ' + esc(e.start||'') + '\u2013' + esc(e.end||'') + '<\/div>' + bullets(e.bullets) + '<\/div>';\n          }).join('')) +\n        '<\/main>' +\n      '<\/div>';\n      function asideSec(t, b) { if (!b) return ''; return '<div style=\"margin-top:18px\"><h3 style=\"font-size:10px;letter-spacing:2.5px;font-weight:700;color:rgba(255,255,255,0.65);margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,0.2)\">' + t + '<\/h3>' + b + '<\/div>'; }\n      function mainSec(t, b) { if (!b) return ''; return '<section style=\"margin-bottom:18px\"><h2 style=\"font-size:13px;color:' + accent + ';font-weight:700;letter-spacing:2.5px;margin-bottom:10px;padding-bottom:5px;border-bottom:2px solid ' + accent + '\">' + t + '<\/h2>' + b + '<\/section>'; }\n    },\n\n    \/\/ 4. CREATIVE: Top color band + monogram circle + card sections\n    creative: function(d, t) {\n      var accent = t.accent || '#7c3aed';\n      return '<div style=\"font-family:\\'Poppins\\',\\'Inter\\',sans-serif;color:#1a1a1a;max-width:780px;margin:auto;background:#fff\">' +\n        '<header style=\"background:' + accent + ';color:#fff;padding:28px 28px 50px;border-radius:8px 8px 0 0\">' +\n          '<h1 style=\"font-size:30px;font-weight:700;margin:0;letter-spacing:-0.5px\">' + esc(d.name||'Your Name') + '<\/h1>' +\n          '<div style=\"font-size:14px;font-weight:400;opacity:0.95;margin-top:2px\">' + esc(d.title||'') + '<\/div>' +\n        '<\/header>' +\n        '<div style=\"background:#fff;border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;color:' + accent + ';margin:-44px 28px 0 auto;box-shadow:0 4px 12px rgba(0,0,0,0.1);border:4px solid #fff;position:relative\">' + initials(d.name) + '<\/div>' +\n        '<div style=\"padding:0 28px 24px\">' +\n          '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:11px;color:#555;margin-top:-12px;margin-bottom:20px\">' +\n            (d.email ? '<div>\ud83d\udce7 ' + esc(d.email) + '<\/div>' : '') +\n            (d.phone ? '<div>\ud83d\udcf1 ' + esc(d.phone) + '<\/div>' : '') +\n            (d.location ? '<div>\ud83d\udccd ' + esc(d.location) + '<\/div>' : '') +\n            (d.linkedin ? '<div>\ud83d\udd17 ' + esc(d.linkedin) + '<\/div>' : '') +\n          '<\/div>' +\n          card('About Me', d.summary ? '<p style=\"font-size:13px;line-height:1.55;margin:0\">' + esc(d.summary) + '<\/p>' : '') +\n          card('Work Experience', (d.experience||[]).map(function(e){\n            return '<div style=\"margin-bottom:13px;font-size:13px;padding-bottom:10px;border-bottom:1px dashed #eee\"><div style=\"display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px\"><div><strong style=\"font-size:14px;color:' + accent + '\">' + esc(e.role||'') + '<\/strong><div style=\"color:#666;font-size:12px;font-weight:500\">' + esc(e.company||'') + '<\/div><\/div><span style=\"background:' + accent + '15;color:' + accent + ';padding:3px 10px;border-radius:99px;font-size:10px;font-weight:600;white-space:nowrap\">' + esc(e.start||'') + ' \u2014 ' + esc(e.end||'') + '<\/span><\/div>' + bullets(e.bullets) + '<\/div>';\n          }).join('')) +\n          '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:14px\">' +\n            card('Education', (d.education||[]).map(function(e){\n              return '<div style=\"font-size:12px;margin-bottom:6px\"><strong style=\"color:' + accent + '\">' + esc(e.degree||'') + '<\/strong><br><span style=\"color:#666\">' + esc(e.school||'') + '<\/span><br><span style=\"color:#999;font-size:10px\">' + esc(e.start||'') + '\u2013' + esc(e.end||'') + '<\/span><\/div>';\n            }).join('')) +\n            card('Skills', (d.skills||[]).length ? '<div>' + d.skills.map(function(s){ return '<span style=\"display:inline-block;background:' + accent + ';color:#fff;padding:3px 10px;border-radius:99px;font-size:10px;font-weight:500;margin:0 3px 4px 0\">' + esc(s) + '<\/span>'; }).join('') + '<\/div>' : '') +\n          '<\/div>' +\n        '<\/div>' +\n      '<\/div>';\n      function card(title, body) { if (!body) return ''; return '<div style=\"background:#fafafa;border-radius:10px;padding:14px 16px;margin-bottom:12px\"><h2 style=\"font-size:11px;color:' + accent + ';font-weight:700;letter-spacing:1.5px;margin:0 0 8px;text-transform:uppercase\">' + title + '<\/h2>' + body + '<\/div>'; }\n    },\n\n    \/\/ 5. CLASSIC ATS: Centered serif name + double border + traditional ATS-friendly\n    classic: function(d, t) {\n      var accent = t.accent || '#1a1a1a';\n      return '<div style=\"font-family:\\'Times New Roman\\',Times,serif;color:#1a1a1a;max-width:780px;margin:auto\">' +\n        '<header style=\"text-align:center;border-top:3px double ' + accent + ';border-bottom:3px double ' + accent + ';padding:14px 0;margin-bottom:18px\">' +\n          '<h1 style=\"font-size:30px;margin:0 0 4px;letter-spacing:3px;font-weight:700;color:' + accent + '\">' + esc((d.name||'YOUR NAME').toUpperCase()) + '<\/h1>' +\n          '<div style=\"font-size:13px;font-style:italic;color:#444\">' + esc(d.title||'') + '<\/div>' +\n          '<div style=\"font-size:11px;color:#666;margin-top:8px\">' + [d.email,d.phone,d.location,d.linkedin].filter(Boolean).map(esc).join('  \u2022  ') + '<\/div>' +\n        '<\/header>' +\n        sec('Professional Summary', d.summary ? '<p style=\"font-size:13px;text-align:justify;margin:0;line-height:1.5\">' + esc(d.summary) + '<\/p>' : '') +\n        sec('Professional Experience', (d.experience||[]).map(function(e){\n          return '<div style=\"margin-bottom:14px;font-size:13px\"><div style=\"display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding-bottom:3px;margin-bottom:5px\"><strong style=\"font-variant:small-caps;letter-spacing:1px;font-size:14px\">' + esc(e.role||'') + ', ' + esc(e.company||'') + '<\/strong><em style=\"color:#666;font-size:12px\">' + esc(e.start||'') + ' \u2013 ' + esc(e.end||'') + '<\/em><\/div>' + bullets(e.bullets) + '<\/div>';\n        }).join('')) +\n        sec('Education', (d.education||[]).map(function(e){\n          return '<div style=\"font-size:13px;margin-bottom:5px\"><strong>' + esc(e.degree||'') + '<\/strong>, ' + esc(e.school||'') + ' <em style=\"color:#666\">(' + esc(e.start||'') + '\u2013' + esc(e.end||'') + ')<\/em><\/div>';\n        }).join('')) +\n        sec('Skills & Competencies', (d.skills||[]).length ? '<p style=\"font-size:13px;margin:0\">' + d.skills.map(esc).join(' \u2022 ') + '<\/p>' : '') +\n      '<\/div>';\n      function sec(title, body) { if (!body) return ''; return '<section style=\"margin-bottom:16px\"><h2 style=\"font-size:14px;font-variant:small-caps;letter-spacing:2px;text-align:center;color:' + accent + ';margin-bottom:8px;font-weight:700;border-bottom:1px solid ' + accent + ';padding-bottom:3px\">' + title + '<\/h2>' + body + '<\/section>'; }\n    },\n\n    \/\/ 6. EXECUTIVE: Dark header band + gold accents + serif body\n    executive: function(d, t) {\n      var accent = t.accent || '#0f172a';\n      var gold = '#c9a55c';\n      return '<div style=\"font-family:\\'Garamond\\',\\'Times New Roman\\',serif;color:#1a1a1a;max-width:780px;margin:auto;background:#fff\">' +\n        '<header style=\"background:' + accent + ';color:#fff;padding:24px 28px;border-bottom:5px solid ' + gold + '\">' +\n          '<h1 style=\"font-size:32px;margin:0;font-weight:600;letter-spacing:1px\">' + esc(d.name||'Your Name') + '<\/h1>' +\n          '<div style=\"font-size:13px;color:' + gold + ';font-style:italic;margin-top:2px;letter-spacing:1px\">' + esc(d.title||'') + '<\/div>' +\n          '<div style=\"font-size:11px;color:rgba(255,255,255,0.75);margin-top:10px;font-family:Arial,sans-serif\">' + [d.email,d.phone,d.location,d.linkedin].filter(Boolean).map(esc).join(' | ') + '<\/div>' +\n        '<\/header>' +\n        '<div style=\"padding:22px 28px\">' +\n          sec('EXECUTIVE SUMMARY', d.summary ? '<p style=\"font-size:13px;text-align:justify;margin:0;line-height:1.55;color:#222\">' + esc(d.summary) + '<\/p>' : '') +\n          sec('PROFESSIONAL EXPERIENCE', (d.experience||[]).map(function(e){\n            return '<div style=\"margin-bottom:14px;font-size:13px;border-left:3px solid ' + gold + ';padding-left:12px\"><div style=\"display:flex;justify-content:space-between;align-items:baseline\"><strong style=\"font-size:14px;color:' + accent + ';font-variant:small-caps;letter-spacing:1px\">' + esc(e.role||'') + '<\/strong><span style=\"font-style:italic;color:#666;font-size:11px\">' + esc(e.start||'') + ' \u2013 ' + esc(e.end||'') + '<\/span><\/div><div style=\"color:' + gold + ';font-weight:600;font-size:12px;font-family:Arial,sans-serif\">' + esc(e.company||'') + '<\/div>' + bullets(e.bullets) + '<\/div>';\n          }).join('')) +\n          sec('EDUCATION', (d.education||[]).map(function(e){\n            return '<div style=\"font-size:13px;margin-bottom:5px\"><strong>' + esc(e.degree||'') + '<\/strong>, ' + esc(e.school||'') + ' (' + esc(e.start||'') + '\u2013' + esc(e.end||'') + ')<\/div>';\n          }).join('')) +\n          sec('CORE COMPETENCIES', (d.skills||[]).length ? '<div style=\"font-size:13px;line-height:1.8\">' + d.skills.map(function(s){ return '<span style=\"display:inline-block;margin:0 14px 4px 0;color:#222\"><span style=\"color:' + gold + '\">\u25c6<\/span> ' + esc(s) + '<\/span>'; }).join('') + '<\/div>' : '') +\n        '<\/div>' +\n      '<\/div>';\n      function sec(title, body) { if (!body) return ''; return '<section style=\"margin-bottom:18px\"><h2 style=\"font-size:12px;letter-spacing:3px;color:' + accent + ';margin-bottom:9px;font-weight:700;font-family:Arial,sans-serif;border-bottom:1px solid ' + gold + ';padding-bottom:4px\">' + title + '<\/h2>' + body + '<\/section>'; }\n    },\n\n    \/\/ 7. ELEGANT: Cream background + flourish dividers + italic spaced caps (feminine elegant)\n    elegant: function(d, t) {\n      var accent = t.accent || '#7a4a52';\n      var bg = '#faf6f1';\n      return '<div style=\"font-family:\\'Cormorant Garamond\\',\\'Garamond\\',\\'Times New Roman\\',serif;color:#3a2e2e;max-width:780px;margin:auto;background:' + bg + ';padding:24px 28px\">' +\n        '<header style=\"text-align:center;margin-bottom:22px\">' +\n          '<h1 style=\"font-size:38px;margin:0;font-weight:300;letter-spacing:8px;color:' + accent + ';font-style:italic\">' + esc(d.name||'Your Name') + '<\/h1>' +\n          '<div style=\"font-size:11px;color:#7a6e6e;letter-spacing:6px;text-transform:uppercase;margin-top:6px\">' + esc(d.title||'') + '<\/div>' +\n          '<div style=\"margin:14px auto;display:flex;align-items:center;justify-content:center;gap:10px\">' +\n            '<span style=\"height:1px;background:' + accent + ';width:40px;display:inline-block\"><\/span>' +\n            '<span style=\"color:' + accent + ';font-size:14px\">\u2766<\/span>' +\n            '<span style=\"height:1px;background:' + accent + ';width:40px;display:inline-block\"><\/span>' +\n          '<\/div>' +\n          '<div style=\"font-size:10px;color:#7a6e6e;font-style:italic;letter-spacing:1px\">' + [d.email,d.phone,d.location,d.linkedin].filter(Boolean).map(esc).join(' \u00b7 ') + '<\/div>' +\n        '<\/header>' +\n        sec('Profile', d.summary ? '<p style=\"font-size:14px;text-align:center;font-style:italic;color:#5a4747;margin:0 auto;line-height:1.6;max-width:560px\">' + esc(d.summary) + '<\/p>' : '') +\n        sec('Experience', (d.experience||[]).map(function(e){\n          return '<div style=\"margin-bottom:14px;font-size:13px;text-align:center\"><div style=\"font-weight:600;font-style:italic;color:' + accent + ';font-size:15px\">' + esc(e.role||'') + '<\/div><div style=\"color:#7a6e6e;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin:2px 0 4px\">' + esc(e.company||'') + ' \u00b7 ' + esc(e.start||'') + '\u2013' + esc(e.end||'') + '<\/div><div style=\"text-align:left;display:inline-block;color:#3a2e2e\">' + bullets(e.bullets) + '<\/div><\/div>';\n        }).join('')) +\n        sec('Education', (d.education||[]).map(function(e){\n          return '<div style=\"font-size:13px;text-align:center;margin-bottom:5px;font-style:italic\"><strong style=\"font-style:normal\">' + esc(e.degree||'') + '<\/strong>, ' + esc(e.school||'') + '<\/div>';\n        }).join('')) +\n        sec('Skills', (d.skills||[]).length ? '<p style=\"font-size:13px;margin:0;text-align:center;letter-spacing:2px;color:#5a4747;font-style:italic\">' + d.skills.map(esc).join('  \u2766  ') + '<\/p>' : '') +\n      '<\/div>';\n      function sec(title, body) { if (!body) return ''; return '<section style=\"margin-bottom:20px;text-align:center\"><h2 style=\"font-size:13px;letter-spacing:7px;text-transform:uppercase;color:' + accent + ';margin-bottom:10px;font-weight:400;font-family:Arial,sans-serif\">' + title + '<\/h2>' + body + '<\/section>'; }\n    },\n\n    \/\/ 8. BOLD: Massive 48px name + thick colored sidebar accent + black role bars\n    bold: function(d, t) {\n      var accent = t.accent || '#dc2626';\n      return '<div style=\"font-family:\\'Inter\\',\\'Helvetica Neue\\',Arial,sans-serif;color:#0a0a0a;max-width:780px;margin:auto;display:grid;grid-template-columns:8px 1fr;gap:0;background:#fff\">' +\n        '<div style=\"background:' + accent + '\"><\/div>' +\n        '<div style=\"padding:24px 28px\">' +\n          '<header style=\"margin-bottom:22px\">' +\n            '<h1 style=\"font-size:48px;margin:0;font-weight:900;line-height:0.95;letter-spacing:-2px;text-transform:uppercase\">' + esc(d.name||'Your Name') + '<\/h1>' +\n            '<div style=\"font-size:14px;margin-top:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:' + accent + '\">\/\/ ' + esc(d.title||'') + '<\/div>' +\n            '<div style=\"font-size:11px;margin-top:12px;color:#444;font-weight:500\">' + [d.email,d.phone,d.location,d.linkedin].filter(Boolean).map(esc).join('   \u25b8   ') + '<\/div>' +\n          '<\/header>' +\n          sec('PROFILE', d.summary ? '<p style=\"font-size:13px;margin:0;line-height:1.55;font-weight:500\">' + esc(d.summary) + '<\/p>' : '') +\n          sec('EXPERIENCE', (d.experience||[]).map(function(e){\n            return '<div style=\"margin-bottom:16px;font-size:13px\"><div style=\"display:flex;justify-content:space-between;align-items:baseline;background:#0a0a0a;color:#fff;padding:6px 10px;margin-bottom:5px\"><strong style=\"font-size:13px;letter-spacing:1px;text-transform:uppercase\">' + esc(e.role||'') + '<\/strong><span style=\"font-size:11px;font-weight:600\">' + esc(e.start||'') + ' \/ ' + esc(e.end||'') + '<\/span><\/div><div style=\"color:' + accent + ';font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px\">\u25b8 ' + esc(e.company||'') + '<\/div>' + bullets(e.bullets) + '<\/div>';\n          }).join('')) +\n          sec('EDUCATION', (d.education||[]).map(function(e){\n            return '<div style=\"font-size:13px;margin-bottom:5px;font-weight:500\"><strong style=\"text-transform:uppercase;letter-spacing:0.5px\">' + esc(e.degree||'') + '<\/strong> \u2014 ' + esc(e.school||'') + '<\/div>';\n          }).join('')) +\n          sec('SKILLS', (d.skills||[]).length ? '<div>' + d.skills.map(function(s){ return '<span style=\"display:inline-block;background:#0a0a0a;color:#fff;padding:5px 12px;font-size:11px;font-weight:700;margin:0 5px 5px 0;letter-spacing:0.5px;text-transform:uppercase\">' + esc(s) + '<\/span>'; }).join('') + '<\/div>' : '') +\n        '<\/div>' +\n      '<\/div>';\n      function sec(title, body) { if (!body) return ''; return '<section style=\"margin-bottom:18px\"><h2 style=\"font-size:11px;letter-spacing:4px;font-weight:900;border-bottom:4px solid ' + accent + ';padding-bottom:5px;margin-bottom:9px;display:inline-block\">' + title + '<\/h2>' + body + '<\/section>'; }\n    },\n\n    \/\/ 9. TECH: Terminal-style header + monospace + tag-cloud skills\n    tech: function(d, t) {\n      var accent = t.accent || '#10b981';\n      var brand = '#6366f1';\n      return '<div style=\"font-family:\\'Inter\\',-apple-system,sans-serif;color:#0a0a0a;max-width:780px;margin:auto;background:#fff\">' +\n        '<header style=\"background:#0a0a0a;color:#fff;padding:22px 26px;font-family:\\'JetBrains Mono\\',Menlo,monospace\">' +\n          '<div style=\"color:' + accent + ';font-size:12px;margin-bottom:4px\">$ cat ~\/profile.json<\/div>' +\n          '<h1 style=\"font-size:30px;margin:4px 0;font-weight:700;font-family:\\'Inter\\',sans-serif;letter-spacing:-0.5px\">' + esc(d.name||'Your Name') + '<\/h1>' +\n          '<div style=\"color:' + brand + ';font-family:\\'Inter\\',sans-serif;font-weight:500;font-size:14px\">' + esc(d.title||'') + '<\/div>' +\n          '<div style=\"color:#888;font-size:11px;margin-top:10px\">' +\n            (d.email ? '<span style=\"color:' + accent + '\">\u203a<\/span> ' + esc(d.email) + '<br>' : '') +\n            ((d.phone || d.location) ? '<span style=\"color:' + accent + '\">\u203a<\/span> ' + esc((d.phone||'') + (d.phone && d.location ? ' \u00b7 ' : '') + (d.location||'')) + '<br>' : '') +\n            (d.linkedin ? '<span style=\"color:' + accent + '\">\u203a<\/span> ' + esc(d.linkedin) : '') +\n          '<\/div>' +\n        '<\/header>' +\n        '<div style=\"padding:22px 26px\">' +\n          sec('\/\/ summary', d.summary ? '<p style=\"font-size:13px;margin:0;line-height:1.55\">' + esc(d.summary) + '<\/p>' : '') +\n          sec('\/\/ experience', (d.experience||[]).map(function(e){\n            return '<div style=\"margin-bottom:14px;font-size:13px\"><div style=\"font-family:\\'JetBrains Mono\\',Menlo,monospace;font-size:12px;color:#666;margin-bottom:3px\">[' + esc(e.start||'') + ' \u2014 ' + esc(e.end||'') + ']<\/div><div><strong style=\"font-size:14px\">' + esc(e.role||'') + '<\/strong> <span style=\"color:' + brand + '\">@<\/span> <span style=\"color:' + accent + ';font-weight:600\">' + esc(e.company||'') + '<\/span><\/div>' + bullets(e.bullets) + '<\/div>';\n          }).join('')) +\n          sec('\/\/ education', (d.education||[]).map(function(e){\n            return '<div style=\"font-size:13px;margin-bottom:5px\"><strong>' + esc(e.degree||'') + '<\/strong> @ ' + esc(e.school||'') + '<\/div>';\n          }).join('')) +\n          sec('\/\/ skills', (d.skills||[]).length ? '<div>' + d.skills.map(function(s){ return '<span style=\"display:inline-block;background:#f3f4f6;color:#0a0a0a;padding:4px 10px;border-radius:4px;font-family:\\'JetBrains Mono\\',Menlo,monospace;font-size:11px;margin:0 4px 4px 0;border-left:2px solid ' + accent + '\">' + esc(s) + '<\/span>'; }).join('') + '<\/div>' : '') +\n        '<\/div>' +\n      '<\/div>';\n      function sec(title, body) { if (!body) return ''; return '<section style=\"margin-bottom:18px\"><h2 style=\"font-size:12px;color:' + accent + ';font-family:\\'JetBrains Mono\\',Menlo,monospace;margin-bottom:8px;font-weight:600\">' + title + '<\/h2>' + body + '<\/section>'; }\n    },\n\n    \/\/ 10. BEIGE: Cream background + photo placeholder + dot dividers (Etsy soft minimalist)\n    beige: function(d, t) {\n      var accent = t.accent || '#8b6f47';\n      var bg = '#f5efe6';\n      var pic = '<div style=\"width:80px;height:80px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:600;color:' + accent + ';border:3px solid ' + accent + ';flex-shrink:0\">' + initials(d.name) + '<\/div>';\n      return '<div style=\"font-family:\\'Lora\\',Georgia,serif;color:#3a3026;max-width:780px;margin:auto;background:' + bg + ';padding:26px 28px\">' +\n        '<header style=\"display:flex;align-items:center;gap:18px;margin-bottom:22px;padding-bottom:18px;border-bottom:2px dotted ' + accent + '\">' +\n          pic +\n          '<div style=\"flex:1;min-width:0\">' +\n            '<h1 style=\"font-size:30px;margin:0;font-weight:600;color:' + accent + ';letter-spacing:1px\">' + esc(d.name||'Your Name') + '<\/h1>' +\n            '<div style=\"font-size:13px;color:#7a6856;font-style:italic;margin-top:2px\">' + esc(d.title||'') + '<\/div>' +\n            '<div style=\"font-size:10px;color:#9a8876;margin-top:8px;font-family:Arial,sans-serif;letter-spacing:0.5px\">' + [d.email,d.phone,d.location,d.linkedin].filter(Boolean).map(esc).join('  \u2022  ') + '<\/div>' +\n          '<\/div>' +\n        '<\/header>' +\n        sec('About', d.summary ? '<p style=\"font-size:13px;margin:0;line-height:1.6;color:#4a3e2e\">' + esc(d.summary) + '<\/p>' : '') +\n        sec('Experience', (d.experience||[]).map(function(e){\n          return '<div style=\"margin-bottom:14px;font-size:13px\"><div style=\"display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap\"><strong style=\"font-size:14px;color:' + accent + '\">' + esc(e.role||'') + '<\/strong><span style=\"color:#9a8876;font-size:11px;font-style:italic\">' + esc(e.start||'') + ' \u2014 ' + esc(e.end||'') + '<\/span><\/div><div style=\"font-style:italic;color:#7a6856;font-size:12px;margin:1px 0 4px\">' + esc(e.company||'') + '<\/div>' + bullets(e.bullets) + '<\/div>';\n        }).join('')) +\n        sec('Education', (d.education||[]).map(function(e){\n          return '<div style=\"font-size:13px;margin-bottom:5px;color:#4a3e2e\"><strong style=\"color:' + accent + '\">' + esc(e.degree||'') + '<\/strong> \u00b7 ' + esc(e.school||'') + ' <span style=\"color:#9a8876;font-size:11px;font-style:italic\">(' + esc(e.start||'') + '\u2013' + esc(e.end||'') + ')<\/span><\/div>';\n        }).join('')) +\n        sec('Skills', (d.skills||[]).length ? '<div style=\"font-size:13px;line-height:1.8;color:#4a3e2e\">' + d.skills.map(function(s){ return '<span style=\"display:inline-block;margin:0 6px\"><span style=\"color:' + accent + '\">\u25cf<\/span> ' + esc(s) + '<\/span>'; }).join('') + '<\/div>' : '') +\n      '<\/div>';\n      function sec(title, body) { if (!body) return ''; return '<section style=\"margin-bottom:18px\"><h2 style=\"font-size:12px;letter-spacing:3px;text-transform:uppercase;color:' + accent + ';margin-bottom:9px;font-family:Arial,sans-serif;font-weight:700;display:flex;align-items:center;gap:8px\">' + title + '<span style=\"flex:1;height:1px;background:' + accent + ';opacity:0.3\"><\/span><\/h2>' + body + '<\/section>'; }\n    }\n  };\n\n  \/\/ 100 templates: 10 designs \u00d7 10 color variants\n  var COLOR_VARIANTS = [\n    { suffix: '',           accent: null,       name: '' },\n    { suffix: '-blue',      accent: '#0071e3',  name: 'Blue' },\n    { suffix: '-navy',      accent: '#1e3a8a',  name: 'Navy' },\n    { suffix: '-emerald',   accent: '#059669',  name: 'Emerald' },\n    { suffix: '-rose',      accent: '#e11d48',  name: 'Rose' },\n    { suffix: '-amber',     accent: '#d97706',  name: 'Amber' },\n    { suffix: '-violet',    accent: '#7c3aed',  name: 'Violet' },\n    { suffix: '-teal',      accent: '#0d9488',  name: 'Teal' },\n    { suffix: '-graphite',  accent: '#374151',  name: 'Graphite' },\n    { suffix: '-burgundy',  accent: '#9f1239',  name: 'Burgundy' }\n  ];\n\n  var DESIGN_ORDER = ['modern', 'minimal', 'sidebar', 'creative', 'classic', 'executive', 'elegant', 'bold', 'tech', 'beige'];\n  var DESIGN_NAMES = {\n    modern:'Modern', minimal:'Minimal Photo', sidebar:'Sidebar', creative:'Creative',\n    classic:'Classic ATS', executive:'Executive', elegant:'Elegant', bold:'Bold',\n    tech:'Tech \/ Dev', beige:'Beige Minimalist'\n  };\n  var DESIGN_CATS = {\n    modern:'Modern', minimal:'Minimal', sidebar:'Sidebar', creative:'Creative',\n    classic:'Traditional', executive:'Executive', elegant:'Elegant', bold:'Bold',\n    tech:'Tech', beige:'Minimalist'\n  };\n\n  \/\/ Backward compatibility for any saved template IDs from prior versions\n  var ALIASES = { twoColumn: 'sidebar', monochrome: 'beige' };\n\n  var TEMPLATES = {};\n  var TEMPLATE_LIST = [];\n  var rank = 1;\n  DESIGN_ORDER.forEach(function(designKey) {\n    COLOR_VARIANTS.forEach(function(variant) {\n      var id = designKey + variant.suffix;\n      var theme = {};\n      if (variant.accent) theme.accent = variant.accent;\n      var displayName = DESIGN_NAMES[designKey] + (variant.name ? ' \u00b7 ' + variant.name : '');\n      TEMPLATES[id] = {\n        name: displayName,\n        cat: DESIGN_CATS[designKey],\n        designKey: designKey,\n        theme: theme,\n        rank: rank,\n        pro: rank > 60,\n        render: (function(dk, th) { return function(d) { return DESIGNS[dk](d, th); }; })(designKey, theme)\n      };\n      TEMPLATE_LIST.push(id);\n      rank++;\n    });\n  });\n\n  function render(data, id) {\n    if (id && ALIASES[id]) id = ALIASES[id];\n    if (id && !TEMPLATES[id]) {\n      var parts = id.split('-');\n      if (ALIASES[parts[0]]) {\n        parts[0] = ALIASES[parts[0]];\n        id = parts.join('-');\n      }\n    }\n    var tpl = TEMPLATES[id] || TEMPLATES.modern;\n    return tpl.render(data || SAMPLE);\n  }\n\n  global.ARB_TEMPLATES = TEMPLATES;\n  global.ARB_TEMPLATE_LIST = TEMPLATE_LIST;\n  global.ARB_SAMPLE = SAMPLE;\n  global.ARB_RENDER = render;\n})(window);\n\n\/* AIapps Resume Builder v4 \u2014 AI Engine *\/\n(function(global) {\n  'use strict';\n\n  \/\/ Idempotency: skip if already loaded\n  if (global.ARB_AI) return;\n\n  var BULLETS = {\n    engineering: [\n      'Built %SCALE%scalable microservice architecture serving %METRIC% requests\/day',\n      'Reduced API latency by %PCT% through query optimization and caching',\n      'Led migration to %TECH% improving deployment velocity by %PCT%',\n      'Designed CI\/CD pipeline cutting release time from days to hours',\n      'Mentored team of %N% engineers and established code review standards',\n      'Architected event-driven system processing %METRIC% events daily',\n      'Reduced cloud spend by %PCT% via right-sizing and reserved capacity'\n    ],\n    product: [\n      'Launched %PRODUCT% feature driving %PCT% increase in user activation',\n      'Led roadmap planning across %N% squads delivering %METRIC% in ARR',\n      'Conducted %N%+ user interviews to validate product hypotheses',\n      'Improved retention by %PCT% through onboarding redesign',\n      'Partnered with engineering, design, and GTM to ship %N% features quarterly',\n      'Owned KPI for %PRODUCT% growing it %PCT% over %N% quarters'\n    ],\n    marketing: [\n      'Grew organic traffic by %PCT% in %N% months through SEO strategy',\n      'Managed $%METRIC% paid budget with average %PCT% ROAS',\n      'Launched %N% campaigns generating %METRIC% qualified leads',\n      'Built content engine producing %N% pieces\/month',\n      'Led brand repositioning increasing recall by %PCT% in target segment',\n      'Drove %PCT% lift in email click-through via segmentation overhaul'\n    ],\n    sales: [\n      'Exceeded quota by %PCT% across %N% consecutive quarters',\n      'Closed enterprise deals averaging $%METRIC% ACV',\n      'Built pipeline of %METRIC% through outbound and partner channels',\n      'Mentored %N% AEs on consultative selling methodology',\n      'Reduced sales cycle by %PCT% through better qualification'\n    ],\n    finance: [\n      'Owned monthly close process for $%METRIC% in revenue',\n      'Built financial models supporting %N% strategic decisions',\n      'Reduced reporting cycle time by %PCT% via process automation',\n      'Led FP&A for business unit with %METRIC% in spend',\n      'Partnered with leadership on annual planning and forecasting'\n    ],\n    design: [\n      'Led end-to-end design for %PRODUCT% adopted by %METRIC% users',\n      'Established design system reducing handoff friction by %PCT%',\n      'Conducted usability testing with %N%+ participants',\n      'Mentored %N% designers and ran weekly critique sessions',\n      'Shipped redesign improving conversion by %PCT%',\n      'Partnered with engineering on component library used across %N% products'\n    ],\n    operations: [\n      'Streamlined %PROCESS% reducing cycle time by %PCT%',\n      'Managed vendor relationships totaling $%METRIC% annually',\n      'Built operational dashboards tracking %N% KPIs in real time',\n      'Led cross-functional initiatives across %N% departments',\n      'Reduced operational costs by %PCT% through process improvements'\n    ],\n    general: [\n      'Led %PROJECT% initiative delivering %METRIC% in measurable impact',\n      'Collaborated with %N% stakeholders to align on priorities',\n      'Improved %PROCESS% efficiency by %PCT% through automation',\n      'Recognized for top-quartile performance in annual reviews',\n      'Drove cross-functional initiative adopted across organization'\n    ]\n  };\n\n  var SKILLS = {\n    engineering: ['JavaScript','TypeScript','Python','Go','React','Node.js','AWS','Docker','Kubernetes','PostgreSQL','Redis','GraphQL','CI\/CD','System Design','REST APIs'],\n    product: ['Product Strategy','Roadmapping','User Research','A\/B Testing','SQL','Jira','Figma','Amplitude','Mixpanel','Stakeholder Management','Agile','OKRs'],\n    marketing: ['SEO','SEM','Content Marketing','Google Analytics','HubSpot','Marketo','Email Marketing','Social Media','Brand Strategy','Copywriting','Marketing Automation'],\n    sales: ['Salesforce','Outreach','Cold Calling','Negotiation','Pipeline Management','MEDDIC','SPIN Selling','Account Planning','Forecasting','Consultative Selling'],\n    finance: ['Excel','Financial Modeling','SQL','NetSuite','SAP','Power BI','Tableau','GAAP','Forecasting','Variance Analysis','Budgeting','M&A'],\n    design: ['Figma','Sketch','Prototyping','Design Systems','User Research','Wireframing','Visual Design','Interaction Design','Usability Testing','Motion Design'],\n    operations: ['Process Improvement','Six Sigma','Project Management','Vendor Management','Supply Chain','SAP','Asana','Workflow Automation','KPI Tracking'],\n    general: ['Communication','Leadership','Problem Solving','Strategic Thinking','Cross-functional Collaboration','Data Analysis','Project Management']\n  };\n\n  var SALARIES = {\n    engineering: { mid:'$130k\u2013$180k', senior:'$180k\u2013$260k', lead:'$240k\u2013$360k' },\n    product:     { mid:'$140k\u2013$190k', senior:'$190k\u2013$270k', lead:'$250k\u2013$370k' },\n    marketing:   { mid:'$80k\u2013$120k',  senior:'$120k\u2013$170k', lead:'$170k\u2013$240k' },\n    sales:       { mid:'$90k\u2013$140k',  senior:'$140k\u2013$220k', lead:'$220k\u2013$320k' },\n    finance:     { mid:'$90k\u2013$130k',  senior:'$130k\u2013$190k', lead:'$190k\u2013$280k' },\n    design:      { mid:'$110k\u2013$150k', senior:'$150k\u2013$210k', lead:'$200k\u2013$300k' },\n    operations:  { mid:'$80k\u2013$120k',  senior:'$120k\u2013$170k', lead:'$170k\u2013$240k' },\n    general:     { mid:'$70k\u2013$110k',  senior:'$110k\u2013$160k', lead:'$160k\u2013$240k' }\n  };\n\n  function detectIndustry(title) {\n    var t = (title || '').toLowerCase();\n    if (\/(engineer|developer|programmer|software|backend|frontend|fullstack|devops|sre|sde|swe)\/.test(t)) return 'engineering';\n    if (\/(product manager|product owner|pm\\b|product lead)\/.test(t)) return 'product';\n    if (\/(marketing|brand|seo|growth|content|social media)\/.test(t)) return 'marketing';\n    if (\/(sales|account executive|ae\\b|bdr|sdr|business development)\/.test(t)) return 'sales';\n    if (\/(finance|financial|accountant|fp&a|controller|cfo|treasurer|analyst)\/.test(t)) return 'finance';\n    if (\/(design|ux|ui|product designer|graphic|visual)\/.test(t)) return 'design';\n    if (\/(operations|coo|logistics|supply chain|ops)\/.test(t)) return 'operations';\n    return 'general';\n  }\n  function detectLevel(title) {\n    var t = (title || '').toLowerCase();\n    if (\/(vp|vice president|director|head of|chief|cto|cpo|coo|cmo|cfo|principal|staff)\/.test(t)) return 'lead';\n    if (\/(senior|sr\\.|lead|sr )\/.test(t)) return 'senior';\n    return 'mid';\n  }\n  function fillTemplate(t) {\n    var r = function(a, b) { return Math.floor(Math.random() * (b - a + 1)) + a; };\n    return t\n      .replace('%SCALE%', ['','large-scale ','high-throughput '][r(0,2)])\n      .replace('%METRIC%', ['1M+','500K','$2M','$5M','$10M+','100K+','50K'][r(0,6)])\n      .replace('%PCT%', r(15, 60) + '%')\n      .replace('%TECH%', ['Kubernetes','GraphQL','microservices','TypeScript','cloud-native architecture'][r(0,4)])\n      .replace('%N%', r(3, 12))\n      .replace('%PRODUCT%', ['core product','flagship feature','new module','platform'][r(0,3)])\n      .replace('%PROJECT%', ['cross-functional','strategic','operational'][r(0,2)])\n      .replace('%PROCESS%', ['workflow','reporting cadence','review cycle','data pipeline'][r(0,3)]);\n  }\n\n  function generateBullets(role, n) {\n    var bank = BULLETS[detectIndustry(role)] || BULLETS.general;\n    n = n || 4;\n    var out = [], avail = bank.slice();\n    for (var i = 0; i < n && avail.length; i++) {\n      var idx = Math.floor(Math.random() * avail.length);\n      out.push(fillTemplate(avail[idx]));\n      avail.splice(idx, 1);\n    }\n    return out;\n  }\n  function generateSummary(role, years) {\n    var ind = detectIndustry(role);\n    var y = years || '5+';\n    var leadIns = {\n      engineering: y + ' years building scalable systems and shipping production code at high velocity. Strong in distributed systems, cloud architecture, and cross-functional collaboration.',\n      product: 'Product leader with ' + y + ' years driving roadmaps from discovery to launch. Track record of shipping data-driven products that move business metrics.',\n      marketing: y + ' years driving growth through integrated marketing programs across paid, organic, and content channels. Data-fluent, brand-conscious.',\n      sales: 'Quota-crushing ' + (role||'sales professional') + ' with ' + y + ' years closing complex deals in B2B SaaS. Consistent top performer.',\n      finance: 'Finance professional with ' + y + ' years in FP&A and strategic finance. Skilled at translating numbers into decisions executives can act on.',\n      design: 'Designer with ' + y + ' years crafting end-to-end experiences for B2B and consumer products. Systems thinker with strong visual fundamentals.',\n      operations: 'Operations leader with ' + y + ' years building scalable processes and cross-functional teams. Bias toward action and measurable outcomes.',\n      general: 'Results-oriented professional with ' + y + ' years driving outcomes across multiple functions. Strong communicator and collaborator.'\n    };\n    return leadIns[ind] || leadIns.general;\n  }\n  function suggestSkills(role) {\n    return (SKILLS[detectIndustry(role)] || SKILLS.general).slice(0, 12);\n  }\n  function generateCoverLetter(opts) {\n    var name = opts.name || 'Your Name';\n    var role = opts.role || 'the position';\n    var company = opts.company || 'your company';\n    var summary = opts.summary || '';\n    var ind = detectIndustry(role);\n    var hooks = {\n      engineering: 'Building software that solves real problems is what gets me out of bed.',\n      product: 'I love the messy work of turning user research into products people actually use.',\n      marketing: 'I care about brands that earn attention rather than buy it.',\n      sales: 'I sell because I genuinely enjoy helping customers find the right solution.',\n      finance: 'I believe finance is most useful when it shapes the conversation, not just reports on it.',\n      design: 'Design is craft in service of clarity. That belief shapes how I work.',\n      operations: 'I get energy from finding the operational lever that moves everything else.',\n      general: 'I do my best work when I can connect daily execution to bigger outcomes.'\n    };\n    return 'Dear Hiring Manager,\\n\\n' +\n      'I\\'m writing to apply for the ' + role + ' role at ' + company + '. ' + (hooks[ind] || hooks.general) + '\\n\\n' +\n      (summary ? summary + '\\n\\n' : '') +\n      'I\\'ve followed ' + company + '\\'s work and the role lines up well with what I\\'ve built and where I want to go next. I\\'d welcome the chance to talk about how I could contribute.\\n\\n' +\n      'Thanks for your time and consideration.\\n\\nBest regards,\\n' + name;\n  }\n  function analyzeJobMatch(resume, jdText) {\n    if (!jdText) return { score:0, found:[], missing:[], summary:'Paste a job description to analyze.' };\n    var jd = jdText.toLowerCase();\n    var resumeText = JSON.stringify(resume).toLowerCase();\n    var stop = \/^(the|and|with|for|that|this|will|have|from|your|you|our|but|are|was|were|been|being|to|of|in|on|at|as|by|or|an|is|it|be|we|us|i|a|all|any|can|do|its|may|not|use|who|why|how|has|had|her|his|him|she|they|them|than|then|when|what|where|while|some|such|also|over|into|each|other|more|most|able|about|across)$\/;\n    var common = (jd.match(\/\\b[a-z][a-z+#.\\-]{2,}\\b\/g) || []).filter(function(w) { return !stop.test(w); });\n    var freq = {};\n    common.forEach(function(w) { freq[w] = (freq[w] || 0) + 1; });\n    var keywords = Object.keys(freq).sort(function(a, b) { return freq[b] - freq[a]; }).slice(0, 30);\n    var found = keywords.filter(function(k) { return resumeText.indexOf(k) !== -1; });\n    var missing = keywords.filter(function(k) { return resumeText.indexOf(k) === -1; }).slice(0, 12);\n    var score = keywords.length ? Math.round((found.length \/ keywords.length) * 100) : 0;\n    return { score:score, found:found.slice(0, 12), missing:missing,\n      summary: score >= 70 ? 'Strong match. Resume covers most key terms.' : score >= 40 ? 'Decent match. Add the missing terms where genuinely true.' : 'Weak match. Resume misses many JD keywords.' };\n  }\n  function scoreResume(d) {\n    var score = 0, issues = [], wins = [];\n    if (d.name && d.email && d.phone) { score += 10; wins.push('Contact info complete'); } else issues.push('Add full contact info (name, email, phone)');\n    if (d.title) { score += 5; wins.push('Job title present'); } else issues.push('Add a target job title');\n    if (d.summary && d.summary.length > 50) { score += 15; wins.push('Strong summary section'); } else issues.push('Write a 2\u20133 sentence summary');\n    if (d.experience && d.experience.length >= 2) { score += 20; wins.push(d.experience.length + ' work experiences'); }\n    else if (d.experience && d.experience.length === 1) { score += 10; issues.push('Add at least one more role'); }\n    else issues.push('Add at least 2 work experiences');\n    var totalBullets = (d.experience||[]).reduce(function(s, e) { return s + (e.bullets||[]).length; }, 0);\n    if (totalBullets >= 8) { score += 15; wins.push(totalBullets + ' achievement bullets'); }\n    else if (totalBullets >= 4) { score += 8; issues.push('Add more bullets (aim for 3\u20134 per role)'); }\n    else issues.push('Add achievement bullets to each role');\n    var weak = \/\\b(responsible for|worked on|helped with|duties included|tasked with)\\b\/i;\n    var weakCount = (d.experience||[]).reduce(function(s, e) { return s + (e.bullets||[]).filter(function(b) { return weak.test(b); }).length; }, 0);\n    if (weakCount === 0 && totalBullets > 0) { score += 10; wins.push('No weak phrases'); }\n    else if (weakCount > 0) issues.push('Replace weak phrases like \"responsible for\" with action verbs');\n    var hasNumbers = (d.experience||[]).some(function(e) { return (e.bullets||[]).some(function(b) { return \/\\d+%|\\$\\d|\\d+x|\\d+\\+\/.test(b); }); });\n    if (hasNumbers) { score += 5; wins.push('Quantified achievements'); } else issues.push('Add numbers\/metrics to bullets');\n    if (d.education && d.education.length) { score += 10; wins.push('Education listed'); } else issues.push('Add education section');\n    if (d.skills && d.skills.length >= 6) { score += 10; wins.push(d.skills.length + ' skills listed'); }\n    else if (d.skills && d.skills.length) { score += 5; issues.push('Add more skills (aim for 8\u201312)'); }\n    else issues.push('Add a skills section');\n    return { score:Math.min(score, 100), issues:issues, wins:wins };\n  }\n  function bulletStrength(b) {\n    if (!b || b.length < 10) return { score:0, label:'Empty' };\n    var s = 50;\n    if (\/\\b(responsible for|worked on|helped with|duties|tasked|assisted)\\b\/i.test(b)) s -= 30;\n    if (\/^[A-Z][a-z]+ed\\b\/.test(b) || \/^(Led|Built|Drove|Launched|Designed|Created|Owned|Managed|Reduced|Increased|Improved|Delivered|Shipped)\/.test(b)) s += 25;\n    if (\/\\d+%|\\$\\d|\\d+\\s*(users|customers|requests|deals|leads|engineers|reports)|\\d+x|\\d+\\+\/.test(b)) s += 25;\n    if (b.length > 60 && b.length < 180) s += 10;\n    if (b.length > 220) s -= 15;\n    s = Math.max(0, Math.min(100, s));\n    var label = s >= 80 ? 'Strong' : s >= 55 ? 'Good' : s >= 30 ? 'Weak' : 'Very weak';\n    return { score:s, label:label };\n  }\n  function rewriteText(text) {\n    if (!text) return '';\n    var lines = text.split(\/\\n\/).map(function(l) { return l.trim(); }).filter(Boolean);\n    return lines.map(function(l) {\n      l = l.replace(\/^[-\u2022\u00b7*\u25aa\u25ab\u25e6\u2023\u2043]\\s*\/, '');\n      l = l.replace(\/^I (was )?responsible for \/i, 'Owned ');\n      l = l.replace(\/^I (was )?in charge of \/i, 'Managed ');\n      l = l.replace(\/^I worked on \/i, 'Built ');\n      l = l.replace(\/^I helped (with )?\/i, 'Supported ');\n      l = l.replace(\/^I assisted (with |in )?\/i, 'Supported ');\n      l = l.replace(\/^Tasked with \/i, '');\n      l = l.replace(\/^My duties included \/i, '');\n      l = l.replace(\/^Owned managing\\b\/i, 'Managed');\n      l = l.replace(\/^Supported with\\b\/i, 'Supported');\n      if (l.length) l = l.charAt(0).toUpperCase() + l.slice(1);\n      return l;\n    }).join('\\n');\n  }\n  function importLinkedIn(text) {\n    var data = { name:'', title:'', location:'', summary:'', experience:[], education:[], skills:[] };\n    if (!text) return data;\n    var lines = text.split(\/\\n\/).map(function(l) { return l.trim(); }).filter(Boolean);\n    if (lines[0] && !\/^(experience|about|skills|education)$\/i.test(lines[0])) data.name = lines[0];\n    if (lines[1] && !\/^(experience|about|skills|education)$\/i.test(lines[1])) {\n      data.title = lines[1].split('|')[0].split('@')[0].split(\/\\s+at\\s+\/i)[0].trim();\n    }\n    var locMatch = text.match(\/([A-Z][a-z]+(?:[\\s,]+[A-Z][a-z]+)+(?:,\\s*[A-Z]{2,3})?)\\s*\u00b7\/);\n    if (locMatch) data.location = locMatch[1];\n    var aboutMatch = text.match(\/About\\s*\\n([\\s\\S]*?)(?=\\n(?:Experience|Education|Skills|Activity|Featured)|$)\/i);\n    if (aboutMatch) data.summary = aboutMatch[1].trim().split(\/\\n+\/).join(' ').slice(0, 500);\n    var expMatch = text.match(\/Experience\\s*\\n([\\s\\S]*?)(?=\\n(?:Education|Skills|Activity|Volunteer)|$)\/i);\n    if (expMatch) {\n      var blocks = expMatch[1].split(\/\\n\\s*\\n\/);\n      blocks.forEach(function(b) {\n        var l = b.split(\/\\n\/).map(function(x){return x.trim();}).filter(Boolean);\n        if (l.length >= 2) {\n          data.experience.push({\n            role: l[0] || '',\n            company: l[1] ? l[1].split(\/[\u00b7\u2022|]\/)[0].trim() : '',\n            start: '', end: '',\n            bullets: l.slice(2).filter(function(x){ return x.length > 20; })\n          });\n        }\n      });\n    }\n    var skillsMatch = text.match(\/Skills\\s*\\n([\\s\\S]*?)(?=\\n[A-Z]|$)\/i);\n    if (skillsMatch) {\n      data.skills = skillsMatch[1].split(\/\\n|\u00b7|\u2022\/).map(function(s) { return s.trim(); }).filter(function(s) { return s.length > 1 && s.length < 40; }).slice(0, 12);\n    }\n    return data;\n  }\n  function salaryInsight(role, location) {\n    var ind = detectIndustry(role);\n    var lvl = detectLevel(role);\n    var range = (SALARIES[ind] && SALARIES[ind][lvl]) || SALARIES.general[lvl];\n    var note = 'US average for ' + lvl + ' ' + ind + ' roles.';\n    if (location) {\n      var loc = location.toLowerCase();\n      if (\/san francisco|sf|new york|nyc|seattle\/.test(loc)) note += ' Major metro: expect +15-25%.';\n      else if (\/london|uk|england\/.test(loc)) note += ' Convert to GBP and expect ~70-80% of US ranges.';\n      else if (\/india|bangalore|mumbai|delhi\/.test(loc)) note += ' India: expect 15-25% of US ranges depending on company tier.';\n      else if (\/europe|germany|france|netherlands|berlin|paris\/.test(loc)) note += ' EU: typically 60-75% of US ranges.';\n    }\n    return { range:range, level:lvl, industry:ind, note:note };\n  }\n\n  global.ARB_AI = {\n    detectIndustry: detectIndustry, detectLevel: detectLevel,\n    generateBullets: generateBullets, generateSummary: generateSummary, suggestSkills: suggestSkills,\n    generateCoverLetter: generateCoverLetter, analyzeJobMatch: analyzeJobMatch, scoreResume: scoreResume,\n    bulletStrength: bulletStrength, rewriteText: rewriteText, importLinkedIn: importLinkedIn,\n    salaryInsight: salaryInsight\n  };\n})(window);\n\n\/* AIapps Resume Builder v4 \u2014 Single-page SPA with tab navigation *\/\n(function(global) {\n  'use strict';\n\n  \/\/ Prevent double-execution if both inline + enqueued scripts run\n  if (global.ARB_BOOTED_v4) return;\n  global.ARB_BOOTED_v4 = true;\n\n  var STATE_KEY = 'arb_resume_v4';\n  var HISTORY_KEY = 'arb_history_v4';\n  var TRACKER_KEY = 'arb_tracker_v4';\n  var TPLS = global.ARB_TEMPLATES || {};\n  var TPL_LIST = global.ARB_TEMPLATE_LIST || [];\n  var SAMPLE = global.ARB_SAMPLE || {};\n  var AI = global.ARB_AI || {};\n  var R = global.ARB_RENDER;\n\n  function $(s, r) { return (r || document).querySelector(s); }\n  function $$(s, r) { return Array.prototype.slice.call((r || document).querySelectorAll(s)); }\n  function esc(s) { return String(s == null ? '' : s).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;'); }\n  function debounce(fn, ms) { var t; return function() { var a = arguments, c = this; clearTimeout(t); t = setTimeout(function() { fn.apply(c, a); }, ms); }; }\n\n  function loadState() {\n    try { var s = sessionStorage.getItem(STATE_KEY); if (s) return JSON.parse(s); } catch (e) {}\n    return JSON.parse(JSON.stringify(SAMPLE));\n  }\n  function saveState(d) { try { sessionStorage.setItem(STATE_KEY, JSON.stringify(d)); } catch (e) {} }\n  function loadHistory() { try { return JSON.parse(localStorage.getItem(HISTORY_KEY) || '[]'); } catch (e) { return []; } }\n  function pushHistory(d) {\n    var h = loadHistory();\n    h.unshift({ ts: Date.now(), name: d.name || 'Untitled', data: d });\n    h = h.slice(0, 5);\n    try { localStorage.setItem(HISTORY_KEY, JSON.stringify(h)); } catch (e) {}\n  }\n  function toast(msg) {\n    var ex = $('.arb-toast'); if (ex) ex.remove();\n    var t = document.createElement('div');\n    t.className = 'arb-toast';\n    t.textContent = msg;\n    document.body.appendChild(t);\n    setTimeout(function() { t.style.opacity = '0'; t.style.transition = 'opacity 0.3s'; }, 2200);\n    setTimeout(function() { if (t.parentNode) t.parentNode.removeChild(t); }, 2600);\n  }\n\n  \/\/ ============ MAIN APP ============\n  function init(root) {\n    var tabs = $$('.arb-tab', root);\n    var panels = $$('.arb-panel', root);\n\n    function activateTab(name, scroll) {\n      tabs.forEach(function(t) {\n        t.classList.toggle('arb-active', t.getAttribute('data-tab') === name);\n      });\n      panels.forEach(function(p) {\n        p.classList.toggle('arb-active', p.getAttribute('data-panel') === name);\n      });\n      try { history.replaceState(null, '', '#' + name); } catch (e) {}\n      if (name === 'templates') initGallery(root);\n      else if (name === 'tracker') initTracker(root);\n      if (scroll) {\n        try { window.scrollTo({ top: root.offsetTop - 8, behavior: 'smooth' }); } catch (e) {}\n      }\n    }\n    \/\/ Expose for child inits that may need to switch tabs\n    root._arbActivate = activateTab;\n\n    \/\/ SINGLE delegated click handler on root, matching the working preview pattern.\n    \/\/ Handlers check closest() in priority order. data-action falls through to initBuilder's handler.\n    root.addEventListener('click', function(e) {\n      \/\/ 1. Tab clicks\n      var tabEl = e.target.closest('.arb-tab');\n      if (tabEl && root.contains(tabEl)) {\n        e.preventDefault();\n        activateTab(tabEl.getAttribute('data-tab'), true);\n        return;\n      }\n      \/\/ 2. Cross-panel CTAs (\"Start building\" etc.)\n      var gotoEl = e.target.closest('[data-goto]');\n      if (gotoEl && root.contains(gotoEl)) {\n        e.preventDefault();\n        activateTab(gotoEl.getAttribute('data-goto'), true);\n        return;\n      }\n    });\n\n    \/\/ Initialize each panel BEFORE first tab activation so DOM is ready\n    initBuilder(root);\n    initCoverLetter(root);\n    initExamples(root);\n\n    \/\/ Hash routing\n    var initial = 'home';\n    try {\n      var hashName = (window.location.hash || '').replace('#', '');\n      if (hashName && $$('.arb-tab[data-tab=\"' + hashName + '\"]', root).length) {\n        initial = hashName;\n      }\n    } catch (e) {}\n    activateTab(initial, false);\n  }\n\n  \/\/ ============ BUILDER ============\n  function initBuilder(root) {\n    var state = loadState();\n    var currentTpl = (root.getAttribute('data-template') || 'modern');\n    if (!TPLS[currentTpl]) currentTpl = 'modern';\n    var paper = 'a4';\n\n    var builderRoot = $('[data-panel=\"builder\"]', root);\n    if (!builderRoot) return;\n\n    var formHost = $('#arb-form', builderRoot);\n    var canvas = $('#arb-canvas', builderRoot);\n    var tplSelect = $('#arb-tpl-select', builderRoot);\n\n    if (tplSelect && TPL_LIST.length) {\n      \/\/ Group templates by category in the select\n      var byCat = {};\n      TPL_LIST.forEach(function(id) {\n        var t = TPLS[id];\n        if (!byCat[t.cat]) byCat[t.cat] = [];\n        byCat[t.cat].push(id);\n      });\n      var html = '';\n      Object.keys(byCat).forEach(function(cat) {\n        html += '<optgroup label=\"' + esc(cat) + '\">';\n        byCat[cat].forEach(function(id) {\n          var t = TPLS[id];\n          html += '<option value=\"' + id + '\"' + (id === currentTpl ? ' selected' : '') + '>#' + t.rank + ' \u00b7 ' + esc(t.name) + (t.pro ? ' (Pro)' : '') + '<\/option>';\n        });\n        html += '<\/optgroup>';\n      });\n      tplSelect.innerHTML = html;\n      tplSelect.addEventListener('change', function() { currentTpl = this.value; renderPreview(); });\n    }\n\n    function renderPreview() {\n      if (canvas && R) {\n        canvas.innerHTML = R(state, currentTpl);\n        canvas.className = 'arb-canvas arb-paper-' + paper;\n      }\n    }\n    var rerender = debounce(renderPreview, 180);\n\n    function buildForm() {\n      var html = '';\n      html += '<div class=\"arb-section\"><div class=\"arb-section-head\"><h3>Personal<\/h3>' +\n        '<div class=\"arb-actions\"><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"linkedin-import\">Import LinkedIn<\/button><\/div><\/div>' +\n        field('name', 'Full Name', state.name) +\n        field('title', 'Job Title', state.title) +\n        '<div class=\"arb-field-row\">' + field('email','Email',state.email) + field('phone','Phone',state.phone) + '<\/div>' +\n        '<div class=\"arb-field-row\">' + field('location','Location',state.location) + field('linkedin','LinkedIn',state.linkedin) + '<\/div>' +\n      '<\/div>';\n\n      html += '<div class=\"arb-section\"><div class=\"arb-section-head\"><h3>Summary<\/h3>' +\n        '<div class=\"arb-actions\"><button class=\"arb-btn arb-btn-ai arb-btn-sm\" data-action=\"ai-summary\">\u2728 AI Write<\/button><\/div><\/div>' +\n        '<div class=\"arb-field\"><textarea data-bind=\"summary\" placeholder=\"2\u20133 sentences about your professional brand\">' + esc(state.summary || '') + '<\/textarea><\/div>' +\n      '<\/div>';\n\n      html += '<div class=\"arb-section\"><div class=\"arb-section-head\"><h3>Experience<\/h3>' +\n        '<div class=\"arb-actions\"><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"add-exp\">+ Add<\/button><\/div><\/div>' +\n        '<div id=\"arb-exp-list\">' + (state.experience || []).map(expItem).join('') + '<\/div>' +\n      '<\/div>';\n\n      html += '<div class=\"arb-section\"><div class=\"arb-section-head\"><h3>Education<\/h3>' +\n        '<div class=\"arb-actions\"><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"add-edu\">+ Add<\/button><\/div><\/div>' +\n        '<div id=\"arb-edu-list\">' + (state.education || []).map(eduItem).join('') + '<\/div>' +\n      '<\/div>';\n\n      html += '<div class=\"arb-section\"><div class=\"arb-section-head\"><h3>Skills<\/h3>' +\n        '<div class=\"arb-actions\"><button class=\"arb-btn arb-btn-ai arb-btn-sm\" data-action=\"ai-skills\">\u2728 Suggest<\/button><\/div><\/div>' +\n        '<div class=\"arb-field\"><textarea data-bind=\"skills_raw\" placeholder=\"Comma-separated skills\">' + esc((state.skills || []).join(', ')) + '<\/textarea><\/div>' +\n      '<\/div>';\n\n      html += '<div class=\"arb-section\"><div class=\"arb-section-head\"><h3>Certifications<\/h3><\/div>' +\n        '<div class=\"arb-field\"><textarea data-bind=\"certs_raw\" placeholder=\"Comma-separated\">' + esc((state.certifications || []).join(', ')) + '<\/textarea><\/div>' +\n      '<\/div>';\n\n      html += '<div class=\"arb-section\"><div class=\"arb-section-head\"><h3>Languages<\/h3><\/div>' +\n        '<div class=\"arb-field\"><textarea data-bind=\"langs_raw\" placeholder=\"e.g., English (Native), Spanish (Fluent)\">' + esc((state.languages || []).join(', ')) + '<\/textarea><\/div>' +\n      '<\/div>';\n\n      formHost.innerHTML = html;\n      bindForm();\n    }\n\n    function field(key, label, val) {\n      return '<div class=\"arb-field\"><label>' + label + '<\/label>' +\n        '<input type=\"text\" data-bind=\"' + key + '\" value=\"' + esc(val||'') + '\"><\/div>';\n    }\n    function expItem(e, i) {\n      var bs = e.bullets || [];\n      var hint = '';\n      if (bs.length) {\n        var strengths = bs.map(function(b) { return AI.bulletStrength(b); });\n        var strong = strengths.filter(function(s) { return s.score >= 80; }).length;\n        var weak = strengths.filter(function(s) { return s.score < 55; }).length;\n        hint = '<small class=\"arb-hint\">' +\n          (strong > 0 ? '<span class=\"arb-strong-bullet\">\u25cf ' + strong + ' strong<\/span>' : '') +\n          (strong > 0 && weak > 0 ? ' \u00b7 ' : '') +\n          (weak > 0 ? '<span class=\"arb-weak-bullet\">\u25cf ' + weak + ' weak<\/span>' : '') +\n          '<\/small>';\n      }\n      return '<div class=\"arb-item\" data-exp=\"' + i + '\">' +\n        '<button class=\"arb-item-remove\" data-action=\"del-exp\" data-i=\"' + i + '\" title=\"Remove\">\u00d7<\/button>' +\n        '<div class=\"arb-field-row\">' + fieldExp(i,'role','Role',e.role) + fieldExp(i,'company','Company',e.company) + '<\/div>' +\n        '<div class=\"arb-field-row\">' + fieldExp(i,'start','Start',e.start) + fieldExp(i,'end','End',e.end) + '<\/div>' +\n        '<div class=\"arb-field\"><label style=\"display:flex;justify-content:space-between;align-items:center\">Bullets <span style=\"display:flex;gap:6px\"><button class=\"arb-btn arb-btn-ai arb-btn-sm\" data-action=\"ai-bullets\" data-i=\"' + i + '\">\u2728 AI Write<\/button><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-action=\"rewrite-bullets\" data-i=\"' + i + '\">Polish<\/button><\/span><\/label>' +\n          '<textarea data-exp-bullets=\"' + i + '\" placeholder=\"One bullet per line\">' + esc(bs.join('\\n')) + '<\/textarea>' + hint +\n        '<\/div><\/div>';\n    }\n    function fieldExp(i, key, label, val) {\n      return '<div class=\"arb-field\"><label>' + label + '<\/label>' +\n        '<input type=\"text\" data-exp-field=\"' + i + ':' + key + '\" value=\"' + esc(val||'') + '\"><\/div>';\n    }\n    function eduItem(e, i) {\n      return '<div class=\"arb-item\" data-edu=\"' + i + '\">' +\n        '<button class=\"arb-item-remove\" data-action=\"del-edu\" data-i=\"' + i + '\" title=\"Remove\">\u00d7<\/button>' +\n        '<div class=\"arb-field-row\">' +\n          '<div class=\"arb-field\"><label>Degree<\/label><input type=\"text\" data-edu-field=\"' + i + ':degree\" value=\"' + esc(e.degree||'') + '\"><\/div>' +\n          '<div class=\"arb-field\"><label>School<\/label><input type=\"text\" data-edu-field=\"' + i + ':school\" value=\"' + esc(e.school||'') + '\"><\/div>' +\n        '<\/div>' +\n        '<div class=\"arb-field-row\">' +\n          '<div class=\"arb-field\"><label>Start<\/label><input type=\"text\" data-edu-field=\"' + i + ':start\" value=\"' + esc(e.start||'') + '\"><\/div>' +\n          '<div class=\"arb-field\"><label>End<\/label><input type=\"text\" data-edu-field=\"' + i + ':end\" value=\"' + esc(e.end||'') + '\"><\/div>' +\n        '<\/div><\/div>';\n    }\n\n    function bindForm() {\n      $$('[data-bind]', formHost).forEach(function(el) {\n        el.addEventListener('input', function() {\n          var k = el.getAttribute('data-bind');\n          if (k === 'skills_raw') state.skills = el.value.split(',').map(function(s){return s.trim();}).filter(Boolean);\n          else if (k === 'certs_raw') state.certifications = el.value.split(',').map(function(s){return s.trim();}).filter(Boolean);\n          else if (k === 'langs_raw') state.languages = el.value.split(',').map(function(s){return s.trim();}).filter(Boolean);\n          else state[k] = el.value;\n          saveState(state); rerender();\n        });\n      });\n      $$('[data-exp-field]', formHost).forEach(function(el) {\n        el.addEventListener('input', function() {\n          var p = el.getAttribute('data-exp-field').split(':');\n          state.experience[parseInt(p[0],10)][p[1]] = el.value;\n          saveState(state); rerender();\n        });\n      });\n      $$('[data-exp-bullets]', formHost).forEach(function(el) {\n        el.addEventListener('input', function() {\n          var i = parseInt(el.getAttribute('data-exp-bullets'), 10);\n          state.experience[i].bullets = el.value.split('\\n').map(function(s){return s.trim();}).filter(Boolean);\n          saveState(state); rerender();\n        });\n        el.addEventListener('blur', buildForm);\n      });\n      $$('[data-edu-field]', formHost).forEach(function(el) {\n        el.addEventListener('input', function() {\n          var p = el.getAttribute('data-edu-field').split(':');\n          state.education[parseInt(p[0],10)][p[1]] = el.value;\n          saveState(state); rerender();\n        });\n      });\n    }\n\n    builderRoot.addEventListener('click', function(e) {\n      var btn = e.target.closest('[data-action]');\n      if (!btn || !builderRoot.contains(btn)) return;\n      var action = btn.getAttribute('data-action');\n      var i = parseInt(btn.getAttribute('data-i') || '0', 10);\n\n      var actions = {\n        'add-exp': function() { state.experience = state.experience || []; state.experience.push({role:'',company:'',start:'',end:'',bullets:[]}); saveBuild(); },\n        'del-exp': function() { state.experience.splice(i, 1); saveBuild(); },\n        'add-edu': function() { state.education = state.education || []; state.education.push({degree:'',school:'',start:'',end:''}); saveBuild(); },\n        'del-edu': function() { state.education.splice(i, 1); saveBuild(); },\n        'ai-summary': function() { state.summary = AI.generateSummary(state.title, '5+'); saveBuild(); toast('Summary generated'); },\n        'ai-skills': function() {\n          var existing = state.skills || [];\n          var sug = AI.suggestSkills(state.title);\n          state.skills = existing.concat(sug.filter(function(s) { return existing.indexOf(s) === -1; })).slice(0, 14);\n          saveBuild(); toast('Skills suggested');\n        },\n        'ai-bullets': function() {\n          var bs = AI.generateBullets(state.experience[i] ? state.experience[i].role : '', 4);\n          state.experience[i].bullets = (state.experience[i].bullets || []).concat(bs);\n          saveBuild(); toast('Bullets added');\n        },\n        'rewrite-bullets': function() {\n          var bs = state.experience[i].bullets || [];\n          state.experience[i].bullets = bs.map(function(b) { return AI.rewriteText(b); }).filter(Boolean);\n          saveBuild(); toast('Bullets polished');\n        },\n        'linkedin-import': function() { showLinkedInModal(); },\n        'reset-resume': function() {\n          if (confirm('Clear resume and start over?')) {\n            sessionStorage.removeItem(STATE_KEY);\n            state = JSON.parse(JSON.stringify(SAMPLE));\n            saveBuild(); toast('Reset complete');\n          }\n        },\n        'save-version': function() { pushHistory(state); toast('Saved (5 max)'); },\n        'show-history': function() { showHistoryModal(); },\n        'export-pdf': function() { exportPDF(); },\n        'export-docx': function() { exportDOCX(); },\n        'score-resume': function() { showScoreModal(); },\n        'cover-letter-modal': function() { showCoverLetterModal(); },\n        'salary': function() { showSalaryModal(); },\n        'close-modal': function() { $$('.arb-modal-bg', builderRoot).forEach(function(m){ m.classList.remove('arb-open'); }); },\n        'jd-analyze': function() { analyzeJD(); },\n        'paper-a4': function() { paper = 'a4'; updatePaperToggle(); renderPreview(); },\n        'paper-letter': function() { paper = 'letter'; updatePaperToggle(); renderPreview(); }\n      };\n\n      if (actions[action]) { e.stopPropagation(); actions[action](); }\n    });\n\n    function saveBuild() { saveState(state); buildForm(); renderPreview(); }\n    function updatePaperToggle() {\n      $$('.arb-paper-toggle button', builderRoot).forEach(function(b) {\n        b.classList.toggle('arb-active', b.getAttribute('data-action') === 'paper-' + paper);\n      });\n    }\n\n    function exportPDF() {\n      var html = canvas.innerHTML;\n      var w = window.open('', '_blank', 'width=900,height=1100');\n      if (!w) { toast('Allow pop-ups to export PDF'); return; }\n      w.document.write('<!DOCTYPE html><html><head><title>' + esc(state.name || 'Resume') + '<\/title>' +\n        '<style>body{margin:40px;font-family:Georgia,serif}@media print{body{margin:0}}<\/style><\/head><body>' +\n        html + '<scr' + 'ipt>window.onload=function(){setTimeout(function(){window.print();},250);};<\/scr' + 'ipt><\/body><\/html>');\n      w.document.close();\n      toast('PDF export opened');\n    }\n    function exportDOCX() {\n      var html = '<html xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" xmlns=\"http:\/\/www.w3.org\/TR\/REC-html40\"><head><meta charset=\"utf-8\"><title>Resume<\/title><\/head><body>' + canvas.innerHTML + '<\/body><\/html>';\n      var blob = new Blob(['\\ufeff', html], { type: 'application\/msword' });\n      var url = URL.createObjectURL(blob);\n      var a = document.createElement('a');\n      a.href = url;\n      a.download = (state.name || 'resume').replace(\/\\s+\/g,'_') + '.doc';\n      document.body.appendChild(a); a.click(); document.body.removeChild(a);\n      URL.revokeObjectURL(url);\n      toast('Word doc downloaded');\n    }\n    function showScoreModal() {\n      var r = AI.scoreResume(state);\n      var modal = $('#arb-modal-score', builderRoot);\n      var body = $('.arb-modal-body', modal);\n      body.innerHTML =\n        '<h2>Resume Score<\/h2>' +\n        '<div class=\"arb-score-ring\" style=\"--arb-score:' + r.score + '\"><strong>' + r.score + '<\/strong><\/div>' +\n        '<p style=\"text-align:center;margin-bottom:18px;font-size:15px\">' + (r.score >= 80 ? 'Excellent \u2014 your resume is ATS-ready.' : r.score >= 60 ? 'Good. A few fixes will make it shine.' : 'Needs work. Address the issues below.') + '<\/p>' +\n        (r.wins.length ? '<h3 style=\"font-size:14px;color:#34c759;margin-top:18px\">Strengths<\/h3>' + r.wins.map(function(w) { return '<div class=\"arb-score-row\"><span class=\"arb-score-icon arb-good\">\u2713<\/span><span>' + esc(w) + '<\/span><\/div>'; }).join('') : '') +\n        (r.issues.length ? '<h3 style=\"font-size:14px;color:#ff9500;margin-top:18px\">Improvements<\/h3>' + r.issues.map(function(w) { return '<div class=\"arb-score-row\"><span class=\"arb-score-icon arb-bad\">!<\/span><span>' + esc(w) + '<\/span><\/div>'; }).join('') : '') +\n        '<h3 style=\"font-size:14px;margin-top:24px\">Job Description Match<\/h3>' +\n        '<textarea id=\"arb-jd\" placeholder=\"Paste a job description here\u2026\" style=\"width:100%;min-height:120px;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,0.85);border:0.5px solid rgba(0,0,0,0.08);color:#1d1d1f;font-family:inherit;margin-bottom:10px;font-size:14px\"><\/textarea>' +\n        '<button class=\"arb-btn arb-btn-primary\" data-action=\"jd-analyze\">Analyze Match<\/button>' +\n        '<div id=\"arb-jd-result\" style=\"margin-top:14px\"><\/div>';\n      modal.classList.add('arb-open');\n    }\n    function analyzeJD() {\n      var ta = $('#arb-jd', builderRoot);\n      if (!ta || !ta.value.trim()) { toast('Paste a JD first'); return; }\n      var r = AI.analyzeJobMatch(state, ta.value);\n      $('#arb-jd-result', builderRoot).innerHTML =\n        '<div style=\"display:flex;align-items:baseline;gap:8px;margin-bottom:8px\"><span style=\"font-size:32px;font-weight:600\">' + r.score + '%<\/span><span style=\"color:#6e6e73\">match<\/span><\/div>' +\n        '<p style=\"font-size:14px\">' + esc(r.summary) + '<\/p>' +\n        (r.found.length ? '<div style=\"margin-top:10px\"><div style=\"font-size:12px;color:#6e6e73;margin-bottom:6px\">Found in your resume<\/div>' + r.found.map(function(t) { return '<span class=\"arb-tag arb-tag-found\">' + esc(t) + '<\/span>'; }).join('') + '<\/div>' : '') +\n        (r.missing.length ? '<div style=\"margin-top:10px\"><div style=\"font-size:12px;color:#6e6e73;margin-bottom:6px\">Missing \u2014 add if true<\/div>' + r.missing.map(function(t) { return '<span class=\"arb-tag arb-tag-missing\">' + esc(t) + '<\/span>'; }).join('') + '<\/div>' : '');\n    }\n    function showCoverLetterModal() {\n      var modal = $('#arb-modal-cl', builderRoot);\n      var body = $('.arb-modal-body', modal);\n      body.innerHTML =\n        '<h2>AI Cover Letter<\/h2>' +\n        '<div class=\"arb-field-row\">' +\n          '<div class=\"arb-field\"><label>Company<\/label><input id=\"arb-cl-co\" type=\"text\" placeholder=\"e.g., Acme Inc\"><\/div>' +\n          '<div class=\"arb-field\"><label>Role<\/label><input id=\"arb-cl-role\" type=\"text\" value=\"' + esc(state.title||'') + '\"><\/div>' +\n        '<\/div>' +\n        '<button class=\"arb-btn arb-btn-primary\" id=\"arb-cl-gen\" style=\"margin-bottom:14px\">Generate<\/button>' +\n        '<button class=\"arb-btn arb-btn-glass\" id=\"arb-cl-copy\" style=\"margin-left:8px\">Copy<\/button>' +\n        '<div id=\"arb-cl-out\" style=\"margin-top:16px;padding:20px;border-radius:14px;background:#fff;color:#222;font-family:Georgia,serif;line-height:1.7;min-height:200px;white-space:pre-wrap;font-size:14px\"><\/div>';\n      modal.classList.add('arb-open');\n      $('#arb-cl-gen', builderRoot).addEventListener('click', function() {\n        var letter = AI.generateCoverLetter({\n          name: state.name, role: $('#arb-cl-role', builderRoot).value, company: $('#arb-cl-co', builderRoot).value, summary: state.summary\n        });\n        $('#arb-cl-out', builderRoot).textContent = letter;\n      });\n      $('#arb-cl-copy', builderRoot).addEventListener('click', function() {\n        var t = $('#arb-cl-out', builderRoot).textContent;\n        if (!t) { toast('Generate first'); return; }\n        navigator.clipboard.writeText(t).then(function() { toast('Copied!'); });\n      });\n    }\n    function showLinkedInModal() {\n      var modal = $('#arb-modal-li', builderRoot);\n      var body = $('.arb-modal-body', modal);\n      body.innerHTML =\n        '<h2>Import from LinkedIn<\/h2>' +\n        '<p style=\"font-size:14px;color:#6e6e73\">Open your LinkedIn profile, select all text, copy, and paste here.<\/p>' +\n        '<textarea id=\"arb-li-text\" placeholder=\"Paste your LinkedIn profile text here\u2026\" style=\"width:100%;min-height:240px;padding:14px;border-radius:10px;background:rgba(255,255,255,0.85);border:0.5px solid rgba(0,0,0,0.08);font-family:inherit;font-size:14px;margin-bottom:12px\"><\/textarea>' +\n        '<button class=\"arb-btn arb-btn-primary\" id=\"arb-li-go\">Import<\/button>';\n      modal.classList.add('arb-open');\n      $('#arb-li-go', builderRoot).addEventListener('click', function() {\n        var imp = AI.importLinkedIn($('#arb-li-text', builderRoot).value);\n        if (imp.name) state.name = imp.name;\n        if (imp.title) state.title = imp.title;\n        if (imp.location) state.location = imp.location;\n        if (imp.summary) state.summary = imp.summary;\n        if (imp.experience.length) state.experience = imp.experience;\n        if (imp.skills.length) state.skills = imp.skills;\n        saveState(state); buildForm(); renderPreview();\n        modal.classList.remove('arb-open');\n        toast('Imported ' + (imp.experience.length ? imp.experience.length + ' roles' : 'profile'));\n      });\n    }\n    function showSalaryModal() {\n      var modal = $('#arb-modal-salary', builderRoot);\n      var body = $('.arb-modal-body', modal);\n      var ins = AI.salaryInsight(state.title || '', state.location || '');\n      body.innerHTML =\n        '<h2>Salary Insight<\/h2>' +\n        '<p style=\"font-size:14px;color:#6e6e73\">Based on your title and location.<\/p>' +\n        '<div style=\"text-align:center;padding:32px 0\">' +\n          '<div style=\"font-size:42px;font-weight:600;letter-spacing:-0.02em\" class=\"arb-grad-text\">' + ins.range + '<\/div>' +\n          '<div style=\"font-size:13px;color:#6e6e73;margin-top:8px;font-family:ui-monospace,monospace;text-transform:uppercase;letter-spacing:0.1em\">' + ins.level + ' \u00b7 ' + ins.industry + '<\/div>' +\n        '<\/div>' +\n        '<p style=\"font-size:13px;color:#6e6e73;text-align:center\">' + esc(ins.note) + '<\/p>' +\n        '<p style=\"font-size:11px;color:#86868b;text-align:center;margin-top:16px\">Estimates only \u2014 verify with sites like Levels.fyi, Glassdoor, or Payscale.<\/p>';\n      modal.classList.add('arb-open');\n    }\n    function showHistoryModal() {\n      var modal = $('#arb-modal-history', builderRoot);\n      var body = $('.arb-modal-body', modal);\n      var h = loadHistory();\n      body.innerHTML =\n        '<h2>Saved Versions<\/h2>' +\n        (h.length ? h.map(function(v, idx) {\n          var when = new Date(v.ts).toLocaleString();\n          return '<div class=\"arb-item\" style=\"margin-bottom:10px\"><div style=\"display:flex;justify-content:space-between;align-items:center\"><div><strong>' + esc(v.name) + '<\/strong><div style=\"font-size:12px;color:#6e6e73\">' + when + '<\/div><\/div><button class=\"arb-btn arb-btn-glass arb-btn-sm\" data-restore=\"' + idx + '\">Restore<\/button><\/div><\/div>';\n        }).join('') : '<p style=\"color:#6e6e73\">No saved versions yet. Click \"Save\" to keep a snapshot.<\/p>') +\n        '<button class=\"arb-btn arb-btn-primary\" data-action=\"save-version\" style=\"margin-top:14px\">Save Current<\/button>';\n      modal.classList.add('arb-open');\n      $$('[data-restore]', body).forEach(function(b) {\n        b.addEventListener('click', function() {\n          var idx = parseInt(b.getAttribute('data-restore'), 10);\n          state = JSON.parse(JSON.stringify(h[idx].data));\n          saveState(state);\n          buildForm(); renderPreview();\n          modal.classList.remove('arb-open');\n          toast('Version restored');\n        });\n      });\n    }\n\n    buildForm();\n    renderPreview();\n  }\n\n  \/\/ ============ TEMPLATES GALLERY ============\n  function initGallery(root) {\n    var gRoot = $('[data-panel=\"templates\"]', root);\n    if (!gRoot) return;\n    var grid = $('#arb-tpl-grid', gRoot);\n    var filterHost = $('#arb-tpl-filter', gRoot);\n    if (!grid || grid.getAttribute('data-init')) return; \/\/ run once\n\n    var cats = ['All'];\n    Object.keys(TPLS).forEach(function(id) { if (cats.indexOf(TPLS[id].cat) === -1) cats.push(TPLS[id].cat); });\n\n    if (filterHost) {\n      filterHost.innerHTML = cats.map(function(c, i) {\n        return '<button class=\"arb-btn ' + (i === 0 ? 'arb-btn-primary' : 'arb-btn-glass') + '\" data-cat=\"' + esc(c) + '\">' + esc(c) + '<\/button>';\n      }).join('');\n      filterHost.addEventListener('click', function(e) {\n        var b = e.target.closest('[data-cat]');\n        if (!b) return;\n        $$('[data-cat]', filterHost).forEach(function(x) { x.classList.remove('arb-btn-primary'); x.classList.add('arb-btn-glass'); });\n        b.classList.add('arb-btn-primary'); b.classList.remove('arb-btn-glass');\n        renderGrid(b.getAttribute('data-cat'));\n      });\n    }\n\n    function renderGrid(cat) {\n      cat = cat || 'All';\n      grid.innerHTML = TPL_LIST.filter(function(id) {\n        return cat === 'All' || TPLS[id].cat === cat;\n      }).map(function(id) {\n        var t = TPLS[id];\n        return '<div class=\"arb-tpl-card\" data-tpl=\"' + id + '\">' +\n          '<span class=\"arb-tpl-rank\">#' + t.rank + '<\/span>' +\n          (t.pro ? '<span class=\"arb-tpl-pro\">PRO<\/span>' : '') +\n          '<div class=\"arb-tpl-thumb\"><div>' + R(SAMPLE, id) + '<\/div><\/div>' +\n          '<div class=\"arb-tpl-info\"><strong>' + esc(t.name) + '<\/strong><small>' + esc(t.cat) + '<\/small><\/div>' +\n        '<\/div>';\n      }).join('');\n    }\n    renderGrid('All');\n    grid.setAttribute('data-init', '1');\n\n    grid.addEventListener('click', function(e) {\n      var card = e.target.closest('[data-tpl]');\n      if (!card) return;\n      var id = card.getAttribute('data-tpl');\n      \/\/ Switch to builder tab via clicking the actual tab button\n      var sel = $('#arb-tpl-select', root);\n      if (sel) {\n        sel.value = id;\n        sel.dispatchEvent(new Event('change'));\n      }\n      if (root._arbActivate) root._arbActivate('builder', true);\n      toast('Template applied');\n    });\n  }\n\n  \/\/ ============ EXAMPLES (job titles by category) ============\n  var EXAMPLES = {\n    'Tech': ['Software Engineer','Senior Software Engineer','Full Stack Developer','Frontend Engineer','Backend Engineer','DevOps Engineer','SRE','Data Engineer','Mobile Developer','iOS Developer','Android Developer','QA Engineer','Security Engineer','Engineering Manager','Tech Lead','Cloud Architect','Platform Engineer'],\n    'Product & Design': ['Product Manager','Senior PM','Group PM','Product Designer','UX Designer','UI Designer','UX Researcher','Design Lead','Service Designer','Design Systems Lead'],\n    'Data & Analytics': ['Data Analyst','Data Scientist','ML Engineer','Analytics Engineer','BI Analyst','Data Architect','Research Scientist'],\n    'Marketing & Sales': ['Marketing Manager','Growth Marketer','Content Marketer','SEO Specialist','Performance Marketer','Brand Manager','Account Executive','SDR','Sales Manager','VP Sales','Customer Success Manager','Demand Gen Manager'],\n    'Finance': ['Financial Analyst','Senior Financial Analyst','Controller','Accountant','FP&A Manager','Investment Analyst','Auditor','Treasurer'],\n    'Operations & HR': ['Operations Manager','Program Manager','Project Manager','HR Generalist','Recruiter','People Operations','Chief of Staff','Office Manager'],\n    'Healthcare': ['Registered Nurse','Physician','Medical Assistant','Pharmacist','Healthcare Administrator','Physical Therapist','Dental Hygienist'],\n    'Education': ['Teacher','Professor','Curriculum Designer','Instructional Designer','School Counselor','Principal','Tutor'],\n    'Customer Service': ['Customer Support Specialist','Support Engineer','CX Lead','Call Center Representative','Technical Support'],\n    'Creative': ['Graphic Designer','Copywriter','Content Writer','Video Editor','Photographer','Art Director','Illustrator','Social Media Manager'],\n    'Skilled Trades': ['Electrician','Plumber','HVAC Technician','Carpenter','Auto Mechanic','Welder','Construction Manager']\n  };\n\n  function initExamples(root) {\n    var eRoot = $('[data-panel=\"examples\"]', root);\n    if (!eRoot) return;\n    var host = $('#arb-ex-host', eRoot);\n    var search = $('#arb-ex-search', eRoot);\n    if (!host) return;\n\n    function render(q) {\n      q = (q || '').toLowerCase().trim();\n      host.innerHTML = Object.keys(EXAMPLES).map(function(cat) {\n        var items = EXAMPLES[cat].filter(function(t) { return !q || t.toLowerCase().indexOf(q) > -1; });\n        if (!items.length) return '';\n        return '<div class=\"arb-cat\"><h2>' + cat + ' <small style=\"opacity:0.6\">\u00b7 ' + items.length + '<\/small><\/h2>' +\n          '<div class=\"arb-ex-grid\">' +\n            items.map(function(t) { return '<div class=\"arb-ex\" data-title=\"' + esc(t) + '\">' + esc(t) + '<\/div>'; }).join('') +\n          '<\/div><\/div>';\n      }).join('');\n    }\n    if (search) search.addEventListener('input', function() { render(this.value); });\n    render('');\n    host.addEventListener('click', function(e) {\n      var ex = e.target.closest('[data-title]');\n      if (!ex) return;\n      var newTitle = ex.getAttribute('data-title');\n      \/\/ Apply title to state\n      try {\n        var s = sessionStorage.getItem(STATE_KEY);\n        var st = s ? JSON.parse(s) : JSON.parse(JSON.stringify(SAMPLE));\n        st.title = newTitle;\n        sessionStorage.setItem(STATE_KEY, JSON.stringify(st));\n      } catch (e2) {}\n      \/\/ Update the title input in the builder form if it exists\n      var titleInput = $('[data-bind=\"title\"]', root);\n      if (titleInput) {\n        titleInput.value = newTitle;\n        titleInput.dispatchEvent(new Event('input'));\n      }\n      \/\/ Switch to builder\n      if (root._arbActivate) root._arbActivate('builder', true);\n      toast('Title applied');\n    });\n  }\n\n  \/\/ ============ COVER LETTER (standalone tab) ============\n  function initCoverLetter(root) {\n    var clRoot = $('[data-panel=\"cover\"]', root);\n    if (!clRoot) return;\n    var btn = $('#arb-cl-go', clRoot);\n    var out = $('#arb-cl-output', clRoot);\n    if (!btn) return;\n    btn.addEventListener('click', function() {\n      var letter = AI.generateCoverLetter({\n        name: $('#arb-cl-name', clRoot).value,\n        role: $('#arb-cl-role2', clRoot).value,\n        company: $('#arb-cl-company', clRoot).value,\n        summary: $('#arb-cl-summary', clRoot).value\n      });\n      out.textContent = letter;\n    });\n    var copy = $('#arb-cl-copy', clRoot);\n    if (copy) copy.addEventListener('click', function() {\n      if (!out.textContent.trim()) { toast('Generate first'); return; }\n      navigator.clipboard.writeText(out.textContent).then(function() { toast('Copied!'); });\n    });\n  }\n\n  \/\/ ============ TRACKER ============\n  function initTracker(root) {\n    var tRoot = $('[data-panel=\"tracker\"]', root);\n    if (!tRoot) return;\n    var host = $('#arb-kanban', tRoot);\n    if (!host || host.getAttribute('data-init')) return;\n\n    var COLS = [\n      { id:'saved', label:'Saved' }, { id:'applied', label:'Applied' },\n      { id:'interview', label:'Interview' }, { id:'offer', label:'Offer' },\n      { id:'rejected', label:'Rejected' }\n    ];\n    var jobs = [];\n    try { jobs = JSON.parse(localStorage.getItem(TRACKER_KEY) || '[]'); } catch (e) {}\n    function save() { try { localStorage.setItem(TRACKER_KEY, JSON.stringify(jobs)); } catch (e) {} }\n    function render() {\n      host.innerHTML = COLS.map(function(c) {\n        var col = jobs.filter(function(j) { return j.status === c.id; });\n        return '<div class=\"arb-col\" data-col=\"' + c.id + '\">' +\n          '<div class=\"arb-col-head\">' + c.label + ' <span>' + col.length + '<\/span><\/div>' +\n          col.map(function(j) {\n            return '<div class=\"arb-card\" draggable=\"true\" data-id=\"' + j.id + '\">' +\n              '<div class=\"arb-card-co\">' + esc(j.company || '') + '<\/div>' +\n              '<div class=\"arb-card-role\">' + esc(j.role || '') + '<\/div>' +\n              '<div class=\"arb-card-meta\">' + esc(j.note || '') + '<\/div>' +\n            '<\/div>';\n          }).join('') +\n        '<\/div>';\n      }).join('');\n      bindDnD();\n    }\n    function bindDnD() {\n      var dragged = null;\n      $$('.arb-card', tRoot).forEach(function(card) {\n        card.addEventListener('dragstart', function() { dragged = card; card.classList.add('dragging'); });\n        card.addEventListener('dragend', function() { card.classList.remove('dragging'); });\n      });\n      $$('.arb-col', tRoot).forEach(function(col) {\n        col.addEventListener('dragover', function(e) { e.preventDefault(); });\n        col.addEventListener('drop', function(e) {\n          e.preventDefault();\n          if (!dragged) return;\n          var id = dragged.getAttribute('data-id');\n          var newCol = col.getAttribute('data-col');\n          var j = jobs.find(function(x) { return x.id === id; });\n          if (j) { j.status = newCol; save(); render(); }\n        });\n      });\n    }\n    var addBtn = $('#arb-add-job', tRoot);\n    if (addBtn) addBtn.addEventListener('click', function() {\n      var co = prompt('Company name:'); if (!co) return;\n      var role = prompt('Role:') || '';\n      jobs.push({ id:'j' + Date.now(), company:co, role:role, note:new Date().toLocaleDateString(), status:'saved' });\n      save(); render();\n    });\n    var clearBtn = $('#arb-clear-jobs', tRoot);\n    if (clearBtn) clearBtn.addEventListener('click', function() {\n      if (confirm('Clear all jobs?')) { jobs = []; save(); render(); }\n    });\n    render();\n    host.setAttribute('data-init', '1');\n  }\n\n  \/\/ ============ BOOT ============\n  function boot() {\n    var apps = $$('.arb-app');\n    try { console.log('[AIapps Resume v4.0.5] boot \u2014 found', apps.length, 'app(s)'); } catch(e) {}\n\n    \/\/ Show a visible diagnostic banner so user can confirm v4.0.5 JS actually ran\n    apps.forEach(function(root) {\n      var banner = document.createElement('div');\n      banner.id = 'arb-version-banner';\n      banner.style.cssText = 'position:fixed;top:8px;right:8px;z-index:99999;background:#34c759;color:#fff;padding:6px 14px;border-radius:999px;font:600 12px -apple-system,sans-serif;box-shadow:0 4px 12px rgba(0,0,0,0.15);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,sans-serif';\n      banner.textContent = 'AIapps v4.0.5 \u2713 JS loaded';\n      banner.title = 'Click to dismiss';\n      banner.onclick = function() { banner.remove(); };\n      \/\/ Auto-hide after 4 seconds\n      setTimeout(function() { if (banner.parentNode) banner.style.opacity = '0.4'; }, 4000);\n      setTimeout(function() { if (banner.parentNode) banner.remove(); }, 8000);\n      try { document.body.appendChild(banner); } catch(e) {}\n    });\n\n    apps.forEach(function(root) {\n      if (root.getAttribute('data-init')) return;\n      root.setAttribute('data-init', '1');\n      \/\/ Defensive layout fix: if parent constrains width, break out\n      try { ensureFullWidth(root); } catch(e) {}\n      try {\n        init(root);\n        try { console.log('[AIapps Resume v4.0.5] init complete'); } catch(e) {}\n      } catch (err) {\n        try { console.error('[AIapps Resume v4.0.5] init failed:', err); } catch(e) {}\n        \/\/ Show visible error so user can see what failed\n        try {\n          var errBox = document.createElement('div');\n          errBox.style.cssText = 'background:#ff3b30;color:#fff;padding:12px 18px;border-radius:8px;margin:10px;font:14px -apple-system,monospace';\n          errBox.textContent = '[AIapps init error] ' + (err && err.message ? err.message : err);\n          root.insertBefore(errBox, root.firstChild);\n        } catch(e2) {}\n      }\n    });\n  }\n\n  function ensureFullWidth(root) {\n    try {\n      var rootRect = root.getBoundingClientRect();\n      var viewportW = window.innerWidth || document.documentElement.clientWidth;\n      \/\/ If the root is significantly narrower than viewport (likely in a constrained content column),\n      \/\/ break out by repositioning to viewport edges.\n      if (rootRect.width < viewportW * 0.92) {\n        var leftOffset = -rootRect.left;\n        root.style.width = viewportW + 'px';\n        root.style.maxWidth = viewportW + 'px';\n        root.style.marginLeft = leftOffset + 'px';\n        root.style.marginRight = '0';\n        root.style.position = 'relative';\n      }\n    } catch (e) { \/* fail silently - CSS breakout still applies *\/ }\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\n  else boot();\n  \/\/ Re-check on resize\n  window.addEventListener('resize', function() {\n    $$('.arb-app').forEach(ensureFullWidth);\n  });\n})(window);\n\n\n<\/script>\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-2","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/timebmi.com\/index.php?rest_route=\/wp\/v2\/pages\/2","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/timebmi.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/timebmi.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/timebmi.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/timebmi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2"}],"version-history":[{"count":2,"href":"https:\/\/timebmi.com\/index.php?rest_route=\/wp\/v2\/pages\/2\/revisions"}],"predecessor-version":[{"id":9,"href":"https:\/\/timebmi.com\/index.php?rest_route=\/wp\/v2\/pages\/2\/revisions\/9"}],"wp:attachment":[{"href":"https:\/\/timebmi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}