@font-face{font-family:ResumeOppo;src:url(/assets/OPPOSans-R-tAcFw8I3.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:ResumeOppo;src:url(/assets/OPPOSans-M-C1IxG0yj.ttf) format("truetype");font-weight:700;font-style:normal}:root{--builder-bg: #f7f9fb;--builder-surface: #ffffff;--builder-surface-soft: #f2f4f6;--builder-surface-muted: #e9edf2;--builder-border: #d8dde6;--builder-border-strong: #c5ccd8;--builder-primary: #091426;--builder-primary-soft: #1e293b;--builder-accent: #2170e4;--builder-accent-soft: rgba(33, 112, 228, .08);--builder-text: #191c1e;--builder-text-muted: #5e6573;--builder-text-soft: #7b8494;--builder-danger: #c0392b;--builder-shadow: 0 20px 50px rgba(15, 23, 42, .08)}.builder-shell{height:100vh;overflow:hidden;background:radial-gradient(circle at top left,rgba(188,199,222,.24),transparent 30%),linear-gradient(180deg,#fbfcfe 0%,var(--builder-bg) 40%,#eef2f7 100%);color:var(--builder-text)}.builder-topbar{position:fixed;top:0;right:0;left:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px;padding:18px 28px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border-bottom:1px solid rgba(216,221,230,.72)}.builder-branding{min-width:200px}.builder-brand{font-size:22px;font-weight:800;letter-spacing:-.06em;color:var(--builder-primary)}.builder-brand-subtitle{margin-top:4px;font-size:12px;color:var(--builder-text-muted)}.builder-nav{display:flex;align-items:center;gap:12px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.builder-nav::-webkit-scrollbar{display:none}.builder-nav__item{white-space:nowrap;padding:8px 12px;border-radius:999px;border:1px solid rgba(216,221,230,.9);background:#ffffffb8;font-size:12px;font-weight:700;color:var(--builder-text-soft)}.builder-actions{display:flex;align-items:center;gap:12px}.topbar-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:10px;border:1px solid transparent;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease}.topbar-button:hover{transform:translateY(-1px)}.topbar-button:disabled{cursor:wait;transform:none;opacity:.8}.topbar-button--ghost{color:var(--builder-primary);background:#ffffffb8;border-color:#d8dde6f2}.topbar-button--subtle{color:var(--builder-text-muted);background:#f2f4f6e6;border-color:#d8dde6f2}.topbar-button--account{max-width:220px;color:var(--builder-primary);background:#2170e414;border-color:#2170e42e;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-button--primary{color:#fff;background:linear-gradient(135deg,var(--builder-primary) 0%,var(--builder-primary-soft) 100%);box-shadow:0 12px 24px #0914262e}.builder-workspace{display:grid;grid-template-columns:minmax(360px,46%) minmax(420px,54%);gap:24px;align-items:stretch;height:100vh;padding:108px 24px 24px;overflow:hidden}.editor-pane,.preview-pane{min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain}.editor-pane{padding-right:6px}.editor-pane__inner{display:flex;flex-direction:column;gap:24px;padding-bottom:24px}.preview-pane{padding-right:6px}.preview-surface{min-height:100%;padding:18px;border-radius:28px;background-color:#d1d5db;background-image:radial-gradient(#9ca3af .55px,transparent .55px);background-size:20px 20px;box-shadow:inset 0 1px #fff3}.preview-surface__header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.preview-surface__eyebrow,.editor-card__eyebrow,.template-drawer__eyebrow{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--builder-accent)}.preview-surface__title,.editor-card__title,.template-drawer__title{margin:0;font-size:28px;font-weight:800;letter-spacing:-.05em;color:var(--builder-primary)}.preview-surface__hint,.editor-card__description,.template-drawer__description{margin:0;max-width:280px;font-size:13px;line-height:1.6;color:var(--builder-text-muted)}.preview-frame{overflow:hidden;border-radius:22px;background:var(--builder-surface);box-shadow:0 24px 56px #0f172a33}.resume-preview-page{width:min(100%,210mm);min-height:calc(297mm - 8px);margin:0 auto;padding:36px 40px 42px;background:#fff;color:#191c1e}.resume-preview-page--oppo{font-family:ResumeOppo,PingFang SC,Microsoft YaHei,sans-serif}.resume-preview-hero{padding-bottom:18px}.resume-preview-hero--with-divider{border-bottom:1px solid #dbe5f2}.resume-preview-hero-main{display:flex;align-items:flex-start;gap:20px}.resume-preview-hero-content{flex:1;min-width:0}.resume-preview-avatar{display:block;flex-shrink:0;width:78px;height:104px;border-radius:4px;object-fit:cover}.resume-preview-name{margin:0;color:#091426;font-size:36px;font-weight:800;letter-spacing:-.06em}.resume-preview-headline{margin:6px 0 0;color:#2170e4;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.resume-preview-contact-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.resume-preview-contact-item{display:flex;flex-direction:column;gap:2px;padding:7px 10px;border-radius:4px;background:#f3f6fb}.resume-preview-contact-label{color:#72809a;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.resume-preview-contact-value{color:#0f172a;font-size:12px}.resume-preview-section{margin-top:14px}@media(max-width:720px){.resume-preview-hero-main{flex-direction:column;gap:14px}}.resume-preview-section-title{margin:0;padding-bottom:8px;border-bottom:1px solid #ebecef;color:#091426;font-size:12px;font-weight:800;letter-spacing:.1em}.resume-preview-section-title--plain{padding-bottom:0;border-bottom:none}.resume-preview-section-body{margin-top:14px}.resume-preview-entry{margin-bottom:14px}.resume-preview-entry:last-child{margin-bottom:0}.resume-preview-entry--compact+.resume-preview-entry--compact{margin-top:10px}.resume-preview-entry-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:4px}.resume-preview-entry-title{margin:0;flex:1;color:#0f172a;font-size:14px;font-weight:700}.resume-preview-entry-mark{color:#7b8494;font-size:11px;white-space:nowrap}.resume-preview-paragraph{margin:4px 0 0;color:#455163;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.resume-preview-paragraph--bullet{padding-left:0}.editor-card,.section-editor{border:1px solid rgba(216,221,230,.92);border-radius:24px;background:#ffffffeb;box-shadow:var(--builder-shadow)}.editor-card{padding:28px}.editor-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.identity-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:start}.identity-layout__tip{margin:14px 0 0;font-size:12px;line-height:1.6;color:var(--builder-text-soft)}.identity-layout__fields{display:flex;flex-direction:column;gap:18px}.editor-form-grid{display:grid;gap:16px}.editor-form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-field{display:flex;flex-direction:column;gap:8px}.editor-field__label{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--builder-accent)}.editor-field__hint{font-size:12px;line-height:1.6;color:var(--builder-text-soft)}.editor-input{width:100%;padding:14px 16px;border:1px solid var(--builder-border);border-radius:14px;background:#f7f9fbeb;color:var(--builder-text);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.editor-input:focus{outline:none;border-color:#2170e499;box-shadow:0 0 0 4px #2170e41a;background:#fff}.editor-input::placeholder{color:#a6adba}.editor-select{appearance:none}.editor-textarea{resize:vertical;min-height:116px;line-height:1.7}.section-editor{padding:22px}.section-editor+.section-editor{margin-top:18px}.section-editor__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-editor__title-row{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.section-editor__drag{flex-shrink:0;color:#aab1bf;font-size:18px;line-height:1;cursor:grab}.section-editor__title-input{width:100%;border:none;border-bottom:1px solid rgba(197,204,216,.7);background:transparent;padding:8px 0;color:var(--builder-primary);font:inherit;font-size:24px;font-weight:800;letter-spacing:-.05em}.section-editor__title-input:focus{outline:none;border-bottom-color:var(--builder-accent)}.section-editor__delete,.entry-editor-card__remove{border:none;background:transparent;color:var(--builder-text-soft);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,background-color .2s ease}.section-editor__delete{width:40px;height:40px;border-radius:12px}.section-editor__delete:hover,.entry-editor-card__remove:hover{color:var(--builder-danger);background:#c0392b14}.section-editor__empty{margin-bottom:18px;padding:14px 16px;border:1px dashed rgba(197,204,216,.9);border-radius:16px;background:#f7f9fbe0;font-size:13px;line-height:1.6;color:var(--builder-text-muted)}.entry-editor-card{margin-bottom:14px;padding:18px;border:1px solid rgba(216,221,230,.9);border-radius:18px;background:linear-gradient(180deg,#fffffff5,#f7f9fbeb)}.entry-editor-card--compact{background:#f9fafcf2}.entry-editor-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.entry-editor-card__top-meta{display:flex;align-items:center;gap:10px}.entry-editor-card__drag{color:#aab1bf;font-size:18px;line-height:1;cursor:grab}.entry-editor-card__badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#09142614;color:var(--builder-primary);font-size:11px;font-weight:800;letter-spacing:.08em}.entry-editor-card__badge--secondary{background:#2170e414;color:var(--builder-accent)}.entry-editor-card__remove{min-height:32px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:700}.section-editor__actions,.section-list-actions,.image-picker-actions{display:flex;flex-wrap:wrap;gap:12px}.section-editor__actions{margin-top:6px}.section-list-actions{margin-top:28px}.section-editor__action,.section-list-button,.image-picker-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid transparent;background:var(--builder-surface-soft);color:var(--builder-primary);text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.section-editor__action:hover,.section-list-button:hover,.image-picker-button:hover{transform:translateY(-1px)}.section-editor__action--primary,.section-list-button--primary,.image-picker-button{background:#2170e414;border-color:#2170e42e;color:var(--builder-accent)}.section-editor__action--secondary,.section-list-button--secondary{background:#0914260d;border-color:#09142614;color:var(--builder-primary)}.image-picker-button{border:1px solid rgba(33,112,228,.16)}.image-picker-button--danger{background:#c0392b14;border-color:#c0392b2e;color:var(--builder-danger)}.empty-state-panel{margin-bottom:20px;padding:20px;border:1px dashed var(--builder-border-strong);border-radius:18px;background:#f7f9fbd9}.empty-state-panel__title{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--builder-primary)}.empty-state-panel__copy{margin:0;font-size:13px;line-height:1.7;color:var(--builder-text-muted)}.sortable-ghost{opacity:.5;background:#2170e414}.template-drawer-paper{width:340px;max-width:calc(100vw - 24px);padding:22px;background:#f8fafc!important}.cloud-drafts-drawer-paper{width:360px;max-width:calc(100vw - 24px);padding:22px;background:#f8fafc!important}.account-drawer-paper{width:380px;max-width:calc(100vw - 24px);padding:22px;background:#f8fafc!important}.template-drawer,.cloud-drafts-drawer{display:flex;flex-direction:column;height:100%}.account-drawer{display:flex;flex-direction:column;gap:18px;height:100%}.template-drawer__header,.cloud-drafts-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cloud-drafts-drawer__header-actions{display:flex;align-items:center;gap:4px}.account-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.template-drawer__list{display:flex;flex-direction:column;gap:10px;margin-top:20px}.cloud-drafts-drawer__list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.cloud-drafts-drawer__toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.template-drawer__item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:1px solid rgba(216,221,230,.92);border-radius:16px;background:#fff;cursor:pointer;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.template-drawer__item:hover{transform:translateY(-1px);border-color:#2170e43d;box-shadow:0 16px 32px #2170e414}.template-drawer__item-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:#2170e414;color:var(--builder-accent)}.template-drawer__item-text{font-size:14px;font-weight:700;color:var(--builder-primary)}.cloud-drafts-drawer__item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:16px;border:1px solid rgba(216,221,230,.9);border-radius:18px;background:#fffffff0;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.cloud-drafts-drawer__item:hover{transform:translateY(-1px);border-color:#2170e447;box-shadow:0 16px 28px #0f172a14}.cloud-drafts-drawer__item:focus-visible{outline:none;border-color:#2170e470;box-shadow:0 0 0 4px #2170e41f}.cloud-drafts-drawer__item-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.cloud-drafts-drawer__item--active{border-color:#2170e470;background:#2170e414}.cloud-drafts-drawer__item-name{font-size:15px;font-weight:800;color:var(--builder-primary)}.cloud-drafts-drawer__item-meta{font-size:12px;color:var(--builder-text-muted)}.cloud-drafts-drawer__delete{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:10px;background:#0914260d;color:var(--builder-text-soft);cursor:pointer;transition:background-color .2s ease,color .2s ease}.cloud-drafts-drawer__delete:hover{background:#c0392b14;color:var(--builder-danger)}.cloud-drafts-drawer__empty,.cloud-drafts-drawer__error{margin:0;padding:16px;border-radius:16px;background:#ffffffd9;color:var(--builder-text-muted);font-size:13px;line-height:1.7}.cloud-drafts-drawer__error{margin-top:14px;border:1px solid rgba(192,57,43,.16);background:#c0392b0f;color:var(--builder-danger)}.account-drawer__section{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid rgba(216,221,230,.9);border-radius:20px;background:#fffffff0}.account-drawer__section-title{margin:0;font-size:18px;font-weight:800;color:var(--builder-primary)}.account-drawer__meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--builder-text-muted)}.account-drawer__status{margin:0;padding:12px 14px;border-radius:14px;background:#2170e414;color:var(--builder-accent);font-size:13px;line-height:1.6}.account-drawer__button,.account-drawer__logout{width:100%}.auth-dialog-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0914265c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-dialog{width:min(100%,460px);padding:28px;border:1px solid rgba(216,221,230,.92);border-radius:28px;background:#fffffffa;box-shadow:0 32px 64px #0f172a38}.auth-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.auth-dialog__eyebrow{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--builder-accent)}.auth-dialog__title{margin:0;font-size:28px;font-weight:800;letter-spacing:-.05em;color:var(--builder-primary)}.auth-dialog__close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:12px;background:#0914260d;color:var(--builder-text-muted);cursor:pointer}.auth-dialog__copy{margin:14px 0 0;font-size:13px;line-height:1.7;color:var(--builder-text-muted)}.auth-dialog__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.auth-dialog__tab{min-height:42px;border:1px solid rgba(216,221,230,.9);border-radius:14px;background:#f2f4f6eb;color:var(--builder-text-muted);font-size:13px;font-weight:700;cursor:pointer}.auth-dialog__tab--active{background:#2170e414;border-color:#2170e438;color:var(--builder-accent)}.auth-dialog__field{margin-top:18px}.auth-dialog__error{margin:16px 0 0;padding:12px 14px;border-radius:14px;background:#c0392b14;color:var(--builder-danger);font-size:13px;line-height:1.6}.auth-dialog__submit{width:100%;margin-top:20px}.image-picker-group{display:flex;flex-direction:column;gap:14px}.image-picker-frame{position:relative;overflow:hidden;border:1px dashed rgba(197,204,216,.95);border-radius:22px;background:linear-gradient(180deg,#f7f9fbfa,#ecf0f5f2)}.image-picker-input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}.image-picker-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-picker-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;text-align:center;color:var(--builder-text-soft)}.image-picker-placeholder__title{font-size:15px;font-weight:800;color:var(--builder-primary)}.image-picker-placeholder__hint{font-size:12px}@media(max-width:1260px){.builder-shell{height:auto;overflow:visible}.builder-workspace{grid-template-columns:minmax(320px,1fr);height:auto;overflow:visible}.preview-pane,.editor-pane{height:auto;overflow:visible}.pdf-viewer{height:78vh}}@media(max-width:900px){.builder-topbar{flex-wrap:wrap;padding:16px 18px}.builder-actions{width:100%;justify-content:flex-end}.builder-workspace{padding:132px 16px 16px}.identity-layout,.editor-form-grid--two,.preview-surface__header{grid-template-columns:1fr;flex-direction:column}.preview-surface__hint,.editor-card__description{max-width:none}.editor-card,.section-editor{padding:20px;border-radius:20px}}@media(max-width:640px){.builder-nav{display:none}.builder-actions{flex-wrap:wrap;justify-content:flex-start}.topbar-button{width:100%}.pdf-viewer{height:70vh}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%}body{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;background-color:#f5f7fb}
