.profile-crop-tool{
      --bg-page: #f8fafc;
      --bg-surface: #ffffff;
      --bg-subtle: #f1f5f9;
      --text-primary: #0f172a;
      --text-secondary: #334155;
      --text-muted: #64748b;
      --border-color: #e2e8f0;
      --border-strong: #cbd5e1;
      --accent: #0a66c2;
      --accent-hover: #004182;
      --accent-soft: #eff6ff;
      --success: #15803d;
      --success-bg: #f0fdf4;
      --success-border: #bbf7d0;
      --radius-sm: 6px;
      --radius-md: 10px;
      --radius-lg: 14px;
      --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
      --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06);
      --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
.profile-crop-tool *{
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
.profile-crop-tool{
      font-family: var(--font-sans);
      background-color: var(--bg-page);
      color: var(--text-primary);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
.profile-crop-tool .site-header{
      background: var(--bg-surface);
      border-bottom: 1px solid var(--border-color);
      padding: 0.875rem 1.25rem;
    }
.profile-crop-tool .header-inner{
      max-width: 1120px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      flex-wrap: wrap;
    }
.profile-crop-tool .brand-link{
      text-decoration: none;
      color: var(--text-primary);
      font-weight: 700;
      font-size: 1.05rem;
      letter-spacing: -0.01em;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
    }
.profile-crop-tool .brand-dot{
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: var(--accent);
      display: inline-block;
    }
.profile-crop-tool .header-cta{
      font-size: 0.875rem;
      color: var(--accent);
      text-decoration: none;
      font-weight: 500;
      padding: 0.4rem 0.75rem;
      border-radius: var(--radius-sm);
      border: 1px solid var(--border-color);
      transition: background-color 0.15s, border-color 0.15s;
    }
.profile-crop-tool .header-cta:hover{
      background-color: var(--accent-soft);
      border-color: var(--accent);
    }
.profile-crop-tool .container{
      max-width: 1120px;
      margin: 0 auto;
      padding: 2rem 1.25rem 4rem;
    }
.profile-crop-tool .hero{
      max-width: 800px;
      margin-bottom: 1.75rem;
    }
.profile-crop-tool .hero h1{
      font-size: clamp(1.65rem, 3vw, 2.25rem);
      line-height: 1.22;
      font-weight: 700;
      letter-spacing: -0.02em;
      margin-bottom: 0.65rem;
      color: var(--text-primary);
    }
.profile-crop-tool .hero-subtitle{
      font-size: 1.05rem;
      color: var(--text-secondary);
      margin-bottom: 1rem;
    }
.profile-crop-tool .privacy-banner{
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      background-color: var(--success-bg);
      border: 1px solid var(--success-border);
      color: var(--success);
      font-size: 0.875rem;
      font-weight: 500;
      padding: 0.45rem 0.85rem;
      border-radius: var(--radius-sm);
    }
.profile-crop-tool .privacy-banner svg{
      flex-shrink: 0;
      width: 16px;
      height: 16px;
    }
.profile-crop-tool .workspace{
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 1.5rem;
      align-items: start;
      margin-bottom: 2.5rem;
    }
@media  (max-width: 900px) {.profile-crop-tool .workspace{
        grid-template-columns: 1fr;
      }
}
@media  (max-width: 480px) {.profile-crop-tool .container{
        padding: 1.25rem 0.75rem 3rem;
      }
.profile-crop-tool .card,.profile-crop-tool .content-section{
        padding: 1.1rem;
      }
.profile-crop-tool .radio-cards{
        grid-template-columns: 1fr;
      }
.profile-crop-tool .export-meta-bar{
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
      }
.profile-crop-tool .preview-captions{
        flex-direction: column;
        gap: 0.2rem;
      }
.profile-crop-tool .btn-block{
        font-size: 0.875rem;
        padding: 0.7rem 0.85rem;
        text-align: center;
      }
.profile-crop-tool .stage-overlay-hint{
        font-size: 0.7rem;
        max-width: 92%;
        white-space: normal;
        text-align: center;
      }
}
.profile-crop-tool .card{
      background: var(--bg-surface);
      border: 1px solid var(--border-color);
      border-radius: var(--radius-lg);
      padding: 1.5rem;
      box-shadow: var(--shadow-sm);
    }
.profile-crop-tool .card-title{
      font-size: 1.05rem;
      font-weight: 600;
      margin-bottom: 1rem;
      color: var(--text-primary);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
    }
.profile-crop-tool .upload-zone{
      border: 2px dashed var(--border-strong);
      border-radius: var(--radius-md);
      background-color: var(--bg-subtle);
      padding: 1.25rem;
      text-align: center;
      transition: border-color 0.15s, background-color 0.15s;
      margin-bottom: 1.25rem;
      cursor: pointer;
    }
.profile-crop-tool .upload-zone.drag-active{
      border-color: var(--accent);
      background-color: var(--accent-soft);
    }
.profile-crop-tool .upload-actions{
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.65rem;
      margin-top: 0.65rem;
    }
.profile-crop-tool .upload-hint{
      font-size: 0.85rem;
      color: var(--text-muted);
      margin-top: 0.45rem;
    }
.profile-crop-tool .btn{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      font-family: inherit;
      font-size: 0.9rem;
      font-weight: 600;
      padding: 0.55rem 1rem;
      border-radius: var(--radius-sm);
      border: 1px solid transparent;
      cursor: pointer;
      transition: background-color 0.15s, border-color 0.15s, color 0.15s, transform 0.05s;
      text-decoration: none;
    }
.profile-crop-tool .btn:active{
      transform: translateY(1px);
    }
.profile-crop-tool .btn-primary{
      background-color: var(--accent);
      color: #ffffff;
    }
.profile-crop-tool .btn-primary:hover{
      background-color: var(--accent-hover);
    }
.profile-crop-tool .btn-secondary{
      background-color: var(--bg-surface);
      color: var(--text-primary);
      border-color: var(--border-strong);
    }
.profile-crop-tool .btn-secondary:hover{
      background-color: var(--bg-subtle);
    }
.profile-crop-tool .btn-sm{
      font-size: 0.8125rem;
      padding: 0.38rem 0.7rem;
      font-weight: 500;
    }
.profile-crop-tool .btn-block{
      width: 100%;
      padding: 0.75rem 1.25rem;
      font-size: 0.975rem;
    }
.profile-crop-tool .editor-stage-wrapper{
      position: relative;
      width: 100%;
      max-width: 440px;
      margin: 0 auto 1.25rem;
      aspect-ratio: 1 / 1;
      background-color: #1e293b;
      border-radius: var(--radius-md);
      overflow: hidden;
      border: 1px solid var(--border-strong);
      user-select: none;
      touch-action: none;
    }
.profile-crop-tool #editorCanvas{
      width: 100%;
      height: 100%;
      display: block;
      cursor: grab;
    }
.profile-crop-tool #editorCanvas:active{
      cursor: grabbing;
    }
