*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#faf9f6;--surface:#ffffff;--surface2:#f4f2ed;--border:#e0dbd2;--accent:#2d6a4f;--accent2:#52b788;--accent-glow:rgba(45,106,79,0.12);--green:#2d6a4f;--yellow:#92400e;--red:#b91c1c;--text:#1c1b18;--text-muted:#6b6860;--text-dim:#a09c94;--radius:14px;--radius-sm:8px;--font-body:'Lora',Georgia,serif;--font-display:'Playfair Display',Georgia,serif;--shadow-sm:0 1px 3px rgba(0,0,0,0.07),0 1px 2px rgba(0,0,0,0.04);--shadow:0 4px 12px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.04)}html{scroll-behavior:smooth}body{background-color:var(--bg);background-image:radial-gradient(ellipse 75% 55% at 0% 0%,rgba(253,230,138,0.38) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 100% 100%,rgba(82,183,136,0.14) 0%,transparent 58%);background-attachment:scroll;color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.65;min-height:100vh}.site-header{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(250,249,246,0.95);backdrop-filter:blur(8px);z-index:100}.logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-0.01em}.logo .dot{color:var(--accent)}.tagline-header{font-size:0.8rem;color:var(--text-muted);font-style:italic;font-family:var(--font-body)}.hero{text-align:center;padding:72px 24px 48px;max-width:740px;margin:0 auto}.hero h1{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3.8rem);font-weight:700;line-height:1.2;letter-spacing:-0.01em;margin-bottom:20px;color:var(--text)}.hero h1 .accent{color:var(--accent)}.hero-sub{font-size:1.1rem;color:var(--text-muted);max-width:520px;margin:0 auto 28px;line-height:1.7}.upload-section{max-width:580px;margin:0 auto 80px;padding:0 24px}.upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow)}.upload-card h2{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin-bottom:6px;color:var(--text)}.upload-sub{color:var(--text-muted);font-size:0.9rem;margin-bottom:24px}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:36px 24px;text-align:center;cursor:pointer;transition:all 0.2s;position:relative;background:var(--surface2)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:rgba(45,106,79,0.05)}.drop-icon{font-size:2.5rem;margin-bottom:10px}.drop-zone p{color:var(--text-muted);margin-bottom:6px;font-size:0.9rem}.drop-zone span{color:var(--text-dim);font-size:0.85rem;margin-bottom:10px;display:block}.file-label{display:inline-block;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 18px;border-radius:8px;cursor:pointer;font-size:0.88rem;font-family:var(--font-body);margin:6px 0;transition:all 0.15s;box-shadow:var(--shadow-sm)}.file-label:hover{border-color:var(--accent);color:var(--accent)}.file-hint{font-size:0.78rem;color:var(--text-dim);margin-top:8px}.file-chosen{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:10px;background:var(--surface);border:1px solid var(--border);padding:8px 14px;border-radius:8px;font-size:0.88rem}.file-chosen button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.proficiency-block{margin:20px 0 24px}.proficiency-label{font-size:0.88rem;font-weight:600;color:var(--text-muted);margin-bottom:10px;font-family:var(--font-body)}.proficiency-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.proficiency-opt{cursor:pointer}.proficiency-opt input[type="radio"]{display:none}.proficiency-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 10px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:all 0.15s;cursor:pointer;user-select:none;box-shadow:var(--shadow-sm)}.proficiency-card:hover{border-color:var(--accent);background:rgba(45,106,79,0.04)}.proficiency-opt input:checked + .proficiency-card{border-color:var(--accent);background:rgba(45,106,79,0.07);box-shadow:0 0 0 1px var(--accent)}.proficiency-emoji{font-size:1.6rem;line-height:1}.proficiency-title{font-size:0.82rem;font-weight:600;color:var(--text);margin-top:2px;font-family:var(--font-body)}.proficiency-sub{font-size:0.72rem;color:var(--text-dim)}.submit-btn{width:100%;padding:14px 24px;background:var(--accent);color:white;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:0.01em}.submit-btn:hover{background:#1f5138;transform:translateY(-1px);box-shadow:0 4px 16px rgba(45,106,79,0.3)}.submit-btn:disabled{opacity:0.6;cursor:not-allowed;transform:none;box-shadow:none}.privacy-footer{text-align:center;font-size:0.78rem;color:var(--text-dim);margin-top:16px}.privacy-footer a{color:var(--text-muted)}#btn-loading{display:none}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,0.35);border-top-color:white;border-radius:50%;display:inline-block;animation:spin 0.7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.how-section{max-width:860px;margin:0 auto 80px;padding:0 24px;text-align:center}.how-section h2{font-family:var(--font-display);font-size:1.9rem;margin-bottom:36px;color:var(--text)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;text-align:left}.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow-sm)}.step-num{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--accent);margin-bottom:10px;opacity:0.5}.step h3{font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:8px;color:var(--text)}.step p{font-size:0.88rem;color:var(--text-muted);line-height:1.6}.examples-section{max-width:760px;margin:0 auto 80px;padding:0 24px;text-align:center}.examples-section h2{font-family:var(--font-display);font-size:1.9rem;margin-bottom:24px;color:var(--text)}.examples-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:16px}.example-pill{background:var(--surface);border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:0.88rem;color:var(--text-muted);box-shadow:var(--shadow-sm)}.examples-note{color:var(--text-muted);font-size:0.9rem;font-style:italic}#loading-msg{transition:opacity 0.3s ease,transform 0.3s ease}#loading-msg.msg-fade{opacity:0;transform:translateY(4px)}#loading-msg.msg-visible{opacity:1;transform:translateY(0)}.share-block{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.share-label{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-dim);margin-bottom:12px}.share-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.share-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;font-size:0.85rem;font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:all 0.15s;font-family:var(--font-body)}.share-pill.copy-link{background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.share-pill.copy-link:hover{border-color:var(--accent);color:var(--accent)}.share-pill.whatsapp{background:rgba(37,211,102,0.1);border:1px solid rgba(37,211,102,0.3);color:#1a7a3c}.share-pill.whatsapp:hover{background:rgba(37,211,102,0.18)}.share-pill.twitter{background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.share-pill.twitter:hover{border-color:#555;color:var(--text)}.share-pill.linkedin-share{background:rgba(10,102,194,0.08);border:1px solid rgba(10,102,194,0.25);color:#0a66c2}.share-pill.linkedin-share:hover{background:rgba(10,102,194,0.15)}.hero-count{margin-top:14px;font-size:0.85rem;color:var(--text-muted);font-style:italic}.recruit-banner{display:flex;align-items:center;justify-content:center;gap:16px;background:#edf7f0;border-bottom:1px solid rgba(45,106,79,0.2);padding:12px 24px;font-size:0.9rem;color:var(--text-muted);flex-wrap:wrap;text-align:center}.recruit-cta{display:inline-block;background:var(--accent);color:white;padding:6px 16px;border-radius:100px;font-size:0.85rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background 0.15s}.recruit-cta:hover{background:#1f5138}.site-footer{text-align:center;padding:32px 24px;border-top:1px solid var(--border);color:var(--text-dim);font-size:0.85rem;background:var(--surface)}.footer-sub{margin-top:6px;font-size:0.72rem;opacity:0.5}.footer-sub a{color:var(--text-dim);text-decoration:none}.footer-sub a:hover{opacity:1;color:var(--accent)}.error-toast{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#fff5f5;border:1px solid #fca5a5;color:var(--red);padding:12px 20px;border-radius:10px;font-size:0.9rem;z-index:999;max-width:420px;text-align:center;box-shadow:var(--shadow)}.error-toast.visible{display:block}.result-page{background-color:var(--bg)}.share-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);padding:8px 18px;border-radius:8px;cursor:pointer;font-size:0.88rem;font-family:var(--font-body);transition:all 0.15s;box-shadow:var(--shadow-sm)}.share-btn:hover{border-color:var(--accent);color:var(--accent)}.report-hero{background:linear-gradient(160deg,#edf7f0 0%,var(--bg) 65%);border-bottom:1px solid var(--border);padding:64px 24px 48px;text-align:center}.report-hero-inner{max-width:640px;margin:0 auto}.report-eyebrow{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent);margin-bottom:12px;font-weight:600;font-family:var(--font-body)}.report-hero h1{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,3rem);font-weight:700;letter-spacing:-0.01em;margin-bottom:10px;color:var(--text)}.report-tagline{color:var(--text-muted);font-size:1.05rem;margin-bottom:32px;font-style:italic}.score-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.score-ring{width:120px;height:120px;border-radius:50%;border:4px solid var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);box-shadow:0 0 32px var(--accent-glow),var(--shadow);position:relative}.score-value{font-family:var(--font-display);font-size:2.2rem;font-weight:700;line-height:1;color:var(--text)}.score-label{font-size:0.6rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-muted);text-align:center;line-height:1.3;font-family:var(--font-body)}.score-note{color:var(--text-muted);font-size:0.9rem;max-width:380px;text-align:center;font-style:italic}.report-body{max-width:860px;margin:0 auto;padding:48px 24px}.report-section{margin-bottom:60px}.section-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:10px;color:var(--text)}.section-icon{font-size:1.3rem}.section-sub{color:var(--text-muted);font-size:0.9rem;margin-bottom:24px;font-style:italic}.wins-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.win-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.win-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2))}.win-title{font-family:var(--font-display);font-weight:700;font-size:1rem;margin-bottom:8px;color:var(--text)}.win-desc{color:var(--text-muted);font-size:0.88rem;line-height:1.6;margin-bottom:12px}.win-time{display:inline-flex;align-items:center;gap:5px;background:rgba(45,106,79,0.08);border:1px solid rgba(45,106,79,0.2);color:var(--green);font-size:0.78rem;padding:3px 10px;border-radius:100px}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color 0.15s,box-shadow 0.15s;box-shadow:var(--shadow-sm)}.tool-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.tool-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tool-name{font-weight:600;font-size:0.95rem;color:var(--text)}.tool-category{font-size:0.7rem;background:var(--surface2);color:var(--text-muted);padding:2px 8px;border-radius:4px;border:1px solid var(--border);font-family:var(--font-body)}.tool-why{color:var(--text-muted);font-size:0.85rem;line-height:1.55}.timeline{display:flex;flex-direction:column;gap:0;position:relative}.timeline-item{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--border);position:relative}.timeline-item:last-child{border-bottom:none}.timeline-time{font-weight:700;font-size:0.85rem;color:var(--accent);padding-top:4px;font-family:var(--font-body);text-transform:uppercase;letter-spacing:0.04em}.timeline-before{font-size:0.88rem;color:var(--text-muted);margin-bottom:8px;display:flex;gap:8px}.timeline-before::before{content:'→ now:';color:var(--text-dim);flex-shrink:0;font-style:italic}.timeline-after{font-size:0.9rem;display:flex;gap:8px;color:var(--text)}.timeline-after::before{content:'✦ with ai:';color:var(--accent);flex-shrink:0;font-size:0.82rem;padding-top:3px;font-style:normal}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.skill-name{font-weight:600;font-size:0.95rem;color:var(--text)}.difficulty{font-size:0.7rem;padding:2px 8px;border-radius:4px;font-weight:600;font-family:var(--font-body)}.difficulty-Easy{background:rgba(45,106,79,0.1);color:#1f5138;border:1px solid rgba(45,106,79,0.2)}.difficulty-Medium{background:rgba(146,64,14,0.1);color:var(--yellow);border:1px solid rgba(146,64,14,0.2)}.difficulty-Hard{background:rgba(185,28,28,0.08);color:var(--red);border:1px solid rgba(185,28,28,0.18)}.skill-why{color:var(--text-muted);font-size:0.85rem;line-height:1.55}.plan-timeline{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.plan-item{display:grid;grid-template-columns:120px 1fr;gap:0}.plan-item + .plan-item{border-top:1px solid var(--border)}.plan-marker{padding:20px;background:var(--surface2);border-right:1px solid var(--border);font-weight:700;font-size:0.8rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.06em;display:flex;align-items:center;font-family:var(--font-body)}.plan-text{padding:20px 24px;font-size:0.93rem;color:var(--text-muted);line-height:1.65;background:var(--surface);display:flex;align-items:center}.closing-card{background:linear-gradient(135deg,#edf7f0 0%,#f4f9f6 100%);border:1px solid rgba(45,106,79,0.25);border-radius:var(--radius);padding:40px;text-align:center;box-shadow:0 0 40px rgba(45,106,79,0.07)}.closing-icon{font-size:2rem;margin-bottom:16px}.closing-text{font-size:1.05rem;color:var(--text-muted);max-width:500px;margin:0 auto 28px;line-height:1.75;font-style:italic}.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cta-btn{display:inline-block;background:var(--accent);color:white;padding:10px 24px;border-radius:8px;text-decoration:none;font-weight:600;font-size:0.9rem;transition:all 0.2s;border:none;cursor:pointer;font-family:var(--font-body);letter-spacing:0.01em}.cta-btn:hover{background:#1f5138;transform:translateY(-1px);box-shadow:0 4px 16px rgba(45,106,79,0.25)}.cta-btn.outline{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.cta-btn.outline:hover{border-color:var(--accent);color:var(--accent);background:transparent;transform:none;box-shadow:none}.loading-state,.error-state{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 72px)}.loading-inner,.error-inner{text-align:center;padding:40px 24px}.big-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 20px}.loading-inner p{font-size:1.1rem;color:var(--text-muted);margin-bottom:6px}.loading-sub{font-size:0.85rem;color:var(--text-dim)!important}.error-icon{font-size:3rem;margin-bottom:16px}.error-inner h2{font-family:var(--font-display);margin-bottom:10px;color:var(--text)}.error-inner p{color:var(--text-muted);margin-bottom:24px}.copy-toast{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid rgba(45,106,79,0.35);color:var(--green);padding:10px 20px;border-radius:10px;font-size:0.9rem;z-index:999;animation:fadeInUp 0.2s ease;box-shadow:var(--shadow)}.copy-toast.visible{display:block}@keyframes fadeInUp{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:600px){.site-header{padding:14px 18px}.tagline-header{display:none}.hero{padding:28px 20px 20px}.hero h1{margin-bottom:14px}.hero-sub{margin-bottom:16px}.upload-section{margin-bottom:48px}.how-section{margin-bottom:48px}.examples-section{margin-bottom:48px}.upload-card h2{font-size:1.15rem}.upload-card{padding:20px 16px}.upload-sub{margin-bottom:16px}.drop-zone{padding:16px}.drop-icon{display:none}.drop-zone>p:not(.file-hint){display:none}.drop-zone>span{display:none}.proficiency-block{margin:14px 0 16px}.proficiency-options{grid-template-columns:repeat(4,1fr);gap:6px}.proficiency-card{padding:10px 4px;gap:2px}.proficiency-emoji{font-size:1.2rem}.proficiency-title{font-size:0.7rem}.proficiency-sub{display:none}.report-hero{padding:32px 20px 28px}.report-body{padding:28px 16px}.report-section{margin-bottom:40px}.timeline-item{grid-template-columns:72px 1fr;gap:12px}.plan-item{grid-template-columns:1fr}.plan-marker{border-right:none;border-bottom:1px solid var(--border);padding:10px 16px}.plan-text{padding:14px 16px}}