:root,[data-theme=dark]{--bg: #09090b;--surface: #111117;--elevated: #18181f;--border: #27272a;--border-strong: #3f3f46;--text-1: #fafafa;--text-2: #a1a1aa;--text-3: #71717a;--input-bg: #09090b;--nav-bg: rgba(9,9,11,.88);--accent: #6366f1;--accent-hover: #4f46e5;--accent-glow: rgba(99,102,241,.14);--danger: #ef4444;--green: #22c55e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}[data-theme=light]{--bg: #f8fafc;--surface: #ffffff;--elevated: #f1f5f9;--border: #e2e8f0;--border-strong: #cbd5e1;--text-1: #0f172a;--text-2: #334155;--text-3: #64748b;--input-bg: #ffffff;--nav-bg: rgba(248,250,252,.88);--accent: #4f46e5;--accent-hover: #4338ca;--accent-glow: rgba(79,70,229,.12);--danger: #dc2626;--green: #16a34a}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text-1);font-size:14px}button,input,textarea,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:10;height:56px;display:flex;align-items:center;gap:24px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{border:0;background:transparent;font-size:16px;font-weight:700;cursor:pointer}nav{display:flex;gap:4px}nav button{border:0;background:transparent;color:var(--text-3);font-weight:600;cursor:pointer;padding:7px 10px;border-radius:8px}nav button.active{color:var(--accent);background:var(--accent-glow)}.account{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--text-3)}.account select{border:1px solid var(--border);background:var(--elevated);color:var(--text-2);border-radius:6px;padding:3px 6px;font-size:12px;cursor:pointer}.shell{max-width:1400px;margin:0 auto;padding:32px 24px}.stack{display:flex;flex-direction:column;gap:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.split{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.split-wide{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{justify-content:space-between}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1 / -1}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.panel.muted{color:var(--text-3)}.narrow{max-width:420px;margin:72px auto}.list-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.list-item:hover{border-color:var(--border-strong)}.list-item.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.list-item span{min-width:0}.list-item strong{display:block;font-size:14px}.list-item small{display:block;color:var(--text-3);margin-top:3px;font-size:12px}.stats-row{display:flex;gap:12px;flex-wrap:wrap}.stat-chip{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 16px;display:flex;flex-direction:column;gap:2px}.stat-chip strong{font-size:20px;font-weight:700}.stat-chip span{font-size:11px;color:var(--text-3);font-weight:500}h1{margin:0;font-size:26px;font-weight:700}h2{margin:0;font-size:15px;font-weight:600}h3{margin:0;font-size:13px;font-weight:600;color:var(--text-2)}p{margin:0}.muted{color:var(--text-3)}.small{font-size:12px;color:var(--text-3)}.error{color:var(--danger);font-size:12px}.success{color:var(--green);font-size:12px}.section-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.field{display:flex;flex-direction:column;gap:5px}.field>span{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase}input,select{width:100%;border:1px solid var(--border);border-radius:7px;background:var(--input-bg);color:var(--text-1);padding:8px 10px;outline:none}textarea{width:100%;border:1px solid var(--border);border-radius:7px;background:var(--input-bg);color:var(--text-1);padding:8px 10px;outline:none;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.6}textarea.notes-area{min-height:120px}textarea.solution-area{min-height:220px}textarea.json-area{min-height:480px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:7px;background:var(--elevated);color:var(--text-2);padding:7px 13px;font-weight:600;cursor:pointer;white-space:nowrap}.icon-btn{width:32px;height:32px;padding:0}.btn:hover,.icon-btn:hover{border-color:var(--border-strong);color:var(--text-1)}.btn:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.ghost{background:transparent;border-color:transparent}.ghost:hover{background:var(--elevated);border-color:var(--border)}.danger{color:var(--danger)}.danger:hover{background:#ef444414;border-color:var(--danger)}.badge{display:inline-flex;border-radius:999px;padding:2px 8px;background:var(--elevated);color:var(--text-3);font-size:11px;font-weight:700}.badge.ok,.badge.pass{color:var(--green);background:#22c55e1a}.badge.fail{color:var(--danger);background:#ef444414}.badge.offer{color:#f59e0b;background:#f59e0b1a}.filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-bar input{flex:1;min-width:160px}.filter-bar select{width:auto;min-width:120px}.round-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.round-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--elevated);cursor:pointer;-webkit-user-select:none;user-select:none}.round-header:hover{background:var(--border)}.round-body{padding:16px;border-top:1px solid var(--border);background:var(--surface)}.round-question-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--elevated)}.section-divider{border:none;border-top:1px solid var(--border);margin:4px 0}.rich-field{border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--input-bg)}.rich-toolbar{display:flex;gap:2px;align-items:center;padding:5px;border-bottom:1px solid var(--border);background:var(--elevated)}.rich-toolbar button{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;color:var(--text-2);background:transparent;cursor:pointer}.rich-toolbar button:hover,.rich-toolbar button.active{color:var(--text-1);border-color:var(--border);background:var(--surface)}.rich-editor{min-height:116px;padding:10px 12px;outline:none;color:var(--text-1);font-size:13px;line-height:1.55}.rich-editor.compact{min-height:42px;padding:8px 10px}.rich-editor p,.rich-render p{margin:0 0 6px}.rich-editor p:last-child,.rich-render p:last-child{margin-bottom:0}.rich-editor ul,.rich-editor ol,.rich-render ul,.rich-render ol{margin:4px 0;padding-left:18px}.rich-render{color:#374151;font-size:11px;line-height:1.6}.rich-render.inline{display:inline;font-size:inherit;line-height:inherit;color:inherit}.rich-render a{color:#4f46e5;text-decoration:underline}.bullet-editor-list{display:flex;flex-direction:column;gap:8px}.bullet-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.review-item{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.review-item>input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin-top:3px}.review-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:8px}.review-meta{display:flex;align-items:center;gap:8px;min-width:0}.email-type-badge{flex:0 0 auto;border:1px solid currentColor;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.3;background:color-mix(in srgb,currentColor 10%,transparent)}.review-sender{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:12px;font-weight:600}.review-date{margin-left:auto;flex:0 0 auto;color:var(--text-3);font-size:12px}.review-subject{display:block;min-width:0;color:var(--text-1);font-size:13px;line-height:1.35}.review-snippet{color:var(--text-3);font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-fields{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.2fr) 150px;gap:10px;align-items:end}.review-fields input,.review-fields select{font-size:12px;padding:7px 9px}@media(max-width:760px){.review-meta{flex-wrap:wrap}.review-date{margin-left:0}.review-fields{grid-template-columns:1fr}}.template-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.template-card{border:2px solid var(--border);border-radius:10px;padding:20px;cursor:pointer;text-align:center}.template-card:hover{border-color:var(--border-strong)}.template-card.selected{border-color:var(--accent);background:var(--accent-glow)}.template-card h3{font-size:14px;font-weight:700}.template-card p{font-size:12px;color:var(--text-3);margin-top:4px}.template-thumb{height:110px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);padding:16px;display:flex;flex-direction:column;gap:8px}.template-thumb span{display:block;height:7px;border-radius:999px;background:var(--border-strong)}.template-thumb span:first-child{width:46%;height:12px;background:var(--accent)}.template-thumb span:nth-child(2){width:74%}.template-thumb span:nth-child(3){width:88%}.template-thumb span:nth-child(4){width:62%}.template-thumb.modern{border-color:var(--accent);background:var(--accent-glow)}.template-thumb.compact{gap:5px;padding:14px}.exp-entry{border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--elevated)}.resume-layout{display:grid;grid-template-columns:200px minmax(0,440px) minmax(360px,1fr);gap:16px;align-items:start}.preview-col{position:sticky;top:72px;max-height:calc(100vh - 88px);overflow-y:auto;border-radius:10px;scrollbar-width:thin}.resume-preview-wrap{background:#fff;color:#111;border-radius:8px;box-shadow:0 4px 24px #0000002e;padding:40px 44px;font-family:Georgia,Times New Roman,serif;font-size:12px;line-height:1.58}.rp-name{margin:0 0 4px;font-size:24px;font-weight:700;color:#111;text-align:center}.rp-title{margin:0 0 2px;font-size:12px;color:#5b69e0;font-weight:600;text-align:center;font-family:ui-sans-serif,system-ui}.rp-tagline{margin:0 0 5px;font-size:10px;color:#6b7280;text-align:center;font-family:ui-sans-serif,system-ui}.rp-contact{margin:0;font-size:10px;color:#9ca3af;text-align:center;font-family:ui-sans-serif,system-ui}.rp-section-title{font-family:ui-sans-serif,system-ui;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;border-bottom:1px solid #d1d5db;padding-bottom:3px;margin:16px 0 7px}.rp-skill-row{display:flex;gap:5px;margin-bottom:3px;font-size:11px}.rp-skill-cat{font-weight:700;min-width:110px;flex-shrink:0;font-family:ui-sans-serif,system-ui;color:#374151}.rp-skill-items{color:#4b5563}.rp-exp-header{display:flex;justify-content:space-between;font-weight:700;font-size:12px;margin-bottom:1px}.rp-exp-meta{display:flex;justify-content:space-between;font-size:10px;color:#9ca3af;margin-bottom:4px;font-family:ui-sans-serif,system-ui}.rp-bullets{margin:4px 0 10px;padding-left:18px}.rp-bullets li{margin-bottom:2px;font-size:11px;color:#374151}.rp-edu-row{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin-bottom:2px}.rp-lang{font-size:11px;color:#374151}.ed-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.ed-section-hdr{width:100%;display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--elevated);border:0;cursor:pointer;color:var(--text-1);text-align:left}.ed-section-hdr:hover{background:var(--border)}.ed-section-hdr .section-label{margin:0;flex:1}.ed-section-body{padding:14px;border-top:1px solid var(--border)}.module-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:12px}.module-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.module-list{display:flex;flex-direction:column;gap:6px}.module-chip{display:grid;grid-template-columns:auto minmax(0,1fr) repeat(3,auto);gap:6px;align-items:center;min-height:32px;padding:5px 7px;border:1px solid var(--border);border-radius:7px;background:var(--elevated);color:var(--text-2)}.module-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-1);font-size:12px;font-weight:600}.module-chip.is-hidden span{color:var(--text-3);text-decoration:line-through}.module-chip .icon-btn{width:24px;height:24px}@media(max-width:1100px){.resume-layout{grid-template-columns:180px minmax(0,1fr)}.preview-col{display:none}}@media(max-width:800px){.topbar{padding:0 14px;gap:10px}.brand{display:none}.shell{padding:20px 14px}.split,.split-wide,.resume-layout{grid-template-columns:1fr}.header-row{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}}@media print{.topbar,.toolbar,.btn,nav,.account{display:none!important}.shell{padding:0;max-width:100%}.panel{border:none;padding:0}}.modal-overlay{position:fixed;inset:0;background:#0009;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;padding:28px;max-width:560px;width:100%;margin:auto}.guide-step{display:flex;gap:14px;margin-bottom:24px;align-items:flex-start}.step-num{flex-shrink:0;width:24px;height:24px;background:var(--accent);border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}.step-body{flex:1;min-width:0}.step-body>strong{display:block;font-size:13px;margin-bottom:4px}.step-body>p{font-size:12px;color:var(--text-2);margin-bottom:8px;line-height:1.6}.browser-mock{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:6px}.browser-bar{background:var(--elevated);display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border)}.browser-dots{display:flex;gap:4px}.browser-dots span{width:8px;height:8px;border-radius:50%;display:block;background:var(--border-strong)}.browser-url{flex:1;background:var(--bg);border-radius:4px;padding:2px 10px;color:var(--text-3);font-size:11px;text-align:center}.browser-body{background:var(--bg);padding:10px 12px}.mock-tabs{display:flex;gap:20px;font-size:12px;padding:0 2px 8px;border-bottom:1px solid var(--border);margin-bottom:8px}.mock-tab-active{color:var(--accent);font-weight:700;border-bottom:2px solid var(--accent);padding-bottom:2px}.mock-tab-dim{color:var(--text-3)}.mock-row{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:6px;margin-bottom:2px;font-size:12px;color:var(--text-2)}.mock-row.hl{background:var(--accent-glow);border:1px solid var(--accent);color:var(--accent);font-weight:600}.mock-row.dim{color:var(--text-3)}.mock-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:6px 10px 3px}.mock-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:12px;color:var(--text-2)}.mock-toggle{width:32px;height:18px;background:var(--accent);border-radius:9px;position:relative;flex-shrink:0}.mock-toggle:after{content:"";position:absolute;width:12px;height:12px;background:#fff;border-radius:50%;top:3px;right:3px}.mock-input{border:1px solid var(--accent);border-radius:5px;padding:6px 10px;font-size:12px;color:var(--text-1);margin-bottom:10px}.mock-btn{display:inline-block;background:var(--accent);color:#fff;padding:5px 14px;border-radius:5px;font-size:12px;font-weight:600}.mock-btn.secondary{background:var(--elevated);color:var(--text-2);border:1px solid var(--border)}.mock-pw{background:#fef3c7;color:#92400e;border-radius:7px;padding:12px 16px;font-family:ui-monospace,monospace;font-size:16px;letter-spacing:4px;text-align:center;margin-top:8px;font-weight:700}.mock-warn{margin-top:6px;font-size:11px;color:var(--danger)}