.profile-crop-tool #editorCanvas:focus-visible{
      outline: 3px solid var(--accent);
      outline-offset: -3px;
    }
.profile-crop-tool .stage-overlay-hint{
      position: absolute;
      bottom: 8px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(15, 23, 42, 0.78);
      color: #f8fafc;
      font-size: 0.75rem;
      padding: 0.25rem 0.65rem;
      border-radius: 999px;
      pointer-events: none;
      white-space: nowrap;
    }
.profile-crop-tool .controls-stack{
      display: flex;
      flex-direction: column;
      gap: 0.95rem;
    }
.profile-crop-tool .control-group{
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }
.profile-crop-tool .control-header{
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--text-secondary);
    }
.profile-crop-tool .control-value{
      font-variant-numeric: tabular-nums;
      color: var(--text-muted);
      font-weight: 500;
    }
.profile-crop-tool input[type="range"]{
      width: 100%;
      accent-color: var(--accent);
      cursor: pointer;
    }
.profile-crop-tool .toolbar-row{
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      align-items: center;
      justify-content: space-between;
      padding-top: 0.35rem;
      border-top: 1px solid var(--border-color);
    }
.profile-crop-tool .checkbox-row{
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      padding-top: 0.25rem;
    }
.profile-crop-tool .checkbox-label{
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      font-size: 0.85rem;
      color: var(--text-secondary);
      cursor: pointer;
      user-select: none;
    }
.profile-crop-tool .checkbox-label input{
      accent-color: var(--accent);
      width: 15px;
      height: 15px;
    }
.profile-crop-tool .preview-header-tabs{
      display: inline-flex;
      background: var(--bg-subtle);
      padding: 0.2rem;
      border-radius: var(--radius-sm);
      border: 1px solid var(--border-color);
    }
.profile-crop-tool .tab-btn{
      background: transparent;
      border: none;
      font-size: 0.75rem;
      font-weight: 600;
      padding: 0.25rem 0.6rem;
      border-radius: 4px;
      color: var(--text-secondary);
      cursor: pointer;
    }
.profile-crop-tool .tab-btn.active{
      background: var(--bg-surface);
      color: var(--text-primary);
      box-shadow: var(--shadow-sm);
    }
.profile-crop-tool .profile-mockup{
      border: 1px solid var(--border-color);
      border-radius: var(--radius-md);
      overflow: hidden;
      margin-bottom: 1.25rem;
      background-color: #ffffff;
      color: #0f172a;
      transition: background-color 0.2s, color 0.2s, border-color 0.2s;
    }
