:root{--ink: #12181f;--ink-panel: #1b232d;--ink-border: rgba(255, 255, 255, .08);--paper: #fefcf7;--paper-text: #1a1f26;--paper-muted: #8a7f6f;--accent: #e8a33d;--accent-soft: rgba(232, 163, 61, .16);--text-main: #f3f0ea;--text-muted: #8f97a3;--font-display: "Fraunces", serif;--font-body: "Inter", -apple-system, sans-serif}*{box-sizing:border-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{margin:0;font-family:var(--font-body);background:var(--ink);color:var(--text-main)}.shell{position:relative;min-height:100vh;overflow:hidden}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.14}.blob-a{width:480px;height:480px;top:-120px;left:-100px;background:var(--accent);animation:drift-a 22s ease-in-out infinite}.blob-b{width:380px;height:380px;bottom:-100px;right:-80px;background:#4a6fa5;animation:drift-b 26s ease-in-out infinite}@keyframes drift-a{0%,to{transform:translate(0)}50%{transform:translate(60px,40px)}}@keyframes drift-b{0%,to{transform:translate(0)}50%{transform:translate(-50px,-30px)}}.container{position:relative;z-index:1;display:flex;min-height:100vh}.sidebar{width:42%;min-width:380px;padding:3rem 2.75rem;display:flex;flex-direction:column;gap:1.75rem;animation:rise-in .6s ease both}.preview-pane{width:58%;padding:3.5rem 3rem;display:flex;align-items:flex-start;justify-content:center;animation:rise-in .6s ease .1s both}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.sidebar-head .eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.6rem}.sidebar-head h2{font-family:var(--font-display);font-size:1.7rem;font-weight:500;line-height:1.25;margin:0 0 .6rem;color:var(--text-main)}.sidebar-sub{color:var(--text-muted);font-size:.92rem;line-height:1.5;margin:0}.progress-block{background:var(--ink-panel);border:1px solid var(--ink-border);border-radius:10px;padding:1rem 1.15rem}.progress-label{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted);margin-bottom:.55rem}.progress-percent{color:var(--accent);font-weight:600}.progress-track{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#f4c771);transition:width .45s cubic-bezier(.22,1,.36,1)}.fields{display:flex;flex-direction:column;gap:1.15rem}.field{position:relative}.field input,.field textarea{width:100%;font-family:var(--font-body);font-size:.95rem;color:var(--text-main);background:var(--ink-panel);border:1px solid var(--ink-border);border-radius:8px;padding:1.4rem 1rem .55rem;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}.field textarea{padding-top:1.5rem}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field label{position:absolute;left:1rem;top:1rem;font-size:.95rem;color:var(--text-muted);pointer-events:none;transition:all .18s ease}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:.4rem;font-size:.68rem;letter-spacing:.02em;color:var(--accent)}.download-btn{width:100%;padding:.95rem;background:var(--accent);color:var(--ink);font-family:var(--font-body);font-weight:600;font-size:.95rem;border:none;border-radius:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.download-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px -8px #e8a33d8c}.download-btn:active:not(:disabled){transform:translateY(0)}.download-btn:disabled{opacity:.7;cursor:default}.download-btn:focus-visible{outline:2px solid var(--text-main);outline-offset:2px}.preview-scroll{width:100%;max-width:640px;max-height:calc(100vh - 7rem);overflow-y:auto;border-radius:10px;background:linear-gradient(var(--ink),var(--ink)) center top,linear-gradient(var(--ink),var(--ink)) center bottom,linear-gradient(to bottom,#00000059,#0000) center top,linear-gradient(to top,#00000059,#0000) center bottom;background-repeat:no-repeat;background-size:100% 24px,100% 24px,100% 12px,100% 12px;background-attachment:local,local,scroll,scroll}.resume{position:relative;background:var(--paper);color:var(--paper-text);padding:3rem 2.75rem;border-radius:10px;box-shadow:0 1px 2px #0003,0 24px 48px -20px #0000008c;transition:box-shadow .25s ease}.resume-fold{position:absolute;top:0;right:0;width:34px;height:34px;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.09) 50%);border-radius:0 10px 0 0}.resume-head h1{font-family:var(--font-display);font-size:2.1rem;font-weight:600;margin:0 0 .2rem;transition:opacity .2s ease}.resume-email{color:var(--paper-muted);font-size:.92rem;margin:0 0 1.75rem}.resume-section{margin-bottom:1.5rem;animation:fade-in .3s ease}.resume-section h3{font-family:var(--font-body);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:.4rem;margin:0 0 .6rem;font-weight:700}.resume-section p{font-size:.95rem;line-height:1.65;margin:0;white-space:pre-wrap}.placeholder-text{color:#c2b8a3;font-style:italic}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media print{.sidebar,.ambient{display:none}.preview-scroll{max-height:none;overflow:visible;background:none}.resume{box-shadow:none}}@media (max-width: 900px){.container{flex-direction:column}.sidebar,.preview-pane{width:100%;min-width:0}.preview-pane{padding-top:0}.preview-scroll{max-height:none}}
