:root{--bg:#eef1fb;--bg-grad-1:#d9e3ff;--bg-grad-2:#f2e2ff;--bg-grad-3:#d7f4ff;--bg-grad-4:#ffe6f3;--surface:hsla(0,0%,100%,.55);--surface-strong:hsla(0,0%,100%,.78);--glass-border:hsla(0,0%,100%,.6);--hairline:rgba(20,30,60,.08);--border:hsla(0,0%,100%,.5);--border-strong:hsla(0,0%,100%,.7);--sheen:0.55;--text:#161c2d;--text-muted:#56607a;--text-faint:#8b94aa;--accent:#5b54f0;--accent-2:#b15cf0;--accent-grad:linear-gradient(135deg,#5b54f0,#9b5cf0 55%,#d65cf0);--accent-contrast:#fff;--good:#15a34a;--warn:#d97706;--bad:#e0405a;--glass-shadow:0 18px 50px -16px rgba(28,30,70,.4),0 6px 18px -10px rgba(28,30,70,.25),inset 0 1px 0 hsla(0,0%,100%,.7),inset 0 0 0 1px hsla(0,0%,100%,.08);--glass-shadow-lift:0 30px 70px -18px rgba(28,30,70,.5),0 10px 24px -12px rgba(28,30,70,.3),inset 0 1px 0 hsla(0,0%,100%,.8),inset 0 0 0 1px hsla(0,0%,100%,.12);--shadow:var(--glass-shadow);--shadow-sm:0 10px 28px -14px rgba(28,30,70,.32),inset 0 1px 0 hsla(0,0%,100%,.6);--radius:22px;--radius-lg:30px;--radius-sm:14px;--blur:saturate(185%) blur(26px);--blur-strong:saturate(200%) blur(40px);--ease:cubic-bezier(0.22,0.8,0.28,1);--spring:cubic-bezier(0.34,1.4,0.5,1)}@media (prefers-color-scheme:dark){:root{--bg:#070912;--bg-grad-1:#16204a;--bg-grad-2:#2a1647;--bg-grad-3:#07303f;--bg-grad-4:#311231;--surface:rgba(36,42,64,.45);--surface-strong:rgba(40,47,72,.66);--glass-border:hsla(0,0%,100%,.14);--hairline:hsla(0,0%,100%,.08);--border:hsla(0,0%,100%,.12);--border-strong:hsla(0,0%,100%,.2);--sheen:0.16;--text:#eef1f8;--text-muted:#a9b2c8;--text-faint:#767f96;--accent:#8f88ff;--accent-2:#cb8bff;--accent-contrast:#0a0c16;--good:#4ade80;--warn:#fbbf24;--bad:#ff6b81;--glass-shadow:0 22px 60px -18px rgba(0,0,0,.7),0 6px 18px -10px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.12),inset 0 0 0 1px hsla(0,0%,100%,.05);--glass-shadow-lift:0 34px 80px -18px rgba(0,0,0,.8),0 10px 24px -12px rgba(0,0,0,.55),inset 0 1px 0 hsla(0,0%,100%,.18),inset 0 0 0 1px hsla(0,0%,100%,.08);--shadow-sm:0 12px 30px -16px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.1)}}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5}body:before{content:"";position:fixed;inset:-20vmax;z-index:-1;background:radial-gradient(40vmax 40vmax at 12% 6%,var(--bg-grad-1),transparent 60%),radial-gradient(38vmax 38vmax at 92% 0,var(--bg-grad-2),transparent 58%),radial-gradient(46vmax 46vmax at 78% 96%,var(--bg-grad-3),transparent 60%),radial-gradient(40vmax 40vmax at 4% 92%,var(--bg-grad-4),transparent 58%);filter:saturate(1.05);animation:meshdrift 26s ease-in-out infinite alternate}@keyframes meshdrift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,-1.5%,0) scale(1.06)}to{transform:translate3d(-2%,2%,0) scale(1.04)}}a{color:inherit;text-decoration:none}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:.95rem;color:var(--text);background:var(--surface-strong);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:.7rem .85rem;width:100%;box-shadow:inset 0 1px 2px rgba(20,30,60,.06),inset 0 1px 0 hsla(0,0%,100%,.5);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent),inset 0 1px 0 hsla(0,0%,100%,.5)}textarea{resize:vertical;min-height:90px}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.container{max-width:1120px;margin:0 auto;padding:0 1.25rem}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;gap:1rem;padding:.7rem 1.5rem;background:var(--surface);backdrop-filter:var(--blur-strong);-webkit-backdrop-filter:var(--blur-strong);border-bottom:1px solid var(--hairline);box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.18),0 8px 30px -24px rgba(20,30,60,.5)}.appbar,.appbar .brand{display:flex;align-items:center}.appbar .brand{font-weight:800;letter-spacing:-.02em;font-size:1.15rem;gap:.55rem}.appbar .brand .dot{width:16px;height:16px;border-radius:6px;background:var(--accent-grad);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px 0 hsla(0,0%,100%,.6)}.appbar .spacer{flex:1 1}.appbar nav{display:flex;gap:.4rem;align-items:center}.card,.glass{position:relative;isolation:isolate;background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow);padding:1.5rem}.card:before,.glass:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,var(--sheen)) 0,hsla(0,0%,100%,0) 42%);pointer-events:none}.card.hoverable{transition:transform .35s var(--spring),box-shadow .35s var(--ease),border-color .3s var(--ease)}.card.hoverable:hover{transform:translateY(-4px);box-shadow:var(--glass-shadow-lift);border-color:hsla(0,0%,100%,.8)}.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--glass-border);background:var(--surface-strong);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);color:var(--text);border-radius:999px;padding:.6rem 1.1rem;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .28s var(--spring),box-shadow .25s var(--ease),background .2s var(--ease),border-color .2s var(--ease),filter .2s var(--ease)}.btn:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,hsla(0,0%,100%,.5),hsla(0,0%,100%,0) 55%);pointer-events:none}.btn:hover{transform:translateY(-2px);border-color:hsla(0,0%,100%,.85);box-shadow:var(--glass-shadow-lift)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:0 12px 30px -8px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px 0 hsla(0,0%,100%,.45)}.btn.primary:hover{filter:brightness(1.06) saturate(1.05);box-shadow:0 18px 40px -8px color-mix(in srgb,var(--accent) 65%,transparent),inset 0 1px 0 hsla(0,0%,100%,.55)}.btn.primary .spinner{border-color:#fff hsla(0,0%,100%,.45) hsla(0,0%,100%,.45)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:before{display:none}.btn.ghost:hover{background:var(--surface);border-color:var(--glass-border);box-shadow:var(--shadow-sm)}.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.btn.danger:hover{background:color-mix(in srgb,var(--bad) 12%,transparent)}.btn.sm{padding:.4rem .8rem;font-size:.8rem}.btn.iconbtn{padding:.4rem .55rem;font-size:.85rem}.social-row{display:grid;grid-gap:.6rem;gap:.6rem;margin-top:.25rem}.btn.social{width:100%;padding:.7rem 1rem;font-size:.92rem;font-weight:600}.label{display:block;font-size:.74rem;font-weight:700;color:var(--text-muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.06em}.field{margin-bottom:.9rem}.row{display:flex;gap:.75rem}.row>*{flex:1 1}.grid{display:grid;grid-gap:1rem;gap:1rem}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.28rem .7rem;border-radius:999px;background:var(--surface-strong);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);color:var(--text-muted);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5)}.title-xl{font-size:2.3rem;font-weight:800;letter-spacing:-.035em;line-height:1.08;margin:0}.section-title{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .75rem}.divider{display:flex;align-items:center;gap:.85rem;margin:1.1rem 0;color:var(--text-faint);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--hairline) 30%,var(--hairline) 70%,transparent)}.error-banner{background:color-mix(in srgb,var(--bad) 14%,transparent);border:1px solid color-mix(in srgb,var(--bad) 45%,transparent);color:var(--bad);padding:.65rem .9rem;border-radius:var(--radius-sm);font-size:.88rem;margin-bottom:1rem}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:var(--surface-strong);backdrop-filter:var(--blur-strong);-webkit-backdrop-filter:var(--blur-strong);border:1px solid var(--glass-border);border-radius:999px;padding:.7rem 1.2rem;box-shadow:var(--glass-shadow);z-index:80;font-size:.9rem}.spinner{width:18px;height:18px;border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.center-screen{min-height:70vh;display:flex;align-items:center;justify-content:center}@media (prefers-reduced-motion:reduce){body:before{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tabs{display:inline-flex;gap:.25rem;padding:.3rem;background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:999px;box-shadow:var(--shadow-sm)}.tabs button{border:none;background:transparent;color:var(--text-muted);padding:.45rem 1.1rem;border-radius:999px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .25s var(--ease),color .2s var(--ease),box-shadow .25s var(--ease)}.tabs button.active{background:var(--accent-grad);color:#fff;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px 0 hsla(0,0%,100%,.45)}.chat-thread{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.chat-msg{max-width:78%;padding:.7rem .95rem;border-radius:20px;font-size:.92rem;line-height:1.45;white-space:pre-wrap}.chat-msg.user{align-self:flex-end;background:var(--accent-grad);color:#fff;border-bottom-right-radius:6px;box-shadow:0 8px 20px -8px color-mix(in srgb,var(--accent) 55%,transparent)}.chat-msg.assistant{align-self:flex-start;background:var(--surface-strong);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-bottom-left-radius:6px}.bar-track{height:9px;border-radius:999px;background:color-mix(in srgb,var(--text-faint) 25%,transparent);overflow:hidden}.bar-fill{height:100%;border-radius:999px;transition:width .5s var(--ease)}.finding{padding:.75rem .95rem;border-radius:var(--radius-sm);background:var(--surface-strong);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-left-width:4px;margin-bottom:.6rem}.finding.critical{border-left-color:var(--bad)}.finding.warning{border-left-color:var(--warn)}.finding.suggestion{border-left-color:var(--accent)}.resume-preview{background:#fff;color:#111;border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.resume-page{padding:var(--rp-margin,48px);font-family:var(--rp-font,Helvetica,Arial,sans-serif);font-size:calc(10.5pt * var(--rp-scale, 1));line-height:1.4;color:#1a1a1a}.resume-page h1{margin:0;font-size:calc(20pt * var(--rp-scale, 1));color:var(--rp-accent,#1f2933);letter-spacing:-.01em}.resume-page .rp-headline{font-size:calc(11pt * var(--rp-scale, 1));color:#444;margin-top:2px}.resume-page .rp-contact{margin-top:6px;font-size:calc(9pt * var(--rp-scale, 1));color:#333}.resume-page .rp-section{margin-top:calc(16px * var(--rp-scale, 1))}.resume-page .rp-section-title{font-size:calc(11pt * var(--rp-scale, 1));text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--rp-accent,#1f2933);border-bottom:1.5px solid var(--rp-accent,#1f2933);padding-bottom:3px;margin-bottom:8px}.resume-page .rp-item{margin-bottom:10px}.resume-page .rp-item-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.resume-page .rp-item-title{font-weight:700}.resume-page .rp-item-sub{color:#333}.resume-page .rp-dates{color:#555;white-space:nowrap;font-size:calc(9pt * var(--rp-scale, 1))}.resume-page ul{margin:4px 0 0;padding-left:18px}.resume-page li{margin-bottom:2px}.resume-page.tmpl-modern .rp-section-title{border-bottom:none;border-left:4px solid var(--rp-accent,#1f2933);padding-left:8px}.resume-page.tmpl-compact{font-size:calc(9.5pt * var(--rp-scale, 1))}.resume-page.tmpl-compact .rp-section{margin-top:calc(11px * var(--rp-scale, 1))}.editor-grid{display:grid;grid-template-columns:1fr;grid-gap:1.25rem;gap:1.25rem}@media (min-width:1000px){.editor-split{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:1.25rem;gap:1.25rem;align-items:start}.editor-split .sticky-preview{position:-webkit-sticky;position:sticky;top:5rem}}.item-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem;background:var(--surface-strong);margin-bottom:.8rem}.item-card .item-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem}.bullet-row{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.45rem}.bullet-row textarea{min-height:40px}.inline-actions{display:flex;gap:.3rem;align-items:center}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--text-muted);transition:border-color .15s,background .15s;cursor:pointer}.dropzone.drag{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.lowconf{border-color:var(--warn)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 30%,transparent)}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.choice{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-radius:var(--radius);padding:1.5rem;transition:transform .16s,box-shadow .16s,border-color .16s}.choice:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent)}.choice .emoji{font-size:1.8rem}.choice h3{margin:.6rem 0 .3rem}.gauge{position:relative;width:160px;height:160px}.gauge .num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge .num strong{font-size:2.6rem;font-weight:800;line-height:1}