.inbox-page{background:var(--bg-primary);grid-template-columns:240px 1fr;min-height:calc(100vh - 60px);margin-top:60px;display:grid}.inbox-sidebar{background:var(--bg-subtle);border-right:1px solid var(--border-soft);flex-direction:column;gap:.5rem;padding:1rem .5rem;transition:width .2s,padding .2s;display:flex;overflow-y:auto}.inbox-sidebar.closed{display:none}.inbox-compose-btn{background:var(--accent);color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--font-body);box-shadow:var(--shadow-sm);border:none;border-radius:12px;align-items:center;gap:.75rem;margin:0 .5rem .75rem;padding:.85rem 1.25rem;transition:background .15s,box-shadow .15s,transform .1s;display:flex}.inbox-compose-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.compose-icon{font-size:1.3rem;line-height:1}.inbox-categories{flex-direction:column;gap:2px;display:flex}.inbox-category{color:var(--text-secondary);cursor:pointer;text-align:left;font-size:.88rem;font-family:var(--font-body);background:0 0;border:none;border-radius:0 999px 999px 0;align-items:center;gap:.75rem;margin:0 .25rem;padding:.6rem 1.25rem;transition:background .15s,color .15s;display:flex;position:relative}.inbox-category:hover{background:var(--accent-softer);color:var(--text-primary)}.inbox-category.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.category-icon{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.category-label{flex:1}.category-badge{color:#fff;background:#ef4444;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;display:flex}.category-badge.draft-badge{background:var(--text-tertiary)}.inbox-main{background:var(--bg-primary);flex-direction:column;min-height:0;display:flex;overflow:hidden}.inbox-page.sidebar-collapsed{grid-template-columns:1fr}.inbox-toolbar{border-bottom:1px solid var(--border-soft);background:var(--bg-primary);flex-shrink:0;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.inbox-hamburger{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.4rem;font-size:1.2rem;line-height:1;transition:background .15s,color .15s}.inbox-hamburger:hover{background:var(--accent-softer);color:var(--accent)}.inbox-search-form{background:var(--bg-subtle);border:1px solid var(--border-soft);border-radius:999px;flex:1;align-items:center;max-width:600px;padding:0 .5rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;overflow:hidden}.inbox-search-form:focus-within{border-color:var(--accent);background:var(--bg-primary);box-shadow:0 0 0 3px var(--accent-soft)}.inbox-search-input{color:var(--text-primary);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;padding:.5rem .75rem;font-size:.9rem}.inbox-search-input::placeholder{color:var(--text-tertiary)}.inbox-search-clear,.inbox-search-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.4rem .6rem;font-size:1rem;transition:color .15s}.inbox-search-clear:hover,.inbox-search-btn:hover{color:var(--accent)}.inbox-refresh-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.4rem;font-size:1.3rem;line-height:1;transition:background .15s,color .15s}.inbox-refresh-btn:hover{background:var(--accent-softer);color:var(--accent)}.inbox-content{flex-direction:column;flex:1;display:flex;overflow-y:auto}.search-results-bar{background:var(--accent-softer);border-bottom:1px solid var(--border-soft);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.5rem 1.5rem;font-size:.85rem;display:flex}.email-list-view{flex-direction:column;flex:1;display:flex;overflow-y:auto}.email-list{flex:1;overflow-y:auto}.email-row{border-bottom:1px solid var(--border-soft);cursor:pointer;background:var(--bg-primary);align-items:center;gap:.75rem;padding:.7rem 1.5rem;transition:background .12s;display:flex}.email-row:hover{background:var(--bg-subtle)}.email-row.unread{background:var(--accent-softer)}.email-row.unread:hover{background:var(--accent-soft)}.email-row.unread .email-sender,.email-row.unread .email-subject{color:var(--text-heading);font-weight:600}.email-row.draft-row{background:#fef3c7}.email-row.draft-row:hover{background:#fde68a}.email-draft-label{color:#b45309;flex-shrink:0;width:40px;font-size:.8rem;font-weight:600}.draft-delete-btn{opacity:0;flex-shrink:0;font-size:1.1rem;transition:opacity .15s}.email-row:hover .draft-delete-btn{opacity:1}.email-star{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.1rem;line-height:1;transition:color .15s}.email-star:hover,.email-star.starred{color:#f59e0b}.email-sender{width:180px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:.88rem;overflow:hidden}.email-subject{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.88rem;overflow:hidden}.email-attachment-icon{color:var(--text-tertiary);flex-shrink:0;font-size:.85rem}.email-date{color:var(--text-tertiary);text-align:right;flex-shrink:0;width:70px;font-size:.78rem}.email-pagination{border-top:1px solid var(--border-soft);background:var(--bg-primary);justify-content:center;align-items:center;gap:1rem;padding:.75rem;display:flex}.email-page-info{color:var(--text-secondary);font-size:.85rem}.email-loading,.email-empty{text-align:center;color:var(--text-tertiary);padding:3rem;font-style:italic}.email-detail-view{background:var(--bg-primary);flex-direction:column;flex:1;display:flex;overflow-y:auto}.email-detail-toolbar{border-bottom:1px solid var(--border-soft);background:var(--bg-primary);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.email-detail-toolbar h3{color:var(--text-heading);font-size:1rem;font-weight:600}.email-nav-buttons{gap:.25rem;display:flex}.email-detail-actions{align-items:center;gap:.5rem;display:flex}.email-detail-header{border-bottom:1px solid var(--border-soft);padding:1.5rem}.email-detail-subject{color:var(--text-heading);letter-spacing:-.01em;margin-bottom:.75rem;font-size:1.4rem;font-weight:700}.email-detail-meta{color:var(--text-secondary);flex-direction:column;gap:.25rem;font-size:.88rem;display:flex}.email-detail-meta strong{color:var(--text-primary);font-weight:600}.email-attachments{border-bottom:1px solid var(--border-soft);color:var(--text-secondary);background:var(--bg-subtle);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.85rem;display:flex}.email-attachment-link{background:var(--accent-soft);color:var(--accent);border:1px solid #0000;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.email-attachment-link:hover{background:var(--accent);color:#fff}.email-detail-body{flex:1;padding:1.5rem;overflow-y:auto}.email-html-frame{background:#fff;border:none;border-radius:8px;width:100%;min-height:300px}.email-text-body{font-family:var(--font-body);color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;font-size:.95rem;line-height:1.75}.email-compose-view{background:var(--bg-primary);flex-direction:column;flex:1;display:flex;overflow-y:auto}.email-compose-form{flex-direction:column;flex:1;gap:.75rem;padding:1.5rem;display:flex}.email-compose-field{align-items:center;gap:.75rem;display:flex}.email-compose-field span{width:60px;color:var(--text-secondary);text-align:right;flex-shrink:0;font-size:.85rem;font-weight:500}.email-compose-field input,.email-compose-field select{background:var(--bg-input);border:1px solid var(--border-soft);color:var(--text-primary);font-family:var(--font-body);border-radius:8px;outline:none;flex:1;padding:.55rem .8rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.email-compose-field input:focus,.email-compose-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.email-compose-field select{cursor:pointer;appearance:none}.email-compose-body{background:var(--bg-input);border:1px solid var(--border-soft);color:var(--text-primary);font-family:var(--font-body);resize:vertical;border-radius:8px;outline:none;flex:1;min-height:200px;padding:.85rem;font-size:.9rem;line-height:1.6;transition:border-color .15s,box-shadow .15s}.email-compose-body:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.email-error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:.6rem .85rem;font-size:.85rem}.draft-saved-indicator{color:var(--text-tertiary);margin-left:auto;font-size:.8rem;font-style:italic}.mail-link{align-items:center;text-decoration:none;display:inline-flex;position:relative}.unread-badge{color:#fff;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-6px;right:-10px}.contact-page{background:var(--bg-subtle);justify-content:center;align-items:center;min-height:calc(100vh - 60px);margin-top:60px;padding:2rem;display:flex}.contact-page-card{background:var(--bg-primary);border:1px solid var(--border-soft);width:100%;max-width:500px;box-shadow:var(--shadow-md);border-radius:20px;padding:2.5rem}.contact-page-title{font-family:var(--font-display);color:var(--text-heading);letter-spacing:-.02em;margin-bottom:.5rem;font-size:2rem;font-weight:800}.contact-page-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem;line-height:1.55}.contact-form{flex-direction:column;gap:.75rem;display:flex}.contact-input,.contact-textarea{background:var(--bg-input);border:1px solid var(--border-soft);color:var(--text-primary);font-family:var(--font-body);border-radius:8px;outline:none;padding:.65rem .85rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.contact-input:focus,.contact-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.contact-textarea{resize:vertical;min-height:120px;line-height:1.6}.contact-submit-btn{background:var(--accent);color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--font-body);box-shadow:var(--shadow-sm);border:none;border-radius:10px;margin-top:.5rem;padding:.8rem;transition:background .15s,box-shadow .15s,transform .15s}.contact-submit-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.contact-submit-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.contact-success{text-align:center;color:var(--text-primary);padding:2rem 0}.contact-success p{margin-bottom:1rem;font-size:1.1rem}.contact-reset-btn{background:var(--bg-primary);border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-size:.85rem;font-family:var(--font-body);border-radius:8px;padding:.55rem 1.1rem;font-weight:500;transition:background .15s}.contact-reset-btn:hover{background:var(--accent-softer)}.contact-page-links{border-top:1px solid var(--border-soft);flex-direction:column;gap:.5rem;margin-top:2rem;padding-top:1.5rem;display:flex}.contact-page-link{color:var(--text-secondary);align-items:center;gap:.75rem;padding:.4rem 0;font-size:.9rem;text-decoration:none;transition:color .15s;display:flex}.contact-page-link:hover{color:var(--accent)}.contact-link-icon{text-align:center;width:24px;font-size:1.1rem}@media (width<=768px){.inbox-page{grid-template-columns:1fr}.inbox-sidebar{z-index:100;width:240px;box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;top:60px;bottom:0;left:0;transform:translate(-100%)}.inbox-sidebar.open{transform:translate(0)}.inbox-main{grid-column:1}.email-sender{width:120px}.email-compose-field{flex-direction:column;align-items:stretch}.email-compose-field span{text-align:left;width:auto}.contact-page{padding:1rem}.contact-page-card{padding:1.5rem}}:root{--bg-primary:#fff;--bg-subtle:#f8fafc;--bg-card:#fff;--bg-input:#fff;--border-card:#e5e7eb;--border-soft:#e5e7eb;--border-strong:#cbd5e1;--border-input:#e5e7eb;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#dbeafe;--accent-softer:#eff6ff;--text-heading:#0f172a;--text-primary:#1e293b;--text-secondary:#475569;--text-tertiary:#94a3b8;--card-1:#eef2ff;--card-2:#ecfeff;--card-3:#fef3c7;--card-4:#fce7f3;--card-5:#dcfce7;--card-border-1:#c7d2fe;--card-border-2:#a5f3fc;--card-border-3:#fde68a;--card-border-4:#fbcfe8;--card-border-5:#bbf7d0;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 12px 32px #0f172a1a;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "JetBrains Mono", Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.65}.nav{z-index:100;-webkit-backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--border-soft);background:#ffffffd9;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{font-family:var(--font-display);color:var(--text-heading);cursor:pointer;letter-spacing:-.01em;font-size:1rem;font-weight:700;text-decoration:none}.nav-links{align-items:center;gap:.25rem;display:flex}.nav-links button{color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.45rem .85rem;font-size:.9rem;font-weight:500;transition:color .15s,background .15s}.nav-links button:hover{color:var(--accent);background:var(--accent-softer)}.nav-btn{background:var(--accent);color:#fff;font-size:.85rem;font-weight:600;font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:8px;margin-left:.4rem;padding:.45rem 1rem;text-decoration:none;transition:background .15s,box-shadow .15s,transform .15s;display:inline-block}.nav-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.nav-user{align-items:center;gap:.5rem;display:flex}.editing-badge{color:var(--accent);background:var(--accent-soft);letter-spacing:.02em;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600}.hero{align-items:center;min-height:100vh;padding:8rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:4rem;width:100%;max-width:1200px;margin:0 auto;display:grid}.hero-text{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.hero-title{font-family:var(--font-display);color:var(--text-heading);letter-spacing:-.035em;-webkit-text-fill-color:currentColor;background:0 0;margin-bottom:1.25rem;font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:1.02}.hero-subtitle{color:var(--text-secondary);max-width:50ch;margin-bottom:2rem;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:400;line-height:1.6}.hero-cta button{background:var(--accent);color:#fff;font-size:.95rem;font-weight:600;font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:10px;padding:.85rem 1.75rem;transition:background .15s,transform .15s,box-shadow .15s}.hero-cta button:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.hero-media{place-self:center end}.section{max-width:1100px;margin:0 auto;padding:5rem 2rem}.section-title{font-family:var(--font-display);color:var(--text-heading);letter-spacing:-.02em;margin-bottom:2.5rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;display:inline-block;position:relative}.section-title:after{content:"";background:var(--accent);border-radius:2px;width:48px;height:3px;position:absolute;bottom:-10px;left:0}.section-header-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:2.5rem;display:flex}.section-header-row .section-title{margin-bottom:0}.section-header-row .visibility-toggle{font-size:1rem;line-height:1}.is-hidden{opacity:.5;transition:opacity .18s}.is-hidden:hover{opacity:.7}.section.is-hidden,.section.is-hidden.visible{opacity:.5}.section.is-hidden:hover,.section.is-hidden.visible:hover{opacity:.7}.hidden-marker{color:var(--text-tertiary);letter-spacing:0;text-transform:none;margin-left:.2em;font-size:.78em;font-style:italic;font-weight:500}.section-header-row .hidden-marker{vertical-align:middle;margin-left:-.2em;font-size:.55em}.nav-link-hidden{opacity:.6}.hidden-marker-nav{color:var(--text-tertiary);margin-left:.2em;font-size:.85em;font-style:italic}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.project-card{background:var(--card-1);border:1px solid var(--card-border-1);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;padding:1.5rem;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.project-card:nth-child(5n+1){background:var(--card-1);border-color:var(--card-border-1)}.project-card:nth-child(5n+2){background:var(--card-2);border-color:var(--card-border-2)}.project-card:nth-child(5n+3){background:var(--card-3);border-color:var(--card-border-3)}.project-card:nth-child(5n+4){background:var(--card-4);border-color:var(--card-border-4)}.project-card:nth-child(5n+5){background:var(--card-5);border-color:var(--card-border-5)}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.6rem;display:flex}.project-card-header h3{color:var(--text-heading);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.project-desc{color:var(--text-secondary);margin-bottom:1rem;font-size:.92rem;line-height:1.55}.project-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.tag{color:var(--text-primary);background:#ffffffb3;border:1px solid #0f172a0f;border-radius:999px;padding:.2rem .65rem;font-size:.72rem;font-weight:500}.project-links{flex-wrap:wrap;gap:1rem;margin-top:auto;display:flex}.project-links a{color:var(--accent);font-size:.88rem;font-weight:600;text-decoration:none;transition:color .15s}.project-links a:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.project-actions{border-top:1px solid #0f172a12;justify-content:flex-end;gap:.3rem;margin-top:1rem;padding-top:.75rem;display:flex;position:relative}.color-picker-popover{z-index:20;background:var(--bg-primary);border:1px solid var(--border-soft);box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:.65rem;min-width:240px;padding:.85rem;display:flex;position:absolute;bottom:calc(100% + .5rem);right:0}.color-picker-row{align-items:center;gap:.65rem;display:flex}.color-picker-swatch{border:1px solid var(--card-border-1);border-radius:50%;flex-shrink:0;width:32px;height:32px}.color-picker-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.color-picker-slider{appearance:none;cursor:pointer;background:linear-gradient(90deg,#f76e6e,#f7f76e,#6ef76e,#6ef7f7,#6e6ef7,#f76ef7,#f76e6e);border-radius:999px;outline:none;width:100%;height:14px;margin:0;padding:0}.color-picker-slider::-webkit-slider-runnable-track{background:0 0;border-radius:999px;height:14px}.color-picker-slider::-webkit-slider-thumb{appearance:none;border:2px solid var(--text-heading);cursor:grab;width:18px;height:18px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;margin-top:-2px}.color-picker-slider::-moz-range-track{background:0 0;border-radius:999px;height:14px}.color-picker-slider::-moz-range-thumb{border:2px solid var(--text-heading);cursor:grab;width:18px;height:18px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%}.color-picker-actions{justify-content:flex-end;gap:.4rem;display:flex}.color-picker-actions .cancel-btn{padding:.35rem .8rem;font-size:.8rem}.color-picker-actions .cancel-btn:disabled{opacity:.5;cursor:not-allowed}.about-content{max-width:700px}.about-text{color:var(--text-primary);white-space:pre-wrap;font-size:1.1rem;line-height:1.85}.resume-content{text-align:center}.resume-viewer{border:1px solid var(--border-soft);box-shadow:var(--shadow-md);border-radius:16px;margin-bottom:1.5rem;overflow:hidden}.resume-viewer iframe{background:var(--bg-subtle);border:none;width:100%;height:600px;display:block}.download-btn{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);border-radius:10px;margin-bottom:1.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;display:inline-block}.download-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.placeholder-text{color:var(--text-tertiary);padding:3rem 0;font-style:italic}.resume-edit{margin-top:1rem}.resume-url-form{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.resume-url-form input{width:300px}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.contact-item{background:var(--card-3);border:1px solid var(--card-border-3);text-align:center;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;padding:1.5rem;transition:transform .18s,box-shadow .18s;display:flex}.contact-item:nth-child(5n+1){background:var(--card-3);border-color:var(--card-border-3)}.contact-item:nth-child(5n+2){background:var(--card-5);border-color:var(--card-border-5)}.contact-item:nth-child(5n+3){background:var(--card-1);border-color:var(--card-border-1)}.contact-item:nth-child(5n+4){background:var(--card-4);border-color:var(--card-border-4)}.contact-item:nth-child(5n+5){background:var(--card-2);border-color:var(--card-border-2)}.contact-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.contact-item.dragging{opacity:.5}.contact-item-header{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.contact-actions{border-top:1px solid #0f172a12;justify-content:center;gap:.25rem;margin-top:1rem;padding-top:.75rem;display:flex;position:relative}.contact-label{font-family:var(--font-body);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.contact-link{color:var(--accent);word-break:break-all;margin-top:auto;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .15s}.contact-link:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.contact-form{background:var(--bg-primary);border:1px solid var(--border-soft);max-width:500px;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding:1.5rem;display:flex}.contact-form h3{color:var(--text-heading);margin:0 0 .5rem;font-weight:700}.contact-form input{background:var(--bg-input);border:1px solid var(--border-soft);color:var(--text-primary);font-size:.9rem;font-family:var(--font-body);border-radius:8px;padding:.65rem .85rem;transition:border-color .15s,box-shadow .15s}.contact-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.editable{cursor:pointer;border-radius:6px;transition:outline .15s;position:relative}.editable:hover{outline:1px dashed var(--accent);outline-offset:4px}.editable-input,.editable-textarea{background:var(--bg-input);border:1px solid var(--accent);width:100%;color:var(--text-primary);font-family:var(--font-body);font-size:inherit;box-shadow:0 0 0 3px var(--accent-soft);border-radius:8px;outline:none;padding:.5rem}.editable-textarea{resize:vertical;min-height:120px;line-height:1.8}.add-btn{background:var(--bg-primary);border:1px dashed var(--border-strong);color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;font-family:var(--font-body);border-radius:10px;padding:.65rem 1.5rem;transition:border-color .15s,color .15s,background .15s;display:inline-block}.add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-softer)}.icon-btn{background:var(--bg-primary);border:1px solid var(--border-soft);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-family:var(--font-body);border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .7rem;text-decoration:none;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.icon-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-softer)}.icon-btn.danger:hover{color:#dc2626;background:#fee2e2;border-color:#dc2626}.cancel-btn{background:var(--bg-primary);border:1px solid var(--border-soft);color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);border-radius:8px;padding:.55rem 1.1rem;font-size:.9rem;transition:border-color .15s,color .15s}.cancel-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.project-form{background:var(--bg-primary);border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);border-radius:16px;margin-top:1.5rem;padding:1.5rem}.project-form h3{color:var(--text-heading);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.project-form input,.project-form textarea{background:var(--bg-input);border:1px solid var(--border-soft);width:100%;color:var(--text-primary);font-family:var(--font-body);border-radius:8px;outline:none;margin-bottom:.8rem;padding:.65rem .85rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.project-form input:focus,.project-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-actions{gap:.5rem;display:flex}.form-actions button[type=submit]{background:var(--accent);color:#fff;font-weight:600;font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:8px;padding:.55rem 1.5rem;font-size:.9rem;transition:background .15s,box-shadow .15s}.form-actions button[type=submit]:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.attachments-manager{border-top:1px solid var(--border-soft);margin-top:.5rem;margin-bottom:.8rem;padding-top:1rem}.attachments-manager h4{color:var(--text-heading);margin-bottom:.6rem;font-size:.95rem;font-weight:600}.attachments-list{margin:0 0 .8rem;padding:0;list-style:none}.attachment-item{color:var(--text-secondary);align-items:center;gap:.5rem;padding:.4rem 0;font-size:.85rem;display:flex}.attachment-item .attachment-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.attachment-actions{gap:.5rem;display:flex}.file-upload-btn,.link-add-btn{border:1px solid var(--border-soft);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-family:var(--font-body);border-radius:8px;padding:.45rem .85rem;transition:border-color .15s,color .15s,background .15s}.file-upload-btn:hover,.link-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-softer)}.footer{text-align:center;border-top:1px solid var(--border-soft);color:var(--text-tertiary);margin-top:2rem;padding:2.5rem 2rem;font-size:.85rem}.section{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(30px)}.section.visible{opacity:1;transform:translateY(0)}.drag-handle{cursor:grab;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:.2rem .4rem;font-size:1rem;transition:color .15s}.drag-handle:hover{color:var(--accent)}.drag-handle:active{cursor:grabbing}.project-card.dragging{box-shadow:0 12px 32px #2563eb2e}.custom-section-header{align-items:flex-start;gap:.8rem;margin-bottom:2.5rem;display:flex}.reorder-overlay{z-index:200;background:#0f172a80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.reorder-panel{background:var(--bg-primary);border:1px solid var(--border-soft);width:100%;max-width:420px;max-height:80vh;box-shadow:var(--shadow-lg);border-radius:16px;padding:1.5rem;overflow-y:auto}.reorder-panel-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.reorder-panel-header h3{color:var(--text-heading);font-size:1.1rem;font-weight:700}.reorder-list{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.reorder-item{background:var(--bg-subtle);border:1px solid var(--border-soft);cursor:default;border-radius:10px;align-items:center;gap:.8rem;padding:.65rem .85rem;display:flex}.reorder-item-title{color:var(--text-primary);flex:1;font-size:.9rem;font-weight:500}.reorder-item-type{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}.reorder-panel-actions{gap:.5rem;margin-bottom:1rem;display:flex}.reorder-panel-actions button:first-child{background:var(--accent);color:#fff;font-weight:600;font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:8px;padding:.55rem 1.5rem;transition:background .15s,box-shadow .15s}.reorder-panel-actions button:first-child:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.reorder-panel-actions button:first-child:disabled{opacity:.6;cursor:not-allowed}.reorder-divider{border:none;border-top:1px solid var(--border-soft);margin:1rem 0}.add-section-form{flex-direction:column;gap:.6rem;display:flex}.add-section-form input,.add-section-form textarea{background:var(--bg-input);border:1px solid var(--border-soft);width:100%;color:var(--text-primary);font-family:var(--font-body);border-radius:8px;outline:none;padding:.65rem .85rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.add-section-form input:focus,.add-section-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.upload-zone{border:2px dashed var(--border-strong);text-align:center;color:var(--text-secondary);cursor:pointer;background:var(--bg-subtle);border-radius:16px;max-width:400px;margin:1rem auto;padding:2rem;transition:border-color .15s,background .15s,color .15s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:var(--accent-softer);color:var(--accent)}.upload-icon{margin-bottom:.5rem;font-size:2rem}.url-fallback-btn{color:var(--text-tertiary);cursor:pointer;font-size:.8rem;font-family:var(--font-body);background:0 0;border:none;padding:.3rem;text-decoration:underline;transition:color .15s}.url-fallback-btn:hover{color:var(--accent)}.hero-image{justify-content:center;display:flex}.hero-image img{object-fit:cover;box-shadow:var(--shadow-lg);border-radius:16px}.hero-image-portrait img{width:auto;max-width:100%;max-height:460px}.hero-image-landscape img{max-width:100%;height:auto;max-height:380px}.hero-image-circle img{object-fit:cover;border-radius:50%;width:280px;height:280px}.hero-upload-controls{flex-direction:column;align-items:flex-start;gap:.8rem;margin-top:1.5rem;display:flex}.display-mode-picker{gap:1rem;display:flex}.display-mode-picker label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.3rem;font-size:.85rem;display:flex}.display-mode-picker input[type=radio]{accent-color:var(--accent)}.mail-link{text-decoration:none;position:relative}.unread-badge{color:#fff;background:#ef4444;border-radius:10px;padding:.1rem .35rem;font-size:.65rem;font-weight:700;line-height:1;position:absolute;top:-6px;right:-8px}.crop-modal-overlay{z-index:1000;background:#0f172ab3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.crop-modal{background:var(--bg-primary);border:1px solid var(--border-soft);width:100%;max-width:600px;box-shadow:var(--shadow-lg);border-radius:16px;padding:1.5rem}.crop-container{background:var(--bg-subtle);border-radius:12px;width:100%;height:400px;position:relative;overflow:hidden}.crop-controls{color:var(--text-secondary);align-items:center;gap:.75rem;margin-top:1rem;font-size:.85rem;display:flex}.crop-zoom-slider{accent-color:var(--accent);flex:1}.crop-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}@media (width<=900px){.hero{min-height:auto;padding:7rem 1.5rem 3rem}.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero-text{order:2}.hero-media{order:1;justify-self:center}.hero-upload-controls{align-items:center}}@media (width<=768px){.nav{padding:.8rem 1rem}.nav-links button{display:none}.section{padding:3.5rem 1.5rem}.projects-grid{grid-template-columns:1fr}.resume-viewer iframe{height:400px}.hero-image-portrait img{max-height:320px}.hero-image-circle img{width:200px;height:200px}}@media (width<=480px){.contact-grid{grid-template-columns:1fr}}