.profile-crop-tool .profile-mockup.dark-mode{
      background-color: #1b1f23;
      color: #f1f5f9;
      border-color: #334155;
    }
.profile-crop-tool .mockup-banner{
      height: 62px;
      background: linear-gradient(120deg, #1e3a8a 0%, #0a66c2 60%, #38bdf8 100%);
    }
.profile-crop-tool .mockup-body{
      padding: 0 1.15rem 1.1rem;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 1rem;
      margin-top: -38px;
      flex-wrap: wrap;
    }
.profile-crop-tool .mockup-avatar-group{
      display: flex;
      align-items: flex-end;
      gap: 1rem;
    }
.profile-crop-tool .preview-circle-wrap{
      width: 96px;
      height: 96px;
      border-radius: 50%;
      border: 3px solid #ffffff;
      overflow: hidden;
      background: #e2e8f0;
      box-shadow: var(--shadow-sm);
      flex-shrink: 0;
    }
.profile-crop-tool .profile-mockup.dark-mode .preview-circle-wrap{
      border-color: #1b1f23;
    }
.profile-crop-tool .preview-square-wrap{
      width: 68px;
      height: 68px;
      border-radius: 6px;
      border: 1px solid var(--border-strong);
      overflow: hidden;
      background: #e2e8f0;
      flex-shrink: 0;
    }
.profile-crop-tool #previewCircleCanvas,.profile-crop-tool #previewSquareCanvas{
      width: 100%;
      height: 100%;
      display: block;
    }
.profile-crop-tool .mockup-meta{
      padding-top: 0.65rem;
    }
.profile-crop-tool .mockup-name{
      font-weight: 700;
      font-size: 0.95rem;
      line-height: 1.25;
    }
.profile-crop-tool .mockup-role{
      font-size: 0.8rem;
      color: var(--text-muted);
      margin-top: 0.15rem;
    }
.profile-crop-tool .profile-mockup.dark-mode .mockup-role{
      color: #94a3b8;
    }
.profile-crop-tool .preview-captions{
      display: flex;
      justify-content: space-between;
      font-size: 0.78rem;
      color: var(--text-muted);
      margin-bottom: 1.25rem;
      padding: 0 0.2rem;
    }
.profile-crop-tool .export-section{
      border-top: 1px solid var(--border-color);
      padding-top: 1.15rem;
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }
.profile-crop-tool .radio-cards{
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.65rem;
    }
.profile-crop-tool .radio-card{
      border: 1px solid var(--border-strong);
      border-radius: var(--radius-sm);
      padding: 0.65rem 0.75rem;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
      background: var(--bg-surface);
      transition: border-color 0.15s, background-color 0.15s;
    }
.profile-crop-tool .radio-card input{
      margin-right: 0.4rem;
      accent-color: var(--accent);
    }
.profile-crop-tool .radio-card.selected{
      border-color: var(--accent);
      background-color: var(--accent-soft);
    }
.profile-crop-tool .radio-card-title{
      font-size: 0.875rem;
      font-weight: 600;
      display: flex;
      align-items: center;
    }
.profile-crop-tool .radio-card-sub{
      font-size: 0.75rem;
      color: var(--text-muted);
      padding-left: 1.25rem;
    }
.profile-crop-tool .select-input{
      width: 100%;
      padding: 0.55rem 0.75rem;
      border-radius: var(--radius-sm);
      border: 1px solid var(--border-strong);
      font-family: inherit;
      font-size: 0.875rem;
      background-color: var(--bg-surface);
      color: var(--text-primary);
    }
.profile-crop-tool .export-meta-bar{
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: var(--bg-subtle);
      padding: 0.6rem 0.85rem;
      border-radius: var(--radius-sm);
      font-size: 0.825rem;
      color: var(--text-secondary);
    }
.profile-crop-tool .export-meta-bar strong{
      color: var(--text-primary);
      font-variant-numeric: tabular-nums;
    }
.profile-crop-tool .product-cta-box{
      margin-top: 1.25rem;
      padding: 1rem 1.15rem;
      border-radius: var(--radius-md);
      background: linear-gradient(to right, #f8fafc, #eff6ff);
      border: 1px solid #bfdbfe;
      display: flex;
      flex-direction: column;
      gap: 0.45rem;
    }
.profile-crop-tool .product-cta-title{
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--text-primary);
    }
.profile-crop-tool .product-cta-text{
      font-size: 0.825rem;
      color: var(--text-secondary);
    }
.profile-crop-tool .product-cta-link{
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--accent);
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      margin-top: 0.15rem;
    }
.profile-crop-tool .product-cta-link:hover{
      text-decoration: underline;
    }
.profile-crop-tool .content-grid{
      display: grid;
      grid-template-columns: 1fr;
      gap: 2rem;
    }
