.preview-toolbar{display:flex;align-items:center;justify-content:center;padding:12px 20px;border-bottom:1px solid var(--border);background:#fff;position:relative}.preview-toolbar .pill-toggle{width:auto;display:inline-flex}.preview-toolbar .pill-toggle button{flex:none}.split-wrap{position:absolute;right:20px}.split-btn{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-btn);overflow:hidden;background:#fff}.split-btn .main{padding:0 14px;height:34px;display:inline-flex;align-items:center;gap:8px;color:var(--ink);font:500 13px Google Sans,sans-serif;cursor:pointer}.split-btn .chev{width:32px;height:34px;display:grid;place-items:center;color:var(--ink);border-left:1px solid var(--border);cursor:pointer;transition:transform .2s}.split-btn .chev.open svg{transform:rotate(180deg)}.split-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-md);min-width:140px;padding:4px;font-size:13px;z-index:10}.split-menu div{padding:8px 10px;border-radius:4px;cursor:pointer;color:var(--ink);display:flex;align-items:center;gap:8px}.split-menu div:hover{background:var(--bg)}.resume-canvas{background:#fff;padding:32px;display:flex;justify-content:center}.resume-paper{width:760px;max-width:100%;background:#fff;border:1px solid var(--border);border-radius:6px;padding:48px 56px;font-family:"Computer Modern Serif",Latin Modern Roman,Cambria,Georgia,serif;color:#000;box-shadow:var(--shadow-md)}.resume-paper .cv-name{text-align:center;font-size:24px;letter-spacing:.5px;margin-bottom:4px;font-family:inherit;font-weight:700}.resume-paper .cv-contact{text-align:center;font-size:12px;color:#222;margin-bottom:18px}.resume-paper .cv-sec{font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:18px 0 4px;border-bottom:1px solid #000;padding-bottom:2px;font-family:inherit;font-weight:700}.resume-paper .cv-item{margin:8px 0}.resume-paper .cv-item .top{display:flex;justify-content:space-between;font-weight:700;font-size:13px}.resume-paper .cv-item .sub{display:flex;justify-content:space-between;font-style:italic;font-size:12.5px}.resume-paper ul{margin:4px 0 0 18px;padding:0;font-size:12.5px;line-height:1.45}.resume-paper .skills-tab{display:grid;grid-template-columns:140px 1fr;row-gap:3px;font-size:12.5px}.resume-paper .skills-tab b{font-weight:700}.raw-editor{background:#0b1020;color:#e5e7eb;font:13px/1.6 JetBrains Mono,Fira Code,Consolas,monospace;padding:20px 24px;position:relative;border-radius:6px;min-height:560px;overflow:auto}.raw-editor .copy-btn{position:absolute;top:12px;right:12px;background:#1f2937;color:#e5e7eb;border:1px solid #374151;border-radius:6px;padding:6px 10px;font:500 12px Google Sans;display:inline-flex;gap:6px;align-items:center;cursor:pointer}.raw-editor .copy-btn:hover{background:#374151}@media (max-width: 880px){.preview-toolbar{flex-direction:column;gap:10px;padding:12px 16px}.preview-toolbar .pill-toggle{order:1}.split-wrap{position:relative;order:2}.split-menu{min-width:100px}}.diff-viewer{border-top:1px solid var(--border)}.diff-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border)}.diff-title{display:flex;align-items:center;gap:8px}.diff-title h2{font-size:14px;font-weight:500}.diff-controls{display:flex;align-items:center;gap:10px}.diff-toggle-label{font-size:13px;color:var(--muted);font-weight:500}.diff-legend{display:flex;gap:16px;padding:10px 20px;font-size:12px;border-bottom:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:6px}.legend-item.removed{color:#991b1b}.legend-item.added{color:#166534}.diff-content{overflow:auto;max-height:70vh}.app{background:var(--surface);border-top:1px solid var(--border);overflow:hidden;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:#fff}.brand{display:flex;align-items:center;gap:10px;font-family:Google Sans;font-weight:500;font-size:15px}.brand-mark{width:28px;height:28px;display:grid;place-items:center;color:var(--ink)}.tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--border);background:#fff;overflow-x:auto}.tab{display:flex;align-items:center;gap:8px;padding:14px;font-size:13px;color:var(--ink);border:none;background:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;font-weight:500;font-family:Google Sans,sans-serif}.tab:hover:not(:disabled){color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--ink)}.tab:disabled{opacity:.4;cursor:not-allowed}.configure-grid{display:grid;grid-template-columns:420px 1fr;gap:16px;align-items:start}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius-card)}.panel-h{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-h h3{font-size:14px}.panel-b{padding:16px;display:flex;flex-direction:column;gap:16px}.section-label-sm{font:500 13px Google Sans;color:var(--ink);margin-bottom:8px}.pill-toggle{position:relative;display:flex;width:100%;background:var(--bg);border-radius:var(--radius-pill);padding:4px;border:1px solid var(--border)}.pill-toggle button{position:relative;z-index:1;border:0;background:transparent;padding:8px 24px;border-radius:16px;font:500 14px Google Sans,sans-serif;color:var(--muted);cursor:pointer;transition:color .25s;flex:1;text-align:center}.pill-toggle button.active{color:#fff}.pill-toggle .slider{position:absolute;top:4px;bottom:4px;border-radius:16px;background:var(--ink);transition:left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1)}.sec-row{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:var(--radius-card);background:#fff;margin-bottom:4px}.sec-row .sec-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--ink);flex:none}.sec-row .sec-meta{flex:1;min-width:0}.sec-row .sec-meta b{font:500 13px Google Sans;display:block}.sec-row .sec-meta span{font-size:12px;color:var(--muted)}.info-tooltip-wrap{position:relative;display:inline-flex;align-items:center;margin-left:6px;vertical-align:middle}.info-icon{color:#9ca3af;cursor:help}.info-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fff;color:#9ca3af;font:400 12px Google Sans Text,sans-serif;padding:8px 12px;border-radius:6px;width:240px;line-height:1.4;box-shadow:var(--shadow-md);border:1px solid var(--border);z-index:20}.info-tooltip-wrap:hover .info-tooltip{display:block}.switch{flex:none;width:36px;height:20px;background:#d1d5db;border-radius:20px;position:relative;cursor:pointer;transition:background .3s cubic-bezier(.4,0,.2,1);border:none}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.switch.on{background:var(--ink)}.switch.on:after{left:18px}.jd{width:100%;min-height:540px;border:0;outline:0;resize:none;font:13px/1.6 Google Sans Text,sans-serif;color:var(--ink);background:transparent;padding:16px}.icon-btn{width:30px;height:30px;border-radius:var(--radius-btn);border:1px solid transparent;background:transparent;display:grid;place-items:center;color:var(--ink);cursor:pointer}.icon-btn:hover{background:var(--bg)}.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--radius-btn);border:1px solid var(--border);background:#fff;color:var(--ink);font:500 13px Google Sans,sans-serif;cursor:pointer}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.block{width:100%;justify-content:center;height:40px}@keyframes spin{to{transform:rotate(360deg)}}.btn .spin{animation:spin .8s linear infinite}.progress{border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;padding:8px}.progress .step{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px;color:var(--ink)}.progress .step .ic{width:18px;height:18px;display:grid;place-items:center;flex:none}.progress .step .ic.done{color:var(--green)}.progress .step.queued{color:var(--muted)}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite}.tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;border:1px solid transparent}.tag.g{background:var(--green-bg);color:#166534;border-color:#bbf7d0}.tag.b{background:var(--blue-bg);color:#1e3a8a;border-color:#bfdbfe}.tag.r{background:var(--red-bg);color:#7f1d1d;border-color:#fecaca}.tags{display:flex;flex-wrap:wrap;gap:6px}.warn{background:var(--red-bg);border:1px solid #fecaca;border-radius:var(--radius-card);padding:10px 14px;font-size:13px;color:#7f1d1d;display:flex;gap:10px;align-items:center;margin-bottom:12px}.suggest{background:var(--orange-bg);border:1px solid #fde68a;border-radius:var(--radius-card);padding:12px 14px;font-size:13px;color:#78350f;display:flex;gap:10px;margin-bottom:12px}.audit{display:grid;grid-template-columns:auto auto 1fr;gap:24px;align-items:center;padding:20px}.ring{--p: 82;--c: var(--green);width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p) * 1%),#eef0f3 0);display:grid;place-items:center;position:relative}.ring:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;background:#fff;border-radius:50%}.ring span{position:relative;z-index:1;font:700 20px Google Sans;color:var(--ink)}.ring small{position:relative;z-index:1;display:block;text-align:center;font-size:10px;color:var(--muted);font-family:Google Sans;margin-top:2px}.ring.exp{--c: var(--blue)}.audit .meta b{display:block;font:500 13px Google Sans;margin-bottom:8px}.diff-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}.diff-col{padding:18px 20px;font:13px/1.7 JetBrains Mono,monospace;color:#111}.diff-col+.diff-col{border-left:1px solid var(--border)}.diff-col h4{font-family:Google Sans;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:500}.toast-container{position:fixed;top:14px;right:18px;z-index:50;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast-inner{background:var(--ink);color:#fff;font-size:13px;padding:10px 14px;border-radius:var(--radius-pill);display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-md);font-family:Google Sans}.toast-inner.toast-error{background:var(--red)}.toast-inner.toast-success{background:var(--ink)}@media (max-width: 880px){.configure-grid{grid-template-columns:1fr}.audit{grid-template-columns:1fr 1fr;gap:16px;text-align:center;justify-items:center}.audit>div:first-child:nth-last-child(2){grid-column:1 / -1}.audit>div:last-child{grid-column:1 / -1;text-align:left}.diff-grid{grid-template-columns:1fr}}:root{--ink: #111827;--bg: #f3f4f6;--surface: #ffffff;--border: #e5e7eb;--muted: #6b7280;--green: #16a34a;--red: #dc2626;--orange: #d97706;--blue: #2563eb;--green-bg: #dcfce7;--red-bg: #fee2e2;--orange-bg: #fef3c7;--blue-bg: #dbeafe;--radius-card: 8px;--radius-pill: 20px;--radius-btn: 6px;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .04);--shadow-md: 0 1px 3px rgba(17, 24, 39, .06), 0 1px 2px rgba(17, 24, 39, .04)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--surface);color:var(--ink);font-family:Google Sans Text,Google Sans,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Google Sans,sans-serif;margin:0;font-weight:500;color:var(--ink)}#root{min-height:100vh}
