 *,*::before,*::after{box-sizing:border-box;}
  .ws-wrap{
    padding:32px 20px 44px;
    background:#f5f5f4;
    font-family:"Rubik", sans-serif;
    color:#2b2d32;
  }
  .container{
    margin:0 auto;
    padding:0 20px;
    max-width:1010px;
    width:100%;
  }

  .ws-card{
    display: flex;
    flex-direction: column;
    align-items: normal;
    padding: 40px 20px;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
    margin: 30px auto;
    width: 100%;
    max-width: 1010px;
  }
  .ws-title{
    font-size:32px;
    font-weight:700;
    color:#252a34;
    margin-bottom:6px;
    line-height:1.2;
    text-align:center;
  }
  .ws-subtitle{
    font-size:15px;
    color:#858fa0;
    text-align:center;
    max-width:520px;
    margin:0 auto 28px;
    line-height:1.5;
  }
  @media screen and (max-width:480px){
    .ws-title{font-size:24px;}
    .ws-card{padding:24px 16px;border-radius:18px;}
  }

  .ws-step{margin-bottom:24px;}
  .ws-step:last-child{margin-bottom:0;}
  .ws-step__head{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
  }
  .ws-step__num{
    display:flex;
    align-items:center;
    justify-content:center;
    width:26px;height:26px;
    min-width:26px;
    border-radius:50%;
    background:#ebedf3;
    color:#252a34;
    font-size:13px;
    font-weight:600;
  }
  .ws-step__title{
    font-size:16px;
    font-weight:600;
    color:#252a34;
  }
  .ws-step__hint{
    font-size:13.5px;
    color:#858fa0;
    margin:0 0 12px 36px;
    line-height:1.5;
  }

  .ws-row-container {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 36px;
    margin-bottom: 10px;
  }

  .ws-boxes{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
  }
  .ws-box{
    width:clamp(42px,11vw,54px);
    height:clamp(42px,11vw,54px);
    border-radius:8px;
    border:2px solid #d4d8e0;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    transition:all .15s ease-in-out;
  }
  .ws-box input{
    width:100%;height:100%;
    border:none;background:transparent;
    text-align:center;
    font-size:clamp(18px,5vw,24px);
    font-weight:700;
    text-transform:uppercase;
    color:#252a34;
    outline:none;
    font-family:inherit;
    caret-color: #65bc2e;
  }
  .ws-box.green.filled{
    background:#63af4e;
    border-color:#63af4e;
  }
  .ws-box.green.filled input{color:#ffffff;}

  .ws-box.yellow.filled{
    background:#d4b106;
    border-color:#d4b106;
  }
  .ws-box.yellow.filled input{color:#ffffff;}

  .ws-del-row-btn {
    background: #ff5c5c;
    color: white;
    border: none;
    border-radius: 8px;
    width: 32px;
    height: 32px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s;
  }
  .ws-del-row-btn:hover {
    background: #e04848;
  }

  .ws-textfield{
    margin-left:36px;
    display:flex;
    align-items:center;
    background:#f5f5f4;
    border:2px solid #e5e7ec;
    border-radius:10px;
    padding:0 14px;
    transition:border-color .15s ease-in-out;
  }
  .ws-textfield:focus-within{border-color:#65bc2e;}
  .ws-textfield input{
    flex:1;
    border:none;
    background:transparent;
    outline:none;
    padding:13px 0;
    font-size:16px;
    font-family:inherit;
    text-transform:uppercase;
    color:#252a34;
    letter-spacing:2px;
    caret-color: #65bc2e;
  }
  .ws-textfield input::placeholder{
    text-transform:none;
    letter-spacing:normal;
    color:#adb3c2;
    font-size:14.5px;
  }
  .ws-chip-icon{
    width:20px;height:20px;
    min-width:20px;
    border-radius:5px;
    margin-right:2px;
  }
  .ws-chip-icon.gray{background:#787c7e;}

  .ws-actions{
    display:flex;
    gap:12px;
    margin-top:28px;
    flex-wrap:wrap;
  }
  .ws-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:14px 20px;
    border-radius:12px;
    font-size:16px;
    font-weight:600;
    font-family:inherit;
    border:none;
    cursor:pointer;
    transition:all .15s ease-in-out;
  }
  .ws-btn--primary{
    flex:1;
    min-width:160px;
    background:#63af4e;
    color:#fff;
  }
  .ws-btn--primary:hover{background:#7cd148;}
  .ws-btn--primary:disabled{background:#a3cca3; cursor:not-allowed;}
  .ws-btn--ghost{
    background:#ebedf3;
    color:#252a34;
  }
  .ws-btn--ghost:hover{background:#e6f3e6;color:#65bc2e;}
  
  .ws-btn--add{
    background:transparent;
    color:#d4b106;
    border:1px solid #d4b106;
    padding:6px 12px;
    font-size:14px;
    border-radius:12px;
    margin-left:36px;
    cursor:pointer;
    font-family:inherit;
    font-weight:600;
    transition:all .15s ease-in-out;
  }
  .ws-btn--add:hover{
    background:#fcf6de;
  }

  .ws-results{
    margin-top:8px;
  }
  .ws-results__meta{
    font-size:14px;
    color:#858fa0;
    margin-bottom:14px;
    padding-top:20px;
    border-top:1px solid #edf0f5;
  }
  .ws-results__meta b{color:#252a34;}
  
  .ws-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #252a34;
    margin: 16px 0 10px 0;
  }

  .ws-word-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(130px,1fr));
    gap:10px;
  }
  .ws-word{
    background:#f5f5f4;
    border:1px solid #e5e7ec;
    border-radius:10px;
    padding:8px;
    text-align:center;
    cursor:pointer;
    transition:all .15s ease-in-out;
    display: flex;
    justify-content: center;
  }
  .ws-word:hover{
    background:#e6f3e6;
    border-color:#65bc2e;
    transform:translateY(-1px);
  }
  
  .ws-mini-tile {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
  }
  .ws-mini-tile.green { background: #63af4e; color: #fff; }
  .ws-mini-tile.yellow { background: #d4b106; color: #fff; }
  .ws-mini-tile.default { background: #e5e7ec; color: #252a34; }

  .ws-empty{
    text-align:center;
    color:#858fa0;
    font-size:14.5px;
    padding:24px 10px;
  }

  .ws-dict{
    display:none;
    margin-top:20px;
    background:#f5f5f4;
    border:2px dashed #c8d0dc;
    border-radius:12px;
    padding:18px 20px;
    animation:ws-fade .25s ease-in-out;
  }
  .ws-dict.show{display:block;}
  @keyframes ws-fade{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
  .ws-dict__close{
    float:right;
    background:none;
    border:none;
    font-size:18px;
    color:#858fa0;
    cursor:pointer;
  }
  .ws-dict__word{
    font-size:22px;
    font-weight:700;
    text-transform:capitalize;
    color:#252a34;
  }
  .ws-dict__phonetic{color:#65bc2e;font-size:13.5px;margin:2px 0 12px;}
  .ws-dict__pos{
    display:inline-block;
    background:#63af4e;
    color:#fff;
    font-size:11px;
    font-weight:600;
    padding:3px 10px;
    border-radius:20px;
    text-transform:uppercase;
    letter-spacing:.4px;
    margin-bottom:6px;
  }
  .ws-dict__def{font-size:14.5px;color:#2b2d32;margin:4px 0;line-height:1.5;}
  .ws-dict__example{font-size:13.5px;color:#858fa0;font-style:italic;margin:2px 0 10px 14px;}
  .ws-dict__loading{color:#858fa0;font-size:14px;}

  .ws-faq{
    max-width:1010px;
    margin:0 auto;
    padding:0 4px;
  }
  .ws-faq h2{
    font-size:22px;
    font-weight:700;
    color:#252a34;
    margin:0 0 14px;
  }
  .ws-faq p{
    font-size:14.5px;
    color:#4a5163;
    line-height:1.7;
    margin:0 0 14px;
  }