*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:#222}#root{width:100%;height:100%}.form{padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.form-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.form h2{margin:0;font-size:18px;flex:1}.btn-upload{padding:5px 14px;font-size:12px;font-weight:600;background:#f0f0f0;border:1px solid #bbb;border-radius:4px;cursor:pointer;white-space:nowrap}.btn-upload:hover{background:#e0e0e0}.form fieldset{border:1px solid #ddd;border-radius:6px;padding:12px;margin-bottom:12px}.form legend{font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px}.form input,.form textarea{width:100%;padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;font-family:inherit;margin-bottom:6px;box-sizing:border-box}.form textarea{resize:vertical}.section-name{font-weight:600;border:none!important;border-bottom:1px solid #ccc!important;border-radius:0!important;padding:2px 4px!important;width:220px!important}.row{display:flex;gap:6px;align-items:flex-start}.row input,.row textarea{flex:1}.bullet-row{align-items:flex-start}.bullet-dot{padding-top:6px;color:#999;font-weight:700}.entry{margin-bottom:4px}.entry hr{border:none;border-top:1px dashed #ddd;margin:8px 0}.sub-label{font-size:12px;color:#666;margin:6px 0 2px;display:block}.btn-sm{padding:3px 10px;font-size:12px;border:1px solid #ccc;border-radius:4px;background:#f8f8f8;cursor:pointer;white-space:nowrap;margin-bottom:6px}.btn-sm:hover{background:#eee}.btn-sm.danger{color:#c00;border-color:#c00}.btn-sm.danger:hover{background:#fee}.btn-primary{width:100%;padding:8px;font-size:14px;font-weight:600;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-bottom:12px}.btn-primary:hover{background:#1d4ed8}.margin-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.margin-slider label{font-size:11px;color:#555;display:block;margin-bottom:1px;text-transform:capitalize}.margin-slider input[type=range]{width:100%;margin-bottom:0;padding:0;border:none}.advanced-settings{margin-bottom:12px}.advanced-settings summary{font-size:13px;font-weight:600;color:#666;cursor:pointer;padding:8px 0}.advanced-settings summary:hover{color:#333}.format-hint{text-align:center;font-size:11px;color:#999;margin-top:4px}.preview{background:#e5e5e5;min-height:100vh;padding:20px;display:flex;justify-content:center;overflow-y:auto}.resume-page{background:#fff;width:8.5in;min-height:11in;box-shadow:0 2px 12px #00000026;font-family:EB Garamond,Garamond,Times New Roman,serif;font-size:10.5pt;line-height:1.3;color:#000;box-sizing:border-box}.profile{text-align:center;margin-bottom:2px}.profile h1{font-variant:small-caps;font-size:22pt;font-weight:400;margin:0 0 2px;letter-spacing:.5px}.contact-line{margin:0;font-size:10pt}.diamond{color:#000;font-size:5pt;vertical-align:middle}.section-header{margin-top:8px;margin-bottom:4px}.section-title{font-variant:small-caps;font-size:11.5pt;letter-spacing:.3px}.section-header hr{border:none;border-top:1px solid #000;margin:1px 0 4px}.resume-entry{margin-bottom:6px}.entry-title-row,.entry-subtitle-row{display:flex;justify-content:space-between;align-items:baseline}.entry-title-row strong{font-size:10.5pt}.tech{font-weight:700;font-style:oblique;font-size:10pt}.right{text-align:right;white-space:nowrap;font-size:10pt}.entry-subtitle-row em{font-size:10pt}.resume-entry ul{margin:2px 0 0;padding-left:18px}.resume-entry li{margin-bottom:1px;font-size:10pt;line-height:1.35}@media print{.preview{background:none!important;padding:0!important}.resume-page{box-shadow:none!important;width:100%!important;min-height:0!important}}.landing{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f5f5f0;padding:20px}.landing-card{background:#fff;border-radius:12px;box-shadow:0 2px 16px #00000014;padding:48px 40px;max-width:520px;width:100%;position:relative}.landing-back{position:absolute;top:16px;left:16px;background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:4px 8px}.landing-back:hover{color:#333}.landing-emoji{font-size:64px;text-align:center;margin-bottom:8px}.landing-title{font-size:32px;font-weight:700;margin:0 0 32px;text-align:center}.landing-subtitle{color:#666;text-align:center;margin:0 0 32px;font-size:15px}.landing-card h2{font-size:22px;margin:0 0 8px;text-align:center}.landing-buttons{display:flex;gap:12px;justify-content:center}.landing-btn{padding:12px 32px;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .15s}.landing-btn-primary{background:#16a34a;color:#fff}.landing-btn-primary:hover{background:#15803d}.landing-btn-primary:disabled{background:#86c49a;cursor:default}.landing-btn-secondary{background:#2563eb;color:#fff}.landing-btn-secondary:hover{background:#1d4ed8}.landing-btn-danger{background:#dc2626;color:#fff}.landing-btn-danger:hover{background:#b91c1c}.landing-btn-full{width:100%;margin-top:12px}.drop-zone{border:2px dashed #ccc;border-radius:8px;padding:32px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:12px}.drop-zone:hover,.drop-zone-active{border-color:#16a34a;background:#f0fdf4}.drop-zone p{margin:0;color:#888;font-size:14px}.landing-or{text-align:center;color:#999;font-size:13px;margin:8px 0}.landing-textarea{width:100%;padding:10px 12px;font-size:13px;font-family:monospace;border:1px solid #ccc;border-radius:6px;resize:vertical;box-sizing:border-box}.landing-textarea:focus{outline:none;border-color:#16a34a}.prompt-box{background:#f8f8f8;border:1px solid #ddd;border-radius:6px;padding:12px;margin-bottom:16px;position:relative}.prompt-text{font-size:11px;white-space:pre-wrap;word-break:break-word;margin:0 0 8px;max-height:200px;overflow-y:auto;line-height:1.5}.prompt-copy{padding:6px 16px;font-size:13px;font-weight:600;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer}.prompt-copy:hover{background:#1d4ed8}.landing-steps{text-align:left;font-size:15px;color:#666;margin:0 0 20px;padding-left:20px;line-height:1.7}.landing-error{color:#c00;font-size:13px;margin-top:12px;text-align:center}.app{display:flex;height:100%;min-height:100vh}.panel-left{width:420px;min-width:350px;max-width:500px;overflow-y:auto;border-right:1px solid #ddd;background:#fafafa;flex-shrink:0;height:100vh}.panel-right{flex:1;overflow-y:auto;height:100vh}.form-actions{padding:12px 20px 20px;position:sticky;bottom:0;background:#fafafa;border-top:1px solid #eee}.filename-input{width:100%;padding:8px 10px;font-size:13px;border:1px solid #ccc;border-radius:6px;margin-bottom:8px;box-sizing:border-box}.filename-input:focus{outline:none;border-color:#16a34a}.btn-download{width:100%;padding:10px;font-size:14px;font-weight:600;background:#16a34a;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-bottom:8px}.btn-download:hover{background:#15803d}.btn-download:disabled{background:#86c49a;cursor:wait}.btn-back{width:100%;padding:8px;font-size:13px;background:none;color:#666;border:1px solid #ccc;border-radius:6px;cursor:pointer}.btn-back:hover{background:#f0f0f0}.compile-warning{color:#b45309;font-size:12px;margin-top:2px;margin-bottom:4px}.compile-error{color:#c00;font-size:12px;margin-top:6px;white-space:pre-wrap;word-break:break-word}@media print{.panel-left{display:none!important}.app{display:block}.panel-right{height:auto;overflow:visible}}