.profile-crop-tool .content-section{
      background: var(--bg-surface);
      border: 1px solid var(--border-color);
      border-radius: var(--radius-lg);
      padding: 1.75rem;
      box-shadow: var(--shadow-sm);
    }
.profile-crop-tool .content-section h2{
      font-size: 1.35rem;
      font-weight: 700;
      margin-bottom: 0.85rem;
      color: var(--text-primary);
      letter-spacing: -0.01em;
    }
.profile-crop-tool .content-section h3{
      font-size: 1.05rem;
      font-weight: 600;
      margin-top: 1.25rem;
      margin-bottom: 0.45rem;
      color: var(--text-primary);
    }
.profile-crop-tool .content-section p{
      color: var(--text-secondary);
      margin-bottom: 0.85rem;
      font-size: 0.96rem;
    }
.profile-crop-tool .steps-list{
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
      gap: 1rem;
      margin-top: 1rem;
    }
.profile-crop-tool .step-item{
      background: var(--bg-subtle);
      border: 1px solid var(--border-color);
      border-radius: var(--radius-md);
      padding: 1rem;
    }
.profile-crop-tool .step-num{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: var(--accent);
      color: #ffffff;
      font-size: 0.78rem;
      font-weight: 700;
      margin-bottom: 0.5rem;
    }
.profile-crop-tool .step-item h3{
      margin-top: 0;
      font-size: 0.95rem;
    }
.profile-crop-tool .step-item p{
      font-size: 0.875rem;
      margin-bottom: 0;
    }
.profile-crop-tool .table-wrap{
      overflow-x: auto;
      margin-top: 1rem;
    }
.profile-crop-tool table{
      width: 100%;
      border-collapse: collapse;
      font-size: 0.9rem;
      text-align: left;
    }
.profile-crop-tool th,.profile-crop-tool td{
      padding: 0.75rem 1rem;
      border-bottom: 1px solid var(--border-color);
    }
.profile-crop-tool th{
      background-color: var(--bg-subtle);
      font-weight: 600;
      color: var(--text-primary);
    }
.profile-crop-tool td{
      color: var(--text-secondary);
    }
.profile-crop-tool .faq-list{
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      margin-top: 1rem;
    }
.profile-crop-tool details.faq-item{
      border: 1px solid var(--border-color);
      border-radius: var(--radius-md);
      background: var(--bg-subtle);
      padding: 0.9rem 1.15rem;
    }
.profile-crop-tool details.faq-item[open]{
      background: var(--bg-surface);
      border-color: var(--border-strong);
    }
.profile-crop-tool details.faq-item summary{
      font-weight: 600;
      font-size: 0.975rem;
      cursor: pointer;
      color: var(--text-primary);
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
    }
.profile-crop-tool details.faq-item summary::-webkit-details-marker{
      display: none;
    }
.profile-crop-tool details.faq-item summary::after{
      content: "+";
      font-size: 1.2rem;
      font-weight: 400;
      color: var(--text-muted);
      line-height: 1;
    }
.profile-crop-tool details.faq-item[open] summary::after{
      content: "−";
    }
.profile-crop-tool .faq-answer{
      margin-top: 0.65rem;
      font-size: 0.925rem;
      color: var(--text-secondary);
      border-top: 1px solid var(--border-color);
      padding-top: 0.65rem;
    }
.profile-crop-tool .embed-code-wrap{
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
      margin-top: 0.75rem;
    }
.profile-crop-tool .embed-textarea{
      width: 100%;
      min-height: 88px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
      font-size: 0.8rem;
      padding: 0.75rem;
      border-radius: var(--radius-sm);
      border: 1px solid var(--border-strong);
      background: var(--bg-subtle);
      color: var(--text-primary);
      resize: vertical;
    }
.profile-crop-tool .site-footer{
      border-top: 1px solid var(--border-color);
      padding: 1.75rem 1.25rem;
      text-align: center;
      font-size: 0.85rem;
      color: var(--text-muted);
      background: var(--bg-surface);
    }
.profile-crop-tool .site-footer a{
      color: var(--text-secondary);
      text-decoration: underline;
    }
.profile-crop-tool .sr-only{
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

.profile-crop-tool{padding-top:120px;font-family:inherit;--font-sans:inherit;--brand-accent:hsl(185 40% 30%);--brand-accent-hover:hsl(185 40% 25%);--brand-light:hsl(35 15% 92%);--accent:hsl(185 40% 30%);--accent-hover:hsl(185 40% 25%);--accent-soft:hsl(35 15% 92%)} .profile-crop-tool .tool-back{display:block;max-width:1120px;margin:0 auto 20px;padding:0 24px} .profile-crop-tool h1,.profile-crop-tool h2{font-family:"Space Grotesk", sans-serif} .profile-crop-tool button,.profile-crop-tool input,.profile-crop-tool select{font-family:inherit}
